[英]Amazon ECS Public Service discovery
我有一个场景,我必须在 AWS ECS 上部署 3 个微服务。 我想让服务能够通过在每个微服务中开发的 API 相互通信。 我想在 AWS ECS 上部署 3 个前端,它们可以公开访问,也可以与部署在 AWS ECS 上的 3 个微服务通信。 每个微服务都有一个前端,所以它需要一个 url。
我已经尝试使用服务的公共 dns 命名空间进行 AWS ECS 服务发现,并通过将所有容器置于私有子网中以启用它们之间的通信。 我有 3 个目标组的应用程序负载均衡器,它在每个端口上侦听。 在启用服务发现的情况下部署应用程序后,在 route 53 hosted zone 我可以看到
app1.example.com。 172.18.27.212
app2.example.com A 172.18.27.200
app3.example.com A 172.18.27.150
这三个都作为 A 记录到由 cloudmap 创建的私有 ip。 我的 3 个服务通过我将在 3 个应用程序的配置文件中定义的 url 相互通信,我将使用浏览器在 3 个应用程序的 GUI 中发送一些后期操作。
使用服务发现机制,当我执行浏览器操作时,url 不会解析为它映射到私有子网中的私有 ip。
对此的任何解决方案将不胜感激!
你说:
我也想在 AWS ECS 上部署 3 个可以公开访问的前端
接着:
通过将所有容器放在私有子网中
你会发现私有子网提供了一项不可公开访问的服务:
当我执行浏览器操作时,url 未解析为映射到私有子网中的私有 ip。
好吧,私有子网确实是私有的:-)
要使前端可公开访问,应将其移动到公共子网,或者您有公共负载均衡器与私有子网中的前端一起工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.