¿Cómo soluciono los problemas relacionados con el etiquetado de las tareas de ECS?

6 minutos de lectura
0

Tengo un problema con las etiquetas de las tareas de Amazon Elastic Container Service (Amazon ECS). ¿Cómo soluciono este problema?

Resolución

Es posible que tenga los siguientes problemas al configurar las etiquetas de Amazon ECS:

  • Las etiquetas no se propagan desde la definición de tareas o del servicio a las tareas.
  • Las etiquetas tienen un nombre de recurso de Amazon (ARN) y un formato de ID de recurso obsoletos.
  • No puede añadir etiquetas a sus recursos de ECS porque faltan permisos de AWS Identity and Access Management (IAM) o las restricciones de las etiquetas.
  • No puede ver las etiquetas de ECS en el panel de facturación de AWS.

Para solucionar estos problemas, haga lo siguiente:

Compruebe que el parámetro PropagateTags se utiliza para propagar desde las definiciones del servicio o de la tarea a las tareas

El parámetro PropagateTags se puede usar para copiar etiquetas de la definición de la tarea o del servicio a la tarea. Esto se puede hacer cuando ejecuta una tarea o crea un servicio. Este parámetro no está activado de forma predeterminada.

Puede comprobar si PropagateTags se utiliza en un servicio específico al ejecutar el siguiente comando en la CLI de AWS y al reemplazar servicename, clustername y region con los valores apropiados:

aws ecs describe-services --services <servicename> --cluster <clustername> --region <region> --query 'services[*].propagateTags' --output text

Para configurar etiquetas para que se propaguen desde la definición del servicio o de la tarea mediante la CLI, consulte las API RunTask y CreateService.

Para activar la propagación de etiquetas con la consola:

  1. Abra la consola de Amazon ECS.
  2. Seleccione la región de AWS para su recurso de ECS.
  3. En el panel de navegación, seleccione Task Definition (Definiciones de tareas).
  4. Seleccione la definición de la tarea en la lista de recursos y elija Actions (Acciones). A continuación, elija Create Service (Crear servicio) o Run Task (Ejecutar tarea).
  5. En la Task tagging configuration (Configuración del etiquetado de las tareas), junto a Propagate tags from (Propagar etiquetas desde), elija Service (Servicio) o Definiciones de tareas.
    Nota: La opción predeterminada es Do not propagate (No propagar).

Para usar etiquetas en ECS con AWS CloudFormation, debe declarar la entidad AWS::ECS::Service con las propiedades EnableECSManagedTags y PropagateTags con el valor: SERVICE o TASK _DEFINITION.

Nota:

  • El uso de las propiedades relacionadas con las etiquetas de servicio de ECS después de la creación de la pila en CloudFormation requerirá una actualización de la pila y un reemplazo del recurso. Esto significa que se eliminará el servicio y se volverá a crear a través de CloudFormation.
  • Solo se puede utilizar el parámetro PropagateTags cuando se ejecuta una tarea o se crea un servicio. Para obtener más información, consulte las API RunTask y CreateService.
  • Tiene acceso a las mismas configuraciones para las tareas programadas que para las tareas lanzadas directamente con la API RunTask de Amazon ECS.

Compruebe que está utilizando el nuevo formato de ARN

Para poder etiquetar los recursos de Amazon ECS, debe utilizar los nuevos formatos de nombres de recurso de Amazon (ARN) y de ID.

Ejemplo de los dos formatos:

  • Formato antiguo:arn:aws:ecs:region:aws_account_id:service/service-name
  • Formato nuevo: arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

Para migrar su implementación de ECS al nuevo formato de ARN e ID de recurso, consulte Migración de la implementación de Amazon ECS al nuevo formato de ARN e ID de recurso.

Nota: Los recursos existentes no recibirán el nuevo formato de ARN mientras se etiquetan hasta que se vuelvan a crear.

Revise que la entidad de IAM tenga los permisos necesarios y las restricciones de las etiquetas de comprobación

Si no puede agregar etiquetas a su servicio ECS, haga lo siguiente:

  1. Consulte los eventos de CloudTrail en la consola de CloudTrail para ver los eventos de TagResource.
  2. Si ve uno de los siguientes errores: AccessDenied o The tags cannot be updated at this time (Las etiquetas no se pueden actualizar en este momento). Espere unos minutos e inténtelo de nuevo; a continuación, la entidad de IAM no tendrá los permisos ecs:TagResource.
  3. Para solucionar este problema, añada los permisos ecs:TagResource a las entidades de IAM.
  4. Cuando haya agregado los permisos, intente agregar de nuevo las etiquetas al clúster de ECS.

Confirme que las etiquetas de ECS estén dentro de las restricciones de las etiquetas. Para revisar las restricciones de las etiquetas, consulte Restricciones de las etiquetas.

Compruebe si se trata de un problema de Administración de facturación y costes de AWS

Para comprobar que las etiquetas necesarias están presentes en el nivel de tareas de ECS, ejecute el siguiente comando en la CLI de AWS y sustituya value (valor) por el ARN:

aws ecs list-tags-for-resource --resource-arn <value>

Para verificar que las etiquetas necesarias están presentes en el nivel de tareas de ECS con la consola:

  1. Abra la consola de Amazon ECS.
  2. Seleccione la región de AWS para su recurso de ECS.
  3. En el panel de navegación, seleccione un tipo de recurso (por ejemplo, clústeres).
  4. Seleccione el recurso en la lista de recursos y elija **Tags (Etiquetas).**Si existen etiquetas, se mostrarán en la lista.

Si busca etiquetas administradas, debe estar activada la opción Administrada por ECS. Compruebe el estado administrada por ECS al ejecutar el siguiente comando y al reemplazar servicename, clustername y region con los valores apropiados:

aws ecs describe-services --services <servicename> --cluster <clustername> --region <region> --query 'services[*].enableECSManagedTags' --output text

La salida de comandos contendrá el valor enableECSManagedTags.

Puede activar etiquetas administradas por ECS mientras crea un servicio o ejecuta una tarea mediante la CLI; para obtener más información, consulte las API RunTask y CreateService.

Para activar etiquetas administradas por ECS con la consola:

  1. Abra la consola de Amazon ECS.
  2. Seleccione la región de AWS para su recurso de ECS.
  3. En el panel de navegación, seleccione Task Definition (Definiciones de tareas).
  4. Seleccione la definición de la tarea en la lista de recursos y elija Actions (Acciones). A continuación, elija Create Service (Crear servicio) o Run Task (Ejecutar tarea).
  5. En la Task tagging configuration (Configuración del etiquetado de las tareas), elija Enable ECS managed tags (Habilitar etiquetas administradas por ECS).

Si las etiquetas utilizadas para la facturación se enumeran pero no se pueden ver en AWS Cost Explorer, asegúrese de que las etiquetas estén activadas desde la consola de administración de facturación y costes. Para activar etiquetas de asignación de costes, consulte Activación de etiquetas de asignación de costos definidas por el usuario.
Nota: Es necesario activar todas las etiquetas que se deban ver como un filtro en Cost Explorer. Las etiquetas pueden tardar hasta 24 horas en activarse.


Información relacionada

Solución de problemas de Amazon ECS

Etiquetado de los recursos de Amazon ECS

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años