簡體   English   中英

如何在 AWS ECS 上的 Fargate 服務之間進行通信?

[英]How to communicate between Fargate services on AWS ECS?

我有六個 docker 容器都在自己的任務(6 個任務)中運行,每個任務在 ECS 上的單獨 Fargate 服務(6 個服務)中運行。 我需要服務能夠相互通信,其中一些服務需要公開訪問。 我不斷看到有關使用服務發現或分配給每個服務的負載均衡器的信息。 我想盡量避免設置 6 個負載均衡器,因為它更昂貴且維護起來更費力。

這就是我目前設置服務發現的方式:

  • 所有任務都設置為使用 awsvpc
  • 所有服務都已設置為使用服務發現(在服務創建頁面中設置)
  • 所有服務共享相同的命名空間,並且都使用 DNS 記錄

當我嘗試從 docker 容器之一中 ping <service_discovery_name>.<namespace>時,我沒有得到響應。 但是,在 ping 私有 IP 地址時,我可以成功 ping 另一個容器。

我可以通過服務發現實現我需要做的事情嗎? 如果是這樣,容器之間究竟是如何相互通信的?

多謝了。 如果我沒有提供足夠的信息,請告訴我。

編輯:重新創建服務並使用新的服務發現設置它們似乎可以解決問題。 不知道為什么舊的發現不起作用。

根據評論,問題的確切原因尚未確定 但是,通過在 ECS 中創建新的服務發現解決了該問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM