我正在尝试避免这笔新费用(公共 IPv4) 在 AWS 中用于小型项目,因为它将占成本的很大一部分。
在我的 ECS 集群中,我使用 EC2 实例作为容量提供者,因此,我遵循本文档让每个新的 EC2 实例都使用 IPV6 而不是 IPV4——这是有效的。
但是这些实例不会加入集群以成为容量提供者,因此服务将无法正常运行。此集群在 IPV4 下运行良好。我在子网中尝试了不同的配置,例如:
- 启动时启用资源名称 DNS A 记录
- 启动时启用资源名称 DNS AAAA 记录
- 主机名类型:资源名称
- 主机名类型:IP 名称
- 启用 DNS64
此外,我的安全组已经支持两种类型 (IPV4 / IPV6) 的入站和出站
我是否遗漏了什么,或者 ECS 不支持此配置(至少对于 EC2 来说)?如果是这样,您对如何降低 IPV4 成本有什么建议吗?例如,我可以使用带有 Fargate 的 ECS 来避免此成本吗?
我知道 Fargate 的成本比 EC2 更高,但也许 EC2 + IPV4 可能比使用 IPV6 的 Fargate 更贵
编辑 2:我可以,ping6 www.google.com
这意味着实例有互联网连接。但是,检查代理日志 (/var/log/ecs/ecs-agent.log) 时,我收到错误:
health check [HEAD http://localhost:51678/v1/metadata] failed with error: Head \"http://localhost:51678/v1/metadata\": dial tcp 127.0.0.1:51678: connect: connection refused" module=healthcheck.go
答案1
我也遇到了同样的问题,出于同样的原因(感谢亚马逊)。
无法添加评论,但想知道它是否与 DNS64 相关,因为 DNS64 需要 NAT 网关。这意味着 AWS 的 ECS API 端点仅为 IPv4。
您是否使用 NAT 网关进行过测试?但是,NAT 网关的成本让这项测试失去了意义。
编辑:看起来是这样的,ECS API 端点没有 AAAA 记录(根据https://repost.aws/questions/QU36yKU_NRQR6aH_IFLcbV5Q/ecs-support-for-ipv6-only)。