如何使用ARM模板为Azure容器实例分配静态公网IP并配置DNS映射
Azure容器实例静态IP与DNS配置问题解答
1. 为容器实例分配预先创建的静态公网IP操作步骤
首先确认前置条件满足:
- 你提前创建的静态公网IP和目标容器实例属于同一Azure区域、同一资源组
- 公网IP的SKU为标准层级(ACI不支持基础SKU的公网IP)
操作核心是修改ARM模板的ACI配置段,指定预创建公网IP的资源ID,参考配置片段如下:
{ "type": "Microsoft.ContainerInstance/containerGroups", "apiVersion": "2023-05-01", "name": "<你的容器组名称>", "location": "<区域>", "properties": { "containers": [/* 原有容器配置保持不变 */], "ipAddress": { "type": "Public", "ports": [/* 原有端口配置保持不变 */], "publicIPAddressId": "[resourceId('Microsoft.Network/publicIPAddresses', '<你的静态公网IP名称>')]" }, "osType": "Linux" /* 对应你实际的系统类型 */ } }
注意:现有运行中的容器实例不支持动态更换公网IP,你需要先删除已创建的容器实例,再用修改后的ARM模板重新部署生效。
2. 微软默认FQDN映射到Azure自定义DNS记录集说明
可以实现,有两种常用方案:
- 方案1:在你的Azure DNS自定义区域中添加CNAME记录,将你需要的自定义域名指向微软自动生成的ACI默认FQDN即可
- 方案2:如果你已经配置了静态公网IP,更推荐直接添加A记录,将自定义域名指向你的静态公网IP,解析链路更短,稳定性更高
内容的提问来源于stack exchange,提问作者sub
相关产品推荐
相关产品推荐

