

# Amazon ECS の S3 Files の設定
<a name="s3files-volumes"></a>

S3 Files は、任意の AWS コンピューティングリソースを Amazon S3 のデータに直接接続する共有ファイルシステムです。これにより、データが S3 を離れることなく、完全なファイルシステムのセマンティクスと低レイテンシーのパフォーマンスを備えたファイルとして、すべての S3 データにすばやく直接アクセスできます。ファイルおよびディレクトリオペレーションを使用して、データの読み取り、書き込み、整理を行うことができ、S3 Files はファイルシステムと S3 バケットを自動的に同期させたままにします。Amazon ECS を使用すると、S3 ファイルシステムをタスク定義のボリュームとして定義し、S3 バケットに保存されているデータへの直接ファイルシステムアクセスをコンテナに提供できます。Amazon S3 Files とその機能の詳細については、「[Amazon S3 ユーザーガイド](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)」を参照してください。

## 可用性
<a name="s3files-volume-availability"></a>

Amazon ECS での S3 Files のサポートは、一般提供で次の起動タイプで利用できます。
+ **Fargate** — 完全にサポートされています。
+ **Amazon ECS マネージドインスタンス** — 完全にサポートされています。

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

## 考慮事項
<a name="s3files-volume-considerations"></a>
+ S3 ファイルシステムは、タスク定義で専用 `s3filesVolumeConfiguration` パラメータを使用します。
+ S3 ファイルシステムでは、ファイルシステムを識別するために完全な Amazon リソースネーム (ARN) が必要です。ARN 形式は以下です:

  ```
  arn:{{{partition}}}:s3files:{{{region}}}:{{{account-id}}}:file-system/{{fs-xxxxx}}
  ```
+ 転送暗号化が S3 ファイルシステムボリュームでは必須であり、自動的に適用されます。それを無効にするオプションはありません。
+ タスク IAM ロールが S3 ファイルシステムボリュームでは必須であり、自動的に適用されます。それを無効にするオプションはありません。

## 前提条件
<a name="s3files-volume-prerequisites"></a>

Amazon ECS タスク定義で S3 ファイルシステムボリュームを設定する前に、次の前提条件を満たしていることを確認してください:
+ **S3 ファイルシステムとマウントターゲット** — S3 ファイルシステムが作成され、S3 バケットに関連付けられている必要があります。S3 ファイルシステムを作成する手順については、「[Amazon S3 Files ユーザーガイド](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)」を参照してください。
+ **タスク IAM ロール** — タスク定義には、次のアクセス許可を使用するタスク IAM ロールを含める必要があります:
  + アプリケーションコードから S3 ファイルシステムに接続して操作するアクセス許可 (コンテナで実行)。
  + アプリケーションコードから S3 オブジェクトを読み取るアクセス許可 (コンテナで実行)。
+ **VPC とセキュリティグループの設定** — S3 ファイルシステムは、Amazon ECS タスクが実行される VPC とサブネットからアクセス可能である必要があります。
+ **(オプション) S3 Files アクセスポイント** — アプリケーション固有のアクセスコントロールを適用する場合は、S3 Files アクセスポイントを作成し、タスク定義で ARN を指定します。

詳細については、「[S3 Files の前提条件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-files-prereq-policies.html#s3-files-prereq-iam-compute-role)」を参照してください。

## S3 Files ボリューム設定パラメータ
<a name="s3files-volume-parameters"></a>

`s3filesVolumeConfiguration` オブジェクトで利用可能なパラメータは、次の表のとおりです。

`fileSystemArn`  
タイプ: 文字列  
必須: はい  
マウントする S3 ファイルシステムの完全な ARN。形式: `arn:{{{partition}}}:s3files:{{{region}}}:{{{account-id}}}:file-system/{{fs-xxxxx}}`

`rootDirectory`  
タイプ: 文字列  
必須: いいえ  
ボリュームのルートとしてマウントする S3 ファイルシステム内のディレクトリ。指定されない場合のデフォルト値は `/` です。

`transitEncryptionPort`  
タイプ: 整数  
必須: いいえ  
Amazon ECS ホストと S3 ファイルシステムとの間で、暗号化されたデータを送信するために使用するポート。トランジット暗号化自体は、常に有効になっており、無効にすることはできません。

`accessPointArn`  
タイプ: 文字列  
必須: いいえ  
使用する S3 Files アクセスポイントの完全な ARN。アクセスポイントは、適用されたユーザー ID とルートディレクトリ設定を使用して、ファイルシステムへのアプリケーション固有のエントリポイントを提供します。