如何為 Amazon ECS 設定動態連接埠映射?

1 分的閱讀內容
0

我想了解如何使用 Application Load Balancer 和目標群組,為 Amazon ECS 設定動態連接埠映射,以便在一個執行個體上執行多個任務副本。

簡短說明

Classic Load Balancer 無法讓您在相同執行個體上執行多個任務副本。使用 Classic Load Balancer 時,必須改用靜態方式映射容器執行個體上的連接埠號碼。然而,Application Load Balancer 使用動態連接埠映射,因此,您可以在相同容器執行個體上執行來自單一服務的多個任務。

**注意:**您也可以使用 Network Load Balancer 進行動態連接埠映射。如需詳細資訊,請參閱 Use a Network Load Balancer for Amazon ECS

解決方法

若要設定動態連接埠映射,請完成下列步驟:

  1. 為 Amazon Elastic Container Service (Amazon ECS) 建立 Application Load Balancer 和目標群組。
    重要事項:建立目標群組時,請展開進階運作狀況檢查設定,以便正確路由運作狀態檢查流量連接埠中,選取流量連接埠

  2. 開啟 Amazon ECS 主控台,然後針對您要建立或更新任務定義,將主機連接埠設定為 0。為您的應用程式設定容器連接埠映射
    **重要事項:**hostawsvpc 網路模式不支援動態主機連接埠映射。

  3. 新增規則,讓流量能從負載平衡器傳入至容器執行個體。安全群組和網路存取控制清單 (network ACL) 必須允許透過暫時連接埠範圍,讓負載平衡器將流量傳入執行個體。
    **注意:**如需暫時連接埠範圍的詳細資訊,請參閱 PortMapping

  4. 開啟 Amazon ECS 主控台,然後設定服務以使用您建立的 Application Load Balancer。
    **重要事項:**建立服務時,您可以變更這些設定,或在現有服務中新增負載平衡器。如果您更新服務任務定義,則在建立服務時指定的容器名稱和容器連接埠必須保留在任務定義中。如需詳細資訊,請參閱 Service load balancing。或者,您可以使用 AWS Command Line Interface (AWS CLI) 更新服務命令,變更設定或新增負載平衡器:

    aws ecs update-service --service <service-name> --cluster <cluster-name> --load-balancers targetGroupArn=<target-group-arn>,containerName=<container-name>,containerPort=<container-port>
  5. 開啟 Amazon Elastic Compute Cloud (Amazon EC2) 主控台,然後完成下列步驟:
    在導覽窗格中,選擇目標群組
    選擇目標群組的超連結名稱。
    檢閱目標索引標籤。您可以在所建立的服務中,察看該任務使用的連接埠。

如果動態連接埠映射設定正確,則您會看到目標群組中已註冊的目標,以及任務的指派連接埠。此外,您還可以在已註冊的目標中看到下列暫時連接埠範圍的任務: 49153-6553532768-61000

相關資訊

什麼是 Elastic Load Balancing?

什麼是 Application Load Balancer?

AWS 官方
AWS 官方已更新 1 年前