Terraform创建Azure流量管理器端点时geo_mappings取值报错求助
解决Azure Traffic Manager Endpoint geo_mappings取值错误问题
问题原因
你使用的Europe、EU、North Europe都不是Azure Traffic Manager支持的geo_mappings有效值,该参数需要使用Azure官方定义的地理区域代码或ISO 3166-1 alpha-2两位国家/地区代码,且对大小写和格式有严格要求。
正确取值获取方法
可以通过Azure CLI命令直接查询所有支持的geo_mappings值:
az network traffic-manager profile list-geographic-locations
执行后会返回所有可用的地理区域(如NorthernEurope、WesternEurope)和国家代码(如DE、FR)。
修正后的示例配置
如果你的端点需要覆盖北欧区域,配置应改为:
resource "azurerm_traffic_manager_azure_endpoint" "se22condary-ae" { name = "se22condary-endpoint" profile_id = azurerm_traffic_manager_profile.tm.id target_resource_id = azurerm_linux_web_app.secondary.id geo_mappings = ["NorthernEurope"] }
如果需要覆盖多个欧洲国家,可使用国家代码组合:
geo_mappings = ["DE", "FR", "UK"]
注意事项
- 地理区域名称采用驼峰命名法(如
EasternAsia而非Eastern Asia),国家代码为大写两位字母。 - 避免使用非官方的聚合名称(如
Europe),这类名称不在支持列表内。
内容的提问来源于stack exchange,提问作者Giacomo Brunetta
相关产品推荐
相关产品推荐

