[Azure] 建立一個新的 Traffic Manager Profile + External Endpoint

2020-12-24

今天要做的是我們要建立一個 新的 Traffic Manager Profile ,並且加入一個  External Endpoint 指向一個 FQDN





1. 首先你要拿一個大一點的權限,拿權限方法 https://blog.no2don.com/2020/09/azurec-appservice-application-settings.html

2. 專案這邊 安裝該安裝的 nuget

https://www.nuget.org/packages/Microsoft.Azure.Management.Fluent/

https://www.nuget.org/packages/Microsoft.Azure.Management.ResourceManager.Fluent/

3. 接下來,在 code 裡面 我會去建立一個 結果是 donmatm.trafficmanager.net 的 Traffic Manager , 並且設定他在東南亞 ,位於 SPINUS 的群組,指向一個 External Point “endpoint1” 指向 tm.ina9.win 且自訂 header , Priority 為 1

var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(
"aaaaaaaa-bbbb-cccc-dddd-6fd11866e9cd",
"KfgTfMZVY-I_AM_PASS_WORD~lW8",
"zzzzzzzz-xxxx-yyyy-wwww-1234567897", AzureEnvironment.AzureGlobalCloud);
var azure = Azure
.Configure()
.WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
.Authenticate(credentials)
.WithDefaultSubscription();
var trfficmanagerName = "donmatm";
var tmDefinition = azure.TrafficManagerProfiles.Define(trfficmanagerName)
.WithExistingResourceGroup("SPINUS")
.WithLeafDomainLabel(trfficmanagerName)
.WithPriorityBasedRouting();
Microsoft.Azure.Management.ResourceManager.Fluent.Core.ResourceActions.ICreatable<Microsoft.Azure.Management.TrafficManager.Fluent.ITrafficManagerProfile>
tmCreatable = tmDefinition.DefineExternalTargetEndpoint("endpoint1").ToFqdn("tm.ina9.win")
.FromRegion(Region.AsiaSouthEast).WithCustomHeader("testheader", "20201224_1423")
.WithRoutingPriority(1)
.Attach();
var trafficManagerProfileNew = tmCreatable.Create();
Console.WriteLine("-- AFTER ADD AND READ DATA--");
var externalEndpoints = trafficManagerProfileNew.ExternalEndpoints;
foreach (var endpoint in externalEndpoints)
{
Console.WriteLine("IsEnable:" + trafficManagerProfileNew.ExternalEndpoints[endpoint.Key].IsEnabled);
Console.WriteLine("Name:" + trafficManagerProfileNew.ExternalEndpoints[endpoint.Key].Name);
Console.WriteLine("CustomHeader:" + JsonConvert.SerializeObject(trafficManagerProfileNew.ExternalEndpoints[endpoint.Key].CustomHeaders));
Console.WriteLine("FQDN:" + trafficManagerProfileNew.ExternalEndpoints[endpoint.Key].Fqdn);
Console.WriteLine("RoutingPriority:" + trafficManagerProfileNew.ExternalEndpoints[endpoint.Key].RoutingPriority);
Console.WriteLine("-");
}


結果


其實,做出來之後不會很難,只是因為他設計的 pattern 關係測試了一下也花了點時間…
之後有碰到其他問題我們再說吧 :)


當麻許的超技八 2014 | Donma Hsu Design.