Aracılığıyla paylaş


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:

  1. kullanarak Get-AzTrafficManagerProfile profili alın veya tarafından New-AzTrafficManagerProfiledöndürülen profili kullanın.
  2. 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.
  3. 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:

  1. Azure uç noktaları , Azure'da barındırılan hizmetlerdir
  2. Dış uç noktalar , Azure dışında barındırılan hizmetlerdir
  3. İç 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:

  1. 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.
  2. 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:

  1. Azure App Service
  2. 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' parametresi Add-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-AzTrafficManagerEndpointConfigSet-AzTrafficManagerProfileNew-AzTrafficManagerEndpointeklenebilir.

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:

  1. kullanarak Get-AzTrafficManagerProfileTraffic Manager profilini alın, profil içindeki uç nokta özelliklerini güncelleştirin ve kullanarak Set-AzTrafficManagerProfiledeğişiklikleri işleyin. Bu yöntem, tek bir işlemde birden fazla uç noktayı güncelleştirebilme avantajına sahiptir.
  2. kullanarak Get-AzTrafficManagerEndpointTraffic Manager uç noktasını alın, uç nokta özelliklerini güncelleştirin ve kullanarak Set-AzTrafficManagerEndpointdeğ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

  1. İşlem hattı aracılığıyla geçirilen bir TrafficManagerEndpoint nesnesi kullanma veya '-TrafficManagerEndpoint' parametresini kullanma
  2. 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-AzTrafficManagerProfileDisable-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]

Sonraki adımlar

Traffic Manager izleme

Traffic Manager için performans konuları