Como solucionar problemas relacionados à marcação em tarefas do ECS?

Data da última atualização: 01/04/2022

Tenho um problema com etiquetas de tarefas do Amazon Elastic Container Service (Amazon ECS). Como corrigir isso?

Resolução

Ao definir etiquetas com o Amazon ECS, você pode ter os seguintes problemas:

  • Suas etiquetas não são propagadas da definição de serviço ou tarefa para as tarefas.
  • Suas etiquetas têm um formato de ID de recurso e Nome do recurso da Amazon (ARN) desatualizados.
  • Você não pode adicionar etiquetas aos seus recursos do ECS devido a permissões ausentes do AWS Identity and Access Management (IAM) restrições de etiquetas.
  • Você não consegue ver etiquetas do ECS no Painel de faturamento da AWS.

Para solucionar esses problemas, faça o seguinte:

Verifique se o parâmetro PropagateTags é usado para propagar de definições de serviços ou tarefas para tarefas

O parâmetro PropagateTags pode ser usado para copiar etiquetas da definição da tarefa ou do serviço para a tarefa. Isso pode ser feito quando você está executando uma tarefa ou criando um serviço. Esse parâmetro não está ativado por padrão.

Você pode verificar se PropagateTags está sendo usado em um serviço específico, executando o seguinte comando na AWS CLI e substituindo servicename, clustername e region pelos valores apropriados:

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

Para configurar etiquetas para propagação a partir da definição de serviço ou tarefa usando a CLI, consulte API RunTask e CreateService.

Para ativar a propagação de etiquetas usando o console:

  1. Abra o console do Amazon ECS.
  2. Selecione a Região da AWS do seu recurso do ECS.
  3. No painel de navegação, selecione Task Definitions (Definições de tarefas).
  4. Selecione a definição da tarefa na lista de recursos e escolha Actions (Ações). Em seguida, escolha Create Service (Criar serviço) ou Run Task (Executar tarefa).
  5. Em Task tagging configuration (Configuração de marcação de tarefas), ao lado de Propagate tags from (Propagar etiquetas de), escolha Service (Serviço) ou Task definitions (Definições de tarefas).
    Nota: a opção padrão é Do not propagate (Não propagar).

Para usar etiquetas no ECS usando o AWS CloudFormation, você precisa declarar a entidade AWS::ECS::Service usando as propriedades EnableECSManagedTags e PropagateTags com o valor: SERVICE ou TASK_DEFINITION.

Nota:

  • O uso de propriedades relacionadas a etiquetas de serviço do ECS após a criação da pilha no CloudFormation exigirá uma atualização de pilha e a substituição de recursos. Isso significa que o serviço será excluído e recriado por meio do CloudFormation.
  • O uso do parâmetro PropagateTags apenas pode ocorrer quando você está executando uma tarefa ou criando um serviço. Para obter mais informações, consulte a API RunTask e CreateService.
  • Você tem acesso às mesmas configurações para Scheduled tasks (Tarefas programadas) e para tarefas executadas diretamente usando a API RunTask do Amazon ECS.

Verifique se você está usando o novo formato ARN

Para poder marcar recursos do Amazon ECS, você deve usar os novos formatos Amazon Resource Name (ARNs) e IDs .

Exemplo dos dois formatos:

  • Formato antigo: arn:aws:ecs:region:aws_account_id:service/service-name
  • Novo formato: arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

Para migrar sua implantação do ECS para o novo formato de ARN e ID de recurso, consulte Migrar sua implantação do Amazon ECS para o novo formato de ARN e ID de recurso.

Observação: seus recursos existentes não receberão o novo formato de ARN durante a marcação até que sejam recriados.

Verifique se a entidade do IAM tem as permissões necessárias e as restrições de etiquetas de verificação

Se você não conseguir adicionar etiquetas ao serviço do ECS, faça o seguinte:

  1. Verifique eventos do CloudTrail no console do CloudTrail em busca de eventos TagResource.
  2. Se você vir um dos seguintes erros: AccessDenied ou The tags cannot be updated at this time. Aguarde alguns minutos e tente novamente (Não é possível atualizar as etiquetas no momento. Aguarde alguns minutos e tente novamente), significa que a entidade do IAM não tem as permissões ecs:TagResource.
  3. Para resolver isso, adicione permissões ecs:TagResource às entidades do IAM.
  4. Depois que as permissões tiverem sido adicionadas, tente adicionar as etiquetas novamente ao cluster do ECS.

Confirme se as etiquetas do ECS estão dentro das restrições de etiquetas. Para revisar restrições de etiquetas, consulte Restrições de etiquetas.

Verifique se é um problema de Gerenciamento de Faturamento e Custos da AWS

Para verificar se as etiquetas necessárias estão presentes no nível de tarefas do ECS, execute o seguinte comando na AWS CLI e substitua o valor pelo ARN:

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

Para verificar se as etiquetas necessárias estão presentes no nível de tarefas do ECS usando o console:

  1. Abra o console do Amazon ECS.
  2. Selecione a Região da AWS do seu recurso do ECS.
  3. No painel de navegação, selecione um tipo de recurso (por exemplo, Clusters).
  4. Selecione o recurso da lista de recursos e selecione Tags (Etiquetas).
    Se existirem etiquetas, elas serão listadas.

Se você estiver procurando etiquetas gerenciadas, a opção ECS-managed (Gerenciadas pelo ECS) deverá estar ativada. Verifique o status ECS-managed (Gerenciadas pelo ECS) executando o seguinte comando e substituindo servicename, clustername e region pelos valores apropriados:

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

A saída do comando conterá o valor enableECSManagedTags.

Você pode ativar etiquetas ECS-managed (Gerenciadas pelo ECS) ao criar um serviço ou executar tarefas usando a CLI. Para obter mais informações, consulte a API RunTask e CreateService.

Para ativar etiquetas ECS-managed (Gerenciadas pelo ECS) usando o console:

  1. Abra o console do Amazon ECS.
  2. Selecione a Região da AWS do seu recurso do ECS.
  3. No painel de navegação, selecione Task Definitions (Definições de tarefas).
  4. Selecione a definição da tarefa na lista de recursos e escolha Actions (Ações). Em seguida, escolha Create Service (Criar serviço) ou Run Task (Executar tarefa).
  5. Em Task tagging configuration (Configuração de marcação de tarefas), escolha Enable ECS managed tags (Habilitar etiquetas gerenciadas pelo ECS).

Se as etiquetas usadas para faturamento estiverem listadas, mas não puderem ser vistas no AWS Cost Explorer, certifique-se de que elas estejam ativadas no console de Gerenciamento de Faturamento e Custos. Para ativar etiquetas de alocação de custo, consulte Ativar etiquetas de alocação de custos definidas pelo usuário.
Nota: cada etiqueta que precisa ser visualizada como um filtro no Cost Explorer precisa ser ativada. Pode levar até 24 horas para as etiquetas serem ativadas.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?