

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
<a name="set-up-ib-env"></a>

Antes de compilar imagens com o EC2 Image Builder, verifique se você atendeu aos pré-requisitos a seguir 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.

**Topics**
+ [Perfil vinculado ao serviço do Image Builder](#prereq-slr)
+ [Requisitos de configuração](#prereq-config)
+ [Repositório de contêiner para pipelines de imagens de contêiner](#start-prereq-container)
+ [Host dedicado para imagens do macOS](#start-prereq-macos-host)
+ [Pré-requisitos do IAM](#image-builder-IAM-prereq)
+ [Pré-requisitos do Systems Manager Agent](#image-builder-SSM-prereq)

Depois que atender aos pré-requisitos, você pode gerenciar o EC2 Image Builder por meio de qualquer uma das interfaces a seguir.
+ [Console do EC2 Image Builder](https://console.aws.amazon.com/imagebuilder/)
+ [Comandos do Image Builder no AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/index.html)
+ [Referência de API do EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/)
+ [AWS SDKs e ferramentas](https://aws.amazon.com/developer/tools/)

## Perfil vinculado ao serviço do Image Builder
<a name="prereq-slr"></a>

O EC2 Image Builder usa uma função vinculada ao serviço para conceder permissões a AWS outros 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](image-builder-service-linked-role.md). 

## Requisitos de configuração
<a name="prereq-config"></a>
+ O Image Builder é compatível com [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html). Para obter mais informações sobre como configurar endpoints da VPC para o Image Builder, consulte [Image Builder e AWS PrivateLink interface de VPC endpoints](vpc-interface-endpoints.md).
+ 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 Linux do Amazon EC2, o Image Builder instala o Systems Manager Agent na instância de compilação, se ela ainda não estiver presente, e a remove antes de criar a imagem.

------
#### [ Windows ]

  O Image Builder não instala o Systems Manager Agent em instâncias de compilação do Amazon EC2 para 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 Systems Manager Agent na instância do Amazon EC2 para Windows Server, consulte [Instalar e desinstalar o SSM Agent manualmente em instâncias do EC2 para Windows Server](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html) no *Manual do usuário do AWS Systems Manager *.

------

## Repositório de contêiner para pipelines de imagens de contêiner
<a name="start-prereq-container"></a>

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](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html) no *Manual do usuário do Amazon Elastic Container Registry*.

## Host dedicado para imagens do macOS
<a name="start-prereq-macos-host"></a>

As instâncias Mac do Amazon EC2 exigem um host dedicado executado em uma instância do tipo bare metal. Antes de criar uma imagem personalizada do macOS, você deve [alocar um host dedicado](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-allocating.html) à sua conta. Para obter mais informações sobre instâncias Mac e uma lista de tipos de instância que oferecem suporte nativo ao sistema operacional macOS, consulte [Amazon EC2 Mac instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-mac-instances.html) no *Amazon EC2 User Guide*.

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
<a name="image-builder-IAM-prereq"></a>

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:
+ [EC2InstanceProfileForImageBuilder](security-iam-awsmanpol.md#sec-iam-manpol-EC2InstanceProfileForImageBuilder)
+ [EC2InstanceProfileForImageBuilderECRContainerBuilds](security-iam-awsmanpol.md#sec-iam-manpol-EC2InstanceProfileForImageBuilderECRContainerBuilds)
+ Amazon SSMManaged InstanceCore

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:

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "UploadFileToS3Bucket",
			"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/](https://console.aws.amazon.com/iam/).

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

1. Filtre a lista de políticas com **EC2InstanceProfileForImageBuilder**

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

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

1. Escolha **Anexar política**.

1. Repita as etapas de 3 a 6 para as SSMManaged InstanceCore políticas **EC2InstanceProfileForImageBuilderECRContainerBuilds**e **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 [Política Ec2ImageBuilderCrossAccountDistributionAccess](security-iam-awsmanpol.md#sec-iam-manpol-Ec2ImageBuilderCrossAccountDistributionAccess) à função. Para obter mais informações, consulte [Compartilhe recursos do Image Builder com AWS RAM](manage-shared-resources.md).

## Pré-requisitos do Systems Manager Agent
<a name="image-builder-SSM-prereq"></a>

O EC2 Image Builder executa o [AWS Systems Manager (Systems Manager) Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) nas instâncias do EC2 que ele executa para compilar 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](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-inventory.html). 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 como`false`.

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.