Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
ECSExemplos da Amazon usando AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com a AmazonECS.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, é possível ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.
Tópicos
Ações
O código de exemplo a seguir mostra como usar create-capacity-provider
.
- AWS CLI
-
Para criar um provedor de capacidade
O create-capacity-provider exemplo a seguir cria um provedor de capacidade que usa um grupo de Auto Scaling chamado MyASG, tem o escalonamento gerenciado e a proteção gerenciada de terminação ativada. Essa configuração é usada para o ECS escalonamento automático de clusters da Amazon.
aws ecs create-capacity-provider \ --name
"MyCapacityProvider"
\ --auto-scaling-group-provider"autoScalingGroupArn=arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:57ffcb94-11f0-4d6d-bf60-3bac5EXAMPLE:autoScalingGroupName/MyASG,managedScaling={status=ENABLED,targetCapacity=100},managedTerminationProtection=ENABLED"
Saída:
{ "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": [] }
Para obter mais informações, consulte Amazon ECS cluster auto scaling no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte CreateCapacityProvider
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar create-cluster
.
- AWS CLI
-
Exemplo 1: como criar um cluster
O exemplo de
create-cluster
a seguir cria um cluster.aws ecs create-cluster \ --cluster-name
MyCluster
Saída:
{ "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": [] } }
Para obter mais informações, consulte Criação de um cluster no Amazon ECS Developer Guide.
Exemplo 2: como criar um cluster usando provedores de capacidade
O exemplo de
create-cluster
a seguir cria um cluster e associa dois provedores de capacidade existentes a ele. O comandocreate-capacity-provider
é usado para criar um provedor de capacidade. Embora recomendado, não é necessário especificar uma estratégia de provedor de capacidade. Neste exemplo, criamos um cluster chamadoMyCluster
e associamos os provedores de capacidadeMyCapacityProvider1
eMyCapacityProvider2
a ele. Uma estratégia de provedor de capacidade padrão é especificada e distribui a tarefa igualmente em ambos os provedores de capacidade.aws ecs create-cluster --cluster-name MyCluster --capacity-providers MyCapacityProvider 1 2 -- = 1, peso = 1 = 2, peso = 1 MyCapacityProvider default-capacity-provider-strategy capacityProvider MyCapacityProvider capacityProvider MyCapacityProvider
Saída:
{ "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" } }
Para obter mais informações, consulte Provedores de capacidade de cluster no Amazon ECS Developer Guide.
Exemplo 3: como criar um cluster com várias tags
O exemplo
create-cluster
a seguir cria um cluster com várias tags. Para obter mais informações sobre como adicionar tags usando a sintaxe abreviada, consulte Usando a sintaxe abreviada com a interface de linha de AWS comando no Guia do usuário.AWS CLIaws ecs create-cluster \ --cluster-name
MyCluster
\ --tagskey=key1,value=value1
key=key2,value=value2
key=key3,value=value3
Saída:
{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "MyCluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ] } }
Para obter mais informações, consulte Criação de um cluster no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte CreateCluster
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar create-service
.
- AWS CLI
-
Exemplo 1: como criar um serviço com uma tarefa do Fargate
O exemplo de
create-service
a seguir demonstra como criar um serviço usando uma tarefa do Fargate.aws ecs create-service \ --cluster
MyCluster
\ --service-nameMyService
\ --task-definitionsample-fargate:1
\ --desired-count2
\ --launch-typeFARGATE
\ --platform-versionLATEST
\ --network-configuration"awsvpcConfiguration={subnets=[subnet-12344321],securityGroups=[sg-12344321],assignPublicIp=ENABLED}"
\ --tagskey=key1,value=value1
key=key2,value=value2
key=key3,value=value3
Saída:
{ "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" } }
Exemplo 2: Para criar um serviço usando o tipo de EC2 inicialização
O
create-service
exemplo a seguir mostra como criar um serviço chamadoecs-simple-service
com uma tarefa que usa o tipo de EC2 inicialização. O serviço usa a definição de tarefasleep360
e mantem uma instanciação da tarefa.aws ecs create-service \ --cluster
MyCluster
\ --service-nameecs-simple-service
\ --task-definitionsleep360:2
\ --desired-count1
Saída:
{ "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" } }
Exemplo 3: como criar um serviço que usa um controlador de implantação externo
O exemplo de
create-service
a seguir cria um serviço que usa um controlador de implantação externo.aws ecs create-service \ --cluster
MyCluster
\ --service-nameMyService
\ --deployment-controllertype=EXTERNAL
\ --desired-count1
Saída:
{ "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" } }
Exemplo 4: como criar um serviço por trás de um balanceador de carga
O exemplo de
create-service
a seguir mostra como criar um serviço que fique por trás de um balanceador de carga. É necessário ter um balanceador de carga configurado na mesma região da instância de contêiner. Este exemplo usa a--cli-input-json
opção e um arquivo JSON de entrada chamadoecs-simple-service-elb.json
com o seguinte conteúdo:{ "serviceName": "ecs-simple-service-elb", "taskDefinition": "ecs-demo", "loadBalancers": [ { "loadBalancerName": "EC2Contai-EcsElast-123456789012", "containerName": "simple-demo", "containerPort": 80 } ], "desiredCount": 10, "role": "ecsServiceRole" }
Comando:
aws ecs create-service \ --cluster
MyCluster
\ --service-nameecs-simple-service-elb
\ --cli-input-jsonfile://ecs-simple-service-elb.json
Saída:
{ "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 } }
Para obter mais informações, consulte Criação de um serviço no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte CreateService
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar create-task-set
.
- AWS CLI
-
Para criar um conjunto de tarefas
O
create-task-set
exemplo a seguir cria um conjunto de tarefas em um serviço que usa um controlador de implantação externo.aws ecs create-task-set \ --cluster
MyCluster
\ --serviceMyService
\ --task-definitionMyTaskDefinition:2
\ --network-configuration"awsvpcConfiguration={subnets=[subnet-12344321],securityGroups=[sg-12344321]}"
Saída:
{ "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 } }
-
Para API obter detalhes, consulte CreateTaskSet
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-account-setting
.
- AWS CLI
-
Para excluir as configurações da conta de um IAM usuário ou IAM função específica
O exemplo a seguir
delete-account-setting
exclui as configurações da conta para o IAM usuário ou IAM função específica.aws ecs delete-account-setting \ --name
serviceLongArnFormat
\ --principal-arnarn:aws:iam::123456789012:user/MyUser
Saída:
{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } }
Para obter mais informações, consulte Amazon Resource Names (ARNs) e IDs no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte DeleteAccountSetting
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-attributes
.
- AWS CLI
-
Para excluir um ou mais atributos personalizados de um ECS recurso da Amazon
O seguinte
delete-attributes
exclui um atributo com o nomestack
de uma instância de contêiner.aws ecs delete-attributes \ --attributes
name=stack,targetId=arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34
Saída:
{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }
-
Para API obter detalhes, consulte DeleteAttributes
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-capacity-provider
.
- AWS CLI
-
Exemplo 1: Para excluir um provedor de capacidade usando o Amazon Resource Name (ARN)
O
delete-capacity-provider
exemplo a seguir exclui um provedor de capacidade especificando o Amazon Resource Name (ARN) do provedor de capacidade. ARNAssim como o status da exclusão do provedor de capacidade, podem ser recuperados usando odescribe-capacity-providers
comando.aws ecs delete-capacity-provider \ --capacity-provider
arn:aws:ecs:us-west-2:123456789012:capacity-provider/ExampleCapacityProvider
Saída:
{ "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": [] } }
Para obter mais informações, consulte Provedores de capacidade de cluster no Amazon ECS Developer Guide.
Exemplo 2: Para excluir um provedor de capacidade usando o nome
O
delete-capacity-provider
exemplo a seguir exclui um provedor de capacidade especificando o nome abreviado do provedor de capacidade. O nome curto e o status da exclusão do provedor de capacidade podem ser recuperados usando odescribe-capacity-providers
comando.aws ecs delete-capacity-provider \ --capacity-provider
ExampleCapacityProvider
Saída:
{ "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": [] } }
Para obter mais informações, consulte Provedores de capacidade de cluster no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte DeleteCapacityProvider
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-cluster
.
- AWS CLI
-
Como excluir um cluster vazio
O exemplo de
delete-cluster
a seguir exclui o cluster vazio especificado.aws ecs delete-cluster --cluster
MyCluster
Saída:
{ "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": [] } }
Para obter mais informações, consulte Excluindo um cluster no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte DeleteCluster
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-service
.
- AWS CLI
-
Como excluir um serviço
O exemplo de
ecs delete-service
a seguir exclui o serviço especificado de um cluster. Inclua o parâmetro--force
para excluir um serviço mesmo que ele não tenha sido reduzido a zero tarefas.aws ecs delete-service --cluster
MyCluster
--serviceMyService1
--forcePara obter mais informações, consulte Excluindo um serviço no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte DeleteService
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-task-definitions
.
- AWS CLI
-
Para excluir uma definição de tarefa
O
delete-task-definitions
exemplo a seguir exclui uma definição de INACTIVE tarefa.aws ecs delete-task-definitions \ --task-definition
curltest:1
Saída:
{ "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": [] }
Para obter mais informações, consulte Amazon ECS Task Definitions no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte DeleteTaskDefinitions
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-task-set
.
- AWS CLI
-
Para excluir um conjunto de tarefas
O
delete-task-set
exemplo a seguir mostra como excluir um conjunto de tarefas. Você pode incluir o--force
parâmetro para excluir um conjunto de tarefas mesmo que ele não tenha sido escalado para zero.aws ecs delete-task-set \ --cluster
MyCluster
\ --serviceMyService
\ --task-setarn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789
\ --forceSaída:
{ "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 } }
-
Para API obter detalhes, consulte DeleteTaskSet
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar deregister-container-instance
.
- AWS CLI
-
Para cancelar o registro de uma instância de contêiner de um cluster
O
deregister-container-instance
exemplo a seguir cancela o registro de uma instância de contêiner do cluster especificado. Se ainda houver tarefas em execução na instância do contêiner, você deverá interromper essas tarefas antes de cancelar o registro ou usar a opção.--force
aws ecs deregister-container-instance \ --cluster
arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster
\ --container-instancearn:aws:ecs:us-west-2:123456789012:container-instance/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE
\ --forceSaída:
{ "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" } }
Para obter mais informações, consulte Cancelar o registro de uma instância de contêiner no Guia do ECSdesenvolvedor.
-
Para API obter detalhes, consulte DeregisterContainerInstance
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar deregister-task-definition
.
- AWS CLI
-
Para cancelar o registro de uma definição de tarefa
O
deregister-task-definition
exemplo a seguir cancela o registro da primeira revisão da definição dacurler
tarefa na sua região padrão.aws ecs deregister-task-definition --task-definition
curler:1
Observe que, na saída resultante, o status da definição da tarefa mostra
INACTIVE
:{ "taskDefinition": { "status": "INACTIVE", "family": "curler", "volumes": [], "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/curler:1", "containerDefinitions": [ { "environment": [], "name": "curler", "mountPoints": [], "image": "curl:latest", "cpu": 100, "portMappings": [], "entryPoint": [], "memory": 256, "command": [ "curl -v http://example.com/" ], "essential": true, "volumesFrom": [] } ], "revision": 1 } }
Para obter mais informações, consulte Amazon ECS Task Definitions no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte DeregisterTaskDefinition
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-capacity-providers
.
- AWS CLI
-
Exemplo 1: Para descrever todos os fornecedores de capacidade
O
describe-capacity-providers
exemplo a seguir recupera detalhes sobre todos os provedores de capacidade.aws ecs describe-capacity-providers
Saída:
{ "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": [] } ] }
Para obter mais informações, consulte Provedores de capacidade de cluster no Amazon ECS Developer Guide.
Exemplo 2: Para descrever um fornecedor de capacidade específico
O
describe-capacity-providers
exemplo a seguir recupera detalhes sobre um provedor de capacidade específico. O uso do--include TAGS
parâmetro adicionará as tags associadas ao provedor de capacidade à saída.aws ecs describe-capacity-providers \ --capacity-providers
MyCapacityProvider
\ --includeTAGS
Saída:
{ "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" } ] } ] }
Para obter mais informações, consulte Provedores de capacidade de cluster no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte DescribeCapacityProviders
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-clusters
.
- AWS CLI
-
Exemplo 1: como descrever um cluster
O exemplo de
describe-clusters
a seguir recupera detalhes do cluster especificado.aws ecs describe-clusters \ --cluster
default
Saída:
{ "clusters": [ { "status": "ACTIVE", "clusterName": "default", "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 1, "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/default" } ], "failures": [] }
Para obter mais informações, consulte Amazon ECS Clusters no Amazon ECS Developer Guide.
Exemplo 2: como descrever um cluster com a opção de anexo
O
describe-clusters
exemplo a seguir especifica a ATTACHMENTS opção. Ele recupera detalhes sobre o cluster especificado e uma lista dos recursos anexados ao cluster no formato de anexos. Ao usar um provedor de capacidade com um cluster, os recursos, sejam AutoScaling planos ou políticas de escalabilidade, serão representados como asp ou as_policy. ATTACHMENTSaws ecs describe-clusters \ --include
ATTACHMENTS
\ --clusterssampleCluster
Saída:
{ "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": [] }
Para obter mais informações, consulte Amazon ECS Clusters no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte DescribeClusters
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-container-instances
.
- AWS CLI
-
Para descrever a instância do contêiner
O
describe-container-instances
exemplo a seguir recupera detalhes de uma instância de contêiner noupdate
cluster, usando a instância de contêiner UUID como identificador.aws ecs describe-container-instances \ --cluster
update
\ --container-instancesa1b2c3d4-5678-90ab-cdef-11111EXAMPLE
Saída:
{ "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" } } ] }
Para obter mais informações, consulte Amazon ECS Container Instances no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte DescribeContainerInstances
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-services
.
- AWS CLI
-
Para descrever um serviço
O
describe-services
exemplo a seguir recupera detalhes domy-http-service
serviço no cluster padrão.aws ecs describe-services --services
my-http-service
Saída:
{ "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": [] }
Para obter mais informações, consulte Serviços no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte DescribeServices
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-task-definition
.
- AWS CLI
-
Para descrever uma definição de tarefa
O
describe-task-definition
exemplo a seguir recupera os detalhes de uma definição de tarefa.aws ecs describe-task-definition \ --task-definition
hello_world:8
Saída:
{ "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": [] }
Para obter mais informações, consulte Amazon ECS Task Definitions no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte DescribeTaskDefinition
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-task-sets
.
- AWS CLI
-
Para descrever um conjunto de tarefas
O
describe-task-sets
exemplo a seguir descreve um conjunto de tarefas em um serviço que usa um implantador externo.aws ecs describe-task-sets \ --cluster
MyCluster
\ --serviceMyService
\ --task-setsarn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789
Saída:
{ "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": [] }
-
Para API obter detalhes, consulte DescribeTaskSets
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-tasks
.
- AWS CLI
-
Exemplo 1: como descrever uma única tarefa
O exemplo de
describe-tasks
a seguir recupera os detalhes de uma tarefa em um cluster. Você pode especificar a tarefa usando a ID ou a totalidade ARN da tarefa. Este exemplo usa a totalidade ARN da tarefa.aws ecs describe-tasks \ --cluster
MyCluster
\ --tasksarn:aws:ecs:us-east-1:123456789012:task/MyCluster/4d590253bb114126b7afa7b58EXAMPLE
Saída:
{ "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": [] }
Para obter mais informações, consulte Amazon ECS Task Definitions no Amazon ECS Developer Guide.
Exemplo 2: como descrever várias tarefas
O exemplo de
describe-tasks
a seguir recupera os detalhes de várias tarefas de um cluster. Você pode especificar a tarefa usando a ID ou a totalidade ARN da tarefa. Este exemplo usa todas IDs as tarefas.aws ecs describe-tasks \ --cluster
MyCluster
\ --tasks"74de0355a10a4f979ac495c14EXAMPLE"
"d789e94343414c25b9f6bd59eEXAMPLE"
Saída:
{ "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": [] }
Para obter mais informações, consulte Amazon ECS Task Definitions no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte DescribeTasks
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar execute-command
.
- AWS CLI
-
Para executar um interactive /bin/sh comando
O
execute-command
exemplo a seguir executa um interactive /bin/sh comando em um contêiner nomeado MyContainer para uma tarefa com um id dearn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE
.aws ecs execute-command \ --cluster
MyCluster
\ --taskarn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE
\ --containerMyContainer
\ --interactive \ --command"/bin/sh"
Este comando não produz saída.
Para obter mais informações, consulte Usando o Amazon ECS Exec para depuração no Amazon Developer Guide. ECS
-
Para API obter detalhes, consulte ExecuteCommand
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-account-settings
.
- AWS CLI
-
Exemplo 1: Para ver as configurações de conta de uma conta
O
list-account-settings
exemplo a seguir exibe as configurações efetivas da conta.aws ecs list-account-settings --effective-settings
Saída:
{ "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" } ] }
Exemplo 2: Para visualizar as configurações da conta de um IAM usuário ou IAM função específica
O
list-account-settings
exemplo a seguir exibe as configurações da conta para o IAM usuário ou IAM função especificada.aws ecs list-account-settings --principal-arn
arn:aws:iam::123456789012:user/MyUser
Saída:
{ "settings": [ { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } ] }
Para obter mais informações, consulte Amazon Resource Names (ARNs) e IDs no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte ListAccountSettings
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-attributes
.
- AWS CLI
-
Para listar as instâncias do contêiner que contêm um atributo específico
O exemplo a seguir lista os atributos das instâncias de contêiner que têm o
stack=production
atributo no cluster padrão.aws ecs list-attributes \ --target-type
container-instance
\ --attribute-namestack
\ --attribute-valueproduction
\ --clusterdefault
Saída:
{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }
Para obter mais informações, consulte Configuração do Amazon ECS Container Agent no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte ListAttributes
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-clusters
.
- AWS CLI
-
Como listar os clusters disponíveis
O exemplo de
list-clusters
a seguir lista todos os clusters disponíveis.aws ecs list-clusters
Saída:
{ "clusterArns": [ "arn:aws:ecs:us-west-2:123456789012:cluster/MyECSCluster1", "arn:aws:ecs:us-west-2:123456789012:cluster/AnotherECSCluster" ] }
Para obter mais informações, consulte Amazon ECS Clusters no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte ListClusters
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-container-instances
.
- AWS CLI
-
Para listar as instâncias do contêiner em um cluster
O
list-container-instances
exemplo a seguir lista todas as instâncias de contêiner disponíveis em um cluster.aws ecs list-container-instances --cluster
MyCluster
Saída:
{ "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" ] }
Para obter mais informações, consulte Amazon ECS Container Instances no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte ListContainerInstances
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-services-by-namespace
.
- AWS CLI
-
Para listar os serviços em um namespace
O
list-services-by-namespace
exemplo a seguir lista todos os serviços configurados para o namespace especificado em sua região padrão.aws ecs list-services-by-namespace \ --namespace
service-connect
Saída:
{ "serviceArns": [ "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService", "arn:aws:ecs:us-west-2:123456789012:service/tutorial/service-connect-nginx-service" ] }
Para obter mais informações, consulte Service Connect no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte ListServicesByNamespace
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-services
.
- AWS CLI
-
Como listar os serviços em um cluster
O exemplo de
list-services
a seguir mostra como listar os serviços em execução em um cluster.aws ecs list-services --cluster
MyCluster
Saída:
{ "serviceArns": [ "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService" ] }
Para obter mais informações, consulte Serviços no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte ListServices
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-tags-for-resource
.
- AWS CLI
-
Para listar as tags de um recurso
O
list-tags-for-resource
exemplo a seguir lista as tags de um cluster específico.aws ecs list-tags-for-resource \ --resource-arn
arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster
Saída:
{ "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ] }
-
Para API obter detalhes, consulte ListTagsForResource
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-task-definition-families
.
- AWS CLI
-
Exemplo 1: Para listar as famílias de definição de tarefas registradas
O
list-task-definition-families
exemplo a seguir lista todas as famílias de definição de tarefas registradas.aws ecs list-task-definition-families
Saída:
{ "families": [ "node-js-app", "web-timer", "hpcc", "hpcc-c4-8xlarge" ] }
Exemplo 2: Para filtrar as famílias de definição de tarefas registradas
O
list-task-definition-families
exemplo a seguir lista as revisões de definição de tarefas que começam com “hpcc”.aws ecs list-task-definition-families --family-prefix
hpcc
Saída:
{ "families": [ "hpcc", "hpcc-c4-8xlarge" ] }
Para obter mais informações, consulte Parâmetros de definição de tarefas no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte ListTaskDefinitionFamilies
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-task-definitions
.
- AWS CLI
-
Exemplo 1: Para listar as definições de tarefas registradas
O
list-task-definitions
exemplo a seguir lista todas as definições de tarefas registradas.aws ecs list-task-definitions
Saída:
{ "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" ] }
Exemplo 2: Para listar as definições de tarefas registradas em uma família
O list-task-definitions exemplo a seguir lista as revisões da definição de tarefas de uma família especificada.
aws ecs list-task-definitions --family-prefix
wordpress
Saída:
{ "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" ] }
Para obter mais informações, consulte Amazon ECS Task Definitions no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte ListTaskDefinitions
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-tasks
.
- AWS CLI
-
Exemplo 1: como listar as tarefas em um cluster
O exemplo de
list-tasks
a seguir lista todas as tarefas de um cluster.aws ecs list-tasks --cluster
default
Saída:
{ "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" ] }
Exemplo 2: como listar as tarefas de uma instância de contêiner específica
O
list-tasks
exemplo a seguir lista as tarefas em uma instância de contêiner, usando a instância de contêiner UUID como filtro.aws ecs list-tasks --cluster
default
--container-instancea1b2c3d4-5678-90ab-cdef-33333EXAMPLE
Saída:
{ "taskArns": [ "arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-cdef-44444EXAMPLE" ] }
Para obter mais informações, consulte Amazon ECS Task Definitions no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte ListTasks
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar put-account-setting-default
.
- AWS CLI
-
Para modificar as configurações padrão da conta
O
put-account-setting-default
exemplo a seguir modifica a configuração padrão da conta para todos os IAM usuários ou funções em sua conta. Essas alterações se aplicam a toda a AWS conta, a menos que um IAM usuário ou função substitua explicitamente essas configurações por si mesmos.aws ecs put-account-setting-default --name
serviceLongArnFormat
--valueenabled
Saída:
{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root" } }
Para obter mais informações, consulte Amazon Resource Names (ARNs) e IDs no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte PutAccountSettingDefault
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar put-account-setting
.
- AWS CLI
-
Para modificar a configuração da conta da sua conta de IAM usuário
O
put-account-setting
exemplo a seguir ativa a configuração daserviceLongArnFormat
conta para sua conta de IAM usuário.aws ecs put-account-setting --name
serviceLongArnFormat
--valueenabled
Saída:
{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::130757420319:user/your_username" } }
Para obter mais informações, consulte Modificação das configurações da conta no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte PutAccountSetting
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar put-account-settings
.
- AWS CLI
-
Para modificar as configurações da conta de um IAM usuário ou IAM função
O
put-account-setting
exemplo a seguir modifica as configurações da conta para o IAM usuário ou IAM função especificada.aws ecs put-account-setting \ --name
serviceLongArnFormat
\ --valueenabled
\ --principal-arnarn:aws:iam::123456789012:user/MyUser
Saída:
{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } }
-
Para API obter detalhes, consulte PutAccountSettings
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar put-attributes
.
- AWS CLI
-
Para criar um atributo e associá-lo a um ECS recurso da Amazon
O seguinte
put-attributes
aplica um atributo com o nome stack e a produção de valor a uma instância de contêiner.aws ecs put-attributes \ --attributes
name=stack,value=production,targetId=arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34
Saída:
{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }
-
Para API obter detalhes, consulte PutAttributes
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar put-cluster-capacity-providers
.
- AWS CLI
-
Exemplo 1: Para adicionar um provedor de capacidade existente a um cluster
O
put-cluster-capacity-providers
exemplo a seguir adiciona um provedor de capacidade existente a um cluster. O comandocreate-capacity-provider
é usado para criar um provedor de capacidade. Odescribe-clusters
comando é usado para descrever os provedores de capacidade atuais e a estratégia padrão do provedor de capacidade associada a um cluster. Ao adicionar um novo provedor de capacidade a um cluster, você deve especificar todos os provedores de capacidade existentes, além do novo provedor de capacidade que você deseja associar ao cluster. Você também deve especificar a estratégia padrão do provedor de capacidade a ser associada ao cluster. Neste exemplo, oMyCluster
cluster tem o provedor deMyCapacityProvider1
capacidade associado a ele e você deseja adicionar o provedor deMyCapacityProvider2
capacidade e incluí-lo na estratégia padrão do provedor de capacidade para que as tarefas sejam distribuídas uniformemente entre os dois provedores de capacidade.aws ecs put-cluster-capacity-providers \ --cluster
MyCluster
\ --capacity-providersMyCapacityProvider1
MyCapacityProvider2
\ --default-capacity-provider-strategycapacityProvider=MyCapacityProvider1,weight=1
capacityProvider=MyCapacityProvider2,weight=1
Saída:
{ "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" } }
Para obter mais informações, consulte Provedores de capacidade de cluster no Amazon ECS Developer Guide.
Exemplo 2: Para remover um provedor de capacidade de um cluster
O
put-cluster-capacity-providers
exemplo a seguir remove um provedor de capacidade de um cluster. Odescribe-clusters
comando é usado para descrever os provedores de capacidade atuais associados a um cluster. Ao remover um provedor de capacidade de um cluster, você deve especificar os provedores de capacidade que deseja que permaneçam associados ao cluster, bem como a estratégia padrão do provedor de capacidade a ser associada ao cluster. Neste exemplo, o cluster tem os provedores deMyCapacityProvider2
capacidadeMyCapacityProvider1
e associados a ele e você deseja remover o provedor deMyCapacityProvider2
capacidade, então você especifica somenteMyCapacityProvider1
no comando junto com a estratégia atualizada do provedor de capacidade padrão.aws ecs put-cluster-capacity-providers \ --cluster
MyCluster
\ --capacity-providersMyCapacityProvider1
\ --default-capacity-provider-strategycapacityProvider=MyCapacityProvider1,weight=1,base=0
Saída:
{ "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" } }
Para obter mais informações, consulte Provedores de capacidade de cluster no Amazon ECS Developer Guide.
Exemplo 3: Para remover todos os provedores de capacidade de um cluster
O
put-cluster-capacity-providers
exemplo a seguir remove todos os provedores de capacidade existentes do cluster.aws ecs put-cluster-capacity-providers \ --cluster
MyCluster
\ --capacity-providers[]
\ --default-capacity-provider-strategy[]
Saída:
{ "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" } }
Para obter mais informações, consulte Provedores de capacidade de cluster no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte PutClusterCapacityProviders
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar register-task-definition
.
- AWS CLI
-
Exemplo 1: Para registrar uma definição de tarefa com um JSON arquivo
O
register-task-definition
exemplo a seguir registra uma definição de tarefa na família especificada. As definições do contêiner são salvas em JSON formato no local do arquivo especificado.aws ecs register-task-definition \ --cli-input-json
file://<path_to_json_file>/sleep360.json
Conteúdo de
sleep360.json
:{ "containerDefinitions": [ { "name": "sleep", "image": "busybox", "cpu": 10, "command": [ "sleep", "360" ], "memory": 10, "essential": true } ], "family": "sleep360" }
Saída:
{ "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 } }
Para obter mais informações, consulte Exemplos de definições de tarefas no Amazon ECS Developer Guide.
Exemplo 2: Para registrar uma definição de tarefa com um parâmetro de JSON string
O
register-task-definition
exemplo a seguir registra uma definição de tarefa usando definições de contêiner fornecidas como um parâmetro de JSON string com aspas duplas de escape.aws ecs register-task-definition \ --family
sleep360
\ --container-definitions "[{\"name\":\"sleep\",\"image\":\"busybox\",\"cpu\":10,\"command\":[\"sleep\",\"360\"],\"memory\":10,\"essential\":true}]"A saída é idêntica à do exemplo anterior.
Para obter mais informações, consulte Criação de uma definição de tarefa no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte RegisterTaskDefinition
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar run-task
.
- AWS CLI
-
Para executar uma tarefa em seu cluster padrão
O
run-task
exemplo a seguir executa uma tarefa no cluster padrão e usa um token de cliente.aws ecs run-task \ --cluster
default
\ --task-definitionsleep360:1
\ --client-token550e8400-e29b-41d4-a716-446655440000
Saída:
{ "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": [] }
Para obter mais informações, consulte Executando tarefas no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte RunTask
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar start-task
.
- AWS CLI
-
Para iniciar uma nova tarefa
O seguinte
start-task
inicia uma tarefa usando a revisão mais recente da definição dasleep360
tarefa na instância de contêiner especificada no cluster padrão.aws ecs start-task \ --task-definition
sleep360
\ --container-instances765936fadbdd46b5991a4bd70c2a43d4
Saída:
{ "tasks": [ { "taskArn": "arn:aws:ecs:us-west-2:130757420319:task/default/666fdccc2e2d4b6894dd422f4eeee8f8", "clusterArn": "arn:aws:ecs:us-west-2:130757420319:cluster/default", "taskDefinitionArn": "arn:aws:ecs:us-west-2:130757420319:task-definition/sleep360:3", "containerInstanceArn": "arn:aws:ecs:us-west-2:130757420319:container-instance/default/765936fadbdd46b5991a4bd70c2a43d4", "overrides": { "containerOverrides": [ { "name": "sleep" } ] }, "lastStatus": "PENDING", "desiredStatus": "RUNNING", "cpu": "128", "memory": "128", "containers": [ { "containerArn": "arn:aws:ecs:us-west-2:130757420319:container/75f11ed4-8a3d-4f26-a33b-ad1db9e02d41", "taskArn": "arn:aws:ecs:us-west-2:130757420319:task/default/666fdccc2e2d4b6894dd422f4eeee8f8", "name": "sleep", "lastStatus": "PENDING", "networkInterfaces": [], "cpu": "10", "memory": "10" } ], "version": 1, "createdAt": 1563421494.186, "group": "family:sleep360", "launchType": "EC2", "attachments": [], "tags": [] } ], "failures": [] }
-
Para API obter detalhes, consulte StartTask
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar stop-task
.
- AWS CLI
-
Para interromper uma tarefa
O seguinte
stop-task
impede que a tarefa especificada seja executada no cluster padrão.aws ecs stop-task \ --task
666fdccc2e2d4b6894dd422f4eeee8f8
Saída:
{ "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": [] } }
-
Para API obter detalhes, consulte StopTask
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar tag-resource
.
- AWS CLI
-
Para marcar um recurso
O
tag-resource
exemplo a seguir adiciona uma única tag ao recurso especificado.aws ecs tag-resource \ --resource-arn
arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster
--tagskey=key1,value=value1
Este comando não produz saída.
Para adicionar várias tags a um recurso
O
tag-resource
exemplo a seguir adiciona várias tags ao recurso especificado.aws ecs tag-resource \ --resource-arn
arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster
\ --tagskey=key1,value=value1
key=key2,value=value2
key=key3,value=value3
Este comando não produz saída.
-
Para API obter detalhes, consulte TagResource
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar untag-resource
.
- AWS CLI
-
Para remover uma tag de um recurso
O
untag-resource
exemplo a seguir remove as tags listadas do recurso especificado.aws ecs untag-resource \ --resource-arn
arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster
\ --tag-keyskey1,key2
Este comando não produz saída.
-
Para API obter detalhes, consulte UntagResource
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar update-cluster-settings
.
- AWS CLI
-
Para modificar as configurações do seu cluster
O
update-cluster-settings
exemplo a seguir ativa o CloudWatch Container Insights para odefault
cluster.aws ecs update-cluster-settings \ --cluster
default
\ --settingsname=containerInsights,value=enabled
Saída:
{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "default", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ] } }
Para obter mais informações, consulte Modificação das configurações da conta no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte UpdateClusterSettings
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar update-container-agent
.
- AWS CLI
-
Para atualizar o agente de contêiner em uma instância de ECS contêiner da Amazon
O
update-container-agent
exemplo a seguir atualiza o agente de contêiner na instância de contêiner especificada no cluster padrão.aws ecs update-container-agent --cluster
default
--container-instancea1b2c3d4-5678-90ab-cdef-11111EXAMPLE
Saída:
{ "containerInstance": { "status": "ACTIVE", ... "agentUpdateStatus": "PENDING", "versionInfo": { "agentVersion": "1.0.0", "agentHash": "4023248", "dockerVersion": "DockerVersion: 1.5.0" } } }
Para obter mais informações, consulte Atualização do Amazon ECS Container Agent no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte UpdateContainerAgent
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar update-container-instances-state
.
- AWS CLI
-
Para atualizar o estado de uma instância de contêiner
O seguinte
update-container-instances-state
atualiza o estado da instância de contêiner especificada para aDRAINING
qual a removerá do cluster em que está registrada.aws ecs update-container-instances-state \ --container-instances
765936fadbdd46b5991a4bd70c2a43d4
\ --statusDRAINING
Saída:
{ "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": [] }
-
Para API obter detalhes, consulte UpdateContainerInstancesState
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar update-service-primary-task-set
.
- AWS CLI
-
Para atualizar o conjunto de tarefas principal de um serviço
O
update-service-primary-task-set
exemplo a seguir atualiza o conjunto de tarefas principal para o serviço especificado.aws ecs update-service-primary-task-set \ --cluster
MyCluster
\ --serviceMyService
\ --primary-task-setarn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789
Saída:
{ "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 } }
-
Para API obter detalhes, consulte UpdateServicePrimaryTaskSet
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar update-service
.
- AWS CLI
-
Exemplo 1: como alterar a definição de tarefa usada em um serviço
O exemplo de
update-service
a seguir atualiza o serviçomy-http-service
para usar a definição de tarefaamazon-ecs-sample
.aws ecs update-service --service
my-http-service
--task-definitionamazon-ecs-sample
Exemplo 2: Para alterar o número de tarefas em um serviço
O exemplo de
update-service
a seguir atualiza a contagem de tarefas desejada do serviçomy-http-service
para 3.aws ecs update-service --service
my-http-service
--desired-count3
Para obter mais informações, consulte Atualização de um serviço no Amazon ECS Developer Guide.
-
Para API obter detalhes, consulte UpdateService
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar update-task-set
.
- AWS CLI
-
Para atualizar um conjunto de tarefas
O
update-task-set
exemplo a seguir atualiza um conjunto de tarefas para ajustar a escala.aws ecs update-task-set \ --cluster
MyCluster
\ --serviceMyService
\ --task-setarn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789
\ --scalevalue=50,unit=PERCENT
Saída:
{ "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 } }
-
Para API obter detalhes, consulte UpdateTaskSet
na Referência de AWS CLI Comandos.
-