Zarządzanie usługą Traffic Manager przy użyciu programu PowerShell

Usługa Azure Resource Manager jest preferowanym interfejsem zarządzania dla usług na platformie Azure. Profile usługi Azure Traffic Manager można zarządzać przy użyciu interfejsów API i narzędzi opartych na usłudze Azure Resource Manager.

Uwaga

Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Model zasobów

Usługa Azure Traffic Manager jest skonfigurowana przy użyciu kolekcji ustawień nazywanych profilem usługi Traffic Manager. Ten profil zawiera ustawienia DNS, ustawienia routingu ruchu, ustawienia monitorowania punktu końcowego oraz listę punktów końcowych usługi, do których jest kierowany ruch.

Każdy profil usługi Traffic Manager jest reprezentowany przez zasób typu "TrafficManagerProfiles". Na poziomie interfejsu API REST identyfikator URI dla każdego profilu jest następujący:

https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/trafficManagerProfiles/{profile-name}?api-version={api-version}

Konfigurowanie Azure PowerShell

Uwaga

Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Te instrukcje używają Microsoft Azure PowerShell. W poniższym artykule wyjaśniono, jak zainstalować i skonfigurować Azure PowerShell.

W przykładach w tym artykule założono, że masz istniejącą grupę zasobów. Grupę zasobów można utworzyć przy użyciu następującego polecenia:

New-AzResourceGroup -Name MyRG -Location "West US"

Uwaga

Usługa Azure Resource Manager wymaga, aby wszystkie grupy zasobów miały lokalizację. Ta lokalizacja jest używana jako domyślna dla zasobów utworzonych w tej grupie zasobów. Jednak ponieważ zasoby profilu usługi Traffic Manager są globalne, a nie regionalne, wybór lokalizacji grupy zasobów nie ma wpływu na usługę Azure Traffic Manager.

Tworzenie profilu usługi Traffic Manager

Aby utworzyć profil usługi Traffic Manager, użyj New-AzTrafficManagerProfile polecenia cmdlet:

$TmProfile = New-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG -TrafficRoutingMethod Performance -RelativeDnsName contoso -Ttl 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/"

W poniższej tabeli opisano parametry:

Parametr Opis
Nazwa Nazwa zasobu zasobu profilu usługi Traffic Manager. Profile w tej samej grupie zasobów muszą mieć unikatowe nazwy. Ta nazwa jest oddzielona od nazwy DNS używanej dla zapytań DNS.
ResourceGroupName Nazwa grupy zasobów zawierającej zasób profilu.
TrafficRoutingMethod Określa metodę routingu ruchu używaną do określania, który punkt końcowy jest zwracany w odpowiedzi na zapytanie DNS. Możliwe wartości to "Wydajność", "Ważona" lub "Priorytet".
RelativeDnsName Określa część nazwy hosta nazwy DNS podaną przez ten profil usługi Traffic Manager. Ta wartość jest połączona z nazwą domeny DNS używaną przez usługę Azure Traffic Manager w celu utworzenia w pełni kwalifikowanej nazwy domeny (FQDN) profilu. Na przykład ustawienie wartości "contoso" stanie się "contoso.trafficmanager.net".
TTL Określa czas wygaśnięcia (TTL) DNS w sekundach. Ten czas wygaśnięcia informuje lokalne rozpoznawanie nazw DNS i klientów DNS, jak długo buforować odpowiedzi DNS dla tego profilu usługi Traffic Manager.
MonitorProtocol Określa protokół używany do monitorowania kondycji punktu końcowego. Możliwe wartości to "HTTP" i "HTTPS".
MonitorPort Określa port TCP używany do monitorowania kondycji punktu końcowego.
MonitorPath Określa ścieżkę względem nazwy domeny punktu końcowego używanej do sondowania kondycji punktu końcowego.

Polecenie cmdlet tworzy profil usługi Traffic Manager na platformie Azure i zwraca odpowiedni obiekt profilu do programu PowerShell. W tym momencie profil nie zawiera żadnych punktów końcowych. Aby uzyskać więcej informacji na temat dodawania punktów końcowych do profilu usługi Traffic Manager, zobacz Dodawanie punktów końcowych usługi Traffic Manager.

Uzyskiwanie profilu usługi Traffic Manager

Aby pobrać istniejący obiekt profilu usługi Traffic Manager, użyj Get-AzTrafficManagerProfle polecenia cmdlet:

$TmProfile = Get-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG

To polecenie cmdlet zwraca obiekt profilu usługi Traffic Manager.

Aktualizowanie profilu usługi Traffic Manager

Modyfikowanie profilów usługi Traffic Manager jest zgodne z procesem 3-krokowym:

  1. Pobierz profil przy użyciu Get-AzTrafficManagerProfile profilu lub użyj profilu zwróconego przez usługę New-AzTrafficManagerProfile.
  2. Zmodyfikuj profil. Możesz dodawać i usuwać punkty końcowe lub zmieniać parametry punktu końcowego lub profilu. Te zmiany to operacje pozawierszowe. Zmieniasz tylko obiekt lokalny w pamięci, który reprezentuje profil.
  3. Zatwierdź zmiany przy użyciu Set-AzTrafficManagerProfile polecenia cmdlet .

Wszystkie właściwości profilu można zmienić z wyjątkiem właściwości WzględnychDnsName profilu. Aby zmienić nazwę RelativeDnsName, musisz usunąć profil i nowy profil z nową nazwą.

W poniższym przykładzie pokazano, jak zmienić czas wygaśnięcia profilu:

$TmProfile = Get-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG
$TmProfile.Ttl = 300
Set-AzTrafficManagerProfile -TrafficManagerProfile $TmProfile

Istnieją trzy typy punktów końcowych usługi Traffic Manager:

  1. Punkty końcowe platformy Azure to usługi hostowane na platformie Azure
  2. Zewnętrzne punkty końcowe to usługi hostowane poza platformą Azure
  3. Zagnieżdżone punkty końcowe są używane do konstruowania zagnieżdżonych hierarchii profilów usługi Traffic Manager. Zagnieżdżone punkty końcowe umożliwiają zaawansowane konfiguracje routingu ruchu dla złożonych aplikacji.

We wszystkich trzech przypadkach punkty końcowe można dodać na dwa sposoby:

  1. Użycie 3-krokowego procesu opisanego wcześniej. Zaletą tej metody jest to, że w jednej aktualizacji można wprowadzić kilka zmian punktu końcowego.
  2. Za pomocą polecenia cmdlet New-AzTrafficManagerEndpoint. To polecenie cmdlet dodaje punkt końcowy do istniejącego profilu usługi Traffic Manager w ramach jednej operacji.

Dodawanie punktów końcowych platformy Azure

Usługi referencyjne punktów końcowych platformy Azure hostowane na platformie Azure. Obsługiwane są dwa typy punktów końcowych platformy Azure:

  1. Azure App Service
  2. Zasoby usługi Azure PublicIpAddress (które można dołączyć do modułu równoważenia obciążenia lub karty sieciowej maszyny wirtualnej). Funkcja PublicIpAddress musi mieć przypisaną nazwę DNS do użycia w usłudze Traffic Manager.

W każdym przypadku:

  • Usługa jest określona przy użyciu parametru "targetResourceId" lub Add-AzTrafficManagerEndpointConfigNew-AzTrafficManagerEndpoint.
  • Wartości "Target" i "EndpointLocation" są dorozumiane przez identyfikator TargetResourceId.
  • Określenie wartości "Waga" jest opcjonalne. Wagi są używane tylko wtedy, gdy profil jest skonfigurowany do używania metody routingu ruchu ważonego. W przeciwnym razie są one ignorowane. Jeśli zostanie określona, wartość musi być liczbą z zakresu od 1 do 1000. Wartość domyślna to "1".
  • Określenie opcji "Priorytet" jest opcjonalne. Priorytety są używane tylko wtedy, gdy profil jest skonfigurowany do używania metody routingu ruchu "Priorytet". W przeciwnym razie są one ignorowane. Prawidłowe wartości to od 1 do 1000 z niższymi wartościami wskazującymi wyższy priorytet. Jeśli określono dla jednego punktu końcowego, muszą one zostać określone dla wszystkich punktów końcowych. W przypadku pominięcia wartości domyślne rozpoczynające się od "1" są stosowane w kolejności, w których są wyświetlane punkty końcowe.

Przykład 1: dodawanie App Service punktów końcowych przy użyciuAdd-AzTrafficManagerEndpointConfig

W tym przykładzie utworzymy profil usługi Traffic Manager i dodamy dwa App Service punkty końcowe przy użyciu Add-AzTrafficManagerEndpointConfig polecenia cmdlet .

$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

Przykład 2: dodawanie punktu końcowego publicIpAddress przy użyciu polecenia New-AzTrafficManagerEndpoint

W tym przykładzie do profilu usługi Traffic Manager jest dodawany zasób publicznego adresu IP. Publiczny adres IP musi mieć skonfigurowaną nazwę DNS i może być powiązany z kartą sieciową maszyny wirtualnej lub z modułem równoważenia obciążenia.

$ip = Get-AzPublicIpAddress -Name MyPublicIP -ResourceGroupName MyRG
New-AzTrafficManagerEndpoint -Name MyIpEndpoint -ProfileName MyProfile -ResourceGroupName MyRG -Type AzureEndpoints -TargetResourceId $ip.Id -EndpointStatus Enabled

Dodawanie zewnętrznych punktów końcowych

Usługa Traffic Manager używa zewnętrznych punktów końcowych do kierowania ruchu do usług hostowanych poza platformą Azure. Podobnie jak w przypadku punktów końcowych platformy Azure, zewnętrzne punkty końcowe można dodać przy użyciu instrukcji Add-AzTrafficManagerEndpointConfigSet-AzTrafficManagerProfile, lub New-AzTrafficManagerEndpoint.

Podczas określania zewnętrznych punktów końcowych:

  • Nazwa domeny punktu końcowego musi być określona przy użyciu parametru "Target"
  • Jeśli jest używana metoda routingu ruchu "Wydajność", wymagana jest wartość "EndpointLocation". W przeciwnym razie jest to opcjonalne. Wartość musi być prawidłową nazwą regionu świadczenia usługi Azure.
  • Wagi i priorytetu są opcjonalne.

Przykład 1: Dodawanie zewnętrznych punktów końcowych przy użyciu poleceń Add-AzTrafficManagerEndpointConfig i Set-AzTrafficManagerProfile

W tym przykładzie utworzymy profil usługi Traffic Manager, dodamy dwa zewnętrzne punkty końcowe i zatwierdzimy zmiany.

$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

Przykład 2. Dodawanie zewnętrznych punktów końcowych przy użyciu polecenia New-AzTrafficManagerEndpoint

W tym przykładzie dodamy zewnętrzny punkt końcowy do istniejącego profilu. Profil jest określany przy użyciu nazw profilów i grup zasobów.

New-AzTrafficManagerEndpoint -Name eu-endpoint -ProfileName MyProfile -ResourceGroupName MyRG -Type ExternalEndpoints -Target app-eu.contoso.com -EndpointStatus Enabled

Dodawanie punktów końcowych zagnieżdżonych

Każdy profil usługi Traffic Manager określa jedną metodę routingu ruchu. Istnieją jednak scenariusze, które wymagają bardziej zaawansowanego routingu ruchu niż routing dostarczony przez pojedynczy profil usługi Traffic Manager. Profile usługi Traffic Manager można zagnieżdżać, aby połączyć korzyści wynikające z więcej niż jednej metody routingu ruchu. Zagnieżdżone profile umożliwiają zastąpienie domyślnego zachowania usługi Traffic Manager w celu obsługi większych i bardziej złożonych wdrożeń aplikacji. Aby uzyskać bardziej szczegółowe przykłady, zobacz Zagnieżdżone profile usługi Traffic Manager.

Zagnieżdżone punkty końcowe są konfigurowane w profilu nadrzędnym przy użyciu określonego typu punktu końcowego "NestedEndpoints". Podczas określania zagnieżdżonych punktów końcowych:

  • Punkt końcowy musi być określony przy użyciu parametru "targetResourceId"
  • Jeśli jest używana metoda routingu ruchu "Wydajność", wymagana jest wartość "EndpointLocation". W przeciwnym razie jest to opcjonalne. Wartość musi być prawidłową nazwą regionu świadczenia usługi Azure.
  • Wartości "Waga" i "Priorytet" są opcjonalne, jak w przypadku punktów końcowych platformy Azure.
  • Parametr "MinChildEndpoints" jest opcjonalny. Wartość domyślna to "1". Jeśli liczba dostępnych punktów końcowych spadnie poniżej tego progu, profil nadrzędny uwzględnia profil podrzędny "obniżony" i kieruje ruch do innych punktów końcowych w profilu nadrzędnym.

Przykład 1: Dodawanie zagnieżdżonych punktów końcowych przy użyciu poleceń Add-AzTrafficManagerEndpointConfig i Set-AzTrafficManagerProfile

W tym przykładzie utworzymy nowe profile podrzędne i nadrzędne usługi Traffic Manager, dodamy element podrzędny jako zagnieżdżony punkt końcowy do elementu nadrzędnego i zatwierdzimy zmiany.

$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

W tym przykładzie nie dodaliśmy żadnych innych punktów końcowych do profilów podrzędnych ani nadrzędnych.

Przykład 2. Dodawanie zagnieżdżonych punktów końcowych przy użyciu New-AzTrafficManagerEndpoint

W tym przykładzie dodamy istniejący profil podrzędny jako zagnieżdżony punkt końcowy do istniejącego profilu nadrzędnego. Profil jest określany przy użyciu nazw profilów i grup zasobów.

$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

Dodawanie punktów końcowych z innej subskrypcji

Usługa Traffic Manager może pracować z punktami końcowymi z różnych subskrypcji. Musisz przełączyć się do subskrypcji z punktem końcowym, który chcesz dodać, aby pobrać wymagane dane wejściowe do usługi Traffic Manager. Następnie należy przełączyć się do subskrypcji przy użyciu profilu usługi Traffic Manager i dodać do niego punkt końcowy. W poniższym przykładzie pokazano, jak to zrobić przy użyciu publicznego adresu IP.

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

Aktualizowanie punktu końcowego usługi Traffic Manager

Istnieją dwa sposoby aktualizowania istniejącego punktu końcowego usługi Traffic Manager:

  1. Pobierz profil usługi Traffic Manager przy użyciu polecenia Get-AzTrafficManagerProfile, zaktualizuj właściwości punktu końcowego w profilu i zatwierdź zmiany przy użyciu polecenia Set-AzTrafficManagerProfile. Ta metoda ma zaletę aktualizowania więcej niż jednego punktu końcowego w ramach jednej operacji.
  2. Pobierz punkt końcowy usługi Traffic Manager przy użyciu polecenia Get-AzTrafficManagerEndpoint, zaktualizuj właściwości punktu końcowego i zatwierdź zmiany przy użyciu polecenia Set-AzTrafficManagerEndpoint. Ta metoda jest prostsza, ponieważ nie wymaga indeksowania do tablicy Endpoints w profilu.

Przykład 1: Aktualizowanie punktów końcowych przy użyciu poleceń Get-AzTrafficManagerProfile i Set-AzTrafficManagerProfile

W tym przykładzie zmodyfikujemy priorytet dla dwóch punktów końcowych w ramach istniejącego profilu.

$TmProfile = Get-AzTrafficManagerProfile -Name myprofile -ResourceGroupName MyRG
$TmProfile.Endpoints[0].Priority = 2
$TmProfile.Endpoints[1].Priority = 1
Set-AzTrafficManagerProfile -TrafficManagerProfile $TmProfile

Przykład 2: Aktualizowanie punktu końcowego przy użyciu elementu Get-AzTrafficManagerEndpoint i Set-AzTrafficManagerEndpoint

W tym przykładzie zmodyfikujemy wagę pojedynczego punktu końcowego w istniejącym profilu.

$endpoint = Get-AzTrafficManagerEndpoint -Name myendpoint -ProfileName myprofile -ResourceGroupName MyRG -Type ExternalEndpoints
$endpoint.Weight = 20
Set-AzTrafficManagerEndpoint -TrafficManagerEndpoint $endpoint

Włączanie i wyłączanie punktów końcowych i profilów

Usługa Traffic Manager umożliwia włączanie i wyłączanie poszczególnych punktów końcowych, a także umożliwia włączanie i wyłączanie całych profilów. Te zmiany można wprowadzić, pobierając/aktualizując/ustawiając punkt końcowy lub zasoby profilu. Aby usprawnić te typowe operacje, są one również obsługiwane za pośrednictwem dedykowanych poleceń cmdlet.

Przykład 1. Włączanie i wyłączanie profilu usługi Traffic Manager

Aby włączyć profil usługi Traffic Manager, użyj polecenia Enable-AzTrafficManagerProfile. Profil można określić przy użyciu obiektu profilu. Obiekt profilu można przekazać za pośrednictwem potoku lub za pomocą parametru "-TrafficManagerProfile". W tym przykładzie określamy profil według nazwy profilu i grupy zasobów.

Enable-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyResourceGroup

Aby wyłączyć profil usługi Traffic Manager:

Disable-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyResourceGroup

Polecenie cmdlet Disable-AzTrafficManagerProfile monituje o potwierdzenie. Ten monit można pominąć przy użyciu parametru "-Force".

Przykład 2. Włączanie i wyłączanie punktu końcowego usługi Traffic Manager

Aby włączyć punkt końcowy usługi Traffic Manager, użyj polecenia Enable-AzTrafficManagerEndpoint. Istnieją dwa sposoby określania punktu końcowego

  1. Używanie obiektu TrafficManagerEndpoint przekazywanego za pośrednictwem potoku lub przy użyciu parametru "-TrafficManagerEndpoint"
  2. Przy użyciu nazwy punktu końcowego, typu punktu końcowego, nazwy profilu i nazwy grupy zasobów:
Enable-AzTrafficManagerEndpoint -Name MyEndpoint -Type AzureEndpoints -ProfileName MyProfile -ResourceGroupName MyRG

Podobnie aby wyłączyć punkt końcowy usługi Traffic Manager:

Disable-AzTrafficManagerEndpoint -Name MyEndpoint -Type AzureEndpoints -ProfileName MyProfile -ResourceGroupName MyRG -Force

Podobnie jak w Disable-AzTrafficManagerEndpoint przypadku Disable-AzTrafficManagerProfilepolecenia cmdlet , polecenie cmdlet wyświetla monit o potwierdzenie. Ten monit można pominąć przy użyciu parametru "-Force".

Usuwanie punktu końcowego usługi Traffic Manager

Aby usunąć poszczególne punkty końcowe, użyj Remove-AzTrafficManagerEndpoint polecenia cmdlet :

Remove-AzTrafficManagerEndpoint -Name MyEndpoint -Type AzureEndpoints -ProfileName MyProfile -ResourceGroupName MyRG

To polecenie cmdlet wyświetla monit o potwierdzenie. Ten monit można pominąć przy użyciu parametru "-Force".

Usuwanie profilu usługi Traffic Manager

Aby usunąć profil usługi Traffic Manager, użyj Remove-AzTrafficManagerProfile polecenia cmdlet , określając nazwy profilów i grup zasobów:

Remove-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG [-Force]

To polecenie cmdlet wyświetla monit o potwierdzenie. Ten monit można pominąć przy użyciu parametru "-Force".

Profil do usunięcia można również określić przy użyciu obiektu profilu:

$TmProfile = Get-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG
Remove-AzTrafficManagerProfile -TrafficManagerProfile $TmProfile [-Force]

Tę sekwencję można również potokować:

Get-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG | Remove-AzTrafficManagerProfile [-Force]

Następne kroki

Monitorowanie usługi Traffic Manager

Zagadnienia dotyczące wydajności usługi Traffic Manager