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

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

Amazon Elastic Container Service からのマウント

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

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

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

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

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

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

注記

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

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

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

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

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

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

    • 実際のファイルシステムのシステムの 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 パッケージをインストールし、FSx for Lustre ファイルシステムを command プロパティでマウントします。例の項目を以下に置き換えます。

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

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