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.
-
Pour API plus de détails, voir CreateCapacityProvider
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisercreate-cluster
.
- AWS CLI
-
Exemple 1 : pour créer un nouveau cluster
L'
create-cluster
exemple 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-cluster
exemple suivant crée un cluster et y associe deux fournisseurs de capacité existants. Lacreate-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 lesMyCapacityProvider1
fournisseurs deMyCapacityProvider2
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-cluster
exemple 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 CLIaws ecs create-cluster \ --cluster-name
MyCluster
\ --tagskey=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 CreateCluster
la 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-service
exemple suivant montre comment créer un service à l'aide d'une tâche Fargate.aws ecs create-service \ --cluster
MyCluster
\ --service-nameMyService
\ --task-definitionsample-fargate:1
\ --desired-count2
\ --launch-typeFARGATE
\ --platform-versionLATEST
\ --network-configuration"awsvpcConfiguration={subnets=[subnet-12344321],securityGroups=[sg-12344321],assignPublicIp=ENABLED}"
\ --tagskey=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-service
exemple 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 desleep360
tâche et conserve une seule instanciation de la tâche.aws ecs create-service \ --cluster
MyCluster
\ --service-nameecs-simple-service
\ --task-definitionsleep360:2
\ --desired-count1
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-service
exemple suivant crée un service qui utilise un contrôleur de déploiement externe.aws ecs create-service \ --cluster
MyCluster
\ --service-nameMyService
\ --deployment-controllertype=EXTERNAL
\ --desired-count1
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-service
exemple 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-json
option 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-nameecs-simple-service-elb
\ --cli-input-jsonfile://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 CreateService
la 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-set
exemple 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
\ --serviceMyService
\ --task-definitionMyTaskDefinition: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 CreateTaskSet
la 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-arnarn: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.
-
Pour API plus de détails, voir DeleteAccountSetting
la section Référence des AWS CLI commandes.
-
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 nomstack
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 DeleteAttributes
la 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-provider
exemple 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 ladescribe-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-provider
exemple 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 ladescribe-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.
-
Pour API plus de détails, voir DeleteCapacityProvider
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdelete-cluster
.
- AWS CLI
-
Pour supprimer un cluster vide
L'
delete-cluster
exemple 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 DeleteCluster
la 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-service
exemple 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
--serviceMyService1
--forcePour plus d'informations, consultez Supprimer un service dans le manuel Amazon ECS Developer Guide.
-
Pour API plus de détails, voir DeleteService
la 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-definitions
exemple 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.
-
Pour API plus de détails, voir DeleteTaskDefinitions
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdelete-task-set
.
- AWS CLI
-
Pour supprimer un ensemble de tâches
L'
delete-task-set
exemple 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
\ --serviceMyService
\ --task-setarn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789
\ --forceSortie :
{ "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 DeleteTaskSet
la 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-instance
exemple 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-instancearn:aws:ecs:us-west-2:123456789012:container-instance/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE
\ --forceSortie :
{ "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.
-
Pour API plus de détails, voir DeregisterContainerInstance
la section Référence des AWS CLI commandes.
-
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-definition
exemple suivant annule l'enregistrement de la première révision de la définition decurler
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.
-
Pour API plus de détails, voir DeregisterTaskDefinition
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdescribe-capacity-providers
.
- AWS CLI
-
Exemple 1 : Décrire tous les fournisseurs de capacité
L'
describe-capacity-providers
exemple 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-providers
exemple 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
\ --includeTAGS
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.
-
Pour API plus de détails, voir DescribeCapacityProviders
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdescribe-clusters
.
- AWS CLI
-
Exemple 1 : pour décrire un cluster
L'
describe-clusters
exemple 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-clusters
exemple 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
\ --clusterssampleCluster
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 DescribeClusters
la 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-instances
exemple suivant récupère les détails d'une instance de conteneur dans leupdate
cluster, en utilisant l'instance de conteneur UUID comme identifiant.aws ecs describe-container-instances \ --cluster
update
\ --container-instancesa1b2c3d4-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.
-
Pour API plus de détails, voir DescribeContainerInstances
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdescribe-services
.
- AWS CLI
-
Pour décrire un service
L'
describe-services
exemple suivant permet de récupérer les détails dumy-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 DescribeServices
la 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-definition
exemple 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.
-
Pour API plus de détails, voir DescribeTaskDefinition
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdescribe-task-sets
.
- AWS CLI
-
Pour décrire un ensemble de tâches
L'
describe-task-sets
exemple suivant décrit un ensemble de tâches dans un service qui utilise un déployeur externe.aws ecs describe-task-sets \ --cluster
MyCluster
\ --serviceMyService
\ --task-setsarn: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 DescribeTaskSets
la 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-tasks
exemple 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
\ --tasksarn: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-tasks
exemple 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 DescribeTasks
la 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-command
exemple 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
\ --taskarn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE
\ --containerMyContainer
\ --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 ExecuteCommand
la 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-settings
exemple 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-settings
exemple 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 ListAccountSettings
la 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=production
attribut se trouve dans le cluster par défaut.aws ecs list-attributes \ --target-type
container-instance
\ --attribute-namestack
\ --attribute-valueproduction
\ --clusterdefault
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 ListAttributes
la 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-clusters
exemple 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 ListClusters
la 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-instances
exemple 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.
-
Pour API plus de détails, voir ListContainerInstances
la section Référence des AWS CLI commandes.
-
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-namespace
exemple 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.
-
Pour API plus de détails, voir ListServicesByNamespace
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-services
.
- AWS CLI
-
Pour répertorier les services d'un cluster
L'
list-services
exemple 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 ListServices
la 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-resource
exemple 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 ListTagsForResource
la 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-families
exemple 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-families
exemple 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.
-
Pour API plus de détails, voir ListTaskDefinitionFamilies
la section Référence des AWS CLI commandes.
-
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-definitions
exemple 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 ListTaskDefinitions
la 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-tasks
exemple 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-tasks
exemple 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-instancea1b2c3d4-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 ListTasks
la 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-default
exemple 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
--valueenabled
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.
-
Pour API plus de détails, voir PutAccountSettingDefault
la section Référence des AWS CLI commandes.
-
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-setting
exemple suivant active leserviceLongArnFormat
paramétrage de votre compte IAM utilisateur.aws ecs put-account-setting --name
serviceLongArnFormat
--valueenabled
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 PutAccountSetting
la 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-setting
exemple suivant modifie les paramètres du compte pour l'IAMutilisateur ou le IAM rôle spécifié.aws ecs put-account-setting \ --name
serviceLongArnFormat
\ --valueenabled
\ --principal-arnarn: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 PutAccountSettings
la 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 PutAttributes
la 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-providers
exemple suivant ajoute un fournisseur de capacité existant à un cluster. Lacreate-capacity-provider
commande est utilisée pour créer un fournisseur de capacité. Ladescribe-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 deMyCapacityProvider1
capacité est associé auMyCluster
cluster et vous souhaitez ajouter le fournisseur deMyCapacityProvider2
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-providersMyCapacityProvider1
MyCapacityProvider2
\ --default-capacity-provider-strategycapacityProvider=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-providers
exemple suivant supprime un fournisseur de capacité d'un cluster. Ladescribe-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 deMyCapacityProvider2
capacitéMyCapacityProvider1
et sont associés au cluster et vous souhaitez supprimer le fournisseur deMyCapacityProvider2
capacité. Vous ne le spécifiez donc queMyCapacityProvider1
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-providersMyCapacityProvider1
\ --default-capacity-provider-strategycapacityProvider=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-providers
exemple 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.
-
Pour API plus de détails, voir PutClusterCapacityProviders
la section Référence des AWS CLI commandes.
-
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-definition
exemple 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-definition
exemple 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.
-
Pour API plus de détails, voir RegisterTaskDefinition
la section Référence des AWS CLI commandes.
-
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-task
exemple suivant exécute une tâche sur le cluster par défaut et utilise un jeton client.aws ecs run-task \ --cluster
default
\ --task-definitionsleep360:1
\ --client-token550e8400-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 RunTask
la 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 desleep360
tâche sur l'instance de conteneur spécifiée dans le cluster par défaut.aws ecs start-task \ --task-definition
sleep360
\ --container-instances765936fadbdd46b5991a4bd70c2a43d4
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 StartTask
la 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 StopTask
la 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-resource
exemple 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
--tagskey=key1,value=value1
Cette commande ne produit aucun résultat.
Pour ajouter plusieurs balises à une ressource
L'
tag-resource
exemple suivant ajoute plusieurs balises à la ressource spécifiée.aws ecs tag-resource \ --resource-arn
arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster
\ --tagskey=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 TagResource
la 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-resource
exemple 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-keyskey1,key2
Cette commande ne produit aucun résultat.
-
Pour API plus de détails, voir UntagResource
la 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-settings
exemple suivant active CloudWatch Container Insights pour ledefault
cluster.aws ecs update-cluster-settings \ --cluster
default
\ --settingsname=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.
-
Pour API plus de détails, voir UpdateClusterSettings
la section Référence des AWS CLI commandes.
-
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-agent
exemple 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-instancea1b2c3d4-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.
-
Pour API plus de détails, voir UpdateContainerAgent
la section Référence des AWS CLI commandes.
-
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 dansDRAINING
laquelle elle sera supprimée du cluster dans laquelle elle est enregistrée.aws ecs update-container-instances-state \ --container-instances
765936fadbdd46b5991a4bd70c2a43d4
\ --statusDRAINING
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": [] }
-
Pour API plus de détails, voir UpdateContainerInstancesState
la section Référence des AWS CLI commandes.
-
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-set
exemple suivant met à jour l'ensemble de tâches principal pour le service spécifié.aws ecs update-service-primary-task-set \ --cluster
MyCluster
\ --serviceMyService
\ --primary-task-setarn: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 } }
-
Pour API plus de détails, voir UpdateServicePrimaryTaskSet
la section Référence des AWS CLI commandes.
-
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-service
exemple suivant met à jour lemy-http-service
service pour utiliser la définition deamazon-ecs-sample
tâche.aws ecs update-service --service
my-http-service
--task-definitionamazon-ecs-sample
Exemple 2 : pour modifier le nombre de tâches dans un service
L'
update-service
exemple suivant met à jour le nombre de tâches souhaité du servicemy-http-service
à 3.aws ecs update-service --service
my-http-service
--desired-count3
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 UpdateService
la 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-set
exemple suivant met à jour un ensemble de tâches pour ajuster l'échelle.aws ecs update-task-set \ --cluster
MyCluster
\ --serviceMyService
\ --task-setarn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789
\ --scalevalue=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 UpdateTaskSet
la section Référence des AWS CLI commandes.
-