

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á.

# Criação de uma AWS ParallelCluster AMI personalizada
<a name="tutorials_02_ami_customization"></a>

**Importante**  
Não recomendamos a criação de uma AMI personalizada como abordagem para personalizar o AWS ParallelCluster.  
Isso ocorre porque, depois de criar sua própria AMI, você não recebe mais atualizações ou correções de bugs com versões futuras do AWS ParallelCluster. Além disso, se você criar uma AMI personalizada, deverá repetir as etapas usadas para criar sua AMI personalizada a cada nova AWS ParallelCluster versão.

Antes de continuar lendo, recomendamos que você primeiro confira a seção [Ações personalizadas do Bootstrap](pre_post_install.md) para determinar se as modificações que você deseja fazer podem ser programadas e suportadas em versões futuras AWS ParallelCluster .

Embora criar uma AMI personalizada não seja o ideal (devido aos motivos mencionados anteriormente), ainda existem cenários em que AWS ParallelCluster é necessário criar uma AMI personalizada. Este tutorial orienta você pelo processo de criação de uma AMI personalizada para esses cenários.

**nota**  
A partir da AWS ParallelCluster versão 2.6.1, a maioria das receitas de instalação são ignoradas por padrão ao iniciar os nós. Isso é para melhorar os tempos de startup. Para executar todas as fórmulas de instalação para uma melhor compatibilidade com versões anteriores em detrimento dos tempos de inicialização, adicione `"skip_install_recipes" : "no"` à chave `cluster` na configuração [`extra_json`](cluster-definition.md#extra-json). Por exemplo:  

```
extra_json = { "cluster" : { "skip_install_recipes" : "no" } }
```

**Pré-requisitos**
+ AWS ParallelCluster [está instalado](install.md).
+ O AWS CLI [está instalado e configurado.](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
+ Você tem um [par de chaves EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html).
+ Você tem um perfil do IAM com as [permissões](iam.md#example-parallelcluser-policies) necessárias para executar a CLI do [`pcluster`](pcluster.md).

## Como personalizar a AWS ParallelCluster AMI
<a name="how-to-customize-the-aws-parallelcluster-ami"></a>

Há três maneiras de usar uma AWS ParallelCluster AMI personalizada descritas nas próximas seções. Dois desses três métodos exigem a criação de uma nova AMI que esteja disponível na sua Conta da AWS. O terceiro método (usar uma AMI personalizada em runtime) não exige que você crie nada com antecedência, mas adiciona riscos à implantação. Escolha o método que melhor atenda às suas necessidades.

## Modificar uma AMI do
<a name="modify-an-aws-parallelcluster-ami"></a>

Esse é o método mais simples e recomendado. Como a AWS ParallelCluster AMI básica geralmente é atualizada com novas versões, essa AMI tem todos os componentes necessários AWS ParallelCluster para funcionar quando instalada e configurada. Comece com isso como base.

------
#### [ New EC2 console ]

1. Na lista de AWS ParallelCluster AMI, encontre a AMI que corresponde à específica Região da AWS que você usa. A lista de AMI que você escolher deve corresponder à versão AWS ParallelCluster que você usa. Execute `pcluster version` para verificar a versão. Para a AWS ParallelCluster versão 2.11.9, acesse [https://github.com/aws/aws- parallelcluster/blob/v2.11.9/amis](https://github.com/aws/aws-parallelcluster/blob/v2.11.9/amis.txt) .txt. Para selecionar outra versão, use o mesmo link, escolha o botão **Tag: 2.11.9**, selecione a guia **Tags** e escolha a versão apropriada.

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon EC2 em. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. No **painel do Amazon EC2**, escolha **Executar instância**.

1. Em **Imagens do aplicativo e do sistema operacional**, escolha **Procurar mais AMIs**, navegue até **Comunidade AMIs** e insira o ID da AWS ParallelCluster AMI para você Região da AWS na caixa de pesquisa.

1. **Selecione** a AMI, escolhe o **tipo de instância** e as propriedades, selecione seu **Par de chaves**, e **Executar instância**.

1. Faça login na instância usando o usuário do SO e chave SSH. Para obter mais informações, navegue até **Instâncias**, selecione a nova instância e **Conectar**.

1. Personalize a instância conforme necessário.

1. Execute o seguinte comando para preparar a instância para a criação da AMI:

   ```
   sudo /usr/local/sbin/ami_cleanup.sh
   ```

1. Vá para **Instâncias**, escolha a nova instância, selecione **Estado da instância**, e **Interromper instância**.

1. Crie uma nova AMI a partir da instância usando o console do EC2 ou AWS CLI [create-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-image.html).

**Do console do EC2**

   1. No painel de navegação, escolha **Instances (Instâncias)**.

   1. Escolha a instância que você criou e modificou.

   1. Em **Ações**, escolha **Imagens e modelos** e depois **Criar imagem**.

   1. Escolha **Create Image**.

1. Insira o novo ID de AMI no campo [custom\$1ami](cluster-definition.md#custom-ami-section) na configuração do cluster.

------
#### [ Old EC2 console ]

1. Na lista de AWS ParallelCluster AMI, encontre a AMI que corresponde à específica Região da AWS que você usa. A lista de AMI que você escolher deve corresponder à versão AWS ParallelCluster que você usa. Execute `pcluster version` para verificar a versão. Para a AWS ParallelCluster versão 2.11.9, acesse [https://github.com/aws/aws- parallelcluster/blob/v2.11.9/amis](https://github.com/aws/aws-parallelcluster/blob/v2.11.9/amis.txt) .txt. Para selecionar outra versão, use o mesmo link, escolha o botão **Tag: 2.11.9**, selecione a guia **Tags** e escolha a versão apropriada.

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon EC2 em. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. No **painel do Amazon EC2**, escolha **Executar instância**.

1. Escolha **Comunidade AMIs**, pesquise a ID da AWS ParallelCluster AMI e **selecione-a**.

1. Escolha seu tipo de instância e selecione **Avançar: Configurar detalhes da instância**, ou **Revisar e iniciar** para iniciar sua instância.

1. Escolha **Executar**, selecione seu **par de chaves**, e **Executar instâncias**.

1. Faça login na instância usando o usuário do SO e chave SSH. Para obter mais informações, navegue até **Instâncias**, selecione a nova instância e **Conectar**.

1. Personalize a instância conforme necessário.

1. Execute o seguinte comando para preparar a instância para a criação da AMI:

   ```
   sudo /usr/local/sbin/ami_cleanup.sh
   ```

1. Vá para **Instâncias**, escolha a nova instância, selecione **Estado da instância**, e **Interromper**

1. Crie uma nova AMI a partir da instância usando o console do EC2 ou AWS CLI [create-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-image.html).

**Do console do EC2**

   1. No painel de navegação, escolha **Instances (Instâncias)**.

   1. Escolha a instância que você criou e modificou.

   1. Em **Ações**, escolha **Imagem**, e, em seguida, **Criar imagem**.

   1. Escolha **Create Image**.

1. Insira o novo ID de AMI no campo [custom\$1ami](cluster-definition.md#custom-ami-section) na configuração do cluster.

------

## Crie uma AWS ParallelCluster AMI personalizada
<a name="build-a-custom-aws-parallelcluster-ami"></a>

Se você tiver uma AMI personalizada e software já existentes, aplique as alterações necessárias pelo AWS ParallelCluster .

1. Instale o seguinte em seu sistema local, junto com a AWS ParallelCluster CLI:
   + Packer: encontre a versão mais recente para o seu SO no [site do Packer](https://developer.hashicorp.com/packer/downloads) e instale-a. A versão deve ser pelo menos 1.4.0, mas a versão mais recente é recomendada. Verifique se o comando `packer` está disponível em seu PATH.
**nota**  
Antes da AWS ParallelCluster versão 2.8.0, era necessário usar o [Berkshelf](https://github.com/berkshelf/berkshelf) (que é instalado usando`gem install berkshelf`). `pcluster createami`

1. Configure suas Conta da AWS credenciais para que o Packer possa fazer chamadas para operações de AWS API em seu nome. O conjunto mínimo de permissões necessárias para que o Packer funcione está documentado na seção [Tarefa do IAM ou função da instância](https://developer.hashicorp.com/packer/plugins/builders/amazon#iam-task-or-instance-role) do tópico do *Amazon AMI Builder* na documentação do Packer.

1. Use o comando `createami` na AWS ParallelCluster CLI para criar uma AWS ParallelCluster AMI a partir da que você fornece como base:

   ```
   pcluster createami --ami-id <BASE_AMI> --os <BASE_AMI_OS>
   ```
**Importante**  
Você não deve usar uma AWS ParallelCluster AMI de um cluster em execução como *<BASE\$1AMI>* para o `createami` comando. Caso contrário, o comando falhará.

   Para Outros parâmetros, consulte [`pcluster createami`](pcluster.createami.md).

1. O comando da Etapa 4 executa o Packer, que faz especificamente o seguinte:

   1. Executa uma instância usando a AMI de base fornecida.

   1. Aplica o AWS ParallelCluster livro de receitas à instância para instalar o software relevante e realizar outras tarefas de configuração necessárias.

   1. Interrompe a instância.

   1. Cria uma AMI a partir da instância.

   1. Encerra a instância após a criação da AMI.

   1. Produz a string do ID da nova AMI a ser usada para a criação do cluster.

1. Para criar o cluster, insira o ID de AMI no campo [custom\$1ami](cluster-definition.md#custom-ami-section) na configuração do cluster.

**nota**  
O tipo de instância usado para criar uma AWS ParallelCluster AMI personalizada é`t2.xlarge`. Esse tipo de instância não se qualifica para o nível AWS gratuito, então você é cobrado por todas as instâncias criadas ao criar essa AMI.

## Usar uma AMI personalizada no tempo de execução
<a name="use-a-custom-ami-at-runtime"></a>

**Atenção**  
Para evitar o risco de usar uma AMI que não seja compatível com AWS ParallelCluster, recomendamos que você evite usar esse método.  
Quando os nós de computação são iniciados sem testes potenciais AMIs em tempo de execução, as incompatibilidades com a instalação em tempo de AWS ParallelCluster execução do software necessário podem fazer AWS ParallelCluster com que ele pare de funcionar.

Se você não quiser criar nada com antecedência, você pode usar sua AMI e criar uma a AWS ParallelCluster partir dessa AMI.

Com esse método, a criação do AWS ParallelCluster leva mais tempo porque todo o software necessário para AWS ParallelCluster a criação do cluster deve estar instalado. Além disso, aumentar a escala verticalmente também leva mais tempo.
+ Insira o ID de AMI no campo [custom\$1ami](cluster-definition.md#custom-ami-section) na configuração do cluster.