簡體   English   中英

AWS ECS動態端口映射+ nginx + app

[英]AWS ECS dynamic port mapping + nginx + app

我有一個典型的ECS基礎架構,在ALB后面有一個應用程序。 我利用動態主機映射進行CD處理(ECS可以在同一主機上部署新容器而不會發生端口沖突)。

現在我想在它前面添加一個nginx容器(對於從ALB到EC2的SSL)。 問題是,在nginx配置中,我必須使用端口指定應用程序端點。 在動態分配端口的情況下,我無法將此值硬編碼到nginx配置中。 我應該怎么處理這個?

我不認為嘗試到達這個動態端口很有意義......

目前您只有一個nginx服務器正在運行,因此您有一個應用程序負載平衡器,它將端口80上的傳入流量定向到EC2實例,位於與您的Web服務器容器對應的隨機端口。

<ALB domain name>:80 -> <container EC2 instance IP>:<container dynamic port>

但是,如果您的服務正在擴展,您將有兩個容器,在兩個不同的端口上運行,可能在不同的EC2實例上運行。

<ALB domain name>:80 -> <container EC2 instance IP>:<dynamic port>
                     -> <container2 EC2 instance IP>:<another dynamic port>

您的ALB會輪流聯系這些容器中的每個容器。

直接映射到其動態端口上的其中一個容器將繞過它而失去負載均衡器的優勢。

因此,添加SSL的代理必須在端口80上的內部域名(或者您將在Route 53中分配的域名)到達負載均衡器本身。

您可以使用JWilder Nginx代理泊塢窗容器。 這允許您使用可在ECS中配置的環境變量進行動態映射。

暫無
暫無

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

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