如何解决一台EC2主机中的两个ECS任务连接
我有2个以EC2启动类型和网桥联网模式运行的ECS服务。每个服务有一个任务,两个任务都在同一EC2容器主机上运行。
在同一ECS主机上,第一个任务中的API容器试图通过主机名和端口号(例如:http:// abc-def:5000)来通信第二个任务中的DB容器。有什么方法可以做到这一点?
解决方法
您的选择是:
-
将所有内容放入单个任务定义中。然后,您可以使用
User
属性来使容器A与容器public interface IUserService { bool IsAdmin<T>(T userId) where T : typeof(User.String) }
进行通信。请注意,link
不支持循环关系,这意味着如果A可以与B对话,那么B也将无法做到这一点。 -
切换到网络模式
B:port
。这样您就可以与link
进行交流。 -
使用Consul或AWS ECS Service Discovery之类的工具进行正确的服务发现。我没有后者的经验。参见here。
-
将您的任务放在ALB后面,并使用此负载平衡器在任务之间进行通信。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。