Saltar al contenido

¿Cómo etiqueto los recursos de Amazon ECS para el seguimiento de los costes y el cumplimiento?

6 minutos de lectura
0

Quiero etiquetar mis recursos de Amazon Elastic Container Service (Amazon ECS) para realizar un seguimiento de los costes y el cumplimiento.

Descripción corta

Utilice etiquetas para asignar metadatos personalizados a sus recursos de Amazon ECS.

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.

Activación de la autorización de etiquetado de recursos a nivel de cuenta

Para usar y crear una etiqueta al crear un clúster o un servicio, debe tener los permisos ecs:TagResource. También debe tener permisos para las acciones necesarias para crear el recurso, como ecsCreateCluster.

Para ver el estado actual de autorización de etiquetado a nivel de cuenta de AWS, ejecute el siguiente comando list-account-settings de la AWS CLI:

aws ecs list-account-settings --effective-settings

En el resultado del comando, compruebe si ha activado la autorización de etiquetado. Si no la ha activado, ejecute el siguiente comando put-account-setting-default para hacerlo:

 aws ecs put-account-setting-default --name tagResourceAuthorization --value on --region regionname

Nota: Sustituya regionname por su región de AWS.

Uso del formato de ARN correcto

Para etiquetar los recursos de Amazon ECS, debe utilizar los nuevos formatos de ARN e ID. Es posible que tenga que migrar el despliegue de Amazon ECS al nuevo formato de ARN e ID de recurso.

Comprobación de que la entidad de IAM tiene los permisos necesarios y comprobación de las restricciones de las etiquetas

Si no puede agregar etiquetas a su servicio Amazon ECS, asegúrese de que su entidad de AWS Identity and Access Management (IAM) tenga los permisos necesarios. Para obtener más información, consulte la sección Comprobación de que la entidad de IAM tiene los permisos necesarios y comprobación de las restricciones de las etiquetas en ¿Cómo soluciono los problemas de etiquetado en las tareas de Amazon ECS?

Uso de etiquetas administradas de Amazon ECS para la facturación

Activación del parámetro enableECSManagedTags

Cuando utiliza etiquetas administradas de Amazon ECS, Amazon ECS etiqueta automáticamente todas las tareas recién iniciadas con la información del clúster y la definición de la tarea o las etiquetas de servicio. Amazon ECS también etiqueta los volúmenes de Amazon Elastic Block Service (Amazon EBS) que se adjuntan a las tareas. El parámetro PropagateTags no está activado de forma predeterminada. Active el parámetro para copiar las etiquetas de la definición de tarea o servicio a la tarea.

Para activar el parámetro enableECSManagedTags al crear un servicio, ejecute el siguiente comando create-service:

aws ecs create-service \
 --cluster clustername \
 --service-name servicename \
 --task-definition taskdefinitionname \
 --desired-count 1 \
 --launch-type FARGATE \
 --enable-ecs-managed-tags \
 --network-configuration "awsvpcConfiguration={subnets=[subnet-ABCD],securityGroups=[sg-ABC],assignPublicIp=ENABLED}"

Nota: Sustituya clustername por el nombre del clúster, servicename por el nombre del servicio y taskdefinitionname por el nombre de la definición de la tarea. Agregue la configuración de red a la opción --network-configuration.

Para activar el parámetro enableECSManagedTags al ejecutar una tarea, ejecute el siguiente comando run-task:

aws ecs run-task \
 --cluster clustername \
 --task-definition taskdefinitionname  \
 --launch-type FARGATE \
 --enable-ecs-managed-tags \
 --network-configuration "awsvpcConfiguration={subnets=[subnet-ABC],securityGroups=[sg-ABC]}"

Nota: Sustituya clustername por el nombre del clúster y taskdefinitionname por el nombre de la definición de la tarea. Agregue la configuración de red a la opción --network-configuration.

Activación de las etiquetas administradas de Amazon ECS

Utilice la consola de Amazon ECS o la AWS CLI para activar las etiquetas administradas.

Consola de Amazon ECS

Siga estos pasos:

  1. Abra la consola de Amazon ECS.
  2. Seleccione la región para su recurso de Amazon ECS.
  3. En el panel de navegación, seleccione Definiciones de tareas.
  4. Seleccione la definición de la tarea en la lista de recursos y, a continuación, elija Acciones.
  5. Seleccione Crear servicio o Ejecutar tarea.
  6. En Configuración de etiquetado de tareas, seleccione Habilitar etiquetas administradas de ECS.
    Nota: Para copiar etiquetas de la definición de tarea o servicio a la tarea, en Propagar etiquetas desde, seleccione su recurso. De forma predeterminada, el parámetro PropagateTags está establecido en No propagar.

AWS CLI

Ejecute el siguiente comando update-service:

aws ecs update-service --cluster clustername --service servicename --enable-ecs-managed-tags --force-new-deployment

Nota: Sustituya servicename por el nombre del servicio y clustername por el nombre del clúster.

Configuración de la propagación de etiquetas

La propagación de etiquetas está desactivada de forma predeterminada. Para comprobar si ha activado PropagateTags en un servicio específico, ejecute el siguiente comando describe-services:

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

Nota: Sustituya servicename por el nombre del servicio, clustername por el nombre del clúster y region por su región.

Para agregar la propagación de etiquetas al crear un servicio, ejecute el siguiente comando create-service:

aws ecs create-service \
--cluster clustername \
--service-name servicename \
--task-definition taskdefinitionname \
--desired-count 1 \
--launch-type FARGATE \
--enable-ecs-managed-tags \
--propagate-tags TASK_DEFINITION-SERVICE \
--network-configuration "awsvpcConfiguration={subnets=[subnet-ABCD],securityGroups=[sg-ABC],assignPublicIp=ENABLED}"

Nota: Sustituya clustername por el nombre del clúster, servicename por el nombre del servicio y taskdefinitionname por la definición de la tarea. Además, sustituya FARGATE por su tipo de inicio y TASK_DEFINITION-SERVICE por TASK_DEFINITION o SERVICE en función de dónde quiera propagar las tareas. Agregue la configuración de red a la opción --network-configuration.

Para agregar la propagación de etiquetas al ejecutar una tarea, ejecute el siguiente comando run-task:

aws ecs run-task \
--cluster clustername \
--task-definition taskdefinitionname \
--launch-type FARGATE \
--enable-ecs-managed-tags \
--propagate-tags TASK_DEFINITION-SERVICE \
--network-configuration "awsvpcConfiguration={subnets=[subnet-ABC],securityGroups=[sg-ABC]}"

Nota: Sustituya clustername por el nombre del clúster y taskdefinitionname por la definición de la tarea. Además, sustituya FARGATE por su tipo de inicio y TASK_DEFINITION-SERVICE por TASK_DEFINITION o SERVICE en función de dónde quiera propagar las tareas. Agregue la configuración de red a la opción --network-configuration.

Para agregar la propagación de etiquetas a un servicio existente, ejecute el siguiente comando update-service:

aws ecs update-service --cluster clustername --service servicename --propagate-tags servicetagdefinition --force-new-deployment

Nota: Sustituya servicename por el nombre del servicio, clustername por el nombre del clúster y servicetagdefinition por la definición del servicio o la etiqueta.

Debe activar las etiquetas de asignación de costes para que aparezcan en su informe de facturación.

Nota: Las etiquetas pueden tardar hasta 24 horas en activarse.

Información relacionada

Informes de uso de Amazon ECS

OFICIAL DE AWSActualizada hace 2 años