Ir para o conteúdo

Como faço para marcar os recursos do Amazon ECS para controle de custos e conformidade?

6 minuto de leitura
0

Quero marcar meus recursos do Amazon Elastic Container Service (Amazon ECS) para monitorar custos e conformidade.

Breve descrição

Use tags para atribuir metadados personalizados aos seus recursos do Amazon ECS.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Ative a autorização de marcação de recursos no nível da conta

Para usar e criar uma tag ao criar um cluster ou serviço, você deve ter permissões ecs:TagResource. Você também deve ter permissões para as ações necessárias para criar o recurso, como ecsCreateCluster.

Para visualizar o status atual da autorização de marcação no nível da conta da AWS, execute o seguinte comando list-account-settings da AWS CLI:

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

Na saída do comando, verifique se você ativou a autorização de marcação. Se você não ativou a autorização de marcação, execute o seguinte comando put-account-setting-default para ativá-la:

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

Observação: Substitua regionname pela sua região da AWS.

Use o formato ARN correto

Para marcar os recursos do Amazon ECS, você deve usar os novos formatos de ARN e ID. Talvez seja necessário migrar sua implantação do Amazon ECS para o novo formato de ARN e ID de recurso.

Verifique se a entidade do IAM tem as permissões necessárias e verifique as restrições de tags

Se não for possível adicionar tags ao seu serviço do Amazon ECS, certifique-se de que sua entidade do AWS Identity and Access Management (AWS IAM) tenha as permissões necessárias. Para obter informações, consulte a seção Verificar se a entidade do IAM tem as permissões necessárias e marcar as restrições de tags em Como soluciono problemas de marcação para tarefas do Amazon ECS?

Use tags gerenciadas do Amazon ECS para cobrança

Ative o parâmetro enableECSManagedTags

Quando você usa as tags gerenciadas do Amazon ECS, o Amazon ECS marca automaticamente todas as tarefas recém-executadas com as informações do cluster e a definição de tarefas ou tags de serviço. O Amazon ECS também identifica os volumes do Amazon Elastic Block Service (Amazon EBS) que estão anexados às tarefas. O parâmetro PropagateTags não é ativado por padrão. Para copiar tags da definição da tarefa ou do serviço para a tarefa, ative o parâmetro.

Para ativar o parâmetro enableECSManagedTags ao criar um serviço, execute o seguinte 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}"

Observação: Substitua clustername pelo seu nome de cluster, servicename pelo seu nome de serviço e taskdefinitionname pelo seu nome da definição da tarefa. Adicione sua configuração de rede à opção --network-configuration.

Para ativar o parâmetro enableECSManagedTags ao executar uma tarefa, execute o seguinte 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]}"

Observação: Substitua clustername pelo seu nome de cluster e taskdefinitionname pelo seu nome da definição da tarefa. Adicione sua configuração de rede à opção --network-configuration.

Ative as tags gerenciadas do Amazon ECS

Use o console do Amazon ECS ou a AWS CLI para ativar tags gerenciadas.

Console do Amazon ECS

Conclua as seguintes etapas:

  1. abra o console do Amazon ECS.
  2. selecione a região para seu recurso do ECS.
  3. no painel de navegação, escolha Definições de tarefa.
  4. selecione a definição de tarefa na lista de recursos e, em seguida, escolha Ações.
  5. Escolha Criar serviço ou Executar tarefa.
  6. Em Configuração de marcação de tarefas, selecione Ativar tags gerenciadas pelo ECS.
    Observação: Para copiar tags da definição ou serviço da tarefa para a tarefa, em Propagar tags de, selecione seu recurso. Por padrão, o parâmetro PropagateTags é definido como Não propagar.

AWS CLI

Execute o seguinte comando update-service:

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

Observação: Substitua o servicename pelo seu nome de serviço e clustername pelo seu nome de cluster.

Configurar a propagação de tags

A propagação de tags é desativada por padrão. Para verificar se você ativou PropagateTags em um serviço específico, execute o seguinte comando describe-services:

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

Observação: Substitua o servicename pelo seu nome de serviço, clustername pelo seu nome de cluster, e region pela sua Região.

Para adicionar a propagação de tags ao criar um serviço, execute o seguinte 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}"

Observação: Substitua clustername pelo seu nome de cluster, servicename pelo seu nome de serviço e taskdefinitionname pela sua definição da tarefa. Além disso, substitua FARGATE pelo seu tipo de lançamento e TASK_DEFINITION-SERVICE por TASK_DEFINITION ou SERVICE com base em onde você deseja propagar as tarefas. Adicione sua configuração de rede à opção --network-configuration.

Para adicionar propagação de tags ao executar uma tarefa, execute o seguinte 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]}"

Observação: Substitua clustername pelo nome do cluster e taskdefinitionname pela definição da tarefa. Além disso, substitua FARGATE pelo seu tipo de lançamento e TASK_DEFINITION-SERVICE por TASK_DEFINITION ou SERVICE com base em onde você deseja propagar as tarefas. Adicione sua configuração de rede à opção --network-configuration.

Para adicionar a propagação de tags para um serviço existente, execute o seguinte comando update-service:

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

Observação: Substitua servicename pelo nome do serviço, clustername pelo nome do cluster e servicetagdefinition pela definição do serviço ou tag.

Você deve ativar as etiquetas de alocação de custos para que elas apareçam no seu relatório de cobrança.

Observação: Pode levar até 24 horas para que as tags sejam ativadas.

Informações relacionadas

Relatórios de uso do Amazon ECS

AWS OFICIALAtualizada há 2 anos