外部執行個體的 Amazon ECS 叢集
Amazon ECS Anywhere 支援將外部執行個體 (例如內部部署伺服器或虛擬機器 (VM)) 註冊到 Amazon ECS 叢集。外部執行個體已進行優化,可執行產生傳出流量或處理資料的應用程式。如果您的應用程式需要傳入流量,缺乏 Elastic Load Balancing 支援會使這些工作負載的執行效率降低。Amazon ECS 新增了一個新的 EXTERNAL 啟動類型,可用來在外部執行個體上建立服務或執行任務。
支援的作業系統和系統架構
以下是支援的作業系統和系統架構清單。
-
Amazon Linux 2
-
Amazon Linux 2023
-
CentOS Stream 9
-
RHEL 7、RHEL 8、RHEL 9: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_64和ARM64CPU 架構。 -
支援以下 Windows 作業系統版本:
-
Windows Server 2022
-
Windows Server 2019
-
Windows Server 2016
-
Windows Server 20H2
-
考量事項
在您開始使用外部執行個體之前,請注意下列考量事項。
-
您可以一次向一個叢集註冊外部執行個體。如需有關如何向其他叢集註冊外部執行個體的說明,請參閱 取消註冊 Amazon ECS 外部執行個體。
-
您的外部執行個體需要 IAM 角色,以允許它們與 AWS API 通訊。如需更多詳細資訊,請參閱 Amazon ECS Anywhere IAM 角色。
-
您的外部執行個體不應該在本機定義預先設定的執行個體憑證鏈結,因為這會干擾註冊指令碼。
-
若要將容器日誌傳送至 CloudWatch Logs,請確定您已在任務定義中建立並指定任務執行 IAM 角色。
-
當外部執行個體註冊到叢集時,
ecs.capability.external屬性會與執行個體相關聯。此屬性會將執行個體視為外部執行個體。您可以將自訂屬性新增至外部執行個體,以作為任務置放條件限制。如需更多詳細資訊,請參閱 Custom attributes (自訂屬性)。 -
您可以將資源標籤新增至外部執行個體。如需更多詳細資訊,請參閱 將標籤新增至 Amazon ECS 的外部容器執行個體。
-
外部執行個體支援 ECS Exec。如需更多詳細資訊,請參閱 使用 ECS Exec 監控 Amazon ECS 容器。
-
以下是與外部執行個體聯網時特有的其他考量。如需更多詳細資訊,請參閱 聯網 。
-
不支援服務負載平衡。
-
不支援服務探索。
-
在外部執行個體上執行的任務必須使用
bridge、host或none網路模式。不支援awsvpc網路模式。 -
每個 AWS 區域中有 Amazon ECS 服務網域。必須允許這些服務網域將流量傳送到您的外部執行個體。
-
安裝在外部執行個體上的 SSM Agent 會維護 IAM 憑證,會使用硬體指紋每 30 分鐘輪換這些憑證。如果您的外部執行個體失去與 AWS 的連線,SSM Agent 會在重新建立連線後自動重新整理憑證。如需詳細資訊,請參閱 AWS Systems Manager 使用者指南中的使用硬體指紋驗證內部部署伺服器和虛擬機器。
-
只要執行個體位於純 IPv6 子網路中,即可在採用純 IPv6 組態的外部執行個體上執行 Linux 任務。如需更多詳細資訊,請參閱 在純 IPv6 模式下使用 VPC。
-
-
不支援
UpdateContainerAgentAPI。如需有關如何更新外部執行個體上的 SSM Agent 或 Amazon ECS 代理程式的說明,請參閱 更新外部執行個體上的 AWS Systems Manager 代理程式與 Amazon ECS 容器代理程式。 -
不支援 Amazon ECS 容量提供者。若要在外部執行個體上建立服務或執行獨立任務,請使用
EXTERNAL啟動類型。 -
不支援 SELinux。
-
不支援使用 Amazon EFS 磁碟區或指定
EFSVolumeConfiguration。 -
不支援與 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 任務必須使用
bridge、host或none網路模式。不支援awsvpc網路模式。如需有關每個網路模式的詳細資訊,請參閱 EC2 執行個體的 Amazon ECS 任務網路選項。
-
在外部執行個體上執行的 Windows 任務必須使用
default網路模式。 -
只要執行個體位於純 IPv6 子網路中,即可在採用純 IPv6 組態的外部執行個體上執行 Linux 任務。如需更多詳細資訊,請參閱 在純 IPv6 模式下使用 VPC。
-
每個區域中有 Amazon ECS 服務網域,且必須允許將流量傳送到您的外部執行個體。
-
安裝在外部執行個體上的 SSM Agent 會維護 IAM 憑證,會使用硬體指紋每 30 分鐘輪換這些憑證。如果您的外部執行個體失去與 AWS 的連線,SSM Agent 會在重新建立連線後自動重新整理憑證。如需詳細資訊,請參閱 AWS Systems Manager 使用者指南中的使用硬體指紋驗證內部部署伺服器和虛擬機器。
下列網域用於 Amazon ECS 服務與外部執行個體上安裝的 Amazon ECS 代理程式之間的通訊。請確定允許流量,而且 DNS 解析可以運作。對於每個端點,區域表示 Amazon ECS 支援的 AWS 區域的區域識別符,例如美國東部 (俄亥俄) 區域的 us-east-2。應允許您使用的所有區域的端點。對於 ecs-a 和 ecs-t 端點,應該包含星號 (例如 ecs-a-*)。
-
ecs-a-*.- 管理任務時會使用此端點。region.amazonaws.com -
ecs-t-*.- 此端點可用來管理任務和容器指標。region.amazonaws.com -
ecs.- 這是適用於 Amazon ECS 的服務端點。region.amazonaws.com -
ssm.— 這是適用於 AWS Systems Manager 的服務端點。region.amazonaws.com -
ec2messages.— 這是 AWS Systems Manager 用於在雲端的 Systems Manager 代理程式和 Systems Manager 服務之間進行通訊的服務端點。region.amazonaws.com -
ssmmessages.— 必須使用這個服務端點建立和刪除連往雲端工作階段管理員服務的工作階段管道。region.amazonaws.com -
如果您的任務需要與任何其他 AWS 服務通訊,請確定允許這些服務端點。應用程式範例包括使用 Amazon ECR 來提取容器映像或將 CloudWatch 用於 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 連線能力選項。
gMSA 搭配 ECS Anywhere
支援下列 ECS Anywhere 使用案例。
-
Active Directory 位於 AWS 雲端:對於此組態,您可以使用 AWS Direct Connect 連線在內部部署網路與 AWS 雲端 之間建立連線。如需有關如何建立連線的資訊,請參閱 Amazon Virtual Private Cloud 連線選項。請在 AWS 雲端 建立一個 Active Directory。如需如何開始使用 AWS Directory Service 的相關資訊,請參閱《AWS Directory Service 管理指南》中的設定 AWS Directory Service。然後,您可以使用 AWS Direct Connect 連線將外部執行個體加入至網域。如需搭配 Amazon ECS 使用 gMSA 的詳細資訊,請參閱了解如何在 Amazon ECS 上為 EC2 Windows 容器使用 gMSA。
-
Active Directory 位於內部部署資料中心。- 對於此組態,您將外部執行個體加入到內部部署 Active Directory。然後,您可以在執行 Amazon ECS 任務時使用本機可用的憑證。