Delen via


PowerShell gebruiken om Traffic Manager te beheren

Azure Resource Manager is de voorkeursbeheerinterface voor services in Azure. Azure Traffic Manager-profielen kunnen worden beheerd met behulp van Op Azure Resource Manager gebaseerde API's en hulpprogramma's.

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Resourcemodel

Azure Traffic Manager wordt geconfigureerd met behulp van een verzameling instellingen die een Traffic Manager-profiel worden genoemd. Dit profiel bevat DNS-instellingen, instellingen voor verkeersroutering, instellingen voor eindpuntbewaking en een lijst met service-eindpunten waarnaar verkeer wordt gerouteerd.

Elk Traffic Manager-profiel wordt vertegenwoordigd door een resource van het type TrafficManagerProfiles. Op REST API-niveau is de URI voor elk profiel als volgt:

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

Azure PowerShell instellen

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Deze instructies maken gebruik van Microsoft Azure PowerShell. In het volgende artikel wordt uitgelegd hoe u Azure PowerShell installeert en configureert.

In de voorbeelden in dit artikel wordt ervan uitgegaan dat u een bestaande resourcegroep hebt. U kunt een resourcegroep maken met de volgende opdracht:

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

Notitie

Azure Resource Manager vereist dat alle resourcegroepen een locatie hebben. Deze locatie wordt gebruikt als de standaardlocatie voor resources die in die resourcegroep zijn gemaakt. Omdat Traffic Manager-profielresources echter globaal en niet regionaal zijn, heeft de keuze van de locatie van de resourcegroep geen invloed op Azure Traffic Manager.

Een Traffic Manager-profiel maken

Gebruik de New-AzTrafficManagerProfile cmdlet om een Traffic Manager-profiel te maken:

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

In de volgende tabel worden de parameters beschreven:

Parameter Omschrijving
Naam De resourcenaam voor de Traffic Manager-profielresource. Profielen in dezelfde resourcegroep moeten unieke namen hebben. Deze naam staat los van de DNS-naam die wordt gebruikt voor DNS-query's.
ResourceGroupName De naam van de resourcegroep die de profielresource bevat.
TrafficRoutingMethod Hiermee geeft u de verkeersrouteringsmethode op die wordt gebruikt om te bepalen welk eindpunt wordt geretourneerd als antwoord op een DNS-query. Mogelijke waarden zijn 'Prestaties', 'Gewogen' of 'Prioriteit'.
RelativeDnsName Hiermee geeft u het hostnaamgedeelte van de DNS-naam op die is opgegeven door dit Traffic Manager-profiel. Deze waarde wordt gecombineerd met de DNS-domeinnaam die door Azure Traffic Manager wordt gebruikt om de FQDN (Fully Qualified Domain Name) van het profiel te vormen. Als u bijvoorbeeld de waarde van 'contoso' instelt, wordt 'contoso.trafficmanager.net'.
TTL Hiermee geeft u de DNS Time-to-Live (TTL) in seconden. Deze TTL informeert de lokale DNS-resolvers en DNS-clients hoe lang DNS-antwoorden voor dit Traffic Manager-profiel in de cache moeten worden opgeslagen.
MonitorProtocol Hiermee geeft u het protocol dat moet worden gebruikt voor het bewaken van de eindpuntstatus. Mogelijke waarden zijn HTTP en HTTPS.
MonitorPort Hiermee geeft u de TCP-poort op die wordt gebruikt om de eindpuntstatus te bewaken.
MonitorPath Hiermee geeft u het pad ten opzichte van de eindpuntdomeinnaam op die wordt gebruikt om de eindpuntstatus te testen.

De cmdlet maakt een Traffic Manager-profiel in Azure en retourneert een bijbehorend profielobject naar PowerShell. Op dit moment bevat het profiel geen eindpunten. Zie Traffic Manager-eindpunten toevoegen voor meer informatie over het toevoegen van eindpunten aan een Traffic Manager-profiel.

Een Traffic Manager-profiel ophalen

Gebruik de Get-AzTrafficManagerProfle cmdlet om een bestaand Traffic Manager-profielobject op te halen:

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

Met deze cmdlet wordt een Traffic Manager-profielobject geretourneerd.

Een Traffic Manager-profiel bijwerken

Het wijzigen van Traffic Manager-profielen volgt een proces in drie stappen:

  1. Haal het profiel op met behulp van Get-AzTrafficManagerProfile of gebruik het profiel dat wordt geretourneerd door New-AzTrafficManagerProfile.
  2. Wijzig het profiel. U kunt eindpunten toevoegen en verwijderen of eindpunt- of profielparameters wijzigen. Deze wijzigingen zijn off-line bewerkingen. U wijzigt alleen het lokale object in het geheugen dat het profiel vertegenwoordigt.
  3. Voer uw wijzigingen door met behulp van de Set-AzTrafficManagerProfile cmdlet.

Alle profieleigenschappen kunnen worden gewijzigd, behalve de RelativeDnsName van het profiel. Als u de RelativeDnsName wilt wijzigen, moet u het profiel en een nieuw profiel met een nieuwe naam verwijderen.

In het volgende voorbeeld ziet u hoe u de TTL van het profiel wijzigt:

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

Er zijn drie typen Traffic Manager-eindpunten:

  1. Azure-eindpunten zijn services die worden gehost in Azure
  2. Externe eindpunten zijn services die buiten Azure worden gehost
  3. Geneste eindpunten worden gebruikt om geneste hiërarchieën van Traffic Manager-profielen te maken. Geneste eindpunten maken geavanceerde configuraties voor verkeersroutering mogelijk voor complexe toepassingen.

In alle drie de gevallen kunnen eindpunten op twee manieren worden toegevoegd:

  1. Met behulp van een proces in drie stappen dat eerder is beschreven. Het voordeel van deze methode is dat er verschillende eindpuntwijzigingen kunnen worden aangebracht in één update.
  2. Gebruik de cmdlet New-AzTrafficManagerEndpoint. Met deze cmdlet wordt een eindpunt toegevoegd aan een bestaand Traffic Manager-profiel in één bewerking.

Azure-eindpunten toevoegen

Azure-eindpunten verwijzen naar services die worden gehost in Azure. Er worden twee typen Azure-eindpunten ondersteund:

  1. Azure App Service
  2. Azure PublicIpAddress-resources (die kunnen worden gekoppeld aan een load balancer of een NIC van een virtuele machine). Het PublicIpAddress moet een DNS-naam hebben die moet worden gebruikt in Traffic Manager.

In elk geval:

  • De service wordt opgegeven met de parameter targetResourceId van Add-AzTrafficManagerEndpointConfig of New-AzTrafficManagerEndpoint.
  • De 'Target' en 'EndpointLocation' worden geïmpliceerd door de TargetResourceId.
  • Het opgeven van het gewicht is optioneel. Gewichten worden alleen gebruikt als het profiel is geconfigureerd voor het gebruik van de gewogen verkeersrouteringsmethode. Anders worden ze genegeerd. Indien opgegeven, moet de waarde een getal tussen 1 en 1000 zijn. De standaardwaarde is '1'.
  • Het opgeven van de prioriteit is optioneel. Prioriteiten worden alleen gebruikt als het profiel is geconfigureerd voor het gebruik van de verkeersrouteringsmethode Prioriteit. Anders worden ze genegeerd. Geldige waarden zijn van 1 tot 1000 met lagere waarden die een hogere prioriteit aangeven. Als deze voor één eindpunt zijn opgegeven, moeten ze worden opgegeven voor alle eindpunten. Als u dit weglaat, worden standaardwaarden die beginnen met '1' toegepast in de volgorde waarin de eindpunten worden vermeld.

Voorbeeld 1: App Service-eindpunten toevoegen met behulp van Add-AzTrafficManagerEndpointConfig

In dit voorbeeld maken we een Traffic Manager-profiel en voegen we twee App Service-eindpunten toe met behulp van de Add-AzTrafficManagerEndpointConfig 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

Voorbeeld 2: Een publicIpAddress-eindpunt toevoegen met behulp van New-AzTrafficManagerEndpoint

In dit voorbeeld wordt een openbare IP-adresresource toegevoegd aan het Traffic Manager-profiel. Het openbare IP-adres moet een DNS-naam hebben geconfigureerd en kan worden gebonden aan de NIC van een virtuele machine of aan een load balancer.

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

Externe eindpunten toevoegen

Traffic Manager maakt gebruik van externe eindpunten om verkeer te leiden naar services die buiten Azure worden gehost. Net als bij Azure-eindpunten kunnen externe eindpunten worden toegevoegd met behulp van Add-AzTrafficManagerEndpointConfig gevolgd door Set-AzTrafficManagerProfile, of New-AzTrafficManagerEndpoint.

Bij het opgeven van externe eindpunten:

  • De domeinnaam van het eindpunt moet worden opgegeven met de parameter Target
  • Als de verkeersrouteringsmethode 'Prestaties' wordt gebruikt, is endpointLocation vereist. Anders is het optioneel. De waarde moet een geldige Azure-regionaam zijn.
  • Het gewicht en de prioriteit zijn optioneel.

Voorbeeld 1: Externe eindpunten toevoegen met behulp van Add-AzTrafficManagerEndpointConfig en Set-AzTrafficManagerProfile

In dit voorbeeld maken we een Traffic Manager-profiel, voegen we twee externe eindpunten toe en voeren we de wijzigingen door.

$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

Voorbeeld 2: Externe eindpunten toevoegen met behulp van New-AzTrafficManagerEndpoint

In dit voorbeeld voegen we een extern eindpunt toe aan een bestaand profiel. Het profiel wordt opgegeven met behulp van de profiel- en resourcegroepnamen.

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

Geneste eindpunten toevoegen

Elk Traffic Manager-profiel specificeert één verkeersrouteringsmethode. Er zijn echter scenario's die geavanceerdere verkeersroutering vereisen dan de routering die wordt geleverd door één Traffic Manager-profiel. U kunt Traffic Manager-profielen nesten om de voordelen van meer dan één verkeersrouteringsmethode te combineren. Met geneste profielen kunt u het standaardgedrag van Traffic Manager overschrijven om grotere en complexere toepassingsimplementaties te ondersteunen. Zie Geneste Traffic Manager-profielen voor meer gedetailleerde voorbeelden.

Geneste eindpunten worden geconfigureerd in het bovenliggende profiel, met behulp van een specifiek eindpunttype NestedEndpoints. Wanneer u geneste eindpunten opgeeft:

  • Het eindpunt moet worden opgegeven met de parameter targetResourceId
  • Als de verkeersrouteringsmethode 'Prestaties' wordt gebruikt, is endpointLocation vereist. Anders is het optioneel. De waarde moet een geldige Azure-regionaam zijn.
  • De 'Gewicht' en 'Prioriteit' zijn optioneel, net als voor Azure-eindpunten.
  • De parameter 'MinChildEndpoints' is optioneel. De standaardwaarde is '1'. Als het aantal beschikbare eindpunten onder deze drempelwaarde valt, beschouwt het bovenliggende profiel het onderliggende profiel 'gedegradeerd' en leidt het verkeer naar de andere eindpunten in het bovenliggende profiel.

Voorbeeld 1: Geneste eindpunten toevoegen met behulp van Add-AzTrafficManagerEndpointConfig en Set-AzTrafficManagerProfile

In dit voorbeeld maken we nieuwe onderliggende en bovenliggende profielen van Traffic Manager, voegen we het kind toe als een genest eindpunt aan het bovenliggende eindpunt en voeren we de wijzigingen door.

$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

Voor kortheid in dit voorbeeld hebben we geen andere eindpunten toegevoegd aan de onderliggende of bovenliggende profielen.

Voorbeeld 2: Geneste eindpunten toevoegen met behulp van New-AzTrafficManagerEndpoint

In dit voorbeeld voegen we een bestaand onderliggend profiel toe als een genest eindpunt aan een bestaand bovenliggend profiel. Het profiel wordt opgegeven met behulp van de profiel- en resourcegroepnamen.

$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

Eindpunten toevoegen vanuit een ander abonnement

Traffic Manager kan werken met eindpunten uit verschillende abonnementen. U moet overschakelen naar het abonnement met het eindpunt dat u wilt toevoegen om de benodigde invoer voor Traffic Manager op te halen. Vervolgens moet u overschakelen naar de abonnementen met het Traffic Manager-profiel en het eindpunt eraan toevoegen. In het onderstaande voorbeeld ziet u hoe u dit doet met een openbaar IP-adres.

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

Een Traffic Manager-eindpunt bijwerken

Er zijn twee manieren om een bestaand Traffic Manager-eindpunt bij te werken:

  1. Haal het Traffic Manager-profiel op met behulp van Get-AzTrafficManagerProfile, werk de eindpunteigenschappen in het profiel bij en voer de wijzigingen door met behulp van Set-AzTrafficManagerProfile. Deze methode heeft het voordeel dat u meer dan één eindpunt in één bewerking kunt bijwerken.
  2. Haal het Traffic Manager-eindpunt op met behulp van Get-AzTrafficManagerEndpoint, werk de eindpunteigenschappen bij en voer de wijzigingen door met behulp van Set-AzTrafficManagerEndpoint. Deze methode is eenvoudiger, omdat er geen indexering in de eindpuntmatrix in het profiel is vereist.

Voorbeeld 1: Eindpunten bijwerken met behulp van Get-AzTrafficManagerProfile en Set-AzTrafficManagerProfile

In dit voorbeeld wijzigen we de prioriteit op twee eindpunten binnen een bestaand profiel.

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

Voorbeeld 2: Een eindpunt bijwerken met behulp van Get-AzTrafficManagerEndpoint en Set-AzTrafficManagerEndpoint

In dit voorbeeld wijzigen we het gewicht van één eindpunt in een bestaand profiel.

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

Eindpunten en profielen in- en uitschakelen

Met Traffic Manager kunnen afzonderlijke eindpunten worden ingeschakeld en uitgeschakeld, evenals het in- en uitschakelen van volledige profielen. Deze wijzigingen kunnen worden aangebracht door het eindpunt of de profielbronnen op te halen/bij te werken/in te stellen. Om deze algemene bewerkingen te stroomlijnen, worden ze ook ondersteund via toegewezen cmdlets.

Voorbeeld 1: Een Traffic Manager-profiel in- en uitschakelen

Als u een Traffic Manager-profiel wilt inschakelen, gebruikt u Enable-AzTrafficManagerProfile. Het profiel kan worden opgegeven met behulp van een profielobject. Het profielobject kan worden doorgegeven via de pijplijn of met behulp van de parameter '-TrafficManagerProfile'. In dit voorbeeld geven we het profiel op op basis van de naam van het profiel en de resourcegroep.

Enable-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyResourceGroup

Een Traffic Manager-profiel uitschakelen:

Disable-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyResourceGroup

De cmdlet Disable-AzTrafficManagerProfile vraagt om bevestiging. Deze prompt kan worden onderdrukt met behulp van de parameter -Force.

Voorbeeld 2: Een Traffic Manager-eindpunt in- en uitschakelen

Als u een Traffic Manager-eindpunt wilt inschakelen, gebruikt u Enable-AzTrafficManagerEndpoint. Er zijn twee manieren om het eindpunt op te geven

  1. Een TrafficManagerEndpoint-object gebruiken dat wordt doorgegeven via de pijplijn of met behulp van de parameter '-TrafficManagerEndpoint'
  2. Gebruik de eindpuntnaam, het eindpunttype, de profielnaam en de naam van de resourcegroep:
Enable-AzTrafficManagerEndpoint -Name MyEndpoint -Type AzureEndpoints -ProfileName MyProfile -ResourceGroupName MyRG

Op dezelfde manier kunt u een Traffic Manager-eindpunt uitschakelen:

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

Net als bij Disable-AzTrafficManagerProfilede Disable-AzTrafficManagerEndpoint cmdlet wordt om bevestiging gevraagd. Deze prompt kan worden onderdrukt met behulp van de parameter -Force.

Een Traffic Manager-eindpunt verwijderen

Als u afzonderlijke eindpunten wilt verwijderen, gebruikt u de Remove-AzTrafficManagerEndpoint cmdlet:

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

Deze cmdlet vraagt om bevestiging. Deze prompt kan worden onderdrukt met behulp van de parameter -Force.

Een Traffic Manager-profiel verwijderen

Als u een Traffic Manager-profiel wilt verwijderen, gebruikt u de Remove-AzTrafficManagerProfile cmdlet en geeft u de namen van het profiel en de resourcegroep op:

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

Deze cmdlet vraagt om bevestiging. Deze prompt kan worden onderdrukt met behulp van de parameter -Force.

Het profiel dat moet worden verwijderd, kan ook worden opgegeven met behulp van een profielobject:

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

Deze reeks kan ook worden doorgesluisd:

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

Volgende stappen

Traffic Manager-bewaking

Prestatieoverwegingen voor Traffic Manager