Traffic Manager'ı yönetmek için PowerShell kullanma
Azure Resource Manager, Azure'daki hizmetler için tercih edilen yönetim arabirimidir. Azure Traffic Manager profilleri, Azure Resource Manager tabanlı API'ler ve araçlar kullanılarak yönetilebilir.
Not
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Kaynak modeli
Azure Traffic Manager, Traffic Manager profili olarak adlandırılan ayarlar koleksiyonu kullanılarak yapılandırılır. Bu profil DNS ayarlarını, trafik yönlendirme ayarlarını, uç nokta izleme ayarlarını ve trafiğin yönlendirildiği hizmet uç noktalarının listesini içerir.
Her Traffic Manager profili 'TrafficManagerProfiles' türünde bir kaynakla temsil edilir. REST API düzeyinde, her profil için URI aşağıdaki gibidir:
https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/trafficManagerProfiles/{profile-name}?api-version={api-version}
Azure PowerShell'i ayarlama
Not
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Bu yönergeler Microsoft Azure PowerShell'i kullanır. Aşağıdaki makalede Azure PowerShell'i yükleme ve yapılandırma adımları açıklanmaktadır.
Bu makaledeki örneklerde, mevcut bir kaynak grubunuz olduğu varsayılır. Aşağıdaki komutu kullanarak bir kaynak grubu oluşturabilirsiniz:
New-AzResourceGroup -Name MyRG -Location "West US"
Not
Azure Resource Manager, tüm kaynak gruplarının bir konuma sahip olmasını gerektirir. Bu konum, bu kaynak grubunda oluşturulan kaynaklar için varsayılan olarak kullanılır. Ancak Traffic Manager profil kaynakları bölgesel değil genel olduğundan kaynak grubu konumu seçiminin Azure Traffic Manager'ı etkilemesi gerekmez.
Traffic Manager Profili Oluşturma
Traffic Manager profili oluşturmak için cmdlet'ini New-AzTrafficManagerProfile
kullanın:
$TmProfile = New-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG -TrafficRoutingMethod Performance -RelativeDnsName contoso -Ttl 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/"
Aşağıdaki tabloda parametreler açıklanmaktadır:
Parametre | Veri Akışı Açıklaması |
---|---|
Ad | Traffic Manager profil kaynağının kaynak adı. Aynı kaynak grubundaki profillerin benzersiz adları olmalıdır. Bu ad, DNS sorguları için kullanılan DNS adından ayrıdır. |
ResourceGroupName | Profil kaynağını içeren kaynak grubunun adı. |
TrafficRoutingMethod | DNS sorgusuna yanıt olarak hangi uç noktanın döndürüleceğini belirlemek için kullanılan trafik yönlendirme yöntemini belirtir. Olası değerler 'Performans', 'Ağırlıklı' veya 'Öncelik' değerleridir. |
RelativeDnsName | Bu Traffic Manager profili tarafından sağlanan DNS adının ana bilgisayar adı bölümünü belirtir. Bu değer, profilin tam etki alanı adını (FQDN) oluşturmak için Azure Traffic Manager tarafından kullanılan DNS etki alanı adıyla birleştirilir. Örneğin, 'contoso' değerini ayarlamak 'contoso.trafficmanager.net' olur. |
TTL | DNS Yaşam Süresi'ni (TTL) saniye olarak belirtir. Bu TTL, Yerel DNS çözümleyicilerine ve DNS istemcilerine bu Traffic Manager profili için DNS yanıtlarının ne kadar süreyle önbelleğe alınacaklarını bildirir. |
MonitorProtocol | Uç nokta durumunu izlemek için kullanılacak protokolü belirtir. Olası değerler 'HTTP' ve 'HTTPS'dir. |
MonitorPort | Uç nokta durumunu izlemek için kullanılan TCP bağlantı noktasını belirtir. |
MonitorPath | Uç nokta durumunu araştırmak için kullanılan uç nokta etki alanı adına göre yolu belirtir. |
Cmdlet, Azure'da bir Traffic Manager profili oluşturur ve PowerShell'e karşılık gelen bir profil nesnesi döndürür. Bu noktada, profil herhangi bir uç nokta içermez. Traffic Manager profiline uç nokta ekleme hakkında daha fazla bilgi için bkz. Traffic Manager Uç Noktaları Ekleme.
Traffic Manager Profili Alma
Mevcut bir Traffic Manager profil nesnesini almak için cmdlet'ini Get-AzTrafficManagerProfle
kullanın:
$TmProfile = Get-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG
Bu cmdlet bir Traffic Manager profil nesnesi döndürür.
Traffic Manager Profilini Güncelleştirme
Traffic Manager profillerini değiştirmek 3 adımlı bir işlemi izler:
- kullanarak
Get-AzTrafficManagerProfile
profili alın veya tarafındanNew-AzTrafficManagerProfile
döndürülen profili kullanın. - Profili değiştirin. Uç noktalar ekleyip kaldırabilir ya da uç nokta veya profil parametrelerini değiştirebilirsiniz. Bu değişiklikler, devre dışı işlemlerdir. Yalnızca profili temsil eden bellekteki yerel nesneyi değiştiriyorsunuz.
- Cmdlet'ini
Set-AzTrafficManagerProfile
kullanarak değişikliklerinizi işleyin.
Profilin RelativeDnsName dışında tüm profil özellikleri değiştirilebilir. RelativeDnsName değerini değiştirmek için profili ve yeni adı olan yeni bir profili silmeniz gerekir.
Aşağıdaki örnekte profilin TTL'sinin nasıl değiştireceği gösterilmektedir:
$TmProfile = Get-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG
$TmProfile.Ttl = 300
Set-AzTrafficManagerProfile -TrafficManagerProfile $TmProfile
Üç tür Traffic Manager uç noktası vardır:
- Azure uç noktaları , Azure'da barındırılan hizmetlerdir
- Dış uç noktalar , Azure dışında barındırılan hizmetlerdir
- İç içe uç noktalar Traffic Manager profillerinin iç içe hiyerarşilerini oluşturmak için kullanılır. İç içe uç noktalar, karmaşık uygulamalar için gelişmiş trafik yönlendirme yapılandırmalarını etkinleştirir.
Üç durumda da uç noktalar iki yolla eklenebilir:
- Daha önce açıklanan 3 aşamalı bir işlem kullanma. Bu yöntemin avantajı, tek bir güncelleştirmede birkaç uç nokta değişikliği yapılabilmesidir.
- New-AzTrafficManagerEndpoint cmdlet'ini kullanma. Bu cmdlet, tek bir işlemde mevcut Traffic Manager profiline bir uç nokta ekler.
Azure Uç Noktaları Ekleme
Azure uç noktaları, Azure'da barındırılan hizmetlere başvurur. İki tür Azure uç noktası desteklenir:
- Azure App Service
- Azure PublicIpAddress kaynakları (yük dengeleyiciye veya sanal makine NIC'sine eklenebilir). PublicIpAddress,Traffic Manager'da kullanılmak üzere atanmış bir DNS adına sahip olmalıdır.
Her durumda:
- Hizmet, veya
New-AzTrafficManagerEndpoint
'targetResourceId' parametresiAdd-AzTrafficManagerEndpointConfig
kullanılarak belirtilir. - 'Target' ve 'EndpointLocation' TargetResourceId tarafından örtülür.
- 'Weight'ın belirtilmesi isteğe bağlıdır. Ağırlıklar yalnızca profil 'Ağırlıklı' trafik yönlendirme yöntemini kullanacak şekilde yapılandırılmışsa kullanılır. Aksi takdirde, bunlar yoksayılır. Belirtilirse, değer 1 ile 1000 arasında bir sayı olmalıdır. Varsayılan değer :'1'.
- 'Öncelik' belirtilmesi isteğe bağlıdır. Öncelikler yalnızca profil 'Öncelik' trafik yönlendirme yöntemini kullanacak şekilde yapılandırılmışsa kullanılır. Aksi takdirde, bunlar yoksayılır. Geçerli değerler 1 ile 1000 ve daha yüksek önceliğe işaret eden daha düşük değerlerdir. Bir uç nokta için belirtilirse, tüm uç noktalar için belirtilmelidir. Atlanırsa, '1' ile başlayan varsayılan değerler uç noktaların listelenme sırasına göre uygulanır.
Örnek 1: kullanarak App Service uç noktaları ekleme Add-AzTrafficManagerEndpointConfig
Bu örnekte bir Traffic Manager profili oluşturacak ve cmdlet'ini Add-AzTrafficManagerEndpointConfig
kullanarak iki App Service uç noktası ekleyeceğiz.
$TmProfile = New-AzTrafficManagerProfile -Name myprofile -ResourceGroupName MyRG -TrafficRoutingMethod Performance -RelativeDnsName myapp -Ttl 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/"
$webapp1 = Get-AzWebApp -Name webapp1
Add-AzTrafficManagerEndpointConfig -EndpointName webapp1ep -TrafficManagerProfile $TmProfile -Type AzureEndpoints -TargetResourceId $webapp1.Id -EndpointStatus Enabled
$webapp2 = Get-AzWebApp -Name webapp2
Add-AzTrafficManagerEndpointConfig -EndpointName webapp2ep -TrafficManagerProfile $TmProfile -Type AzureEndpoints -TargetResourceId $webapp2.Id -EndpointStatus Enabled
Set-AzTrafficManagerProfile -TrafficManagerProfile $TmProfile
Örnek 2: kullanarak publicIpAddress uç noktası ekleme New-AzTrafficManagerEndpoint
Bu örnekte Traffic Manager profiline bir genel IP adresi kaynağı eklenir. Genel IP adresinin yapılandırılmış bir DNS adı olmalıdır ve vm'nin NIC'sine veya yük dengeleyiciye bağlanabilir.
$ip = Get-AzPublicIpAddress -Name MyPublicIP -ResourceGroupName MyRG
New-AzTrafficManagerEndpoint -Name MyIpEndpoint -ProfileName MyProfile -ResourceGroupName MyRG -Type AzureEndpoints -TargetResourceId $ip.Id -EndpointStatus Enabled
Dış Uç Noktalar Ekleme
Traffic Manager, trafiği Azure dışında barındırılan hizmetlere yönlendirmek için dış uç noktaları kullanır. Azure uç noktalarında olduğu gibi, dış uç noktalar da kullanılarak veya kullanılarak Add-AzTrafficManagerEndpointConfig
Set-AzTrafficManagerProfile
New-AzTrafficManagerEndpoint
eklenebilir.
Dış uç noktaları belirtirken:
- Uç nokta etki alanı adı 'Target' parametresi kullanılarak belirtilmelidir
- 'Performans' trafik yönlendirme yöntemi kullanılırsa, 'EndpointLocation' gereklidir. Aksi takdirde isteğe bağlıdır. Değerin geçerli bir Azure bölgesi adı olması gerekir.
- 'Weight' ve 'Priority' isteğe bağlıdır.
Örnek 1: ve kullanarak Add-AzTrafficManagerEndpointConfig
dış uç noktaları ekleme Set-AzTrafficManagerProfile
Bu örnekte bir Traffic Manager profili oluşturacak, iki dış uç nokta ekleyeceğiz ve değişiklikleri işliyoruz.
$TmProfile = New-AzTrafficManagerProfile -Name myprofile -ResourceGroupName MyRG -TrafficRoutingMethod Performance -RelativeDnsName myapp -Ttl 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/"
Add-AzTrafficManagerEndpointConfig -EndpointName eu-endpoint -TrafficManagerProfile $TmProfile -Type ExternalEndpoints -Target app-eu.contoso.com -EndpointLocation "North Europe" -EndpointStatus Enabled
Add-AzTrafficManagerEndpointConfig -EndpointName us-endpoint -TrafficManagerProfile $TmProfile -Type ExternalEndpoints -Target app-us.contoso.com -EndpointLocation "Central US" -EndpointStatus Enabled
Set-AzTrafficManagerProfile -TrafficManagerProfile $TmProfile
Örnek 2: kullanarak dış uç noktalar ekleme New-AzTrafficManagerEndpoint
Bu örnekte, var olan bir profile dış uç nokta ekleyeceğiz. Profil, profil ve kaynak grubu adları kullanılarak belirtilir.
New-AzTrafficManagerEndpoint -Name eu-endpoint -ProfileName MyProfile -ResourceGroupName MyRG -Type ExternalEndpoints -Target app-eu.contoso.com -EndpointStatus Enabled
'İç içe' uç noktaları ekleme
Her Traffic Manager profili tek bir trafik yönlendirme yöntemi belirtir. Ancak, tek bir Traffic Manager profili tarafından sağlanan yönlendirmeden daha karmaşık trafik yönlendirmesi gerektiren senaryolar vardır. Birden fazla trafik yönlendirme yönteminin avantajlarını birleştirmek için Traffic Manager profillerini iç içe yerleştirebilirsiniz. İç içe yerleştirilmiş profiller, daha büyük ve daha karmaşık uygulama dağıtımlarını desteklemek için varsayılan Traffic Manager davranışını geçersiz kılmanıza olanak sağlar. Daha ayrıntılı örnekler için bkz . İç İçe Traffic Manager profilleri.
İç içe uç noktalar, 'NestedEndpoints' adlı belirli bir uç nokta türü kullanılarak üst profilde yapılandırılır. İç içe uç noktaları belirtirken:
- Uç nokta 'targetResourceId' parametresi kullanılarak belirtilmelidir
- 'Performans' trafik yönlendirme yöntemi kullanılırsa, 'EndpointLocation' gereklidir. Aksi takdirde isteğe bağlıdır. Değerin geçerli bir Azure bölgesi adı olması gerekir.
- Azure uç noktaları için olduğu gibi 'Ağırlık' ve 'Öncelik' isteğe bağlıdır.
- 'MinChildEndpoints' parametresi isteğe bağlıdır. Varsayılan değer :'1'. Kullanılabilir uç nokta sayısı bu eşiğin altına düşerse, üst profil alt profili 'düzeyi düşürülmüş' olarak kabul eder ve trafiği üst profildeki diğer uç noktalara çevirir.
Örnek 1: ve kullanarak Add-AzTrafficManagerEndpointConfig
iç içe uç noktalar ekleme Set-AzTrafficManagerProfile
Bu örnekte yeni Traffic Manager alt ve üst profilleri oluşturur, alt öğeyi üst öğeye iç içe uç nokta olarak ekler ve değişiklikleri işleriz.
$child = New-AzTrafficManagerProfile -Name child -ResourceGroupName MyRG -TrafficRoutingMethod Priority -RelativeDnsName child -Ttl 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/"
$parent = New-AzTrafficManagerProfile -Name parent -ResourceGroupName MyRG -TrafficRoutingMethod Performance -RelativeDnsName parent -Ttl 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/"
Add-AzTrafficManagerEndpointConfig -EndpointName child-endpoint -TrafficManagerProfile $parent -Type NestedEndpoints -TargetResourceId $child.Id -EndpointStatus Enabled -EndpointLocation "North Europe" -MinChildEndpoints 2
Set-AzTrafficManagerProfile -TrafficManagerProfile $parent
Bu örnekte kısa olması için alt veya üst profillere başka uç nokta eklemedik.
Örnek 2: kullanarak iç içe uç noktalar ekleme New-AzTrafficManagerEndpoint
Bu örnekte, var olan bir alt profili mevcut bir üst profile iç içe uç nokta olarak ekleyeceğiz. Profil, profil ve kaynak grubu adları kullanılarak belirtilir.
$child = Get-AzTrafficManagerEndpoint -Name child -ResourceGroupName MyRG
New-AzTrafficManagerEndpoint -Name child-endpoint -ProfileName parent -ResourceGroupName MyRG -Type NestedEndpoints -TargetResourceId $child.Id -EndpointStatus Enabled -EndpointLocation "North Europe" -MinChildEndpoints 2
Başka bir abonelikten uç noktalar ekleme
Traffic Manager farklı aboneliklerdeki uç noktalarla çalışabilir. Traffic Manager'a gerekli girişi almak için eklemek istediğiniz uç noktayla aboneliğe geçmeniz gerekir. Ardından Traffic Manager profiliyle aboneliklere geçmeniz ve uç noktayı buna eklemeniz gerekir. Aşağıdaki örnekte, bunun genel IP adresiyle nasıl yapılacağını gösterilmektedir.
Set-AzContext -SubscriptionId $EndpointSubscription
$ip = Get-AzPublicIpAddress -Name $IpAddressName -ResourceGroupName $EndpointRG
Set-AzContext -SubscriptionId $trafficmanagerSubscription
New-AzTrafficManagerEndpoint -Name $EndpointName -ProfileName $ProfileName -ResourceGroupName $TrafficManagerRG -Type AzureEndpoints -TargetResourceId $ip.Id -EndpointStatus Enabled
Traffic Manager Uç Noktasını Güncelleştirme
Mevcut Traffic Manager uç noktasını güncelleştirmenin iki yolu vardır:
- kullanarak
Get-AzTrafficManagerProfile
Traffic Manager profilini alın, profil içindeki uç nokta özelliklerini güncelleştirin ve kullanarakSet-AzTrafficManagerProfile
değişiklikleri işleyin. Bu yöntem, tek bir işlemde birden fazla uç noktayı güncelleştirebilme avantajına sahiptir. - kullanarak
Get-AzTrafficManagerEndpoint
Traffic Manager uç noktasını alın, uç nokta özelliklerini güncelleştirin ve kullanarakSet-AzTrafficManagerEndpoint
değişiklikleri işleyin. Profildeki Endpoints dizisine dizin oluşturmayı gerektirmediğinden bu yöntem daha basittir.
Örnek 1: ve kullanarak Get-AzTrafficManagerProfile
uç noktaları güncelleştirme Set-AzTrafficManagerProfile
Bu örnekte, mevcut bir profildeki iki uç noktanın önceliğini değiştireceğiz.
$TmProfile = Get-AzTrafficManagerProfile -Name myprofile -ResourceGroupName MyRG
$TmProfile.Endpoints[0].Priority = 2
$TmProfile.Endpoints[1].Priority = 1
Set-AzTrafficManagerProfile -TrafficManagerProfile $TmProfile
Örnek 2: ve kullanarak Get-AzTrafficManagerEndpoint
bir uç noktayı güncelleştirme Set-AzTrafficManagerEndpoint
Bu örnekte, mevcut profildeki tek bir uç noktanın kalınlığını değiştireceğiz.
$endpoint = Get-AzTrafficManagerEndpoint -Name myendpoint -ProfileName myprofile -ResourceGroupName MyRG -Type ExternalEndpoints
$endpoint.Weight = 20
Set-AzTrafficManagerEndpoint -TrafficManagerEndpoint $endpoint
Uç Noktaları ve Profilleri Etkinleştirme ve Devre Dışı Bırakma
Traffic Manager, tek tek uç noktaların etkinleştirilmesine ve devre dışı bırakılmasına ve tüm profillerin etkinleştirilmesine ve devre dışı bırakılmasına olanak tanır. Bu değişiklikler, uç nokta veya profil kaynakları alınarak/güncelleştirilerek/ayarlanarak yapılabilir. Bu yaygın işlemleri kolaylaştırmak için bunlar ayrılmış cmdlet'ler aracılığıyla da desteklenir.
Örnek 1: Traffic Manager profilini etkinleştirme ve devre dışı bırakma
Traffic Manager profilini etkinleştirmek için kullanın Enable-AzTrafficManagerProfile
. Profil bir profil nesnesi kullanılarak belirtilebilir. Profil nesnesi işlem hattı aracılığıyla veya '-TrafficManagerProfile' parametresi kullanılarak geçirilebilir. Bu örnekte, profili profil ve kaynak grubu adına göre belirteceğiz.
Enable-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyResourceGroup
Traffic Manager profilini devre dışı bırakmak için:
Disable-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyResourceGroup
Disable-AzTrafficManagerProfile cmdlet'i onay ister. Bu istem '-Force' parametresi kullanılarak gizlenebilir.
Örnek 2: Traffic Manager uç noktasını etkinleştirme ve devre dışı bırakma
Traffic Manager uç noktasını etkinleştirmek için kullanın Enable-AzTrafficManagerEndpoint
. Uç noktayı belirtmenin iki yolu vardır
- İşlem hattı aracılığıyla geçirilen bir TrafficManagerEndpoint nesnesi kullanma veya '-TrafficManagerEndpoint' parametresini kullanma
- Uç nokta adını, uç nokta türünü, profil adını ve kaynak grubu adını kullanarak:
Enable-AzTrafficManagerEndpoint -Name MyEndpoint -Type AzureEndpoints -ProfileName MyProfile -ResourceGroupName MyRG
Benzer şekilde, Traffic Manager uç noktasını devre dışı bırakmak için:
Disable-AzTrafficManagerEndpoint -Name MyEndpoint -Type AzureEndpoints -ProfileName MyProfile -ResourceGroupName MyRG -Force
cmdlet'inde Disable-AzTrafficManagerProfile
Disable-AzTrafficManagerEndpoint
olduğu gibi onay istenir. Bu istem '-Force' parametresi kullanılarak gizlenebilir.
Traffic Manager Uç Noktasını Silme
Tek tek uç noktaları kaldırmak için cmdlet'ini Remove-AzTrafficManagerEndpoint
kullanın:
Remove-AzTrafficManagerEndpoint -Name MyEndpoint -Type AzureEndpoints -ProfileName MyProfile -ResourceGroupName MyRG
Bu cmdlet onay ister. Bu istem '-Force' parametresi kullanılarak gizlenebilir.
Traffic Manager Profilini Silme
Traffic Manager profilini silmek için, profil ve kaynak grubu adlarını belirterek cmdlet'ini kullanın Remove-AzTrafficManagerProfile
:
Remove-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG [-Force]
Bu cmdlet onay ister. Bu istem '-Force' parametresi kullanılarak gizlenebilir.
Silinecek profil bir profil nesnesi kullanılarak da belirtilebilir:
$TmProfile = Get-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG
Remove-AzTrafficManagerProfile -TrafficManagerProfile $TmProfile [-Force]
Bu sıra da yöneltilebilir:
Get-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG | Remove-AzTrafficManagerProfile [-Force]