跳至內容

如何為 Fargate 上的 Amazon ECS 任務使用具有彈性 IP 的 Network Load Balancer?

2 分的閱讀內容
0

我想要為 AWS Fargate 上的 Amazon Elastic Container Service (Amazon ECS) 任務使用靜態 IP 位址或彈性 IP。

解決方法

您無法將靜態 IP 位址或彈性 IP 位址指派給 Fargate 任務。若要將靜態 IP 位址與 Fargate 任務搭配使用,請建立具有 Network Load Balancer 的 Fargate 服務,並將彈性 IP 位址附加至負載平衡器。

請根據您的流量需求,選擇以下其中一個選項:

  • 若為傳出流量,請在 Fargate 任務所在的私有子網路上建立 NAT 閘道。NAT 閘道的靜態 IP 位址可用於 IP 允許清單。如需更多資訊,請參閱將 Amazon ECS 應用程式連線到網際網路。
  • 若為傳入流量,請建立具有彈性 IP 位址的 Network Load Balancer,並將其設定為把流量路由到您的 Fargate 任務。請完成以下章節中的步驟。

建立具有目標群組的 Network Load Balancer

  1. 開啟 Amazon Elastic Compute Cloud (Amazon EC2) console (Amazon Elastic Compute Cloud (Amazon EC2) 主控台)。
  2. 在導覽窗格中,於 Load Balancing (負載平衡) 底下,選擇 Load Balancers (負載平衡器)。
  3. 選擇 Create Load Balancer (建立負載平衡器)。
  4. 在 Compare and select load balancer type (比較並選取負載平衡器類型) 中,於 Network Load Balancer 選擇 Create (建立)。
  5. 在 Load balancer name (負載平衡器名稱) 中,輸入您的負載平衡器名稱。
  6. 在 Scheme (配置) 中,選取 Internet-facing (面向網際網路) 或 Internal (內部)。
  7. 在 IP address type (IP 位址類型) 中,選取 IPv4。
  8. 在 Network mapping (網路對應) 區段中,於 VPC,選取您的 Fargate 任務所使用的 Amazon Virtual Private Cloud (Amazon VPC)。
  9. 在 Availability Zones and subnets (可用區域和子網路) 中,為每個可用區域至少選取一個可用區域和一個子網路。
    **注意:**開啟多個可用區域可提高您應用程式的容錯能力。若為面向網際網路的負載平衡器,請為每個可用區域選取一個彈性 IP 位址,為您的負載平衡器提供靜態 IP 位址。若為內部負載平衡器,請從每個子網路的 IPv4 範圍指派一個私有 IP 位址,或讓 AWS 為您指派。
  10. 在 Listeners and routing (接聽程式和路由) 中,保留預設接聽程式,或新增另一個接聽程式。
    **注意:**預設接聽程式會在連接埠 80 接受 TCP 流量。您可以保留預設接聽程式設定、修改接聽程式的通訊協定或連接埠,或選擇 Add listener (新增接聽程式) 來新增另一個接聽程式。
  11. 在 Protocol (通訊協定) 中,選取您的通訊協定。
  12. 在 Port (連接埠) 中,選取您的連接埠。
  13. 在 Forward to target group (轉送到目標群組) 底下,選擇 Create target group (建立目標群組)。
    **注意:**目標群組由 Network Load Balancer 接聽程式規則使用,用來將請求轉送到目標群組。
  14. 在 Target type (目標類型) 中,選取 IP addresses (IP 位址)。
    注意:Fargate 不支援目標類型執行個體。
  15. 在 Target group name (目標群組名稱) 中,輸入您的目標群組名稱。
  16. 在 Health checks (運作狀態檢查) 底下,保留預設設定。
  17. 選擇 Next (下一步)。
    **注意:**負載平衡器會在目標群組內的目標之間分配流量。當目標群組與 Amazon ECS 服務建立關聯時,Amazon ECS 會自動向目標群組註冊及取消註冊任務。因為 Amazon ECS 會處理目標註冊,所以您不需要將目標新增至目標群組。
  18. 選擇 Create target group (建立目標群組)。
  19. 返回 Create Network Load Balancer (建立 Network Load Balancer) 索引標籤。
  20. 在 Listeners and routing (接聽程式和路由) 底下,於 Target group (目標群組),選取您建立的目標群組。
    **注意:**建立新的目標群組後,您必須選取重新整理目標群組按鈕,才能看到該目標群組。
  21. 選擇 Create load balancer (建立負載平衡器)。

使用 Network Load Balancer 建立 Amazon ECS 服務

建立 Amazon ECS 服務,並在服務定義中指定目標群組。當服務的每個任務啟動時,Amazon ECS 會將服務定義中指定的容器和連接埠組合註冊到您的目標群組。接著,負載平衡器會將流量路由到該容器。

相關資訊

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

為 Amazon ECS 使用 Network Load Balancer

Fargate 的 Amazon ECS 任務網路選項

建立 Network Load Balancer

將 Amazon ECS 應用程式連線到網際網路

AWS 官方已更新 9 個月前