Como faço para permitir que as tarefas do Amazon ECS extraiam imagens de um repositório de imagens do Amazon ECR?

3 minuto de leitura
0

Como permitir que as tarefas do Amazon Elastic Container Service (Amazon ECS) extraiam imagens de um repositório de imagens do Amazon Elastic Container Registry (Amazon ECR)?

Breve descrição

Para acessar o repositório de imagens do Amazon ECR com seu tipo de inicialização, escolha uma das seguintes opções:

  • Para os tipos de inicialização do Amazon Elastic Compute Cloud (Amazon EC2), você deve fornecer permissões para ecsTaskExecutionRole ou para o perfil de instância associado à instância do contêiner. No entanto, é sempre uma boa prática fornecer permissões do Amazon ECR para ecsTaskExecutionRole. Se permissões forem fornecidas tanto para a instância quanto para o perfil, ecsTaskExecutionRole terá precedência.
  • Para tipos de inicialização do AWS Fargate, você deve conceder ao perfil de execução de tarefas do Amazon ECS a permissão para acessar o repositório de imagens do Amazon ECR.

Resolução

Para tipos de inicialização do EC2

  1. Abra o console do AWS Identity and Access Management (IAM).
  2. No painel de navegação, escolha Perfis e depois Criar perfil.
  3. Escolha o tipo de perfil de Serviço da AWS.
  4. Na seção Caso de uso, selecione EC2. Em seguida, selecione Avançar.
  5. Escolha a política gerenciada padrão AmazonEC2ContainerServiceforEC2Role e depois escolha Avançar.
    Observação: a política AmazonEC2ContainerServiceforEC2Roletambém permite que você registre instâncias de contêiner no seu cluster do ECS e habilite fluxos de logs no Amazon CloudWatch.
  6. Adicione etiquetas à sua política, se desejar, e escolha Avançar.
  7. Em Nome do perfil, insira um nome exclusivo (como ECSRoleforEC2) e escolha Criar perfil.
  8. Inicie uma nova instância de contêiner usando a mais recente AMI Amazon Linux otimizada para o Amazon ECS.
  9. Anexe a função que você criou à nova instância de contêiner.
  10. Crie uma definição de tarefa.
    **Importante:**na seção containerDefinitions da sua definição de tarefa, especifique a imagem do ECR aws_account_id.dkr.ecr.region.amazonaws.com/repository:tag como a propriedade da imagem.
  11. Execute uma tarefa ou um serviço usando a definição de tarefa criada na etapa 10.
  12. (Opcional) Se não quiser fornecer permissões para um perfil de instância, dê permissões para o Perfil de execução de tarefas do ECS. Em seguida, execute uma tarefa ou um serviço usando a definição de tarefa criada na etapa 10.

Para tipos de inicialização do Fargate

Um perfil de execução de tarefas do Amazon ECS é criado automaticamente na experiência de primeira execução do console do Amazon ECS. Se não conseguir encontrar o perfil ou ele for excluído, conclua estas etapas:

  1. Abra o console do IAM.
  2. No painel de navegação, escolha Perfis e depois Criar perfil.
  3. Na seção Selecionar tipo de entidade confiável, escolha Elastic Container Service.
  4. Em Selecione o caso de uso, escolha Tarefa do Elastic Container Service e depois escolha Avançar.
  5. Na seção Anexar política de permissões, procure AmazonECSTaskExecutionRolePolicy, selecione a política e depois escolha Avançar.
    Observação: essa política também fornece permissões para usar o driver de log awslogs.
  6. Em Nome do perfil, insira ecsTaskExecutionRole e escolha Criar perfil.
  7. Crie uma definição de tarefa.
    **Importante:**na seção containerDefinitions da sua definição de tarefa, especifique a imagem do ECR aws_account_id.dkr.ecr.region.amazonaws.com/repository:tag como a propriedade da imagem. Especifique o perfil do IAM criado na etapa 6.
  8. Execute uma tarefa ou um serviço usando a definição de tarefa criada na etapa 7.

Sua tarefa ou serviço agora pode extrair imagens do repositório de imagens do Amazon ECR.


Informações relacionadas

Using Amazon ECR Images with Amazon ECS

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos