如何將靜態或彈性 IP 位址用於 Fargate 上的 Amazon ECS 任務?

1 分的閱讀內容
0

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

簡短描述

您無法將靜態 IP 位址或彈性 IP 位址直接新增至 Fargate 任務。若要將靜態 IP 或彈性 IP 與 Fargate 任務搭配使用,請先建立具有 Network Load Balancer 的 Fargate 服務。然後,將任務的彈性 IP 位址連接至負載平衡器。

選擇下列其中一個選項:

  • 若要為傳入流量的 Fargate 任務建立靜態 IP 位址,請完成「解決方法」部分中的下列步驟。
  • 若要為傳出流量的 Fargate 任務建立靜態 IP 位址,請建立 NAT 閘道。在此案例中,下游取用者需要靜態 IP 位址。您必須將 Fargate 任務放在私有子網路上。您可以將 NAT 閘道 IP 位址用於 IP 允許清單。

解決方法

建立網路負載平衡器,然後為目標群組設定路由

  1. 開啟 Amazon EC2 主控台
  2. 在導覽窗格的負載平衡下,選擇負載平衡器
  3. 選擇建立負載平衡器
  4. 選取負載平衡器類型頁面上,為 Network Load Balancer 選擇建立
  5. 建立 Network Load Balancer 頁面上,對於負載平衡器名稱,輸入負載平衡器的名稱。
  6. 對於方案,選取面向網際網路內部
  7. 對於 IP 位址類型,選取 IPv4
  8. 網路映射區段中,對於 VPC,為您的 Fargate 任務選取 Amazon Virtual Private Cloud (Amazon VPC)。
  9. 對於映射,為每個可用區域至少選取一個可用區域和一個子網路。
    **注意:**開啟多個可用區域可提高應用程式的容錯能力。對於面向網際網路的負載平衡器,為每個可用區域選取彈性 IP 位址。這會為您的負載平衡器提供靜態 IP 位址。或者,對於內部負載平衡器,從每個子網路的 IPv4 範圍內指派一個私有 IP 位址,而不是讓 AWS 為您指派一個 IP 位址。
  10. 接聽程式路由區段中,保留預設接聽程式或新增其他接聽程式。
    注意:預設接聽程式接受連接埠 80 上的 TCP 流量。您可以保留預設接聽程式設定,修改接聽程式的協定或連接埠,或選擇新增接聽程式來新增其他接聽程式。
  11. 對於協定,選取您的協定。
  12. 對於連接埠,選取您的連接埠。
  13. 預設動作下,選擇建立目標群組
    **注意:**Network Load Balancer 接聽程式規則使用目標群組將請求轉送至目標群組。
  14. 指定群組詳細資訊頁面上,對於選擇目標類型,選取 IP 位址
    注意:Fargate 不支援目標類型執行個體
  15. 對於目標群組名稱,輸入您的目標群組名稱。
  16. 運作狀態檢查區段中,保留預設設定。
  17. 選擇下一步
    **注意:**負載平衡器在目標群組內的目標之間分配流量。在目標群組與 Amazon ECS 服務關聯時,Amazon ECS 會自動向目標群組註冊和取消註冊容器。由於 Amazon ECS 處理目標註冊,因此您不需要將目標新增至目標群組。
  18. 註冊目標頁面上,選擇建立目標群組
  19. 導覽至建立 Network Load Balancer 頁面。
  20. 接聽程式和路由區段中,對於轉送至,選取您建立的目標群組。
    注意: 您必須選取重新載入按鈕,才能在建立新目標群組後查看該目標群組。
  21. 選擇建立負載平衡器

建立 Amazon ECS 服務

建立 Amazon ECS 服務。建立服務時,請務必在服務定義中指定目標群組。

在啟動服務的每個任務時,服務定義中指定的容器和連接埠組合將在目標群組中註冊。然後,流量將從負載平衡器路由至該容器。


相關資訊

服務負載平衡

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