AWS::ECS::TaskDefinition ContainerDefinition - AWS CloudFormation

AWS::ECS::TaskDefinition ContainerDefinition

ContainerDefinition プロパティは、コンテナ定義を指定します。コンテナ定義は、タスク定義で使用され、タスクの一部として起動されるさまざまなコンテナを記述します。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

{ "Command" : [ String, ... ], "Cpu" : Integer, "DependsOn" : [ ContainerDependency, ... ], "DisableNetworking" : Boolean, "DnsSearchDomains" : [ String, ... ], "DnsServers" : [ String, ... ], "DockerLabels" : {Key : Value, ...}, "DockerSecurityOptions" : [ String, ... ], "EntryPoint" : [ String, ... ], "Environment" : [ KeyValuePair, ... ], "EnvironmentFiles" : [ EnvironmentFile, ... ], "Essential" : Boolean, "ExtraHosts" : [ HostEntry, ... ], "FirelensConfiguration" : FirelensConfiguration, "HealthCheck" : HealthCheck, "Hostname" : String, "Image" : String, "Interactive" : Boolean, "Links" : [ String, ... ], "LinuxParameters" : LinuxParameters, "LogConfiguration" : LogConfiguration, "Memory" : Integer, "MemoryReservation" : Integer, "MountPoints" : [ MountPoint, ... ], "Name" : String, "PortMappings" : [ PortMapping, ... ], "Privileged" : Boolean, "PseudoTerminal" : Boolean, "ReadonlyRootFilesystem" : Boolean, "RepositoryCredentials" : RepositoryCredentials, "ResourceRequirements" : [ ResourceRequirement, ... ], "Secrets" : [ Secret, ... ], "StartTimeout" : Integer, "StopTimeout" : Integer, "SystemControls" : [ SystemControl, ... ], "Ulimits" : [ Ulimit, ... ], "User" : String, "VolumesFrom" : [ VolumeFrom, ... ], "WorkingDirectory" : String }

プロパティ

Command

コンテナに渡すコマンド。このパラメータは、Docker Remote APICreate a container セクションの Cmd にマップされ、COMMAND パラメータは docker run にマップされます。詳細については、https://docs.docker.com/engine/reference/builder/#cmd を参照してください。複数の引数がある場合、各引数は配列において区切られた文字列である必要があります。

必須: いいえ

タイプ: 文字列のリスト

Update requires: Replacement

Cpu

コンテナ用に予約されている cpu ユニットの数。このパラメータは、Docker Remote APICreate a container セクションの CpuShares にマップされ、--cpu-shares オプションは docker run にマップされます。

Fargate 起動タイプを使用するタスクでは、このフィールドはオプションです。その場合、タスク内のすべてのコンテナ用に予約される CPU の合計量が、タスクレベルの cpu の値を下回ることが唯一の要件となります。

注記

[Amazon EC2 インスタンス] 詳細ページのインスタンスタイプに一覧表示されている vCPU 数に 1,024 を乗算して、EC2 インスタンスタイプごとに使用可能な CPU ユニットの数を判断できます。

Linux コンテナは、割り当てられた CPU ユニットと同じ比率を使用して、割り当てられていない CPU ユニットをコンテナインスタンス上の他コンテナと共有します。たとえば、単一コンテナタスクを単一コアインスタンスタイプで実行する場合、そのコンテナ用に 512 個の CPU ユニットを指定しており、そのタスクがコンテナインスタンスで実行される唯一のタスクであると、そのコンテナは 1,024 個の CPU ユニット配分すべてをいつでも使用できます。ただし、そのコンテナインスタンスで同じタスクの別のコピーを起動した場合、必要に応じてタスクごとに最低 512 個の CPU ユニットが確保され、各コンテナは最大 CPU ユニット配分を使用できますが (他方のコンテナが使用していない限り)、両方のタスクが常に 100% アクティブであれば、使用できるのは 512 個の CPU ユニットに制限されます。

Linux コンテナインスタンスでは、コンテナインスタンス上の Docker デーモンは、CPU 値を使用して、実行中のコンテナに対する相対 CPU 配分比率を計算します。詳細については、Docker ドキュメントの「CPU 配分の制約」を参照してください。Linux kernel が許可する CPU の有効な最小共有値は 2 です。ただし、CPU のパラメータは必要なく、コンテナ定義で 2 以下の CPU 値を使用できます。CPU 値が 2 未満の場合 (null を含む)、動作は Amazon ECS コンテナエージェントのバージョンによって異なります。

  • エージェントのバージョンが 1.1.0 以下である: Null と 0 の CPU 値は Docker に 0 として渡され、Docker はそれを 1,024 個の CPU 配分に変換します。1 の CPU 値は Docker に 1 として渡され、Linux カーネルはそれを 2 個の CPU 配分に変換します。

  • エージェントのバージョンが 1.2.0 以上である: Null、0、1 の CPU 値は Docker に 2 として渡されます。

Windows コンテナインスタンスでは、CPU 制限は絶対制限またはクォータとして適用されます。Windows コンテナはタスク定義で指定された一定量の CPU にのみアクセスします。ヌルまたはゼロの CPU 値は 0 として Docker に渡され、これを Windows は 1 つの CPU の 1% として解釈します。

必須: いいえ

タイプ: 整数

Update requires: Replacement

DependsOn

コンテナの起動と停止に定義されている依存関係。コンテナには複数の依存関係を含めることができます。依存関係がコンテナの起動に対して定義されている場合、コンテナの停止の場合、依存関係は逆になります。

EC2 起動タイプを使用するタスクでは、コンテナインスタンスはコンテナの依存関係を有効にするために、コンテナエージェントのバージョン 1.26.0 以上を必要とします。ただし、最新のコンテナエージェントのバージョンを使用することをお勧めします。エージェントのバージョンの確認と最新バージョンへの更新の詳細については、Amazon Elastic Container Service 開発者ガイドの「Amazon ECS コンテナエージェントの更新」を参照してください。Amazon ECS 対応 Linux AMI を使用している場合、インスタンスでは、ecs-init パッケージの 1.26.0-1 バージョン以上が必要です。コンテナインスタンスがバージョン 20190301 以降から起動される場合、コンテナエージェントおよび ecs-init の必要なバージョンが含まれます。詳細については、Amazon Elastic Container Service 開発者ガイドの「Amazon ECS に最適化された Linux AMI」を参照してください。

Fargate 起動タイプを使用するタスクの場合、タスクまたはサービスにはプラットフォームバージョン 1.3.0 以降が必要です。

必須: いいえ

タイプ: ContainerDependency のリスト

Update requires: Replacement

DisableNetworking

このパラメータが true のとき、ネットワーキングはコンテナ内で無効になります。このパラメータは、Docker Remote APICreate a container (コンテナを作成する) セクションの NetworkDisabled にマッピングされます。

注記

このパラメータは、Windows コンテナや、awsvpc ネットワークモードを使用するタスクではサポートされていません。

必須: いいえ

タイプ: ブール値

Update requires: Replacement

DnsSearchDomains

コンテナに渡す DNS 検索ドメインのリスト。このパラメータは、Docker Remote APICreate a container セクションの DnsSearch にマップされ、--dns-search オプションは docker run にマップされます。

注記

このパラメータは、Windows コンテナや、awsvpc ネットワークモードを使用するタスクではサポートされていません。

必須: いいえ

タイプ: 文字列のリスト

Update requires: Replacement

DnsServers

コンテナに渡す DNS サーバーのリスト。このパラメータは、Docker Remote APICreate a container セクションの Dns にマップされ、--dns オプションは docker run にマップされます。

注記

このパラメータは、Windows コンテナや、awsvpc ネットワークモードを使用するタスクではサポートされていません。

必須: いいえ

タイプ: 文字列のリスト

Update requires: Replacement

DockerLabels

コンテナに追加するラベルのキー/値マップ。このパラメータは、Docker Remote APICreate a container セクションの Labels にマップされ、--label オプションは docker run にマップされます。このパラメータは、コンテナインスタンスで Docker Remote API バージョン 1.18 以上を使用する必要があります。コンテナインスタンスの Docker Remote API のバージョンを確認するには、コンテナインスタンスにログインし、sudo docker version --format '{{.Server.APIVersion}}' コマンドを実行します。

必須: いいえ

タイプ: 文字列のマップ

Update requires: Replacement

DockerSecurityOptions

SELinux と AppArmor のマルチレベルセキュリティシステムのカスタムラベルになる文字列のリスト。このフィールドは、Fargate 起動タイプを使用するタスク内のコンテナには無効です。

Windows コンテナでは、Active Directory 認証用にコンテナを構成するときに、このパラメータを使用して認証情報仕様ファイルを参照できます。詳細については、Amazon Elastic Container サービス開発者ガイドの「Windows コンテナでの gMSA の使用」を参照してください。

このパラメータは、Docker Remote APICreate a container セクションの SecurityOpt にマップされ、--security-opt オプションは docker run にマップされます。

注記

コンテナインスタンスで実行される Amazon ECS コンテナエージェントは、ECS_SELINUX_CAPABLE=true または ECS_APPARMOR_CAPABLE=true 環境変数を使用してセキュリティシステムを登録する必要があります。その後、そのインスタンスに配置されたコンテナがこれらのセキュリティオプションを使用できるようになります。詳細については、Amazon Elastic Container Service 開発者ガイドの「Amazon ECS コンテナエージェントの設定」を参照してください。

有効な値の詳細については、「Docker Run Security Configration」を参照してください。

Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath"

必須: いいえ

タイプ: 文字列のリスト

Update requires: Replacement

EntryPoint
重要

初期のバージョンの Amazon ECS コンテナエージェントは、entryPoint パラメータを正しく処理しません。entryPoint の使用時に問題が発生する場合は、コンテナエージェントを更新するか、代わりに command 配列項目としてコマンドと引数を入力します。

コンテナに渡されるエントリポイント。このパラメータは、Docker Remote APICreate a container セクションの Entrypoint にマップされ、--entrypoint オプションは docker run にマップされます。詳細については、https://docs.docker.com/engine/reference/builder/#entrypoint を参照してください。

必須: いいえ

タイプ: 文字列のリスト

Update requires: Replacement

Environment

コンテナに渡す環境変数。このパラメータは、Docker Remote APICreate a container セクションの Env にマップされ、--env オプションは docker run にマップされます。

重要

認証情報データなどの機密情報にプレーンテキストの環境変数を使用することはお勧めしません。

必須: いいえ

タイプ: KeyValuePair のリスト

Update requires: Replacement

EnvironmentFiles

コンテナに渡す環境変数を含むファイルのリスト。このパラメータは、docker run--env-file オプションにマッピングされます。

最大 10 個の環境ファイルを指定できます。ファイルには、ファイル拡張子 .env が必要です。環境ファイルの各行には、VARIABLE=VALUE 形式で環境変数が含まれている必要があります。# で始まる行はコメントとして扱われ、無視されます。環境変数ファイルの構文の詳細については、「Declare default environment variables in file」を参照してください。

コンテナ定義に environment パラメータを使用して環境変数が指定されている場合は、環境ファイルに含まれる変数よりも優先されます。同じ変数を含む複数の環境ファイルが指定されている場合、それらのファイルは上から下に処理されます。一意の変数名を使用することをお勧めします。詳細については、Amazon Elastic Container Service デベロッパーガイドの「環境変数の指定」を参照してください。

このフィールドは、Fargate 起動タイプを使用するタスク内のコンテナには無効です。

必須: いいえ

タイプ: EnvironmentFile のリスト

Update requires: Replacement

Essential

コンテナの essential パラメータが true とマークされている場合、そのコンテナが何らかの理由で失敗または停止すると、タスクに含まれる他のすべてのコンテナは停止されます。コンテナの essential パラメータが false とマークされている場合、その失敗はタスクに含まれる残りのコンテナに影響を与えません。このパラメータを省略した場合、コンテナは必須と見なされます。

すべてのタスクには少なくとも 1 つの必須のコンテナが必要です。アプリケーションが複数のコンテナで構成される場合は、用途が共通するコンテナをコンポーネントにグループ化し、それらのコンポーネントを複数のタスク定義に分ける必要があります。詳細については、Amazon Elastic Container Service 開発者ガイドの「アプリケーションのアーキテクチャ」を参照してください。

必須: いいえ

タイプ: ブール値

Update requires: Replacement

ExtraHosts

コンテナ上の /etc/hosts ファイルに追加する、ホスト名と IP アドレスのマッピングのリスト。このパラメータは、Docker Remote APICreate a container セクションの ExtraHosts にマップされ、--add-host オプションは docker run にマップされます。

注記

このパラメータは Windows コンテナまたは、awsvpc ネットワークモードを使用するタスクではサポートされていません。

必須: いいえ

タイプ: HostEntry のリスト

Update requires: Replacement

FirelensConfiguration

コンテナの FireLens 設定。これは、コンテナログのログルーターの指定と設定に使用されます。詳細については、Amazon Elastic Container Service 開発者ガイドの「カスタムログルーティング」を参照してください。

必須: いいえ

タイプ: FirelensConfiguration

Update requires: Replacement

HealthCheck

コンテナヘルスチェックのコマンドおよびコンテナの関連する設定パラメータです。このパラメータは、Docker Remote APICreate a container セクションの HealthCheck および docker runHEALTHCHECK パラメータにマップされます。

必須: いいえ

タイプ: HealthCheck

Update requires: Replacement

Hostname

コンテナに使用するホスト名。このパラメータは、Docker Remote APICreate a container セクションの Hostname にマップされ、--hostname オプションは docker run にマップされます。

注記

awsvpc ネットワークモードを使用している場合、hostname パラメータはサポートされません。

必須: いいえ

タイプ: 文字列

Update requires: Replacement

Image

コンテナの開始に使用するイメージ。この文字列は Docker デーモンに直接渡されます。Docker Hub レジストリのイメージはデフォルトで使用できます。他のリポジトリは repository-url/image:tag または repository-url/image@digest で指定されます。最大 255 文字の英字 (大文字と小文字)、数字、ハイフン、アンダースコア、コロン、ピリオド、スラッシュ、シャープ記号を使用できます。このパラメータは、Docker Remote APICreate a container セクションの Image および docker runIMAGE パラメータにマップされます。

  • 新しいタスクが開始されると、Amazon ECS コンテナエージェントは、指定されたイメージおよびタグの最新バージョンをプルしてコンテナで使用します。ただし、リポジトリイメージの後続の更新がすでに実行されているタスクに反映されることはありません。

  • Amazon ECR リポジトリのイメージは、registry/repository:tag または registry/repository@digest の完全な命名規則を使用して指定できます。例えば、012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE などです。

  • Docker ハブの公式リポジトリのイメージでは、1 つの名前 (例: ubuntumongo) を使用します。

  • Docker ハブの他のリポジトリのイメージは、組織名で修飾されます (例: amazon/amazon-ecs-agent)。

  • 他のオンラインリポジトリのイメージは、さらにドメイン名で修飾されます (例: quay.io/assemblyline/ubuntu)。

必須: いいえ

タイプ: 文字列

Update requires: Replacement

Interactive

このパラメータが true の場合、stdin または tty を割り当てる必要がある、コンテナ化されたアプリケーションをデプロイすることができます。このパラメータは、Docker Remote APICreate a container セクションの OpenStdin にマップされ、--interactive オプションは docker run にマップされます。

必須: いいえ

タイプ: ブール値

Update requires: Replacement

Links

links パラメータでは、コンテナがポートマッピングを必要とせずに互いに通信することを許可します。このパラメータは、タスク定義のネットワークモードが bridge に設定されている場合にのみサポートされます。name:internalName 構造体は Docker リンクの name:alias に似ています。最大 255 文字の英字 (大文字と小文字)、数字、ハイフンを使用できます。Docker コンテナのリンクの詳細については、Docker ドキュメントの「Legacy container links」を参照してください。このパラメータは、Docker Remote APICreate a container セクションの Links にマップされ、--link オプションは docker run にマップされます。

注記

このパラメータは、Windows コンテナや、awsvpc ネットワークモードを使用するタスクではサポートされていません。

重要

1 つのコンテナインスタンスに配置されたコンテナは、リンクやホストポートマッピングを必要とせずに互いに通信できる場合があります。セキュリティグループと VPC 設定を使用して、コンテナインスタンスでネットワークを分離します。

必須: いいえ

タイプ: 文字列のリスト

Update requires: Replacement

LinuxParameters

Linux カーネル機能など、コンテナに適用される Linux 固有の変更。詳細については、「KernelCapabilities」を参照してください。

注記

このパラメータは Windows コンテナではサポートされません。

必須: いいえ

タイプ: LinuxParameters

Update requires: Replacement

LogConfiguration

コンテナのログ設定の仕様。

このパラメータは、Docker Remote APICreate a container (コンテナを作成する) セクションの LogConfig にマップされ、--log-driver オプションは docker run にマップされます。デフォルトでは、コンテナは Docker デーモンで使用されるのと同じロギングドライバーを使用します。ただし、コンテナで Docker デーモンとは異なるログドライバーを使用するには、コンテナの定義内でこのパラメータを使用してログドライバーを指定します。コンテナに異なるロギングドライバーを使用するには、コンテナインスタンス (またはリモートログ記録オプションの別のログサーバー) でログシステムを適切に設定する必要があります。サポートされているさまざまなロギングドライバーのオプションの詳細については、Docker ドキュメントの「ロギングドライバーの設定」を参照してください。

注記

Amazon ECS では現在、Docker デーモンの使用可能なログドライバーがいくつかサポートされています (「LogConfiguration」データ型を参照)。Amazon ECS コンテナエージェントの今後のリリースで他のログドライバーが追加される可能性があります。

このパラメータは、コンテナインスタンスで Docker Remote API バージョン 1.18 以上を使用する必要があります。コンテナインスタンスの Docker Remote API のバージョンを確認するには、コンテナインスタンスにログインし、sudo docker version --format '{{.Server.APIVersion}}' コマンドを実行します。

注記

コンテナインスタンスで実行される Amazon ECS コンテナエージェントは、ECS_AVAILABLE_LOGGING_DRIVERS 環境変数を使用して、そのインスタンスで使用できるロギングドライバーを登録する必要があります。その後、そのインスタンスに配置されたコンテナがこれらのログ設定オプションを使用できるようになります。詳細については、Amazon Elastic Container Service 開発者ガイドの「Amazon ECS コンテナエージェントの設定」を参照してください。

必須: いいえ

タイプ: LogConfiguration

Update requires: Replacement

Memory

コンテナに適用されるメモリの量 (MiB 単位)。コンテナは、ここで指定したメモリを超えようとすると、強制終了されます。タスク内のすべてのコンテナ用に予約されるメモリの合計量は、タスクの memory 値より小さくする必要があります (指定されている場合)。このパラメータは、Docker Remote APICreate a container セクションの Memory にマップされ、--memory オプションは docker run にマップされます。

Fargate 起動タイプを使用する場合、このパラメータはオプションです。

EC2 起動タイプを使用する場合、タスクレベルのメモリ値またはコンテナレベルのメモリ値を指定する必要があります。memory コンテナレベルと memoryReservation 値の両方を指定する場合、memorymemoryReservation より大きくする必要があります。memoryReservation を指定する場合、コンテナが配置されているコンテナインスタンスの使用可能なメモリリソースからその値が減算されます。それ以外の場合は、memory の値が使用されます。

Docker デーモンによってコンテナ用に 4 MiB 以上のメモリが予約されるため、コンテナ用に 4 MiB 未満のメモリを指定しないでください。

必須: いいえ

タイプ: 整数

Update requires: Replacement

MemoryReservation

コンテナ用に予約するメモリのソフト制限 (MiB 単位)。システムメモリの競合が激しい場合、Docker はコンテナメモリをこのソフト制限値に維持しようとします。ただしコンテナは必要に応じて、memory パラメータで指定したハード制限 (該当する場合) に達するか、コンテナインスタンス上の使用可能なメモリの上限に達するか、いずれか早く達する方まで、メモリを使用できます。このパラメータは、Docker Remote APICreate a container セクションの MemoryReservation にマップされ、--memory-reservation オプションは docker run にマップされます。

タスクレベルのメモリ値を指定しない場合、コンテナ定義で memory または memoryReservation の一方または両方に 0 以外の整数を指定する必要があります。両方を指定する場合、memorymemoryReservation より大きいことが必要です。memoryReservation を指定する場合、コンテナが配置されているコンテナインスタンスの使用可能なメモリリソースからその値が減算されます。それ以外の場合は、memory の値が使用されます。

たとえば、コンテナが通常 128 MiB のメモリを使用しているが、短期間に 256 MiB のメモリにバーストする場合は、memoryReservation を 128 MiB に、memory ハード制限を 300 MiB に設定できます。この設定により、コンテナは、コンテナインスタンスの残りのリソースから 128 MiB のメモリのみを確保できますが、必要に応じて追加のメモリリソースを消費できるようにもなります。

Docker デーモンによってコンテナ用に 4 MiB 以上のメモリが予約されるため、コンテナ用に 4 MiB 未満のメモリを指定しないでください。

必須: いいえ

タイプ: 整数

Update requires: Replacement

MountPoints

コンテナでのデータボリュームのマウントポイント。

このパラメータは、Docker Remote APICreate a container セクションの Volumes にマップされ、--volume オプションは docker run にマップされます。

Windows コンテナは $env:ProgramData と同じドライブに全部のディレクトリをマウントできます。Windows コンテナは、別のドライブにディレクトリをマウントできません。また、マウントポイントは複数のドライブにまたがることはできません。

必須: いいえ

タイプ: MountPoint のリスト

Update requires: Replacement

Name

コンテナの名前。タスク定義で複数のコンテナをリンクする場合、あるコンテナの name を別のコンテナの links に入力してコンテナを接続できます。最大 255 文字の英字 (大文字と小文字)、数字、ハイフンを使用できます。このパラメータは、Docker Remote APICreate a container セクションの name にマップされ、--name オプションは docker run にマップされます。

必須: いいえ

タイプ: 文字列

Update requires: Replacement

PortMappings

コンテナのポートマッピングのリスト。ポートマッピングにより、コンテナはホストコンテナインスタンス上のポートにアクセスしてトラフィックを送受信できるようになります。

awsvpc ネットワークモードを使用するタスク定義では、containerPort のみを指定する必要があります。hostPort は、空白のままにするか、containerPort と同じ値にする必要があります。

Windows のポートマッピングでは、localhost の代わりに NetNAT ゲートウェイを使用します。Windows のポートマッピングにはループバックが存在しないため、ホスト自体からコンテナのマッピングされたポートにアクセスすることはできません。

このパラメータは、Docker Remote API の「Create a container」セクションの PortBindings にマップされ、--publish オプションは docker run にマップされます。タスク定義のネットワークモードを none に設定している場合、ポートマッピングを指定することはできません。タスク定義のネットワークモードを host に設定している場合、ホストポートは未定義であるか、ポートマッピングのコンテナポートと一致する必要があります。

注記

タスクが RUNNING ステータスに達すると、手動および自動のホストとコンテナポートの割り当てが、Amazon ECS コンソールの選択したタスクのコンテナ説明の [Network Bindings (ネットワークバインド)] セクションに表示されます。割り当ては、networkBindings セクションの DescribeTasks レスポンスにも表示されます。

必須: いいえ

タイプ: PortMapping のリスト

Update requires: Replacement

Privileged

このパラメータが true のとき、コンテナには、ホストコンテナインスタンスに対する昇格されたアクセス権限 (root ユーザーと同様) が付与されます。このパラメータは、Docker Remote APICreate a container セクションの Privileged にマップされ、--privileged オプションは docker run にマップされます。

注記

このパラメータは、Fargate 起動タイプを使用する Windows コンテナまたはタスクではサポートされていません。

必須: いいえ

タイプ: ブール値

Update requires: Replacement

PseudoTerminal

このパラメータが true の場合、TTY が割り当てられます。このパラメータは、Docker Remote APICreate a container セクションの Tty にマップされ、--tty オプションは docker run にマップされます。

必須: いいえ

タイプ: ブール値

Update requires: Replacement

ReadonlyRootFilesystem

このパラメータが true のとき、コンテナはそのルートファイルシステムへの読み取り専用アクセスを許可されます。このパラメータは、Docker Remote APICreate a container セクションの ReadonlyRootfs にマップされ、--read-only オプションは docker run にマップされます。

注記

このパラメータは、Windows コンテナや、awsvpc ネットワークモードを使用するタスクではサポートされていません。

必須: いいえ

タイプ: ブール値

Update requires: Replacement

RepositoryCredentials

使用するプライベートリポジトリ認証資格情報。

必須: いいえ

タイプ: RepositoryCredentials

Update requires: Replacement

ResourceRequirements

コンテナに割り当てるリソースのタイプと量。サポートされている唯一のリソースは GPU です。

必須: いいえ

タイプ: ResourceRequirement のリスト

Update requires: Replacement

Secrets

コンテナに渡すシークレット。詳細については、Amazon Elastic Container Service 開発者ガイドの「機密データの指定」を参照してください。

必須: いいえ

タイプ: Secret のリスト

Update requires: Replacement

StartTimeout

コンテナの依存関係解決の再試行を止めるまでの待機時間 (秒)。たとえば、タスク定義内に 2 つのコンテナを指定するとします。containerA は、COMPLETESUCCESS、または HEALTHY のいずれかのステータスに到達する containerB に依存関係を持ちます。startTimeout の値が containerB に指定されていて、時間内に目標のステータスを達成しない場合、containerA は再試行を開始しません。これにより、タスクは STOPPED ステータスに移行します。

注記

ECS_CONTAINER_START_TIMEOUT コンテナエージェントの設定変数を使用すると、この開始タイムアウト値から個別に変数が適用されます。

Fargate 起動タイプを使用するタスクの場合、このパラメータにはタスクまたはサービスでプラットフォームバージョン 1.3.0 以降を使用する必要があります。

EC2 起動タイプを使用するタスクでは、コンテナインスタンスはコンテナの開始時刻の値を有効にするために、コンテナエージェントのバージョン 1.26.0 以降を必要とします。ただし、最新のコンテナエージェントのバージョンを使用することをお勧めします。エージェントのバージョンの確認と最新バージョンへの更新の詳細については、Amazon Elastic Container Service 開発者ガイドの「Amazon ECS コンテナエージェントの更新」を参照してください。Amazon ECS 対応 Linux AMI を使用している場合、インスタンスでは、ecs-init パッケージの 1.26.0-1 バージョン以降が必要です。コンテナインスタンスがバージョン 20190301 以降から起動される場合、コンテナエージェントおよび ecs-init の必要なバージョンが含まれます。詳細については、Amazon Elastic Container Service 開発者ガイドの「Amazon ECS に最適化された Linux AMI」を参照してください。

必須: いいえ

タイプ: 整数

Update requires: Replacement

StopTimeout

コンテナが正常に終了しなかった場合にコンテナが強制終了されるまでの待機時間 (秒)。

Fargate 起動タイプを使用するタスクの場合、タスクまたはサービスにはプラットフォームバージョン 1.3.0 以降が必要です。最大停止タイムアウト値は 120 秒です。パラメータを指定しない場合は、デフォルト値の 30 秒が使用されます。

EC2 起動タイプを使用するタスクでは、stopTimeout パラメータが指定されていない場合、Amazon ECS コンテナエージェント設定変数 ECS_CONTAINER_STOP_TIMEOUT に設定された値がデフォルトで使用されます。stopTimeout パラメータまたは ECS_CONTAINER_STOP_TIMEOUT エージェント設定変数のいずれも設定されていない場合、Linux コンテナの場合は 30 秒、Windows コンテナの場合は 30 秒というデフォルト値が使用されます。コンテナインスタンスには、コンテナ停止タイムアウト値を有効にするために、コンテナエージェントのバージョン 1.26.0 以上が必要です。ただし、最新のコンテナエージェントのバージョンを使用することをお勧めします。エージェントのバージョンの確認と最新バージョンへの更新の詳細については、Amazon Elastic Container Service 開発者ガイドの「Amazon ECS コンテナエージェントの更新」を参照してください。Amazon ECS 対応 Linux AMI を使用している場合、インスタンスでは、ecs-init パッケージの 1.26.0-1 バージョン以上が必要です。コンテナインスタンスがバージョン 20190301 以降から起動される場合、コンテナエージェントおよび ecs-init の必要なバージョンが含まれます。詳細については、Amazon Elastic Container Service 開発者ガイドの「Amazon ECS に最適化された Linux AMI」を参照してください。

必須: いいえ

タイプ: 整数

Update requires: Replacement

SystemControls

コンテナ内で設定する名前空間カーネルパラメータのリスト。このパラメータは、Docker Remote APICreate a container セクションの Sysctls にマップされ、--sysctl オプションは docker run にマップされます。

注記

awsvpc または host ネットワークモードも使用する単一のタスクで、複数のコンテナに対してネットワーク関連の systemControls パラメータを指定することは推奨されません。awsvpc ネットワークモードを使用するタスクの場合、最後に開始されたコンテナによって、どの systemControls パラメータが有効になるかが決まります。host ネットワークモードを使用するタスクの場合、コンテナインスタンスの名前空間のカーネルパラメータとコンテナが変更されます。

必須: いいえ

タイプ: SystemControl のリスト

Update requires: Replacement

Ulimits

コンテナで設定する ulimits のリスト。このパラメータは、Docker Remote API の「Create a container」セクションの Ulimits にマップされ、--ulimit オプションは docker run にマップされます。有効な命名値は Ulimit データ型で表示されます。このパラメータは、コンテナインスタンスで Docker Remote API バージョン 1.18 以上を使用する必要があります。コンテナインスタンスの Docker Remote API のバージョンを確認するには、コンテナインスタンスにログインし、sudo docker version --format '{{.Server.APIVersion}}' コマンドを実行します。

注記

このパラメータは Windows コンテナではサポートされません。

必須: いいえ

タイプ: Ulimit のリスト

Update requires: Replacement

User

コンテナ内で使用するユーザー名。このパラメータは、Docker Remote APICreate a container セクションの User にマップされ、--user オプションは docker run にマップされます。

以下のフォーマットを使用できます。UID または GID を指定する場合は、正の整数として指定する必要があります。

  • user

  • user:group

  • uid

  • uid:gid

  • user:gid

  • uid:group

注記

このパラメータは、Windows コンテナや、awsvpc ネットワークモードを使用するタスクではサポートされていません。

必須: いいえ

タイプ: 文字列

Update requires: Replacement

VolumesFrom

別コンテナからマウントするデータボリューム。このパラメータは、Docker Remote APICreate a container セクションの VolumesFrom にマップされ、--volumes-from オプションは docker run にマップされます。

必須: いいえ

タイプ: VolumeFrom のリスト

Update requires: Replacement

WorkingDirectory

コンテナ内でコマンドを実行する作業ディレクトリ。このパラメータは、Docker Remote APICreate a container セクションの WorkingDir にマップされ、--workdir オプションは docker run にマップされます。

必須: いいえ

タイプ: 文字列

Update requires: Replacement