管理流量管理器

使用 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 过期。