管理流量管理器
使用 Azure PowerShell,你可以获得 Azure Portal 上当前不可用的某些功能,例如:
- 立即重新配置所有 Traffic Manager 的端点
- 通过 Azure
ResourceId
而不是域名解决其他服务,因此你无需为 Azure 端点手动设置位置
先决条件
获取 TrafficManager 个人资料
通过 PowerShell 对流量管理器的操作分三步完成:
- 获取 TM 配置文件:
$profile = Get-AzureRmTrafficManagerProfile -ResourceGroupName my-resource-group -Name my-traffic-manager
或创建新文章, 如本文所述 。 - 浏览和修改 TM 配置文件
检查$profile
字段和$profile.Endpoints
以查看每个端点的配置。 - 通过
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 过期。