[ECS] 需要配置安全组才能通过本地主机进行通信吗?

0

【以下的问题经过翻译处理】 假设我有两个服务(service-a和service-b),其中service-a是一个REPLICA服务,而service-b是一个DAEMON服务。它们在同一个容器实例上。为了使service-a能够通过localhost与service-b通信,我是否需要配置安全组规则来实现?

我知道对于同一任务定义中的两个容器,您不需要这样做,但是我不确定对于同一容器实例中的两个服务是否需要。

profile picture
专家
已提问 5 个月前17 查看次数
1 回答
0

【以下的回答经过翻译处理】 当以桥接/主机/网络模式运行时,它的工作方式与您在本地运行docker-compose up时几乎相同。这意味着,您需要自行处理网络权限(现在,使用代理边车例如envoy可能会有一些注意事项,但我实际上没有测试过)。我使用(并推荐仅使用)awsvpc网络模式(尽管如果您使用ECS Anywhere,它是不适用的)。在这种情况下,尽管您的两个容器在同一台机器上运行,但如果不使用关联的ENI,它们无法相互通信。这是非常安全的,只需要稍微多一点的管理工作。现在,在这两种情况下(awsvpc和其他情况),我建议您不要依赖于localhost来处理所有情况,因为您可能使用DAEMON模式的服务。我建议使用CloudMap进行服务发现:您的服务A和B将在其中注册。无论您使用哪种模式,容器都将在DNS中注册一个SRV记录(这也可以很好地处理潜在的暴露端口更改)。您的服务A将始终能够与服务B通信,并且具有更好的扩展性。这将为您未来扩展和添加更多服务提供便利,因为这是一个简单、可重复和一致的过程。

希望这有帮助

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则