Amazon EFS ボリューム - AWS Batch

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

Amazon EFS ボリューム

Amazon Elastic File System (Amazon EFS) では、シンプルでスケーラブルなファイルストレージを提供します。これは、AWS Batchジョブ。Amazon EFS では、ストレージ容量は伸縮自在です。ファイルの追加および削除時に自動的にスケーリングされます。アプリケーションでは、必要なときに必要なストレージを確保できます。

Amazon EFS ファイルシステムは、AWS Batchコンテナインスタンスのフリート全体のファイルシステムデータをエクスポートします。これにより、ジョブは同じ永続的ストレージにアクセスできます。ただし、Docker デーモンが起動する前に、Amazon EFS ファイルシステムをマウントするように、コンテナインスタンス AMI を設定する必要があります。また、ファイルシステムを使用するには、ジョブ定義でコンテナインスタンスのボリュームマウントを参照する必要があります。以下のセクションでは、Amazon EFS をで使用し始めるのに役立ちます。AWS Batch。

Amazon EFS ボリュームに関する考慮事項

Amazon EFS ボリュームを使用する際には、以下の点を考慮する必要があります。

  • EC2 リソースを使用するジョブの場合、Amazon ECS 最適化 AMI バージョンのパブリックプレビューとして Amazon EFS ファイルシステムのサポートが追加されました。20191212コンテナエージェントバージョン 1.35.0 で。ただし、Amazon EFS ファイルシステムのサポートは、Amazon ECS 最適化 AMI バージョンで一般公開されました20200319Amazon EFS アクセスポイントと IAM 認証機能を含むコンテナエージェントバージョン 1.38.0 を使用します。Amazon ECS 最適化 AMI バージョンを使用することをお勧めします。20200319以降を使用して、これらの機能を利用できます。詳細については、「」を参照してください。Amazon ECS 最適化 AMI バージョン()Amazon Elastic コンテナサービス開発者ガイド

    注記

    独自の AMI を作成する場合、コンテナエージェント 1.38.0 以降を使用する必要があります。ecs-initバージョン 1.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

    Amazon Linux 2

  • Fargate リソースを使用するジョブの場合、プラットフォームバージョン 1.4.0 以降で Amazon EFS ファイルシステムのサポートが追加されました。詳細については、「」を参照してください。AWSFargate プラットフォームバージョン()Amazon Elastic コンテナサービス開発者ガイド

  • Fargate リソースを使用するジョブに Amazon EFS ボリュームを指定すると、Fargate は Amazon EFS ボリュームの管理を担当するスーパーバイザーコンテナを作成します。スーパーバイザーコンテナは、ジョブのメモリを少しだけ使用します。スーパーバイザーコンテナは、タスクメタデータバージョン 4 エンドポイントにクエリを実行するときに表示されます。詳細については、「」を参照してください。タスクメタデータエンドポイントバージョン 4()Amazon Elastic コンテナサービス開発者ガイド

Amazon EFS アクセスポイントの使用

Amazon EFS アクセスポイントは、EFS ファイルシステムへのアプリケーション固有のエントリポイントです。これにより、共有データセットへのアプリケーションアクセスが管理しやすくなります。Amazon EFS アクセスポイントの詳細およびアクセス制御方法については、」Amazon EFS アクセスポイントの使用()Amazon Elastic File System ユーザーガイド

アクセスポイントを使用すると、アクセスポイントを介したすべてのファイルシステム要求に対してユーザー ID (ユーザーの POSIX グループなど) を適用できます。また、ファイルシステムに対して別のルートディレクトリを適用し、このディレクトリまたはそのサブディレクトリ内のデータに対してのみ、クライアントにアクセスを許可することもできます。

注記

EFS アクセスポイントを作成するときは、ルートディレクトリとして機能するファイルシステム上のパスを指定します。アクセスポイント ID を使用して EFS ファイルシステムをAWS Batchジョブ定義の場合、ルートディレクトリは省略するか、/これにより、EFS アクセスポイントに設定されているパスが強制されます。

を使用できます。AWS Batchジョブ IAM ロールを使用して、特定のアプリケーションが特定のアクセスポイントを使用するように設定できます。IAM ポリシーとアクセスポイントを組み合わせると、アプリケーションから特定のデータセットへのアクセスを簡単に保護できます。この機能では、タスク用の Amazon ECS IAM ロールを使用します。詳細については、「」を参照してください。タスク用の IAM ロール()Amazon Elastic コンテナサービス開発者ガイド

ジョブ定義での Amazon EFS ファイルシステムの指定

コンテナに Amazon EFS ファイルシステムボリュームを使用するには、ジョブ定義でボリュームとマウントポイントの設定を指定する必要があります。次のジョブ定義の JSON スニペットは、volumesおよびmountPointsコンテナのオブジェクト:

{ "containerProperties": [ { "name": "container-using-efs", "image": "amazonlinux:2" ], "command": [ "ls", "-la", "/mount/efs" ], "mountPoints": [ { "sourceVolume": "myEfsVolume", "containerPath": "/mount/efs", "readOnly": true } ], "volumes": [ { "name": "myEfsVolume", "efsVolumeConfiguration": { "fileSystemId": "fs-12345678", "rootDirectory": "/path/to/my/data", "transitEncryption": "ENABLED", "transitEncryptionPort": integer, "authorizationConfig": { "accessPointId": "fsap-1234567890abcdef1", "iam": "ENABLED" } } } ] } ] }
efsVolumeConfiguration

タイプ: オブジェクト

: 必須 いいえ

Amazon EFS ボリュームを使用する場合に指定します。

fileSystemId

タイプ: 文字列

: 必須 はい

使用する Amazon EFS ファイルシステムの ID。

rootDirectory

タイプ: 文字列

: 必須 いいえ

ホスト内にルートディレクトリとしてマウントする Amazon EFS ファイルシステム内のディレクトリ。このパラメータを省略すると、Amazon EFS ボリュームのルートが使用されます。/ を指定すると、このパラメータを省略した場合と同じ結果になります。最大 4,096 文字を使用できます。

重要

EFS アクセスポイントが、authorizationConfigに設定する必要があります。ルートディレクトリのパラメータは、省略するか、/。これにより、EFS アクセスポイントに設定されているパスが強制されます。

transitEncryption

タイプ: 文字列

有効な値: ENABLED | DISABLED

: 必須 いいえ

間で転送中の Amazon EFS データの暗号化を有効にするかどうかを指定します。AWS Batchホストと Amazon EFS サーバーを使用します。Amazon EFS IAM 認証を使用する場合は、転送中の暗号化を有効にする必要があります。このパラメータを省略すると、DISABLED のデフォルト値が使用されます。詳細については、「」を参照してください。転送時のデータの暗号化()Amazon Elastic File System ユーザーガイド

transitEncryptionPort

タイプ: 整数

: 必須 いいえ

間で暗号化されたデータを送信するときに使用するポート。AWS Batchホストと Amazon EFS サーバーを使用します。転送中の暗号化ポートを指定しないと、Amazon EFS マウントヘルパーが使用するポート選択方法が使用されます。値は 0 ~ 65,535 の範囲の値にする必要があります。詳細については、「」を参照してください。EFS マウントヘルパー()Amazon Elastic File System ユーザーガイド

authorizationConfig

タイプ: オブジェクト

: 必須 いいえ

Amazon EFS ファイルシステムの認証設定の詳細。

accessPointId

タイプ: 文字列

: 必須 いいえ

使用するアクセスポイント ID。アクセスポイントを指定した場合、ルートディレクトリの値はefsVolumeConfigurationに設定する必要があります。省略するか、/。これにより、EFS アクセスポイントに設定されているパスが強制されます。アクセスポイントを使用する場合は、EFSVolumeConfiguration で転送中の暗号化を有効にする必要があります。詳細については、「」を参照してください。Amazon EFS アクセスポイントの使用()Amazon Elastic File System ユーザーガイド

iam

タイプ: 文字列

有効な値: ENABLED | DISABLED

: 必須 いいえ

使用するかどうかを決定します。AWS BatchAmazon EFS ファイルシステムのマウント時にジョブ定義で定義されるジョブ IAM ロール。使用する場合は、EFSVolumeConfiguration で転送中の暗号化を有効にする必要があります。このパラメータを省略すると、DISABLED のデフォルト値が使用されます。IAM ロールの実行の詳細については、「」を参照してください。AWS BatchIAM ロールの実行