Amazon Elastic Container Service からのマウント - FSx for Lustre

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Elastic Container Service からのマウント

FSx for Lustre ファイルシステムには、Amazon EC2インスタンスの Amazon Elastic Container Service (Amazon ECS) Docker コンテナからアクセスできます。これを行うには、次のオプションのいずれかを使用します。

  1. FSx Amazon ECSタスクをホストしている Amazon EC2インスタンスから for Lustre ファイルシステムをマウントし、このマウントポイントをコンテナにエクスポートします。

  2. ファイルシステムをタスクコンテナ内に直接マウントする。

Amazon の詳細についてはECS、「Amazon Elastic Container Service デベロッパーガイド」の「Amazon Elastic Container Service とは」を参照してください。

オプション 1 (Amazon ECSタスクをホストする Amazon EC2インスタンスからのマウント) を使用することをお勧めします。これは、特に同じEC2インスタンスで多数のコンテナ (5 つ以上) を起動する場合や、タスクの有効期間が短い (5 分未満) 場合に、リソースの使用率が向上するためです。

EC2 インスタンスを設定できない場合、またはアプリケーションでコンテナの柔軟性が必要な場合は、オプション 2 (Docker コンテナからのマウント) を使用します。

注記

AWS Fargate 起動タイプでの Lustre FSxのマウントはサポートされていません。

以下のセクションでは、Amazon ECSコンテナから FSx for Lustre ファイルシステムをマウントするための各オプションの手順について説明します。

Amazon ECSタスクをホストする Amazon EC2インスタンスからのマウント

この手順では、 for Lustre ファイルシステムをローカルにマウントするように Amazon ECS on FSx EC2インスタンスを設定する方法を示します。この手順では volumes および mountPoints コンテナプロパティを使用して、リソースを共有し、ローカルで実行されているタスクがこのファイルシステムにアクセスできるようにします。詳細については、「Amazon Elastic ECS Container Service デベロッパーガイド」の「Amazon コンテナインスタンスの起動」を参照してください。

この手順は、Amazon ECS最適化 Amazon Linux 2 用ですAMI。別の Linux ディストリビューションを使用している場合は、「 のインストール Lustre クライアント」を参照してください。

Amazon からEC2インスタンスECSにファイルシステムをマウントするには
  1. Amazon ECSインスタンスを手動で起動するか、Auto Scaling グループを使用して起動する場合は、次のコード例の行をユーザーデータフィールドの末尾に追加します。例の項目を以下に置き換えます。

    • を実際のファイルシステムDNSの名前file_system_dns_nameに置き換えます。

    • ファイルシステムのマウント名で 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定義に次の volumesおよび mountPointsコンテナプロパティを追加します。ファイルシステムのマウントポイント (/mnt/fsx など) で mountpoint を置き換えます。

    { "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 ファイルシステムをマウントします。例の項目を以下に置き換えます。

    • を実際のファイルシステムDNSの名前file_system_dns_nameに置き換えます。

    • ファイルシステムのマウント名で 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 コンテナに プロパティを使用して for FSx Lustre ファイルシステムをマウントすることを認可するSYS_ADMIN機能を追加します。

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