AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
¿Cómo soluciono los problemas de escalamiento con mi proveedor de capacidad de Amazon ECS?
He creado un proveedor de capacidad para mi clúster de Amazon Elastic Container Service (Amazon ECS) con el tipo de inicio de Amazon Elastic Compute Cloud (Amazon EC2). Sin embargo, el proveedor de capacidad no escala según lo esperado.
Descripción corta
Los siguientes problemas hacen que su proveedor de capacidad de Amazon EC2 no escale ni desescale horizontalmente de forma automática:
- No asoció el servicio Amazon ECS al proveedor de capacidad.
- No adjuntó las políticas de escalamiento del proveedor de capacidad al grupo de Amazon EC2 Auto Scaling.
- No configuró correctamente el porcentaje de capacidad objetivo.
- Está usando el escalamiento administrado para el proveedor de capacidad y las políticas de escalamiento personalizadas están adjuntas al grupo de EC2 Auto Scaling.
- El grupo de Amazon EC2 Auto Scaling inició la instancia de contenedor, pero no puede unirse al clúster.
- Las instancias de contenedor no pueden desescalarse horizontalmente ni verticalmente.
- El proveedor de capacidad está bloqueado en un estado de error.
- El grupo de escalamiento automático está bloqueado en un bucle de escalamiento.
Resolución
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Solución de problemas de AWS CLI. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.
Comprobación de que ha asociado el servicio Amazon ECS al proveedor de capacidad
Para confirmar si asoció el servicio Amazon ECS al proveedor de capacidad, ejecute el siguiente comando describe-services de la AWS CLI:
aws ecs describe-services --cluster example-cluster --services example-service --region example-region --query 'services[].capacityProviderStrategy'
Nota: Sustituya example-cluster por el nombre de su clúster, example-service por el nombre de su servicio y example-region por su región de AWS.
Si asoció el servicio Amazon ECS al proveedor de capacidad, recibirá un resultado similar al del siguiente ejemplo:
[ [ { "capacityProvider": "example-capacity-provider", "weight": 1, "base": 1 } ] ]
Asegúrese de que el valor de capacityProviderStrategy no sea [].
Para agregar un proveedor de capacidad al servicio, ejecute el siguiente comando update-service:
aws ecs update-service --cluster example-cluster --service example-service --region example-region --capacity-provider-strategy capacityProvider=capacity-provide-name,weight=weight-value,base=base-value --force-new-deployment
Nota: Sustituya example-cluster por el nombre de su clúster, example-service por el nombre de su servicio, example-region por su región y capacity-provider-name por el nombre de su proveedor de capacidad. Además, sustituya weight-value por el total de tareas que utilizan el proveedor de capacidad y base-value por la cantidad mínima de tareas que debe ejecutar el proveedor de capacidad.
También puede usar la consola de Amazon ECS para actualizar el servicio.
Asegurarse de adjuntar las políticas de escalamiento del proveedor de capacidad al grupo de escalamiento automático
Cuando asocia un proveedor de capacidad a un grupo de escalamiento automático, Amazon ECS crea una política de escalamiento que modifica la capacidad en función de la carga del clúster.
Para solucionar problemas relacionados con las políticas de escalamiento, revise los eventos de AWS CloudTrail para ver las llamadas a la API PutScalingPolicy, UpdateAutoScalingGroup, CreateCapacityProvider y UpdateCapacityProvider. Asegúrese de que la política se pueda asociar al grupo de escalamiento automático y de que el proveedor de capacidad funcione según lo previsto.
Para verificar que el grupo de escalamiento automático está adjunto al clúster, ejecute el siguiente comando describe-cluster:
aws ecs describe-clusters --clusters example-cluster --include ATTACHMENTS --region example-region --query 'clusters[].attachments[]'
Nota: Sustituya example-cluster por el nombre de su clúster y example-region por su región.
Resultado de ejemplo:
[ { "id": "100a23456-5f0b-4abc-b998-d6789d111a", "type": "as_policy", "status": "CREATED", "details": [ { "name": "capacityProviderName", "value": "example-capacityProvider" }, { "name": "scalingPlanName", "value": "ECSManagedAutoScalingPlan-bb60c8fa-3ed7-4808-b39c-abcdef2345" } ] } ]
Si utiliza una política de escalamiento administrado, complete los siguientes pasos para comprobar si ha asociado la política al grupo de escalamiento automático:
- Abra la consola de Amazon ECS.
- En el panel de navegación, seleccione Clústeres.
- Seleccione su clúster.
- Seleccione la pestaña Infraestructura.
- Seleccione la pestaña Proveedores de capacidad.
- Seleccione su grupo de escalamiento automático.
Nota: Esta acción lo redirige a la página de grupos de escalamiento automático en la consola de Amazon EC2. - Seleccione la pestaña Escalamiento automático.
- Elija Acciones y, a continuación, seleccione Editar política de escalamiento dinámico.
- En el campo JSON de métrica personalizada, compruebe que la política incluya la métrica CapacityProviderReservation.
Comprobación de la configuración del porcentaje de capacidad objetivo
Compruebe la métrica CapacityProviderReservation de Amazon CloudWatch para que su proveedor de capacidad pueda realizar un seguimiento del uso de sus instancias de contenedor. La política de escalamiento y seguimiento de objetivos asociada al grupo de escalamiento automático ajusta la cantidad de instancias en ejecución para garantizar que CapacityProviderReservation coincida con el valor de capacidad objetivo. Por ejemplo, si establece la capacidad objetivo en el 100 %, Amazon ECS usa todas las instancias y desescala horizontalmente las instancias que no ejecutan tareas.
Para configurar la capacidad adicional, actualice Establecer capacidad objetivo a un valor inferior a 100.
Asegúrese de que la instancia que se inició desde el grupo de escalamiento automático pueda unirse al clúster
Si la instancia no puede unirse al clúster, consulte ¿Por qué mi instancia de Amazon EC2 no puede unirse al clúster de Amazon ECS?
Asegurarse de que las instancias de contenedor no estén protegidas contra las acciones de desescalamiento horizontal o vertical
En el caso de los proveedores de capacidad que utilizan una protección de terminación administrada, Amazon ECS evita la terminación de las instancias de Amazon EC2 con tareas durante una acción de desescalamiento horizontal.
Para detener todas las tareas en ejecución y permitir que el grupo de escalamiento automático termine la instancia de EC2, utilice la consola de Amazon ECS para drenar la instancia. O bien, ejecute el siguiente comando update-container-instances-state:
aws ecs update-container-instances-state --cluster example-cluster --container-instances example-container --status DRAINING --region example-region
Nota: Sustituya examples-cluster por el nombre de su clúster, example-container por su instancia de contenedor y example-region por su región.
Si las tareas siguen ejecutándose en la instancia de contenedor después de drenarla, consulte ¿Cómo puedo solucionar problemas con las tareas de Amazon ECS que tardan mucho en detenerse cuando la instancia de contenedor está configurada como DRENAJE?
Para seguir solucionando los problemas de protección de terminación administrada, consulte ¿Cómo soluciono la configuración de protección de terminación administrada para el error del proveedor de capacidad en Amazon ECS?
Si las protecciones de escalamiento bloquean las acciones de desescalamiento vertical en la instancia, se mostrará el siguiente mensaje de error en el historial de actividades de escalamiento automático:
«No se pudo escalar a la capacidad deseada porque todas las instancias restantes están protegidas contra el desescalamiento horizontal».
Para resolver este problema, compruebe sus herramientas o herramientas de terceros, como Terraform o GitLab. Asegúrese de que no eliminen la etiqueta AmazonECSManaged del grupo de escalamiento automático. Amazon ECS requiere esta etiqueta para administrar el escalamiento. Para comprobar si falta la etiqueta AmazonECSManaged, consulte el historial de eventos de CloudTrail para ver el evento SetInstanceProtection. Si ve SetInstanceProtection, debe volver a agregar la etiqueta al grupo de escalamiento automático.
Comprobación del estado del proveedor de capacidad
Al usar un proveedor de capacidad, se recomienda crear un nuevo grupo de escalamiento automático y no reutilizar un grupo existente. Es posible que las instancias en estado de ejecución asociadas al grupo existente y registradas en un clúster de Amazon ECS no se registren correctamente.
Para ver el estado del proveedor de capacidad, ejecute el comando describe-capacity providers:
aws ecs describe-capacity-providers \ --capacity-providers MyCapacityProvider
Si el estado del proveedor de capacidad es INACTIVO, significa que se eliminó el proveedor de capacidad.
Además, revise los eventos de CloudTrail para ver si hay errores relacionados con la API CreateCapacityProvider.
Asegurarse de que el grupo de escalamiento automático no esté bloqueado en un bucle de escalamiento
Cuando la capacidad objetivo que se especifica en su política de escalamiento de servicios de Amazon ECS aumenta, el grupo de escalamiento automático escala horizontalmente e inicia instancias. Sin embargo, si el valor de la métrica cae tras el pico repentino, el grupo de escalamiento automático desescala horizontalmente las instancias. Si la capacidad objetivo fluctúa con frecuencia en un periodo corto de tiempo, el grupo de escalamiento automático queda bloqueado en un ciclo de escalamiento. Para evitar este problema, configure el valor de capacidad objetivo para que coincida con su carga de trabajo.
Información relacionada
Análisis detallado del escalamiento automático de clústeres de Amazon ECS
¿Cómo soluciono los errores al eliminar un proveedor de capacidad en Amazon ECS?
Clústeres de Amazon ECS para el tipo de inicio de AWS Fargate
- Temas
- Containers
- Etiquetas
- Amazon Elastic Container Service
- Idioma
- Español

Contenido relevante
- preguntada hace 8 meses
- preguntada hace 10 meses
- preguntada hace 6 meses
- preguntada hace 10 días
- preguntada hace un año
OFICIAL DE AWSActualizada hace un año