Správa Traffic Manageru pomocí PowerShellu

Azure Resource Manager je upřednostňovaným rozhraním pro správu služeb v Azure. Profily Azure Traffic Manageru je možné spravovat pomocí rozhraní API a nástrojů založených na Azure Resource Manager.

Poznámka

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Model prostředků

Azure Traffic Manager se konfiguruje pomocí kolekce nastavení označované jako profil Traffic Manageru. Tento profil obsahuje nastavení DNS, nastavení směrování provozu, nastavení monitorování koncových bodů a seznam koncových bodů služby, do kterých se provoz směruje.

Každý profil Traffic Manageru je reprezentovaný prostředkem typu TrafficManagerProfiles. Na úrovni rozhraní REST API je identifikátor URI pro každý profil následující:

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

Nastavení Azure PowerShell

Poznámka

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Tyto pokyny se používají Microsoft Azure PowerShell. Následující článek vysvětluje, jak nainstalovat a nakonfigurovat Azure PowerShell.

Příklady v tomto článku předpokládají, že máte existující skupinu prostředků. Skupinu prostředků můžete vytvořit pomocí následujícího příkazu:

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

Poznámka

Azure Resource Manager vyžaduje, aby všechny skupiny prostředků měly umístění. Toto umístění se používá jako výchozí pro prostředky vytvořené v této skupině prostředků. Vzhledem k tomu, že prostředky profilu Traffic Manageru jsou globální, nikoli regionální, nemá volba umístění skupiny prostředků na Azure Traffic Manager žádný vliv.

Vytvoření profilu Traffic Manageru

K vytvoření profilu Traffic Manageru použijte rutinu New-AzTrafficManagerProfile :

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

Parametry jsou popsané v následující tabulce:

Parametr Popis
Název Název prostředku pro prostředek profilu Traffic Manageru. Profily ve stejné skupině prostředků musí mít jedinečné názvy. Tento název je oddělený od názvu DNS používaného pro dotazy DNS.
ResourceGroupName Název skupiny prostředků obsahující prostředek profilu.
Metoda TrafficRoutingMethod Určuje metodu směrování provozu, která se použije k určení koncového bodu, který se vrátí v odpovědi na dotaz DNS. Možné hodnoty jsou Performance (Výkon), Weighted (Vážená hodnota) nebo Priority (Priorita).
RelativeDnsName Určuje část názvu hostitele názvu DNS poskytnutého tímto profilem služby Traffic Manager. Tato hodnota se zkombinuje s názvem domény DNS, který azure Traffic Manager používá k vytvoření plně kvalifikovaného názvu domény (FQDN) profilu. Například nastavení hodnoty contoso se změní na "contoso.trafficmanager.net".
TTL Určuje hodnotu TTL (Time to Live) DNS v sekundách. Tato hodnota TTL informuje místní překladače DNS a klienty DNS, jak dlouho mají odpovědi DNS pro tento profil Služby Traffic Manager ukládat do mezipaměti.
MonitorProtocol Určuje protokol, který se má použít k monitorování stavu koncového bodu. Možné hodnoty jsou HTTP a HTTPS.
MonitorPort Určuje port TCP, který se používá k monitorování stavu koncového bodu.
Cesta k monitorování Určuje cestu relativní k názvu domény koncového bodu, která se používá k sondování stavu koncového bodu.

Rutina vytvoří profil Traffic Manageru v Azure a vrátí odpovídající objekt profilu do PowerShellu. V tomto okamžiku profil neobsahuje žádné koncové body. Další informace o přidávání koncových bodů do profilu Traffic Manageru najdete v tématu Přidání koncových bodů Traffic Manageru.

Získání profilu Traffic Manageru

Pokud chcete načíst existující objekt profilu traffic manageru, použijte rutinu Get-AzTrafficManagerProfle :

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

Tato rutina vrátí objekt profilu služby Traffic Manager.

Aktualizace profilu Traffic Manageru

Úprava profilů Traffic Manageru probíhá ve 3 krocích:

  1. Načtěte profil pomocí Get-AzTrafficManagerProfile nebo použijte profil vrácený nástrojem New-AzTrafficManagerProfile.
  2. Upravte profil. Můžete přidávat a odebírat koncové body nebo měnit parametry koncového bodu nebo profilu. Tyto změny jsou offline operace. Měníte pouze místní objekt v paměti, který představuje profil.
  3. Potvrďte změny pomocí rutiny Set-AzTrafficManagerProfile .

Všechny vlastnosti profilu je možné změnit s výjimkou vlastnosti RelativeDnsName profilu. Pokud chcete změnit hodnotu RelativeDnsName, musíte odstranit profil a nový profil s novým názvem.

Následující příklad ukazuje, jak změnit hodnotu TTL profilu:

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

Existují tři typy koncových bodů Traffic Manageru:

  1. Koncové body Azure jsou služby hostované v Azure.
  2. Externí koncové body jsou služby hostované mimo Azure.
  3. Vnořené koncové body se používají k vytváření vnořených hierarchií profilů Traffic Manageru. Vnořené koncové body umožňují pokročilé konfigurace směrování provozu pro složité aplikace.

Ve všech třech případech je možné přidat koncové body dvěma způsoby:

  1. Pomocí 3stupňového procesu popsaného výše. Výhodou této metody je, že v jedné aktualizaci je možné provést několik změn koncového bodu.
  2. Pomocí rutiny New-AzTrafficManagerEndpoint Tato rutina přidá koncový bod do existujícího profilu Traffic Manageru v rámci jedné operace.

Přidání koncových bodů Azure

Koncové body Azure odkazují na služby hostované v Azure. Podporují se dva typy koncových bodů Azure:

  1. Azure App Service
  2. Prostředky Azure PublicIpAddress (které je možné připojit k nástroji pro vyrovnávání zatížení nebo síťové kartě virtuálního počítače) Adresa PublicIpAddress musí mít přiřazený název DNS, který se má používat v Traffic Manageru.

V každém případě:

  • Služba je určena pomocí parametru targetResourceId hodnoty Add-AzTrafficManagerEndpointConfig nebo New-AzTrafficManagerEndpoint.
  • TargetResourceId implikuje targetResourceId a EndpointLocation.
  • Určení váhy je volitelné. Váhy se používají jenom v případě, že je profil nakonfigurovaný tak, aby používal metodu váženého směrování provozu. Jinak budou ignorovány. Pokud je tato hodnota zadaná, musí to být číslo mezi 1 a 1 000. Výchozí hodnota je 1.
  • Zadání priority je volitelné. Priority se používají jenom v případě, že je profil nakonfigurovaný tak, aby používal metodu směrování provozu Priority. Jinak budou ignorovány. Platné hodnoty jsou od 1 do 1000 s nižšími hodnotami, které označují vyšší prioritu. Pokud jsou zadané pro jeden koncový bod, musí být zadané pro všechny koncové body. Pokud tento parametr vynecháte, použijí se výchozí hodnoty začínající hodnotou 1 v pořadí, v jakém jsou koncové body uvedené.

Příklad 1: Přidání koncových bodů App Service pomocíAdd-AzTrafficManagerEndpointConfig

V tomto příkladu vytvoříme profil Traffic Manageru a přidáme dva App Service koncové body pomocí Add-AzTrafficManagerEndpointConfig rutiny .

$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

Příklad 2: Přidání koncového bodu publicIpAddress pomocí New-AzTrafficManagerEndpoint

V tomto příkladu se prostředek veřejné IP adresy přidá do profilu Traffic Manageru. Veřejná IP adresa musí mít nakonfigurovaný název DNS a může být svázaná se síťovým rozhraním virtuálního počítače nebo s nástrojem pro vyrovnávání zatížení.

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

Přidání externích koncových bodů

Traffic Manager používá externí koncové body ke směrování provozu do služeb hostovaných mimo Azure. Stejně jako u koncových bodů Azure je možné přidat externí koncové body buď příkazem Add-AzTrafficManagerEndpointConfigSet-AzTrafficManagerProfile, nebo New-AzTrafficManagerEndpoint.

Při zadávání externích koncových bodů:

  • Název domény koncového bodu se musí zadat pomocí parametru Target.
  • Pokud se používá metoda směrování provozu Performance, vyžaduje se endpointLocation. V opačném případě je nepovinný. Hodnota musí být platný název oblasti Azure.
  • Váhy a Priorita jsou volitelné.

Příklad 1: Přidání externích koncových bodů pomocí Add-AzTrafficManagerEndpointConfig a Set-AzTrafficManagerProfile

V tomto příkladu vytvoříme profil Traffic Manageru, přidáme dva externí koncové body a potvrdíme změny.

$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

Příklad 2: Přidání externích koncových bodů pomocí New-AzTrafficManagerEndpoint

V tomto příkladu přidáme externí koncový bod do existujícího profilu. Profil se zadává pomocí názvu profilu a skupiny prostředků.

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

Přidání vnořených koncových bodů

Každý profil Traffic Manageru určuje jednu metodu směrování provozu. Existují však scénáře, které vyžadují sofistikovanější směrování provozu, než je směrování poskytované jedním profilem Traffic Manageru. Profily Traffic Manageru můžete vnořit a zkombinovat tak výhody více než jedné metody směrování provozu. Vnořené profily umožňují přepsat výchozí chování Traffic Manageru pro podporu větších a složitějších nasazení aplikací. Podrobnější příklady najdete v tématu vnořené profily Traffic Manageru.

Vnořené koncové body se konfigurují v nadřazeného profilu pomocí konkrétního typu koncového bodu NestedEndpoints. Při zadávání vnořených koncových bodů:

  • Koncový bod se musí zadat pomocí parametru targetResourceId.
  • Pokud se používá metoda směrování provozu Performance, vyžaduje se endpointLocation. V opačném případě je nepovinný. Hodnota musí být platný název oblasti Azure.
  • Váha a Priorita jsou volitelné, stejně jako u koncových bodů Azure.
  • Parametr MinChildEndpoints je volitelný. Výchozí hodnota je 1. Pokud počet dostupných koncových bodů klesne pod tuto prahovou hodnotu, nadřazený profil považuje podřízený profil za snížený výkon a přesměruje provoz na ostatní koncové body v nadřazeného profilu.

Příklad 1: Přidání vnořených koncových bodů pomocí a Add-AzTrafficManagerEndpointConfigSet-AzTrafficManagerProfile

V tomto příkladu vytvoříme nový podřízený a nadřazený profil Traffic Manageru, přidáme podřízený bod jako vnořený koncový bod do nadřazeného objektu a potvrdíme změny.

$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

Pro zjednodušení jsme v tomto příkladu nepřidali žádné další koncové body do podřízeného nebo nadřazeného profilu.

Příklad 2: Přidání vnořených koncových bodů pomocí New-AzTrafficManagerEndpoint

V tomto příkladu přidáme existující podřízený profil jako vnořený koncový bod do existujícího nadřazeného profilu. Profil se zadává pomocí názvu profilu a skupiny prostředků.

$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

Přidání koncových bodů z jiného předplatného

Traffic Manager může pracovat s koncovými body z různých předplatných. Abyste získali potřebný vstup do Traffic Manageru, musíte přepnout na předplatné s koncovým bodem, který chcete přidat. Pak musíte přepnout na předplatná s profilem Traffic Manageru a přidat do něj koncový bod. Následující příklad ukazuje, jak to udělat s veřejnou IP adresou.

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

Aktualizace koncového bodu Traffic Manageru

Existují dva způsoby, jak aktualizovat existující koncový bod Traffic Manageru:

  1. Získejte profil Služby Traffic Manager pomocí Get-AzTrafficManagerProfilepříkazu , aktualizujte vlastnosti koncového bodu v rámci profilu a potvrďte změny pomocí příkazu Set-AzTrafficManagerProfile. Tato metoda má výhodu v tom, že může aktualizovat více než jeden koncový bod v rámci jedné operace.
  2. Získejte koncový bod Traffic Manageru pomocí Get-AzTrafficManagerEndpoint, aktualizujte vlastnosti koncového bodu a potvrďte změny pomocí Set-AzTrafficManagerEndpoint. Tato metoda je jednodušší, protože nevyžaduje indexování do pole Endpoints v profilu.

Příklad 1: Aktualizace koncových bodů pomocí Get-AzTrafficManagerProfile a Set-AzTrafficManagerProfile

V tomto příkladu upravíme prioritu dvou koncových bodů v rámci existujícího profilu.

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

Příklad 2: Aktualizace koncového bodu pomocí Get-AzTrafficManagerEndpoint a Set-AzTrafficManagerEndpoint

V tomto příkladu upravíme váhu jednoho koncového bodu v existujícím profilu.

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

Povolení a zakázání koncových bodů a profilů

Traffic Manager umožňuje povolit a zakázat jednotlivé koncové body a také povolit a zakázat celé profily. Tyto změny je možné provést získáním, aktualizací nebo nastavením prostředků koncového bodu nebo profilu. Za účelem zjednodušení těchto běžných operací jsou podporovány také prostřednictvím vyhrazených rutin.

Příklad 1: Povolení a zakázání profilu služby Traffic Manager

Pokud chcete povolit profil Traffic Manageru, použijte Enable-AzTrafficManagerProfile. Profil lze zadat pomocí objektu profilu. Objekt profilu lze předat prostřednictvím kanálu nebo pomocí parametru -TrafficManagerProfile. V tomto příkladu určíme profil podle názvu profilu a skupiny prostředků.

Enable-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyResourceGroup

Zakázání profilu Traffic Manageru:

Disable-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyResourceGroup

Rutina Disable-AzTrafficManagerProfile zobrazí výzvu k potvrzení. Tuto výzvu lze potlačit pomocí parametru -Force.

Příklad 2: Povolení a zakázání koncového bodu Traffic Manageru

Pokud chcete povolit koncový bod Traffic Manageru, použijte Enable-AzTrafficManagerEndpoint. Existují dva způsoby, jak zadat koncový bod.

  1. Použití objektu TrafficManagerEndpoint předaného kanálem nebo parametru -TrafficManagerEndpoint
  2. Použijte název koncového bodu, typ koncového bodu, název profilu a název skupiny prostředků:
Enable-AzTrafficManagerEndpoint -Name MyEndpoint -Type AzureEndpoints -ProfileName MyProfile -ResourceGroupName MyRG

Podobně platí, že pokud chcete zakázat koncový bod Traffic Manageru:

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

Stejně jako v případě Disable-AzTrafficManagerProfilerutiny Disable-AzTrafficManagerEndpoint zobrazí výzvu k potvrzení. Tuto výzvu lze potlačit pomocí parametru -Force.

Odstranění koncového bodu Traffic Manageru

K odebrání jednotlivých koncových bodů použijte rutinu Remove-AzTrafficManagerEndpoint :

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

Tato rutina zobrazí výzvu k potvrzení. Tuto výzvu lze potlačit pomocí parametru -Force.

Odstranění profilu Traffic Manageru

Pokud chcete odstranit profil Traffic Manageru, použijte rutinu Remove-AzTrafficManagerProfile a zadejte názvy profilu a skupiny prostředků:

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

Tato rutina zobrazí výzvu k potvrzení. Tuto výzvu lze potlačit pomocí parametru -Force.

Profil, který se má odstranit, lze také zadat pomocí objektu profilu:

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

Tuto sekvenci je také možné přetát:

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

Další kroky

Monitorování Traffic Manageru

Důležité informace o výkonu nástroje Traffic Manager