Správa Traffic Manager pomocí PowerShellu

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

Poznámka

Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci 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ých jako Traffic Manager profil. 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 Manager je reprezentován 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

Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Tyto pokyny 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 Manager jsou globální, nikoli regionální, nemá výběr umístění skupiny prostředků žádný vliv na Azure Traffic Manager.

Vytvoření profilu Traffic Manager

Pokud chcete vytvořit profil Traffic Manager, použijte rutinuNew-AzTrafficManagerProfile:

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

Následující tabulka popisuje parametry:

Parametr Popis
Název Název prostředku pro prostředek profilu Traffic Manager. 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.
TrafficRoutingMethod Určuje metodu směrování provozu použitou k určení, který koncový bod se vrátí v odpovědi dotazu DNS. Možné hodnoty jsou Výkon, Váha nebo Priorita.
RelativeDnsName Určuje část názvu hostitele názvu DNS poskytnutého tímto profilem Traffic Manager. Tato hodnota je kombinována s názvem domény DNS používaným Azure Traffic Manager k vytvoření plně kvalifikovaného názvu domény (FQDN) profilu. Například nastavení hodnoty contoso se stane "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 budou ukládat odpovědi DNS pro tento profil Traffic Manager.
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 použitý k monitorování stavu koncového bodu.
MonitorPath 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 Manager 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 Manager najdete v tématu Přidání koncových bodů Traffic Manager.

Získání profilu Traffic Manager

Pokud chcete načíst existující objekt profilu Traffic Manager, použijte rutinuGet-AzTrafficManagerProfle:

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

Tato rutina vrátí objekt profilu Traffic Manager.

Aktualizace profilu Traffic Manager

Úprava profilů Traffic Manager se řídí 3 kroky:

  1. Načtěte profil pomocí Get-AzTrafficManagerProfile nebo použijte profil vrácený 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 off-line 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 lze změnit s výjimkou relativního názvu profilu. Pokud chcete změnit název 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 Manager:

  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 slouží k vytváření vnořených hierarchií profilů Traffic Manager. 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é koncové body přidat dvěma způsoby:

  1. Použití 3stupňového procesu popsaného dříve. Výhodou této metody je, že v jedné aktualizaci lze 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 Manager v jedné operaci.

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). PublicIpAddress musí mít přiřazený název DNS, který se má použít v Traffic Manager.

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

  • Služba je určena pomocí parametru targetResourceId nebo Add-AzTrafficManagerEndpointConfigNew-AzTrafficManagerEndpoint.
  • Target a EndpointLocation jsou odvozeny z TargetResourceId.
  • Zadání váhy je volitelné. Váhy se použijí pouze v případě, že je profil nakonfigurovaný tak, aby používal metodu směrování provozu váženého provozu. Jinak se ignorují. Pokud je zadáno, musí být hodnota číslo v rozmezí od 1 do 1000. Výchozí hodnota je 1.
  • Zadání priority je volitelné. Priority se používají pouze v případě, že je profil nakonfigurovaný tak, aby používal metodu směrování provozu Priority. Jinak se ignorují. Platné hodnoty jsou od 1 do 1000 s nižšími hodnotami označujícími vyšší prioritu. Pokud je zadaný pro jeden koncový bod, musí být zadán pro všechny koncové body. Pokud je vynecháno, použijí se výchozí hodnoty od 1 v pořadí, v jakém jsou uvedené koncové body.

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

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

$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 Manager. Veřejná IP adresa musí mít nakonfigurovaný název DNS a může být svázán s síťovým adaptérem 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 k 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, a to buď pomocí Add-AzTrafficManagerEndpointConfigSet-AzTrafficManagerProfile, nebo New-AzTrafficManagerEndpoint.

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

  • Název domény koncového bodu musí být zadán pomocí parametru Target.
  • Pokud se používá metoda směrování provozu výkonu, je vyžadována hodnota EndpointLocation. Jinak je nepovinný. Hodnota musí být platný název oblasti Azure.
  • Váha 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 Manager, 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 je zadán pomocí názvů profilů a skupin 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 Manager určuje jednu metodu směrování provozu. Existují však scénáře, které vyžadují sofistikovanější směrování provozu než směrování poskytované jedním profilem Traffic Manager. Profily Traffic Manager můžete vnořit a kombinovat výhody více než jedné metody směrování provozu. Vnořené profily umožňují přepsat výchozí chování Traffic Manager pro podporu rozsáhlejších a složitějších nasazení aplikací. Podrobnější příklady najdete v tématu Vnořené profily Traffic Manager.

Vnořené koncové body jsou nakonfigurované 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 musí být zadán pomocí parametru targetResourceId.
  • Pokud se používá metoda směrování provozu výkonu, je vyžadována hodnota EndpointLocation. Jinak 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ý 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í Add-AzTrafficManagerEndpointConfig a Set-AzTrafficManagerProfile

V tomto příkladu vytvoříme nové Traffic Manager podřízené a nadřazené profily, přidáme podřízené položky 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 stručnost v tomto příkladu jsme do podřízeného nebo nadřazeného profilu nepřidali žádné další koncové body.

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 je zadán pomocí názvů profilů a skupin 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 mohli načíst potřebný vstup do Traffic Manager, musíte přejít na předplatné s koncovým bodem, který chcete přidat. Pak musíte přejít na předplatná s profilem Traffic Manager 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 Manager

Existující koncový bod Traffic Manager můžete aktualizovat dvěma způsoby:

  1. Získejte profil Traffic Manager pomocí Get-AzTrafficManagerProfile, aktualizujte vlastnosti koncového bodu v profilu a potvrďte změny pomocí Set-AzTrafficManagerProfile. Tato metoda má výhodu, že v jedné operaci může aktualizovat více než jeden koncový bod.
  2. Získejte koncový bod Traffic Manager 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 u 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 hmotnost 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 povolit povolení a zakázání celých profilů. Tyto změny je možné provést tak, že se dostanete, aktualizujete nebo nastavíte prostředky koncového bodu nebo profilu. Aby se tyto běžné operace zjednodušily, podporují se také prostřednictvím vyhrazených rutin.

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

Pokud chcete povolit profil Traffic Manager, 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 Manager:

Disable-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyResourceGroup

Rutina Disable-AzTrafficManagerProfile vyzve k potvrzení. Tento dotaz lze potlačit pomocí parametru -Force.

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

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

  1. Použití objektu TrafficManagerEndpoint předaného prostřednictvím kanálu nebo pomocí parametru -TrafficManagerEndpoint
  2. Pomocí názvu koncového bodu, typu koncového bodu, názvu profilu a názvu skupiny prostředků:
Enable-AzTrafficManagerEndpoint -Name MyEndpoint -Type AzureEndpoints -ProfileName MyProfile -ResourceGroupName MyRG

Podobně zakázání koncového bodu Traffic Manager:

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

Stejně jako u Disable-AzTrafficManagerProfilerutiny Disable-AzTrafficManagerEndpoint se zobrazí výzva k potvrzení. Tento dotaz lze potlačit pomocí parametru -Force.

Odstranění koncového bodu Traffic Manager

Pokud chcete odebrat jednotlivé koncové body, použijte rutinu Remove-AzTrafficManagerEndpoint :

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

Tato rutina vyzve k potvrzení. Tento dotaz lze potlačit pomocí parametru -Force.

Odstranění profilu Traffic Manager

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

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

Tato rutina vyzve k potvrzení. Tento dotaz lze potlačit pomocí parametru -Force.

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

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

Tuto sekvenci lze také roušit:

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

Další kroky

monitorování Traffic Manager

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