ECSEsempi di utilizzo di Amazon AWS CLI - AWS Command Line Interface

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

ECSEsempi di utilizzo di Amazon AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando il AWS Command Line Interface con AmazonECS.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni di servizio, puoi vedere le azioni nel loro contesto negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzarecreate-capacity-provider.

AWS CLI

Per creare un provider di capacità

L' create-capacity-provider esempio seguente crea un provider di capacità che utilizza un gruppo Auto Scaling denominato MyASG, ha la scalabilità gestita e la protezione gestita dalla terminazione abilitata. Questa configurazione viene utilizzata per la scalabilità automatica dei ECS cluster 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"

Output:

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

Per ulteriori informazioni, consulta Amazon ECS cluster auto scaling nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-cluster.

AWS CLI

Esempio 1: per creare un nuovo cluster

L'create-clusteresempio seguente crea un cluster.

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

Output:

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

Per ulteriori informazioni, consulta Creating a Cluster nella Amazon ECS Developer Guide.

Esempio 2: creare un nuovo cluster utilizzando fornitori di capacità

L'create-clusteresempio seguente crea un cluster e vi associa due fornitori di capacità esistenti. Il create-capacity-provider comando viene utilizzato per creare un provider di capacità. La specificazione di una strategia predefinita per un provider di capacità è facoltativa, ma consigliata. In questo esempio, creiamo un cluster denominato MyCluster e ad esso associamo i MyCapacityProvider1 fornitori di MyCapacityProvider2 capacità. Viene specificata una strategia predefinita per i fornitori di capacità che distribuisce le attività in modo uniforme tra entrambi i fornitori di capacità.

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

Output:

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

Per ulteriori informazioni, consulta Cluster Capacity Provider nella Amazon ECS Developer Guide.

Esempio 3: per creare un nuovo cluster con più tag

L'create-clusteresempio seguente crea un cluster con più tag. Per ulteriori informazioni sull'aggiunta di tag utilizzando la sintassi abbreviata, vedete Using Synthand Syntax with the AWS Command Line Interface nella Guida per l'utente.AWS CLI

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

Output:

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

Per ulteriori informazioni, consulta Creating a Cluster nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-service.

AWS CLI

Esempio 1: creare un servizio con un'attività Fargate

L'create-serviceesempio seguente mostra come creare un servizio utilizzando un'attività 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

Output:

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

Esempio 2: creare un servizio utilizzando il tipo di EC2 avvio

L'create-serviceesempio seguente mostra come creare un servizio chiamato ecs-simple-service con un'attività che utilizza il tipo di EC2 avvio. Il servizio utilizza la definizione dell'sleep360attività e mantiene 1 istanza dell'attività.

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

Output:

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

Esempio 3: creare un servizio che utilizza un controller di distribuzione esterno

L'create-serviceesempio seguente crea un servizio che utilizza un controller di distribuzione esterno.

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

Output:

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

Esempio 4: creare un nuovo servizio basato su un sistema di bilanciamento del carico

L'create-serviceesempio seguente mostra come creare un servizio basato su un sistema di bilanciamento del carico. È necessario disporre di un sistema di bilanciamento del carico configurato nella stessa regione dell'istanza del contenitore. Questo esempio utilizza l'--cli-input-jsonopzione e un file JSON di input chiamato ecs-simple-service-elb.json con il seguente contenuto:

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

Comando:

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

Output:

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

Per ulteriori informazioni, consulta Creating a Service nell'Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-task-set.

AWS CLI

Per creare un set di attività

L'create-task-setesempio seguente crea un set di attività in un servizio che utilizza un controller di distribuzione esterno.

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

Output:

{ "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 } }
  • Per API i dettagli, vedere CreateTaskSetin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzaredelete-account-setting.

AWS CLI

Per eliminare le impostazioni dell'account per un IAM utente o un IAM ruolo specifico

L'esempio seguente delete-account-setting elimina le impostazioni dell'account per l'IAMutente o il IAM ruolo specifico.

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

Output:

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

Per ulteriori informazioni, consulta Amazon Resource Names (ARNs) e IDs l'Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-attributes.

AWS CLI

Per eliminare uno o più attributi personalizzati da una ECS risorsa Amazon

Quanto segue delete-attributes elimina un attributo con lo stesso nome stack da un'istanza del contenitore.

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

Output:

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

Il seguente esempio di codice mostra come utilizzaredelete-capacity-provider.

AWS CLI

Esempio 1: eliminare un provider di capacità utilizzando Amazon Resource Name (ARN)

L'delete-capacity-provideresempio seguente elimina un provider di capacità specificando l'Amazon Resource Name (ARN) del fornitore di capacità. Lo stato e ARN lo stato dell'eliminazione del provider di capacità possono essere recuperati utilizzando il comando. describe-capacity-providers

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

Output:

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

Per ulteriori informazioni, consulta Cluster Capacity Provider nella Amazon ECS Developer Guide.

Esempio 2: eliminare un provider di capacità utilizzando il nome

L'delete-capacity-provideresempio seguente elimina un fornitore di capacità specificando il nome breve del fornitore di capacità. Il nome breve e lo stato dell'eliminazione del provider di capacità possono essere recuperati utilizzando il comando. describe-capacity-providers

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

Output:

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

Per ulteriori informazioni, consulta Cluster Capacity Provider nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-cluster.

AWS CLI

Per eliminare un cluster vuoto

L'delete-clusteresempio seguente elimina il cluster vuoto specificato.

aws ecs delete-cluster --cluster MyCluster

Output:

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

Per ulteriori informazioni, consulta Eliminazione di un cluster nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-service.

AWS CLI

Per eliminare un servizio

L'ecs delete-serviceesempio seguente elimina il servizio specificato da un cluster. È possibile includere il --force parametro per eliminare un servizio anche se non è stato ridimensionato a zero attività.

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

Per ulteriori informazioni, consulta Eliminazione di un servizio nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-task-definitions.

AWS CLI

Per eliminare una definizione di attività

L'delete-task-definitionsesempio seguente elimina una definizione di INACTIVE attività.

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

Output:

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

Per ulteriori informazioni, consulta Amazon ECS Task Definitions nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-task-set.

AWS CLI

Per eliminare un set di attività

L'delete-task-setesempio seguente mostra come eliminare un set di attività. È possibile includere il --force parametro per eliminare un set di attività anche se non è stato ridimensionato a zero.

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

Output:

{ "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 } }
  • Per API i dettagli, vedere DeleteTaskSetin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarederegister-container-instance.

AWS CLI

Per annullare la registrazione di un'istanza di contenitore da un cluster

L'deregister-container-instanceesempio seguente annulla la registrazione di un'istanza di contenitore dal cluster specificato. Se ci sono ancora attività in esecuzione nell'istanza del contenitore, è necessario interromperle prima di annullare la registrazione oppure utilizzare l'opzione. --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

Output:

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

Per ulteriori informazioni, consulta Annullare la registrazione di un'istanza del contenitore nella Guida per gli sviluppatori. ECS

Il seguente esempio di codice mostra come utilizzarederegister-task-definition.

AWS CLI

Per annullare la registrazione di una definizione di attività

L'deregister-task-definitionesempio seguente annulla la registrazione della prima revisione della definizione dell'curlerattività nell'area predefinita.

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

Si noti che nell'output risultante, lo stato della definizione dell'attività mostra: 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 } }

Per ulteriori informazioni, consulta Amazon ECS Task Definitions nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-capacity-providers.

AWS CLI

Esempio 1: Per descrivere tutti i fornitori di capacità

L'describe-capacity-providersesempio seguente recupera i dettagli su tutti i fornitori di capacità.

aws ecs describe-capacity-providers

Output:

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

Per ulteriori informazioni, consulta Cluster Capacity Provider nella Amazon ECS Developer Guide.

Esempio 2: per descrivere uno specifico fornitore di capacità

L'describe-capacity-providersesempio seguente recupera i dettagli su uno specifico fornitore di capacità. L'utilizzo del --include TAGS parametro aggiungerà all'output i tag associati al fornitore di capacità.

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

Output:

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

Per ulteriori informazioni, consulta Cluster Capacity Provider nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-clusters.

AWS CLI

Esempio 1: Per descrivere un cluster

L'describe-clustersesempio seguente recupera i dettagli sul cluster specificato.

aws ecs describe-clusters \ --cluster default

Output:

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

Per ulteriori informazioni, consulta Amazon ECS Clusters nell'Amazon ECS Developer Guide.

Esempio 2: descrivere un cluster con l'opzione attachment

L'describe-clustersesempio seguente specifica l'ATTACHMENTSopzione. Recupera i dettagli sul cluster specificato e un elenco di risorse collegate al cluster sotto forma di allegati. Quando si utilizza un provider di capacità con un cluster, le risorse, sia che si tratti di AutoScaling piani o politiche di scalabilità, saranno rappresentate come asp o as_policy. ATTACHMENTS

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

Output:

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

Per ulteriori informazioni, consulta Amazon ECS Clusters nell'Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-container-instances.

AWS CLI

Per descrivere l'istanza del contenitore

L'describe-container-instancesesempio seguente recupera i dettagli di un'istanza di contenitore nel update cluster, utilizzando l'istanza del contenitore UUID come identificatore.

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

Output:

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

Per ulteriori informazioni, consulta Amazon ECS Container Instances nell'Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-services.

AWS CLI

Per descrivere un servizio

L'describe-servicesesempio seguente recupera i dettagli del my-http-service servizio nel cluster predefinito.

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

Output:

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

Per ulteriori informazioni, consulta la sezione Servizi nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-task-definition.

AWS CLI

Per descrivere una definizione di attività

L'describe-task-definitionesempio seguente recupera i dettagli di una definizione di attività.

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

Output:

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

Per ulteriori informazioni, consulta Amazon ECS Task Definitions nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-task-sets.

AWS CLI

Per descrivere un set di attività

L'describe-task-setsesempio seguente descrive un set di attività in un servizio che utilizza un deployer esterno.

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

Output:

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

Il seguente esempio di codice mostra come utilizzaredescribe-tasks.

AWS CLI

Esempio 1: per descrivere una singola attività

L'describe-tasksesempio seguente recupera i dettagli di un'attività in un cluster. È possibile specificare l'attività utilizzando l'ID o il valore full ARN dell'attività. In questo esempio viene utilizzato il ARN valore completo del task.

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

Output:

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

Per ulteriori informazioni, consulta Amazon ECS Task Definitions nella Amazon ECS Developer Guide.

Esempio 2: per descrivere più attività

L'describe-tasksesempio seguente recupera i dettagli di più attività in un cluster. È possibile specificare l'attività utilizzando l'ID o il valore full ARN dell'attività. In questo esempio viene utilizzata la totalità IDs delle attività.

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

Output:

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

Per ulteriori informazioni, consulta Amazon ECS Task Definitions nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzareexecute-command.

AWS CLI

Per eseguire un comando /bin/sh interattivo

L'execute-commandesempio seguente esegue un comando interattivo /bin/sh su un contenitore denominato in base a un'attività con un MyContainer id di. arn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Using Amazon ECS Exec for debugging nella Amazon Developer Guide. ECS

  • Per i API dettagli, consulta ExecuteCommandCommand Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzarelist-account-settings.

AWS CLI

Esempio 1: Per visualizzare le impostazioni di un account

L'list-account-settingsesempio seguente mostra le impostazioni effettive dell'account per un account.

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

Output:

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

Esempio 2: Per visualizzare le impostazioni dell'account per un IAM utente o un IAM ruolo specifico

L'list-account-settingsesempio seguente visualizza le impostazioni dell'account per l'IAMutente o il IAM ruolo specificato.

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

Output:

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

Per ulteriori informazioni, consulta Amazon Resource Names (ARNs) e IDs l'Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-attributes.

AWS CLI

Per elencare le istanze del contenitore che contengono un attributo specifico

L'esempio seguente elenca gli attributi per le istanze di contenitore che hanno l'stack=productionattributo nel cluster predefinito.

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

Output:

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

Per ulteriori informazioni, consulta Amazon ECS Container Agent Configuration nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-clusters.

AWS CLI

Per elencare i cluster disponibili

L'list-clustersesempio seguente elenca tutti i cluster disponibili.

aws ecs list-clusters

Output:

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

Per ulteriori informazioni, consulta Amazon ECS Clusters nell'Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-container-instances.

AWS CLI

Per elencare le istanze del contenitore in un cluster

L'list-container-instancesesempio seguente elenca tutte le istanze di container disponibili in un cluster.

aws ecs list-container-instances --cluster MyCluster

Output:

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

Per ulteriori informazioni, consulta Amazon ECS Container Instances nell'Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-services-by-namespace.

AWS CLI

Per elencare i servizi in un namespace

L'list-services-by-namespaceesempio seguente elenca tutti i servizi configurati per lo spazio dei nomi specificato nella regione predefinita.

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

Output:

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

Per ulteriori informazioni, consulta Service Connect nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-services.

AWS CLI

Per elencare i servizi in un cluster

L'list-servicesesempio seguente mostra come elencare i servizi in esecuzione in un cluster.

aws ecs list-services --cluster MyCluster

Output:

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

Per ulteriori informazioni, consulta la sezione Servizi nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-tags-for-resource.

AWS CLI

Per elencare i tag di una risorsa

L'list-tags-for-resourceesempio seguente elenca i tag per un cluster specifico.

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

Output:

{ "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ] }

Il seguente esempio di codice mostra come utilizzarelist-task-definition-families.

AWS CLI

Esempio 1: per elencare le famiglie di definizioni delle attività registrate

L'list-task-definition-familiesesempio seguente elenca tutte le famiglie di definizioni di attività registrate.

aws ecs list-task-definition-families

Output:

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

Esempio 2: per filtrare le famiglie di definizioni delle attività registrate

L'list-task-definition-familiesesempio seguente elenca le revisioni delle definizioni delle attività che iniziano con «hpcc».

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

Output:

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

Per ulteriori informazioni, consulta Task Definition Parameters nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-task-definitions.

AWS CLI

Esempio 1: per elencare le definizioni delle attività registrate

L'list-task-definitionsesempio seguente elenca tutte le definizioni delle attività registrate.

aws ecs list-task-definitions

Output:

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

Esempio 2: Elencare le definizioni delle attività registrate in una famiglia

L' list-task-definitions esempio seguente elenca le revisioni delle definizioni delle attività di una famiglia specificata.

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

Output:

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

Per ulteriori informazioni, consulta Amazon ECS Task Definitions nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-tasks.

AWS CLI

Esempio 1: per elencare le attività in un cluster

L'list-tasksesempio seguente elenca tutte le attività di un cluster.

aws ecs list-tasks --cluster default

Output:

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

Esempio 2: per elencare le attività su una particolare istanza del contenitore

L'list-tasksesempio seguente elenca le attività su un'istanza del contenitore, utilizzando l'istanza del contenitore UUID come filtro.

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

Output:

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

Per ulteriori informazioni, consulta Amazon ECS Task Definitions nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzareput-account-setting-default.

AWS CLI

Per modificare le impostazioni predefinite dell'account

L'put-account-setting-defaultesempio seguente modifica l'impostazione predefinita dell'account per tutti IAM gli utenti o i ruoli dell'account. Queste modifiche si applicano all'intero AWS account a meno che un IAM utente o un ruolo non sostituisca esplicitamente queste impostazioni.

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

Output:

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

Per ulteriori informazioni, consulta Amazon Resource Names (ARNs) e IDs l'Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzareput-account-setting.

AWS CLI

Per modificare le impostazioni IAM dell'account utente

L'put-account-settingesempio seguente abilita l'serviceLongArnFormatimpostazione IAM dell'account utente.

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

Output:

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

Per ulteriori informazioni, consulta Modifica delle impostazioni dell'account nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzareput-account-settings.

AWS CLI

Per modificare le impostazioni dell'account per un IAM utente o un IAM ruolo

L'put-account-settingesempio seguente modifica le impostazioni dell'account per l'IAMutente o il IAM ruolo specificato.

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

Output:

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

Il seguente esempio di codice mostra come utilizzareput-attributes.

AWS CLI

Per creare un attributo e associarlo a una ECS risorsa Amazon

Quanto segue put-attributes applica un attributo con il nome stack e il valore production a un'istanza di contenitore.

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

Output:

{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }
  • Per API i dettagli, vedere PutAttributesin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareput-cluster-capacity-providers.

AWS CLI

Esempio 1: aggiungere un provider di capacità esistente a un cluster

L'put-cluster-capacity-providersesempio seguente aggiunge un provider di capacità esistente a un cluster. Il create-capacity-provider comando viene utilizzato per creare un provider di capacità. Il describe-clusters comando viene utilizzato per descrivere gli attuali fornitori di capacità e la strategia predefinita dei fornitori di capacità associata a un cluster. Quando si aggiunge un nuovo fornitore di capacità a un cluster, è necessario specificare tutti i fornitori di capacità esistenti oltre al nuovo fornitore di capacità che si desidera associare al cluster. È inoltre necessario specificare la strategia predefinita del provider di capacità da associare al cluster. In questo esempio, al MyCluster cluster è associato il provider di MyCapacityProvider1 capacità e si desidera aggiungere il fornitore di MyCapacityProvider2 capacità e includerlo nella strategia predefinita del fornitore di capacità in modo che le attività siano distribuite uniformemente tra entrambi i fornitori di 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

Output:

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

Per ulteriori informazioni, consulta Cluster Capacity Provider nella Amazon ECS Developer Guide.

Esempio 2: rimuovere un fornitore di capacità da un cluster

L'put-cluster-capacity-providersesempio seguente rimuove un fornitore di capacità da un cluster. Il describe-clusters comando viene utilizzato per descrivere gli attuali provider di capacità associati a un cluster. Quando si rimuove un fornitore di capacità da un cluster, è necessario specificare i fornitori di capacità che si desidera che rimangano associati al cluster, nonché la strategia predefinita del provider di capacità da associare al cluster. In questo esempio, al cluster sono associati i provider di MyCapacityProvider2 capacità MyCapacityProvider1 e si desidera rimuovere il provider di MyCapacityProvider2 capacità, quindi lo si specifica solo MyCapacityProvider1 nel comando insieme alla strategia predefinita aggiornata del provider di capacità.

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

Output:

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

Per ulteriori informazioni, consulta Cluster Capacity Provider nella Amazon ECS Developer Guide.

Esempio 3: rimuovere tutti i provider di capacità da un cluster

L'put-cluster-capacity-providersesempio seguente rimuove tutti i provider di capacità esistenti dal cluster.

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

Output:

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

Per ulteriori informazioni, consulta Cluster Capacity Provider nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzareregister-task-definition.

AWS CLI

Esempio 1: registrare una definizione di attività con un JSON file

L'register-task-definitionesempio seguente registra una definizione di attività nella famiglia specificata. Le definizioni dei contenitori vengono salvate in JSON formato nella posizione del file specificata.

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

Contenuto di sleep360.json.

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

Output:

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

Per ulteriori informazioni, consulta le definizioni di attività di esempio nella Amazon ECS Developer Guide.

Esempio 2: per registrare una definizione di attività con un parametro di JSON tipo stringa

L'register-task-definitionesempio seguente registra una definizione di attività utilizzando le definizioni dei contenitori fornite come parametro di JSON stringa con virgolette doppie con escape.

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

L'output è identico all'esempio precedente.

Per ulteriori informazioni, consulta Creating a Task Definition nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzarerun-task.

AWS CLI

Per eseguire un'attività nel cluster predefinito

L'run-taskesempio seguente esegue un'attività nel cluster predefinito e utilizza un token client.

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

Output:

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

Per ulteriori informazioni, consulta Running Tasks nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzarestart-task.

AWS CLI

Per iniziare una nuova attività

Quanto segue start-task avvia un'attività utilizzando la revisione più recente della definizione dell'sleep360attività sull'istanza del contenitore specificata nel cluster predefinito.

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

Output:

{ "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": [] }
  • Per API i dettagli, vedere StartTaskin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarestop-task.

AWS CLI

Per interrompere un'operazione

Quanto segue stop-task interrompe l'esecuzione dell'attività specificata nel cluster predefinito.

aws ecs stop-task \ --task 666fdccc2e2d4b6894dd422f4eeee8f8

Output:

{ "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": [] } }
  • Per API i dettagli, vedere StopTaskin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Per etichettare una risorsa

L'tag-resourceesempio seguente aggiunge un singolo tag alla risorsa specificata.

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

Questo comando non produce alcun output.

Per aggiungere più tag a una risorsa

L'tag-resourceesempio seguente aggiunge più tag alla risorsa specificata.

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

Questo comando non produce alcun output.

  • Per API i dettagli, vedere TagResourcein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Per rimuovere un tag da una risorsa

L'untag-resourceesempio seguente rimuove i tag elencati dalla risorsa specificata.

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

Questo comando non produce alcun output.

  • Per API i dettagli, vedere UntagResourcein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareupdate-cluster-settings.

AWS CLI

Per modificare le impostazioni del cluster

L'update-cluster-settingsesempio seguente abilita CloudWatch Container Insights per il default cluster.

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

Output:

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

Per ulteriori informazioni, consulta Modifica delle impostazioni dell'account nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-container-agent.

AWS CLI

Per aggiornare l'agente contenitore su un'istanza di ECS container Amazon

L'update-container-agentesempio seguente aggiorna l'agente del contenitore sull'istanza di contenitore specificata nel cluster predefinito.

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

Output:

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

Per ulteriori informazioni, consulta Updating the Amazon ECS Container Agent nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-container-instances-state.

AWS CLI

Per aggiornare lo stato di un'istanza del contenitore

Quanto segue update-container-instances-state aggiorna lo stato dell'istanza del contenitore specificata in DRAINING cui verrà rimossa dal cluster in cui è registrata.

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

Output:

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

Il seguente esempio di codice mostra come utilizzareupdate-service-primary-task-set.

AWS CLI

Per aggiornare il set di attività principale per un servizio

L'update-service-primary-task-setesempio seguente aggiorna il set di attività principale per il servizio specificato.

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

Output:

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

Il seguente esempio di codice mostra come utilizzareupdate-service.

AWS CLI

Esempio 1: Per modificare la definizione dell'attività utilizzata in un servizio

L'update-serviceesempio seguente aggiorna il my-http-service servizio per utilizzare la definizione dell'amazon-ecs-sampleattività.

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

Esempio 2: Per modificare il numero di attività in un servizio

L'update-serviceesempio seguente aggiorna il numero di attività desiderato del servizio my-http-service a 3.

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

Per ulteriori informazioni, consulta la sezione Aggiornamento di un servizio nella Amazon ECS Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-task-set.

AWS CLI

Per aggiornare un set di attività

L'update-task-setesempio seguente aggiorna un set di attività per regolare la scala.

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

Output:

{ "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 } }
  • Per API i dettagli, vedere UpdateTaskSetin AWS CLI Command Reference.