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

0

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

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

profile picture
專家
已提問 5 個月前檢視次數 21 次
1 個回答
0

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

希望这有帮助

profile picture
專家
已回答 5 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南