ECSExemples d'Amazon utilisant AWS CLI - AWS Command Line Interface

Cette documentation concerne AWS CLI uniquement la version 1. Pour la documentation relative à la version 2 du AWS CLI, consultez le guide de l'utilisateur de la version 2.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

ECSExemples d'Amazon utilisant AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l' AWS Command Line Interface aide d'AmazonECS.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous montrent comment appeler des fonctions de service individuelles, vous pouvez les visualiser dans leur contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le code en contexte.

Rubriques

Actions

L'exemple de code suivant montre comment utilisercreate-capacity-provider.

AWS CLI

Pour créer un fournisseur de capacité

L' create-capacity-providerexemple suivant crée un fournisseur de capacité qui utilise un groupe Auto Scaling nommé MyASG, dont le dimensionnement géré et la protection des résiliations sont activés. Cette configuration est utilisée pour le dimensionnement automatique des ECS clusters Amazon.

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"

Sortie :

{ "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": [] }

Pour plus d'informations, consultez la section Amazon ECS Cluster Auto Scaling dans le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utilisercreate-cluster.

AWS CLI

Exemple 1 : pour créer un nouveau cluster

L'create-clusterexemple suivant crée un cluster.

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

Sortie :

{ "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": [] } }

Pour plus d'informations, consultez la section Création d'un cluster dans le manuel Amazon ECS Developer Guide.

Exemple 2 : pour créer un nouveau cluster à l'aide de fournisseurs de capacité

L'create-clusterexemple suivant crée un cluster et y associe deux fournisseurs de capacité existants. La create-capacity-provider commande est utilisée pour créer un fournisseur de capacité. La spécification d'une stratégie de fournisseur de capacité par défaut est facultative, mais recommandée. Dans cet exemple, nous créons un cluster nommé MyCluster et y associons les MyCapacityProvider1 fournisseurs de MyCapacityProvider2 capacité. Une stratégie de fournisseur de capacité par défaut est spécifiée pour répartir les tâches de manière égale entre les deux fournisseurs de capacité.

aws ecs create-cluster --cluster-name MyCluster --capacity providers 1 2 -- default-capacity-provider-strategy capacityProvider = 1, MyCapacityProvider poids=1 = MyCapacityProvider 2, poids=1 MyCapacityProvider capacityProvider MyCapacityProvider

Sortie :

{ "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" } }

Pour plus d'informations, consultez la section Fournisseurs de capacité de cluster dans le manuel Amazon ECS Developer Guide.

Exemple 3 : pour créer un nouveau cluster avec plusieurs balises

L'create-clusterexemple suivant crée un cluster avec plusieurs balises. Pour plus d'informations sur l'ajout de balises à l'aide d'une syntaxe abrégée, consultez la section Utilisation de la syntaxe abrégée avec l'interface de ligne de AWS commande dans le guide de l'utilisateur.AWS CLI

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

Sortie :

{ "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" } ] } }

Pour plus d'informations, consultez la section Création d'un cluster dans le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir CreateClusterla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-service.

AWS CLI

Exemple 1 : pour créer un service avec une tâche Fargate

L'create-serviceexemple suivant montre comment créer un service à l'aide d'une tâche 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

Sortie :

{ "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" } }

Exemple 2 : pour créer un service à l'aide du type de EC2 lancement

L'create-serviceexemple suivant montre comment créer un service appelé ecs-simple-service avec une tâche utilisant le type de EC2 lancement. Le service utilise la définition de sleep360 tâche et conserve une seule instanciation de la tâche.

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

Sortie :

{ "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" } }

Exemple 3 : pour créer un service utilisant un contrôleur de déploiement externe

L'create-serviceexemple suivant crée un service qui utilise un contrôleur de déploiement externe.

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

Sortie :

{ "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" } }

Exemple 4 : pour créer un nouveau service derrière un équilibreur de charge

L'create-serviceexemple suivant montre comment créer un service situé derrière un équilibreur de charge. Un équilibreur de charge doit être configuré dans la même région que votre instance de conteneur. Cet exemple utilise l'--cli-input-jsonoption et un fichier JSON d'entrée appelé ecs-simple-service-elb.json avec le contenu suivant :

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

Commande :

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

Sortie :

{ "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 } }

Pour plus d'informations, consultez la section Création d'un service dans le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir CreateServicela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-task-set.

AWS CLI

Pour créer un ensemble de tâches

L'create-task-setexemple suivant crée un ensemble de tâches dans un service qui utilise un contrôleur de déploiement externe.

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

Sortie :

{ "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 } }
  • Pour API plus de détails, voir CreateTaskSetla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-account-setting.

AWS CLI

Pour supprimer les paramètres du compte pour un IAM utilisateur ou un IAM rôle spécifique

L'exemple suivant delete-account-setting supprime les paramètres du compte pour un IAM utilisateur ou un IAM rôle spécifique.

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

Sortie :

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

Pour plus d'informations, consultez Amazon Resource Names (ARNs) et IDs le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserdelete-attributes.

AWS CLI

Pour supprimer un ou plusieurs attributs personnalisés d'une ECS ressource Amazon

Ce qui suit delete-attributes supprime un attribut portant le nom stack d'une instance de conteneur.

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

Sortie :

{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }
  • Pour API plus de détails, voir DeleteAttributesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-capacity-provider.

AWS CLI

Exemple 1 : pour supprimer un fournisseur de capacité à l'aide du nom de ressource Amazon (ARN)

L'delete-capacity-providerexemple suivant supprime un fournisseur de capacité en spécifiant le nom de ressource Amazon (ARN) du fournisseur de capacité. Le ARN statut et le statut de la suppression du fournisseur de capacité peuvent être récupérés à l'aide de la describe-capacity-providers commande.

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

Sortie :

{ "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": [] } }

Pour plus d'informations, consultez la section Fournisseurs de capacité de cluster dans le manuel Amazon ECS Developer Guide.

Exemple 2 : pour supprimer un fournisseur de capacité en utilisant le nom

L'delete-capacity-providerexemple suivant supprime un fournisseur de capacité en spécifiant son nom abrégé. Le nom abrégé ainsi que l'état de la suppression du fournisseur de capacité peuvent être récupérés à l'aide de la describe-capacity-providers commande.

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

Sortie :

{ "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": [] } }

Pour plus d'informations, consultez la section Fournisseurs de capacité de cluster dans le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserdelete-cluster.

AWS CLI

Pour supprimer un cluster vide

L'delete-clusterexemple suivant supprime le cluster vide spécifié.

aws ecs delete-cluster --cluster MyCluster

Sortie :

{ "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": [] } }

Pour plus d'informations, consultez Supprimer un cluster dans le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir DeleteClusterla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-service.

AWS CLI

Pour supprimer un service

L'ecs delete-serviceexemple suivant supprime le service spécifié d'un cluster. Vous pouvez inclure le --force paramètre pour supprimer un service même s'il n'a pas été redimensionné à zéro tâche.

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

Pour plus d'informations, consultez Supprimer un service dans le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir DeleteServicela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-task-definitions.

AWS CLI

Pour supprimer une définition de tâche

L'delete-task-definitionsexemple suivant supprime une définition de INACTIVE tâche.

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

Sortie :

{ "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": [] }

Pour plus d'informations, consultez les définitions des ECS tâches Amazon dans le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserdelete-task-set.

AWS CLI

Pour supprimer un ensemble de tâches

L'delete-task-setexemple suivant montre comment supprimer un ensemble de tâches. Vous pouvez inclure le --force paramètre pour supprimer un ensemble de tâches même s'il n'a pas été redimensionné à zéro.

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

Sortie :

{ "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 } }
  • Pour API plus de détails, voir DeleteTaskSetla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserderegister-container-instance.

AWS CLI

Pour désenregistrer une instance de conteneur d'un cluster

L'deregister-container-instanceexemple suivant annule l'enregistrement d'une instance de conteneur du cluster spécifié. Si des tâches sont toujours en cours d'exécution dans l'instance de conteneur, vous devez soit arrêter ces tâches avant de vous désinscrire, soit utiliser l'option. --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

Sortie :

{ "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" } }

Pour plus d'informations, consultez la section Désenregistrer une instance de conteneur dans le Guide du ECSdéveloppeur.

L'exemple de code suivant montre comment utiliserderegister-task-definition.

AWS CLI

Pour annuler l'enregistrement d'une définition de tâche

L'deregister-task-definitionexemple suivant annule l'enregistrement de la première révision de la définition de curler tâche dans votre région par défaut.

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

Notez que dans le résultat obtenu, l'état de la définition de la tâche indique 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 } }

Pour plus d'informations, consultez les définitions des ECS tâches Amazon dans le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserdescribe-capacity-providers.

AWS CLI

Exemple 1 : Décrire tous les fournisseurs de capacité

L'describe-capacity-providersexemple suivant permet de récupérer des informations sur tous les fournisseurs de capacité.

aws ecs describe-capacity-providers

Sortie :

{ "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": [] } ] }

Pour plus d'informations, consultez la section Fournisseurs de capacité de cluster dans le manuel Amazon ECS Developer Guide.

Exemple 2 : Pour décrire un fournisseur de capacité spécifique

L'describe-capacity-providersexemple suivant permet de récupérer des informations sur un fournisseur de capacité spécifique. L'utilisation du --include TAGS paramètre ajoutera les balises associées au fournisseur de capacité à la sortie.

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

Sortie :

{ "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" } ] } ] }

Pour plus d'informations, consultez la section Fournisseurs de capacité de cluster dans le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserdescribe-clusters.

AWS CLI

Exemple 1 : pour décrire un cluster

L'describe-clustersexemple suivant permet de récupérer des informations sur le cluster spécifié.

aws ecs describe-clusters \ --cluster default

Sortie :

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

Pour plus d'informations, consultez Amazon ECS Clusters dans le manuel Amazon ECS Developer Guide.

Exemple 2 : pour décrire un cluster avec l'option d'attachement

L'describe-clustersexemple suivant indique l'ATTACHMENTSoption. Il récupère les détails du cluster spécifié et une liste des ressources associées au cluster sous forme de pièces jointes. Lorsque vous utilisez un fournisseur de capacité avec un cluster, les ressources, qu'il s'agisse de AutoScaling plans ou de politiques de dimensionnement, seront représentées sous la forme asp ou ATTACHMENTS as_policy.

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

Sortie :

{ "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": [] }

Pour plus d'informations, consultez Amazon ECS Clusters dans le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir DescribeClustersla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-container-instances.

AWS CLI

Pour décrire une instance de conteneur

L'describe-container-instancesexemple suivant récupère les détails d'une instance de conteneur dans le update cluster, en utilisant l'instance de conteneur UUID comme identifiant.

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

Sortie :

{ "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" } } ] }

Pour plus d'informations, consultez Amazon ECS Container Instances dans le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserdescribe-services.

AWS CLI

Pour décrire un service

L'describe-servicesexemple suivant permet de récupérer les détails du my-http-service service dans le cluster par défaut.

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

Sortie :

{ "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": [] }

Pour plus d'informations, consultez la section Services du manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir DescribeServicesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-task-definition.

AWS CLI

Pour décrire une définition de tâche

L'describe-task-definitionexemple suivant permet de récupérer les détails d'une définition de tâche.

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

Sortie :

{ "taskDefinition": { "taskDefinitionArn": "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:8", "containerDefinitions": [ { "cpu": 10, "environment": [], "essential": true, "image": "wordpress", "links": [ "mysql" ] , "memory": 500, "mountPoints": [], "name": "wordpress", "portMappings": [ { "containerPort": 80, "hostPort": 80 } ], "volumesFrom": [] }, { "cpu": 10, "environment": [ { "name": "MYSQL_ROOT_PASSWORD", "value": "password" } ], "essential": true, "image": "mysql", "memory": 500, "mountPoints": [], "name": "mysql", "portMappings": [], "volumesFrom": [] } ], "family": "hello_world", "revision": 8, "volumes": [], "status": "ACTIVE", "placementConstraints": [], "compatibilities": [ "EXTERNAL", "EC2" ], "registeredAt": "2024-06-21T11:15:12.669000-05:00", "registeredBy": "arn:aws:sts::012345678910:assumed-role/demo-role/jane-doe" }, "tags": [] }

Pour plus d'informations, consultez les définitions des ECS tâches Amazon dans le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserdescribe-task-sets.

AWS CLI

Pour décrire un ensemble de tâches

L'describe-task-setsexemple suivant décrit un ensemble de tâches dans un service qui utilise un déployeur externe.

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

Sortie :

{ "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": [] }
  • Pour API plus de détails, voir DescribeTaskSetsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-tasks.

AWS CLI

Exemple 1 : Pour décrire les tâches d'une seule tâche

L'describe-tasksexemple suivant permet de récupérer les détails d'une tâche dans un cluster. Vous pouvez spécifier la tâche en utilisant l'ID ou l'intégralité ARN de la tâche. Cet exemple utilise l'intégralité ARN de la tâche.

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

Sortie :

{ "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": [] }

Pour plus d'informations, consultez les définitions des ECS tâches Amazon dans le manuel Amazon ECS Developer Guide.

Exemple 2 : Pour décrire plusieurs tâches

L'describe-tasksexemple suivant permet de récupérer les détails de plusieurs tâches d'un cluster. Vous pouvez spécifier la tâche en utilisant l'ID ou l'intégralité ARN de la tâche. Cet exemple utilise l'ensemble IDs des tâches.

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

Sortie :

{ "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": [] }

Pour plus d'informations, consultez les définitions des ECS tâches Amazon dans le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir DescribeTasksla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserexecute-command.

AWS CLI

Pour exécuter une interactive /bin/sh commande

L'execute-commandexemple suivant exécute une interactive /bin/sh commande sur un conteneur nommé MyContainer d'après une tâche dont l'identifiant estarn: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"

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Utilisation d'Amazon ECS Exec pour le débogage dans le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir ExecuteCommandla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-account-settings.

AWS CLI

Exemple 1 : pour consulter les paramètres d'un compte

L'list-account-settingsexemple suivant montre les paramètres effectifs d'un compte.

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

Sortie :

{ "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" } ] }

Exemple 2 : pour afficher les paramètres du compte pour un IAM utilisateur ou un IAM rôle spécifique

L'list-account-settingsexemple suivant affiche les paramètres du compte pour l'IAMutilisateur ou le IAM rôle spécifié.

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

Sortie :

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

Pour plus d'informations, consultez Amazon Resource Names (ARNs) et IDs le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir ListAccountSettingsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-attributes.

AWS CLI

Pour répertorier les instances de conteneur contenant un attribut spécifique

L'exemple suivant répertorie les attributs des instances de conteneur dont l'stack=productionattribut se trouve dans le cluster par défaut.

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

Sortie :

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

Pour plus d'informations, consultez la section Configuration d'Amazon ECS Container Agent dans le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir ListAttributesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-clusters.

AWS CLI

Pour répertorier vos clusters disponibles

L'list-clustersexemple suivant répertorie tous les clusters disponibles.

aws ecs list-clusters

Sortie :

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

Pour plus d'informations, consultez Amazon ECS Clusters dans le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir ListClustersla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-container-instances.

AWS CLI

Pour répertorier les instances de conteneur dans un cluster

L'list-container-instancesexemple suivant répertorie toutes les instances de conteneur disponibles dans un cluster.

aws ecs list-container-instances --cluster MyCluster

Sortie :

{ "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" ] }

Pour plus d'informations, consultez Amazon ECS Container Instances dans le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserlist-services-by-namespace.

AWS CLI

Pour répertorier les services dans un espace de noms

L'list-services-by-namespaceexemple suivant répertorie tous les services configurés pour l'espace de noms spécifié dans votre région par défaut.

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

Sortie :

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

Pour plus d'informations, consultez Service Connect dans le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserlist-services.

AWS CLI

Pour répertorier les services d'un cluster

L'list-servicesexemple suivant montre comment répertorier les services exécutés dans un cluster.

aws ecs list-services --cluster MyCluster

Sortie :

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

Pour plus d'informations, consultez la section Services du manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir ListServicesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-tags-for-resource.

AWS CLI

Pour répertorier les balises d'une ressource

L'list-tags-for-resourceexemple suivant répertorie les balises d'un cluster spécifique.

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

Sortie :

{ "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ] }
  • Pour API plus de détails, voir ListTagsForResourcela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-task-definition-families.

AWS CLI

Exemple 1 : pour répertorier les familles de définitions de tâches enregistrées

L'list-task-definition-familiesexemple suivant répertorie toutes les familles de définitions de tâches enregistrées.

aws ecs list-task-definition-families

Sortie :

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

Exemple 2 : pour filtrer les familles de définitions de tâches enregistrées

L'list-task-definition-familiesexemple suivant répertorie les révisions des définitions de tâches qui commencent par « hpcc ».

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

Sortie :

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

Pour plus d'informations, consultez la section Paramètres de définition des tâches dans le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserlist-task-definitions.

AWS CLI

Exemple 1 : pour répertorier les définitions de tâches enregistrées

L'list-task-definitionsexemple suivant répertorie toutes les définitions de tâches enregistrées.

aws ecs list-task-definitions

Sortie :

{ "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" ] }

Exemple 2 : pour répertorier les définitions de tâches enregistrées dans une famille

L' list-task-definitionsexemple suivant répertorie les révisions des définitions de tâches d'une famille spécifiée.

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

Sortie :

{ "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" ] }

Pour plus d'informations, consultez les définitions des ECS tâches Amazon dans le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir ListTaskDefinitionsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-tasks.

AWS CLI

Exemple 1 : pour répertorier les tâches d'un cluster

L'list-tasksexemple suivant répertorie toutes les tâches d'un cluster.

aws ecs list-tasks --cluster default

Sortie :

{ "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" ] }

Exemple 2 : pour répertorier les tâches sur une instance de conteneur particulière

L'list-tasksexemple suivant répertorie les tâches d'une instance de conteneur, en utilisant l'instance de conteneur UUID comme filtre.

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

Sortie :

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

Pour plus d'informations, consultez les définitions des ECS tâches Amazon dans le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir ListTasksla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-account-setting-default.

AWS CLI

Pour modifier les paramètres du compte par défaut

L'put-account-setting-defaultexemple suivant modifie le paramètre de compte par défaut pour tous les IAM utilisateurs ou rôles de votre compte. Ces modifications s'appliquent à l'ensemble du AWS compte, sauf si un IAM utilisateur ou un rôle remplace explicitement ces paramètres pour lui-même.

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

Sortie :

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

Pour plus d'informations, consultez Amazon Resource Names (ARNs) et IDs le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserput-account-setting.

AWS CLI

Pour modifier les paramètres de votre compte IAM utilisateur

L'put-account-settingexemple suivant active le serviceLongArnFormat paramétrage de votre compte IAM utilisateur.

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

Sortie :

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

Pour plus d'informations, consultez la section Modification des paramètres du compte dans le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir PutAccountSettingla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-account-settings.

AWS CLI

Pour modifier les paramètres du compte pour un IAM utilisateur ou un IAM rôle

L'put-account-settingexemple suivant modifie les paramètres du compte pour l'IAMutilisateur ou le IAM rôle spécifié.

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

Sortie :

{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } }
  • Pour API plus de détails, voir PutAccountSettingsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-attributes.

AWS CLI

Pour créer un attribut et l'associer à une ECS ressource Amazon

Ce qui suit put-attributes applique un attribut avec la pile de noms et la production de valeur à une instance de conteneur.

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

Sortie :

{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }
  • Pour API plus de détails, voir PutAttributesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-cluster-capacity-providers.

AWS CLI

Exemple 1 : pour ajouter un fournisseur de capacité existant à un cluster

L'put-cluster-capacity-providersexemple suivant ajoute un fournisseur de capacité existant à un cluster. La create-capacity-provider commande est utilisée pour créer un fournisseur de capacité. La describe-clusters commande est utilisée pour décrire les fournisseurs de capacité actuels et la stratégie de fournisseur de capacité par défaut associée à un cluster. Lorsque vous ajoutez un nouveau fournisseur de capacité à un cluster, vous devez spécifier tous les fournisseurs de capacité existants en plus du nouveau fournisseur de capacité que vous souhaitez associer au cluster. Vous devez également spécifier la stratégie de fournisseur de capacité par défaut à associer au cluster. Dans cet exemple, le fournisseur de MyCapacityProvider1 capacité est associé au MyCluster cluster et vous souhaitez ajouter le fournisseur de MyCapacityProvider2 capacité et l'inclure dans la stratégie de fournisseur de capacité par défaut afin que les tâches soient réparties uniformément entre les deux fournisseurs de capacité.

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

Sortie :

{ "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" } }

Pour plus d'informations, consultez la section Fournisseurs de capacité de cluster dans le manuel Amazon ECS Developer Guide.

Exemple 2 : pour supprimer un fournisseur de capacité d'un cluster

L'put-cluster-capacity-providersexemple suivant supprime un fournisseur de capacité d'un cluster. La describe-clusters commande est utilisée pour décrire les fournisseurs de capacité actuels associés à un cluster. Lorsque vous supprimez un fournisseur de capacité d'un cluster, vous devez spécifier les fournisseurs de capacité que vous souhaitez voir associés au cluster ainsi que la stratégie de fournisseur de capacité par défaut à associer au cluster. Dans cet exemple, les fournisseurs de MyCapacityProvider2 capacité MyCapacityProvider1 et sont associés au cluster et vous souhaitez supprimer le fournisseur de MyCapacityProvider2 capacité. Vous ne le spécifiez donc que MyCapacityProvider1 dans la commande avec la stratégie de fournisseur de capacité par défaut mise à jour.

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

Sortie :

{ "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" } }

Pour plus d'informations, consultez la section Fournisseurs de capacité de cluster dans le manuel Amazon ECS Developer Guide.

Exemple 3 : pour supprimer tous les fournisseurs de capacité d'un cluster

L'put-cluster-capacity-providersexemple suivant supprime tous les fournisseurs de capacité existants du cluster.

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

Sortie :

{ "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" } }

Pour plus d'informations, consultez la section Fournisseurs de capacité de cluster dans le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserregister-task-definition.

AWS CLI

Exemple 1 : pour enregistrer une définition de tâche dans un JSON fichier

L'register-task-definitionexemple suivant enregistre une définition de tâche dans la famille spécifiée. Les définitions de conteneur sont enregistrées au JSON format à l'emplacement de fichier spécifié.

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

Contenu de sleep360.json :

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

Sortie :

{ "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 } }

Pour plus d'informations, consultez des exemples de définitions de tâches dans le manuel Amazon ECS Developer Guide.

Exemple 2 : pour enregistrer une définition de tâche avec un paramètre de JSON chaîne

L'register-task-definitionexemple suivant enregistre une définition de tâche à l'aide des définitions de conteneur fournies sous forme de paramètre de JSON chaîne avec des guillemets évités.

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

Le résultat est identique à celui de l'exemple précédent.

Pour plus d'informations, consultez la section Création d'une définition de tâche dans le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserrun-task.

AWS CLI

Pour exécuter une tâche sur votre cluster par défaut

L'run-taskexemple suivant exécute une tâche sur le cluster par défaut et utilise un jeton client.

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

Sortie :

{ "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": [] }

Pour plus d'informations, consultez Running Tasks dans le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir RunTaskla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserstart-task.

AWS CLI

Pour démarrer une nouvelle tâche

Ce qui suit start-task démarre une tâche en utilisant la dernière révision de la définition de sleep360 tâche sur l'instance de conteneur spécifiée dans le cluster par défaut.

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

Sortie :

{ "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": [] }
  • Pour API plus de détails, voir StartTaskla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserstop-task.

AWS CLI

Pour arrêter une tâche

Ce qui suit stop-task arrête l'exécution de la tâche spécifiée dans le cluster par défaut.

aws ecs stop-task \ --task 666fdccc2e2d4b6894dd422f4eeee8f8

Sortie :

{ "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": [] } }
  • Pour API plus de détails, voir StopTaskla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisertag-resource.

AWS CLI

Pour étiqueter une ressource

L'tag-resourceexemple suivant ajoute une seule balise à la ressource spécifiée.

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

Cette commande ne produit aucun résultat.

Pour ajouter plusieurs balises à une ressource

L'tag-resourceexemple suivant ajoute plusieurs balises à la ressource spécifiée.

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

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir TagResourcela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliseruntag-resource.

AWS CLI

Pour supprimer un tag d'une ressource

L'untag-resourceexemple suivant supprime les balises répertoriées de la ressource spécifiée.

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

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir UntagResourcela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-cluster-settings.

AWS CLI

Pour modifier les paramètres de votre cluster

L'update-cluster-settingsexemple suivant active CloudWatch Container Insights pour le default cluster.

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

Sortie :

{ "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" } ] } }

Pour plus d'informations, consultez la section Modification des paramètres du compte dans le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserupdate-container-agent.

AWS CLI

Pour mettre à jour l'agent de conteneur sur une instance de ECS conteneur Amazon

L'update-container-agentexemple suivant met à jour l'agent de conteneur sur l'instance de conteneur spécifiée dans le cluster par défaut.

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

Sortie :

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

Pour plus d'informations, consultez la section Mise à jour de l'agent de ECS conteneur Amazon dans le manuel Amazon ECS Developer Guide.

L'exemple de code suivant montre comment utiliserupdate-container-instances-state.

AWS CLI

Pour mettre à jour l'état d'une instance de conteneur

Ce qui suit update-container-instances-state met à jour l'état de l'instance de conteneur spécifiée dans DRAINING laquelle elle sera supprimée du cluster dans laquelle elle est enregistrée.

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

Sortie :

{ "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": [] }

L'exemple de code suivant montre comment utiliserupdate-service-primary-task-set.

AWS CLI

Pour mettre à jour l'ensemble de tâches principal d'un service

L'update-service-primary-task-setexemple suivant met à jour l'ensemble de tâches principal pour le service spécifié.

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

Sortie :

{ "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 } }

L'exemple de code suivant montre comment utiliserupdate-service.

AWS CLI

Exemple 1 : pour modifier la définition de tâche utilisée dans un service

L'update-serviceexemple suivant met à jour le my-http-service service pour utiliser la définition de amazon-ecs-sample tâche.

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

Exemple 2 : pour modifier le nombre de tâches dans un service

L'update-serviceexemple suivant met à jour le nombre de tâches souhaité du service my-http-service à 3.

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

Pour plus d'informations, consultez la section Mettre à jour un service dans le manuel Amazon ECS Developer Guide.

  • Pour API plus de détails, voir UpdateServicela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-task-set.

AWS CLI

Pour mettre à jour un ensemble de tâches

L'update-task-setexemple suivant met à jour un ensemble de tâches pour ajuster l'échelle.

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

Sortie :

{ "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 } }
  • Pour API plus de détails, voir UpdateTaskSetla section Référence des AWS CLI commandes.