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