我正在 AWS ECS 中的私有托管区域中使用容器服务发现staging.example.com.
.
现在,在容器旁边,我想将 AWS RDS 数据库映射到db.staging.example.com
。但是,我无法修改 Route53 托管区域,因为 AWS 拒绝我访问,因为该区域是由服务发现管理的
AccessDenied: The resource hostedzone/*** can only be managed through servicediscovery.amazonaws.com (***)
非常感谢任何有关如何完成自定义子域的建议。还有 Cloud Map 和 App Mesh 作为 AWS 服务,在 dns 管理方面具有类似的目标,但我找不到有关我的场景的任何文档。
事实证明,AWS Service Discovery 使用 Cloud Map API 来完成其服务。它通过添加在托管区域中注册容器SRV
条目,指的是A
条目和特定端口。这意味着,您的客户需要了解这些SRV
条目,因为他们不会得到A
执行 DNS 查找时立即条目。例如,Curl 确实不明白SRV entries https://curl.haxx.se/docs/todo.html#SRV_and_URI_DNS_records.
因此,我又重新使用具有自动负载均衡器注册功能的 ECS。然后,ECS 将在之前映射到负载均衡器侦听器的目标组中注册新服务。然后,通过添加一些指向负载均衡器的别名条目,而其他条目(例如db.staging.example.com
条目为 RDS 数据库端点别名。
由于您可以让 ECS 服务在多个目标组中注册自己,因此您还可以使用多个负载均衡器,例如一种用于公共访问,另一种只能在您的 VPC 内访问。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)