EC2 的 Amazon ECS 任務網路選項 - Amazon Elastic Container Service

EC2 的 Amazon ECS 任務網路選項

在 Amazon EC2 執行個體上託管的 Amazon ECS 任務聯網行為取決於任務定義中定義的網路模式。建議使用 awsvpc 網路模式,除非您有使用不同網路模式的特定需要。

以下是可用的網路模式。

網路模式 EC2 上的 Linux 容器 EC2 上的 Windows 容器 描述

awsvpc

任務會配置專屬的彈性網路介面 (ENI) 與主要私有 IPv4 位址或 IPv6 位址。這會為任務提供與 Amazon EC2 執行個體相同的聯網屬性。

bridge

任務會使用 Docker 的 Linux 內建虛擬網路,該虛擬網路在託管任務的每個 Amazon EC2 執行個體內執行。Linux 上的內建虛擬網路會使用 bridge Docker 網路驅動程式。如果未在任務定義中指定網路模式,則此為 Linux 上的預設網路模式。

host

任務會使用主機網路,並直接將容器連接埠映射至託管任務的 Amazon EC2 執行個體 ENI,以略過 Docker 的內建虛擬網路。動態連接埠映射無法在此網路模式下使用。任務定義中使用此模式的容器必須指定特定 hostPort 數字。主機上的連接埠號碼無法由多個任務使用。因此,您無法在單一 Amazon EC2 執行個體上執行同一個任務定義的多個任務。

none

任務沒有外部網路連線。

default

任務會使用 Docker 的 Windows 內建虛擬網路,該虛擬網路在託管任務的每個 Amazon EC2 執行個體內執行。Windows 上的內建虛擬網路會使用 nat Docker 網路驅動程式。如果未在任務定義中指定網路模式,則此為 Windows 上的預設網路模式。

如需有關 Linux 上 Docker 網路的詳細資訊,請參閱 Docker Documentation 中的 Networking overview

如需有關 Windows 上 Docker 網路的詳細資訊,請參閱 Microsoft Containers on Windows Documentation 中的 Windows container networking

在純 IPv6 模式下使用 VPC

在純 IPv6 組態中,Amazon ECS 任務只會透過 IPv6 進行通訊。若要為純 IPv6 組態設定 VPC 與子網路,您必須將 IPv6 CIDR 區塊新增至 VPC,並建立僅包含 IPv6 CIDR 區塊的新子網路。如需詳細資訊,請參閱 Amazon VPC User Guide 中的 Add IPv6 support for your VPCCreate a subnet

您還必須更新路由表,加入 IPv6 目標,並在安全群組中設定 IPv6 規則。如需詳細資訊,請參閱 Amazon VPC User Guide 中的 Configure route tablesConfigure security group rules

適用下列注意事項:

  • 您可透過以下兩種方式,將純 IPv4 或雙堆疊的 Amazon ECS 服務升級為純 IPv6 組態:一是直接將服務更新為使用純 IPv6 子網路;二是建立平行的純 IPv6 服務,再透過 Amazon ECS 藍綠部署將流量遷移至新服務。如需有關 Amazon ECS 藍/綠部署的詳細資訊,請參閱 Amazon ECS 藍/綠部署

  • 純 IPv6 的 Amazon ECS 服務必須使用具 IPv6 目標群組的雙堆疊負載平衡器。若要遷移的現有 Amazon ECS 服務後端掛載了 Application Load Balancer 或 Network Load Balancer,可建立新的雙堆疊負載平衡器並將流量從舊負載平衡器遷移過去,或直接更新現有負載平衡器的 IP 位址類型。

    如需有關 Network Load Balancer 的詳細資訊,請參閱 User Guide for Network Load Balancers 中的 Create a Network Load BalancerUpdate the IP address types for your Network Load Balancer。如需有關 Application Load Balancer 的詳細資訊,請參閱 User Guide for Application Load Balancers 中的 Create an Application Load BalancerUpdate the IP address types for your Application Load Balancer

  • Windows 不支援純 IPv6 組態。若要在純 IPv6 組態中執行任務,必須使用 Amazon ECS 最佳化 Linux AMI。如需有關 Amazon ECS 最佳化 AMI 的詳細資訊,請參閱 Amazon ECS 最佳化 Linux AMI

  • 在啟動容器執行個體以在純 IPv6 組態中執行任務時,必須透過 --enable-primary-ipv6 EC2 參數為該執行個體設定一個主要 IPv6 位址。

    注意

    如果沒有主要 IPv6 位址,在容器執行個體上以主機或橋接網路模式執行的任務,將無法向負載平衡器或 AWS Cloud Map 註冊。

    如需有關用於執行 Amazon EC2 執行個體的 --enable-primary-ipv6 的詳細資訊,請參閱 AWS CLI Command Reference 中的 run-instances

    如需有關透過 AWS Management Console啟動容器執行個體的詳細資訊,請參閱 啟動 Amazon ECS Linux 容器執行個體

  • 依預設,Amazon ECS 容器代理程式會透過偵測執行個體的預設 IPv4 與 IPv6 路由,判斷容器執行個體是否相容純 IPv6 組態。若要覆寫此行為,您可以在執行個體的 /etc/ecs/ecs.config 檔案中將 ECS_INSTANCE_IP_COMPATIBILITY 參數設定為 ipv4ipv6

  • 任務必須使用版本 1.99.1 或更新版本的容器代理程式。如需有關如何檢查執行個體使用之代理程式版本以及視需要進行更新的資訊,請參閱更新 Amazon ECS 容器代理程式

  • 若要讓純 IPv6 組態中的 Amazon ECS 任務與純 IPv4 端點通訊,您可以設定 DNS64 與 NAT64,實現從 IPv6 到 IPv4 的網路位址轉換。如需更多詳細資訊,請參閱《Amazon VPC 使用者指南》中的「DNS64 和 NAT64」。

  • 在純 IPv6 組態中,Amazon ECS 工作負載從 Amazon ECR 拉取映像時,必須使用 Amazon ECR 雙堆疊映像 URI 端點。如需詳細資訊,請參閱 Amazon Elastic Container Registry User Guide 中的 Getting started with making requests over IPv6

    注意

    Amazon ECR 不支援可供純 IPv6 組態中任務使用的雙堆疊介面 VPC 端點。如需詳細資訊,請參閱 Amazon Elastic Container Registry User Guide 中的 Getting started with making requests over IPv6

  • 純 IPv6 組態不支援 Amazon ECS Exec。

支援 Amazon ECS 純 IPv6 模式的 AWS 區域

您可以在以下支援 Amazon ECS 的 AWS 區域中,以純 IPv6 組態執行任務:

  • 美國東部 (俄亥俄)

  • 美國東部 (維吉尼亞北部)

  • 美國西部 (加利佛尼亞北部)

  • 美國西部 (奧勒岡)

  • 非洲 (開普敦)

  • 亞太區域 (香港)

  • 亞太區域 (海德拉巴)

  • 亞太區域 (雅加達)

  • 亞太區域 (墨爾本)

  • 亞太區域 (孟買)

  • 亞太區域 (大阪)

  • 亞太區域 (首爾)

  • 亞太區域 (新加坡)

  • 亞太區域 (雪梨)

  • 亞太區域 (東京)

  • 加拿大 (中部)

  • 加拿大西部 (卡加利)

  • 中國 (北京)

  • 中國 (寧夏)

  • 歐洲 (法蘭克福)

  • 歐洲 (倫敦)

  • 歐洲 (米蘭)

  • Europe (Paris)

  • 歐洲 (西班牙)

  • 以色列 (特拉維夫)

  • 中東 (巴林)

  • 中東 (阿拉伯聯合大公國)

  • 南美洲 (聖保羅)

  • AWS GovCloud (US-East)

  • AWS GovCloud (美國西部)