

# Amazon ECS での Amazon EBS ボリュームの使用
<a name="ebs-volumes"></a>

Amazon Elastic Block Store (Amazon EBS) ボリュームは、可用性、費用対効果と耐久性に優れた、データ集約型ワークロード向けの高性能ブロックストレージです。Amazon EBS ボリュームは、高スループットなトランザクション集約型アプリケーションの Amazon ECS タスクに使用できます。Amazon EBS ボリュームについて、詳細は「*Amazon EBS ユーザーガイド*」の「[Amazon EBS ボリューム](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html)」を参照してください。

Amazon ECS タスクにアタッチされた Amazon EBS ボリュームは、お客様に代わって Amazon ECS で管理します。スタンドアロンタスクの起動時に、1 つの EBS ボリュームをタスクにアタッチする設定を提供できます。サービスの作成または更新時に、Amazon ECS サービスが管理する各タスクについて、タスクごとに 1 つの EBS ボリュームをアタッチする設定を提供できます。新しい空のボリュームを設定してアタッチすることもできるし、あるいはスナップショットを使用して既存のボリュームからデータをロードすることもできます。

**注記**  
スナップショットを使用してボリュームを設定する場合、MiB/秒単位で `volumeInitializationRate` を指定することで、予測された時間内にスナップショットからデータを取得して完全に初期化されたボリュームを作成できます。ボリュームの初期化の詳細については、「*Amazon EBS ユーザーガイド*」の「[Amazon EBS ボリュームの初期化](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html)」を参照してください。Amazon EBS ボリュームの設定の詳細については、「[ボリューム設定を Amazon ECS のタスク定義の起動時刻まで延期する](specify-ebs-config.md)」と「[Amazon ECS のデプロイ時に Amazon EBS ボリューム設定を指定する](configure-ebs-volume.md)」を参照してください。

ボリューム設定は、タスク定義の `configuredAtLaunch` パラメータを使用して起動時間まで延期できます。タスク定義ではなく起動時にボリューム設定を提供することで、特定のデータボリュームタイプや特定の EBS ボリューム設定に制限されないタスク定義を作成できます。その後、作成したタスク定義をさまざまなランタイム環境で再利用できます。たとえば、本番環境向けワークロードのデプロイ時には、本番前のテスト環境よりも高いスループットを提供できます。

 タスクにアタッチされた Amazon EBS ボリュームは、AWS Key Management Service (AWS KMS) キーで暗号化してデータを保護することができます。詳細については、「[Amazon ECS タスクにアタッチされた Amazon EBS ボリュームに保存されているデータの暗号化](ebs-kms-encryption.md)」を参照してください。

ボリュームのパフォーマンスのモニタリングには、Amazon CloudWatch メトリクスを使用できます。Amazon EBS ボリューム向け Amazon ECS メトリクスの詳細については、「[Amazon ECS CloudWatch メトリクス](available-metrics.md)」および「[Amazon ECS Container Insights メトリクス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics-ECS.html)」を参照してください。

Amazon EBS ボリュームのタスクへのアタッチは、Amazon ECS をサポートするすべての商用および中国 [AWS リージョン](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html?icmpid=docs_homepage_addtlrcs#region)でサポートされています。

## サポートされているオペレーティングシステムと容量
<a name="ebs-volumes-configuration"></a>

次の表は、サポートされているオペレーティングシステムと容量設定を示しています。


| Capacity | Linux  | Server  | 
| --- | --- | --- | 
| Fargate |  Amazon EBS ボリュームは、プラットフォームバージョン 1.4.0 以降 (Linux) でサポートされます。詳細については、「[Amazon ECS 向け Fargate プラットフォームバージョン](platform-fargate.md)」を参照してください。 | サポートされていません | 
| EC2 | Amazon EBS ボリュームは、Amazon ECS 最適化 Amazon マシンイメージ (AMI) を使用した Nitro ベースのインスタンス上でホストされるタスクに対応しています。インスタンスタイプについて、詳細は「Amazon EC2 ユーザーガイド」の「[インスタンスタイプ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)」を参照してください。Amazon EBS ボリュームは、ECS に最適化された AMI `20231219` 以降でサポートされています。詳細については、「[Amazon ECS に最適化された AMI メタデータを取得する](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/retrieve-ecs-optimized_AMI.html)」を参照してください。 | Amazon ECS に最適化された Amazon マシンイメージ (AMI) を使用した Nitro ベースのインスタンスでホストされるタスク。インスタンスタイプについて、詳細は「Amazon EC2 ユーザーガイド」の「[インスタンスタイプ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)」を参照してください。Amazon EBS ボリュームは、ECS に最適化された AMI `20241017` 以降でサポートされています。詳細については、「[Amazon ECS に最適化された Windows AMI メタデータを取得する](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/retrieve-ecs-optimized_windows_AMI.html)」を参照してください。 | 
| Amazon ECS マネージドインスタンス | Amazon EBS ボリュームは、Linux の Amazon ECS マネージドインスタンス上でホストされるタスクに対応しています。 | サポートされていません | 

## 考慮事項
<a name="ebs-volume-considerations"></a>

 Amazon EBS ボリュームを使用する場合には、以下の点を考慮してください。
+ Amazon EBS ボリュームは、 `use1-az3` アベイラビリティーゾーン内の Fargate Amazon ECS タスクへのアタッチメント向けに設定することはできません。
+ マグネティックタイプ (`standard`) の Amazon EBS ボリュームは、Fargate でホストされるタスクではサポートされていません。Amazon EBS ボリュームタイプについて、詳細は「*Amazon EC2 ユーザーガイド*」の「[Amazon EBS ボリューム](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html)」を参照してください。
+ Amazon ECS インフラストラクチャ IAM ロールは、デプロイ時にボリュームを設定するサービスまたはスタンドアロンタスクを作成するときに必要です。AWS マネージド型 `AmazonECSInfrastructureRolePolicyForVolumes` IAM ポリシーをロールにアタッチしてもよいし、あるいはマネージド型ポリシーをガイドとして使用して、所定のニーズを満たすアクセス許可を持つ独自のポリシーを作成してアタッチすることもできます。詳細については、「[Amazon ECS インフラストラクチャ IAM ロール](infrastructure_IAM_role.md)」を参照してください。
+ 各 Amazon ECS タスクには最大 1 つの Amazon EBS ボリュームをアタッチできますが、新しいボリュームである必要があります。既存の Amazon EBS ボリュームをタスクにアタッチすることはできません。ただし、既存のボリュームのスナップショットを使用してデプロイ時に新しい Amazon EBS ボリュームを設定することはできます。
+ Amazon ECS サービスで Amazon EBS ボリュームを使用するには、デプロイコントローラーが `ECS` である必要があります。このデプロイコントローラーを使用する場合、ローリングとブルー/グリーンデプロイ戦略の両方がサポートされます。
+ マウント済みの Amazon EBS ボリュームへタスク内のコンテナが書き込みを行うには、適切なファイルシステムのアクセス許可を所持している必要があります。コンテナ定義で非ルートユーザーを指定すると、Amazon ECS は、指定されたユーザーがボリュームを読み書きできるようにするグループベースのアクセス許可でボリュームを自動的に設定します。ユーザーを指定しない場合、コンテナはルートとして実行され、ボリュームへのフルアクセスを持ちます。
+ Amazon ECS は、アタッチされたボリュームにリザーブドタグ `AmazonECSCreated` および `AmazonECSManaged` を自動で追加します。これらのタグをボリュームから削除すると、Amazon ECS がユーザーに代わってボリュームを管理できなくなりますので注意してください。Amazon EBS ボリュームのタグ付けの詳細については、「[Amazon EBS ボリュームのタグ付け](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specify-ebs-config.html#ebs-volume-tagging)」を参照してください。Amazon ECS リソースへのタグ付けの詳細については、「[Amazon ECS リソースのタグ付け](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html)」を参照してください。
+ パーティションを含む Amazon EBS ボリュームのスナップショットからのボリュームのプロビジョニングはサポートされていません。
+ サービスによって管理されるタスクにアタッチされたボリュームは保存されず、タスクが終了すると必ず削除されます。
+ AWS Outposts で実行される Amazon ECS タスクにアタッチするように Amazon EBS ボリュームを設定することはできません。