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à.
Esempi di utilizzo di Amazon ECS AWS CLI
I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando Amazon ECS. AWS Command Line Interface
Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Azioni
Il seguente esempio di codice mostra come usarecapacity-provider-update.
- AWS CLI
-
Come aggiornare il provider di capacità in un cluster ECS
L’esempio
update-capacity-providerseguente modifica i parametri del provider di capacità in un cluster ECS.aws ecs update-capacity-provider \ --nameInfra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt\ --auto-scaling-group-provider"managedScaling={status=DISABLED,targetCapacity=50,minimumScalingStepSize=2,maximumScalingStepSize=30,instanceWarmupPeriod=200},managedTerminationProtection=DISABLED,managedDraining=DISABLED"Output:
{ "capacityProvider": { "capacityProviderArn": "arn:aws:ecs:us-west-2:123456789012:capacity-provider/Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt", "name": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:424941d1-b43f-4a17-adbb-08b6a6e397e1:autoScalingGroupName/Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-ECSAutoScalingGroup-f44jrQHS2nRB", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 10000, "instanceWarmupPeriod": 300 }, "managedTerminationProtection": "DISABLED", "managedDraining": "ENABLED" }, "updateStatus": "UPDATE_IN_PROGRESS", "tags": [] } }Per ulteriori informazioni su Capacity Provider, consulta i provider di capacità di Amazon ECS per il tipo di EC2 lancio nella Amazon ECS Developer Guide.
-
Per i dettagli sulle API, consulta AWS CLI Command CapacityProviderUpdate
Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-capacity-provider.
- AWS CLI
-
Come creare un provider di capacità
L' create-capacity-provideresempio seguente crea un provider di capacità che utilizza un gruppo Auto Scaling denominato MyASG, ha la scalabilità gestita e la protezione gestita delle terminazioni abilitate. Questa configurazione viene utilizzata per il dimensionamento automatico del cluster Amazon ECS.
aws ecs create-capacity-provider \ --name"MyCapacityProvider"\ --auto-scaling-group-provider"autoScalingGroupArn=arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:57ffcb94-11f0-4d6d-bf60-3bac5EXAMPLE:autoScalingGroupName/MyASG,managedScaling={status=ENABLED,targetCapacity=100},managedTerminationProtection=ENABLED"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 Dimensionamento automatico del cluster Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta Command Reference. CreateCapacityProvider
AWS CLI
-
Il seguente esempio di codice mostra come utilizzarecreate-cluster.
- AWS CLI
-
Esempio 1: come creare un nuovo cluster
L'
create-clusteresempio seguente crea un cluster denominatoMyClustere abilita CloudWatch Container Insights con una migliore osservabilità.aws ecs create-cluster \ --cluster-nameMyCluster\ --settingsname=containerInsights,value=enhancedOutput:
{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "MyCluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 0, "statistics": [], "settings": [ { "name": "containerInsights", "value": "enhanced" } ], "tags": [] } }Per ulteriori informazioni, consulta Creazione di un cluster nella Guida per gli sviluppatori di Amazon ECS.
Esempio 2: come creare un nuovo cluster utilizzando provider di capacità
L’esempio
create-clusterseguente crea un cluster a cui associa due provider di capacità esistenti. Il comandocreate-capacity-providerviene utilizzato per creare un provider di capacità. La definizione di una strategia predefinita per i provider di capacità è facoltativa, ma consigliata. In questo esempio, viene creato un cluster denominatoMyClustera cui vengono associati i provider di capacitàMyCapacityProvider1eMyCapacityProvider2. Viene specificata una strategia predefinita dei provider di capacità che distribuisce le attività in modo uniforme su entrambi i provider di capacità.aws ecs create-cluster \ --cluster-nameMyCluster\ --capacity-providersMyCapacityProvider1MyCapacityProvider2\ --default-capacity-provider-strategycapacityProvider=MyCapacityProvider1,weight=1capacityProvider=MyCapacityProvider2,weight=1Output:
{ "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 Provider di capacità del cluster nella Guida per gli sviluppatori di Amazon ECS.
Esempio 3: come creare un nuovo cluster con più tag
L’esempio
create-clusterseguente crea un cluster con più tag. Per ulteriori informazioni sull'aggiunta di tag utilizzando la sintassi abbreviata, consulta Uso della sintassi abbreviata con l'interfaccia a AWS riga di comando nella Guida per l'utente della CLI.AWSaws ecs create-cluster \ --cluster-nameMyCluster\ --tagskey=key1,value=value1key=key2,value=value2Output:
{ "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" } ] } }Per ulteriori informazioni, consulta Creazione di un cluster nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta Command Reference. CreateCluster
AWS CLI
-
Il seguente esempio di codice mostra come utilizzarecreate-service.
- AWS CLI
-
Esempio 1: come creare un servizio con un’attività Fargate
L’esempio
create-serviceseguente crea un servizio utilizzando un’attività Fargate.aws ecs create-service \ --clusterMyCluster\ --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=value1key=key2,value=value2key=key3,value=value3Output:
{ "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" } }Per ulteriori informazioni, consulta Creazione di un servizio nella Guida per gli sviluppatori di Amazon ECS.
Esempio 2: creare un servizio utilizzando il tipo di EC2 avvio
L'
create-serviceesempio seguente mostra come creare un servizio chiamatoecs-simple-servicecon un'attività che utilizza il tipo di EC2 avvio. Il servizio utilizza la definizione dell’attivitàsleep360e conserva un’istanza dell’attività.aws ecs create-service \ --clusterMyCluster\ --service-nameecs-simple-service\ --task-definitionsleep360:2\ --desired-count1Output:
{ "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" } }Per ulteriori informazioni, consulta Creazione di un servizio nella Guida per gli sviluppatori di Amazon ECS.
Esempio 3: come creare un servizio che utilizza un controller di implementazione esterno
L’esempio
create-serviceseguente crea un servizio che utilizza un controller di implementazione esterno.aws ecs create-service \ --clusterMyCluster\ --service-nameMyService\ --deployment-controllertype=EXTERNAL\ --desired-count1Output:
{ "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" } }Per ulteriori informazioni, consulta Creazione di un servizio nella Guida per gli sviluppatori di Amazon ECS.
Esempio 4: come creare un nuovo servizio dietro un bilanciatore del carico
L’esempio
create-serviceseguente crea un servizio dietro un bilanciatore del carico. Un bilanciatore del carico deve essere configurato nella stessa Regione dell’istanza di container. Questo esempio utilizza l’opzione--cli-input-jsone un file di input JSON denominatoecs-simple-service-elb.jsoncon il seguente contenuto.aws ecs create-service \ --clusterMyCluster\ --service-nameecs-simple-service-elb\ --cli-input-jsonfile://ecs-simple-service-elb.jsonContenuto di
ecs-simple-service-elb.json:{ "serviceName": "ecs-simple-service-elb", "taskDefinition": "ecs-demo", "loadBalancers": [ { "loadBalancerName": "EC2Contai-EcsElast-123456789012", "containerName": "simple-demo", "containerPort": 80 } ], "desiredCount": 10, "role": "ecsServiceRole" }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 Utilizzare il bilanciamento del carico per distribuire il traffico del servizio Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
Esempio 5: come configurare i volumi Amazon EBS durante la creazione del servizio
L’esempio
create-serviceseguente configura i volumi Amazon EBS per ogni attività gestita dal servizio. È necessario disporre di un ruolo dell’infrastruttura Amazon ECS configurato con associata la policy gestita daAmazonECSInfrastructureRolePolicyForVolumes. È necessario specificare una definizione di attività con lo stesso nome di volume della richiestacreate-service. Questo esempio utilizza l’opzione--cli-input-jsone un file di input JSON denominatoecs-simple-service-ebs.jsoncon il seguente contenuto.aws ecs create-service \ --cli-input-jsonfile://ecs-simple-service-ebs.jsonContenuto di
ecs-simple-service-ebs.json:{ "cluster": "mycluster", "taskDefinition": "mytaskdef", "serviceName": "ecs-simple-service-ebs", "desiredCount": 2, "launchType": "FARGATE", "networkConfiguration":{ "awsvpcConfiguration":{ "assignPublicIp": "ENABLED", "securityGroups": ["sg-12344321"], "subnets":["subnet-12344321"] } }, "volumeConfigurations": [ { "name": "myEbsVolume", "managedEBSVolume": { "roleArn":"arn:aws:iam::123456789012:role/ecsInfrastructureRole", "volumeType": "gp3", "sizeInGiB": 100, "iops": 3000, "throughput": 125, "filesystemType": "ext4" } } ] }Output:
{ "service": { "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/mycluster/ecs-simple-service-ebs", "serviceName": "ecs-simple-service-ebs", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/mycluster", "loadBalancers": [], "serviceRegistries": [], "status": "ACTIVE", "desiredCount": 2, "runningCount": 0, "pendingCount": 0, "launchType": "EC2", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:3", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": false, "rollback": false }, "maximumPercent": 200, "minimumHealthyPercent": 100 }, "deployments": [ { "id": "ecs-svc/7851020056849183687", "status": "PRIMARY", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:3", "desiredCount": 0, "pendingCount": 0, "runningCount": 0, "failedTasks": 0, "createdAt": "2025-01-21T11:32:38.034000-06:00", "updatedAt": "2025-01-21T11:32:38.034000-06:00", "launchType": "EC2", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "DISABLED" } }, "rolloutState": "IN_PROGRESS", "rolloutStateReason": "ECS deployment ecs-svc/7851020056849183687 in progress.", "volumeConfigurations": [ { "name": "myEBSVolume", "managedEBSVolume": { "volumeType": "gp3", "sizeInGiB": 100, "iops": 3000, "throughput": 125, "roleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "filesystemType": "ext4" } } ] } ], "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", "events": [], "createdAt": "2025-01-21T11:32:38.034000-06:00", "placementConstraints": [], "placementStrategy": [], "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "DISABLED" } }, "healthCheckGracePeriodSeconds": 0, "schedulingStrategy": "REPLICA", "deploymentController": { "type": "ECS" }, "createdBy": "arn:aws:iam::123456789012:user/AIDACKCEVSQ6C2EXAMPLE", "enableECSManagedTags": false, "propagateTags": "NONE", "enableExecuteCommand": false, "availabilityZoneRebalancing": "DISABLED" } }Per ulteriori informazioni, consulta Utilizzare i volumi Amazon EBS con Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta CreateService AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-task-set.
- AWS CLI
-
Come creare un set di attività
L’esempio
create-task-setseguente crea un set di attività in un servizio che utilizza un controller di implementazione esterno.aws ecs create-task-set \ --clusterMyCluster\ --serviceMyService\ --task-definitionMyTaskDefinition: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 i dettagli sull'API, consulta CreateTaskSet AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-account-setting.
- AWS CLI
-
Come eliminare le impostazioni dell’account per un utente IAM o un ruolo IAM specifico
L’esempio
delete-account-settingseguente elimina le impostazioni dell’account per un utente IAM o un ruolo IAM specifico.aws ecs delete-account-setting \ --nameserviceLongArnFormat\ --principal-arnarn:aws:iam::123456789012:user/MyUserOutput:
{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } }Per ulteriori informazioni, consulta Amazon Resource Names (ARNs) e IDs la Amazon ECS Developer Guide.
-
Per i dettagli sull'API, consulta DeleteAccountSetting AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-attributes.
- AWS CLI
-
Come eliminare uno o più attributi personalizzati da una risorsa Amazon ECS
L’esempio
delete-attributesseguente elimina un attributo denominatostackda un’istanza di container.aws ecs delete-attributes \ --attributesname=stack,targetId=arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34Output:
{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }-
Per i dettagli sull'API, consulta DeleteAttributes AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-capacity-provider.
- AWS CLI
-
Esempio 1: come eliminare un provider di capacità utilizzando il nome della risorsa Amazon (ARN)
L’esempio
delete-capacity-providerseguente elimina un provider di capacità specificandone il nome della risorsa Amazon (ARN). Il nome della risorsa Amazon (ARN) e lo stato dell’eliminazione del provider di capacità possono essere recuperati tramite il comandodescribe-capacity-providers.aws ecs delete-capacity-provider \ --capacity-providerarn:aws:ecs:us-west-2:123456789012:capacity-provider/ExampleCapacityProviderOutput:
{ "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 Provider di capacità del cluster nella Guida per gli sviluppatori di Amazon ECS.
Esempio 2: come eliminare un provider di capacità utilizzando il nome
L’esempio
delete-capacity-providerseguente elimina un provider di capacità specificandone il nome breve. Il nome breve e lo stato dell’eliminazione del provider di capacità possono essere recuperati tramite il comandodescribe-capacity-providers.aws ecs delete-capacity-provider \ --capacity-providerExampleCapacityProviderOutput:
{ "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 Provider di capacità del cluster nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta DeleteCapacityProvider AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-cluster.
- AWS CLI
-
Come eliminare un cluster vuoto
L’esempio
delete-clusterseguente elimina il cluster vuoto specificato.aws ecs delete-cluster --clusterMyClusterOutput:
{ "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 Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta DeleteCluster AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-service.
- AWS CLI
-
Come eliminare un servizio
L’esempio
ecs delete-serviceseguente elimina il servizio specificato da un cluster. Puoi includere il parametro--forceper eliminare un servizio anche se il numero di attività non è stato ridotto a zero.aws ecs delete-service --clusterMyCluster--serviceMyService1--forcePer ulteriori informazioni, consulta Eliminazione di un servizio nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta DeleteService AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-task-definitions.
- AWS CLI
-
Come eliminare una definizione di attività
L’esempio
delete-task-definitionsseguente elimina una definizione di attività INACTIVE.aws ecs delete-task-definitions \ --task-definitioncurltest:1Output:
{ "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 Definizioni di attività Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta DeleteTaskDefinitions AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-task-set.
- AWS CLI
-
Come eliminare set di attività
L’esempio
delete-task-setseguente mostra come eliminare un set di attività. È possibile includere il parametro--forceper eliminare un set di attività anche se il numero di attività non è stato ridotto a zero.aws ecs delete-task-set \ --clusterMyCluster\ --serviceMyService\ --task-setarn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789\ --forceOutput:
{ "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 i dettagli sull'API, consulta DeleteTaskSet AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarederegister-container-instance.
- AWS CLI
-
Come annullare la registrazione di un’istanza di container da un cluster
L’esempio
deregister-container-instanceseguente annulla la registrazione di un’istanza di container dal cluster specificato. Se nell’istanza di container sono ancora presenti attività in esecuzione, è necessario arrestarle prima di annullarne la registrazione oppure utilizzare l’opzione--force.aws ecs deregister-container-instance \ --clusterarn:aws:ecs:us-west-2:123456789012:cluster/MyCluster\ --container-instancearn:aws:ecs:us-west-2:123456789012:container-instance/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE\ --forceOutput:
{ "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 di container nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta DeregisterContainerInstance AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarederegister-task-definition.
- AWS CLI
-
Come revocare la registrazione di una definizione di attività
L’esempio
deregister-task-definitionseguente annulla la registrazione della prima revisione della definizione di attivitàcurlernella Regione predefinita.aws ecs deregister-task-definition --task-definitioncurler:1Nota che nell’output risultante lo stato della definizione dell’attività è
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 Definizioni di attività Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta DeregisterTaskDefinition AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-capacity-providers.
- AWS CLI
-
Esempio 1: come descrivere tutti i provider di capacità
L’esempio
describe-capacity-providersseguente recupera i dettagli di tutti i provider di capacità.aws ecs describe-capacity-providersOutput:
{ "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 Provider di capacità del cluster nella Guida per gli sviluppatori di Amazon ECS.
Esempio 2: come descrivere un provider di capacità specifico
L’esempio
describe-capacity-providersseguente recupera i dettagli di un provider di capacità specifico. Se si utilizza il parametro--include TAGS, i tag associati al provider di capacità vengono aggiunti all’output.aws ecs describe-capacity-providers \ --capacity-providersMyCapacityProvider\ --includeTAGSOutput:
{ "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 Provider di capacità del cluster nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta DescribeCapacityProviders AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-clusters.
- AWS CLI
-
Esempio 1: come descrivere un cluster
L’esempio
describe-clustersseguente recupera i dettagli del cluster specificato.aws ecs describe-clusters \ --clusterdefaultOutput:
{ "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 Cluster Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
Esempio 2: come descrivere un cluster con l’opzione ATTACHMENTS
L’esempio
describe-clustersseguente specifica l’opzione ATTACHMENTS. Recupera i dettagli del cluster specificato e un elenco di risorse collegate al cluster in 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 \ --includeATTACHMENTS\ --clusterssampleClusterOutput:
{ "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 Cluster Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta Command Reference. DescribeClusters
AWS CLI
-
Il seguente esempio di codice mostra come utilizzaredescribe-container-instances.
- AWS CLI
-
Come descrivere un’istanza di container
L’esempio
describe-container-instancesseguente recupera i dettagli di un’istanza di container nel clusterupdateutilizzando l’UUID dell’istanza di container come identificatore.aws ecs describe-container-instances \ --clusterupdate\ --container-instancesa1b2c3d4-5678-90ab-cdef-11111EXAMPLEOutput:
{ "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 Istanze di container Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta DescribeContainerInstances AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-service-deployments.
- AWS CLI
-
Come descrivere i dettagli dell’implementazione del servizio
L’esempio
describe-service-deploymentsseguente restituisce i dettagli dell’implementazione del servizio con l’ARNarn:aws:ecs:us-east-1:123456789012:service-deployment/example-cluster/example-service/ejGvqq2ilnbKT9qj0vLJe.aws ecs describe-service-deployments \ --service-deployment-arnarn:aws:ecs:us-east-1:123456789012:service-deployment/example-cluster/example-service/ejGvqq2ilnbKT9qj0vLJeOutput:
{ "serviceDeployments": [ { "serviceDeploymentArn": "arn:aws:ecs:us-east-1:123456789012:service-deployment/example-cluster/example-service/ejGvqq2ilnbKT9qj0vLJe", "serviceArn": "arn:aws:ecs:us-east-1:123456789012:service/example-cluster/example-service", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/example-cluster", "createdAt": "2024-10-31T08:03:30.917000-04:00", "startedAt": "2024-10-31T08:03:32.510000-04:00", "finishedAt": "2024-10-31T08:05:04.527000-04:00", "updatedAt": "2024-10-31T08:05:04.527000-04:00", "sourceServiceRevisions": [], "targetServiceRevision": { "arn": "arn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678", "requestedTaskCount": 1, "runningTaskCount": 1, "pendingTaskCount": 0 }, "status": "SUCCESSFUL", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true }, "maximumPercent": 200, "minimumHealthyPercent": 100, "alarms": { "alarmNames": [], "rollback": false, "enable": false } }, "deploymentCircuitBreaker": { "status": "MONITORING_COMPLETE", "failureCount": 0, "threshold": 3 }, "alarms": { "status": "DISABLED" } } ], "failures": [] }Per ulteriori informazioni, consulta Visualizzare la cronologia del servizio utilizzando le implementazioni del servizio Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta DescribeServiceDeployments AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-service-revisions.
- AWS CLI
-
Come descrivere i dettagli della revisione del servizio
L’esempio
describe-service-revisionsseguente restituisce i dettagli della revisione del servizio con l’ARNarn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678.aws ecs describe-service-revisions \ --service-revision-arnsarn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678Output:
{ "serviceRevisions": [ { "serviceRevisionArn": "arn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678", "serviceArn": "arn:aws:ecs:us-east-1:123456789012:service/example-cluster/example-service", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/example-cluster", "taskDefinition": "arn:aws:ecs:us-east-1:123456789012:task-definition/webserver:5", "capacityProviderStrategy": [ { "capacityProvider": "FARGATE", "weight": 1, "base": 0 } ], "platformVersion": "1.4.0", "platformFamily": "Linux", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-0d0eab1bb38d5ca64", "subnet-0db5010045995c2d5" ], "securityGroups": [ "sg-02556bf85a191f59a" ], "assignPublicIp": "ENABLED" } }, "containerImages": [ { "containerName": "aws-otel-collector", "imageDigest": "sha256:7a1b3560655071bcacd66902c20ebe9a69470d5691fe3bd36baace7c2f3c4640", "image": "public.ecr.aws/aws-observability/aws-otel-collector:v0.32.0" }, { "containerName": "web", "imageDigest": "sha256:28402db69fec7c17e179ea87882667f1e054391138f77ffaf0c3eb388efc3ffb", "image": "nginx" } ], "guardDutyEnabled": false, "serviceConnectConfiguration": { "enabled": false }, "createdAt": "2024-10-31T08:03:29.302000-04:00" } ], "failures": [] }Per ulteriori informazioni, consulta Revisioni del servizio Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta DescribeServiceRevisions AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-services.
- AWS CLI
-
Come descrivere un servizio
L’esempio
describe-servicesseguente recupera i dettagli del serviziomy-http-servicenel cluster predefinito.aws ecs describe-services --servicesmy-http-serviceOutput:
{ "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 Servizi nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta DescribeServices AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-task-definition.
- AWS CLI
-
Come descrivere una definizione di attività
L’esempio
describe-task-definitionseguente recupera i dettagli di una definizione di attività.aws ecs describe-task-definition \ --task-definitionhello_world:8Output:
{ "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": [] }Per ulteriori informazioni, consulta Definizioni di attività Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta DescribeTaskDefinition AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-task-sets.
- AWS CLI
-
Come descrivere un set di attività
L’esempio
describe-task-setsseguente descrive un set di attività in un servizio che utilizza un deployer esterno.aws ecs describe-task-sets \ --clusterMyCluster\ --serviceMyService\ --task-setsarn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789Output:
{ "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": [] }-
Per i dettagli sull'API, consulta DescribeTaskSets AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-tasks.
- AWS CLI
-
Esempio 1: come descrivere attività ad attività singola
L’esempio
describe-tasksseguente recupera i dettagli di un’attività in un cluster. È possibile specificare l’attività utilizzando l’ID o l’ARN completo dell’attività. In questo esempio viene utilizzato l’ARN completo dell’attività.aws ecs describe-tasks \ --clusterMyCluster\ --tasksarn:aws:ecs:us-east-1:123456789012:task/MyCluster/4d590253bb114126b7afa7b58EXAMPLEOutput:
{ "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 Definizioni di attività Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
Esempio 2: come descrivere più attività
L’esempio
describe-tasksseguente recupera i dettagli di più attività in un cluster. È possibile specificare l’attività utilizzando l’ID o l’ARN completo dell’attività. In questo esempio viene utilizzata la totalità IDs delle attività.aws ecs describe-tasks \ --clusterMyCluster\ --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 Definizioni di attività Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta DescribeTasks AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareexecute-command.
- AWS CLI
-
Come eseguire un comando /bin/sh interattivo
L'
execute-commandesempio seguente esegue un comando interattivo /bin/sh su un contenitore denominato MyContainer in base a un'attività con un id di.arn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLEaws ecs execute-command \ --clusterMyCluster\ --taskarn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE\ --containerMyContainer\ --interactive \ --command"/bin/sh"Questo comando non produce alcun output.
Per ulteriori informazioni, consulta Utilizzo di Amazon ECS Exec per il debug nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, vedere ExecuteCommand
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-task-protection.
- AWS CLI
-
Come recuperare lo stato di protezione di un’attività nel servizio ECS
L’esempio
get-task-protectionseguente recupera lo stato di protezione delle attività ECS appartenenti al servizio Amazon ECS.aws ecs get-task-protection \ --clusterECS-project-update-cluster\ --tasksc43ed3b1331041f289316f958adb6a24Output:
{ "protectedTasks": [ { "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/c43ed3b1331041f289316f958adb6a24", "protectionEnabled": false } ], "failures": [] }Per ulteriori informazioni sulla protezione delle attività, consulta Proteggere le attività di Amazon ECS dall’interruzione causata da eventi di riduzione orizzontale nella Guida per gli sviluppatori Amazon ECS.
-
Per i dettagli sull'API, consulta GetTaskProtection AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-account-settings.
- AWS CLI
-
Esempio 1: come visualizzare le impostazioni di un account
L’esempio
list-account-settingsseguente visualizza le impostazioni effettive di un account.aws ecs list-account-settings --effective-settingsOutput:
{ "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: come visualizzare le impostazioni dell’account per un utente IAM o un ruolo IAM specifico
L’esempio
list-account-settingsseguente visualizza le impostazioni dell’account per un utente IAM o un ruolo IAM specifico.aws ecs list-account-settings --principal-arnarn:aws:iam::123456789012:user/MyUserOutput:
{ "settings": [ { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } ] }Per ulteriori informazioni, consulta Amazon Resource Names (ARNs) e IDs la Amazon ECS Developer Guide.
-
Per i dettagli sull'API, consulta ListAccountSettings AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-attributes.
- AWS CLI
-
Come elencare le istanze di container che contengono un attributo specifico
L’esempio seguente elenca gli attributi per le istanze di container con l’attributo
stack=productionnel cluster predefinito.aws ecs list-attributes \ --target-typecontainer-instance\ --attribute-namestack\ --attribute-valueproduction\ --clusterdefaultOutput:
{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }Per ulteriori informazioni, consulta Configurazione dell’agente del container di Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta ListAttributes AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-clusters.
- AWS CLI
-
Come elencare i cluster disponibili
L’esempio
list-clustersseguente elenca tutti i cluster disponibili.aws ecs list-clustersOutput:
{ "clusterArns": [ "arn:aws:ecs:us-west-2:123456789012:cluster/MyECSCluster1", "arn:aws:ecs:us-west-2:123456789012:cluster/AnotherECSCluster" ] }Per ulteriori informazioni, consulta Cluster Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta ListClusters AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-container-instances.
- AWS CLI
-
Come elencare le istanze di container in un cluster
L’esempio
list-container-instancesseguente elenca tutte le istanze di container disponibili in un cluster.aws ecs list-container-instances --clusterMyClusterOutput:
{ "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 Istanze di container Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta ListContainerInstances AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-service-deployments.
- AWS CLI
-
Come elencare le implementazioni del servizio
L’esempio
list-service-deploymentsseguente recupera le implementazioni del servizio denominatoexample-service.aws ecs list-service-deployments \ --servicearn:aws:ecs:us-east-1:123456789012:service/example-cluster/example-serviceOutput:
{ "serviceDeployments": [ { "serviceDeploymentArn": "arn:aws:ecs:us-east-1:123456789012:service-deployment/example-cluster/example-service/ejGvqq2ilnbKT9qj0vLJe", "serviceArn": "arn:aws:ecs:us-east-1:123456789012:service/example-cluster/example-service", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/example-cluster", "startedAt": "2024-10-31T08:03:32.510000-04:00", "createdAt": "2024-10-31T08:03:30.917000-04:00", "finishedAt": "2024-10-31T08:05:04.527000-04:00", "targetServiceRevisionArn": "arn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678", "status": "SUCCESSFUL" } ] }Per ulteriori informazioni, consulta Visualizzare la cronologia del servizio utilizzando le implementazioni del servizio Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta ListServiceDeployments AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-services-by-namespace.
- AWS CLI
-
Come elencare i servizi in un namespace
L’esempio
list-services-by-namespaceseguente elenca tutti i servizi configurati per il namespace specificato nella Regione predefinita.aws ecs list-services-by-namespace \ --namespaceservice-connectOutput:
{ "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 Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta ListServicesByNamespace AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-services.
- AWS CLI
-
Come elencare i servizi in un cluster
L’esempio
list-servicesseguente elenca i servizi in esecuzione in un cluster.aws ecs list-services --clusterMyClusterOutput:
{ "serviceArns": [ "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService" ] }Per ulteriori informazioni, consulta Servizi nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta ListServices AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-tags-for-resource.
- AWS CLI
-
Come elencare i tag per una risorsa
L’esempio
list-tags-for-resourceseguente elenca i tag per un cluster specifico.aws ecs list-tags-for-resource \ --resource-arnarn:aws:ecs:us-west-2:123456789012:cluster/MyClusterOutput:
{ "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ] }-
Per i dettagli sull'API, consulta ListTagsForResource AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-task-definition-families.
- AWS CLI
-
Esempio 1: come elencare le famiglie di definizioni di attività registrate
L’esempio
list-task-definition-familiesseguente elenca tutte le famiglie di definizioni di attività registrate.aws ecs list-task-definition-familiesOutput:
{ "families": [ "node-js-app", "web-timer", "hpcc", "hpcc-c4-8xlarge" ] }Esempio 2: come filtrare le famiglie di definizioni di attività registrate
L’esempio
list-task-definition-familiesseguente elenca le revisioni delle definizioni di attività che iniziano con “hpcc”.aws ecs list-task-definition-families --family-prefixhpccOutput:
{ "families": [ "hpcc", "hpcc-c4-8xlarge" ] }Per ulteriori informazioni, consulta Parametri di definizione di attività nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta ListTaskDefinitionFamilies AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-task-definitions.
- AWS CLI
-
Esempio 1: come elencare le definizioni di attività registrate
L’esempio
list-task-definitionsseguente elenca tutte le definizioni di attività registrate.aws ecs list-task-definitionsOutput:
{ "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: come elencare le definizioni di attività registrate in una famiglia
L' list-task-definitionsesempio seguente elenca le revisioni delle definizioni delle attività di una famiglia specificata.
aws ecs list-task-definitions --family-prefixwordpressOutput:
{ "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 Definizioni di attività Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, vedere ListTaskDefinitions
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-tasks.
- AWS CLI
-
Esempio 1: come elencare le attività in un cluster
L’esempio
list-tasksseguente elenca tutte le attività in un cluster.aws ecs list-tasks --clusterdefaultOutput:
{ "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: come elencare le attività su un’istanza di container specifica
L’esempio
list-tasksseguente elenca le attività in un’istanza di container utilizzando l’UUID dell’istanza di container come filtro.aws ecs list-tasks --clusterdefault--container-instancea1b2c3d4-5678-90ab-cdef-33333EXAMPLEOutput:
{ "taskArns": [ "arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-cdef-44444EXAMPLE" ] }Per ulteriori informazioni, consulta Definizioni di attività Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta ListTasks AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-account-setting-default.
- AWS CLI
-
Come modificare le impostazioni dell’account predefinite
L’esempio
put-account-setting-defaultseguente modifica l’impostazione predefinita degli account di tutti gli utenti o ruoli IAM dell’account corrente. Queste modifiche si applicano all'intero AWS account a meno che un utente o un ruolo IAM non sovrascriva esplicitamente queste impostazioni.aws ecs put-account-setting-default --nameserviceLongArnFormat--valueenabledOutput:
{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root" } }Per ulteriori informazioni, consulta Amazon Resource Names (ARNs) e IDs la Amazon ECS Developer Guide.
-
Per i dettagli sull'API, consulta PutAccountSettingDefault AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-account-setting.
- AWS CLI
-
Come modificare l’impostazione dell’account per l’account utente IAM corrente
L’esempio
put-account-settingseguente specifica l’impostazionecontainerInsightsdell’account suenhancedper l’account utente IAM corrente. In tal modo si attivano gli approfondimenti sui container con osservabilità migliorata.aws ecs put-account-setting \ --namecontainerInsights\ --valueenhancedOutput:
{ "setting": { "name": "containerInsights", "value": "enhanced", "principalArn": "arn:aws:iam::123456789012:user/johndoe", "type": "user" } }Per ulteriori informazioni, consulta Modifica delle impostazioni dell’account nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta PutAccountSetting AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-account-settings.
- AWS CLI
-
Come modificare le impostazioni dell’account per un utente IAM o un ruolo IAM
L’esempio
put-account-settingseguente modifica le impostazioni dell’account per l’utente IAM o il ruolo IAM specifico.aws ecs put-account-setting \ --nameserviceLongArnFormat\ --valueenabled\ --principal-arnarn:aws:iam::123456789012:user/MyUserOutput:
{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } }-
Per i dettagli sull'API, consulta PutAccountSettings AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-attributes.
- AWS CLI
-
Come creare un attributo e associarlo a una risorsa Amazon ECS
L’esempio
put-attributesseguente applica un attributo con nome stack e valore production a un’istanza di container.aws ecs put-attributes \ --attributesname=stack,value=production,targetId=arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34Output:
{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }-
Per i dettagli sull'API, consulta PutAttributes AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-cluster-capacity-providers.
- AWS CLI
-
Esempio 1: come aggiungere un provider di capacità esistente a un cluster
L’esempio
put-cluster-capacity-providersseguente aggiunge un provider di capacità esistente a un cluster. Il comandocreate-capacity-providerviene utilizzato per creare un provider di capacità. Il comandodescribe-clustersviene utilizzato per descrivere i provider di capacità correnti e la relativa strategia predefinita associata a un cluster. Quando si aggiunge un nuovo provider di capacità a un cluster, oltre al nuovo provider di capacità da associare al cluster è necessario specificare tutti i provider di capacità esistenti. È anche necessario specificare la strategia predefinita del provider di capacità da associare al cluster. In questo esempio, in cui al clusterMyClusterè associato il provider di capacitàMyCapacityProvider1, si desidera aggiungere il provider di capacitàMyCapacityProvider2per includerlo nella strategia predefinita del provider in modo che le attività siano distribuite uniformemente tra entrambi i provider.aws ecs put-cluster-capacity-providers \ --clusterMyCluster\ --capacity-providersMyCapacityProvider1MyCapacityProvider2\ --default-capacity-provider-strategycapacityProvider=MyCapacityProvider1,weight=1capacityProvider=MyCapacityProvider2,weight=1Output:
{ "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 Provider di capacità del cluster nella Guida per gli sviluppatori di Amazon ECS.
Esempio 2: come rimuovere un provider di capacità da un cluster
L’esempio
put-cluster-capacity-providersseguente rimuove un provider di capacità da un cluster. Il comandodescribe-clustersviene utilizzato per descrivere i provider di capacità correnti e associati a un cluster. Quando si rimuove un provider di capacità da un cluster, è necessario specificare i provider di capacità da lasciare associati al cluster, nonché la strategia predefinita dei provider da associare al cluster. In questo esempio, in cui al cluster sono associati i provider di capacitàMyCapacityProvider1eMyCapacityProvider2, si desidera rimuovere il provider di capacitàMyCapacityProvider2, che viene quindi specificato da solo nel comandoMyCapacityProvider1insieme alla strategia predefinita aggiornata del provider.aws ecs put-cluster-capacity-providers \ --clusterMyCluster\ --capacity-providersMyCapacityProvider1\ --default-capacity-provider-strategycapacityProvider=MyCapacityProvider1,weight=1,base=0Output:
{ "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 Provider di capacità del cluster nella Guida per gli sviluppatori di Amazon ECS.
Esempio 3: come rimuovere tutti i provider di capacità da un cluster
L’esempio
put-cluster-capacity-providersseguente rimuove tutti i provider di capacità esistenti dal cluster.aws ecs put-cluster-capacity-providers \ --clusterMyCluster\ --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 Provider di capacità del cluster nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta PutClusterCapacityProviders AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareregister-task-definition.
- AWS CLI
-
Esempio 1: come registrare una definizione di attività con un file JSON
L’esempio
register-task-definitionseguente registra una definizione di attività nella famiglia specificata. Le definizioni di container vengono salvate in formato JSON nella posizione del file specificata.aws ecs register-task-definition \ --cli-input-jsonfile://<path_to_json_file>/sleep360.jsonContenuto 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 Definizioni di attività Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
Esempio 2: come registrare una definizione di attività con un parametro di stringa JSON
L’esempio
register-task-definitionseguente registra una definizione di attività utilizzando le definizioni di container fornite come parametro di stringa JSON con virgolette doppie con carattere di escape.aws ecs register-task-definition \ --familysleep360\ --container-definitions "[{\"name\":\"sleep\",\"image\":\"busybox\",\"cpu\":10,\"command\":[\"sleep\",\"360\"],\"memory\":10,\"essential\":true}]"L’output è identico a quello dell’esempio precedente.
Per ulteriori informazioni, consulta Creazione di una definizione di attività nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta RegisterTaskDefinition AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarerun-task.
- AWS CLI
-
Esempio 1: come eseguire un’attività nel cluster predefinito
L’esempio
run-taskseguente esegue un’attività nel cluster predefinito e utilizza un token client.aws ecs run-task \ --clusterdefault\ --task-definitionsleep360:1\ --client-token550e8400-e29b-41d4-a716-446655440000Output:
{ "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 Esecuzione di un’applicazione come attività autonoma nella Guida per gli sviluppatori di Amazon ECS.
Esempio 2: come configurare un volume Amazon EBS per un’attività standalone
L’esempio
run-taskseguente configura un volume Amazon EBS crittografato per un’attività Fargate nel cluster predefinito. È necessario disporre di un ruolo dell’infrastruttura Amazon ECS configurato con associata la policy gestita daAmazonECSInfrastructureRolePolicyForVolumes. È necessario specificare una definizione di attività con lo stesso nome di volume della richiestarun-task. Questo esempio utilizza l’opzione--cli-input-jsone un file di input JSON denominatoebs.json.aws ecs run-task \ --cli-input-jsonfile://ebs.jsonContenuto di
ebs.json:{ "cluster": "default", "taskDefinition": "mytaskdef", "launchType": "FARGATE", "networkConfiguration":{ "awsvpcConfiguration":{ "assignPublicIp": "ENABLED", "securityGroups": ["sg-12344321"], "subnets":["subnet-12344321"] } }, "volumeConfigurations": [ { "name": "myEBSVolume", "managedEBSVolume": { "volumeType": "gp3", "sizeInGiB": 100, "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole", "encrypted": true, "kmsKeyId": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } } ] }Output:
{ "tasks": [ { "attachments": [ { "id": "ce868693-15ca-4083-91ac-f782f64000c9", "type": "ElasticNetworkInterface", "status": "PRECREATED", "details": [ { "name": "subnetId", "value": "subnet-070982705451dad82" } ] }, { "id": "a17ed863-786c-4372-b5b3-b23e53f37877", "type": "AmazonElasticBlockStorage", "status": "CREATED", "details": [ { "name": "roleArn", "value": "arn:aws:iam::123456789012:role/ecsInfrastructureRole" }, { "name": "volumeName", "value": "myEBSVolume" }, { "name": "deleteOnTermination", "value": "true" } ] } ], "attributes": [ { "name": "ecs.cpu-architecture", "value": "x86_64" } ], "availabilityZone": "us-west-2b", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/default", "containers": [ { "containerArn": "arn:aws:ecs:us-west-2:123456789012:container/default/7f1fbd3629434cc4b82d72d2f09b67c9/e21962a2-f328-4699-98a3-5161ac2c186a", "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/default/7f1fbd3629434cc4b82d72d2f09b67c9", "name": "container-using-ebs", "image": "amazonlinux:2", "lastStatus": "PENDING", "networkInterfaces": [], "cpu": "0" } ], "cpu": "1024", "createdAt": "2025-01-23T10:29:46.650000-06:00", "desiredStatus": "RUNNING", "enableExecuteCommand": false, "group": "family:mytaskdef", "lastStatus": "PROVISIONING", "launchType": "FARGATE", "memory": "3072", "overrides": { "containerOverrides": [ { "name": "container-using-ebs" } ], "inferenceAcceleratorOverrides": [] }, "platformVersion": "1.4.0", "platformFamily": "Linux", "tags": [], "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/default/7f1fbd3629434cc4b82d72d2f09b67c9", "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:4", "version": 1, "ephemeralStorage": { "sizeInGiB": 20 }, "fargateEphemeralStorage": { "sizeInGiB": 20 } } ], "failures": [] }Per ulteriori informazioni, consulta Utilizzare i volumi Amazon EBS con Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta RunTask AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarestart-task.
- AWS CLI
-
Esempio 1: come avviare una nuova attività
L’esempio
start-taskseguente avvia un’attività utilizzando la revisione più recente della definizione di attivitàsleep360sull’istanza di container specificata nel cluster predefinito.aws ecs start-task \ --task-definitionsleep360\ --container-instances765936fadbdd46b5991a4bd70c2a43d4Output:
{ "tasks": [ { "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/default/666fdccc2e2d4b6894dd422f4eeee8f8", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/default", "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep360:3", "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/default/765936fadbdd46b5991a4bd70c2a43d4", "overrides": { "containerOverrides": [ { "name": "sleep" } ] }, "lastStatus": "PENDING", "desiredStatus": "RUNNING", "cpu": "128", "memory": "128", "containers": [ { "containerArn": "arn:aws:ecs:us-west-2:123456789012:container/75f11ed4-8a3d-4f26-a33b-ad1db9e02d41", "taskArn": "arn:aws:ecs:us-west-2:123456789012: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 ulteriori informazioni, consulta Pianificare i container su Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
Esempio 2: come configurare un volume Amazon EBS per un’attività all’avvio dell’attività
L’esempio
start-taskseguente configura un volume Amazon EBS crittografato per un’attività nell’istanza di container specificata. È necessario disporre di un ruolo dell’infrastruttura Amazon ECS configurato con associata la policy gestita daAmazonECSInfrastructureRolePolicyForVolumes. È necessario specificare una definizione di attività con lo stesso nome di volume della richiestastart-task. Questo esempio utilizza l’opzione--cli-input-jsone un file di input JSON denominatoebs.jsoncon il seguente contenuto.aws ecs start-task \ --cli-input-jsonfile://ebs.json\ --container-instances765936fadbdd46b5991a4bd70c2a43d4Contenuto di
ebs.json:{ "cluster": "default", "taskDefinition": "mytaskdef", "networkConfiguration":{ "awsvpcConfiguration":{ "assignPublicIp": "ENABLED", "securityGroups": ["sg-12344321"], "subnets":["subnet-12344321"] } }, "volumeConfigurations": [ { "name": "myEBSVolume", "managedEBSVolume": { "volumeType": "gp3", "sizeInGiB": 100, "roleArn":"arn:aws:iam::123456789012:role/ecsInfrastructureRole", "encrypted": true, "kmsKeyId": "arn:aws:kms:region:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" } } ] }Output:
{ "tasks": [ { "attachments": [ { "id": "aea29489-9dcd-49f1-8164-4d91566e1113", "type": "ElasticNetworkInterface", "status": "PRECREATED", "details": [ { "name": "subnetId", "value": "subnet-12344321" } ] }, { "id": "f29e1222-9a1e-410f-b499-a12a7cd6d42e", "type": "AmazonElasticBlockStorage", "status": "CREATED", "details": [ { "name": "roleArn", "value": "arn:aws:iam::123456789012:role/ecsInfrastructureRole" }, { "name": "volumeName", "value": "myEBSVolume" }, { "name": "deleteOnTermination", "value": "true" } ] } ], "attributes": [ { "name": "ecs.cpu-architecture", "value": "arm64" } ], "availabilityZone": "us-west-2c", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/default", "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/default/765936fadbdd46b5991a4bd70c2a43d4", "containers": [ { "containerArn": "arn:aws:ecs:us-west-2:123456789012:container/default/bb122ace3ed84add92c00a351a03c69e/a4a9ed10-51c7-4567-9653-50e71b94f867", "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/default/bb122ace3ed84add92c00a351a03c69e", "name": "container-using-ebs", "image": "amazonlinux:2", "lastStatus": "PENDING", "networkInterfaces": [], "cpu": "0" } ], "cpu": "1024", "createdAt": "2025-01-23T14:51:05.191000-06:00", "desiredStatus": "RUNNING", "enableExecuteCommand": false, "group": "family:mytaskdef", "lastStatus": "PROVISIONING", "launchType": "EC2", "memory": "3072", "overrides": { "containerOverrides": [ { "name": "container-using-ebs" } ], "inferenceAcceleratorOverrides": [] }, "tags": [], "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/default/bb122ace3ed84add92c00a351a03c69e", "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:4", "version": 1 } ], "failures": [] }Per ulteriori informazioni, consulta Utilizzare i volumi Amazon EBS con Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta StartTask AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarestop-task.
- AWS CLI
-
Come arrestare un’attività
Il comando
stop-taskseguente arresta l’esecuzione dell’attività specificata nel cluster predefinito.aws ecs stop-task \ --task666fdccc2e2d4b6894dd422f4eeee8f8Output:
{ "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 i dettagli sull'API, consulta StopTask AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaretag-resource.
- AWS CLI
-
Come taggare a una risorsa
L’esempio
tag-resourceseguente aggiunge un singolo tag alla risorsa specificata.aws ecs tag-resource \ --resource-arnarn:aws:ecs:us-west-2:123456789012:cluster/MyCluster--tagskey=key1,value=value1Questo comando non produce alcun output.
Come aggiungere più tag a una risorsa
L’esempio
tag-resourceseguente aggiunge più tag alla risorsa specificata.aws ecs tag-resource \ --resource-arnarn:aws:ecs:us-west-2:123456789012:cluster/MyCluster\ --tagskey=key1,value=value1key=key2,value=value2key=key3,value=value3Questo comando non produce alcun output.
-
Per i dettagli sull'API, consulta TagResource AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareuntag-resource.
- AWS CLI
-
Come rimuovere un tag da una risorsa
L’esempio
untag-resourceseguente rimuove i tag elencati dalla risorsa specificata.aws ecs untag-resource \ --resource-arnarn:aws:ecs:us-west-2:123456789012:cluster/MyCluster\ --tag-keyskey1,key2Questo comando non produce alcun output.
-
Per i dettagli sull'API, consulta UntagResource AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-cluster-settings.
- AWS CLI
-
Come modificare le impostazioni del cluster
L'
update-cluster-settingsesempio seguente abilita CloudWatch Container Insights con una migliore osservabilità per ilMyClustercluster.aws ecs update-cluster-settings \ --clusterMyCluster\ --settingsname=containerInsights,value=enhancedOutput:
{ "cluster": { "clusterArn": "arn:aws:ecs:us-esat-1:123456789012:cluster/MyCluster", "clusterName": "default", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [ { "name": "containerInsights", "value": "enhanced" } ] } }Per ulteriori informazioni, consulta Modifica delle impostazioni dell’account nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta UpdateClusterSettings AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-cluster.
- AWS CLI
-
Esempio 1: aggiorna il cluster ECS abilitando containerInsights
Il comando
update-clusterseguente aggiorna il valore containerInsights impostandolo suenabledin un cluster già creato. Per impostazione predefinita, è disabilitato.aws ecs update-cluster \ --clusterECS-project-update-cluster\ --settingsname=containerInsights,value=enabledOutput:
"cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/ECS-project-update-cluster", "clusterName": "ECS-project-update-cluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ], "capacityProviders": [ "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" ], "defaultCapacityProviderStrategy": [ { "capacityProvider": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt", "weight": 1, "base": 0 } ], "attachments": [ { "id": "069d002b-7634-42e4-b1d4-544f4c8f6380", "type": "as_policy", "status": "CREATED", "details": [ { "name": "capacityProviderName", "value": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-152363a6-8c65-484c-b721-42c3e070ae93" } ] }, { "id": "08b5b6ca-45e9-4209-a65d-e962a27c490a", "type": "managed_draining", "status": "CREATED", "details": [ { "name": "capacityProviderName", "value": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" }, { "name": "autoScalingLifecycleHookName", "value": "ecs-managed-draining-termination-hook" } ] }, { "id": "45d0b36f-8cff-46b6-9380-1288744802ab", "type": "sc", "status": "ATTACHED", "details": [] } ], "attachmentsStatus": "UPDATE_COMPLETE", "serviceConnectDefaults": { "namespace": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-igwrsylmy3kwvcdx" } }Esempio 2: aggiorna il cluster ECS per impostare un namespace Service Connect predefinito
Il comando
update-clusteraggiorna il cluster ECS impostando un namespace Service Connect predefinito.aws ecs update-cluster \ --clusterECS-project-update-cluster\ --service-connect-defaultsnamespace=testOutput:
{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/ECS-project-update-cluster", "clusterName": "ECS-project-update-cluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ], "capacityProviders": [ "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" ], "defaultCapacityProviderStrategy": [ { "capacityProvider": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt", "weight": 1, "base": 0 } ], "attachments": [ { "id": "069d002b-7634-42e4-b1d4-544f4c8f6380", "type": "as_policy", "status": "CREATED", "details": [ { "name": "capacityProviderName", "value": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-152363a6-8c65-484c-b721-42c3e070ae93" } ] }, { "id": "08b5b6ca-45e9-4209-a65d-e962a27c490a", "type": "managed_draining", "status": "CREATED", "details": [ { "name": "capacityProviderName", "value": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" }, { "name": "autoScalingLifecycleHookName", "value": "ecs-managed-draining-termination-hook" } ] }, { "id": "45d0b36f-8cff-46b6-9380-1288744802ab", "type": "sc", "status": "DELETED", "details": [] }, { "id": "3e6890c3-609c-4832-91de-d6ca891b3ef1", "type": "sc", "status": "ATTACHED", "details": [] }, { "id": "961b8ec1-c2f1-4070-8495-e669b7668e90", "type": "sc", "status": "DELETED", "details": [] } ], "attachmentsStatus": "UPDATE_COMPLETE", "serviceConnectDefaults": { "namespace": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-dtjmxqpfi46ht7dr" } } }Per ulteriori informazioni su Service Connect, consulta Utilizzare Service Connect per connettere i servizi Amazon ECS con nomi brevi nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta UpdateCluster AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-container-agent.
- AWS CLI
-
Come aggiornare l’agente del container in un’istanza di container Amazon ECS
L’esempio
update-container-agentseguente aggiorna l’agente del container nell’istanza di container specificata nel cluster predefinito.aws ecs update-container-agent --clusterdefault--container-instancea1b2c3d4-5678-90ab-cdef-11111EXAMPLEOutput:
{ "containerInstance": { "status": "ACTIVE", ... "agentUpdateStatus": "PENDING", "versionInfo": { "agentVersion": "1.0.0", "agentHash": "4023248", "dockerVersion": "DockerVersion: 1.5.0" } } }Per ulteriori informazioni, consulta Aggiornamento dell’agente del container di Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta UpdateContainerAgent AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-container-instances-state.
- AWS CLI
-
Come aggiornare lo stato di un’istanza di container
Il comando
update-container-instances-stateseguente aggiorna lo stato dell’istanza di container specificata suDRAININGper rimuoverla dal cluster in cui è registrata.aws ecs update-container-instances-state \ --container-instances765936fadbdd46b5991a4bd70c2a43d4\ --statusDRAININGOutput:
{ "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": [] }-
Per i dettagli sull'API, consulta UpdateContainerInstancesState AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-service-primary-task-set.
- AWS CLI
-
Come aggiornare il set di attività principale per un servizio
L’esempio
update-service-primary-task-setseguente aggiorna il set di attività principale per il servizio specificato.aws ecs update-service-primary-task-set \ --clusterMyCluster\ --serviceMyService\ --primary-task-setarn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789Output:
{ "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 } }-
Per i dettagli sull'API, consulta UpdateServicePrimaryTaskSet AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-service.
- AWS CLI
-
Esempio 1: come modificare la definizione dell’attività utilizzata in un servizio
L’esempio
update-serviceseguente aggiorna il serviziomy-http-servicein modo da utilizzare la definizione dell’attivitàamazon-ecs-sample.aws ecs update-service \ --clustertest\ --servicemy-http-service\ --task-definitionamazon-ecs-sampleOutput:
{ "service": { "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/test/my-http-service", "serviceName": "my-http-service", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/test", "loadBalancers": [], "serviceRegistries": [], "status": "ACTIVE", "desiredCount": 2, "runningCount": 2, "pendingCount": 0, "launchType": "FARGATE", "platformVersion": "1.4.0", "platformFamily": "Linux", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/amazon-ecs-sample:2", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true }, "maximumPercent": 200, "minimumHealthyPercent": 100, "alarms": { "alarmNames": [], "rollback": false, "enable": false } }, "deployments": [ { "id": "ecs-svc/7419115625193919142", "status": "PRIMARY", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/amazon-ecs-sample:2", "desiredCount": 0, "pendingCount": 0, "runningCount": 0, "failedTasks": 0, "createdAt": "2025-02-21T13:26:02.734000-06:00", "updatedAt": "2025-02-21T13:26:02.734000-06:00", "launchType": "FARGATE", "platformVersion": "1.4.0", "platformFamily": "Linux", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "ENABLED" } }, "rolloutState": "IN_PROGRESS", "rolloutStateReason": "ECS deployment ecs-svc/7419115625193919142 in progress." }, { "id": "ecs-svc/1709597507655421668", "status": "ACTIVE", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/old-amazon-ecs-sample:4", "desiredCount": 2, "pendingCount": 0, "runningCount": 2, "failedTasks": 0, "createdAt": "2025-01-24T11:13:07.621000-06:00", "updatedAt": "2025-02-02T16:11:30.838000-06:00", "launchType": "FARGATE", "platformVersion": "1.4.0", "platformFamily": "Linux", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "ENABLED" } }, "rolloutState": "COMPLETED", "rolloutStateReason": "ECS deployment ecs-svc/1709597507655421668 completed." } ], "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", "events": [ { "id": "e40b4d1c-80d9-4834-aaf3-6a268e530e17", "createdAt": "2025-02-21T10:31:26.037000-06:00", "message": "(my-http-service) has reached a steady state." }, { "id": "6ac069ad-fc8b-4e49-a35d-b5574a964c8e", "createdAt": "2025-02-21T04:31:22.703000-06:00", "message": "(my-http-service) has reached a steady state." }, { "id": "265f7d37-dfd1-4880-a846-ec486f341919", "createdAt": "2025-02-20T22:31:22.514000-06:00", "message": "(my-http-service) has reached a steady state." } ], "createdAt": "2024-10-30T17:12:43.218000-05:00", "placementConstraints": [], "placementStrategy": [], "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321", ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "ENABLED" } }, "healthCheckGracePeriodSeconds": 0, "schedulingStrategy": "REPLICA", "deploymentController": { "type": "ECS" }, "createdBy": "arn:aws:iam::123456789012:role/AIDACKCEVSQ6C2EXAMPLE", "enableECSManagedTags": true, "propagateTags": "NONE", "enableExecuteCommand": false, "availabilityZoneRebalancing": "DISABLED" } }Per ulteriori informazioni, consulta Aggiornare un servizio Amazon ECS utilizzando la console nella Guida per gli sviluppatori di Amazon ECS.
Esempio 2: come modificare il numero di attività in un servizio
L’esempio
update-serviceseguente aggiorna il numero di attività desiderato del serviziomy-http-serviceimpostandolo su 2.aws ecs update-service \ --clusterMyCluster\ --servicemy-http-service\ --desired-count2Output:
{ "service": { "serviceArn": "arn:aws:ecs:us-east-1:123456789012:service/MyCluster/my-http-service", "serviceName": "my-http-service", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", "loadBalancers": [], "serviceRegistries": [], "status": "ACTIVE", "desiredCount": 2, "runningCount": 1, "pendingCount": 0, "capacityProviderStrategy": [ { "capacityProvider": "FARGATE", "weight": 1, "base": 0 } ], "platformVersion": "LATEST", "platformFamily": "Linux", "taskDefinition": "arn:aws:ecs:us-east-1:123456789012:task-definition/MyTaskDefinition", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true }, "maximumPercent": 200, "minimumHealthyPercent": 100, "alarms": { "alarmNames": [], "rollback": false, "enable": false } }, "deployments": [ { "id": "ecs-svc/1976744184940610707", "status": "PRIMARY", "taskkDefinition": "arn:aws:ecs:us-east-1:123456789012:task-definition/MyTaskDefinition", "desiredCount": 1, "pendingCount": 0, "runningCount": 1, "failedTasks": 0, "createdAt": "2024-12-03T16:24:25.225000-05:00", "updatedAt": "2024-12-03T16:25:15.837000-05:00", "capacityProviderStrategy": [ { "capacityProvider": "FARGATE", "weight": 1, "base": 0 } ], "platformVersion": "1.4.0", "platformFamily": "Linux", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-0d0eab1bb38d5ca64", "subnet-0db5010045995c2d5" ], "securityGroups": [ "sg-02556bf85a191f59a" ], "assignPublicIp": "ENABLED" } }, "rolloutState": "COMPLETED", "rolloutStateReason": "ECS deployment ecs-svc/1976744184940610707 completed." } ], "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", "events": [ { "id": "f27350b9-4b2a-4e2e-b72e-a4b68380de45", "createdAt": "2024-12-30T13:24:07.345000-05:00", "message": "(service my-http-service) has reached a steady state." }, { "id": "e764ec63-f53f-45e3-9af2-d99f922d2957", "createdAt": "2024-12-30T12:32:21.600000-05:00", "message": "(service my-http-service) has reached a steady state." }, { "id": "28444756-c2fa-47f8-bd60-93a8e05f3991", "createdAt": "2024-12-08T19:26:10.367000-05:00", "message": "(service my-http-service) has reached a steady state." } ], "createdAt": "2024-12-03T16:24:25.225000-05:00", "placementConstraints": [], "placementStrategy": [], "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-0d0eab1bb38d5ca64", "subnet-0db5010045995c2d5" ], "securityGroups": [ "sg-02556bf85a191f59a" ], "assignPublicIp": "ENABLED" } }, "healthCheckGracePeriodSeconds": 0, "schedulingStrategy": "REPLICA", "deploymentController": { "type": "ECS" }, "createdBy": "arn:aws:iam::123456789012:role/Admin", "enableECSManagedTags": true, "propagateTags": "NONE", "enableExecuteCommand": false, "availabilityZoneRebalancing": "ENABLED" } }Per ulteriori informazioni, consulta Aggiornamento di un servizio Amazon ECS utilizzando la console nella Guida per gli sviluppatori di Amazon ECS.
Esempio 3: come configurare i volumi Amazon EBS per gli allegati durante l’aggiornamento del servizio
L’esempio
update-serviceseguente aggiorna il serviziomy-http-servicein modo da utilizzare i volumi Amazon EBS. È necessario disporre di un ruolo dell’infrastruttura Amazon ECS configurato con associata la policy gestita daAmazonECSInfrastructureRolePolicyForVolumes. È inoltre necessario specificare una definizione di attività con lo stesso nome di volume della richiestaupdate-servicee conconfiguredAtLaunchimpostato sutrue. Questo esempio utilizza l’opzione--cli-input-jsone un file di input JSON denominatoebs.json.aws ecs update-service \ --cli-input-jsonfile://ebs.jsonContenuto di
ebs.json:{ "cluster": "mycluster", "taskDefinition": "mytaskdef", "service": "my-http-service", "desiredCount": 2, "volumeConfigurations": [ { "name": "myEbsVolume", "managedEBSVolume": { "roleArn":"arn:aws:iam::123456789012:role/ecsInfrastructureRole", "volumeType": "gp3", "sizeInGiB": 100, "iops": 3000, "throughput": 125, "filesystemType": "ext4" } } ] }Output:
{ "service": { "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/mycluster/my-http-service", "serviceName": "my-http-service", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/mycluster", "loadBalancers": [], "serviceRegistries": [], "status": "ACTIVE", "desiredCount": 2, "runningCount": 2, "pendingCount": 0, "launchType": "FARGATE", "platformVersion": "LATEST", "platformFamily": "Linux", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:1", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true }, "maximumPercent": 200, "minimumHealthyPercent": 100, "alarms": { "alarmNames": [], "rollback": false, "enable": false } }, "deployments": [ { "id": "ecs-svc/2420458347226626275", "status": "PRIMARY", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:1", "desiredCount": 0, "pendingCount": 0, "runningCount": 0, "failedTasks": 0, "createdAt": "2025-02-21T15:07:20.519000-06:00", "updatedAt": "2025-02-21T15:07:20.519000-06:00", "launchType": "FARGATE", "platformVersion": "1.4.0", "platformFamily": "Linux", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321", ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "ENABLED" } }, "rolloutState": "IN_PROGRESS", "rolloutStateReason": "ECS deployment ecs-svc/2420458347226626275 in progress.", "volumeConfigurations": [ { "name": "ebs-volume", "managedEBSVolume": { "volumeType": "gp3", "sizeInGiB": 100, "iops": 3000, "throughput": 125, "roleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "filesystemType": "ext4" } } ] }, { "id": "ecs-svc/5191625155316533644", "status": "ACTIVE", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:2", "desiredCount": 2, "pendingCount": 0, "runningCount": 2, "failedTasks": 0, "createdAt": "2025-02-21T14:54:48.862000-06:00", "updatedAt": "2025-02-21T14:57:22.502000-06:00", "launchType": "FARGATE", "platformVersion": "1.4.0", "platformFamily": "Linux", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "ENABLED" } }, "rolloutState": "COMPLETED", "rolloutStateReason": "ECS deployment ecs-svc/5191625155316533644 completed." } ], "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", "events": [ { "id": "b5823113-c2c5-458e-9649-8c2ed38f23a5", "createdAt": "2025-02-21T14:57:22.508000-06:00", "message": "(service my-http-service) has reached a steady state." }, { "id": "b05a48e8-da35-4074-80aa-37ceb3167357", "createdAt": "2025-02-21T14:57:22.507000-06:00", "message": "(service my-http-service) (deployment ecs-svc/5191625155316533644) deployment completed." }, { "id": "a10cd55d-4ba6-4cea-a655-5a5d32ada8a0", "createdAt": "2025-02-21T14:55:32.833000-06:00", "message": "(service my-http-service) has started 1 tasks: (task fb9c8df512684aec92f3c57dc3f22361)." }, ], "createdAt": "2025-02-21T14:54:48.862000-06:00", "placementConstraints": [], "placementStrategy": [], "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "ENABLED" } }, "healthCheckGracePeriodSeconds": 0, "schedulingStrategy": "REPLICA", "deploymentController": { "type": "ECS" }, "createdBy": "arn:aws:iam::123456789012:role/AIDACKCEVSQ6C2EXAMPLE", "enableECSManagedTags": true, "propagateTags": "NONE", "enableExecuteCommand": false, "availabilityZoneRebalancing": "ENABLED" } }Per ulteriori informazioni, consulta Utilizzare i volumi Amazon EBS con Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
Esempio 4: come aggiornare un servizio in modo che non utilizzi più i volumi Amazon EBS
L’esempio
update-serviceseguente aggiorna il serviziomy-http-servicein modo da non utilizzare più i volumi Amazon EBS. È necessario specificare una revisione della definizione di attività conconfiguredAtLaunchimpostato sufalse.aws ecs update-service \ --clustermycluster\ --task-definitionmytaskdef\ --servicemy-http-service\ --desired-count2\ --volume-configurations"[]"Output:
{ "service": { "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/mycluster/my-http-service", "serviceName": "my-http-service", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/mycluster", "loadBalancers": [], "serviceRegistries": [], "status": "ACTIVE", "desiredCount": 2, "runningCount": 2, "pendingCount": 0, "launchType": "FARGATE", "platformVersion": "LATEST", "platformFamily": "Linux", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:3", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true }, "maximumPercent": 200, "minimumHealthyPercent": 100, "alarms": { "alarmNames": [], "rollback": false, "enable": false } }, "deployments": [ { "id": "ecs-svc/7522791612543716777", "status": "PRIMARY", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:3", "desiredCount": 0, "pendingCount": 0, "runningCount": 0, "failedTasks": 0, "createdAt": "2025-02-21T15:25:38.598000-06:00", "updatedAt": "2025-02-21T15:25:38.598000-06:00", "launchType": "FARGATE", "platformVersion": "1.4.0", "platformFamily": "Linux", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "ENABLED" } }, "rolloutState": "IN_PROGRESS", "rolloutStateReason": "ECS deployment ecs-svc/7522791612543716777 in progress." }, { "id": "ecs-svc/2420458347226626275", "status": "ACTIVE", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/myoldtaskdef:1", "desiredCount": 2, "pendingCount": 0, "runningCount": 2, "failedTasks": 0, "createdAt": "2025-02-21T15:07:20.519000-06:00", "updatedAt": "2025-02-21T15:10:59.955000-06:00", "launchType": "FARGATE", "platformVersion": "1.4.0", "platformFamily": "Linux", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "ENABLED" } }, "rolloutState": "COMPLETED", "rolloutStateReason": "ECS deployment ecs-svc/2420458347226626275 completed.", "volumeConfigurations": [ { "name": "ebs-volume", "managedEBSVolume": { "volumeType": "gp3", "sizeInGiB": 100, "iops": 3000, "throughput": 125, "roleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "filesystemType": "ext4" } } ] } ], "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", "events": [ { "id": "4f2c3ca1-7800-4048-ba57-bba210ada2ad", "createdAt": "2025-02-21T15:10:59.959000-06:00", "message": "(service my-http-service) has reached a steady state." }, { "id": "4b36a593-2d40-4ed6-8be8-b9b699eb6198", "createdAt": "2025-02-21T15:10:59.958000-06:00", "message": "(service my-http-service) (deployment ecs-svc/2420458347226626275) deployment completed." }, { "id": "88380089-14e2-4ef0-8dbb-a33991683371", "createdAt": "2025-02-21T15:09:39.055000-06:00", "message": "(service my-http-service) has stopped 1 running tasks: (task fb9c8df512684aec92f3c57dc3f22361)." }, { "id": "97d84243-d52f-4255-89bb-9311391c61f6", "createdAt": "2025-02-21T15:08:57.653000-06:00", "message": "(service my-http-service) has stopped 1 running tasks: (task 33eff090ad2c40539daa837e6503a9bc)." }, { "id": "672ece6c-e2d0-4021-b5da-eefb14001687", "createdAt": "2025-02-21T15:08:15.631000-06:00", "message": "(service my-http-service) has started 1 tasks: (task 996c02a66ff24f3190a4a8e0c841740f)." }, { "id": "a3cf9bea-9be6-4175-ac28-4c68360986eb", "createdAt": "2025-02-21T15:07:36.931000-06:00", "message": "(service my-http-service) has started 1 tasks: (task d5d23c39f89e46cf9a647b9cc6572feb)." }, { "id": "b5823113-c2c5-458e-9649-8c2ed38f23a5", "createdAt": "2025-02-21T14:57:22.508000-06:00", "message": "(service my-http-service) has reached a steady state." }, { "id": "b05a48e8-da35-4074-80aa-37ceb3167357", "createdAt": "2025-02-21T14:57:22.507000-06:00", "message": "(service my-http-service) (deployment ecs-svc/5191625155316533644) deployment completed." }, { "id": "a10cd55d-4ba6-4cea-a655-5a5d32ada8a0", "createdAt": "2025-02-21T14:55:32.833000-06:00", "message": "(service my-http-service) has started 1 tasks: (task fb9c8df512684aec92f3c57dc3f22361)." }, { "id": "42da91fa-e26d-42ef-88c3-bb5965c56b2f", "createdAt": "2025-02-21T14:55:02.703000-06:00", "message": "(service my-http-service) has started 1 tasks: (task 33eff090ad2c40539daa837e6503a9bc)." } ], "createdAt": "2025-02-21T14:54:48.862000-06:00", "placementConstraints": [], "placementStrategy": [], "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "ENABLED" } }, "healthCheckGracePeriodSeconds": 0, "schedulingStrategy": "REPLICA", "deploymentController": { "type": "ECS" }, "createdBy": "arn:aws:iam::123456789012:role/AIDACKCEVSQ6C2EXAMPLE", "enableECSManagedTags": true, "propagateTags": "NONE", "enableExecuteCommand": false, "availabilityZoneRebalancing": "ENABLED" } }Per ulteriori informazioni, consulta Utilizzare i volumi Amazon EBS con Amazon ECS nella Guida per gli sviluppatori di Amazon ECS.
Esempio 5: come attivare il ribilanciamento delle zone di disponibilità per un servizio
L’esempio
update-serviceseguente attiva il ribilanciamento delle zone di disponibilità per il serviziomy-http-service.aws ecs update-service \ --clusterMyCluster\ --servicemy-http-service\ --availability-zone-rebalancingENABLEDOutput:
{ "service": { "serviceArn": "arn:aws:ecs:us-east-1:123456789012:service/MyCluster/my-http-service", "serviceName": "my-http-service", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", "loadBalancers": [], "serviceRegistries": [], "status": "ACTIVE", "desiredCount": 2, "runningCount": 1, "pendingCount": 0, "capacityProviderStrategy": [ { "capacityProvider": "FARGATE", "weight": 1, "base": 0 } ], "platformVersion": "LATEST", "platformFamily": "Linux", "taskDefinition": "arn:aws:ecs:us-east-1:123456789012:task-definition/MyTaskDefinition", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true }, "maximumPercent": 200, "minimumHealthyPercent": 100, "alarms": { "alarmNames": [], "rollback": false, "enable": false } }, "deployments": [ { "id": "ecs-svc/1976744184940610707", "status": "PRIMARY", "taskkDefinition": "arn:aws:ecs:us-east-1:123456789012:task-definition/MyTaskDefinition", "desiredCount": 1, "pendingCount": 0, "runningCount": 1, "failedTasks": 0, "createdAt": "2024-12-03T16:24:25.225000-05:00", "updatedAt": "2024-12-03T16:25:15.837000-05:00", "capacityProviderStrategy": [ { "capacityProvider": "FARGATE", "weight": 1, "base": 0 } ], "platformVersion": "1.4.0", "platformFamily": "Linux", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-0d0eab1bb38d5ca64", "subnet-0db5010045995c2d5" ], "securityGroups": [ "sg-02556bf85a191f59a" ], "assignPublicIp": "ENABLED" } }, "rolloutState": "COMPLETED", "rolloutStateReason": "ECS deployment ecs-svc/1976744184940610707 completed." } ], "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", "events": [], "createdAt": "2024-12-03T16:24:25.225000-05:00", "placementConstraints": [], "placementStrategy": [], "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-0d0eab1bb38d5ca64", "subnet-0db5010045995c2d5" ], "securityGroups": [ "sg-02556bf85a191f59a" ], "assignPublicIp": "ENABLED" } }, "healthCheckGracePeriodSeconds": 0, "schedulingStrategy": "REPLICA", "deploymentController": { "type": "ECS" }, "createdBy": "arn:aws:iam::123456789012:role/Admin", "enableECSManagedTags": true, "propagateTags": "NONE", "enableExecuteCommand": false, "availabilityZoneRebalancing": "ENABLED" } }Per ulteriori informazioni, consulta Aggiornamento di un servizio Amazon ECS utilizzando la console nella Guida per gli sviluppatori di Amazon ECS.
-
Per i dettagli sull'API, consulta UpdateService AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-task-protection.
- AWS CLI
-
Esempio 1: abilita la protezione delle attività per le attività ECS
Quanto segue
update-task-protectionprotegge l'attività ECS dall'interruzione durante la scalabilità da Deployments o Service. AutoScaling È possibile specificare un periodo di scadenza personalizzato per la protezione delle attività con intervallo da 1 a 2.880 minuti (48 ore). Se non si specifica il periodo di scadenza, il tempo predefinito di attivazione della protezione delle attività è di 2 ore.aws ecs update-task-protection \ --clusterECS-project-update-cluster\ --tasksc43ed3b1331041f289316f958adb6a24\ --protection-enabled \ --expires-in-minutes300Output:
{ "protectedTasks": [ { "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/c43ed3b1331041f289316f958adb6a24", "protectionEnabled": true, "expirationDate": "2024-09-14T19:53:36.687000-05:00" } ], "failures": [] }Esempio 2: disabilita la protezione delle attività per le attività ECS
Quanto segue
update-task-protectiondisabilita le attività protette dalla scalabilità di Deployments o Service. AutoScalingaws ecs update-task-protection \ --clusterECS-project-update-cluster\ --tasksc43ed3b1331041f289316f958adb6a24\ --no-protection-enabledOutput:
{ "protectedTasks": [ { "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/c43ed3b1331041f289316f958adb6a24", "protectionEnabled": false } ], "failures": [] }Per ulteriori informazioni sulla protezione delle attività, consulta Proteggere le attività di Amazon ECS dall’interruzione causata da eventi di riduzione orizzontale nella Guida per gli sviluppatori Amazon ECS.
-
Per i dettagli sull'API, consulta Command UpdateTaskProtection
Reference AWS CLI .
-
Il seguente esempio di codice mostra come utilizzareupdate-task-set.
- AWS CLI
-
Come aggiornare un set di attività
L’esempio
update-task-setseguente aggiorna un set di attività per regolare il dimensionamento.aws ecs update-task-set \ --clusterMyCluster\ --serviceMyService\ --task-setarn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789\ --scalevalue=50,unit=PERCENTOutput:
{ "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 i dettagli sull'API, consulta UpdateTaskSet AWS CLI
Command Reference.
-