

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

# Crie um AWS OpsWorks for Puppet Enterprise mestre usando CloudFormation
<a name="opspup-create-server-cfn"></a>

**Importante**  
O AWS OpsWorks for Puppet Enterprise serviço chegou ao fim da vida útil em 31 de março de 2024 e foi desativado para clientes novos e existentes. É altamente recomendável que os clientes migrem suas cargas de trabalho para outras soluções o mais rápido possível. Se você tiver dúvidas sobre migração, entre em contato com a AWS Support equipe no [AWS re:POST](https://repost.aws/) ou por meio do Premium [AWS Support](https://aws.amazon.com/support). 

AWS OpsWorks for Puppet Enterprise permite que você execute um servidor [Puppet Enterprise](https://puppet.com/products/puppet-enterprise) em AWS. Você pode provisionar um servidor master Puppet Enterprise em aproximadamente 15 minutos.

A partir de 3 de maio de 2021, OpsWorks o for Puppet Enterprise armazena alguns atributos do servidor Puppet Enterprise em. AWS Secrets Manager Para obter mais informações, consulte [Integração com AWS Secrets Manager](data-protection.md#data-protection-secrets-manager).

O passo a passo a seguir ajuda você a criar um mestre do Puppet OpsWorks para o Puppet Enterprise criando uma pilha. CloudFormation

**Topics**
+ [Pré-requisitos](#opspup-create-server-cfn-prereqs)
+ [Criar um Puppet Enterprise mestre no CloudFormation](#opspup-create-server-cfn-main)

## Pré-requisitos
<a name="opspup-create-server-cfn-prereqs"></a>

Antes de criar um novo Puppet master, crie os recursos externos do OpsWorks Puppet Enterprise que você precisará para acessar e gerenciar seu Puppet master. Para obter mais informações, consulte [Pré-requisitos](gettingstarted-opspup.md#gettingstarted-opspup-prereqs) na seção de Conceitos básicos deste guia.

Se você estiver criando um servidor que use um domínio personalizado, precisará de um domínio, um certificado e uma chave privada personalizados. Você deve especificar valores para todos esses três parâmetros em seu CloudFormation modelo. Para obter mais informações sobre os requisitos dos `CustomPrivateKey` parâmetros `CustomDomain``CustomCertificate`,, e, consulte [CreateServer](https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_CreateServer.html)a *Referência da API OpsWorks CM*.

Consulte a [seção OpsWorks -CM](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html) da Referência do Modelo *CloudFormation do Guia do Usuário* para saber mais sobre os valores suportados e necessários no CloudFormation modelo que você usa para criar seu servidor.

## Criar um Puppet Enterprise mestre no CloudFormation
<a name="opspup-create-server-cfn-main"></a>

Esta seção descreve como usar um CloudFormation modelo para criar uma pilha que cria um servidor mestre OpsWorks para o Puppet Enterprise. Você pode fazer isso usando o CloudFormation console ou AWS CLI o. Um [CloudFormation modelo de exemplo](samples/opsworkscm-puppet-server.zip) está disponível para você usar para criar uma pilha de servidores OpsWorks para o Puppet Enterprise. Certifique-se de atualizar o modelo de exemplo com suas próprias informações de nome do servidor, perfis do IAM, perfil de instância, descrição do servidor, contagem de retenção de backup, opções de manutenção e tags opcionais. Se o servidor usar um domínio personalizado, você deverá especificar valores para os parâmetros `CustomDomain`, `CustomCertificate` e `CustomPrivateKey` no modelo do CloudFormation . Para obter mais informações sobre essas opções, consulte [Crie um Puppet Enterprise Master usando o Console de gerenciamento da AWS](gettingstarted-opspup-create.md#gettingstarted-opspup-create-console) na seção de Conceitos básicos deste guia.

**Topics**
+ [Crie um Puppet Enterprise Master usando CloudFormation (Console)](#opspup-create-server-cfn-console)
+ [Crie um Puppet Enterprise Master usando CloudFormation (CLI)](#opspup-create-server-cfn-cli)

### Crie um Puppet Enterprise Master usando CloudFormation (Console)
<a name="opspup-create-server-cfn-console"></a>

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

1. Na página CloudFormation inicial, escolha **Criar pilha**.

1. Em **Prerequisite - Prepare template (Pré-requisito — Preparar modelo)**, se você estiver usando o [modelo do CloudFormation de exemplo](samples/opsworkscm-puppet-server.zip), escolha **Template is ready (O modelo está pronto)**.

1. Em **Specify template (Especificar modelo)**, escolha a origem do seu modelo. Para este passo a passo, escolha **Carregar um arquivo de modelo** e carregue um CloudFormation modelo que crie um servidor Puppet Enterprise. Procure seu arquivo de modelo e escolha **Next (Próximo)**.

   Um CloudFormation modelo pode estar no formato YAML ou JSON. Um [CloudFormation modelo de exemplo](samples/opsworkscm-puppet-server.zip) está disponível para você usar; certifique-se de substituir os valores de exemplo pelos seus. Você pode usar o designer CloudFormation de modelos para criar um novo modelo ou validar um existente. Para obter mais informações sobre como fazer isso, consulte [Visão geral da interface do CloudFormation Designer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer-overview.html) no *Guia do usuário do CloudFormation *.  
![\[CloudFormation Criar página de pilha\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/cfn_select_template.png)

1. Na página **Specify stack details (Especificar detalhes da pilha)**, insira um nome para a pilha. Ele não será o mesmo que o nome do servidor, apenas o nome de uma pilha. Na área **Parameters (Parâmetros)**, insira uma senha de administrador para fazer login na página da web do console do Puppet Enterprise. A senha deve ter entre 8 e 32 caracteres ASCII. Escolha **Próximo**.  
![\[Especifique a página de detalhes em CloudFormation\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/cfn_template_params.png)

1. Na página **Opções**, você pode adicionar tags ao servidor que está criando com a pilha e escolher um perfil do IAM para criar recursos, caso ainda não tenha especificado um perfil do IAM a ser usado no modelo. Quando terminar de especificar as opções, selecione **Next (Próximo)**. *Para obter mais informações sobre opções avançadas, como acionadores de reversão, consulte [Configurando opções de CloudFormation pilha](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-add-tags.html) no Guia do usuário.CloudFormation *

1. Na página **Analisar**, examine suas escolhas. Quando estiver pronto para criar a pilha do servidor, selecione **Create (Criar)**.

   Enquanto você espera para criar CloudFormation a pilha, veja o status de criação da pilha. Se a criação da pilha falhar, analise as mensagens de erro mostradas no console para ajudá-lo a resolver os problemas. Para obter mais informações sobre como solucionar problemas de erros em pilhas do CloudFormation , consulte [Solução de problemas de erros](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors) no *Guia do usuário do CloudFormation *.

   **Quando a criação do servidor estiver concluída, seu mestre do Puppet estará disponível na OpsWorks página inicial do Puppet Enterprise, com o status de online.** Depois que o servidor estiver online, o console do Puppet Enterprise estará disponível no domínio do servidor, em um URL no seguinte formato: `https://your_server_name-randomID.region.opsworks-cm.io`.
**nota**  
Se você especificou um domínio, certificado e chave privada personalizados para seu servidor, crie uma entrada CNAME na ferramenta de gerenciamento de DNS da sua empresa que mapeie seu domínio personalizado para o endpoint gerado automaticamente OpsWorks para o servidor pelo Puppet Enterprise. Não é possível gerenciar o servidor ou se conectar ao site de gerenciamento do Puppet Enterprise para o servidor até que você mapeie o endpoint gerado para o valor do domínio personalizado.  
Para obter o valor do endpoint gerado, execute o seguinte AWS CLI comando depois que seu servidor estiver on-line:  

   ```
   aws opsworks describe-servers --server-name server_name
   ```

### Crie um Puppet Enterprise Master usando CloudFormation (CLI)
<a name="opspup-create-server-cfn-cli"></a>

Se seu computador local ainda não estiver executando o AWS CLI, faça o download e instale-o AWS CLI seguindo [as instruções de instalação](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) no *Guia do usuário da interface de linha de comando da AWS*. Esta seção não descreve todos os parâmetros que você pode usar com o comando **create-stack**. Para obter mais informações sobre os parâmetros do **create-stack**, consulte [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html) na *Referência da AWS CLI *.

1. Certifique-se de preencher o formulário [Pré-requisitos](gettingstarted-opspup.md#gettingstarted-opspup-prereqs) para criar um mestre OpsWorks para o Puppet Enterprise.

1. Crie uma função de serviço e um perfil de instância.

   Encontre e copie as funções ARNs de serviço em sua conta.

   ```
   aws iam list-roles --path-prefix "/service-role/" --no-paginate
   ```

   Nos resultados do comando `list-roles`, procure pelas entradas da função de serviço e do perfil de instância que sejam semelhantes aos seguintes. Anote a função de serviço e o perfil ARNs da instância e adicione-os ao CloudFormation modelo que você está usando para criar sua pilha de servidores mestre do Puppet.

1. Crie o master OpsWorks for Puppet Enterprise executando o **create-stack** comando novamente.
   + *stack\$1name*Substitua pelo nome da sua pilha. Esse é o nome da CloudFormation pilha, não do seu mestre de marionetes. O nome do Puppet mestre é o valor de `ServerName` no modelo do CloudFormation .
   + *template*Substitua pelo caminho do arquivo de modelo e pela extensão *yaml or json* por `.yaml` ou `.json` conforme apropriado.
   + Os valores de `--parameters` correspondem aos [EngineAttributes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-engineattributes)da [CreateServer](https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_CreateServer.html)API. Para o Puppet, veja a seguir os atributos do mecanismo fornecidos pelo usuário para criar um servidor. Os atributos do mecanismo r10k conectam o Puppet mestre a um repositório de códigos para gerenciar a configuração do ambiente do servidor. Para obter mais informações sobre os atributos do mecanismo r10k, consulte [Managing code with r10k](https://puppet.com/docs/pe/2019.8/r10k.html) (Gerenciar código com r10k) na documentação do Puppet Enterprise.
     + `PUPPET_ADMIN_PASSWORD`, uma senha de administrador para fazer login na página da web do console do Puppet Enterprise. A senha deve usar de 8 a 32 caracteres ASCII e exige pelo menos uma letra maiúscula, uma minúscula, um número e um caractere especial.
     + `PUPPET_R10K_REMOTE`, o URL do repositório de controle (por exemplo, ssh://git@your.git-repo.com:user/control-repo.git). Especificar um r10k remoto abre a porta TCP 8170.
     + `PUPPET_R10K_PRIVATE_KEY`. Se você estiver usando um repositório Git privado, adicione PUPPET\$1R10K\$1PRIVATE\$1KEY para especificar um URL de SSH e uma chave SSH privada codificada por PEM.

   ```
   aws cloudformation create-stack --stack-name stack_name --template-body file://template.yaml or json --parameters ParameterKey=AdminPassword,ParameterValue="password"
   ```

   Veja um exemplo do a seguir:

   ```
   aws cloudformation create-stack --stack-name "OpsWorksCMPuppetServerStack" --template-body file://opsworkscm-puppet-server.json --parameters ParameterKey=AdminPassword,ParameterValue="09876543210Ab#"
   ```

   O exemplo a seguir especifica os atributos do mecanismo r10k como parâmetros, quando eles não são fornecidos no modelo. CloudFormation Um exemplo de modelo que inclui os atributos do mecanismo r10k, `puppet-server-param-attributes.yaml`, está incluso no [exemplo de modelos do CloudFormation](samples/opsworkscm-puppet-server.zip).

   ```
   aws cloudformation create-stack --stack-name MyPuppetStack --template-body file://puppet-server-param-attributes.yaml --parameters ParameterKey=AdminPassword,ParameterValue="superSecret1%3" ParameterKey=R10KRemote,ParameterValue="https://www.yourRemote.com" ParameterKey=R10KKey,ParameterValue="$(cat puppet-r10k.pem)"
   ```

   O exemplo a seguir especifica os atributos do mecanismo r10k e seus valores no modelo do CloudFormation ; o comando precisa apenas indicar o arquivo do modelo. O modelo especificado como o valor de `--template-body`, `puppet-server-in-file-attributes.yaml`, está incluso no [exemplo de modelos do CloudFormation](samples/opsworkscm-puppet-server.zip).

   ```
   aws cloudformation create-stack --stack-name MyPuppetStack --template-body file://puppet-server-in-file-attributes.yaml
   ```

1. (Opcional) Para obter o status da criação da pilha, execute o comando a seguir.

   ```
   aws cloudformation describe-stacks --stack-name stack_name 
   ```

1. Quando a criação da pilha for concluída, vá para a próxima seção, [Configurar o Puppet master usando o Starter Kit](opspup-starterkit.md). Se a criação da pilha falhar, analise as mensagens de erro mostradas no console para ajudá-lo a resolver os problemas. Para obter mais informações sobre como solucionar erros em CloudFormation pilhas, consulte [Solução de problemas](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors) no *Guia do CloudFormation usuário*.