選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

將 Docker 的虛擬網路用於 Amazon ECS Linux 任務

焦點模式
將 Docker 的虛擬網路用於 Amazon ECS Linux 任務 - Amazon Elastic Container Service

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

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

僅 Amazon EC2 執行個體上託管的 Amazon ECS 任務支援 bridge 網路模式。

bridge 模式下,您正在使用虛擬網路橋接器,在主機和容器的網路之間建立一個層。如此一來,您就可以建立將主機連接埠重新對應至容器連接埠的連接埠映射。映射可以是靜態或動態模式。

此圖顯示使用橋接網路模式與靜態連接埠映射的網路架構。

透過靜態連接埠映射,您可以明確定義要對應至容器連接埠的主機連接埠。使用上述範例,主機上的 80 連接埠會對應至容器上的連接埠 3000。若要與容器化應用程式通訊,請將流量傳送至 Amazon EC2 執行個體 IP 地址的連接埠 80。從容器化應用程式的角度來看,其可以看到連接埠 3000 上的入站流量。

如果您只想變更流量連接埠,則適用於靜態連接埠映射。但是,這仍然與使用 host 網路模式具有相同的缺點。您不能在每台主機上執行多個任務的執行個體化。這是因為靜態連接埠映射僅允許單一容器對應至連接埠 80。

為了解決這個問題,可以考慮使用具有動態連接埠映射的 bridge 網路模式,如下圖所示。

此圖顯示使用橋接網路模式與動態連接埠映射的網路架構。

透過不在連接埠映射中指定主機連接埠,您可以讓 Docker 從暫時連接埠範圍中選擇一個隨機、未使用的連接埠,並將其指派為容器的公有主機連接埠。例如,在容器上接聽連接埠 3000 的 Node.js 應用程式可能會被指派一個隨機的高編號連接埠,例如在 Amazon EC2 主機上的 47760。這樣做意味著您可以在主機上執行該容器的多個副本。此外,每個容器都可以在主機上指派自己的連接埠。容器的每個副本都會在連接埠 3000 上接收流量。不過,傳送流量至這些容器的用戶端會使用隨機指派的主機連接埠。

Amazon ECS 可協助您追蹤每個任務的隨機指派連接埠。它透過自動更新負載平衡器目標群組 AWS Cloud Map 和服務探索,以取得任務 IP 地址和連接埠的清單來執行此操作。這樣可以更輕鬆地使用透過動態連接埠的 bridge 模式運作的服務。

但是,使用 bridge 網路模式的缺點之一是難以鎖定服務對服務通訊。由於服務可能會指派給任何隨機、未使用的連接埠,因此必須在主機之間開放廣泛的連接埠範圍。然而,建立特定規則以使特定服務只能與另一個特定服務通訊並不容易。這些服務沒有可用於安全群組聯網規則的特定連接埠。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。