を使用した Amazon ECSの例 AWS CLI - AWS Command Line Interface

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用した Amazon ECSの例 AWS CLI

次のコード例は、Amazon AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示していますECS。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には、完全なソースコードへのリンクが含まれています。このリンクには、コンテキスト内でコードをセットアップして実行する方法の手順が記載されています。

トピック

アクション

次の例は、create-capacity-provider を使用する方法を説明しています。

AWS CLI

キャパシティープロバイダーを作成するには

次の create-capacity-provider 例では、My という名前の Auto Scaling グループを使用しASG、マネージドスケーリングとマネージド終了保護が有効になっているキャパシティープロバイダーを作成します。この設定は、Amazon ECSクラスターの自動スケーリングに使用されます。

aws ecs create-capacity-provider \ --name "MyCapacityProvider" \ --auto-scaling-group-provider "autoScalingGroupArn=arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:57ffcb94-11f0-4d6d-bf60-3bac5EXAMPLE:autoScalingGroupName/MyASG,managedScaling={status=ENABLED,targetCapacity=100},managedTerminationProtection=ENABLED"

出力:

{ "capacityProvider": { "capacityProviderArn": "arn:aws:ecs:us-east-1:123456789012:capacity-provider/MyCapacityProvider", "name": "MyCapacityProvider", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "arn:aws:autoscaling:us-east-1:132456789012:autoScalingGroup:57ffcb94-11f0-4d6d-bf60-3bac5EXAMPLE:autoScalingGroupName/MyASG", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 10000, "instanceWarmupPeriod": 300 }, "managedTerminationProtection": "ENABLED" }, "tags": [] }

詳細については、「Amazon デベロッパーガイド」の「Amazon ECSクラスターの自動スケーリング」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスCreateCapacityProvider」の「」を参照してください。 AWS CLI

次のコード例は、create-cluster を使用する方法を示しています。

AWS CLI

例 1: 新しいクラスターを作成するには

以下の create-cluster の例は、クラスターを作成します。

aws ecs create-cluster \ --cluster-name MyCluster

出力:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "MyCluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [] } }

詳細については、「Amazon ECS デベロッパーガイド」の「クラスターの作成」を参照してください。

例 2: キャパシティプロバイダーを使用して新しいクラスターを作成するには

次の create-cluster の例は、クラスターを作成し、2 つの既存のキャパシティプロバイダーをそのクラスターに関連付けます。キャパシティープロバイダーを作成するには、create-capacity-provider コマンドを使用します。デフォルトのキャパシティープロバイダー戦略を指定することは任意ですが、指定することをお勧めします。この例では、MyCluster という名前のクラスターを作成し、MyCapacityProvider1MyCapacityProvider2 をキャパシティプロバイダーに関連付けます。デフォルトのキャパシティープロバイダー戦略は、タスクを両方のキャパシティープロバイダーに均等に分散するように指定されています。

aws ecs create-cluster --cluster-name MyCluster --capacity-providers MyCapacityProvider1 MyCapacityProvider2 --default-capacity-provider-strategy capacityProvider=MyCapacityProvider1,weight=1 capacityProvider=MyCapacityProvider2,weight=1

出力:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "MyCluster", "status": "PROVISIONING", "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 0, "statistics": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ], "capacityProviders": [ "MyCapacityProvider1", "MyCapacityProvider2" ], "defaultCapacityProviderStrategy": [ { "capacityProvider": "MyCapacityProvider1", "weight": 1, "base": 0 }, { "capacityProvider": "MyCapacityProvider2", "weight": 1, "base": 0 } ], "attachments": [ { "id": "0fb0c8f4-6edd-4de1-9b09-17e470ee1918", "type": "asp", "status": "PRECREATED", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider1" }, { "name": "scalingPlanName", "value": "ECSManagedAutoScalingPlan-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } ] }, { "id": "ae592060-2382-4663-9476-b015c685593c", "type": "asp", "status": "PRECREATED", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider2" }, { "name": "scalingPlanName", "value": "ECSManagedAutoScalingPlan-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" } ] } ], "attachmentsStatus": "UPDATE_IN_PROGRESS" } }

詳細については、「Amazon ECSデベロッパーガイド」の「クラスターキャパシティープロバイダー」を参照してください。

例 3: 複数のタグを含む新しいクラスターを作成するには

次の create-cluster の例は、複数のタグを含むクラスターを作成します。短縮構文を使用したタグの追加の詳細については、「 ユーザーガイド」の AWS 「 コマンドラインインターフェイスでの短縮構文の使用AWS CLI」を参照してください。

aws ecs create-cluster \ --cluster-name MyCluster \ --tags key=key1,value=value1 key=key2,value=value2 key=key3,value=value3

出力:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "MyCluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ] } }

詳細については、「Amazon ECS デベロッパーガイド」の「クラスターの作成」を参照してください。

  • API 詳細については、「 コマンドリファレンスCreateCluster」の「」を参照してください。 AWS CLI

次のコード例は、create-service を使用する方法を示しています。

AWS CLI

例 1: Fargate タスクを使用してサービスを作成するには

次の create-service の例は、Fargate タスクを使用してサービスを作成する方法を示しています。

aws ecs create-service \ --cluster MyCluster \ --service-name MyService \ --task-definition sample-fargate:1 \ --desired-count 2 \ --launch-type FARGATE \ --platform-version LATEST \ --network-configuration "awsvpcConfiguration={subnets=[subnet-12344321],securityGroups=[sg-12344321],assignPublicIp=ENABLED}" \ --tags key=key1,value=value1 key=key2,value=value2 key=key3,value=value3

出力:

{ "service": { "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService", "serviceName": "MyService", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "loadBalancers": [], "serviceRegistries": [], "status": "ACTIVE", "desiredCount": 2, "runningCount": 0, "pendingCount": 0, "launchType": "FARGATE", "platformVersion": "LATEST", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:1", "deploymentConfiguration": { "maximumPercent": 200, "minimumHealthyPercent": 100 }, "deployments": [ { "id": "ecs-svc/1234567890123456789", "status": "PRIMARY", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:1", "desiredCount": 2, "pendingCount": 0, "runningCount": 0, "createdAt": 1557119253.821, "updatedAt": 1557119253.821, "launchType": "FARGATE", "platformVersion": "1.3.0", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "ENABLED" } } } ], "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", "events": [], "createdAt": 1557119253.821, "placementConstraints": [], "placementStrategy": [], "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "ENABLED" } }, "schedulingStrategy": "REPLICA", "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ], "enableECSManagedTags": false, "propagateTags": "NONE" } }

例 2: EC2起動タイプを使用してサービスを作成するには

次のcreate-service例は、 EC2起動タイプを使用するタスクecs-simple-serviceで と呼ばれるサービスを作成する方法を示しています。このサービスは sleep360 タスク定義を使用し、タスクのインスタンスを 1 つ保持します。

aws ecs create-service \ --cluster MyCluster \ --service-name ecs-simple-service \ --task-definition sleep360:2 \ --desired-count 1

出力:

{ "service": { "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/ecs-simple-service", "serviceName": "ecs-simple-service", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "loadBalancers": [], "serviceRegistries": [], "status": "ACTIVE", "desiredCount": 1, "runningCount": 0, "pendingCount": 0, "launchType": "EC2", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep360:2", "deploymentConfiguration": { "maximumPercent": 200, "minimumHealthyPercent": 100 }, "deployments": [ { "id": "ecs-svc/1234567890123456789", "status": "PRIMARY", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep360:2", "desiredCount": 1, "pendingCount": 0, "runningCount": 0, "createdAt": 1557206498.798, "updatedAt": 1557206498.798, "launchType": "EC2" } ], "events": [], "createdAt": 1557206498.798, "placementConstraints": [], "placementStrategy": [], "schedulingStrategy": "REPLICA", "enableECSManagedTags": false, "propagateTags": "NONE" } }

例 3: 外部のデプロイコントローラーを使用するサービスを作成するには

次の create-service の例は、外部のデプロイコントローラーを使用するサービスを作成します。

aws ecs create-service \ --cluster MyCluster \ --service-name MyService \ --deployment-controller type=EXTERNAL \ --desired-count 1

出力:

{ "service": { "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService", "serviceName": "MyService", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "loadBalancers": [], "serviceRegistries": [], "status": "ACTIVE", "desiredCount": 1, "runningCount": 0, "pendingCount": 0, "launchType": "EC2", "deploymentConfiguration": { "maximumPercent": 200, "minimumHealthyPercent": 100 }, "taskSets": [], "deployments": [], "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", "events": [], "createdAt": 1557128207.101, "placementConstraints": [], "placementStrategy": [], "schedulingStrategy": "REPLICA", "deploymentController": { "type": "EXTERNAL" }, "enableECSManagedTags": false, "propagateTags": "NONE" } }

例 4: ロードバランサーの背後に新しいサービスを作成するには

次の create-service の例は、ロードバランサーの背後にサービスを作成する方法を示しています。コンテナインスタンスと同じリージョンに、ロードバランサーを設定する必要があります。この例では、 --cli-input-jsonオプションと、次の内容ecs-simple-service-elb.jsonの という名前JSONの入力ファイルを使用します。

{ "serviceName": "ecs-simple-service-elb", "taskDefinition": "ecs-demo", "loadBalancers": [ { "loadBalancerName": "EC2Contai-EcsElast-123456789012", "containerName": "simple-demo", "containerPort": 80 } ], "desiredCount": 10, "role": "ecsServiceRole" }

コマンド:

aws ecs create-service \ --cluster MyCluster \ --service-name ecs-simple-service-elb \ --cli-input-json file://ecs-simple-service-elb.json

出力:

{ "service": { "status": "ACTIVE", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/ecs-demo:1", "pendingCount": 0, "loadBalancers": [ { "containerName": "ecs-demo", "containerPort": 80, "loadBalancerName": "EC2Contai-EcsElast-123456789012" } ], "roleArn": "arn:aws:iam::123456789012:role/ecsServiceRole", "desiredCount": 10, "serviceName": "ecs-simple-service-elb", "clusterArn": "arn:aws:ecs:<us-west-2:123456789012:cluster/MyCluster", "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/ecs-simple-service-elb", "deployments": [ { "status": "PRIMARY", "pendingCount": 0, "createdAt": 1428100239.123, "desiredCount": 10, "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/ecs-demo:1", "updatedAt": 1428100239.123, "id": "ecs-svc/1234567890123456789", "runningCount": 0 } ], "events": [], "runningCount": 0 } }

詳細については、「Amazon ECS デベロッパーガイド」の「サービスの作成」を参照してください。

  • API 詳細については、「 コマンドリファレンスCreateService」の「」を参照してください。 AWS CLI

次のコード例は、create-task-set を使用する方法を示しています。

AWS CLI

タスクセットを作成するには

次のcreate-task-set例では、外部デプロイコントローラーを使用するサービスにタスクセットを作成します。

aws ecs create-task-set \ --cluster MyCluster \ --service MyService \ --task-definition MyTaskDefinition:2 \ --network-configuration "awsvpcConfiguration={subnets=[subnet-12344321],securityGroups=[sg-12344321]}"

出力:

{ "taskSet": { "id": "ecs-svc/1234567890123456789", "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", "status": "ACTIVE", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/MyTaskDefinition:2", "computedDesiredCount": 0, "pendingCount": 0, "runningCount": 0, "createdAt": 1557128360.711, "updatedAt": 1557128360.711, "launchType": "EC2", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "DISABLED" } }, "loadBalancers": [], "serviceRegistries": [], "scale": { "value": 0.0, "unit": "PERCENT" }, "stabilityStatus": "STABILIZING", "stabilityStatusAt": 1557128360.711 } }
  • API 詳細については、「 コマンドリファレンスCreateTaskSet」の「」を参照してください。 AWS CLI

次の例は、delete-account-setting を使用する方法を説明しています。

AWS CLI

特定のIAMユーザーまたはIAMロールのアカウント設定を削除するには

次の例では、特定のIAMユーザーまたはIAMロールのアカウント設定delete-account-settingを削除します。

aws ecs delete-account-setting \ --name serviceLongArnFormat \ --principal-arn arn:aws:iam::123456789012:user/MyUser

出力:

{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } }

詳細については、「Amazon デベロッパーガイド」の「Amazon リソースネーム (ARNs)」およびIDs「」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスDeleteAccountSetting」の「」を参照してください。 AWS CLI

次のコード例は、delete-attributes を使用する方法を示しています。

AWS CLI

Amazon ECSリソースから 1 つ以上のカスタム属性を削除するには

以下では、コンテナインスタンスstackから という名前の属性delete-attributesを削除します。

aws ecs delete-attributes \ --attributes name=stack,targetId=arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34

出力:

{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }
  • API 詳細については、「 コマンドリファレンスDeleteAttributes」の「」を参照してください。 AWS CLI

次の例は、delete-capacity-provider を使用する方法を説明しています。

AWS CLI

例 1: Amazon リソースネーム (ARN) を使用してキャパシティープロバイダーを削除するには

次のdelete-capacity-provider例では、キャパシティープロバイダーの Amazon リソースネーム (ARN) を指定して、キャパシティープロバイダーを削除します。ARN およびキャパシティープロバイダーの削除のステータスは、 describe-capacity-providers コマンドを使用して取得できます。

aws ecs delete-capacity-provider \ --capacity-provider arn:aws:ecs:us-west-2:123456789012:capacity-provider/ExampleCapacityProvider

出力:

{ "capacityProvider": { "capacityProviderArn": "arn:aws:ecs:us-west-2:123456789012:capacity-provider/ExampleCapacityProvider", "name": "ExampleCapacityProvider", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 10000 }, "managedTerminationProtection": "DISABLED" }, "updateStatus": "DELETE_IN_PROGRESS", "tags": [] } }

詳細については、「Amazon ECSデベロッパーガイド」の「クラスターキャパシティープロバイダー」を参照してください。

例 2: 名前を使用してキャパシティープロバイダーを削除するには

次のdelete-capacity-provider例では、キャパシティープロバイダーの短縮名を指定してキャパシティープロバイダーを削除します。短縮名とキャパシティープロバイダーの削除ステータスは、 describe-capacity-providers コマンドを使用して取得できます。

aws ecs delete-capacity-provider \ --capacity-provider ExampleCapacityProvider

出力:

{ "capacityProvider": { "capacityProviderArn": "arn:aws:ecs:us-west-2:123456789012:capacity-provider/ExampleCapacityProvider", "name": "ExampleCapacityProvider", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 10000 }, "managedTerminationProtection": "DISABLED" }, "updateStatus": "DELETE_IN_PROGRESS", "tags": [] } }

詳細については、「Amazon ECSデベロッパーガイド」の「クラスターキャパシティープロバイダー」を参照してください。

  • API 詳細については、「 コマンドリファレンスDeleteCapacityProvider」の「」を参照してください。 AWS CLI

次のコード例は、delete-cluster を使用する方法を示しています。

AWS CLI

空のクラスターを削除するには

次の delete-cluster の例は、指定された空のクラスターを削除します。

aws ecs delete-cluster --cluster MyCluster

出力:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "status": "INACTIVE", "clusterName": "MyCluster", "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 0 "statistics": [], "tags": [] } }

詳細については、「Amazon ECSデベロッパーガイド」の「クラスターの削除」を参照してください。

  • API 詳細については、「 コマンドリファレンスDeleteCluster」の「」を参照してください。 AWS CLI

次のコード例は、delete-service を使用する方法を示しています。

AWS CLI

サービスを削除するには

次の ecs delete-service の例は、指定されたサービスをクラスターから削除します。--force パラメータを含めると、タスクがゼロになっていない場合でも、サービスを削除することができます。

aws ecs delete-service --cluster MyCluster --service MyService1 --force

詳細については、「Amazon ECS デベロッパーガイド」の「サービスの削除」を参照してください。

  • API 詳細については、「 コマンドリファレンスDeleteService」の「」を参照してください。 AWS CLI

次のコード例は、delete-task-definitions を使用する方法を示しています。

AWS CLI

タスク定義を削除するには

次のdelete-task-definitions例では、 INACTIVEタスク定義を削除します。

aws ecs delete-task-definitions \ --task-definition curltest:1

出力:

{ "taskDefinitions": [ { "taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/curltest:1", "containerDefinitions": [ { "name": "ctest", "image": "mreferre/eksutils", "cpu": 0, "portMappings": [], "essential": true, "entryPoint": [ "sh", "-c" ], "command": [ "curl ${ECS_CONTAINER_METADATA_URI_V4}/task" ], "environment": [], "mountPoints": [], "volumesFrom": [], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-create-group": "true", "awslogs-group": "/ecs/curltest", "awslogs-region": "us-east-1", "awslogs-stream-prefix": "ecs" } } } ], "family": "curltest", "taskRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole", "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole", "networkMode": "awsvpc", "revision": 1, "volumes": [], "status": "DELETE_IN_PROGRESS", "compatibilities": [ "EC2", "FARGATE" ], "requiresCompatibilities": [ "FARGATE" ], "cpu": "256", "memory": "512", "registeredAt": "2021-09-10T12:56:24.704000+00:00", "deregisteredAt": "2023-03-14T15:20:59.419000+00:00", "registeredBy": "arn:aws:sts::123456789012:assumed-role/Admin/jdoe" } ], "failures": [] }

詳細については、「Amazon デベロッパーガイド」の「Amazon ECSタスク定義」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスDeleteTaskDefinitions」の「」を参照してください。 AWS CLI

次の例は、delete-task-set を使用する方法を説明しています。

AWS CLI

タスクセットを削除するには

次のdelete-task-set例は、タスクセットを削除する方法を示しています。--force パラメータを含めると、ゼロにスケーリングされていなくてもタスクセットを削除できます。

aws ecs delete-task-set \ --cluster MyCluster \ --service MyService \ --task-set arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789 \ --force

出力:

{ "taskSet": { "id": "ecs-svc/1234567890123456789", "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", "status": "DRAINING", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:2", "computedDesiredCount": 0, "pendingCount": 0, "runningCount": 0, "createdAt": 1557130260.276, "updatedAt": 1557130290.707, "launchType": "EC2", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12345678" ], "securityGroups": [ "sg-12345678" ], "assignPublicIp": "DISABLED" } }, "loadBalancers": [], "serviceRegistries": [], "scale": { "value": 0.0, "unit": "PERCENT" }, "stabilityStatus": "STABILIZING", "stabilityStatusAt": 1557130290.707 } }
  • API 詳細については、「 コマンドリファレンスDeleteTaskSet」の「」を参照してください。 AWS CLI

次のコード例は、deregister-container-instance を使用する方法を示しています。

AWS CLI

クラスターからコンテナインスタンスを登録解除するには

次のderegister-container-instance例では、指定されたクラスターからコンテナインスタンスを登録解除します。コンテナインスタンスでまだ実行中のタスクがある場合は、登録解除する前にそれらのタスクを停止するか、 --forceオプションを使用する必要があります。

aws ecs deregister-container-instance \ --cluster arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster \ --container-instance arn:aws:ecs:us-west-2:123456789012:container-instance/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \ --force

出力:

{ "containerInstance": { "remainingResources": [ { "integerValue": 1024, "doubleValue": 0.0, "type": "INTEGER", "longValue": 0, "name": "CPU" }, { "integerValue": 985, "doubleValue": 0.0, "type": "INTEGER", "longValue": 0, "name": "MEMORY" }, { "type": "STRINGSET", "integerValue": 0, "name": "PORTS", "stringSetValue": [ "22", "2376", "2375", "51678", "51679" ], "longValue": 0, "doubleValue": 0.0 }, { "type": "STRINGSET", "integerValue": 0, "name": "PORTS_UDP", "stringSetValue": [], "longValue": 0, "doubleValue": 0.0 } ], "agentConnected": true, "attributes": [ { "name": "ecs.capability.secrets.asm.environment-variables" }, { "name": "com.amazonaws.ecs.capability.logging-driver.syslog" }, { "value": "ami-01a82c3fce2c3ba58", "name": "ecs.ami-id" }, { "name": "ecs.capability.secrets.asm.bootstrap.log-driver" }, { "name": "com.amazonaws.ecs.capability.logging-driver.none" }, { "name": "ecs.capability.ecr-endpoint" }, { "name": "com.amazonaws.ecs.capability.logging-driver.json-file" }, { "value": "vpc-1234567890123467", "name": "ecs.vpc-id" }, { "name": "ecs.capability.execution-role-awslogs" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.17" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.18" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.19" }, { "name": "ecs.capability.docker-plugin.local" }, { "name": "ecs.capability.task-eni" }, { "name": "ecs.capability.task-cpu-mem-limit" }, { "name": "ecs.capability.secrets.ssm.bootstrap.log-driver" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.30" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.31" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.32" }, { "name": "ecs.capability.execution-role-ecr-pull" }, { "name": "ecs.capability.container-health-check" }, { "value": "subnet-1234567890123467", "name": "ecs.subnet-id" }, { "value": "us-west-2a", "name": "ecs.availability-zone" }, { "value": "t2.micro", "name": "ecs.instance-type" }, { "name": "com.amazonaws.ecs.capability.task-iam-role-network-host" }, { "name": "ecs.capability.aws-appmesh" }, { "name": "com.amazonaws.ecs.capability.logging-driver.awslogs" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.24" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.25" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.26" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.27" }, { "name": "com.amazonaws.ecs.capability.privileged-container" }, { "name": "ecs.capability.container-ordering" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.28" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.29" }, { "value": "x86_64", "name": "ecs.cpu-architecture" }, { "value": "93f43776-2018.10.0", "name": "ecs.capability.cni-plugin-version" }, { "name": "ecs.capability.secrets.ssm.environment-variables" }, { "name": "ecs.capability.pid-ipc-namespace-sharing" }, { "name": "com.amazonaws.ecs.capability.ecr-auth" }, { "value": "linux", "name": "ecs.os-type" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.20" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.21" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.22" }, { "name": "ecs.capability.task-eia" }, { "name": "ecs.capability.private-registry-authentication.secretsmanager" }, { "name": "com.amazonaws.ecs.capability.task-iam-role" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.23" } ], "pendingTasksCount": 0, "tags": [], "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "registeredResources": [ { "integerValue": 1024, "doubleValue": 0.0, "type": "INTEGER", "longValue": 0, "name": "CPU" }, { "integerValue": 985, "doubleValue": 0.0, "type": "INTEGER", "longValue": 0, "name": "MEMORY" }, { "type": "STRINGSET", "integerValue": 0, "name": "PORTS", "stringSetValue": [ "22", "2376", "2375", "51678", "51679" ], "longValue": 0, "doubleValue": 0.0 }, { "type": "STRINGSET", "integerValue": 0, "name": "PORTS_UDP", "stringSetValue": [], "longValue": 0, "doubleValue": 0.0 } ], "status": "INACTIVE", "registeredAt": 1557768075.681, "version": 4, "versionInfo": { "agentVersion": "1.27.0", "agentHash": "aabe65ee", "dockerVersion": "DockerVersion: 18.06.1-ce" }, "attachments": [], "runningTasksCount": 0, "ec2InstanceId": "i-12345678901234678" } }

詳細については、「 ECSデベロッパーガイド」の「コンテナインスタンスの登録解除」を参照してください。

  • API 詳細については、「 コマンドリファレンスDeregisterContainerInstance」の「」を参照してください。 AWS CLI

次のコード例は、deregister-task-definition を使用する方法を示しています。

AWS CLI

タスク定義の登録を解除するには

次のderegister-task-definition例では、デフォルトのリージョンでcurlerタスク定義の最初のリビジョンを登録解除します。

aws ecs deregister-task-definition --task-definition curler:1

結果の出力では、タスク定義のステータスが と表示されることに注意してくださいINACTIVE

{ "taskDefinition": { "status": "INACTIVE", "family": "curler", "volumes": [], "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/curler:1", "containerDefinitions": [ { "environment": [], "name": "curler", "mountPoints": [], "image": "curl:latest", "cpu": 100, "portMappings": [], "entryPoint": [], "memory": 256, "command": [ "curl -v http://example.com/" ], "essential": true, "volumesFrom": [] } ], "revision": 1 } }

詳細については、「Amazon デベロッパーガイド」の「Amazon ECSタスク定義」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスDeregisterTaskDefinition」の「」を参照してください。 AWS CLI

次の例は、describe-capacity-providers を使用する方法を説明しています。

AWS CLI

例 1: すべてのキャパシティープロバイダーを記述するには

次のdescribe-capacity-providers例では、すべてのキャパシティープロバイダーの詳細を取得します。

aws ecs describe-capacity-providers

出力:

{ "capacityProviders": [ { "capacityProviderArn": "arn:aws:ecs:us-west-2:123456789012:capacity-provider/MyCapacityProvider", "name": "MyCapacityProvider", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 1000 }, "managedTerminationProtection": "ENABLED" }, "tags": [] }, { "capacityProviderArn": "arn:aws:ecs:us-west-2:123456789012:capacity-provider/FARGATE", "name": "FARGATE", "status": "ACTIVE", "tags": [] }, { "capacityProviderArn": "arn:aws:ecs:us-west-2:123456789012:capacity-provider/FARGATE_SPOT", "name": "FARGATE_SPOT", "status": "ACTIVE", "tags": [] } ] }

詳細については、「Amazon ECSデベロッパーガイド」の「クラスターキャパシティープロバイダー」を参照してください。

例 2: 特定のキャパシティープロバイダーを記述するには

次のdescribe-capacity-providers例では、特定のキャパシティープロバイダーの詳細を取得します。--include TAGS パラメータを使用すると、キャパシティープロバイダーに関連付けられたタグが出力に追加されます。

aws ecs describe-capacity-providers \ --capacity-providers MyCapacityProvider \ --include TAGS

出力:

{ "capacityProviders": [ { "capacityProviderArn": "arn:aws:ecs:us-west-2:123456789012:capacity-provider/MyCapacityProvider", "name": "MyCapacityProvider", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 1000 }, "managedTerminationProtection": "ENABLED" }, "tags": [ { "key": "environment", "value": "production" } ] } ] }

詳細については、「Amazon ECSデベロッパーガイド」の「クラスターキャパシティープロバイダー」を参照してください。

  • API 詳細については、「 コマンドリファレンスDescribeCapacityProviders」の「」を参照してください。 AWS CLI

次のコード例は、describe-clusters を使用する方法を示しています。

AWS CLI

例 1: クラスターを記述するには

次の describe-clusters の例は、指定されたクラスターの詳細情報を取得します。

aws ecs describe-clusters \ --cluster default

出力:

{ "clusters": [ { "status": "ACTIVE", "clusterName": "default", "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 1, "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/default" } ], "failures": [] }

詳細については、「Amazon デベロッパーガイドECS」の「Amazon クラスター」を参照してください。 ECS

例 2: 添付ファイルオプションを使用してクラスターを記述するには

次のdescribe-clusters例では、 ATTACHMENTSオプションを指定します。指定されたクラスターの詳細情報と、クラスターにアタッチされているリソースのリストを添付ファイルの形式で取得します。クラスターでキャパシティープロバイダーを使用する場合、リソースは AutoScaling プランまたはスケーリングポリシーのいずれかで、asp または as_policy として表されますATTACHMENTS。

aws ecs describe-clusters \ --include ATTACHMENTS \ --clusters sampleCluster

出力:

{ "clusters": [ { "clusterArn": "arn:aws:ecs:af-south-1:123456789222:cluster/sampleCluster", "clusterName": "sampleCluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [], "capacityProviders": [ "sampleCapacityProvider" ], "defaultCapacityProviderStrategy": [], "attachments": [ { "id": "a1b2c3d4-5678-901b-cdef-EXAMPLE22222", "type": "as_policy", "status": "CREATED", "details": [ { "name": "capacityProviderName", "value": "sampleCapacityProvider" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-3048e262-fe39-4eaf-826d-6f975d303188" } ] } ], "attachmentsStatus": "UPDATE_COMPLETE" } ], "failures": [] }

詳細については、「Amazon デベロッパーガイドECS」の「Amazon クラスター」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスDescribeClusters」の「」を参照してください。 AWS CLI

次の例は、describe-container-instances を使用する方法を説明しています。

AWS CLI

コンテナインスタンスを記述するには

次のdescribe-container-instances例では、コンテナインスタンスを識別子UUIDとして使用して、updateクラスター内のコンテナインスタンスの詳細を取得します。

aws ecs describe-container-instances \ --cluster update \ --container-instances a1b2c3d4-5678-90ab-cdef-11111EXAMPLE

出力:

{ "failures": [], "containerInstances": [ { "status": "ACTIVE", "registeredResources": [ { "integerValue": 2048, "longValue": 0, "type": "INTEGER", "name": "CPU", "doubleValue": 0.0 }, { "integerValue": 3955, "longValue": 0, "type": "INTEGER", "name": "MEMORY", "doubleValue": 0.0 }, { "name": "PORTS", "longValue": 0, "doubleValue": 0.0, "stringSetValue": [ "22", "2376", "2375", "51678" ], "type": "STRINGSET", "integerValue": 0 } ], "ec2InstanceId": "i-A1B2C3D4", "agentConnected": true, "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "pendingTasksCount": 0, "remainingResources": [ { "integerValue": 2048, "longValue": 0, "type": "INTEGER", "name": "CPU", "doubleValue": 0.0 }, { "integerValue": 3955, "longValue": 0, "type": "INTEGER", "name": "MEMORY", "doubleValue": 0.0 }, { "name": "PORTS", "longValue": 0, "doubleValue": 0.0, "stringSetValue": [ "22", "2376", "2375", "51678" ], "type": "STRINGSET", "integerValue": 0 } ], "runningTasksCount": 0, "versionInfo": { "agentVersion": "1.0.0", "agentHash": "4023248", "dockerVersion": "DockerVersion: 1.5.0" } } ] }

詳細については、「Amazon デベロッパーガイド」の「Amazon ECSコンテナインスタンス」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスDescribeContainerInstances」の「」を参照してください。 AWS CLI

次のコード例は、describe-services を使用する方法を示しています。

AWS CLI

サービスを記述するには

次のdescribe-services例では、デフォルトクラスター内のmy-http-serviceサービスの詳細を取得します。

aws ecs describe-services --services my-http-service

出力:

{ "services": [ { "status": "ACTIVE", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/amazon-ecs-sample:1", "pendingCount": 0, "loadBalancers": [], "desiredCount": 10, "createdAt": 1466801808.595, "serviceName": "my-http-service", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/default", "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/my-http-service", "deployments": [ { "status": "PRIMARY", "pendingCount": 0, "createdAt": 1466801808.595, "desiredCount": 10, "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/amazon-ecs-sample:1", "updatedAt": 1428326312.703, "id": "ecs-svc/1234567890123456789", "runningCount": 10 } ], "events": [ { "message": "(service my-http-service) has reached a steady state.", "id": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "createdAt": 1466801812.435 } ], "runningCount": 10 } ], "failures": [] }

詳細については、「Amazon ECSデベロッパーガイド」の「 のサービス」を参照してください。

  • API 詳細については、「 コマンドリファレンスDescribeServices」の「」を参照してください。 AWS CLI

次のコード例は、describe-task-definition を使用する方法を示しています。

AWS CLI

タスク定義を記述するには

次のdescribe-task-definition例では、タスク定義の詳細を取得します。

aws ecs describe-task-definition \ --task-definition hello_world:8

出力:

{ "tasks": [ { "attachments": [ { "id": "17f3dff6-a9e9-4d83-99a9-7eb5193c2634", "type": "ElasticNetworkInterface", "status": "ATTACHED", "details": [ { "name": "subnetId", "value": "subnet-0d0eab1bb38d5ca64" }, { "name": "networkInterfaceId", "value": "eni-0d542ffb4a12aa6d9" }, { "name": "macAddress", "value": "0e:6d:18:f6:2d:29" }, { "name": "privateDnsName", "value": "ip-10-0-1-170.ec2.internal" }, { "name": "privateIPv4Address", "value": "10.0.1.170" } ] } ], "attributes": [ { "name": "ecs.cpu-architecture", "value": "x86_64" } ], "availabilityZone": "us-east-1b", "clusterArn": "arn:aws:ecs:us-east-1:053534965804:cluster/fargate-cluster", "connectivity": "CONNECTED", "connectivityAt": "2023-11-28T11:10:52.907000-05:00", "containers": [ { "containerArn": "arn:aws:ecs:us-east-1:053534965804:container/fargate-cluster/c524291ae4154100b601a543108b193a/772c4784-92ae-414e-8df2-03d3358e39fa", "taskArn": "arn:aws:ecs:us-east-1:053534965804:task/fargate-cluster/c524291ae4154100b601a543108b193a", "name": "web", "image": "nginx", "imageDigest": "sha256:10d1f5b58f74683ad34eb29287e07dab1e90f10af243f151bb50aa5dbb4d62ee", "runtimeId": "c524291ae4154100b601a543108b193a-265927825", "lastStatus": "RUNNING", "networkBindings": [], "networkInterfaces": [ { "attachmentId": "17f3dff6-a9e9-4d83-99a9-7eb5193c2634", "privateIpv4Address": "10.0.1.170" } ], "healthStatus": "HEALTHY", "cpu": "99", "memory": "100" }, { "containerArn": "arn:aws:ecs:us-east-1:053534965804:container/fargate-cluster/c524291ae4154100b601a543108b193a/c051a779-40d2-48ca-ad5e-6ec875ceb610", "taskArn": "arn:aws:ecs:us-east-1:053534965804:task/fargate-cluster/c524291ae4154100b601a543108b193a", "name": "aws-guardduty-agent-FvWGoDU", "imageDigest": "sha256:359b8b014e5076c625daa1056090e522631587a7afa3b2e055edda6bd1141017", "runtimeId": "c524291ae4154100b601a543108b193a-505093495", "lastStatus": "RUNNING", "networkBindings": [], "networkInterfaces": [ { "attachmentId": "17f3dff6-a9e9-4d83-99a9-7eb5193c2634", "privateIpv4Address": "10.0.1.170" } ], "healthStatus": "UNKNOWN" } ], "cpu": "256", "createdAt": "2023-11-28T11:10:49.299000-05:00", "desiredStatus": "RUNNING", "enableExecuteCommand": false, "group": "family:webserver", "healthStatus": "HEALTHY", "lastStatus": "RUNNING", "launchType": "FARGATE", "memory": "512" "platformVersion": "1.4.0", "platformFamily": "Linux", "pullStartedAt": "2023-11-28T11:10:59.773000-05:00", "pullStoppedAt": "2023-11-28T11:11:12.624000-05:00", "startedAt": "2023-11-28T11:11:20.316000-05:00", "tags": [], "taskArn": "arn:aws:ecs:us-east-1:053534965804:task/fargate-cluster/c524291ae4154100b601a543108b193a", "taskDefinitionArn": "arn:aws:ecs:us-east-1:053534965804:task-definition/webserver:5", "version": 4, "ephemeralStorage": { "sizeInGiB": 20 } } ], "failures": [] }

詳細については、「Amazon デベロッパーガイド」の「Amazon ECSタスク定義」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスDescribeTaskDefinition」の「」を参照してください。 AWS CLI

次のコード例は、describe-task-sets を使用する方法を示しています。

AWS CLI

タスクセットを記述するには

次のdescribe-task-sets例では、外部デプロイを使用するサービス内のタスクセットについて説明します。

aws ecs describe-task-sets \ --cluster MyCluster \ --service MyService \ --task-sets arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789

出力:

{ "taskSets": [ { "id": "ecs-svc/1234567890123456789", "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", "status": "ACTIVE", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:2", "computedDesiredCount": 0, "pendingCount": 0, "runningCount": 0, "createdAt": 1557207715.195, "updatedAt": 1557207740.014, "launchType": "EC2", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-1234431" ], "assignPublicIp": "DISABLED" } }, "loadBalancers": [], "serviceRegistries": [], "scale": { "value": 0.0, "unit": "PERCENT" }, "stabilityStatus": "STEADY_STATE", "stabilityStatusAt": 1557207740.014 } ], "failures": [] }
  • API 詳細については、「 コマンドリファレンスDescribeTaskSets」の「」を参照してください。 AWS CLI

次のコード例は、describe-tasks を使用する方法を示しています。

AWS CLI

例 1: 単一のタスクを記述するには

次の describe-tasks の例は、クラスター内の単一のタスクの詳細情報を取得します。タスクは、ID またはタスクARNの完全な を使用して指定できます。この例では、 タスクARNの完全な を使用します。

aws ecs describe-tasks \ --cluster MyCluster \ --tasks arn:aws:ecs:us-east-1:123456789012:task/MyCluster/4d590253bb114126b7afa7b58EXAMPLE

出力:

{ "tasks": [ { "attachments": [], "attributes": [ { "name": "ecs.cpu-architecture", "value": "x86_64" } ], "availabilityZone": "us-east-1b", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", "connectivity": "CONNECTED", "connectivityAt": "2021-08-11T12:21:26.681000-04:00", "containerInstanceArn": "arn:aws:ecs:us-east-1:123456789012:container-instance/test/025c7e2c5e054a6790a29fc1fEXAMPLE", "containers": [ { "containerArn": "arn:aws:ecs:us-east-1:123456789012:container/MyCluster/4d590253bb114126b7afa7b58eea9221/a992d1cc-ea46-474a-b6e8-24688EXAMPLE", "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/MyCluster/4d590253bb114126b7afa7b58EXAMPLE", "name": "simple-app", "image": "httpd:2.4", "runtimeId": "91251eed27db90006ad67b1a08187290869f216557717dd5c39b37c94EXAMPLE", "lastStatus": "RUNNING", "networkBindings": [ { "bindIP": "0.0.0.0", "containerPort": 80, "hostPort": 80, "protocol": "tcp" } ], "networkInterfaces": [], "healthStatus": "UNKNOWN", "cpu": "10", "memory": "300" } ], "cpu": "10", "createdAt": "2021-08-11T12:21:26.681000-04:00", "desiredStatus": "RUNNING", "enableExecuteCommand": false, "group": "service:testupdate", "healthStatus": "UNKNOWN", "lastStatus": "RUNNING", "launchType": "EC2", "memory": "300", "overrides": { "containerOverrides": [ { "name": "simple-app" } ], "inferenceAcceleratorOverrides": [] }, "pullStartedAt": "2021-08-11T12:21:28.234000-04:00", "pullStoppedAt": "2021-08-11T12:21:33.793000-04:00", "startedAt": "2021-08-11T12:21:34.945000-04:00", "startedBy": "ecs-svc/968695068243EXAMPLE", "tags": [], "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/MyCluster/4d590253bb114126b7afa7b58eea9221", "taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/console-sample-app-static2:1", "version": 2 } ], "failures": [] }

詳細については、「Amazon デベロッパーガイド」の「Amazon ECSタスク定義」を参照してください。 ECS

例 2: 複数のタスクを記述するには

次の describe-tasks の例は、クラスター内の複数のタスクの詳細情報を取得します。タスクは、ID またはタスクARNの完全な を使用して指定できます。この例では、 タスクIDsのすべてを使用します。

aws ecs describe-tasks \ --cluster MyCluster \ --tasks "74de0355a10a4f979ac495c14EXAMPLE" "d789e94343414c25b9f6bd59eEXAMPLE"

出力:

{ "tasks": [ { "attachments": [ { "id": "d9e7735a-16aa-4128-bc7a-b2d51EXAMPLE", "type": "ElasticNetworkInterface", "status": "ATTACHED", "details": [ { "name": "subnetId", "value": "subnet-0d0eab1bb3EXAMPLE" }, { "name": "networkInterfaceId", "value": "eni-0fa40520aeEXAMPLE" }, { "name": "macAddress", "value": "0e:89:76:28:07:b3" }, { "name": "privateDnsName", "value": "ip-10-0-1-184.ec2.internal" }, { "name": "privateIPv4Address", "value": "10.0.1.184" } ] } ], "attributes": [ { "name": "ecs.cpu-architecture", "value": "x86_64" } ], "availabilityZone": "us-east-1b", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", "connectivity": "CONNECTED", "connectivityAt": "2021-12-20T12:13:37.875000-05:00", "containers": [ { "containerArn": "arn:aws:ecs:us-east-1:123456789012:container/MyCluster/74de0355a10a4f979ac495c14EXAMPLE/aad3ba00-83b3-4dac-84d4-11f8cEXAMPLE", "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/MyCluster/74de0355a10a4f979ac495c14EXAMPLE", "name": "web", "image": "nginx", "runtimeId": "74de0355a10a4f979ac495c14EXAMPLE-265927825", "lastStatus": "RUNNING", "networkBindings": [], "networkInterfaces": [ { "attachmentId": "d9e7735a-16aa-4128-bc7a-b2d51EXAMPLE", "privateIpv4Address": "10.0.1.184" } ], "healthStatus": "UNKNOWN", "cpu": "99", "memory": "100" } ], "cpu": "256", "createdAt": "2021-12-20T12:13:20.226000-05:00", "desiredStatus": "RUNNING", "enableExecuteCommand": false, "group": "service:tdsevicetag", "healthStatus": "UNKNOWN", "lastStatus": "RUNNING", "launchType": "FARGATE", "memory": "512", "overrides": { "containerOverrides": [ { "name": "web" } ], "inferenceAcceleratorOverrides": [] }, "platformVersion": "1.4.0", "platformFamily": "Linux", "pullStartedAt": "2021-12-20T12:13:42.665000-05:00", "pullStoppedAt": "2021-12-20T12:13:46.543000-05:00", "startedAt": "2021-12-20T12:13:48.086000-05:00", "startedBy": "ecs-svc/988401040018EXAMPLE", "tags": [], "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/MyCluster/74de0355a10a4f979ac495c14EXAMPLE", "taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/webserver:2", "version": 3, "ephemeralStorage": { "sizeInGiB": 20 } }, { "attachments": [ { "id": "214eb5a9-45cd-4bf8-87bc-57fefEXAMPLE", "type": "ElasticNetworkInterface", "status": "ATTACHED", "details": [ { "name": "subnetId", "value": "subnet-0d0eab1bb3EXAMPLE" }, { "name": "networkInterfaceId", "value": "eni-064c7766daEXAMPLE" }, { "name": "macAddress", "value": "0e:76:83:01:17:a9" }, { "name": "privateDnsName", "value": "ip-10-0-1-41.ec2.internal" }, { "name": "privateIPv4Address", "value": "10.0.1.41" } ] } ], "attributes": [ { "name": "ecs.cpu-architecture", "value": "x86_64" } ], "availabilityZone": "us-east-1b", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", "connectivity": "CONNECTED", "connectivityAt": "2021-12-20T12:13:35.243000-05:00", "containers": [ { "containerArn": "arn:aws:ecs:us-east-1:123456789012:container/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE/9afef792-609b-43a5-bb6a-3efdbEXAMPLE", "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE", "name": "web", "image": "nginx", "runtimeId": "d789e94343414c25b9f6bd59eEXAMPLE-265927825", "lastStatus": "RUNNING", "networkBindings": [], "networkInterfaces": [ { "attachmentId": "214eb5a9-45cd-4bf8-87bc-57fefEXAMPLE", "privateIpv4Address": "10.0.1.41" } ], "healthStatus": "UNKNOWN", "cpu": "99", "memory": "100" } ], "cpu": "256", "createdAt": "2021-12-20T12:13:20.226000-05:00", "desiredStatus": "RUNNING", "enableExecuteCommand": false, "group": "service:tdsevicetag", "healthStatus": "UNKNOWN", "lastStatus": "RUNNING", "launchType": "FARGATE", "memory": "512", "overrides": { "containerOverrides": [ { "name": "web" } ], "inferenceAcceleratorOverrides": [] }, "platformVersion": "1.4.0", "platformFamily": "Linux", "pullStartedAt": "2021-12-20T12:13:44.611000-05:00", "pullStoppedAt": "2021-12-20T12:13:48.251000-05:00", "startedAt": "2021-12-20T12:13:49.326000-05:00", "startedBy": "ecs-svc/988401040018EXAMPLE", "tags": [], "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE", "taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/webserver:2", "version": 3, "ephemeralStorage": { "sizeInGiB": 20 } } ], "failures": [] }

詳細については、「Amazon デベロッパーガイド」の「Amazon ECSタスク定義」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスDescribeTasks」の「」を参照してください。 AWS CLI

次の例は、execute-command を使用する方法を説明しています。

AWS CLI

インタラクティブ /bin/sh コマンドを実行するには

次のexecute-command例では、ID が のタスク MyContainer の という名前のコンテナに対してインタラクティブな /bin/sh コマンドを実行しますarn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE

aws ecs execute-command \ --cluster MyCluster \ --task arn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE \ --container MyContainer \ --interactive \ --command "/bin/sh"

このコマンドでは何も出力されません。

詳細については、「Amazon デベロッパーガイドECS」の「Amazon Exec を使用したデバッグ」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスExecuteCommand」の「」を参照してください。 AWS CLI

次のコード例は、list-account-settings を使用する方法を示しています。

AWS CLI

例 1: アカウントのアカウント設定を表示するには

次のlist-account-settings例では、アカウントの有効なアカウント設定を表示します。

aws ecs list-account-settings --effective-settings

出力:

{ "settings": [ { "name": "containerInstanceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root" }, { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root" }, { "name": "taskLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root" } ] }

例 2: 特定のIAMユーザーまたはIAMロールのアカウント設定を表示するには

次のlist-account-settings例では、指定されたIAMユーザーまたはIAMロールのアカウント設定を表示します。

aws ecs list-account-settings --principal-arn arn:aws:iam::123456789012:user/MyUser

出力:

{ "settings": [ { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } ] }

詳細については、「Amazon デベロッパーガイド」の「Amazon リソースネーム (ARNs)」およびIDs「」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスListAccountSettings」の「」を参照してください。 AWS CLI

次の例は、list-attributes を使用する方法を説明しています。

AWS CLI

特定の属性を含むコンテナインスタンスを一覧表示するには

次の例では、デフォルトクラスターに 属性を持つコンテナインスタンスのstack=production属性を一覧表示します。

aws ecs list-attributes \ --target-type container-instance \ --attribute-name stack \ --attribute-value production \ --cluster default

出力:

{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }

詳細については、「Amazon デベロッパーガイド」の「Amazon ECSコンテナエージェントの設定」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスListAttributes」の「」を参照してください。 AWS CLI

次の例は、list-clusters を使用する方法を説明しています。

AWS CLI

使用可能なクラスターを一覧表示するには

次の list-clusters の例は、使用可能なすべてのクラスターを一覧表示します。

aws ecs list-clusters

出力:

{ "clusterArns": [ "arn:aws:ecs:us-west-2:123456789012:cluster/MyECSCluster1", "arn:aws:ecs:us-west-2:123456789012:cluster/AnotherECSCluster" ] }

詳細については、「Amazon デベロッパーガイドECS」の「Amazon クラスター」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスListClusters」の「」を参照してください。 AWS CLI

次の例は、list-container-instances を使用する方法を説明しています。

AWS CLI

クラスター内のコンテナインスタンスを一覧表示するには

次のlist-container-instances例では、クラスターで使用可能なすべてのコンテナインスタンスを一覧表示します。

aws ecs list-container-instances --cluster MyCluster

出力:

{ "containerInstanceArns": [ "arn:aws:ecs:us-west-2:123456789012:container-instance/MyCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "arn:aws:ecs:us-west-2:123456789012:container-instance/MyCluster/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE" ] }

詳細については、「Amazon デベロッパーガイド」の「Amazon ECSコンテナインスタンス」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスListContainerInstances」の「」を参照してください。 AWS CLI

次のコード例は、list-services-by-namespace を使用する方法を示しています。

AWS CLI

名前空間内のサービスを一覧表示するには

次のlist-services-by-namespace例では、デフォルトのリージョンで指定された名前空間用に設定されたすべての サービスを一覧表示します。

aws ecs list-services-by-namespace \ --namespace service-connect

出力:

{ "serviceArns": [ "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService", "arn:aws:ecs:us-west-2:123456789012:service/tutorial/service-connect-nginx-service" ] }

詳細については、「Amazon ECSデベロッパーガイド」の「Service Connect」を参照してください。

  • API 詳細については、「 コマンドリファレンスListServicesByNamespace」の「」を参照してください。 AWS CLI

次のコード例は、list-services を使用する方法を示しています。

AWS CLI

クラスター内のサービスを一覧表示するには

次の list-services の例は、クラスターで実行中のサービスを一覧表示する方法を示しています。

aws ecs list-services --cluster MyCluster

出力:

{ "serviceArns": [ "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService" ] }

詳細については、「Amazon ECSデベロッパーガイド」の「 のサービス」を参照してください。

  • API 詳細については、「 コマンドリファレンスListServices」の「」を参照してください。 AWS CLI

次のコード例は、list-tags-for-resource を使用する方法を示しています。

AWS CLI

リソースのタグを一覧表示するには

次のlist-tags-for-resource例では、特定のクラスターのタグを一覧表示します。

aws ecs list-tags-for-resource \ --resource-arn arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster

出力:

{ "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ] }
  • API 詳細については、「 コマンドリファレンスListTagsForResource」の「」を参照してください。 AWS CLI

次のコード例は、list-task-definition-families を使用する方法を示しています。

AWS CLI

例 1: 登録されたタスク定義ファミリーを一覧表示するには

次のlist-task-definition-families例では、登録されたすべてのタスク定義ファミリーを一覧表示します。

aws ecs list-task-definition-families

出力:

{ "families": [ "node-js-app", "web-timer", "hpcc", "hpcc-c4-8xlarge" ] }

例 2: 登録されたタスク定義ファミリーをフィルタリングするには

次のlist-task-definition-families例では、「hpcc」で始まるタスク定義リビジョンを一覧表示します。

aws ecs list-task-definition-families --family-prefix hpcc

出力:

{ "families": [ "hpcc", "hpcc-c4-8xlarge" ] }

詳細については、「Amazon ECSデベロッパーガイド」の「タスク定義パラメータ」を参照してください。

  • API 詳細については、「 コマンドリファレンスListTaskDefinitionFamilies」の「」を参照してください。 AWS CLI

次のコード例は、list-task-definitions を使用する方法を示しています。

AWS CLI

例 1: 登録されたタスク定義を一覧表示するには

次のlist-task-definitions例では、登録されたすべてのタスク定義を一覧表示します。

aws ecs list-task-definitions

出力:

{ "taskDefinitionArns": [ "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep300:2", "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep360:1", "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:3", "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:4", "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:5", "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:6" ] }

例 2: ファミリーに登録されたタスク定義を一覧表示するには

次の list-task-definitions 例では、指定されたファミリーのタスク定義リビジョンを一覧表示します。

aws ecs list-task-definitions --family-prefix wordpress

出力:

{ "taskDefinitionArns": [ "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:3", "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:4", "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:5", "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:6" ] }

詳細については、「Amazon デベロッパーガイド」の「Amazon ECS タスク定義」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスListTaskDefinitions」の「」を参照してください。 AWS CLI

次のコード例は、list-tasks を使用する方法を示しています。

AWS CLI

例 1: クラスター内のタスクを一覧表示するには

次の list-tasks の例は、クラスター内のすべてのタスクを一覧表示します。

aws ecs list-tasks --cluster default

出力:

{ "taskArns": [ "arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE" ] }

例 2: 特定のコンテナインスタンスのタスクを一覧表示するには

次のlist-tasks例では、コンテナインスタンスをフィルターUUIDとして使用して、コンテナインスタンスのタスクを一覧表示します。

aws ecs list-tasks --cluster default --container-instance a1b2c3d4-5678-90ab-cdef-33333EXAMPLE

出力:

{ "taskArns": [ "arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-cdef-44444EXAMPLE" ] }

詳細については、「Amazon デベロッパーガイド」の「Amazon ECSタスク定義」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスListTasks」の「」を参照してください。 AWS CLI

次のコード例は、put-account-setting-default を使用する方法を示しています。

AWS CLI

デフォルトのアカウント設定を変更するには

次のput-account-setting-default例では、アカウントのすべてのIAMユーザーまたはロールのデフォルトのアカウント設定を変更します。これらの変更は、IAMユーザーまたはロールがこれらの設定を明示的に上書きしない限り、 AWS アカウント全体に適用されます。

aws ecs put-account-setting-default --name serviceLongArnFormat --value enabled

出力:

{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root" } }

詳細については、「Amazon デベロッパーガイド」の「Amazon リソースネーム (ARNs)」およびIDs「」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスPutAccountSettingDefault」の「」を参照してください。 AWS CLI

次のコード例は、put-account-setting を使用する方法を示しています。

AWS CLI

IAMユーザーアカウントのアカウント設定を変更するには

次のput-account-setting例では、IAMユーザーアカウントのアカウントserviceLongArnFormat設定を有効にします。

aws ecs put-account-setting --name serviceLongArnFormat --value enabled

出力:

{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::130757420319:user/your_username" } }

詳細については、「Amazon ECSデベロッパーガイド」の「アカウント設定の変更」を参照してください。

  • API 詳細については、「 コマンドリファレンスPutAccountSetting」の「」を参照してください。 AWS CLI

次のコード例は、put-account-settings を使用する方法を示しています。

AWS CLI

IAM ユーザーまたはIAMロールのアカウント設定を変更するには

次のput-account-setting例では、指定されたIAMユーザーまたはIAMロールのアカウント設定を変更します。

aws ecs put-account-setting \ --name serviceLongArnFormat \ --value enabled \ --principal-arn arn:aws:iam::123456789012:user/MyUser

出力:

{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } }
  • API 詳細については、「 コマンドリファレンスPutAccountSettings」の「」を参照してください。 AWS CLI

次の例は、put-attributes を使用する方法を説明しています。

AWS CLI

属性を作成して Amazon ECSリソースに関連付けるには

以下では、名前スタックと値本番稼働の 属性をコンテナインスタンスput-attributesに適用します。

aws ecs put-attributes \ --attributes name=stack,value=production,targetId=arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34

出力:

{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }
  • API 詳細については、「 コマンドリファレンスPutAttributes」の「」を参照してください。 AWS CLI

次の例は、put-cluster-capacity-providers を使用する方法を説明しています。

AWS CLI

例 1: 既存のキャパシティープロバイダーをクラスターに追加するには

次のput-cluster-capacity-providers例では、既存のキャパシティープロバイダーをクラスターに追加します。キャパシティープロバイダーを作成するには、create-capacity-provider コマンドを使用します。describe-clusters コマンドは、現在のキャパシティープロバイダーと、クラスターに関連付けられたデフォルトのキャパシティープロバイダー戦略を記述するために使用されます。クラスターに新しいキャパシティープロバイダーを追加するときは、クラスターに関連付ける新しいキャパシティープロバイダーに加えて、既存のすべてのキャパシティープロバイダーを指定する必要があります。また、クラスターに関連付けるデフォルトのキャパシティープロバイダー戦略を指定する必要があります。この例では、MyClusterクラスターにMyCapacityProvider1キャパシティープロバイダーが関連付けられているため、MyCapacityProvider2キャパシティープロバイダーを追加してデフォルトのキャパシティープロバイダー戦略に含め、タスクが両方のキャパシティープロバイダーに均等に分散されるようにします。

aws ecs put-cluster-capacity-providers \ --cluster MyCluster \ --capacity-providers MyCapacityProvider1 MyCapacityProvider2 \ --default-capacity-provider-strategy capacityProvider=MyCapacityProvider1,weight=1 capacityProvider=MyCapacityProvider2,weight=1

出力:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "MyCluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ], "capacityProviders": [ "MyCapacityProvider1", "MyCapacityProvider2" ], "defaultCapacityProviderStrategy": [ { "capacityProvider": "MyCapacityProvider1", "weight": 1, "base": 0 }, { "capacityProvider": "MyCapacityProvider2", "weight": 1, "base": 0 } ], "attachments": [ { "id": "0fb0c8f4-6edd-4de1-9b09-17e470ee1918", "type": "as_policy", "status": "ACTIVE", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider1" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } ] }, { "id": "ae592060-2382-4663-9476-b015c685593c", "type": "as_policy", "status": "ACTIVE", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider2" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" } ] } ], "attachmentsStatus": "UPDATE_IN_PROGRESS" } }

詳細については、「Amazon ECSデベロッパーガイド」の「クラスターキャパシティープロバイダー」を参照してください。

例 2: クラスターからキャパシティープロバイダーを削除するには

次のput-cluster-capacity-providers例では、クラスターからキャパシティープロバイダーを削除します。describe-clusters コマンドは、クラスターに関連付けられている現在のキャパシティープロバイダーを記述するために使用されます。クラスターからキャパシティープロバイダーを削除するときは、クラスターに関連付けるキャパシティープロバイダーと、クラスターに関連付けるデフォルトのキャパシティープロバイダー戦略を指定する必要があります。この例では、クラスターに MyCapacityProvider1および MyCapacityProvider2キャパシティープロバイダーが関連付けられているため、MyCapacityProvider2キャパシティープロバイダーを削除するため、 コマンドMyCapacityProvider1で、更新されたデフォルトのキャパシティープロバイダー戦略とともに のみを指定します。

aws ecs put-cluster-capacity-providers \ --cluster MyCluster \ --capacity-providers MyCapacityProvider1 \ --default-capacity-provider-strategy capacityProvider=MyCapacityProvider1,weight=1,base=0

出力:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "MyCluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ], "capacityProviders": [ "MyCapacityProvider1" ], "defaultCapacityProviderStrategy": [ "capacityProvider": "MyCapacityProvider1", "weight": 1, "base": 0 ], "attachments": [ { "id": "0fb0c8f4-6edd-4de1-9b09-17e470ee1918", "type": "as_policy", "status": "ACTIVE", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider1" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } ] }, { "id": "ae592060-2382-4663-9476-b015c685593c", "type": "as_policy", "status": "DELETING", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider2" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" } ] } ], "attachmentsStatus": "UPDATE_IN_PROGRESS" } }

詳細については、「Amazon ECSデベロッパーガイド」の「クラスターキャパシティープロバイダー」を参照してください。

例 3: クラスターからすべてのキャパシティープロバイダーを削除するには

次のput-cluster-capacity-providers例では、クラスターから既存のキャパシティープロバイダーをすべて削除します。

aws ecs put-cluster-capacity-providers \ --cluster MyCluster \ --capacity-providers [] \ --default-capacity-provider-strategy []

出力:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "MyCluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ], "capacityProviders": [], "defaultCapacityProviderStrategy": [], "attachments": [ { "id": "0fb0c8f4-6edd-4de1-9b09-17e470ee1918", "type": "as_policy", "status": "DELETING", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider1" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } ] }, { "id": "ae592060-2382-4663-9476-b015c685593c", "type": "as_policy", "status": "DELETING", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider2" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" } ] } ], "attachmentsStatus": "UPDATE_IN_PROGRESS" } }

詳細については、「Amazon ECSデベロッパーガイド」の「クラスターキャパシティープロバイダー」を参照してください。

  • API 詳細については、「 コマンドリファレンスPutClusterCapacityProviders」の「」を参照してください。 AWS CLI

次の例は、register-task-definition を使用する方法を説明しています。

AWS CLI

例 1: タスク定義をJSONファイルに登録するには

次のregister-task-definition例では、指定されたファミリーにタスク定義を登録します。コンテナ定義は、指定されたファイル場所に JSON 形式で保存されます。

aws ecs register-task-definition \ --cli-input-json file://<path_to_json_file>/sleep360.json

sleep360.json の内容:

{ "containerDefinitions": [ { "name": "sleep", "image": "busybox", "cpu": 10, "command": [ "sleep", "360" ], "memory": 10, "essential": true } ], "family": "sleep360" }

出力:

{ "taskDefinition": { "status": "ACTIVE", "family": "sleep360", "placementConstraints": [], "compatibilities": [ "EXTERNAL", "EC2" ], "volumes": [], "taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/sleep360:1", "containerDefinitions": [ { "environment": [], "name": "sleep", "mountPoints": [], "image": "busybox", "cpu": 10, "portMappings": [], "command": [ "sleep", "360" ], "memory": 10, "essential": true, "volumesFrom": [] } ], "revision": 1 } }

詳細については、「Amazon ECSデベロッパーガイド」の「タスク定義の例」を参照してください。

例 2: JSON文字列パラメータを使用してタスク定義を登録するには

次のregister-task-definition例では、エスケープされた二重引用符を持つJSON文字列パラメータとして指定されたコンテナ定義を使用してタスク定義を登録します。

aws ecs register-task-definition \ --family sleep360 \ --container-definitions "[{\"name\":\"sleep\",\"image\":\"busybox\",\"cpu\":10,\"command\":[\"sleep\",\"360\"],\"memory\":10,\"essential\":true}]"

出力は前の例と同じです。

詳細については、「Amazon ECS デベロッパーガイド」の「タスク定義の作成」を参照してください。

  • API 詳細については、「 コマンドリファレンスRegisterTaskDefinition」の「」を参照してください。 AWS CLI

次のコード例は、run-task を使用する方法を示しています。

AWS CLI

デフォルトクラスターでタスクを実行するには

次のrun-task例では、デフォルトクラスターでタスクを実行し、クライアントトークンを使用します。

aws ecs run-task \ --cluster default \ --task-definition sleep360:1 \ --client-token 550e8400-e29b-41d4-a716-446655440000

出力:

{ "tasks": [ { "attachments": [], "attributes": [ { "name": "ecs.cpu-architecture", "value": "x86_64" } ], "availabilityZone": "us-east-1b", "capacityProviderName": "example-capacity-provider", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/default", "containerInstanceArn": "arn:aws:ecs:us-east-1:123456789012:container-instance/default/bc4d2ec611d04bb7bb97e83ceEXAMPLE", "containers": [ { "containerArn": "arn:aws:ecs:us-east-1:123456789012:container/default/d6f51cc5bbc94a47969c92035e9f66f8/75853d2d-711e-458a-8362-0f0aEXAMPLE", "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/default/d6f51cc5bbc94a47969c9203EXAMPLE", "name": "sleep", "image": "busybox", "lastStatus": "PENDING", "networkInterfaces": [], "cpu": "10", "memory": "10" } ], "cpu": "10", "createdAt": "2023-11-21T16:59:34.403000-05:00", "desiredStatus": "RUNNING", "enableExecuteCommand": false, "group": "family:sleep360", "lastStatus": "PENDING", "launchType": "EC2", "memory": "10", "overrides": { "containerOverrides": [ { "name": "sleep" } ], "inferenceAcceleratorOverrides": [] }, "tags": [], "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/default/d6f51cc5bbc94a47969c9203EXAMPLE", "taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/sleep360:1", "version": 1 } ], "failures": [] }

詳細については、「Amazon ECSデベロッパーガイド」の「タスクの実行」を参照してください。

  • API 詳細については、「 コマンドリファレンスRunTask」の「」を参照してください。 AWS CLI

次のコード例は、start-task を使用する方法を示しています。

AWS CLI

新しいタスクを開始するには

以下では、デフォルトクラスター内の指定されたコンテナインスタンスで、タスク定義の最新リビジョンを使用してsleep360タスクstart-taskを開始します。

aws ecs start-task \ --task-definition sleep360 \ --container-instances 765936fadbdd46b5991a4bd70c2a43d4

出力:

{ "tasks": [ { "taskArn": "arn:aws:ecs:us-west-2:130757420319:task/default/666fdccc2e2d4b6894dd422f4eeee8f8", "clusterArn": "arn:aws:ecs:us-west-2:130757420319:cluster/default", "taskDefinitionArn": "arn:aws:ecs:us-west-2:130757420319:task-definition/sleep360:3", "containerInstanceArn": "arn:aws:ecs:us-west-2:130757420319:container-instance/default/765936fadbdd46b5991a4bd70c2a43d4", "overrides": { "containerOverrides": [ { "name": "sleep" } ] }, "lastStatus": "PENDING", "desiredStatus": "RUNNING", "cpu": "128", "memory": "128", "containers": [ { "containerArn": "arn:aws:ecs:us-west-2:130757420319:container/75f11ed4-8a3d-4f26-a33b-ad1db9e02d41", "taskArn": "arn:aws:ecs:us-west-2:130757420319:task/default/666fdccc2e2d4b6894dd422f4eeee8f8", "name": "sleep", "lastStatus": "PENDING", "networkInterfaces": [], "cpu": "10", "memory": "10" } ], "version": 1, "createdAt": 1563421494.186, "group": "family:sleep360", "launchType": "EC2", "attachments": [], "tags": [] } ], "failures": [] }
  • API 詳細については、「 コマンドリファレンスStartTask」の「」を参照してください。 AWS CLI

次のコード例は、stop-task を使用する方法を示しています。

AWS CLI

タスクを停止するには

以下では、指定されたタスクがデフォルトクラスターで実行されstop-taskなくなります。

aws ecs stop-task \ --task 666fdccc2e2d4b6894dd422f4eeee8f8

出力:

{ "task": { "taskArn": "arn:aws:ecs:us-west-2:130757420319:task/default/666fdccc2e2d4b6894dd422f4eeee8f8", "clusterArn": "arn:aws:ecs:us-west-2:130757420319:cluster/default", "taskDefinitionArn": "arn:aws:ecs:us-west-2:130757420319:task-definition/sleep360:3", "containerInstanceArn": "arn:aws:ecs:us-west-2:130757420319:container-instance/default/765936fadbdd46b5991a4bd70c2a43d4", "overrides": { "containerOverrides": [] }, "lastStatus": "STOPPED", "desiredStatus": "STOPPED", "cpu": "128", "memory": "128", "containers": [], "version": 2, "stoppedReason": "Taskfailedtostart", "stopCode": "TaskFailedToStart", "connectivity": "CONNECTED", "connectivityAt": 1563421494.186, "pullStartedAt": 1563421494.252, "pullStoppedAt": 1563421496.252, "executionStoppedAt": 1563421497, "createdAt": 1563421494.186, "stoppingAt": 1563421497.252, "stoppedAt": 1563421497.252, "group": "family:sleep360", "launchType": "EC2", "attachments": [], "tags": [] } }
  • API 詳細については、「 コマンドリファレンスStopTask」の「」を参照してください。 AWS CLI

次の例は、tag-resource を使用する方法を説明しています。

AWS CLI

リソースにタグを付けるには

次のtag-resource例では、指定されたリソースに 1 つのタグを追加します。

aws ecs tag-resource \ --resource-arn arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster --tags key=key1,value=value1

このコマンドでは何も出力されません。

リソースに複数のタグを追加するには

次のtag-resource例では、指定されたリソースに複数のタグを追加します。

aws ecs tag-resource \ --resource-arn arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster \ --tags key=key1,value=value1 key=key2,value=value2 key=key3,value=value3

このコマンドでは何も出力されません。

  • API 詳細については、「 コマンドリファレンスTagResource」の「」を参照してください。 AWS CLI

次の例は、untag-resource を使用する方法を説明しています。

AWS CLI

リソースからタグを削除するには

次のuntag-resource例では、指定されたリソースからリストされたタグを削除します。

aws ecs untag-resource \ --resource-arn arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster \ --tag-keys key1,key2

このコマンドでは何も出力されません。

  • API 詳細については、「 コマンドリファレンスUntagResource」の「」を参照してください。 AWS CLI

次の例は、update-cluster-settings を使用する方法を説明しています。

AWS CLI

クラスターの設定を変更するには

次のupdate-cluster-settings例では、defaultクラスターの CloudWatch Container Insights を有効にします。

aws ecs update-cluster-settings \ --cluster default \ --settings name=containerInsights,value=enabled

出力:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "default", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ] } }

詳細については、「Amazon ECS デベロッパーガイド」の「アカウント設定の変更」を参照してください。

  • API 詳細については、「 コマンドリファレンスUpdateClusterSettings」の「」を参照してください。 AWS CLI

次のコード例は、update-container-agent を使用する方法を示しています。

AWS CLI

Amazon コンテナインスタンスでECSコンテナエージェントを更新するには

次のupdate-container-agent例では、デフォルトクラスター内の指定されたコンテナインスタンスのコンテナエージェントを更新します。

aws ecs update-container-agent --cluster default --container-instance a1b2c3d4-5678-90ab-cdef-11111EXAMPLE

出力:

{ "containerInstance": { "status": "ACTIVE", ... "agentUpdateStatus": "PENDING", "versionInfo": { "agentVersion": "1.0.0", "agentHash": "4023248", "dockerVersion": "DockerVersion: 1.5.0" } } }

詳細については、「Amazon デベロッパーガイド」の「Amazon ECSコンテナエージェントの更新」を参照してください。 ECS

  • API 詳細については、「 コマンドリファレンスUpdateContainerAgent」の「」を参照してください。 AWS CLI

次のコード例は、update-container-instances-state を使用する方法を示しています。

AWS CLI

コンテナインスタンスの状態を更新するには

次の は、指定されたコンテナインスタンスの状態update-container-instances-stateを更新しDRAINING、 がクラスターからインスタンスを削除します。

aws ecs update-container-instances-state \ --container-instances 765936fadbdd46b5991a4bd70c2a43d4 \ --status DRAINING

出力:

{ "containerInstances": [ { "containerInstanceArn": "arn:aws:ecs:us-west-2:130757420319:container-instance/default/765936fadbdd46b5991a4bd70c2a43d4", "ec2InstanceId": "i-013d87ffbb4d513bf", "version": 4390, "versionInfo": { "agentVersion": "1.29.0", "agentHash": "a190a73f", "dockerVersion": "DockerVersion:18.06.1-ce" }, "remainingResources": [ { "name": "CPU", "type": "INTEGER", "doubleValue": 0, "longValue": 0, "integerValue": 1536 }, { "name": "MEMORY", "type": "INTEGER", "doubleValue": 0, "longValue": 0, "integerValue": 2681 }, { "name": "PORTS", "type": "STRINGSET", "doubleValue": 0, "longValue": 0, "integerValue": 0, "stringSetValue": [ "22", "2376", "2375", "51678", "51679" ] }, { "name": "PORTS_UDP", "type": "STRINGSET", "doubleValue": 0, "longValue": 0, "integerValue": 0, "stringSetValue": [] } ], "registeredResources": [ { "name": "CPU", "type": "INTEGER", "doubleValue": 0, "longValue": 0, "integerValue": 2048 }, { "name": "MEMORY", "type": "INTEGER", "doubleValue": 0, "longValue": 0, "integerValue": 3705 }, { "name": "PORTS", "type": "STRINGSET", "doubleValue": 0, "longValue": 0, "integerValue": 0, "stringSetValue": [ "22", "2376", "2375", "51678", "51679" ] }, { "name": "PORTS_UDP", "type": "STRINGSET", "doubleValue": 0, "longValue": 0, "integerValue": 0, "stringSetValue": [] } ], "status": "DRAINING", "agentConnected": true, "runningTasksCount": 2, "pendingTasksCount": 0, "attributes": [ { "name": "ecs.capability.secrets.asm.environment-variables" }, { "name": "ecs.capability.branch-cni-plugin-version", "value": "e0703516-" }, { "name": "ecs.ami-id", "value": "ami-00e0090ac21971297" }, { "name": "ecs.capability.secrets.asm.bootstrap.log-driver" }, { "name": "com.amazonaws.ecs.capability.logging-driver.none" }, { "name": "ecs.capability.ecr-endpoint" }, { "name": "ecs.capability.docker-plugin.local" }, { "name": "ecs.capability.task-cpu-mem-limit" }, { "name": "ecs.capability.secrets.ssm.bootstrap.log-driver" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.30" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.31" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.32" }, { "name": "ecs.availability-zone", "value": "us-west-2c" }, { "name": "ecs.capability.aws-appmesh" }, { "name": "com.amazonaws.ecs.capability.logging-driver.awslogs" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.24" }, { "name": "ecs.capability.task-eni-trunking" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.25" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.26" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.27" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.28" }, { "name": "com.amazonaws.ecs.capability.privileged-container" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.29" }, { "name": "ecs.cpu-architecture", "value": "x86_64" }, { "name": "com.amazonaws.ecs.capability.ecr-auth" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.20" }, { "name": "ecs.os-type", "value": "linux" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.21" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.22" }, { "name": "ecs.capability.task-eia" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.23" }, { "name": "ecs.capability.private-registry-authentication.secretsmanager" }, { "name": "com.amazonaws.ecs.capability.logging-driver.syslog" }, { "name": "com.amazonaws.ecs.capability.logging-driver.json-file" }, { "name": "ecs.capability.execution-role-awslogs" }, { "name": "ecs.vpc-id", "value": "vpc-1234" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.17" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.18" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.19" }, { "name": "ecs.capability.task-eni" }, { "name": "ecs.capability.execution-role-ecr-pull" }, { "name": "ecs.capability.container-health-check" }, { "name": "ecs.subnet-id", "value": "subnet-1234" }, { "name": "ecs.instance-type", "value": "c5.large" }, { "name": "com.amazonaws.ecs.capability.task-iam-role-network-host" }, { "name": "ecs.capability.container-ordering" }, { "name": "ecs.capability.cni-plugin-version", "value": "91ccefc8-2019.06.0" }, { "name": "ecs.capability.pid-ipc-namespace-sharing" }, { "name": "ecs.capability.secrets.ssm.environment-variables" }, { "name": "com.amazonaws.ecs.capability.task-iam-role" } ], "registeredAt": 1560788724.507, "attachments": [], "tags": [] } ], "failures": [] }

次のコード例は、update-service-primary-task-set を使用する方法を示しています。

AWS CLI

サービスのプライマリタスクセットを更新するには

次のupdate-service-primary-task-set例では、指定されたサービスのプライマリタスクセットを更新します。

aws ecs update-service-primary-task-set \ --cluster MyCluster \ --service MyService \ --primary-task-set arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789

出力:

{ "taskSet": { "id": "ecs-svc/1234567890123456789", "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", "status": "PRIMARY", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:2", "computedDesiredCount": 1, "pendingCount": 0, "runningCount": 0, "createdAt": 1557128360.711, "updatedAt": 1557129412.653, "launchType": "EC2", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344312" ], "assignPublicIp": "DISABLED" } }, "loadBalancers": [], "serviceRegistries": [], "scale": { "value": 50.0, "unit": "PERCENT" }, "stabilityStatus": "STABILIZING", "stabilityStatusAt": 1557129279.914 } }
  • API 詳細については、「 コマンドリファレンスUpdateServicePrimaryTaskSet」の「」を参照してください。 AWS CLI

次のコード例は、update-service を使用する方法を示しています。

AWS CLI

例 1: サービスで使用されるタスク定義を変更するには

次の update-service の例は、amazon-ecs-sample タスク定義を使用するように my-http-service サービスを更新します。

aws ecs update-service --service my-http-service --task-definition amazon-ecs-sample

例 2: サービス内のタスク数を変更するには

次の update-service の例は、my-http-service サービスのタスクの数を 3 に更新します。

aws ecs update-service --service my-http-service --desired-count 3

詳細については、「Amazon ECS デベロッパーガイド」の「サービスの更新」を参照してください。

  • API 詳細については、「 コマンドリファレンスUpdateService」の「」を参照してください。 AWS CLI

次のコード例は、update-task-set を使用する方法を示しています。

AWS CLI

タスクセットを更新するには

次のupdate-task-set例では、タスクセットを更新してスケールを調整します。

aws ecs update-task-set \ --cluster MyCluster \ --service MyService \ --task-set arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789 \ --scale value=50,unit=PERCENT

出力:

{ "taskSet": { "id": "ecs-svc/1234567890123456789", "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", "status": "ACTIVE", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:2", "computedDesiredCount": 0, "pendingCount": 0, "runningCount": 0, "createdAt": 1557128360.711, "updatedAt": 1557129279.914, "launchType": "EC2", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "DISABLED" } }, "loadBalancers": [], "serviceRegistries": [], "scale": { "value": 50.0, "unit": "PERCENT" }, "stabilityStatus": "STABILIZING", "stabilityStatusAt": 1557129279.914 } }
  • API 詳細については、「 コマンドリファレンスUpdateTaskSet」の「」を参照してください。 AWS CLI