Mi clúster de Amazon Elastic Container Service (Amazon ECS) no se borra.
Descripción corta
Es posible que un clúster de Amazon ECS no se elimine debido a un problema con las dependencias de los recursos. Al crear un clúster de ECS, AWS CloudFormation asocia los recursos con el clúster, como los grupos de escalamiento automático, las nubes virtuales privadas (VPC) y los equilibradores de carga. Estos recursos y otros problemas con AWS CloudFormation pueden impedir la eliminación del clúster.
Si usó la consola de ECS después del 24 de noviembre de 2015 o el asistente de creación de clústeres para crear el clúster, este tiene una pila de CloudFormation. Al eliminar el clúster, es posible que se produzcan los siguientes errores con la pila EC2ContainerService-yourClusterName:
- «The vpc “vpc-1234567” has dependencies and cannot be deleted»
- «The security group sg-123456 failed to delete due to the error “resource sg-123456 has a dependent object”»
- «User: arn:aws:sts::1111222233334444:assumed-role/example-role/example-user is not authorized to perform: ecs:DeleteCluster on resource: arn:aws:ecs:Region:1111222233334444:cluster/example-cluster»
Debido a los errores anteriores, se produce un error al eliminar el clúster y la pila de CloudFormation pasa al estado DELETE_FAILED.
Resolución
Nota: Si se muestran errores al poner en marcha comandos de 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 AWS CLI.
Verificación de los permisos de IAM
Siga estos pasos:
- Abra la consola de AWS Identity and Access Management (IAM).
- En el panel de navegación, seleccione Roles.
- En la página Roles, introduzca el rol de IAM que se especifica en el mensaje de error. Para comprobar el mensaje de error de la página del historial de eventos de AWS CloudTrail, filtre las llamadas a la API DeleteCluster.
Nota: La entidad de IAM que realiza la llamada a la API es la entidad que intenta eliminar el clúster de Amazon ECS.
- Elija la entidad de IAM.
- Seleccione la pestaña Permisos.
- Compruebe si la política de permisos contiene el permiso ecs:Delete* requerido. Si falta el permiso, conceda AmazonECS_FullAccess a la entidad de IAM.
Omisión de los recursos con dependencias para eliminar el clúster
Siga estos pasos:
- Abra la consola de CloudFormation.
- En Filtro, elija Activo y, luego, seleccione Error.
- Seleccione la pila que da error.
- Seleccione Acciones y, a continuación, Eliminar pila.
- Seleccione los recursos que no se pudieron eliminar.
- Elija Sí, eliminar.
Importante: Si no puede eliminar un recurso, pero quiere eliminar la pila, elija Retener. También puede usar el comando delete-stack de AWS CLI para retener los recursos.
- Elimine el clúster de ECS.
Eliminación de los recursos retenidos
Los siguientes ejemplos muestran cómo eliminar los recursos que se asocian habitualmente a la pila de CloudFormation.
Dependencia del grupo de seguridad
En el siguiente ejemplo, las reglas de entrada y salida de un grupo de seguridad hacen referencia a otros grupos de seguridad, por lo que no puede eliminar el clúster.
Para borrar las dependencias del grupo de seguridad, siga estos pasos:
- Use el comando describe-security-groups para buscar los grupos de seguridad asociados:
aws ec2 describe-security-groups --filters Name=ip-permission.group-id,Values=[sg-xxxxxxxxx] --region us-east-1 | jq '.SecurityGroups[] .GroupId'
Nota: jq es un procesador JSON de línea de comandos.
- Borre las dependencias del grupo de seguridad que desea eliminar.
- Elimine el recurso del grupo de seguridad.
Dependencia de VPC
Las dependencias comunes de VPC incluyen puertas de enlace de Internet, subredes e instancias de Amazon Elastic Compute Cloud (Amazon EC2).
Para borrar las dependencias de la VPC, siga estos pasos:
- Use el comando describe-subnets para identificar los recursos que dependen de la VPC:
aws ec2 describe-subnets --filters "Name=vpc-id,Values=vpc-########" --region RegionId | grep SubnetId
Nota: Sustitua vpc-######## por el valor de la VPC y RegionId por el ID de su región de AWS. Puede usar comandos describe_* similares para otras dependencias, como describe-internet-gateways y describe-instances.
- Borre las dependencias de la VPC que quiera eliminar.
- Elimine la VPC.
Para obtener más información, consulte He intentado eliminar mi Amazon VPC, pero recibo un error de dependencia. ¿Cómo puedo eliminar mi Amazon VPC?
Información relacionada
Errores al eliminar la pila