如何在私有子網路中的 Fargate 上執行 Amazon ECS 任務?

1 分的閱讀內容
0

我想在私有子網中的 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 閘道:

  1. 建立 S3 閘道端點
  2. 建立 ECR 介面端點
  3. 如果您的任務使用 Secrets Manager 將秘密插入到任務和 CloudWatch 日誌中,請為 Secrets Manager CloudWatch 日誌建立介面端點。

接著,請依照本文「建立 Amazon ECS 叢集和服務」一節中的指示進行。

使用具有網際網路存取權的私有子網路

建立 NAT 閘道

當您建立 NAT 閘道時,請確定您:

  • 將 NAT 閘道置於公有子網路內。
  • 更新私有子網路的路由表。在「目的地」中,輸入 ** 0.0.0.0/0 **。在「目標」中,選取 NAT 閘道的 ID。

接著,請依照本文「建立 Amazon ECS 叢集和服務」一節中的指示進行。

建立 Amazon ECS 叢集和服務

  1. 使用僅限聯網範本 (採用 Fargate 技術) 建立 Amazon ECS 叢集
  2. 建立 Amazon ECS 服務

當您設定服務的網路時,請確定您:

  1. 選擇您在步驟 1 中為叢集 VPC 建立的叢集。
  2. 根據您先前選擇的方法,選擇您為 VPC 端點設定的私有子網路,或您為 NAT 閘道設定的子網路。

現在,您的新任務將在私有子網中啟動。


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