Amazon ECS タスク定義でバインドマウントを指定する
Fargate または Amazon EC2 インスタンスでホストされている Amazon ECS タスクについて、以下のタスク定義 JSON スニペットにタスク定義向け volumes、mountPoints、ephemeralStorage オブジェクトの構文を示します。
{ "family": "", ... "containerDefinitions" : [ { "mountPoints" : [ { "containerPath" : "/path/to/mount_volume", "sourceVolume" : "string" } ], "name" : "string" } ], ... "volumes" : [ { "name" : "string" } ], "ephemeralStorage": { "sizeInGiB":integer} }
Amazon EC2 インスタンスでホストされる Amazon ECS タスクで、タスクボリュームの詳細を指定する場合は、オプションの host パラメータおよび sourcePath を使用できます。これを指定すると、バインドマウントはコンテナではなくタスクのライフサイクルに紐付けされます。
"volumes" : [ { "host" : { "sourcePath" : "string" }, "name" : "string" } ]
以下では、各タスク定義パラメータについて詳しく説明します。
name-
タイプ: 文字列
必須: いいえ
ボリュームの名前。最大 255 文字の英字 (大文字と小文字の区別あり)、数字、ハイフン (
-)、アンダースコア (_) を使用できます。この名前は、コンテナ定義mountPointsオブジェクトのsourceVolumeパラメータで参照されます。 host-
必須: いいえ
hostパラメーターは、バインドマウントのライフサイクルを、タスクではなくホスト Amazon EC2 インスタンスと、それが格納されている場所に関連付けるために使用されます。hostパラメーターが空の場合、Docker デーモンはデータボリュームのホストパスを割り当てますが、関連付けられたコンテナの実行が停止した後にデータが保持されるとは限りません。Windows コンテナは
$env:ProgramDataと同じドライブに全部のディレクトリをマウントできます。注記
sourcePathパラメータは、Amazon EC2 インスタンスでホストされているタスクを使用する場合にのみサポートされます。sourcePath-
タイプ: 文字列
必須: いいえ
hostパラメータを使用する場合は、sourcePathを指定して、コンテナに表示されるホスト Amazon EC2 インスタンスのパスを宣言します。このパラメータが空の場合は、Docker デーモンによってホストパスが割り当てられます。hostパラメータにsourcePathの場所が含まれている場合、データボリュームは手動で削除するまでホスト Amazon EC2 インスタンスの指定された場所に保持されます。sourcePathの値がホスト Amazon EC2 インスタンスに存在しない場合は、Docker デーモンによって作成されます。その場所が存在する場合は、ソースパスフォルダの内容がエクスポートされます。
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のままにします。
ephemeralStorage-
タイプ: オブジェクト
必須: いいえ
タスクに割り当てるエフェメラルストレージの容量(GB)。このパラメータは、AWS Fargate プラットフォームバージョン
1.4.0以降 (Linux) または1.0.0以降 (Windows) を使用してホストされているタスクの場合、利用可能なエフェメラルストレージの総量をデフォルト容量を超えて拡張するために使用されます。コパイロットCLI、CloudFormation、AWSSDK または CLI を使用して、バインドマウントのエフェメラルストレージを指定します。