管理流量管理器

使用 Azure PowerShell,你可以獲得 Azure Portal 上當前不可用的某些功能,例如:

  • 立即重新配置所有 Traffic Manager 的端點
  • 通過 Azure ResourceId 而不是域名解決其他服務,因此你無需為 Azure 端點手動設定位置

先決條件

首先,你需要登入選擇 RM 訂閱

獲取 TrafficManager 個人資料

通過 PowerShell 對流量管理器的操作分三步完成:

  1. 獲取 TM 配置檔案:
    $profile = Get-AzureRmTrafficManagerProfile -ResourceGroupName my-resource-group -Name my-traffic-manager
    或建立新文章,本文所述
  2. 瀏覽和修改 TM 配置檔案
    檢查 $profile 欄位和 $profile.Endpoints 以檢視每個端點的配置。
  3. 通過 Set-AzureRmTrafficManagerProfile -TrafficManagerProfile $profile 儲存更改。

更改端點

所有當前端點都儲存在 $profile.Endpoints 列表中,因此你可以通過索引
$profile.Endpoints[0].Weight = 100
或名稱
$profile.Endpoints | ?{ $_.Name -eq 'my-endpoint' } | %{ $_.Weight = 100 } 直接更改它們

要清除所有端點,請使用
$profile.Endpoints.Clear()

要刪除特定端點,請使用
Remove-AzureRmTrafficManagerEndpointConfig -TrafficManagerProfile $profile -EndpointName 'my-endpoint'

要新增新端點,請使用
Add-AzureRmTrafficManagerEndpointConfig -TrafficManagerProfile $profile -EndpointName "my-endpoint" -Type AzureEndpoints -TargetResourceId "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.ClassicCompute/domainNames/my-azure-service" -EndpointStatus Enabled -Weight 100

如你所見,在最後一種情況下,我們通過 ResourceId 而不是域名解決了我們的 Azure 服務問題。

記住

在你呼叫 Set-AzureRmTrafficManagerProfile -TrafficManagerProfile $profile 之前,不會應用對 TM 及其端點的更改。這允許你在一次操作中完全重新配置 TM。

流量管理器是 DNS 和 IP 地址的實現,給客戶端有一些生存時間(也就是 TTL,你可以在 $profile.Ttl 欄位中看到它的持續時間,以秒為單位)。因此,在你重新配置 TM 之後,某些客戶端將繼續使用它們快取的舊端點,直到該 TTL 過期。