從 Amazon Elastic Container Service 掛載 - FSx for Lustre

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

從 Amazon Elastic Container Service 掛載

您可以從 Amazon EC2 執行個體上的 Amazon Elastic Container Service (Amazon ECS) Docker 容器存取 FSx for Lustre 檔案系統。您可以使用下列其中一個選項來執行此操作:

  1. 透過從託管 Amazon ECS 任務的 Amazon EC2 執行個體掛載 FSx for Lustre 檔案系統,並將此掛載點匯出到您的容器。

  2. 直接將檔案系統掛載到任務容器內。

如需 Amazon ECS 的詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的什麼是 Amazon Elastic Container Service?

我們建議您使用選項 1 (從託管 Amazon ECS 任務的 Amazon EC2 執行個體掛載),因為它提供了更好的資源使用,特別是如果您在同一個 EC2 執行個體上啟動多個容器 (超過五個),或如果您的任務短暫 (不到 5 分鐘)。

如果您無法設定 EC2 執行個體,或您的應用程式需要容器的彈性,請使用選項 2 (從 Docker 容器掛載)。

注意

不支援在 AWS Fargate 啟動類型上安裝 FSx for Lustre。

下列各節說明從 Amazon ECS 容器掛載 FSx for Lustre 檔案系統的每個選項的程序。

從託管 Amazon ECS 任務的 Amazon EC2 執行個體掛載

此程序說明如何在 EC2 執行個體上設定 Amazon ECS,以本機掛載 FSx for Lustre 檔案系統。程序使用 volumesmountPoints 容器屬性來共用資源,並讓本機執行的任務可存取此檔案系統。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的啟動 Amazon ECS 容器執行個體

此程序適用於 Amazon ECS 最佳化 Amazon Linux 2 AMI。如果您使用的是另一個 Linux 發行版本,請參閱 安裝Lustre用戶端

從 Amazon ECS 將檔案系統掛載到 EC2 執行個體
  1. 啟動 Amazon ECS 執行個體時,無論是手動或使用 Auto Scaling 群組,請在使用者資料欄位結尾新增下列程式碼範例中的行。取代範例中的下列項目:

    • file_system_dns_name 將 取代為實際檔案系統的 DNS 名稱。

    • mountname 將 取代為檔案系統的掛載名稱。

    • mountpoint 將 取代為您需要建立的檔案系統的掛載點。

    #!/bin/bash ...<existing user data>... fsx_dnsname=file_system_dns_name fsx_mountname=mountname fsx_mountpoint=mountpoint amazon-linux-extras install -y lustre mkdir -p "$fsx_mountpoint" mount -t lustre ${fsx_dnsname}@tcp:/${fsx_mountname} ${fsx_mountpoint} -o relatime,flock
  2. 建立 Amazon ECS 任務時,請在 JSON 定義中新增下列 volumesmountPoints 容器屬性。mountpoint 將 取代為檔案系統的掛載點 (例如 /mnt/fsx)。

    { "volumes": [ { "host": { "sourcePath": "mountpoint" }, "name": "Lustre" } ], "mountPoints": [ { "containerPath": "mountpoint", "sourceVolume": "Lustre" } ], }

從 Docker 容器掛載

下列程序說明如何設定 Amazon ECS 任務容器來安裝lustre-client套件,並在其中掛載 FSx for Lustre 檔案系統。此程序使用 Amazon Linux (amazonlinux) Docker 映像,但類似方法可以用於其他分佈。

從 Docker 容器掛載檔案系統
  1. 在 Docker 容器上安裝 lustre-client套件,並使用 command 屬性掛載 FSx for Lustre 檔案系統。取代範例中的下列項目:

    • file_system_dns_name 將 取代為實際檔案系統的 DNS 名稱。

    • mountname 將 取代為檔案系統的掛載名稱。

    • 用檔案系統的掛載點取代 mountpoint

    "command": [ "/bin/sh -c \"amazon-linux-extras install -y lustre; mount -t lustre file_system_dns_name@tcp:/mountname mountpoint -o relatime,flock;\"" ],
  2. 使用 linuxParameters 屬性,將 SYS_ADMIN功能新增至您的容器,以授權其掛載 FSx for Lustre 檔案系統。

    "linuxParameters": { "capabilities": { "add": [ "SYS_ADMIN" ] } }