Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
ECSEjemplos de Amazon que utilizan AWS CLI
En los siguientes ejemplos de código, se muestra cómo realizar acciones e implementar situaciones comunes AWS Command Line Interface con AmazonECS.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.
Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.
Temas
Acciones
En el siguiente ejemplo de código se muestra cómo usar create-capacity-provider
.
- AWS CLI
-
Para crear un proveedor de capacidad
El siguiente create-capacity-provider ejemplo crea un proveedor de capacidad que usa un grupo de Auto Scaling denominado My ASG y que tiene habilitada la protección de escalado administrado y terminación administrada. Esta configuración se usa para el escalado automático de ECS clústeres de 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"
Salida:
{ "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 obtener más información, consulta el escalado automático de ECS clústeres de Amazon en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte CreateCapacityProvider
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar create-cluster
.
- AWS CLI
-
Ejemplo 1: creación de un clúster nuevo
En el siguiente ejemplo de
create-cluster
se crea un clúster.aws ecs create-cluster \ --cluster-name
MyCluster
Salida:
{ "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 obtener más información, consulte Creación de un clúster en la Guía para ECS desarrolladores de Amazon.
Ejemplo 2: Creación de un clúster nuevo con proveedores de capacidad
En el siguiente ejemplo de
create-cluster
se crea un clúster y se le asocian dos proveedores de capacidad existentes. El comandocreate-capacity-provider
se utiliza para crear un proveedor de capacidad. La especificación de una estrategia predeterminada de proveedor de capacidad es opcional, pero se recomienda. En este ejemplo, creamos un clúster denominadoMyCluster
y le asociamos los proveedores de capacidadMyCapacityProvider1
yMyCapacityProvider2
. Se especifica una estrategia predeterminada de proveedor de capacidad que distribuye las tareas de manera uniforme entre ambos proveedores de capacidad.aws ecs create-cluster --cluster-name MyCluster --capacity providers 1 2 — default-capacity-provider-strategy capacityProvider = 1, MyCapacityProvider peso=1 = MyCapacityProvider 2, peso=1 MyCapacityProvider capacityProvider MyCapacityProvider
Salida:
{ "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 obtener más información, consulte Proveedores de capacidad de clúster en la Guía para ECS desarrolladores de Amazon.
Ejemplo 3: Creación de un clúster nuevo con varias etiquetas
En el siguiente ejemplo de
create-cluster
se crea un clúster con varias etiquetas. Para obtener más información sobre cómo añadir etiquetas mediante una sintaxis abreviada, consulte Uso de la sintaxis abreviada con la interfaz de línea de AWS comandos en la Guía del usuario.AWS CLIaws ecs create-cluster \ --cluster-name
MyCluster
\ --tagskey=key1,value=value1
key=key2,value=value2
key=key3,value=value3
Salida:
{ "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 obtener más información, consulte Creación de un clúster en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte CreateCluster
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar create-service
.
- AWS CLI
-
Ejemplo 1: creación de un servicio con una tarea de Fargate
En el siguiente ejemplo de
create-service
se muestra cómo crear un servicio mediante una tarea de 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
Salida:
{ "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" } }
Ejemplo 2: Para crear un servicio mediante el tipo de EC2 lanzamiento
El siguiente
create-service
ejemplo muestra cómo crear un servicio llamadoecs-simple-service
con una tarea que utilice el tipo de EC2 lanzamiento. El servicio utiliza la definición de la tareasleep360
y mantiene 1 instancia de la tarea.aws ecs create-service \ --cluster
MyCluster
\ --service-nameecs-simple-service
\ --task-definitionsleep360:2
\ --desired-count1
Salida:
{ "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" } }
Ejemplo 3: Creación de un servicio que utilice un controlador de implementación externo
En el siguiente ejemplo de
create-service
se crea un servicio que utiliza un controlador de implementación externo.aws ecs create-service \ --cluster
MyCluster
\ --service-nameMyService
\ --deployment-controllertype=EXTERNAL
\ --desired-count1
Salida:
{ "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" } }
Ejemplo 4: Creación de un nuevo servicio detrás de un equilibrador de carga
En el siguiente ejemplo de
create-service
se muestra cómo crear un servicio que se encuentra detrás de un equilibrador de carga. Debe tener un equilibrador de carga configurado en la misma región que la instancia de contenedor. En este ejemplo, se utiliza la--cli-input-json
opción y un archivo de JSON entrada llamadoecs-simple-service-elb.json
con el siguiente contenido:{ "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
Salida:
{ "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 obtener más información, consulta Crear un servicio en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte CreateService
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar create-task-set
.
- AWS CLI
-
Para crear un conjunto de tareas
En el siguiente
create-task-set
ejemplo, se crea un conjunto de tareas en un servicio que utiliza un controlador de despliegue externo.aws ecs create-task-set \ --cluster
MyCluster
\ --serviceMyService
\ --task-definitionMyTaskDefinition:2
\ --network-configuration"awsvpcConfiguration={subnets=[subnet-12344321],securityGroups=[sg-12344321]}"
Salida:
{ "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 obtener más información, consulte CreateTaskSet
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-account-setting
.
- AWS CLI
-
Para eliminar la configuración de la cuenta de un IAM usuario o IAM rol específico
En el siguiente ejemplo,
delete-account-setting
se elimina la configuración de la cuenta para el IAM usuario o IAM rol específico.aws ecs delete-account-setting \ --name
serviceLongArnFormat
\ --principal-arnarn:aws:iam::123456789012:user/MyUser
Salida:
{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } }
Para obtener más información, consulte Amazon Resource Names (ARNs) y IDs en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte DeleteAccountSetting
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-attributes
.
- AWS CLI
-
Para eliminar uno o más atributos personalizados de un ECS recurso de Amazon
Lo siguiente
delete-attributes
elimina un atributo con el nombrestack
de una instancia de contenedor.aws ecs delete-attributes \ --attributes
name=stack,targetId=arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34
Salida:
{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }
-
Para API obtener más información, consulte DeleteAttributes
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-capacity-provider
.
- AWS CLI
-
Ejemplo 1: Para eliminar un proveedor de capacidad mediante el nombre de recurso de Amazon (ARN)
En el siguiente
delete-capacity-provider
ejemplo, se elimina un proveedor de capacidad especificando el nombre de recurso de Amazon (ARN) del proveedor de capacidad. La eliminación del proveedor de capacidad, así ARN como el estado de la misma, se pueden recuperar mediante eldescribe-capacity-providers
comando.aws ecs delete-capacity-provider \ --capacity-provider
arn:aws:ecs:us-west-2:123456789012:capacity-provider/ExampleCapacityProvider
Salida:
{ "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 obtener más información, consulte Proveedores de capacidad de clúster en la Guía para ECS desarrolladores de Amazon.
Ejemplo 2: Para eliminar un proveedor de capacidad utilizando el nombre
En el siguiente
delete-capacity-provider
ejemplo, se elimina un proveedor de capacidad especificando su nombre abreviado. El nombre abreviado y el estado de la eliminación del proveedor de capacidad se pueden recuperar mediante eldescribe-capacity-providers
comando.aws ecs delete-capacity-provider \ --capacity-provider
ExampleCapacityProvider
Salida:
{ "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 obtener más información, consulte Proveedores de capacidad de clúster en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte DeleteCapacityProvider
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-cluster
.
- AWS CLI
-
Eliminación de un clúster vacío
En el siguiente ejemplo de
delete-cluster
se elimina el clúster vacío especificado.aws ecs delete-cluster --cluster
MyCluster
Salida:
{ "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 obtener más información, consulta Eliminar un clúster en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte DeleteCluster
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-service
.
- AWS CLI
-
Eliminación de un servicio
En el siguiente ejemplo de
ecs delete-service
se elimina el servicio especificado de un clúster. Puede incluir el parámetro--force
para eliminar un servicio aunque no se haya escalado a cero tareas.aws ecs delete-service --cluster
MyCluster
--serviceMyService1
--forcePara obtener más información, consulta Eliminar un servicio en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte DeleteService
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-task-definitions
.
- AWS CLI
-
Para eliminar una definición de tarea
En el siguiente
delete-task-definitions
ejemplo, se elimina una definición de INACTIVE tarea.aws ecs delete-task-definitions \ --task-definition
curltest:1
Salida:
{ "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 obtener más información, consulte Definiciones de ECS tareas de Amazon en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte DeleteTaskDefinitions
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-task-set
.
- AWS CLI
-
Para eliminar un conjunto de tareas
El siguiente
delete-task-set
ejemplo muestra cómo eliminar un conjunto de tareas. Puede incluir el--force
parámetro para eliminar un conjunto de tareas aunque no se haya escalado a cero.aws ecs delete-task-set \ --cluster
MyCluster
\ --serviceMyService
\ --task-setarn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789
\ --forceSalida:
{ "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 obtener más información, consulte DeleteTaskSet
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar deregister-container-instance
.
- AWS CLI
-
Para anular el registro de una instancia de contenedor de un clúster
En el siguiente
deregister-container-instance
ejemplo, se anula el registro de una instancia contenedora del clúster especificado. Si aún hay tareas en ejecución en la instancia contenedora, debes detenerlas antes de anular el registro o usar la opción.--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
\ --forceSalida:
{ "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 obtener más información, consulte Anular el registro de una instancia de contenedor en la Guía para desarrolladores. ECS
-
Para API obtener más información, consulte la Referencia DeregisterContainerInstance
de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar deregister-task-definition
.
- AWS CLI
-
Para anular el registro de una definición de tarea
En el siguiente
deregister-task-definition
ejemplo, se anula el registro de la primera revisión de la definición decurler
tarea en la región predeterminada.aws ecs deregister-task-definition --task-definition
curler:1
Tenga en cuenta que en el resultado resultante, el estado de la definición de la tarea muestra:
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 obtener más información, consulte Definiciones de ECS tareas de Amazon en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte DeregisterTaskDefinition
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar describe-capacity-providers
.
- AWS CLI
-
Ejemplo 1: Para describir todos los proveedores de capacidad
El siguiente
describe-capacity-providers
ejemplo recupera detalles sobre todos los proveedores de capacidad.aws ecs describe-capacity-providers
Salida:
{ "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 obtener más información, consulte Proveedores de capacidad de clúster en la Guía para ECS desarrolladores de Amazon.
Ejemplo 2: Para describir un proveedor de capacidad específico
El siguiente
describe-capacity-providers
ejemplo recupera detalles sobre un proveedor de capacidad específico. Si se utiliza el--include TAGS
parámetro, se añadirán a la salida las etiquetas asociadas al proveedor de capacidad.aws ecs describe-capacity-providers \ --capacity-providers
MyCapacityProvider
\ --includeTAGS
Salida:
{ "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 obtener más información, consulte Proveedores de capacidad de clúster en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte DescribeCapacityProviders
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar describe-clusters
.
- AWS CLI
-
Ejemplo 1: Descripción de un clúster
En el siguiente ejemplo de
describe-clusters
se recuperan los detalles sobre el clúster especificado.aws ecs describe-clusters \ --cluster
default
Salida:
{ "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 obtener más información, consulte Amazon ECS Clusters en la Guía para ECS desarrolladores de Amazon.
Ejemplo 2: Descripción de un clúster con la opción de adjuntar
En el siguiente
describe-clusters
ejemplo se especifica la ATTACHMENTS opción. Recupera detalles sobre el clúster especificado y una lista de los recursos adjuntos al clúster en forma de archivos adjuntos. Cuando se utiliza un proveedor de capacidad con un clúster, los recursos, ya sean AutoScaling planes o políticas de escalado, se representarán como asp o ATTACHMENTS as_policy.aws ecs describe-clusters \ --include
ATTACHMENTS
\ --clusterssampleCluster
Salida:
{ "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 obtener más información, consulte Amazon ECS Clusters en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte DescribeClusters
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar describe-container-instances
.
- AWS CLI
-
Para describir la instancia contenedora
En el siguiente
describe-container-instances
ejemplo, se recuperan los detalles de una instancia contenedora delupdate
clúster, utilizando la instancia contenedora UUID como identificador.aws ecs describe-container-instances \ --cluster
update
\ --container-instancesa1b2c3d4-5678-90ab-cdef-11111EXAMPLE
Salida:
{ "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 obtener más información, consulte Amazon ECS Container Instances en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte DescribeContainerInstances
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar describe-services
.
- AWS CLI
-
Para describir un servicio
En el siguiente
describe-services
ejemplo, se recuperan los detalles delmy-http-service
servicio en el clúster predeterminado.aws ecs describe-services --services
my-http-service
Salida:
{ "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 obtener más información, consulta Servicios en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte DescribeServices
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar describe-task-definition
.
- AWS CLI
-
Para describir una definición de tarea
En el siguiente
describe-task-definition
ejemplo, se recuperan los detalles de una definición de tarea.aws ecs describe-task-definition \ --task-definition
hello_world:8
Salida:
{ "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 obtener más información, consulte Definiciones de ECS tareas de Amazon en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte DescribeTaskDefinition
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar describe-task-sets
.
- AWS CLI
-
Para describir un conjunto de tareas
El siguiente
describe-task-sets
ejemplo describe un conjunto de tareas en un servicio que utiliza un implementador externo.aws ecs describe-task-sets \ --cluster
MyCluster
\ --serviceMyService
\ --task-setsarn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789
Salida:
{ "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 obtener más información, consulte DescribeTaskSets
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar describe-tasks
.
- AWS CLI
-
Ejemplo 1: Descripción de una sola tarea
En el siguiente ejemplo de
describe-tasks
se recuperan los detalles de una tarea de un clúster. Puede especificar la tarea utilizando el identificador o la totalidad ARN de la tarea. En este ejemplo, se utiliza la totalidad ARN de la tarea.aws ecs describe-tasks \ --cluster
MyCluster
\ --tasksarn:aws:ecs:us-east-1:123456789012:task/MyCluster/4d590253bb114126b7afa7b58EXAMPLE
Salida:
{ "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 obtener más información, consulte Definiciones de ECS tareas de Amazon en la Guía para ECS desarrolladores de Amazon.
Ejemplo 2: Descripción de varias tareas
En el siguiente ejemplo de
describe-tasks
se recuperan los detalles de varias tareas de un clúster. Puede especificar la tarea utilizando el ID o la totalidad ARN de la tarea. En este ejemplo, se utilizan todas IDs las tareas.aws ecs describe-tasks \ --cluster
MyCluster
\ --tasks"74de0355a10a4f979ac495c14EXAMPLE"
"d789e94343414c25b9f6bd59eEXAMPLE"
Salida:
{ "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 obtener más información, consulte Definiciones de ECS tareas de Amazon en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte DescribeTasks
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar execute-command
.
- AWS CLI
-
Para ejecutar un interactive /bin/sh comando
En el siguiente
execute-command
ejemplo, se ejecuta un interactive /bin/sh comando en un contenedor con MyContainer el nombre de una tarea con un identificador 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 no genera ninguna salida.
Para obtener más información, consulte Uso de Amazon ECS Exec para la depuración en la Guía para ECSdesarrolladores de Amazon.
-
Para API obtener más información, consulte la Referencia ExecuteCommand
de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-account-settings
.
- AWS CLI
-
Ejemplo 1: Para ver la configuración de una cuenta
En el siguiente
list-account-settings
ejemplo, se muestra la configuración de cuenta efectiva de una cuenta.aws ecs list-account-settings --effective-settings
Salida:
{ "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" } ] }
Ejemplo 2: Para ver la configuración de la cuenta de un IAM usuario o IAM rol específico
En el siguiente
list-account-settings
ejemplo, se muestra la configuración de la cuenta para el IAM usuario o IAM rol especificado.aws ecs list-account-settings --principal-arn
arn:aws:iam::123456789012:user/MyUser
Salida:
{ "settings": [ { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } ] }
Para obtener más información, consulte Amazon Resource Names (ARNs) y IDs en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte ListAccountSettings
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-attributes
.
- AWS CLI
-
Para enumerar las instancias de contenedor que contienen un atributo específico
En el siguiente ejemplo, se enumeran los atributos de las instancias de contenedor que tienen el
stack=production
atributo en el clúster predeterminado.aws ecs list-attributes \ --target-type
container-instance
\ --attribute-namestack
\ --attribute-valueproduction
\ --clusterdefault
Salida:
{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }
Para obtener más información, consulte Configuración de Amazon ECS Container Agent en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte ListAttributes
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-clusters
.
- AWS CLI
-
Creación de una lista de los clústeres disponibles
En el siguiente ejemplo de
list-clusters
se enumeran todos los clústeres disponibles.aws ecs list-clusters
Salida:
{ "clusterArns": [ "arn:aws:ecs:us-west-2:123456789012:cluster/MyECSCluster1", "arn:aws:ecs:us-west-2:123456789012:cluster/AnotherECSCluster" ] }
Para obtener más información, consulte Amazon ECS Clusters en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte ListClusters
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-container-instances
.
- AWS CLI
-
Para enumerar las instancias contenedoras de un clúster
En el siguiente
list-container-instances
ejemplo, se enumeran todas las instancias de contenedor disponibles en un clúster.aws ecs list-container-instances --cluster
MyCluster
Salida:
{ "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 obtener más información, consulte Amazon ECS Container Instances en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte ListContainerInstances
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-services-by-namespace
.
- AWS CLI
-
Para enumerar los servicios de un espacio de nombres
En el siguiente
list-services-by-namespace
ejemplo, se enumeran todos los servicios configurados para el espacio de nombres especificado en la región predeterminada.aws ecs list-services-by-namespace \ --namespace
service-connect
Salida:
{ "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 obtener más información, consulte Service Connect en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte ListServicesByNamespace
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-services
.
- AWS CLI
-
Creación de una lista de los servicios de un clúster
En el siguiente ejemplo de
list-services
se muestra cómo enumerar los servicios que se ejecutan en un clúster.aws ecs list-services --cluster
MyCluster
Salida:
{ "serviceArns": [ "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService" ] }
Para obtener más información, consulta Servicios en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte ListServices
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-tags-for-resource
.
- AWS CLI
-
Para enumerar las etiquetas de un recurso
En el siguiente
list-tags-for-resource
ejemplo, se enumeran las etiquetas de un clúster específico.aws ecs list-tags-for-resource \ --resource-arn
arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster
Salida:
{ "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ] }
-
Para API obtener más información, consulte ListTagsForResource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-task-definition-families
.
- AWS CLI
-
Ejemplo 1: Para enumerar las familias de definiciones de tareas registradas
En el siguiente
list-task-definition-families
ejemplo, se enumeran todas las familias de definiciones de tareas registradas.aws ecs list-task-definition-families
Salida:
{ "families": [ "node-js-app", "web-timer", "hpcc", "hpcc-c4-8xlarge" ] }
Ejemplo 2: Para filtrar las familias de definiciones de tareas registradas
En el siguiente
list-task-definition-families
ejemplo, se enumeran las revisiones de la definición de tareas que comienzan por «hpcc».aws ecs list-task-definition-families --family-prefix
hpcc
Salida:
{ "families": [ "hpcc", "hpcc-c4-8xlarge" ] }
Para obtener más información, consulte Parámetros de definición de tareas en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte ListTaskDefinitionFamilies
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-task-definitions
.
- AWS CLI
-
Ejemplo 1: Para enumerar las definiciones de tareas registradas
En el siguiente
list-task-definitions
ejemplo, se enumeran todas las definiciones de tareas registradas.aws ecs list-task-definitions
Salida:
{ "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" ] }
Ejemplo 2: Para enumerar las definiciones de tareas registradas en una familia
En el siguiente list-task-definitions ejemplo, se enumeran las revisiones de las definiciones de tareas de una familia específica.
aws ecs list-task-definitions --family-prefix
wordpress
Salida:
{ "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 obtener más información, consulte Definiciones de ECS tareas de Amazon en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte ListTaskDefinitions
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-tasks
.
- AWS CLI
-
Ejemplo 1: Creación de una lista de las tareas de un clúster
En el siguiente ejemplo de
list-tasks
se muestran todas las tareas de un clúster.aws ecs list-tasks --cluster
default
Salida:
{ "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" ] }
Ejemplo 2: Creación de una lista de las tareas de una instancia de contenedor concreta
En el siguiente
list-tasks
ejemplo, se enumeran las tareas de una instancia contenedora, utilizando la instancia contenedora UUID como filtro.aws ecs list-tasks --cluster
default
--container-instancea1b2c3d4-5678-90ab-cdef-33333EXAMPLE
Salida:
{ "taskArns": [ "arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-cdef-44444EXAMPLE" ] }
Para obtener más información, consulte Definiciones de ECS tareas de Amazon en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte ListTasks
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar put-account-setting-default
.
- AWS CLI
-
Para modificar la configuración de la cuenta por defecto
En el siguiente
put-account-setting-default
ejemplo, se modifica la configuración de cuenta predeterminada para todos IAM los usuarios o roles de la cuenta. Estos cambios se aplican a toda la AWS cuenta, a menos que un IAM usuario o rol anule explícitamente esta configuración por sí mismo.aws ecs put-account-setting-default --name
serviceLongArnFormat
--valueenabled
Salida:
{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root" } }
Para obtener más información, consulte Amazon Resource Names (ARNs) y IDs en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte PutAccountSettingDefault
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar put-account-setting
.
- AWS CLI
-
Para modificar la configuración de su cuenta IAM de usuario
El siguiente
put-account-setting
ejemplo habilita laserviceLongArnFormat
configuración de la cuenta IAM de usuario.aws ecs put-account-setting --name
serviceLongArnFormat
--valueenabled
Salida:
{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::130757420319:user/your_username" } }
Para obtener más información, consulte Modificación de la configuración de la cuenta en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte PutAccountSetting
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar put-account-settings
.
- AWS CLI
-
Para modificar la configuración de la cuenta de un IAM usuario o IAM rol
En el siguiente
put-account-setting
ejemplo, se modifica la configuración de la cuenta para el IAM usuario o IAM rol especificado.aws ecs put-account-setting \ --name
serviceLongArnFormat
\ --valueenabled
\ --principal-arnarn:aws:iam::123456789012:user/MyUser
Salida:
{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } }
-
Para API obtener más información, consulte PutAccountSettings
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar put-attributes
.
- AWS CLI
-
Para crear un atributo y asociarlo a un ECS recurso de Amazon
A continuación,
put-attributes
se aplica un atributo con la pila de nombres y el valor production a una instancia de contenedor.aws ecs put-attributes \ --attributes
name=stack,value=production,targetId=arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34
Salida:
{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }
-
Para API obtener más información, consulte PutAttributes
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar put-cluster-capacity-providers
.
- AWS CLI
-
Ejemplo 1: Para añadir un proveedor de capacidad existente a un clúster
El siguiente
put-cluster-capacity-providers
ejemplo agrega un proveedor de capacidad existente a un clúster. El comandocreate-capacity-provider
se utiliza para crear un proveedor de capacidad. Eldescribe-clusters
comando se utiliza para describir los proveedores de capacidad actuales y la estrategia del proveedor de capacidad predeterminado asociada a un clúster. Al agregar un nuevo proveedor de capacidad a un clúster, debe especificar todos los proveedores de capacidad existentes además del nuevo proveedor de capacidad que desee asociar al clúster. También debe especificar la estrategia del proveedor de capacidad predeterminado para asociarla al clúster. En este ejemplo, elMyCluster
clúster tiene un proveedor deMyCapacityProvider1
capacidad asociado y usted quiere agregar el proveedor deMyCapacityProvider2
capacidad e incluirlo en la estrategia de proveedor de capacidad predeterminada para que las tareas se distribuyan de manera uniforme entre ambos proveedores de capacidad.aws ecs put-cluster-capacity-providers \ --cluster
MyCluster
\ --capacity-providersMyCapacityProvider1
MyCapacityProvider2
\ --default-capacity-provider-strategycapacityProvider=MyCapacityProvider1,weight=1
capacityProvider=MyCapacityProvider2,weight=1
Salida:
{ "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 obtener más información, consulte Proveedores de capacidad de clúster en la Guía para ECS desarrolladores de Amazon.
Ejemplo 2: Para eliminar un proveedor de capacidad de un clúster
El siguiente
put-cluster-capacity-providers
ejemplo elimina un proveedor de capacidad de un clúster. Eldescribe-clusters
comando se utiliza para describir los proveedores de capacidad actuales asociados a un clúster. Al eliminar un proveedor de capacidad de un clúster, debe especificar los proveedores de capacidad que desea que permanezcan asociados al clúster, así como la estrategia predeterminada del proveedor de capacidad para asociarlos al clúster. En este ejemplo, el clúster tiene asociados los proveedores deMyCapacityProvider2
capacidadMyCapacityProvider1
y, si desea eliminarlos, debe especificarlo únicamenteMyCapacityProvider1
en el comando junto con la estrategia actualizada del proveedor de capacidad predeterminado.MyCapacityProvider2
aws ecs put-cluster-capacity-providers \ --cluster
MyCluster
\ --capacity-providersMyCapacityProvider1
\ --default-capacity-provider-strategycapacityProvider=MyCapacityProvider1,weight=1,base=0
Salida:
{ "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 obtener más información, consulte Proveedores de capacidad de clúster en la Guía para ECS desarrolladores de Amazon.
Ejemplo 3: Eliminar todos los proveedores de capacidad de un clúster
El siguiente
put-cluster-capacity-providers
ejemplo elimina todos los proveedores de capacidad existentes del clúster.aws ecs put-cluster-capacity-providers \ --cluster
MyCluster
\ --capacity-providers[]
\ --default-capacity-provider-strategy[]
Salida:
{ "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 obtener más información, consulte Proveedores de capacidad de clúster en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte PutClusterCapacityProviders
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar register-task-definition
.
- AWS CLI
-
Ejemplo 1: Para registrar una definición de tarea con un JSON archivo
El siguiente
register-task-definition
ejemplo registra una definición de tarea en la familia especificada. Las definiciones de contenedor se guardan en JSON formato en la ubicación del archivo especificada.aws ecs register-task-definition \ --cli-input-json
file://<path_to_json_file>/sleep360.json
Contenidos de
sleep360.json
:{ "containerDefinitions": [ { "name": "sleep", "image": "busybox", "cpu": 10, "command": [ "sleep", "360" ], "memory": 10, "essential": true } ], "family": "sleep360" }
Salida:
{ "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 obtener más información, consulte Ejemplos de definiciones de tareas en la Guía para ECS desarrolladores de Amazon.
Ejemplo 2: Para registrar una definición de tarea con un parámetro de JSON cadena
El siguiente
register-task-definition
ejemplo registra una definición de tarea mediante las definiciones de contenedor proporcionadas como un parámetro de JSON cadena con comillas dobles de escape.aws ecs register-task-definition \ --family
sleep360
\ --container-definitions "[{\"name\":\"sleep\",\"image\":\"busybox\",\"cpu\":10,\"command\":[\"sleep\",\"360\"],\"memory\":10,\"essential\":true}]"El resultado es idéntico al ejemplo anterior.
Para obtener más información, consulte Creación de una definición de tarea en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte RegisterTaskDefinition
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar run-task
.
- AWS CLI
-
Para ejecutar una tarea en el clúster predeterminado
En el siguiente
run-task
ejemplo, se ejecuta una tarea en el clúster predeterminado y se utiliza un token de cliente.aws ecs run-task \ --cluster
default
\ --task-definitionsleep360:1
\ --client-token550e8400-e29b-41d4-a716-446655440000
Salida:
{ "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 obtener más información, consulte Ejecución de tareas en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte RunTask
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar start-task
.
- AWS CLI
-
Para iniciar una nueva tarea
A continuación, se
start-task
inicia una tarea con la última revisión de la definición de lasleep360
tarea en la instancia de contenedor especificada en el clúster predeterminado.aws ecs start-task \ --task-definition
sleep360
\ --container-instances765936fadbdd46b5991a4bd70c2a43d4
Salida:
{ "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 obtener más información, consulte StartTask
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar stop-task
.
- AWS CLI
-
Para detener una tarea
Lo siguiente
stop-task
impide que la tarea especificada se ejecute en el clúster predeterminado.aws ecs stop-task \ --task
666fdccc2e2d4b6894dd422f4eeee8f8
Salida:
{ "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 obtener más información, consulte StopTask
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar tag-resource
.
- AWS CLI
-
Para etiquetar un recurso
En el siguiente
tag-resource
ejemplo, se agrega una sola etiqueta al recurso especificado.aws ecs tag-resource \ --resource-arn
arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster
--tagskey=key1,value=value1
Este comando no genera ninguna salida.
Para agregar varias etiquetas a un recurso
En el siguiente
tag-resource
ejemplo, se agregan varias etiquetas al 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 no genera ninguna salida.
-
Para API obtener más información, consulte TagResource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar untag-resource
.
- AWS CLI
-
Para eliminar una etiqueta de un recurso
En el siguiente
untag-resource
ejemplo, se quitan las etiquetas de la lista del recurso especificado.aws ecs untag-resource \ --resource-arn
arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster
\ --tag-keyskey1,key2
Este comando no genera ninguna salida.
-
Para API obtener más información, consulte UntagResource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-cluster-settings
.
- AWS CLI
-
Para modificar la configuración del clúster
El siguiente
update-cluster-settings
ejemplo habilita CloudWatch Container Insights para eldefault
clúster.aws ecs update-cluster-settings \ --cluster
default
\ --settingsname=containerInsights,value=enabled
Salida:
{ "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 obtener más información, consulte Modificación de la configuración de la cuenta en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte UpdateClusterSettings
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-container-agent
.
- AWS CLI
-
Para actualizar el agente de contenedor en una instancia de ECS contenedor de Amazon
En el siguiente
update-container-agent
ejemplo, se actualiza el agente contenedor en la instancia contenedora especificada del clúster predeterminado.aws ecs update-container-agent --cluster
default
--container-instancea1b2c3d4-5678-90ab-cdef-11111EXAMPLE
Salida:
{ "containerInstance": { "status": "ACTIVE", ... "agentUpdateStatus": "PENDING", "versionInfo": { "agentVersion": "1.0.0", "agentHash": "4023248", "dockerVersion": "DockerVersion: 1.5.0" } } }
Para obtener más información, consulta Actualización del Amazon ECS Container Agent en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte UpdateContainerAgent
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-container-instances-state
.
- AWS CLI
-
Para actualizar el estado de una instancia contenedora
A continuación, se
update-container-instances-state
actualiza el estado de la instancia contenedora especificada, en laDRAINING
que se eliminará del clúster en el que está registrada.aws ecs update-container-instances-state \ --container-instances
765936fadbdd46b5991a4bd70c2a43d4
\ --statusDRAINING
Salida:
{ "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 obtener más información, consulte UpdateContainerInstancesState
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-service-primary-task-set
.
- AWS CLI
-
Para actualizar el conjunto de tareas principal de un servicio
En el siguiente
update-service-primary-task-set
ejemplo, se actualiza el conjunto de tareas principal del servicio 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
Salida:
{ "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 obtener más información, consulte UpdateServicePrimaryTaskSet
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-service
.
- AWS CLI
-
Ejemplo 1: Cambio de la definición de tarea utilizada en un servicio
En el siguiente ejemplo de
update-service
se actualiza el serviciomy-http-service
para usar la definición de la tareaamazon-ecs-sample
.aws ecs update-service --service
my-http-service
--task-definitionamazon-ecs-sample
Ejemplo 2: Cambio del número de tareas de un servicio
En el siguiente ejemplo de
update-service
se actualiza el recuento de tareas deseado del serviciomy-http-service
a 3.aws ecs update-service --service
my-http-service
--desired-count3
Para obtener más información, consulta Actualización de un servicio en la Guía para ECS desarrolladores de Amazon.
-
Para API obtener más información, consulte UpdateService
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-task-set
.
- AWS CLI
-
Para actualizar un conjunto de tareas
El siguiente
update-task-set
ejemplo actualiza un conjunto de tareas para ajustar la 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
Salida:
{ "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 obtener más información, consulte UpdateTaskSet
la Referencia de AWS CLI comandos.
-