Amazon Elastic Container Service
開発者ガイド (API バージョン 2014-11-13)

ecs-cli compose create

Compose ファイルから Amazon ECS タスク定義を作成します。

重要

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

重要

記載されている機能の一部は、ECS CLI の最新バージョンでのみ使用可能です。最新バージョンを取得するには、「Amazon ECS CLI のインストール」を参照してください。

構文

ecs-cli compose create [--region region] [--cluster-config cluster_config_name] [--ecs-profile ecs_profile] [--aws-profile aws_profile] [--cluster cluster_name] [--launch-type launch_type] [--create-log-groups] [--tags key1=value1,key2=value2] [--help]

オプション

名前 説明

--region, -r region

使用する AWS リージョンを指定します。configure コマンドを使用して設定したクラスターにデフォルトが設定されます。

型: 文字列

必須: いいえ

--cluster-config cluster_config_name

使用する Amazon ECS クラスター設定の名前を指定します。デフォルトでは、デフォルトとして設定するクラスター設定が指定されます。

型: 文字列

必須: いいえ

--ecs-profile ecs_profile

使用する Amazon ECS プロファイル設定の名前を指定します。configure profile コマンドを使用して設定したプロファイルにデフォルト設定されます。

型: 文字列

必須: いいえ

--aws-profile aws_profile

使用する AWS プロファイルを指定します。~/.aws/credentials という名前の既存のプロファイルから、AWS 認証情報を使用することができます。

型: 文字列

必須: いいえ

--cluster, -c cluster_name

使用する Amazon ECS クラスター名を指定します。configure コマンドを使用して設定したクラスターにデフォルトが設定されます。

型: 文字列

必須: いいえ

--launch-type launch_type 使用する起動タイプを指定します。使用できるオプションは、FARGATE または EC2 です。起動タイプの詳細については、「Amazon ECS 起動タイプ」を参照してください。

これにより、クラスタ設定に格納されているデフォルトの起動タイプが上書きされます。

型: 文字列

必須: いいえ

--create-log-groups

構成ファイルで指定された CloudWatch ロググループを作成します。

必須: いいえ

--tags key1=value1,key2=value2

AWS リソースに適用されるメタデータを指定します。各タグはキーとオプションの値で構成されます。タグは次の形式を使用します: key1=value1,key2=value2,key3=value3。詳細については、「リソースのタグ付け」を参照してください。

タイプ: キー値ペア

必須: いいえ

--help, -h

指定したコマンドのヘルプテキストを表示します。

必須: いいえ

リソースのタグ付け

Amazon ECS CLI では AWS リソースにリソースタグの形式でメタデータを追加できます。各タグはキーとオプションの値で構成されます。リソースタグはコスト配分、オートメーション、アクセスコントロールに使用できます。詳細については、「AWS タグ付け戦略」を参照してください。

ecs-cli compose create コマンドを使用する場合、--tags フラグを使用して、タスク定義にメタデータタグを追加することができます。

タスク定義を登録する

この例では、hello-world.yml Compose ファイルからプロジェクト名 hello-world でタスク定義を作成します。

ecs-cli compose --project-name hello-world --file hello-world.yml create --launch-type EC2

出力:

INFO[0000] Using ECS task definition TaskDefinition=ecscompose-hello-world:5

EC2 起動タイプを使用するタスクでタスクネットワーキングを使用しない場合のタスク定義を登録する

この例では、hello-world.yml Compose ファイルからプロジェクト名 hello-world でタスク定義を作成します。追加の ECS パラメータは、コンテナサイズのパラメータで指定します。

サンプル Docker Compose ファイル hello-world.yml:

version: '3' services: nginx: image: nginx:latest ports: - "80:80" logging: driver: awslogs options: awslogs-group: /ecs/cli/tutorial awslogs-region: us-east-1 awslogs-stream-prefix: nginx

サンプル ECS parameters ファイル ecs-params.yml:

version: 1 task_definition: services: nginx: cpu_shares: 256 mem_limit: 0.5GB mem_reservation: 0.5GB
ecs-cli compose --project-name hello-world --file hello-world.yml --ecs-params ecs-params.yml --region us-east-1 create --launch-type EC2

出力:

INFO[0000] Using ECS task definition TaskDefinition=ecscompose-hello-world:5

Fargate 起動タイプを使用してタスク定義を登録する

この例では、hello-world.yml Compose ファイルからプロジェクト名 hello-world でタスク定義を作成します。追加の ECS パラメータは、Fargate 起動タイプを使用するタスクのネットワーキング設定で指定します。次に、そのタスクの 1 つのインスタンスを実行します。

サンプル Docker Compose ファイル hello-world.yml:

version: '3' services: nginx: image: nginx:latest ports: - "80:80" logging: driver: awslogs options: awslogs-group: tutorial awslogs-region: us-east-1 awslogs-stream-prefix: nginx

サンプル ECS parameters ファイル ecs-params.yml:

version: 1 task_definition: task_execution_role: ecsTaskExecutionRole ecs_network_mode: awsvpc task_size: mem_limit: 0.5GB cpu_limit: 256 run_params: network_configuration: awsvpc_configuration: subnets: - subnet-abcd1234 - subnet-dbca4321 security_groups: - sg-abcd1234 assign_public_ip: ENABLED

コマンド:

ecs-cli compose --project-name hello-world --file hello-world.yml --ecs-params ecs-params.yml --region us-east-1 create --launch-type FARGATE

出力:

INFO[0000] Using ECS task definition TaskDefinition=ecscompose-hello-world:5