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

0

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

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

profile picture
EXPERTE
gefragt vor 5 Monaten21 Aufrufe
1 Antwort
0

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

希望这有帮助

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen