¿Cómo soluciono los problemas cuando intento configurar un nuevo proveedor de capacidad o actualizar un proveedor de capacidad existente para mi clúster de Amazon ECS?

5 minutos de lectura
0

No puedo configurar un nuevo proveedor de capacidad ni actualizar un proveedor de capacidad existente para mi clúster de Amazon Elastic Container Service (Amazon ECS).

Resolución

Los siguientes son problemas comunes que surgen al configurar un nuevo proveedor de capacidad o actualizar un proveedor de capacidad existente para tu clúster de ECS:

Utilizas la AWS CLI para crear un proveedor de capacidad de grupo de AWS Auto Scaling y recibes errores

Cuando utilizas la AWS CLI para crear un proveedor de capacidad, revisa los eventos de AWS CloudTrail para comprobar la API CreateCapacityProvider. Los siguientes son errores comunes de la API CapacityProvider:

  • ClientException: Estos errores pueden deberse a una acción del cliente. La acción del cliente utiliza una acción o un recurso en nombre de un usuario de AWS Identity and Access Management (IAM). Sin embargo, la acción del cliente no tiene los permisos necesarios para usar la acción o el recurso. Este error también puede especificar que un identificador no es válido.
  • UpdateInProgressException: Recibes este error porque ya hay una actualización actual del agente del contenedor de ECS en curso en la instancia de contenedor que especificaste. Si el agente del contenedor se desconecta cuando se encuentra en una fase de transición, como PENDIENTE o TRANSICIÓN, la actualización puede quedarse atascada en ese estado. Sin embargo, cuando el agente se vuelva a conectar, la actualización se reanudará donde se detuvo anteriormente.

Para obtener más información, consulta Errors (Errores).

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Troubleshoot AWS CLI errors. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Aparece el error: “The specified capacity provider already exists. To change the configuration of an existing capacity provider, update the capacity provider”

Al crear el proveedor de capacidad, utiliza un nombre diferente de los nombres de los proveedores de capacidad utilizados anteriormente. O bien, elimina el proveedor de capacidad existente que tiene ese nombre y, a continuación, crea un nuevo proveedor de capacidad.

Para ver una lista de todos los proveedores de capacidad creados, ejecuta el comando describe-capacity providers de la AWS CLI:

aws ecs describe-capacity-providers --query capacityProviders\[\].name --region example-region

El resultado es similar al siguiente:

[
    "FARGATE",
    "FARGATE_SPOT",
    "ecs-capacityprovider-1"
]

Para eliminar un proveedor de capacidad, ejecuta el comando delete-capacity provider de la AWS CLI:

aws ecs delete-capacity-provider --capacity-provider ecs-capacityprovider-1 --region example-region

Para crear un nuevo proveedor de capacidad, ejecuta el comando create-capacity provider de la AWS CLI:

aws ecs create-capacity-provider --name "example-capacity=provider" --auto-scaling-group-provider "autoScalingGroupArn=arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup,managedScaling={status=ENABLED,targetCapacity=100,minimumScalingStepSize=1,maximumScalingStepSize=100},managedTerminationProtection=ENABLED"

Aparece el error: “The specified Auto Scaling group ARN is already being used by another capacity provider. Specify a unique Auto Scaling group ARN and try again”

El grupo de AWS Auto Scaling y el proveedor de capacidad deben tener una relación individual. Confirma que el proveedor de capacidad esté asociado a un solo grupo de AWS Auto Scaling. Confirma que el grupo esté asociado a un solo proveedor de capacidad.

Creas la estrategia del proveedor de capacidad y recibes el error siguiente: “The specified cluster is in a busy state. Cluster attachments must be in UPDATE_COMPLETE or UPDATE_FAILED state before they can be updated. Wait and try again”

Este error se resuelve automáticamente después de varios minutos. Cuando se resuelva el error, intenta actualizar de nuevo el proveedor de capacidad. O bien, ejecuta el comando describe-clusters de la AWS CLI para ver el estado actual de los archivos adjuntos. A continuación, espera hasta que el archivo adjunto esté en el estado UPDATE_COMPLETE:

aws ecs describe-clusters --clusters example-ARN --include ATTACHMENTS --query clusters\[\].attachmentsStatus --region example-region

Una salida de estado de actualización completada tiene un aspecto similar al siguiente:

[
    "UPDATE_COMPLETE"
]

Recibes errores debido a las limitaciones del proveedor de capacidad

Confirma que el proveedor de capacidad cumpla con lo siguiente:

  • No puedes especificar más de seis proveedores de capacidad para una estrategia de capacidad.
  • Utiliza proveedores de capacidad de grupo de AWS Auto Scaling o proveedores de capacidad de AWS Fargate en tu estrategia de clústeres. No puedes usar una combinación de ambos tipos.
  • El valor base de la estrategia del proveedor de capacidad solo se admite cuando ejecutas tareas.

El proveedor de capacidad se creó correctamente con CloudFormation, pero no se muestra en la consola

Esto ocurre cuando no asocias el proveedor de capacidad con el clúster en la plantilla de AWS CloudFormation. Para evitar este problema, utiliza el siguiente fragmento en la plantilla de CloudFormation para asociar el proveedor de capacidad al clúster:

...
ECSCluster:
  Type: 'AWS::ECS::Cluster'
  Properties:
    ClusterName: example-cluster
    CapacityProviders:
      - !Ref ECSCapacityProvider
...

Información relacionada

Proveedores de capacidad de Amazon ECS para el tipo de lanzamiento de EC2

¿Cómo puedo solucionar el error DELETE_FAILED al eliminar el proveedor de capacidad en Amazon ECS?

OFICIAL DE AWSActualizada hace 9 meses