我在ECS上有三個容器:web、api和nginx。基本上nginx正在代理流量到web和api容器:
upstream web {
server web-container:3000;
}
上游api {
服務器 api-container:3001;
}
但是每次我重新部署web或api時,它們都會改變其IP,所以我需要在之后重新部署nginx,以使其 "接收 "新的IP。
是否有辦法避免這種情況,所以我可以直接更新比如說api服務,而nginx服務將自動代理到正確的 IP 地址?
uj5u.com熱心網友回復:
我假設這些容器屬于3個不同的任務定義,最終屬于3個不同的任務(或者更好的是3個不同的服務)。
如果是這樣的設定,那么你要為此使用服務發現。這只適用于ECS服務,其原理是,您創建3個不同的服務,每個服務中都有1個以上的任務。你給服務起一個名字(例如:nginx, web, api),其中的每個容器將能夠通過指向fqdn(例如:api.local)來解決其他容器。當你在nginx服務中的容器試圖連接到api.local服務發現將把這個名字決議為ECS服務中的一個任務的IPapi。
如果您想看看這個例子,您可以看看這個演示應用程式,尤其是這個CloudFormation模板
。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/329639.html
標籤:
下一篇:添加到pom的依賴無法解決
