Amazon ECS タスク用の EBS ボリュームを管理する方法を教えてください。

所要時間1分
0

Amazon Elastic Container Service (Amazon ECS) のタスクに Amazon Elastic Block Storage (Amazon EBS) ボリュームを使用したいです。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

前提条件

新しい EBS ボリュームをタスクにアタッチするには、mountPoints のタスク定義で次の構成を指定します。

  • sourceVolume にマウントするボリュームの名前を入力します。
  • containerPath にボリュームをマウントするコンテナインスタンスのパスを入力します。
  • コンテナにボリュームへの読み取り専用アクセス許可があるかどうかに応じて、readOnlytrue または false を入力します。

次に、configuredAtLaunchtrue に設定します。

タスク定義の例

{
    "family": "mytaskdef",
    "containerDefinitions": [
        {
            ....
            #Some fields removed from example
            ....
            "mountPoints": [
                {
                    "sourceVolume": "myEBSVolume",  
                    "containerPath": "/mount/ebs",  
                    "readOnly": true                
                }
            ]
        }
     ],
     ....
     #Some fields removed from example
     ....
     "volumes": [
        {
            "name": "myEBSVolume",                 
            "configuredAtLaunch": true
        }
    ]
}

タスク定義テンプレートを JSON ファイルとして保存し、register-task-definition を実行してタスク定義を登録します。

aws ecs register-task-definition \
    --cli-input-json file://json_file_name.json \
    --region Region_name

注: 実際のものでそれぞれ、json_file_name.json を JSON ファイルに、Region_name を AWS リージョンに置き換えます。

次に、スタンドアロンタスクを実行する際、デプロイ時の Amazon EBS ボリュームを設定します。サービスを作成または更新する際に設定してもかまいません。

既存の EBS ボリュームのデータを使用するには、ボリュームのスナップショットを作成します。次に、タスク定義の VolumeConfigurationsSnapshotID にスナップショット ID を追加します。設定例については、「サービス作成時のボリュームを設定する」を参照してください。

関連情報

Amazon ECS タスクに Amazon EBS ボリュームをアタッチする際のトラブルシューティング

Amazon ECS で Amazon EBS ボリュームを使用する

AWS公式
AWS公式更新しました 2ヶ月前
コメントはありません

関連するコンテンツ