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

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

Amazon Elastic Container Service からのマウント

FSx Amazon EC2インスタンスの Amazon Elastic Container Service (Amazon ECS) Docker コンテナから 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 つ以上) を起動する場合や、タスクの有効期間が短い (5 分未満) 場合に、リソースをより適切に使用できるためです。

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

注記

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

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

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

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

この手順は、Amazon に最適化された Amazon Linux ECS2 を対象としています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 コンテナからのマウント

次の手順は、lustre-clientパッケージをインストールし、 FSx for Lustre ファイルシステムをマウントするように Amazon ECSタスクコンテナを設定する方法を示しています。この手順では、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プロパティを使用して for FSx Lustre ファイルシステムをマウントすることを認可するSYS_ADMIN機能を追加します。

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