跳至內容

如何在 Amazon EC2 上為 Amazon ECS 任務使用靜態或彈性 IP 位址?

1 分的閱讀內容
0

我想為在 Amazon Elastic Compute Cloud (Amazon EC2) 容器執行個體上執行的 Amazon Elastic Container Service (Amazon ECS) 任務使用靜態或彈性 IP 位址。

解決方法

您無法將靜態或彈性 IP 位址直接新增至 Amazon ECS 任務。

而要採取下列其中一個動作:

  • 對於傳出流量的靜態 IP 位址,請建立 NAT 閘道
    注意: 如果下游使用者需要靜態 IP 位址,則將容器執行個體放置在具有 NAT 閘道的私人子網路中。然後,在 IP 位址允許清單中使用 NAT 閘道 IP 位址。
  • 對於傳入流量的靜態 IP 位址,請使用主機橋接網路模式。然後,將彈性 IP 位址與託管該任務的 Amazon EC2 容器執行個體關聯。

如果您的任務分佈在多個容器執行個體中,請完成下列解決方案,以使用靜態 IP 位址傳入流量。

注意: 以下解決方法適用於使用具有主機橋接awsvpc 網路模式的 Amazon ECS 最佳化 Amazon Linux Amazon Machine Image (AMI) 的任務。

建立目標群組

建立目標群組。在 Choose a target type (選擇目標類型) 中,選擇 Instances (執行個體),在 Protocol (協議) 中,選擇 TCP

重要: 如果您的服務任務定義使用 awsvpc 網路模式,則在 Choose a target type (選擇目標類型) 中選取 IP 位址

設定 Network Load Balancer 以使用您的目標群組

注意: 您負載平衡器的安全群組規則必須允許流量和運作狀態檢查連接埠上,容器執行個體或任務彈性網路介面的傳出流量。規則還必須允許來自接聽程式連接埠上的用戶端傳入流量。如果您設定動態連接埠對應,則安全群組必須允許臨時連接埠 (通常為 32768-65535) 上的傳出流量。

將您的目標群組附加到 Network Load Balancer,並設定以下設定:

  • IP address type (IP 位址類型) 中,選擇 IPv4
  • 如果是 VPC,請選取容器執行個體的虛擬私有雲端 (VPC)。

(選用) 啟用 Network Load Balancer 節點的跨區域負載平衡,以將流量分配到所有可用區中的已註冊目標。

建立 Amazon ECS 服務

建立 Amazon ECS 服務,以在註冊到您叢集的 EC2 執行個體上啟動任務。指定您在服務定義中建立的 Network Load Balancer 和目標群組。

容器執行個體或任務網路介面安全群組必須允許來自流量和運作狀態檢查連接埠上負載平衡器的傳入流量。此外,當您使用動態連接埠對應時,安全群組必須允許來自臨時連接埠範圍內負載平衡器的傳入流量。

當您服務中的任務啟動時,Amazon ECS 會將服務定義中的容器執行個體或 IP 位址和連接埠註冊到您的目標群組。然後,負載平衡器會將流量路由到該容器執行個體或 IP 位址。使用負載平衡器的靜態 IP 位址作為任務的固定入口點。

相關資訊

使用負載平衡分配 Amazon ECS 服務流量

對 Amazon ECS 使用 Network Load Balancer

AWS 官方已更新 1 年前