Configurar compilação de imagens personalizadas com o Image Builder - EC2 Image Builder

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurar compilação de imagens personalizadas com o Image Builder

Antes de criar imagens com o EC2 Image Builder, verifique se você atendeu aos seguintes pré-requisitos para criar um pipeline de imagens. Salvo indicação específica em contrário, esses pré-requisitos são necessários para todos os tipos de pipeline.

Depois de atender aos pré-requisitos, você pode gerenciar o EC2 Image Builder a partir de qualquer uma das interfaces a seguir.

Perfil vinculado ao serviço do Image Builder

EC2 O Image Builder usa uma função vinculada ao serviço para conceder permissões a outros AWS serviços em seu nome. Não é necessário criar manualmente um perfil vinculado ao serviço. Quando você cria seu primeiro recurso do Image Builder no AWS Management Console, no AWS CLI, ou na AWS API, o Image Builder cria a função vinculada ao serviço para você. Para obter mais informações sobre o perfil vinculado ao serviço criada pelo Image Builder na sua conta, consulte Usar perfis do IAM vinculados ao serviço para o Image Builder.

Requisitos de configuração

  • O Image Builder é compatível com AWS PrivateLink. Para obter mais informações sobre como configurar endpoints da VPC para o Image Builder, consulte Image Builder e AWS PrivateLink interface VPC endpoints.

  • As instâncias que o Image Builder usa para criar imagens de contêiner devem ter acesso à Internet para baixá-las AWS CLI do Amazon S3 e baixar uma imagem base do repositório do Docker Hub, se aplicável. O Image Builder usa o AWS CLI para obter o Dockerfile da receita do contêiner, onde ele é armazenado como dados.

  • As instâncias que o Image Builder usa para criar imagens e executar testes devem ter acesso ao serviço Systems Manager. Os requisitos de instalação dependem do seu sistema operacional.

    Para ver os requisitos de instalação da imagem base, escolha a guia que corresponde ao sistema operacional da imagem base.

    Linux

    Para instâncias do Amazon EC2 Linux, o Image Builder instala o Systems Manager Agent na instância de compilação, se ainda não estiver presente, e o remove antes de criar a imagem.

    Windows

    O Image Builder não instala o Systems Manager Agent nas instâncias de compilação do Amazon EC2 Windows Server. Se sua imagem base não veio pré-instalada com o Systems Manager Agent, você deve iniciar uma instância a partir da imagem de origem, instalar manualmente o Systems Manager na instância e criar uma nova imagem base a partir da sua instância.

    Para instalar manualmente o agente do Systems Manager em sua instância EC2 do Amazon Windows Server, consulte Instalar manualmente o agente do Systems Manager em EC2 instâncias do Windows Server no Guia AWS Systems Manager do usuário.

    macOS

    TBD - preciso de algo sobre os pré-requisitos

Repositório de contêiner para pipelines de imagens de contêiner

Para pipelines de imagens de contêiner, a fórmula define a configuração das imagens do Docker que são produzidas e armazenadas no repositório dos contêineres de destino. Você deve criar o repositório de destino antes de criar a fórmula do contêiner para sua imagem do Docker.

O Image Builder usa o Amazon ECR como seu repositório de destino para imagens de contêineres. Para criar um repositório do Amazon ECR, siga as etapas descritas em Criar um repositório no Manual do usuário do Amazon Elastic Container Registry.

Host dedicado para imagens do macOS

As instâncias do Amazon EC2 Mac exigem um host dedicado executado em um tipo de instância metálica. Antes de criar uma imagem personalizada do macOS, você deve alocar um host dedicado à sua conta. Para obter mais informações sobre instâncias do Mac e uma lista dos tipos de instância que oferecem suporte nativo ao sistema operacional macOS, consulte Instâncias do EC2 Amazon Mac no Guia do usuário da EC2 Amazon.

Depois de criar um host dedicado, você pode definir as configurações no recurso de configuração de infraestrutura da sua imagem. A configuração da infraestrutura inclui propriedades de posicionamento nas quais você pode especificar o host, o grupo de posicionamento do host ou a zona de disponibilidade para onde devem ir as instâncias executadas por meio de sua imagem.

Pré-requisitos do IAM

O perfil do IAM que você associa ao seu perfil de instância precisa ter permissões para executar os componentes de criação e teste incluídos na sua imagem. As seguintes políticas de perfil do IAM devem ser anexadas à função do IAM associada ao perfil de instância:

Se você configurar o registro em log, o perfil de instância especificado na configuração da sua infraestrutura deverá ter s3:PutObject permissões para o bucket de destino (arn:aws:s3:::BucketName/*). Por exemplo:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*" } ] }
Anexar política

As etapas a seguir orientam você pelo processo de anexar as políticas do IAM a um perfil do IAM para conceder as permissões anteriores.

  1. Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação à esquerda, escolha Políticas.

  3. Filtre a lista de políticas com EC2InstanceProfileForImageBuilder

  4. Selecione o bullet ao lado da política e, na lista suspensa Ações de política, selecione Anexar.

  5. Selecione o nome do perfil do IAM ao qual a política de mascaramento será anexada.

  6. Escolha Anexar política.

  7. Repita as etapas de 3 a 6 para o EC2InstanceProfileForImageBuilderECRContainerBuildse SSMManaged InstanceCore políticas da Amazon.

nota

Se quiser copiar uma imagem criada com o Image Builder em outra conta, você deve criar o perfil do EC2ImageBuilderDistributionCrossAccountRole em todas as contas de destino e anexar a política gerenciada do Ec2ImageBuilderCrossAccountDistributionAccess política à função. Para obter mais informações, consulte Compartilhe recursos do Image Builder com AWS RAM.

Pré-requisitos do Systems Manager Agent

EC2 O Image Builder executa o Agente AWS Systems Manager (Systems Manager) nas EC2 instâncias que ele executa para criar e testar sua imagem. O Image Builder coleta informações adicionais sobre a instância usada durante a fase de compilação com o Systems Manager Inventory. Essas informações incluem o nome e a versão do sistema operacional (SO), bem como a lista de pacotes e suas respectivas versões, conforme relatado pelo seu sistema operacional.

Para optar por não coletar essas informações, selecione o método correspondente ao ambiente de sua preferência:

  • Console do Image Builder: desmarque a caixa de seleção Habilitar a coleta de metadados aprimorada.

  • AWS CLI: especifique a opção --no-enhanced-image-metadata-enabled.

  • API Image Builder ou SDKs — Defina o enhancedImageMetadataEnabled parâmetro comofalse.

O Image Builder usa RunCommand para enviar ações à instância de compilação e teste como parte do fluxo de trabalho de compilação e teste de imagens. Você não pode optar por não usar o RunCommand para enviar ações para sua instância de compilação e teste.