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

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

搭配 Amazon 使用 Amazon EFS磁碟區 ECS

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

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

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

考量事項

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

  • 對於使用 EC2啟動類型的任務,Amazon EFS 檔案系統支援已新增為使用容器20191212代理AMI程式 1.35.0 的 Amazon ECS最佳化版本的公開預覽。不過,Amazon EFS 檔案系統支援使用容器代理AMI程式 1.38.0 版20200319的 Amazon ECS最佳化版本輸入一般可用性,其中包含 Amazon EFS存取點和IAM授權功能。我們建議您使用 Amazon ECS最佳化AMI版本 20200319 或更新版本來使用這些功能。如需詳細資訊,請參閱Amazon ECS最佳化 Linux AMIs

    注意

    如果您建立自己的 AMI,則必須使用容器代理程式 1.38.0 或更新版本 1ecs-init.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 的 Fargate 平台版本 ECS

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

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

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

使用 Amazon EFS存取點

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

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

注意

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

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