外部啟動類型的 Amazon ECS 叢集 - Amazon Elastic Container Service

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

外部啟動類型的 Amazon ECS 叢集

Amazon ECS Anywhere 支援將內部部署伺服器或虛擬機器 (VM) 等外部執行個體註冊到您的 Amazon ECS 叢集。外部執行個體已進行優化,可執行產生傳出流量或處理資料的應用程式。如果您的應用程式需要傳入流量,缺乏 Elastic Load Balancing 支援會使這些工作負載的執行效率降低。Amazon ECS 新增了新的EXTERNAL啟動類型,可用於在外部執行個體上建立服務或執行任務。

支援的作業系統和系統架構

以下是支援的作業系統和系統架構清單。

  • Amazon Linux 2

  • Amazon Linux 2023

  • CentOS 7

  • CentOS Stream 9

  • RHEL 7、RHEL 8 — Docker 或 RHEL 的開放式套件儲存庫都不支援在 RHEL 上原生安裝 Docker。您必須先確定已安裝 Docker,然後再執行本文件中所述的安裝指令碼。

  • Fedora 32、Fedora 33、Fedora 40

  • openSUSE Tumbleweed

  • Ubuntu 18、Ubuntu 20、Ubuntu 22、Ubuntu 24

  • Debian 10

    重要

    Debian 9 長期支援 (LTS 支援) 已於 2022 年 6 月 30 日結束,Amazon ECS Anywhere 不再支援。

  • Debian 11

  • Debian 12

  • SUSE Enterprise Server 15

  • 支援 x86_64ARM64 CPU 架構。

  • 支援以下 Windows 作業系統版本:

    • Windows Server 2022

    • Windows Server 2019

    • Windows Server 2016

    • Windows Server 20H2

考量事項

在您開始使用外部執行個體之前,請注意下列考量事項。

  • 您可以一次向一個叢集註冊外部執行個體。如需有關如何向其他叢集註冊外部執行個體的說明,請參閱 取消註冊 Amazon ECS 外部執行個體

  • 您的外部執行個體需要 IAM 角色,允許其與 AWS APIs 通訊。如需詳細資訊,請參閱Amazon ECS Anywhere IAM 角色

  • 您的外部執行個體不應該在本機定義預先設定的執行個體憑證鏈結,因為這會干擾註冊指令碼。

  • 若要將容器日誌傳送至 CloudWatch Logs,請確定您在任務定義中建立並指定任務執行 IAM 角色。

  • 當外部執行個體註冊到叢集時,ecs.capability.external 屬性會與執行個體相關聯。此屬性會將執行個體視為外部執行個體。您可以將自訂屬性新增至外部執行個體,以作為任務置放條件限制。如需詳細資訊,請參閱自訂屬性

  • 您可以將資源標籤新增至外部執行個體。如需詳細資訊,請參閱外部容器執行個體

  • 外部執行個體支援 ECS Exec。如需詳細資訊,請參閱使用 ECS Exec 監控 Amazon ECS 容器

  • 以下是與外部執行個體聯網時特有的其他考量。如需詳細資訊,請參閱聯網

    • 不支援服務負載平衡。

    • 不支援服務探索。

    • 在外部執行個體上執行的任務必須使用 bridgehostnone 網路模式。不支援 awsvpc 網路模式。

    • 每個 AWS 區域都有 Amazon ECS 服務網域。必須允許這些服務網域將流量傳送到您的外部執行個體。

    • 安裝在外部執行個體上的 SSM Agent 會維護 IAM 憑證,這些憑證使用硬體指紋每 30 分鐘輪換一次。如果您的外部執行個體失去與 的連線 AWS,SSM Agent 會在重新建立連線後自動重新整理憑證。如需詳細資訊,請參閱 AWS Systems Manager 使用者指南中的使用硬體指紋驗證內部部署伺服器和虛擬機器

  • 不支援 UpdateContainerAgent API。如需如何在外部執行個體上更新 SSM Agent 或 Amazon ECS 代理程式的指示,請參閱 更新外部執行個體上的 AWS Systems Manager 代理程式和 Amazon ECS 容器代理程式

  • 不支援 Amazon ECS 容量提供者。若要在外部執行個體上建立服務或執行獨立任務,請使用 EXTERNAL 啟動類型。

  • SELinux 不支援。

  • EFSVolumeConfiguration 不支援使用 Amazon EFS 磁碟區或指定 。

  • 不支援與 App Mesh 整合。

  • 如果您使用主控台建立外部執行個體任務定義,則必須使用主控台 JSON 編輯器建立任務定義。

  • 當您在 Windows 上執行 ECS Anywhere 時,您必須在內部部署基礎設施上使用自己的 Windows 授權。

  • 當您使用非 Amazon ECS 最佳化 AMI 時,請在外部容器執行個體上執行下列命令,以設定規則以使用 IAM 角色執行任務。如需詳細資訊,請參閱外部執行個體額外組態

    $ sysctl -w net.ipv4.conf.all.route_localnet=1 $ iptables -t nat -A PREROUTING -p tcp -d 169.254.170.2 --dport 80 -j DNAT --to-destination 127.0.0.1:51679 $ iptables -t nat -A OUTPUT -d 169.254.170.2 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 51679

聯網

Amazon ECS 外部執行個體已針對執行產生傳出流量或處理資料的應用程式進行最佳化。如果您的應用程式需要傳入流量 (例如 Web 服務),則缺少 Elastic Load Balancing 支援會使執行這些工作負載效率降低,因為不支援將這些工作負載置於負載平衡器之後。

以下是與外部執行個體聯網時特有的其他考量。

  • 不支援服務負載平衡。

  • 不支援服務探索。

  • 在外部執行個體上執行的 Linux 任務必須使用 bridgehostnone 網路模式。不支援 awsvpc 網路模式。

    如需每個網路模式的詳細資訊,請參閱 Amazon ECS 最佳實務指南中的選擇網路模式

  • 在外部執行個體上執行的 Windows 任務必須使用 default 網路模式。

  • 每個區域中都有 Amazon ECS 服務網域,必須允許 將流量傳送至外部執行個體。

  • 安裝在外部執行個體上的 SSM Agent 會維護 IAM 憑證,這些憑證使用硬體指紋每 30 分鐘輪換一次。如果您的外部執行個體失去與 的連線 AWS,SSM Agent 會在重新建立連線後自動重新整理憑證。如需詳細資訊,請參閱 AWS Systems Manager 使用者指南中的使用硬體指紋驗證內部部署伺服器和虛擬機器

下列網域用於 Amazon ECS 服務與外部執行個體上安裝的 Amazon ECS 代理程式之間的通訊。確定允許流量,且 DNS 解析度有效。對於每個端點,region 代表 Amazon ECS 支援之區域的區域識別符 AWS ,例如us-east-2美國東部 (俄亥俄) 區域。應允許您使用的所有區域的端點。對於 ecs-aecs-t 端點,應該包含星號 (例如 ecs-a-*)。

  • ecs-a-*.region.amazonaws.com - 管理任務時會使用此端點。

  • ecs-t-*.region.amazonaws.com - 此端點可用來管理任務和容器指標。

  • ecs.region.amazonaws.com — 這是 Amazon ECS 的服務端點。

  • ssm.region.amazonaws.com — 這是 的服務端點 AWS Systems Manager。

  • ec2messages.region.amazonaws.com — 這是 AWS Systems Manager 用於在雲端中在 Systems Manager 代理程式和 Systems Manager 服務之間通訊的服務端點。

  • ssmmessages.region.amazonaws.com — 必須使用這個服務端點建立和刪除連往雲端工作階段管理員服務的工作階段管道。

  • 如果您的任務需要與任何其他 AWS 服務通訊,請確定允許這些服務端點。應用程式範例包括使用 Amazon ECR 提取容器映像或使用 CloudWatch for CloudWatch Logs。如需詳細資訊,請參閱 AWS 一般參考中的服務端點

Amazon FSx for Windows File Server 使用 ECS Anywhere

若要 Amazon FSx for Windows File Server 搭配 Amazon ECS 外部執行個體使用 ,您必須在內部部署資料中心與 之間建立連線 AWS 雲端。如需有關將網路連線至 VPC 的選項的資訊,請參閱 Amazon Virtual Private Cloud Connectivity Options

gMSA 搭配 ECS Anywhere

ECS Anywhere 支援下列使用案例。

  • Active Directory 位於 AWS 雲端 - 對於此組態,您可以使用 連線在內部部署網路與 AWS 雲端 之間建立 AWS Direct Connect 連線。如需有關如何建立連線的資訊,請參閱 Amazon Virtual Private Cloud 連線選項。請在 AWS 雲端建立一個 Active Directory。如需有關如何開始使用的資訊 AWS Directory Service,請參閱 AWS Directory Service 管理指南中的設定 AWS Directory Service。然後,您可以使用 AWS Direct Connect 連線將外部執行個體加入網域。如需使用 gMSA 搭配 Amazon ECS 的相關資訊,請參閱 了解如何使用 Amazon gMSAs 的 ECS for EC2 Windows 容器

  • Active Directory 位於內部部署資料中心。- 對於此組態,您將外部執行個體加入到內部部署 Active Directory。然後在執行 Amazon ECS 任務時,使用本機可用的憑證。