

# 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 ボリュームを設定することはできません。

# 非ルートユーザー動作
<a name="ebs-non-root-behavior"></a>

コンテナ定義で非ルートユーザーを指定すると、Amazon ECS は、指定されたユーザーがボリュームを読み書きできるようにするグループベースのアクセス許可で Amazon EBS ボリュームを自動的に設定します。ボリュームは、次の特性でマウントされます。
+ ボリュームは、ルートユーザーとルートグループによって所有されます。
+ グループのアクセス許可は、読み取りおよび書き込みアクセスを許可するように設定されています。
+ 非ルートユーザーは、ボリュームにアクセスするために適切なグループに追加されます。

非ルートコンテナで Amazon EBS ボリュームを使用する場合は、次のベストプラクティスに従ってください。
+ 安全なアクセス許可を保証するために、コンテナイメージ全体で使用するユーザー ID (UID) とグループ ID (GID) を統一してください。
+ コンテナイメージにマウントポイントディレクトリを事前作成することで、適切な所有権とアクセス許可を設定します。
+ 開発環境で Amazon EBS ボリュームを使用してコンテナをテストし、ファイルシステムのアクセス許可が期待どおりに機能することを確認します。
+ 同じタスク内の複数のコンテナがボリュームを共有する場合は、互換性のある UID/GID を使用するか、一貫したアクセス期待に従ってボリュームをマウントしてください。

# ボリューム設定を Amazon ECS のタスク定義の起動時刻まで延期する
<a name="specify-ebs-config"></a>

Amazon EBS ボリュームを設定してタスクにアタッチするには、タスク定義でマウントポイント設定を指定して、ボリュームに名前を付ける必要があります。また、Amazon EBS ボリュームはタスク定義内でアタッチするようには設定ができないため、`configuredAtLaunch` を `true` に設定する必要があります。そのため、Amazon EBS ボリュームはデプロイ時にアタッチするように設定します。

AWS Command Line Interface (AWS CLI) を使用してタスク定義を登録するには、テンプレートを JSON ファイルとして保存し、そのファイルを `[register-task-definition](https://docs.aws.amazon.com/cli/latest/reference/ecs/register-task-definition.html)` コマンドの入力として渡します。

AWS マネジメントコンソールを使用してタスク定義を作成および登録するには、「[コンソールを使用した Amazon ECS タスク定義の作成](create-task-definition.md)」を参照してください。

以下のタスク定義に、タスク定義内の `mountPoints` および `volumes` オブジェクト用構文を示します。タスク定義パラメータの詳細については、「[Fargate での Amazon ECS タスク定義パラメータ](task_definition_parameters.md)」を参照してください。この例を実行するには、`user input placeholders` をユーザー自身の情報に置き換えます。

## Linux
<a name="linux-example"></a>

```
{
    "family": "mytaskdef",
    "containerDefinitions": [
        {
            "name": "nginx",
            "image": "public.ecr.aws/nginx/nginx:latest",
            "networkMode": "awsvpc",
           "portMappings": [
                {
                    "name": "nginx-80-tcp",
                    "containerPort": 80,
                    "hostPort": 80,
                    "protocol": "tcp",
                    "appProtocol": "http"
                }
            ],
            "mountPoints": [
                {
                    "sourceVolume": "myEBSVolume",
                    "containerPath": "/mount/ebs",
                    "readOnly": true
                }
            ]
        }
    ],
    "volumes": [
        {
            "name": "myEBSVolume",
            "configuredAtLaunch": true
        }
    ],
    "requiresCompatibilities": [
        "FARGATE", "EC2"
    ],
    "cpu": "1024",
    "memory": "3072",
    "networkMode": "awsvpc"
}
```

## Server
<a name="windows-example"></a>

```
{
    "family": "mytaskdef",
     "memory": "4096",
     "cpu": "2048",
    "family": "windows-simple-iis-2019-core",
    "executionRoleArn": "arn:aws:iam::012345678910:role/ecsTaskExecutionRole",
    "runtimePlatform": {"operatingSystemFamily": "WINDOWS_SERVER_2019_CORE"},
    "requiresCompatibilities": ["EC2"]
    "containerDefinitions": [
        {
             "command": ["New-Item -Path C:\\inetpub\\wwwroot\\index.html -Type file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p>'; C:\\ServiceMonitor.exe w3svc"],
            "entryPoint": [
                "powershell",
                "-Command"
            ],
            "essential": true,
            "cpu": 2048,
            "memory": 4096,
            "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019",
            "name": "sample_windows_app",
            "portMappings": [
                {
                    "hostPort": 443,
                    "containerPort": 80,
                    "protocol": "tcp"
                }
            ],
            "mountPoints": [
                {
                    "sourceVolume": "myEBSVolume",
                    "containerPath": "drive:\ebs",
                    "readOnly": true
                }
            ]
        }
    ],
    "volumes": [
        {
            "name": "myEBSVolume",
            "configuredAtLaunch": true
        }
    ],
    "requiresCompatibilities": [
        "FARGATE", "EC2"
    ],
    "cpu": "1024",
    "memory": "3072",
    "networkMode": "awsvpc"
}
```

`mountPoints`  
タイプ: オブジェクト配列  
必須: いいえ  
コンテナでのデータボリュームのマウントポイント。このパラメータは creat-container Docker API の `Volumes` にマッピングされ、docker run の `--volume` オプションにマッピングされます。  
Windows コンテナは `$env:ProgramData` と同じドライブに全部のディレクトリをマウントできます。Windows コンテナは、別のドライブにディレクトリをマウントすることはできません。また、マウントポイントは複数のドライブにまたがることはできません。Amazon EBS ボリュームを Amazon ECS タスクに直接アタッチするには、マウントポイントを指定する必要があります。    
`sourceVolume`  
タイプ: 文字列  
必須: はい (`mountPoints` を使用する場合)  
マウントするボリュームの名前。  
`containerPath`  
タイプ: 文字列  
必須: はい (`mountPoints` を使用する場合)  
ボリュームをマウントするコンテナ内のパス。  
`readOnly`  
タイプ: ブール値  
必須: いいえ  
この値が `true` の場合、コンテナはボリュームへの読み取り専用アクセスを許可されます。この値が `false` の場合、コンテナはボリュームに書き込むことができます。デフォルト値は `false` です。  
Windows オペレーティングシステムを実行している EC2 インスタンスで実行されるタスクの場合、 値をデフォルト の `false` のままにします。

`name`  
タイプ: 文字列  
必須: いいえ  
ボリュームの名前。最大 255 文字の英字 (大文字と小文字の区別あり)、数字、ハイフン (`-`)、アンダースコア (`_`) を使用できます。この名前は、コンテナ定義 `mountPoints` オブジェクトの `sourceVolume` パラメータで参照されます。

`configuredAtLaunch`  
タイプ: ブール値  
必須: はい。EBS ボリュームをタスクに直接アタッチしたい場合には必須です。  
起動時にボリュームを設定可能にするかどうかを指定します。`true` に設定すると、スタンドアロンタスクを実行するとき、またはサービスを作成または更新するときにボリュームを設定できます。`false` に設定すると、タスク定義内で別のボリューム設定を提供することはできません。タスクにアタッチする Amazon EBS ボリュームを設定するには、このパラメータを `true` に設定する必要があります。

# Amazon ECS タスクにアタッチされた Amazon EBS ボリュームに保存されているデータの暗号化
<a name="ebs-kms-encryption"></a>

AWS Key Management Service (AWS KMS) を使用して、データを保護する暗号化キーを作成および管理できます。Amazon EBS ボリュームは、保管時には AWS KMS keys を使用して暗号化されます。以下の種類のデータが暗号化されます。
+ ボリュームに保管されているデータ
+ ディスク I/O
+ ボリュームから作成されるスナップショット
+ 暗号化されたスナップショットから作成された新しいボリューム

タスクにアタッチされている Amazon EBS ボリュームは、エイリアス `alias/aws/ebs` の付いたデフォルトのAWS マネージドキー か、もしくはボリューム設定に指定されているカスタマーマネージド対称キーを使用して暗号化できます。デフォルトの AWS マネージドキー はそれぞれの AWS リージョン ごとの AWS アカウント に対して固有で、自動的に作成されます。カスタマーマネージド型の対称キーを作成するには、「*AWS KMS デベロッパーガイド*」の「[対称暗号化 KMS キーを作成する](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)」に記載の手順に従ってください。

Amazon EBS 暗号化をデフォルトで設定できます。これにより、特定の AWS リージョン 内のタスクにアタッチされた新しいボリュームはすべて、アカウントに設定した KMS キーを使用して暗号化されます。Amazon EBS の暗号化およびデフォルトの暗号化の詳細については、「*Amazon EBS ユーザーガイド*」の「[Amazon EBS の暗号化](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html)」を参照してください。

## Amazon ECS マネージドインスタンスの動作
<a name="managed-instances"></a>

デフォルトで暗号化を有効にするか、暗号化したいボリュームの作成時に都度有効化することで、Amazon EBS ボリュームを暗号化することが可能です。(アカウントレベルで) デフォルトでの暗号化を有効にする方法について、詳細は「*Amazon EBS ユーザーガイド*」の「[暗号化をデフォルトで有効にする](https://docs.aws.amazon.com/ebs/latest/userguide/encryption-by-default.html)」を参照してください。

これらのキーは任意の組み合わせで設定できます。KMS キーの優先順位は次のとおりです。

1. ボリューム設定で指定された KMS キー。ボリューム設定で KMS キーを指定すると、Amazon EBS のデフォルトとアカウントレベルで指定した KMS キーがオーバーライドされます。

1. アカウントレベルで指定された KMS キー。Amazon ECS マネージドストレージのクラスターレベルの暗号化に KMS キーを指定すると、Amazon EBS のデフォルトの暗号化はオーバーライドされますが、ボリューム設定に指定した KMS キーはオーバーライドされません。

1. Amazon EBS のデフォルトの暗号化。デフォルトの暗号化は、アカウントレベルの KMS キーまたはボリューム設定でキーを指定しない場合に適用されます。Amazon EBS 暗号化をデフォルトで有効にすると、デフォルトの暗号化用に指定した KMS キーがデフォルトになります。それ以外の場合、デフォルトはエイリアス `alias/aws/ebs` の AWS マネージドキー になります。
**注記**  
`encrypted` をボリューム設定の `false` に設定し、アカウントレベルの KMS キーを指定せずにデフォトで Amazon EBS 暗号化を有効にすると、そのボリュームはデフォルトで Amazon EBS 暗号化に指定されたキーで暗号化されます。

## Amazon ECS 以外のマネージドインスタンスの動作
<a name="non-managed-instances"></a>

クラスターを作成または更新する時に、Amazon ECS マネージドストレージの Amazon ECS クラスターレベルの暗号化を設定することもできます。クラスターレベルの暗号化はタスクレベルで適用され、指定された KMS キーを使用することで、特定のクラスター上で実行する各タスクにアタッチされた Amazon EBS ボリュームの暗号化を行うことができます。各タスクに対するクラスターレベルでの暗号化設定について、詳細は「*Amazon ECS API リファレンス*」の「[マネージドストレージ設定](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ManagedStorageConfiguration.html)」を参照してください。

これらのキーは任意の組み合わせで設定できます。KMS キーの優先順位は次のとおりです。

1. ボリューム設定で指定された KMS キー。ボリューム設定で KMS キーを指定すると、Amazon EBS のデフォルトとクラスターレベルで指定した KMS キーがオーバーライドされます。

1. クラスターレベルで指定された KMS キー。Amazon ECS マネージドストレージのクラスターレベルの暗号化に KMS キーを指定すると、Amazon EBS のデフォルトの暗号化はオーバーライドされますが、ボリューム設定に指定した KMS キーはオーバーライドされません。

1. Amazon EBS のデフォルトの暗号化。デフォルトの暗号化は、クラスターレベルの KMS キーまたはボリューム設定でキーを指定しない場合に適用されます。Amazon EBS 暗号化をデフォルトで有効にすると、デフォルトの暗号化用に指定した KMS キーがデフォルトになります。それ以外の場合、デフォルトはエイリアス `alias/aws/ebs` の AWS マネージドキー になります。
**注記**  
`encrypted` を ボリューム設定 の `false` に設定し、クラスターレベルの KMS キーを指定せずにデフォトで Amazon EBS 暗号化を有効にすると、そのボリュームはデフォルトで Amazon EBS 暗号化に指定されたキーで暗号化されます。

## カスタマーマネージド型 KMS キーのポリシー
<a name="ebs-kms-encryption-policy"></a>

カスタマーマネージド型キーを使用してタスクにアタッチされている EBS ボリュームを暗号化するには、KMS キーポリシーを設定して、ボリューム設定に使用する IAM ロールにキーの使用に必要な権限を付与する必要があります。キーポリシーには、`kms:CreateGrant` と `kms:GenerateDataKey*` 両方のアクセス許可を含める必要があります。スナップショットを使用して作成されたボリュームを暗号化するには、`kms:ReEncryptTo` および `kms:ReEncryptFrom` のアクセス許可が必要です。アタッチする新しい空のボリュームのみを設定して暗号化する場合は、`kms:ReEncryptTo` および `kms:ReEncryptFrom` のアクセス許可は除外できます。

以下の JSON スニペットは、KMS キーポリシーにアタッチするキーポリシーステートメントを示します。これらのステートメントにより、Amazon ECS がキーを使用して EBS ボリュームを暗号化できるようになります。ここに挙げたポリシーステートメントを実行するには、`user input placeholders` をユーザー自身の情報に置き換えます。他の場合と同様に、必要な権限のみを設定してください。

```
{
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" },
      "Action": "kms:DescribeKey",
      "Resource":"*"
    },
    {
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" },
      "Action": [
      "kms:GenerateDataKey*",
      "kms:ReEncryptTo",
      "kms:ReEncryptFrom"
      ],
      "Resource":"*",
      "Condition": {
        "StringEquals": {
          "kms:CallerAccount": "aws_account_id",
          "kms:ViaService": "ec2.region.amazonaws.com"
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": "aws:ebs:id"
        }
      }
    },
    {
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" },
      "Action": "kms:CreateGrant",
      "Resource":"*",
      "Condition": {
        "StringEquals": {
          "kms:CallerAccount": "aws_account_id",
          "kms:ViaService": "ec2.region.amazonaws.com"
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": "aws:ebs:id"
        },
        "Bool": {
          "kms:GrantIsForAWSResource": true
        }
      }
    }
```

キーポリシーとアクセス許可について、詳しくは「*AWS KMS デベロッパーガイド*」の「[AWS KMS のキーポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)」および「[AWS KMS のアクセス許可](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html)」を参照してください。キーのアクセス許可に関連する EBS ボリュームアタッチメントのトラブルシューティングについては、「[Amazon ECS タスクへの Amazon EBS ボリュームのアタッチに関するトラブルシューティング](troubleshoot-ebs-volumes.md)」を参照してください。

# Amazon ECS のデプロイ時に Amazon EBS ボリューム設定を指定する
<a name="configure-ebs-volume"></a>

`configuredAtLaunch` パラメータを `true` に設定してタスク定義を登録すると、デプロイ時にスタンドアロンタスクを実行するとき、またはサービスを作成または更新するときに Amazon EBS ボリュームを設定できます。`configuredAtLaunch` パラメータを使用してボリューム設定を起動時間まで延長する方法について、詳細は「[ボリューム設定を Amazon ECS のタスク定義の起動時刻まで延期する](specify-ebs-config.md)」を参照してください。

ボリュームを設定するには、Amazon ECS API を使用するか、あるいは次の AWS CLI コマンドの入力として JSON ファイルを渡します。
+ スタンドアロン ECS タスクを実行するための `[run-task](https://docs.aws.amazon.com/cli/latest/reference/ecs/run-task.html)`。
+ 特定のコンテナインスタンスでスタンドアロン ECS タスクを実行するための `[start-task](https://docs.aws.amazon.com/cli/latest/reference/ecs/start-task.html)`。このコマンドは Fargate のタスクには適用されません。
+ 新しい ECS サービスを作成するための `[create-service](https://docs.aws.amazon.com/cli/latest/reference/ecs/create-service.html)`。
+ 既存のサービスを更新するための `[update-service](https://docs.aws.amazon.com/cli/latest/reference/ecs/update-service.html)`。

**注記**  
マウント済みの Amazon EBS ボリュームへタスク内のコンテナが書き込みを行うには、適切なファイルシステムのアクセス許可を所持している必要があります。コンテナ定義で非ルートユーザーを指定すると、Amazon ECS は、指定されたユーザーがボリュームを読み書きできるようにするグループベースのアクセス許可でボリュームを自動的に設定します。ユーザーを指定しない場合、コンテナはルートとして実行され、ボリュームへのフルアクセスを持ちます。

 あるいは、AWS マネジメントコンソール を使用して Amazon EBS ボリュームを設定することもできます。詳細については[Amazon ECS タスクとしてのアプリケーションの実行](standalone-task-create.md)、[Amazon ECS のローリング更新デプロイの作成](create-service-console-v2.md)、および[Amazon ECS サービスを更新する](update-service-console-v2.md)を参照してください。

以下の JSON スニペットは、デプロイ時に設定可能なすべての Amazon EBS ボリュームパラメータを示します。ボリューム設定でこれらのパラメータを使用するには、`user input placeholders` をユーザー自身の情報に置き換えます。これらのパラメータの詳細については、「[ボリュームの設定](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service_definition_parameters.html#sd-volumeConfigurations)」を参照してください。

```
"volumeConfigurations": [
        {
            "name": "ebs-volume", 
            "managedEBSVolume": {
                "encrypted": true, 
                "kmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", 
                "volumeType": "gp3", 
                "sizeInGiB": 10, 
                "snapshotId": "snap-12345", 
                "volumeInitializationRate":100,
                "iops": 3000, 
                "throughput": 125, 
                "tagSpecifications": [
                    {
                        "resourceType": "volume", 
                        "tags": [
                            {
                                "key": "key1", 
                                "value": "value1"
                            }
                        ], 
                        "propagateTags": "NONE"
                    }
                ], 
                "roleArn": "arn:aws:iam::1111222333:role/ecsInfrastructureRole", 
                 "terminationPolicy": {
                    "deleteOnTermination": true//can't be configured for service-managed tasks, always true 
                },
                "filesystemType": "ext4"
            }
        }
    ]
```

**重要**  
設定内で指定する `volumeName` は、タスク定義で指定する `volumeName` と同じであること。

ボリュームアタッチメントのステータスの確認については、「[Amazon ECS タスクへの Amazon EBS ボリュームのアタッチに関するトラブルシューティング](troubleshoot-ebs-volumes.md)」を参照してください。EBS ボリュームのアタッチメントに必要な Amazon ECS インフラストラクチャ AWS Identity and Access Management (IAM) ロールの詳細については、「[Amazon ECS インフラストラクチャ IAM ロール](infrastructure_IAM_role.md)」を参照してください。

Amazon EBS ボリュームの設定内容を示す JSON スニペットの例を以下に挙げます。これらの例は、スニペットを JSON ファイルに保存し、そのファイルを AWS CLI コマンドのパラメータ (`--cli-input-json file://filename` パラメータを使用) として渡すことで使用できます。`user input placeholders` を、ユーザー自身の情報に置き換えます。

## スタンドアロンタスク向けボリュームの設定
<a name="ebs-run-task"></a>

以下のスニペットは、Amazon EBS ボリュームをスタンドアロンタスクにアタッチする設定の構文を示します。以下の JSON スニペットは、`volumeType`、`sizeInGiB`、`encrypted`、`kmsKeyId` の各設定を構成するための構文を示します。JSON ファイルに指定された設定を使用して EBS ボリュームを作成し、スタンドアロンタスクにアタッチします。

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "volumeConfigurations": [
        {
            "name": "datadir",
            "managedEBSVolume": {
                "volumeType": "gp3",
                "sizeInGiB": 100,
                "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole",
                "encrypted": true,
                "kmsKeyId": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
            }
        }
   ]
}
```

## サービス作成時のボリューム設定
<a name="ebs-create-service"></a>

以下のスニペットは、サービスで管理されるタスクにアタッチする Amazon EBS ボリュームを設定する構文を示します。ボリュームは、`snapshotId` パラメータを使用して指定されたスナップショットから 200 MiB/秒のレートで取得されます。JSON ファイルに指定された設定を使用して EBS ボリュームを作成し、サービスで管理される各タスクにアタッチします。

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "serviceName": "mysvc",
   "desiredCount": 2,
   "volumeConfigurations": [
        {
            "name": "myEbsVolume",
            "managedEBSVolume": {
              "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole",
              "snapshotId": "snap-12345",
              "volumeInitializationRate": 200
            }
        }
   ]
}
```

## サービス更新時のボリューム設定
<a name="ebs-update-service"></a>

以下の JSON スニペットは、これまでタスクへのアタッチ用に Amazon EBS ボリュームが設定されていなかったサービスを更新するための構文を示します。`configuredAtLaunch` を `true` に設定したタスク定義リビジョンの ARN を提供する必要があります。以下の JSON スニペットは、`volumeType`、`sizeInGiB`、`throughput`、`iops`、および `filesystemType` 設定を構成する構文を示します。これらの設定を使用して EBS ボリュームを作成し、サービスで管理される各タスクにアタッチします。

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "service": "mysvc",
   "desiredCount": 2,
   "volumeConfigurations": [
        {
            "name": "myEbsVolume",
            "managedEBSVolume": {
              "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole",
               "volumeType": "gp3",
                "sizeInGiB": 100,
                 "iops": 3000, 
                "throughput": 125, 
                "filesystemType": "ext4"
            }
        }
   ]
}
```

### Amazon EBS ボリュームを使用しないようにサービスを設定する
<a name="ebs-service-disable-ebs"></a>

以下の JSON スニペットは、Amazon EBS ボリュームをそれ以上使用しないようにサービスを更新するための構文を示します。`configuredAtLaunch` を `false` に設定したタスク定義の ARN 、または `configuredAtLaunch` パラメータのないタスク定義を提供する必要があります。空の `volumeConfigurations` オブジェクトも提供する必要があります。

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "service": "mysvc",
   "desiredCount": 2,
   "volumeConfigurations": []
}
```

## Amazon EBS ボリュームの終了ポリシー
<a name="ebs-volume-termination-policy"></a>

Amazon ECS タスクが終了すると、Amazon ECS は `deleteOnTermination` の値に基づいて、終了したタスクに関連付けられている Amazon EBS ボリュームを削除する必要があるかどうかを判断します。デフォルトでは、タスクにアタッチされている EBS ボリュームは、タスクが終了すると削除されます。スタンドアロンタスクの場合、タスク終了時にボリュームを保存するように設定を変更することができます。

**注記**  
サービスにより管理されるタスクにアタッチされたボリュームは保存されず、タスク終了時に必ず削除されます。

## Amazon EBS ボリュームのタグ付け
<a name="ebs-volume-tagging"></a>

`tagSpecifications` オブジェクトを使用して Amazon EBS ボリュームにタグを付けることができます。このオブジェクトを使用すると、ボリュームがスタンドアロンタスクにアタッチされているか、あるいはサービス内のタスクにアタッチされているかに応じて、独自のタグを提供したり、あるいはタスク定義またはサービスからタグを伝播するよう設定することができます。1 つのボリュームにアタッチできるタグの最大数は 50 個です。

**重要**  
Amazon ECS は、`AmazonECSCreated` および `AmazonECSManaged` のリザーブドタグを Amazon EBS ボリュームに自動的にアタッチするので、1 つのボリュームにユーザーが追加できるタグの最大数は 48 個になります。追加できるタグは、ユーザー定義タグ、ECS マネージド型タグ、または伝播されたタグのいずれです。

Amazon ECS マネージド型タグをボリュームに追加する場合は、`UpdateService`、`CreateService`、`RunTask`、`StartTask` の呼び出しの `enableECSManagedTags` を `true` に設定する必要があります。Amazon ECS マネージド型タグをオンにすると、Amazon ECS はボリュームにクラスターとサービスの情報 (`aws:ecs:clusterName` と `aws:ecs:serviceName`) を自動的にタグ付けします。Amazon ECS リソースへのタグ付けの詳細については、「[Amazon ECS リソースのタグ付け](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html)」を参照してください。

以下の JSON スニペットは、サービス内の各タスクにアタッチされた Amazon EBS ボリュームにユーザー定義タグを付ける構文を示します。この例を使用してサービスを作成するには、`user input placeholders` をユーザー自身の情報に置き換えます。

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "serviceName": "mysvc",
   "desiredCount": 2,
   "enableECSManagedTags": true,
   "volumeConfigurations": [
        {
            "name": "datadir",
            "managedEBSVolume": {
                "volumeType": "gp3",
                "sizeInGiB": 100,
                 "tagSpecifications": [
                    {
                        "resourceType": "volume", 
                        "tags": [
                            {
                                "key": "key1", 
                                "value": "value1"
                            }
                        ], 
                        "propagateTags": "NONE"
                    }
                ],
                "roleArn":"arn:aws:iam:1111222333:role/ecsInfrastructureRole",
                "encrypted": true,
                "kmsKeyId": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
            }
        }
   ]
}
```

**重要**  
Amazon EBS ボリュームにタグを付けるには、`volume` リソースタイプを指定する必要があります。

# Fargate オンデマンドタスク向け Amazon EBS ボリュームのパフォーマンス
<a name="ebs-fargate-performance-limits"></a>

Fargate オンデマンドタスクで使用できる Amazon EBS ボリュームのベースライン IOPS とスループットは、タスクにリクエストする CPU ユニット数の合計によって異なります。Fargate タスクに 0.25 ユニット、0.5 ユニット、または 1 ユニットの仮想 CPU (vCPU) をリクエストする場合は、汎用 SSD ボリューム (`gp2` または `gp3`) もしくはハードディスクドライブ (HDD) ボリューム (`st1` または `sc1`) を設定することをお勧めします。Fargate タスク向けに 1 ユニットを超える vCPU をリクエストする場合、タスクにアタッチされる Amazon EBS ボリュームには以下のベースラインパフォーマンス制限が適用されます。EBS のパフォーマンスは、一時的には以下の制限値よりも高くなる場合がありますが、これらの制限値に基づいてワークロードを計画することをお勧めします。


| リクエストされる CPU (vCPU) ユニット数 | Amazon EBS のベースライン IOPS (16 KiB I/O) | Amazon EBS のベースラインスループット (MiBps、128 KiB I/O) | ベースライン帯域幅 (Mbps) | 
| --- | --- | --- | --- | 
| 2 | 3,000 | 75 | 360 | 
| 4 | 5,000 | 120 | 1,150 | 
| 8 | 10,000 | 250 | 2,300 | 
| 16 | 15,000 | 500 | 4,500 | 

**注記**  
 Fargate タスクにアタッチする Amazon EBS ボリュームを設定すると、その Fargate タスク向け Amazon EBS パフォーマンス制限は、タスクの一時ストレージとアタッチされたボリューム間で共有されます。

# EC2 タスクの Amazon EBS ボリュームのパフォーマンス
<a name="ebs-fargate-performance-limits-ec2"></a>

Amazon EBS の提供するボリュームタイプはそれぞれパフォーマンス特性や料金が異なるため、アプリケーションのニーズに応じてストレージのパフォーマンスやコストを調整してください。ボリュームごとの IOPS やスループットなどのパフォーマンスについて、詳細は「*Amazon Elastic Block Store ユーザーガイド*」の「[Amazon EBS ボリュームタイプ](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html)」を参照してください。

# Amazon ECS マネージドインスタンスタスクの Amazon EBS ボリュームのパフォーマンス
<a name="ebs-managed-instances-performance"></a>

Amazon EBS の提供するボリュームタイプはそれぞれパフォーマンス特性や料金が異なるため、アプリケーションのニーズに応じてストレージのパフォーマンスやコストを調整してください。ボリュームごとの IOPS やスループットなどのパフォーマンスについて、詳細は「*Amazon Elastic Block Store ユーザーガイド*」の「[Amazon EBS ボリュームタイプ](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html)」を参照してください。

# Amazon ECS タスクへの Amazon EBS ボリュームのアタッチに関するトラブルシューティング
<a name="troubleshoot-ebs-volumes"></a>

場合により、Amazon EBS ボリュームの Amazon ECS タスクへのアタッチをトラブルシューティングまたは検証しなければならない場合があります。

## ボリュームのアタッチメントステータスを確認する
<a name="troubleshoot-ebs-volumes-location"></a>

AWS マネジメントコンソールを使用して、Amazon EBS ボリュームの Amazon ECS タスクへのアタッチのステータスを確認できます。タスクが開始されたがアタッチメントが機能しない場合は、表示されるステータス理由を確認してトラブルシューティングに活用してください。作成されたボリュームは削除され、タスクは停止します。ステータス理由の詳細については、「[Amazon ECS タスクへの Amazon EBS ボリュームアタッチメントのステータス理由](troubleshoot-ebs-volumes-scenarios.md)」を参照してください。

**コンソール上でボリュームのアタッチステータスとステータス理由を確認するには**

1. コンソール ([https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)) を開きます。

1. **[クラスター]** ページで、タスクが実行されているクラスターを選択します。クラスターの詳細ページが表示されます。

1. クラスターの詳細ページで、**[タスク]** タブを選択します。

1. ボリュームアタッチメントステータスを確認したいタスクを選択します。確認したいタスクが停止している場合には、**[表示するステータスを絞り込む]** で **[停止]** を選択しなければならない場合があります。

1. タスクの詳細ページで、**[ボリューム]** タブを選択します。Amazon EBS ボリュームのアタッチメントステータスは、**[アタッチメントステータス]** で確認できます。ボリュームがタスクにアタッチされない場合は、**[アタッチメントのステータス]** でステータスを選択して、失敗の原因を表示できます。

または、[DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) API を使用して、タスクのボリュームアタッチメントステータスおよび関連するステータス理由を確認することもできます。

## サービスとタスクの失敗
<a name="service-task-failures"></a>

Amazon EBS ボリュームに固有ではないサービスまたはタスクの失敗が発生して、ボリュームのアタッチメントに影響を及ぼす場合があります。詳細については、以下を参照してください。
+ [サービスイベントメッセージ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-event-messages.html)
+ [停止したタスクのエラーコード](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/stopped-task-error-codes.html)
+ [API 失敗の理由](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html)

# コンテナが Amazon EBS ボリュームに書き込めない
<a name="troubleshoot-non-root-container"></a>

適切なアクセス許可のない非ルートユーザー  
コンテナ定義で非ルートユーザーを指定すると、Amazon ECS は書き込みアクセスを許可するグループベースのアクセス許可でボリュームを自動的に設定します。アクセス許可の問題がまだ解決しない場合:  
+ `uid:gid` フォーマット (例: `1001:1001`) を使用して、`user` パラメータがコンテナ定義で正しく指定されていることを確認してください。
+ ボリュームのマウント後に、ユーザーのアクセス許可がコンテナイメージに上書きされないようにしてください。
+ コンテナログを調べるか、Amazon ECS Exec を使用して実行中のコンテナを調べることで、アプリケーションが想定されたユーザー ID で実行されていることを確認します。

アクセス許可の問題があるルートユーザー  
コンテナ定義でユーザーの指定がされていない場合、コンテナはルートとして実行され、ボリュームへのフルアクセスが必要になります。問題が発生した場合:  
+ コンテナ内のマウントポイントを確認して、ボリュームが正しくマウントされていることを確認します。
+ マウントポイント設定で、ボリュームの設定が読み取り専用でないことを確認してください。

ユーザーが異なる複数コンテナタスク  
複数のコンテナが異なるユーザーとして実行されるタスクでは、Amazon ECS はグループアクセス許可を自動的に管理し、指定されたすべてのユーザーのボリュームへの書き込みを許可します。コンテナが書き込めない場合:  
+ 書き込みアクセスを必要とするすべてのコンテナに `user` パラメータが正しく設定されていることを確認してください。
+ ボリュームへのアクセスが必要なすべてのコンテナにボリュームがマウントされていることを確認してください。

コンテナ定義でユーザーを設定する方法について、詳細は「[Fargate の Amazon ECS タスク定義パラメータ](https://docs.aws.amazon.com/./task_definition_parameters.html)」を参照してください。

# Amazon ECS タスクへの Amazon EBS ボリュームアタッチメントのステータス理由
<a name="troubleshoot-ebs-volumes-scenarios"></a>

Amazon ECS タスクにアタッチする Amazon EBS ボリュームを設定する際に AWS マネジメントコンソール上にステータス理由として表示されるエラーを解決するには、以下の情報を参照してください。コンソール上でこれらのステータス理由を見つける方法については、「[ボリュームのアタッチメントステータスを確認する](troubleshoot-ebs-volumes.md#troubleshoot-ebs-volumes-location)」を参照してください。

ECS は、設定された ECS インフラストラクチャロール「arn:aws:iam::*111122223333*:role/*ecsInfrastructureRole*」を引き受けることができませんでした。渡されるロールが Amazon ECS と適切な信頼関係にあることを確認してください。  
このステータス理由は以下のシナリオにおいて発生します。  
+  必要な信頼ポリシーをアタッチせずに IAM ロールを提供した場合。ロールに必要な信頼ポリシーがない場合、Amazon ECS は提供された Amazon ECS インフラストラクチャ IAM ロールにアクセスできません。タスクが `DEPROVISIONING` 状態でスタックすることがあります。必要な信頼ポリシーの詳細については、「[Amazon ECS インフラストラクチャ IAM ロール](infrastructure_IAM_role.md)」を参照してください。
+ IAM ユーザーが、Amazon ECS インフラストラクチャロールを Amazon ECS に渡すアクセス許可を持っていません。タスクが `DEPROVISIONING` 状態でスタックすることがあります。この問題を回避するには、ユーザーに `PassRole` 許可を付与します。詳細については、「[Amazon ECS インフラストラクチャ IAM ロール](infrastructure_IAM_role.md)」を参照してください。
+ IAM ロールが、Amazon EBS ボリュームのアタッチメントに必要なアクセス許可を持っていません。タスクが `DEPROVISIONING` 状態でスタックすることがあります。Amazon EBS ボリュームをタスクにアタッチするために必要なアクセス許可の詳細については、「[Amazon ECS インフラストラクチャ IAM ロール](infrastructure_IAM_role.md)」を参照してください。
このエラーメッセージは、ロールの伝播が遅れている場合にも表示されることがあります。数分待ってからロールを使用しても問題が解決しない場合は、ロールの信頼ポリシーが誤って設定されている可能性があります。

ECS が EBS ボリュームを設定できません。「IdempotentParameterMismatch が発生しました」。「指定したクライアントトークンは、すでに削除されているリソースに関連付けられています。別のクライアントトークンを使用してください。」  
以下のような AWS KMS キーシナリオでは、`IdempotentParameterMismatch` メッセージが表示されることがあります。  
+ 無効な KMS キー ARN、ID、またはエイリアスが指定されました。このシナリオでは、一見タスクが正常に起動したように見えますが、AWS は KMS キーを非同期で認証するため、タスクは最終的に失敗します。詳細は「*Amazon EC2 ユーザーガイド*」の「[Amazon EBS 暗号化](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html)」を参照してください。
+ Amazon ECS インフラストラクチャ IAM ロールがそのキーを暗号化に使用することを許可する権限を持たないカスタマーマネージド型キーが提供されました。キーポリシー権限に関する問題を回避するには、「[Amazon EBS ボリュームのデータ暗号化](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html#ebs-kms-encryption)」の AWS KMS キーポリシー例を参照してください。
Amazon EBS ボリュームイベントと Amazon ECS タスク状態変更イベントを Amazon CloudWatch グループなどのターゲットに送信するように Amazon EventBridge を設定できます。その後、これらのイベントを使用して、ボリュームアタッチメントに影響を及ぼしているカスタマーマネージド型キーに関する問題を特定することができます。詳細については、以下を参照してください。  
+  AWS re: Post 上の「[EventBridge ルールのターゲットとして使用する CloudWatch ロググループをどのように作成できますか?](https://repost.aws/knowledge-center/cloudwatch-log-group-eventbridge)」。
+ [タスク状態変更イベント](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html#ecs_task_events)。
+ [Amazon EBS の Amazon EventBridge イベント](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-cloud-watch-events.html) (*Amazon EBS ユーザーガイド*)。

タスクへの EBS ボリュームアタッチメントの設定中に ECS がタイムアウトしました。  
このメッセージは、ファイルシステム形式に関する以下のシナリオにおいて発生します。  
+ 設定時に指定されたファイルシステム形式は、[タスクのオペレーティングシステム](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RuntimePlatform.html)と互換性がありません。
+ Amazon EBS ボリュームをスナップショットから作成するように設定しましたが、スナップショットのファイルシステム形式にはタスクのオペレーティングシステムとの互換性がありません。スナップショットから作成されたボリュームでは、スナップショットの作成時にボリュームが使用していたのと同じファイルシステムタイプを指定する必要があります。
Amazon ECS コンテナエージェントのログを利用して、EC2 のタスクに関するメッセージのトラブルシューティングを行うことができます。詳細については、「[Amazon ECS ログファイルの場所](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/logs.html)」と「[Amazon ECS ログコレクター](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-logs-collector.html)」を参照してください。