搭配 Amazon ECS 使用 Amazon EFS 磁碟區 - Amazon Elastic Container Service

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

搭配 Amazon ECS 使用 Amazon EFS 磁碟區

Amazon Elastic File System (Amazon EFS) 提供簡單且可擴展的檔案儲存體,可與 Amazon ECS 任務搭配使用。利用 Amazon EFS,儲存容量即可有彈性。儲存容量會隨著您新增和移除檔案時自動擴展和縮減。您的應用程式可在需要時具備所需的儲存容量。

您可以搭配使用 Amazon EFS 檔案系統與 Amazon ECS,來匯出整個容器執行個體之機群的檔案系統資料。如此一來,無論您的任務位於哪個執行個體,都可存取相同的持久性儲存體。您的任務定義也必須參考容器執行個體上所掛載的磁碟區,才可使用檔案系統。

如需教學,請參閱使用主控台為 Amazon ECS 設定 Amazon EFS 檔案系統

考量事項

使用 Amazon EFS 磁碟區時,請考量下列事項:

  • 對於使用 EC2 啟動類型的任務,透過 Amazon ECS 最佳化 AMI 版本 20191212 與容器代理程式 1.35.0 版,Amazon EFS 檔案系統支援被新增為公開預覽。不過,Amazon EFS 檔案系統支援廣泛使用 Amazon ECS 最佳化 AMI 20200319 版與容器代理程式 1.38.0 版,這包含 Amazon EFS 存取點和 IAM 授權功能。建議您使用 Amazon ECS 最佳化 AMI 版本 20200319 或更新版本以使用這些功能。如需詳細資訊,請參閱 Amazon ECS 優化 Linux AMI

    注意

    如果您建立自己的 AMI,則必須使用容器代理程式 1.38.0 或更新版本、ecs-init 1.38.0-1 版或更新版本,並在 Amazon EC2 執行個體上執行下列命令以啟用 Amazon ECS 磁碟區外掛程式。這些命令取決於您是否使用 Amazon Linux 2 或 Amazon Linux 作為基礎映像。

    Amazon Linux 2

    yum install amazon-efs-utils systemctl enable --now amazon-ecs-volume-plugin

    Amazon Linux

    yum install amazon-efs-utils sudo shutdown -r now
  • 對於託管於 Fargate 的任務,平台版本 1.4.0 或更新版本 (Linux) 上支援 Amazon EFS 檔案系統。如需詳細資訊,請參閱 適用於 Amazon ECS 的 Fargate Linux 平台版本

  • 在 Fargate 上託管的任務使用 Amazon EFS 磁碟區時,Fargate 會建立負責管理 Amazon EFS 磁碟區的監督容器。監督容器使用少量的任務記憶體。查詢任務中繼資料第 4 版端點時,可看見監督容器。此外,它在 CloudWatch 容器見解中也會顯示為容器名稱aws-fargate-supervisor。如需使用 Amazon EC2 啟動類型時的詳細資訊,請參閱Amazon ECS 任務中繼資料端點版本 4。如需使用 Fargate 啟動類型時的詳細資訊,請參閱適用於 Fargate 上任務的 Amazon ECS 任務中繼資料端點第 4 版

  • 外部執行個體不支援使用 Amazon EFS 磁碟區或指定 EFSVolumeConfiguration

  • 建議您將代理程式組態檔案中的 ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION 參數,設定為小於預設值 (約 1 小時) 的值。此變更有助於防止 EFS 掛載憑證過期,並允許清除未在使用中的掛載。如需詳細資訊,請參閱Amazon ECS 容器代理程式組態

使用 Amazon EFS 存取點

Amazon EFS 存取點是應用程式特定的 EFS 檔案系統進入點,以管理應用程式存取共用資料集。如需有關 Amazon EFS 存取點及如何控制對它們的存取的詳細資訊,請參閱《Amazon Elastic File System 使用者指南》中的使用 Amazon EFS 存取點

存取點可以針對透過存取點提出的所有檔案系統要求,強制執行使用者身分 (包括使用者的 POSIX 群組)。存取點也可以針對檔案系統強制使用不同的根目錄。如此一來,用戶端只能存取指定目錄或其子目錄中的資料。

注意

建立 EFS 存取點時,您可以在檔案系統上指定要做為根目錄的路徑。在 Amazon ECS 任務定義中使用存取點 ID 參考 EFS 檔案系統時,必須忽略根目錄或將其設定為 /,這會強制執行 EFS 存取點上設定的路徑。

您可以使用 Amazon ECS 任務 IAM 角色,以強制執行特定應用程式使用特定存取點。透過結合 IAM 政策與存取點,您可以為應用程式提供特定資料集的安全存取。如需如何使用任務 IAM 角色的詳細資訊,請參閱Amazon ECS 任務 IAM 角色