Amazon ECS 介面 VPC 端點 (AWS PrivateLink) - Amazon Elastic Container Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon ECS 介面 VPC 端點 (AWS PrivateLink)

透過設定 Amazon ECS 以使用介面 VPC 端點,可提升 VPC 的安全狀態。界面端點採用這種技術 AWS PrivateLink,可讓您使用私有 IP 地址私有存取 Amazon ECS API。 AWS PrivateLink 將虛擬私人 VPC 和 Amazon ECS 之間的所有網路流量限制在 Amazon 網路上。您不需要網際網路閘道、NAT 裝置或虛擬私有閘道。

如需 AWS PrivateLink 和 VPC 端點的詳細資訊,請參閱 Amazon VPC 使用者指南中的 VPC 端點

Amazon ECS VPC 端點的考量事項

Fargate 啟動類型的 Amazon ECS VPC 端點的考量事項

在您設定 Amazon ECS 的介面 VPC 端點之前,請注意以下幾點考量:

  • 使用 Fargate 啟動類型的任務不需要 Amazon ECS 的介面虛擬私人雲端節點,但您可能需要 Amazon ECR、Secrets Manager 或 Amazon CloudWatch 日誌的介面 VPC 端點,如以下幾點所述。

    • 若要讓任務從 Amazon ECR 中提取私有映像,請務必為 Amazon ECR 建立介面 VPC 端點。如需詳細資訊,請參閱 《Amazon Elastic Container Registry 使用者指南》中的介面 VPC 端點 (AWS PrivateLink)

      如果 VPC 沒有網際網路閘道,則必須為 Amazon S3 建立閘道端點。如需詳細資訊,請參閱《Amazon Elastic Container Registry 使用者指南》中的建立 Amazon S3 閘道端點。Amazon S3 的介面端點無法與 Amazon ECR 一起使用。

      重要

      如果您設定 Amazon ECR 以使用介面 VPC 端點,您就可以建立包含條件金鑰的任務執行角色,限制存取特定的 VPC 或 VPC 端點。如需詳細資訊,請參閱 Fargate 任務透過介面端點提取 Amazon ECR 映像的選用 IAM 許可

    • 若要讓任務從 Secrets Manager 中提取敏感資料,您必須建立 Secrets Manager 的介面 VPC 端點。如需詳細資訊,請參閱 《AWS Secrets Manager 使用者指南》中的搭配使用 Secrets Manager 與 VPC 端點

    • 如果您的 VPC 沒有網際網路閘道,且您的工作使用記awslogs錄驅動程式將記錄資訊傳送至 CloudWatch 記錄檔,則必須為 CloudWatch 記錄檔建立介面 VPC 端點。如需詳細資訊,請參閱 Amazon CloudWatch 日誌使用指南中的將日 CloudWatch 誌與界面 VPC 端點搭配使用。

  • VPC 端點目前不支援跨區域請求。請確保在計劃對 Amazon ECS 發出 API 呼叫的相同區域中建立端點。例如,假設您想在美國東部 (維吉尼亞北部) 執行任務。那麼,您必須在美國東部 (維吉尼亞北部) 建立 Amazon ECS VPC 端點。在任何其他區域建立的 Amazon ECS VPC 端點無法在美國東部 (維吉尼亞北部) 執行任務。

  • 透過 Amazon Route 53,VPC 端點僅支援 Amazon 提供的 DNS。如果您想要使用自己的 DNS,您可以使用條件式 DNS 轉送。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的 DHCP 選項集

  • 連接到 VPC 端點的安全群組必須允許從 VPC 的私有子網路,透過 TCP 連接埠 443 傳入的連線。

  • Envoy 代理的 Service Connect (服務連接) 管理會使用 com.amazonaws.region.ecs-agent VPC 端點。當您未使用 VPC 端點時,Envoy 代理的 Service Connect (服務連接) 管理會使用該區域中的 ecs-sc 端點。如需每個區域中的 Amazon ECS 端點清單,請參閱 Amazon ECS 端點和配額

EC2 啟動類型的 Amazon ECS VPC 端點的考量事項

在您設定 Amazon ECS 的介面 VPC 端點之前,請注意以下幾點考量:

  • 使用 EC2 啟動類型的任務需要任務啟動所在的容器執行個體,才能執行 1.25.1 版或更新版本的 Amazon ECS 容器代理程式。如需詳細資訊,請參閱 Linux 容器執行個體管理

  • 若要讓任務從 Secrets Manager 中提取敏感資料,您必須建立 Secrets Manager 的介面 VPC 端點。如需詳細資訊,請參閱 《AWS Secrets Manager 使用者指南》中的搭配使用 Secrets Manager 與 VPC 端點

  • 如果您的 VPC 沒有網際網路閘道,且您的工作使用記awslogs錄驅動程式將記錄資訊傳送至 CloudWatch 記錄檔,則必須為 CloudWatch 記錄檔建立介面 VPC 端點。如需詳細資訊,請參閱 Amazon CloudWatch 日誌使用指南中的將日 CloudWatch 誌與界面 VPC 端點搭配使用。

  • VPC 端點目前不支援跨區域請求。請確保在計劃對 Amazon ECS 發出 API 呼叫的相同區域中建立端點。例如,假設您想在美國東部 (維吉尼亞北部) 執行任務。那麼,您必須在美國東部 (維吉尼亞北部) 建立 Amazon ECS VPC 端點。在任何其他區域建立的 Amazon ECS VPC 端點無法在美國東部 (維吉尼亞北部) 執行任務。

  • 透過 Amazon Route 53,VPC 端點僅支援 Amazon 提供的 DNS。如果您想要使用自己的 DNS,您可以使用條件式 DNS 轉送。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的 DHCP 選項集

  • 連接到 VPC 端點的安全群組必須允許從 VPC 的私有子網路,透過 TCP 連接埠 443 傳入的連線。

建立 Amazon ECS 的 VPC 端點

若要為 Amazon ECS 服務建立 VPC 端點,請使用 《Amazon VPC 使用者指南》中的建立介面端點程序,建立下列端點。如果您的 VPC 中有現有的容器執行個體,您應該依照其列出順序建立端點。如果您計劃在建立 VPC 端點後才建立您的容器執行個體,則其順序並不重要。

  • com.amazonaws.region.ecs-agent

  • com.amazonaws.region.ecs-telemetry

  • com.amazonaws.region.ecs

注意

區域 表示 Amazon ECS 支援之 AWS 區域的區域識別符,例如 us-east-2 表示美國東部 (俄亥俄) 區域。

ecs-agent端點會使用 ecs:poll API,且ecs-telemetry端點會使用ecs:pollecs:StartTelemetrySession API。

如果您擁有的現有任務是使用 EC2 啟動類型,在建立 VPC 端點後,每個容器執行個體需要挑選新的組態。若要這麼做,您必須擇一重新啟動每個容器執行個體或重新啟動每個容器執行個體上的 Amazon ECS 容器代理程式。若要重新開機容器代理程式,請執行下列動作:

若要重新啟動 Amazon ECS 容器代理程式
  1. 透過 SSH 登入您的容器執行個體。

  2. 停用容器代理程式。

    sudo docker stop ecs-agent
  3. 啟動容器代理程式。

    sudo docker start ecs-agent

在建立 VPC 端點並重新啟動每個容器執行個體上的 Amazon ECS 容器代理程式後,所有新啟動的任務都會挑選新的組態。

為 Amazon ECS 建立 VPC 端點政策

您可以將端點政策連接至控制 Amazon ECS 存取權的 VPC 端點。此政策會指定下列資訊:

  • 可執行動作的主體。

  • 可執行的動作。

  • 可供執行動作的資源。

如需詳細資訊,請參閱 Amazon VPC 使用者指南中的使用 VPC 端點控制對服務的存取

範例:Amazon ECS 動作的 VPC 端點政策

以下是 Amazon ECS 端點政策的範例。在連接至端點後,此政策會授予存取許可,以允許建立並列出叢集。CreateClusterListClusters 動作不接受任何資源,因此資源定義已針對所有資源設為 *。

{ "Statement":[ { "Effect": "Allow", "Action": [ "ecs:CreateCluster", "ecs:ListClusters" ], "Resource": [ "*" ] } ] }