View a markdown version of this page

Amazon S3 Files ボリューム - AWS Batch

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

Amazon S3 Files ボリューム

S3 ファイルを使用すると、Amazon Simple Storage Service (Amazon S3) バケットに保存されているデータに直接ファイルシステムにアクセスできます。を使用すると AWS Batch、ジョブ定義で S3 ファイルボリュームを定義して、コンテナが標準のファイルオペレーションを使用して Amazon S3 データを読み書きできるようにします。

S3 Files ボリュームを使用するには、コンピューティング環境と同じ VPC AWS Batch に設定された S3 ファイルシステムとマウントターゲットが必要です。バケット設定、IAM ロール、ファイルシステムの作成、マウントターゲットなどの完全なセットアップ手順については、「Amazon S3 ユーザーガイド」の「S3 Files prerequisites」および「Amazon Elastic Container Service デベロッパーガイド」の「Configuring S3 Files for Amazon ECS」を参照してください。 Amazon S3

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

S3 Files ボリュームを使用する場合は、次の点を考慮してください。

  • 重要

    S3 Files は、現時点では Amazon EC2 起動タイプではサポートされていません。ジョブ定義で S3 ファイルシステムを設定し、Amazon EC2 起動タイプで実行しようとすると、起動時にジョブは失敗します。Amazon EC2 起動タイプのサポートは、今後のリリースが予定されています。

  • S3 Files ボリュームでは、転送暗号化が常に有効になります。オプションで、 transitEncryptionPortパラメータを使用してポートを指定できます。デフォルトのポート番号は 2049 です。

  • ジョブロール (Amazon ECS タスクロールに相当) には、ファイルシステムに対する s3files:ClientMountおよび アクセスs3files:ClientWrite許可が必要です。Amazon S3 からの直接読み取りの場合、ロールにはバケットに対する s3:GetObjects3:GetObjectVersion、および アクセスs3:ListBucket許可も必要です。

  • S3 ファイルシステムのマウントターゲットは、同じ VPC にあり、コンピューティング環境の AWS Batch サブネットから到達可能である必要があります。マウントターゲットセキュリティグループは、コンピューティング環境セキュリティグループからのインバウンド NFS トラフィック (TCP ポート 2049) を許可する必要があります。

Amazon S3 Files アクセスポイントを使用する

S3 Files アクセスポイントは、すべてのファイルシステムリクエストに POSIX ユーザー ID とルートディレクトリを適用する、ファイルシステムへのアプリケーション固有のエントリポイントです。アクセスポイントを使用してテナントを分離できるため、各ジョブは共有ファイルシステム内の独自のディレクトリにのみアクセスできます。

注記

accessPointArn パラメータを使用してアクセスポイントを指定する場合は、 を省略するか、 を に設定rootDirectoryする必要があります/。アクセスポイントは、独自のルートディレクトリパスを適用します。

アクセスポイントの作成と管理の詳細については、「Amazon S3 ユーザーガイド」の「S3 ファイルシステムのアクセスポイントの作成」を参照してください。 Amazon S3 ファイルシステムポリシーを使用してアクセスポイントの分離を適用する方法の詳細については、Amazon S3 ユーザーガイドの「S3 ファイルが IAM と連携する方法」を参照してください。 Amazon S3

ジョブ定義で Amazon S3 ファイルファイルシステムを指定する

コンテナに S3 Files ボリュームを使用するには、ジョブ定義でボリュームとマウントポイントの設定を指定する必要があります。次のジョブ定義の JSON スニペットは、コンテナの [volumes] と [mountPoints] オブジェクトの構文を示します。

{ "ecsProperties": { "taskProperties": [ { ..., "taskRoleArn": "arn:aws:iam::<account>:role/<job-role-name>", "containers": [ { ..., "mountPoints": [ { "sourceVolume": "myS3FilesVolume", "containerPath": "/mnt/s3data", "readOnly": false } ] } ], "volumes": [ { "name": "myS3FilesVolume", "s3filesVolumeConfiguration": { "fileSystemArn": "arn:aws:s3files:<region>:<account>:file-system/<fs-id>", "rootDirectory": "/keypath/in/s3" } } ] } ] } }
s3filesVolumeConfiguration

タイプ: オブジェクト

必須: いいえ

このパラメータは、S3 Files ボリュームを使用するときに指定します。

fileSystemArn

タイプ: 文字列

必須: はい

使用する S3 ファイルシステムの完全な ARN。

rootDirectory

タイプ: 文字列

必須: いいえ

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

重要

S3 Files アクセスポイントが で指定されている場合はaccessPointArn、ルートディレクトリパラメータを省略するか、 に設定する必要があります/。これにより、アクセスポイントに設定されたパスが適用されます。

transitEncryptionPort

タイプ: 整数

必須: いいえ

AWS Batch ホストと S3 Files サーバー間で暗号化されたデータを送信するときに使用するポート。トランジット暗号化ポートを指定しない場合、デフォルト値2049の が使用されます。この値は 0~65,535 の範囲の値にする必要があります。S3 Files ボリュームでは、転送暗号化が常に有効になります。

accessPointArn

タイプ: 文字列

必須: いいえ

使用する S3 Files アクセスポイントの ARN。アクセスポイントを指定する場合は、[s3filesVolumeConfiguration] のルートディレクトリ値を省略するか、これを [/] に設定する必要があります。これにより、アクセスポイントに設定されたパスが適用されます。アクセスポイントは POSIX ユーザー ID を適用し、ファイルシステム内の特定のディレクトリへのアクセスを制限できます。詳細については、「Amazon S3 ユーザーガイド」の「S3 ファイルシステムのアクセスポイントの作成」を参照してください。 Amazon S3

AWS Batch および Amazon EKS で S3 ファイルボリュームを使用する

Amazon EKS リソースを使用するジョブの場合、 は EKS ジョブ定義ボリューム設定の を通じて S3 ファイルボリューム AWS Batch をサポートします。 persistentVolumeClaimジョブ定義で参照する前に、Amazon EKS クラスターで永続ボリュームと永続ボリュームクレームを事前に作成する必要があります。

次のジョブ定義スニペットは、S3 Files 永続ボリュームクレームを参照する方法を示しています。

{ "eksProperties": { "podProperties": { ..., "containers": [ { ..., "volumeMounts": [ { "name": "s3files-vol", "mountPath": "/mnt/s3data" } ] } ], "volumes": [ { "name": "s3files-vol", "persistentVolumeClaim": { "claimName": "<s3files-pvc-name>" } } ] } } }

Amazon EKS で S3 ファイルを設定する方法の詳細については、「Amazon S3 ユーザーガイド」の「Amazon EKS での S3 ファイルシステムのマウント」を参照してください。 Amazon S3 フルボリュームパラメータリファレンスについては、 AWS Batch API リファレンスEksVolume」を参照してください。