將 Amazon ECS 應用程式 Connect 到網際網路 - Amazon Elastic Container Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將 Amazon ECS 應用程式 Connect 到網際網路

大多數容器化應用程式都至少有一些需要對外存取網際網路的元件。例如,行動應用程式的後端需要對外存取推送通知。

Amazon 虛擬私有雲有兩種主要方法可促進 VPC 和網際網路之間的通訊。

公共子網和網際網路閘道

顯示連接到互聯網閘道的公共子網的體系結構的圖表。

當您使用具有網際網路閘道路由的公用子網路時,您的容器化應用程式可以在公用子網路上 VPC 內的主機上執行。執行您容器的主機會指派公用 IP 位址。此公用 IP 位址可從網際網路路由。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的網際網路閘道

這種網絡架構有助於運行應用程序的主機和 Internet 上的其他主機之間的直接通信。通信是雙向的。這表示您不僅可以建立與網際網路上任何其他主機的輸出連線,而且網際網路上的其他主機也可能會嘗試連線到您的主機。因此,您應該密切注意您的安全組和防火牆規則。這樣可以確保 Internet 上的其他主機無法打開您不想打開的任何連接。

例如,如果您的應用程式在 Amazon EC2 上執行,請確定未開啟用於 SSH 存取的連接埠 22。否則,您的執行個體可能會持續接收來自網際網路上惡意機器人的 SSH 連線嘗試。這些機器人通過公共 IP 地址進行拖網。找到開放的 SSH 連接埠後,他們會嘗試使用暴力密碼來嘗試存取您的執行個體。因此,許多組織會限制公用子網路的使用,而且偏好在私有子網路中擁有大部分 (如果不是全部) 資源。

使用公用子網路進行網路適用於需要大量頻寬或最小延遲的公用應用程式。適用的使用案例包括視訊串流和遊戲服務。

當您在 Amazon Amazon EC2 上使用 Amazon ECS 以及在上使用時,都支援此聯網方法。 AWS Fargate

  • Amazon EC2 — 您可以在公有子網路上啟動 EC2 執行個體。Amazon ECS 使用這些 EC2 執行個體做為叢集容量,執行個體上執行的任何容器都可以使用主機的基礎公有 IP 地址進行輸出聯網。這適用於hostbridge網路模式。但是,awsvpc網絡模式不提供具有公共 IP 地址的任務 ENI。因此,他們不能直接使用互聯網網關。

  • Fargate — 建立 Amazon ECS 服務時,請為服務的聯網組態指定公用子網路,並使用「指派公用 IP 位址」選項。每個 Fargate 任務都在公共子網中聯網,並擁有自己的公共 IP 地址,用於與互聯網直接通信。

私有子網路和 NAT 閘道

顯示連線至 NAT 閘道之私有子網路架構的圖表。

使用私有子網路和 NAT 閘道時,您可以在私有子網路中的主機上執行容器化應用程式。因此,此主機具有可在您的 VPC 中路由的私有 IP 位址,但無法從網際網路路由。這表示 VPC 內的其他主機可以使用其私有 IP 位址連線到主機,但網際網路上的其他主機無法對主機進行任何輸入通訊。

使用私有子網路時,您可以使用網路位址轉譯 (NAT) 閘道,允許私有子網路內的主機連線到網際網路。網際網路上的主機會收到輸入連線,該連線似乎來自位於公有子網路內之 NAT 閘道的公用 IP 位址。NAT 閘道負責做為網際網路與私有 VPC 之間的橋樑。出於安全原因,通常首選此配置,因為這意味著您的 VPC 受到 Internet 上的攻擊者直接訪問的保護。如需詳細資訊,請參閱 《Amazon VPC 使用者指南》中的 NAT 閘道

這種私有網路方法適用於您想要保護容器免於直接外部存取的案例。適用案例包括付款處理系統或儲存使用者資料和密碼的容器。您將需要為您帳戶中建立及使用的 NAT 閘道支付費用。NAT 閘道的每小時使用量和資料處理速率也適用。基於備援目的,您應該在每個可用區域中都有一個 NAT 閘道。如此一來,單一可用區域的可用性損失就不會影響您的輸出連線。因此,如果您的工作負載很小,使用私有子網路和 NAT 閘道可能會更符合成本效益。

在 Amazon Amazon EC2 上使用 Amazon ECS 以及在上使用時,都支援此聯網方法。 AWS Fargate

  • Amazon EC2 — 您可以在私有子網路上啟動 EC2 執行個體。在這些 EC2 主機上執行的容器使用基礎主機聯網,而輸出請求則透過 NAT 閘道。

  • Fargate — 建立 Amazon ECS 服務時,請為服務的聯網組態指定私有子網路,並且不要使用「指派公用 IP 位址」選項。每個 Fargate 任務都託管在一個私有子網中。其輸出流量會透過您與該私有子網路相關聯的任何 NAT 閘道路由傳送。