我想在私有子網中的 AWS Fargate 上執行 Amazon Elastic Container Service (Amazon ECS) 任務。
簡短說明
您可以在私有子網路中執行 Fargate 任務。但是,根據您的使用案例,您可能需要網際網路存取權才能執行某些操作,例如從公共存儲庫中提取影像。或者,您可能想要防止任何網際聯存取來執行您的任務。
若要在沒有網際網路存取權的私有子網路中執行 Fargate 工作,請使用 VPC 端點。VPC 端點允許您執行 Fargate 任務,而無需向網際網路授予任務的存取權。您可透過私有 IP 位址存取必要的端點。
如果您需要從私有子網路存取網際網路的任務,請使用 NAT 閘道授予網際網路存取權。您可以透過 NAT 閘道的公有 IP 位址存取必要的端點。
解決方法
建立 VPC
建立具有公有和私有子網路的 Amazon Virtual Private Cloud (Amazon VPC)。
然後,根據您的使用案例,請依照本文「**使用沒有網際網路存取權的私有子網路 (VPC 端點方法)」**或「**使用具有網際網路存取權的私有子網路」**一節中的步驟進行。
使用沒有網際網路存取權的私有子網路 (VPC 端點方法)
建立介面端點和 S3 閘道:
- 建立 S3 閘道端點。
- 建立 ECR 介面端點。
- 如果您的任務使用 Secrets Manager 將秘密插入到任務和 CloudWatch 日誌中,請為 Secrets Manager 和 CloudWatch 日誌建立介面端點。
接著,請依照本文「建立 Amazon ECS 叢集和服務」一節中的指示進行。
使用具有網際網路存取權的私有子網路
建立 NAT 閘道。
當您建立 NAT 閘道時,請確定您:
- 將 NAT 閘道置於公有子網路內。
- 更新私有子網路的路由表。在「目的地」中,輸入 ** 0.0.0.0/0 **。在「目標」中,選取 NAT 閘道的 ID。
接著,請依照本文「建立 Amazon ECS 叢集和服務」一節中的指示進行。
建立 Amazon ECS 叢集和服務
- 使用僅限聯網範本 (採用 Fargate 技術) 建立 Amazon ECS 叢集。
- 建立 Amazon ECS 服務。
當您設定服務的網路時,請確定您:
- 選擇您在步驟 1 中為叢集 VPC 建立的叢集。
- 根據您先前選擇的方法,選擇您為 VPC 端點設定的私有子網路,或您為 NAT 閘道設定的子網路。
現在,您的新任務將在私有子網中啟動。