

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

# Começando a usar o OpsWorks Stacks
<a name="gettingstarted_intro"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

OpsWorks O Stacks fornece um rico conjunto de componentes personalizáveis que você pode misturar e combinar para criar uma pilha que satisfaça seus propósitos específicos. O desafio para os novos usuários é entender como montar esses componentes em uma pilha e como gerenciá-la com eficácia. Veja como você pode começar.


| Se você deseja... | Conclua esta demonstração: | 
| --- | --- | 
| Criar uma pilha de exemplo o mais rápido possível | [Conceitos básicos: exemplo](gettingstarted-intro.md)  | 
| Fazer experiências com uma pilha baseada no Linux | [Conceitos básicos: Linux](gettingstarted-linux.md) | 
| Fazer experiências com uma pilha baseada no Windows | [Conceitos básicos: Windows](gettingstarted-windows.md) | 
| Saiba como criar seus próprios livros de receitas do Chef | [Conceitos básicos: livros de receitas](gettingstarted-cookbooks.md) | 

Se você tem recursos de computação existentes, como EC2 instâncias da Amazon ou até mesmo instâncias *locais* que estão sendo executadas em seu próprio hardware, você pode [incorporá-los em uma pilha, junto com as instâncias que você criou com o Stacks](registered-instances.md). OpsWorks Em seguida, você pode usar o OpsWorks Stacks para gerenciar todas as instâncias relacionadas como um grupo, independentemente de como elas foram criadas.

## Suporte regional
<a name="gettingstarted-intro-region"></a>

Você pode acessar o OpsWorks Stacks globalmente; você também pode criar e gerenciar instâncias globalmente. Os usuários podem configurar instâncias do OpsWorks Stacks para serem lançadas em qualquer AWS região, exceto AWS GovCloud (Oeste dos EUA) e na região da China (Pequim). Para trabalhar com o OpsWorks Stacks, as instâncias precisam ser capazes de se conectar a um dos seguintes endpoints da API do serviço de instâncias do OpsWorks Stacks.

Os recursos podem ser gerenciados apenas na região em que são criados. Os recursos que são criados em um único endpoint regional não estão disponíveis, nem podem ser clonados para outro endpoint regional. Você pode iniciar instâncias em qualquer uma das regiões a seguir.
+ Região Leste dos EUA (Ohio)
+ Região Leste dos EUA (Norte da Virgínia)
+ Região Oeste dos EUA (Oregon)
+ Região Oeste dos EUA (Norte da Califórnia).
+ Região do Canadá (Central) (somente API, não disponível para pilhas criadas no Console de gerenciamento da AWS.)
+ Região Ásia-Pacífico (Mumbai)
+ Região Ásia-Pacífico (Singapura)
+ Região Ásia-Pacífico (Sydney)
+ Região Ásia-Pacífico (Tóquio)
+ Região Ásia-Pacífico (Seul)
+ Região Europa (Frankfurt)
+ Região Europa (Irlanda)
+ Região Europa (Londres)
+ Região Europa (Paris)
+ Região América do Sul (São Paulo)

# Conceitos básicos de uma pilha de exemplo
<a name="gettingstarted-intro"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Este passo a passo mostra como usar o OpsWorks Stacks para criar rapidamente um ambiente de aplicativo Node.js de amostra com apenas alguns cliques do mouse e sem escrever código. Ao terminar, você tem uma instância do Amazon Elastic Compute Cloud (Amazon EC2) executando o Chef 12, um servidor HTTP Node.js e um aplicativo web que você pode usar para interagir com o Twitter e deixar comentários em uma página da web.

**nota**  
Como a conclusão desta demonstração cria automaticamente uma instância com um tipo de c3.large, você não poderá usar essa demonstração ou a ferramenta de criação **Pilha de exemplo** no OpsWorks Stacks no [Nível gratuito da AWS](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier-limits.html). [Embora o uso da ferramenta de criação **Sample Stack** em uma VPC crie uma instância t2.medium VPCs , elas não estão disponíveis atualmente no nível gratuito.AWS](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier-limits.html)

# Etapa 1: concluir os pré-requisitos
<a name="gettingstarted-intro-prerequisites"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Você deve concluir as seguintes etapas de configuração antes de iniciar a demonstração. Essas etapas de configuração incluem se inscrever em uma AWS conta, criar um usuário administrativo e atribuir permissões de acesso ao OpsWorks Stacks.

**Topics**
+ [Inscreva-se para um Conta da AWS](#sign-up-for-aws)
+ [Criar um usuário com acesso administrativo](#create-an-admin)
+ [Atribuir permissões de acesso ao serviço](#gettingstarted-intro-prerequisites-permissions)

## Inscreva-se para um Conta da AWS
<a name="sign-up-for-aws"></a>

Se você não tiver um Conta da AWS, conclua as etapas a seguir para criar um.

**Para se inscrever em um Conta da AWS**

1. Abra a [https://portal.aws.amazon.com/billing/inscrição.](https://portal.aws.amazon.com/billing/signup)

1. Siga as instruções online.

   Parte do procedimento de inscrição envolve receber uma chamada telefônica ou uma mensagem de texto e inserir um código de verificação pelo teclado do telefone.

   Quando você se inscreve em um Conta da AWS, um *Usuário raiz da conta da AWS*é criado. O usuário-raiz tem acesso a todos os Serviços da AWS e recursos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar [tarefas que exigem acesso de usuário-raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS envia um e-mail de confirmação após a conclusão do processo de inscrição. A qualquer momento, você pode visualizar a atividade atual da sua conta e gerenciar sua conta acessando [https://aws.amazon.com/e](https://aws.amazon.com/) escolhendo **Minha conta**.

## Criar um usuário com acesso administrativo
<a name="create-an-admin"></a>

Depois de se inscrever em um Conta da AWS, proteja seu Usuário raiz da conta da AWS Centro de Identidade do AWS IAM, habilite e crie um usuário administrativo para que você não use o usuário root nas tarefas diárias.

**Proteja seu Usuário raiz da conta da AWS**

1.  Faça login [Console de gerenciamento da AWS](https://console.aws.amazon.com/)como proprietário da conta escolhendo **Usuário raiz** e inserindo seu endereço de Conta da AWS e-mail. Na próxima página, insira a senha.

   Para obter ajuda ao fazer login usando o usuário-raiz, consulte [Fazer login como usuário-raiz](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) no *Guia do usuário do Início de Sessão da AWS *.

1. Habilite a autenticação multifator (MFA) para o usuário-raiz.

   Para obter instruções, consulte [Habilitar um dispositivo de MFA virtual para seu usuário Conta da AWS raiz (console) no Guia](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) do *usuário do IAM*.

**Criar um usuário com acesso administrativo**

1. Habilita o Centro de Identidade do IAM.

   Para obter instruções, consulte [Habilitar o Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

1. No Centro de Identidade do IAM, conceda o acesso administrativo a um usuário.

   Para ver um tutorial sobre como usar o Diretório do Centro de Identidade do IAM como fonte de identidade, consulte [Configurar o acesso do usuário com o padrão Diretório do Centro de Identidade do IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html) no *Guia Centro de Identidade do AWS IAM do usuário*.

**Iniciar sessão como o usuário com acesso administrativo**
+ Para fazer login com o seu usuário do Centro de Identidade do IAM, use o URL de login enviado ao seu endereço de e-mail quando o usuário do Centro de Identidade do IAM foi criado.

  Para obter ajuda para fazer login usando um usuário do IAM Identity Center, consulte Como [fazer login no portal de AWS acesso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) no *Guia Início de Sessão da AWS do usuário*.

**Atribuir acesso a usuários adicionais**

1. No Centro de Identidade do IAM, crie um conjunto de permissões que siga as práticas recomendadas de aplicação de permissões com privilégio mínimo.

   Para obter instruções, consulte [Criar um conjunto de permissões](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-create-a-permission-set.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

1. Atribua usuários a um grupo e, em seguida, atribua o acesso de logon único ao grupo.

   Para obter instruções, consulte [Adicionar grupos](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

## Atribuir permissões de acesso ao serviço
<a name="gettingstarted-intro-prerequisites-permissions"></a>

Ative o acesso ao serviço OpsWorks Stacks (e aos serviços relacionados dos quais o OpsWorks Stacks depende) adicionando as `AmazonS3FullAccess` permissões `AWSOpsWorks_FullAccess` e à sua função ou usuário.

Para obter mais informações sobre adicionar permissões, consulte [Adicionar permissões de identidade do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console).

Agora você concluiu todas as etapas de configuração e pode [iniciar esta demonstração.](gettingstarted-intro-create-stack.md)

# Etapa 2: criar uma stack
<a name="gettingstarted-intro-create-stack"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Nesta etapa, você usa o console OpsWorks Stacks para criar uma pilha. Uma *pilha* é uma coleção de instâncias (como EC2 instâncias da Amazon) e AWS recursos relacionados que têm um propósito comum e que você deseja gerenciar juntos. (Para ter mais informações, consulte [Pilhas](workingstacks.md).) Há apenas uma instância para esta demonstração.

Antes de iniciar esta etapa, conclua os [pré-requisitos](gettingstarted-intro-prerequisites.md).

**Para criar a pilha**

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

1. Execute a ação que melhor se aplica:
   + Se a página **Bem-vindo às OpsWorks pilhas** for exibida, escolha **Adicionar sua primeira pilha ou Adicionar sua primeira pilha** **de OpsWorks pilhas** (ambas as opções fazem a mesma coisa). A página **Add stack** será exibida.
   + Se a página **OpsWorks Painel** for exibida, escolha **Adicionar pilha**. A página **Add stack** será exibida.

1. Com a página **Add stack** exibida, escolha **Sample stack**, caso ela ainda não tenha sido escolhida para você.

1. Com **Linux** selecionado para **Operating system type**, escolha a opção **Create stack**:

     
![\[Add stack interface with options for Sample stack, Chef 12 stack, and Chef 11 stack.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-add-stack-console.png)

   

1. OpsWorks Stacks cria uma pilha chamada **My Sample Stack (**Linux). OpsWorks O Stacks também adiciona todos os componentes necessários para implantar o aplicativo na pilha:
   + Uma *camada*, que é um esquema para um conjunto de instâncias. Ela especifica as configurações, os recursos, os pacotes instalados e os grupos de segurança da instância. (Para ter mais informações, consulte [Layers](workinglayers.md).) A camada é chamada **Node.js App Server**.
   + Uma *instância*, que nesse caso é uma EC2 instância do Amazon Linux 2. (Para obter mais informações sobre as instâncias, consulte [Instâncias](workinginstances.md)). O nome de host da instância é **nodejs-server1**.
   + Um *aplicativo*, que é o código a ser executado na instância. (Para obter mais informações sobre aplicativos, consulte [Apps](workingapps.md)). O aplicativo é chamado **Node.js Sample App**.

1. ****Depois que o OpsWorks Stacks criar a pilha, escolha **Explorar a pilha de amostra** para exibir a página **Minha pilha de amostras (Linux)** (se você concluir essa explicação passo a passo várias vezes, **Minha pilha de amostras (Linux)** poderá ter um número sequencial depois dela, como 2 ou 3):****

     
![\[Checklist showing completed steps for setting up a sample stack with Node.js App Server.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-add-stack-explore-console.png)

   

Na [próxima etapa](gettingstarted-intro-start-instance.md), você iniciará a instância e implantará o aplicativo na instância.

# Etapa 3: Iniciar a instância e implantar o aplicativo
<a name="gettingstarted-intro-start-instance"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Agora que você tem uma instância e um aplicativo, inicie a instância e implante o aplicativo na instância.

**Para iniciar a instância e implantar o aplicativo**

1. Execute um destes procedimentos:
   + No painel de navegação de serviços, escolha **Instances**:

       
![\[Menu options including Stack, Layers, and Instances with Instances circled in red.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-nav-pane-console.png)

     
   + Na página **My Sample Stack (Linux)**, escolha **Instances**:

       
![\[AWS stack interface showing layers and instances, with one Node.js App Server instance stopped.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-instances-console.png)

     

1. Na página **Instances**, para **Node.js App Server**, **nodejs-server1**, escolha **start**:

     
![\[Node.js App Server interface showing a stopped instance with start and delete options.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-start-instance-console.png)

   

1. Não prossiga até que o círculo **online** fique verde brilhante. (Se você vir uma mensagem de falha, consulte [Guia de depuração e solução de problemas](troubleshoot.md)).

1. À medida que a instância está sendo configurada, o OpsWorks Stacks implanta o aplicativo na instância.

1. Os resultados devem se parecer com a captura de tela a seguir antes que você continue (se receber uma mensagem de falha, consulte [Guia de depuração e solução de problemas](troubleshoot.md).):

     
![\[OpsWorks instance dashboard showing one online Node.js App Server instance.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-instance-started-console.png)

   

Você agora tem uma instância com um aplicativo que foi implantado na instância.

Na [próxima etapa](gettingstarted-intro-test-app.md), você testará o aplicativo na instância.

# Etapa 4: Testar o aplicativo implantado na instância
<a name="gettingstarted-intro-test-app"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Testar os resultados da implantação do aplicativo na instância.

**Para testar a implantação na instância**

1. Com a página **Instances** sendo exibida a partir da etapa anterior, para **Node.js App Server**, **nodejs-server1**, **Public IP**, escolha o endereço IP.

     
![\[OpsWorks instance dashboard showing one online Node.js server in us-west-2a.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-instance-ip-console.png)

   

1. Na página da Web de congratulações, na caixa de texto **Leave a comment**, digite um comentário e escolha **Send** para testar o aplicativo. O aplicativo adiciona seu comentário à página da Web. Deixe comentários e escolha **Send** sempre que desejar.

     
![\[Congratulatory message for deploying first app with AWS OpsWorks, featuring stylized landmarks.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-test-app.png)

   

1. Se você tiver uma conta do Twitter, escolha **Tweetar** **ou Seguir @ AWSOps Works** e siga as instruções na tela para tweetar sobre o aplicativo ou seguir @ AWSOps Works.

Agora, você testou com sucesso o aplicativo implantado na instância.

Nas etapas restantes, você pode usar o console OpsWorks Stacks para explorar as configurações da pilha e seus componentes. Na [próxima etapa](gettingstarted-intro-explore-stack.md), inicie sua exploração ao examinar as configurações da pilha.

# Etapa 5: Explorar as configurações da pilha
<a name="gettingstarted-intro-explore-stack"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Examine como OpsWorks as pilhas configuram a pilha.

**Para exibir as configurações da pilha**

1. Na barra de navegação de serviços, escolha **Stack**. A página **My Sample Stack (Linux)** será exibida.

1. Escolha **Stack Settings**. A página **Settings My Sample Stack (Linux)** será exibida:

     
![\[Settings page for My Sample Stack (Linux) showing configuration details like region and OS.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-stack-page-console.png)

   

Para saber mais sobre muitas das configurações, escolha **Edit** e passe o mouse sobre cada uma das configurações. (Nem todas as configurações têm descrições na tela). Para ter mais informações sobre essas configurações, consulte [Criar uma nova pilha](workingstacks-creating.md).

Para explorar o livro de receitas do Chef usado neste passo a passo, abra o repositório [opsworks-linux-demo-cookbooks-nodejs](https://github.com/awslabs/opsworks-linux-demo-cookbook-nodejs) em. GitHub

Na [próxima etapa](gettingstarted-intro-explore-layer.md), você poderá explorar as configurações da camada.

# Etapa 6: Explorar as configurações da camada
<a name="gettingstarted-intro-explore-layer"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Examine como OpsWorks as pilhas configuram a camada.

**Para exibir as configurações da camada**

1. No painel de navegação de serviços, escolha **Layers**. A página **Layers** será exibida.

1. Escolha **Node.js App Server**. A página **Layer Node.js App Server** será exibida. Para ver as configurações da camada, escolha **General Settings**, **Recipes**, **Network**, **EBS Volumes** e **Security**:

     
![\[Node.js App Server layer settings with name, short name, and configuration options.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-layers-page-console.png)

   

Para saber mais sobre muitas das configurações, escolha **Edit** e passe o mouse sobre cada uma das configurações. (Nem todas as configurações têm descrições na tela). Para ter mais informações sobre essas configurações, consulte [Editando a configuração de uma OpsWorks camada](workinglayers-basics-edit.md).

Na [próxima etapa](gettingstarted-intro-explore-instance.md), você poderá explorar as configurações e os logs da instância.

# Etapa 7: Explorar as configurações e os logs da instância
<a name="gettingstarted-intro-explore-instance"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Examine as configurações que o OpsWorks Stacks usou para iniciar a instância. Você também pode examinar os registros de instância criados pelo OpsWorks Stacks.

**Para exibir as configurações e os logs da instância**

1. No painel de navegação de serviços, escolha **Instances**. A página **Instances** é exibida.

1. Para **Node.js App Server**, escolha **nodejs-server1**. A página de propriedades da instância é mostrada.

     
![\[Details of a stopped Node.js server instance on AWS, showing configuration and resource information.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-instance-details-page-console.png)

   

1. Para explorar os logs da instância, na seção **Logs**, para **Log**, escolha **show**.

     
![\[Log entries showing configure and setup commands with timestamps and durations.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-instance-details-logs-console.png)

   

1. OpsWorks O Stacks exibe o registro em uma guia separada do navegador.

     
![\[Log output showing AWS OpsWorks instance startup and chef-client initialization process.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-instance-log-console.png)

   

Para saber mais sobre o que algumas das configurações da instância representam, volte para a página **nodejs-server1**, escolha **Stop** e quando vir a mensagem de confirmação, escolha **Stop**. Escolha **Edit** depois que o **Status** mudar de **stopping** para **stopped** e passe o mouse sobre cada uma das configurações. (Nem todas as configurações têm descrições na tela). Para ter mais informações sobre essas configurações, consulte [Adicionar uma instância a uma camada](workinginstances-add.md).

Quando terminar de examinar as configurações, escolha **Start** para reiniciar a instância e aguarde até o **Status** mudar para **online**. Caso contrário, você não poderá testar o aplicativo mais tarde, porque a instância permanecerá interrompida.

**nota**  
Se quiser fazer login na instância para explorá-la ainda mais, primeiro forneça às OpsWorks pilhas informações sobre sua chave SSH pública (que você pode criar com ferramentas como ssh-keygen ou PuTTYgen) e, em seguida, definir permissões na pilha **My Sample Stack (Linux)** para permitir que o usuário faça login na instância. Para obter instruções, consulte [Registro de uma chave SSH pública de um usuário](security-settingsshkey.md) e [Login com SSH](workinginstances-ssh.md).

Na [próxima etapa](gettingstarted-intro-explore-app.md), explore as configurações do aplicativo.

# Etapa 8: Explorar os configurações do aplicativo
<a name="gettingstarted-intro-explore-app"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Examine as configurações que o OpsWorks Stacks usou para o aplicativo.

**Para exibir as configurações do aplicativo**

1. No painel de navegação do serviço, selecione **Apps**. A página **Aplicativos** será exibida.

1. Escolha **Node.js Sample App**. A página **App Node.js Sample App** será exibida:

     
![\[Node.js Sample App settings page showing app details, source, and data sources.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-app-details-page-console.png)

   

Para saber mais sobre o que algumas das configurações representam, escolha **Edit** e passe o mouse sobre cada uma das configurações. (Nem todas as configurações têm descrições na tela). Para obter mais informações sobre essas configurações, consulte [Adição de aplicativos](workingapps-creating.md).

Na [próxima etapa](gettingstarted-intro-explore-monitoring.md), você poderá explorar os relatórios de monitoramento de camada.

# Etapa 9: Explorar os relatórios de monitoramento de camada
<a name="gettingstarted-intro-explore-monitoring"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Examine os relatórios que o OpsWorks Stacks gera sobre o desempenho computacional da camada.

**Para exibir os relatórios de monitoramento de camada**

1. No painel de navegação de serviços, escolha **Monitoring**. A página **Monitoring Layers** será exibida.

1. Para explorar exibições adicionais, escolha a seta ao lado de **CPU**, **Memory**, **Load** e o tempo:  
![\[Monitoring Layers dashboard showing CPU, Memory, Load, and Processes metrics with expandable options.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-monitoring-page-console.png)

Para obter mais informações sobre esses e outros relatórios, consulte [Usando a Amazon CloudWatch](monitoring-cloudwatch.md) e [Monitoramento](monitoring.md).

Na [próxima etapa](gettingstarted-intro-explore-more.md), você poderá explorar configurações de pilha adicionais.

# Etapa 10: Explorar configurações adicionais de pilha
<a name="gettingstarted-intro-explore-more"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Nesta etapa, você pode examinar as configurações adicionais de pilha.

OpsWorks ****As pilhas não executaram implantações separadas, não provisionaram recursos adicionais e não ajustaram permissões adicionais como parte dessa pilha, portanto, não há muito interesse nas páginas **Implantações e Comandos, Recursos e Permissões**.**** Se mesmo assim você quiser ver essas configurações, escolha **Deployments**, **Resources** e **Permissions** no painel de navegação de serviço, respectivamente. Se você quiser obter mais informações sobre o que essas páginas representam, consulte [Implementação de aplicativos](workingapps-deploying.md), [Gerenciamento de recursos](resources.md) e [Gerenciamento de permissões de usuário](opsworks-security-users.md).

Na [próxima etapa](gettingstarted-intro-clean-up.md), você pode limpar os AWS recursos que você usou para este passo a passo. Essa próxima etapa é opcional. Talvez você queira continuar usando esses AWS recursos à medida que continua aprendendo mais sobre OpsWorks as pilhas. No entanto, manter esses AWS recursos disponíveis pode resultar em algumas cobranças contínuas em sua AWS conta. Se quiser manter esses AWS recursos disponíveis para uso posterior, você concluiu este passo a passo e pode pular para. [Próximas etapas](gettingstarted-intro-next-steps.md)

# Etapa 11 (opcional): limpeza
<a name="gettingstarted-intro-clean-up"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Para evitar cobranças adicionais em sua AWS conta, você pode excluir o aplicativo e os AWS recursos que foram usados para esse passo a passo, incluindo a instância e a OpsWorks pilha Stacks. (Para obter mais informações, consulte [OpsWorks Preços](https://aws.amazon.com/opsworks/pricing/).) No entanto, talvez você queira continuar usando esses AWS recursos à medida que continua aprendendo mais sobre OpsWorks as pilhas. Se quiser manter esses AWS recursos disponíveis, você concluiu este passo a passo e pode pular para. [Próximas etapas](gettingstarted-intro-next-steps.md)

O conteúdo armazenado nos recursos que você criou para essa demonstração pode conter informações de identificação pessoal. Se você não quer mais que essas informações sejam armazenadas pela AWS, siga as etapas neste tópico.

**Para excluir o aplicativo da pilha**

1. No painel de navegação do serviço, selecione **Apps**. A página **Apps** será exibida.

1. Para **Node.js Sample App**, **Actions**, escolha **delete**. Quando a mensagem de confirmação for exibida, escolha **Delete**. Quando o aplicativo for excluído, você verá a mensagem **No apps**.

**Para deletar a instância da pilha**

1. No painel de navegação de serviços, escolha **Instances**. A página **Instances** é exibida.

1. Para **Node.js App Server**, **nodejs-server1**, **Actions**, escolha **stop**. Quando a mensagem de confirmação for exibida, escolha **Stop**.

   Esse processo pode levar alguns minutos. Quando OpsWorks as pilhas terminarem, os seguintes resultados serão mostrados.

     
![\[Node.js App Server instance details showing one stopped server in us-west-2a.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-example-instance-stopped-console.png)

   

1. Em **Actions**, selecione **delete**. Quando a mensagem de confirmação for exibida, escolha **Delete**. A instância é excluída e a mensagem **No instances** é exibida.

**Para excluir a pilha**

1. No painel de navegação de serviços, escolha **Stack**. A página **My Sample Stack (Linux)** é exibida.

1. Escolha **Delete Stack**. Quando a mensagem de confirmação for exibida, escolha **Delete**. A pilha é excluída e a página do **OpsWorksPainel** é exibida.

Opcionalmente, você pode excluir o usuário e o par de EC2 chaves da Amazon que você usou para este passo a passo, se não quiser reutilizá-los para acessar outros AWS serviços e instâncias. EC2 Para obter instruções, consulte [Excluir um usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) e [pares de EC2 chaves e instâncias Linux da Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#delete-key-pair).

Você acabou de concluir essa apresentação. Para obter mais informações, consulte [Próximas etapas](gettingstarted-intro-next-steps.md).

# Próximas etapas
<a name="gettingstarted-intro-next-steps"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Agora que você concluiu este passo a passo, você pode aprender mais sobre como usar OpsWorks o Stacks:
+ Pratique recriar manualmente essa pilha sozinho usando OpsWorks pilhas. Consulte [Conceitos básicos: Linux](gettingstarted-linux.md).
+ Explore o livro de receitas e o aplicativo que OpsWorks Stacks usou para este passo a passo. Consulte [Aprendendo mais: Explore o livro de receitas usado nessa apresentação](gettingstarted-linux-explore-cookbook.md) e [Aprendendo mais: Explore o aplicativo usado nessa apresentação](gettingstarted-linux-explore-app-source.md) na demonstração [Conceitos básicos: Linux](gettingstarted-linux.md) complementar.
+ Pratique o uso OpsWorks do Stacks com instâncias do Windows. Consulte [Conceitos básicos: Windows](gettingstarted-windows.md).
+ Saiba mais sobre as pilhas ao aprender a [Criar uma nova pilha](workingstacks-creating.md).
+ Saiba mais sobre camadas ao [Editando a configuração de uma OpsWorks camada](workinglayers-basics-edit.md).
+ Saiba mais sobre as instâncias ao [Adicionar uma instância a uma camada](workinginstances-add.md).
+ Saiba mais sobre aplicativos ao [Implementação de aplicativos](workingapps-deploying.md).
+ Saiba mais sobre [Livros de receitas e receitas](workingcookbook.md).
+ Crie seus próprios livros de receitas. Consulte [Conceitos básicos: livros de receitas](gettingstarted-cookbooks.md).
+ Saiba mais sobre o controle de acesso às pilhas com [Segurança e permissões](workingsecurity.md).

# Conceitos básicos de Linux Stacks
<a name="gettingstarted-linux"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Neste passo a passo, você aprenderá a usar o OpsWorks Stacks para criar um ambiente de aplicativo Node.js. Ao terminar, você terá uma instância do Amazon Elastic Compute Cloud (Amazon EC2) executando o Chef 12, um servidor HTTP Node.js e um aplicativo web que você pode usar para interagir com o Twitter e deixar comentários em uma página da web.

O Chef é uma estrutura de terceiros para configurar e manter servidores, como EC2 instâncias, e como os aplicativos são implantados e mantidos nesses servidores. Se você não estiver familiarizado com o Chef, depois de concluir este passo a passo, recomendamos que você aprenda mais sobre o Chef para que possa aproveitar ao máximo tudo o que o OpsWorks Stacks tem a oferecer. (Para obter mais informações, consulte o site [Conheça o Chef](https://learn.chef.io/).)

OpsWorks O Stacks oferece suporte a quatro distribuições Linux: Amazon Linux, Ubuntu Server, CentOS e Red Hat Enterprise Linux. Para este passo a passo, usamos o Ubuntu Server. OpsWorks O Stacks também funciona com o Windows Server. Embora tenhamos um passo a passo equivalente para pilhas do Windows Server, recomendamos que você conclua esse passo primeiro para aprender conceitos básicos sobre OpsWorks Stacks e Chef que não se repetem lá. Depois de concluir essa explicação, consulte a explicação de [Conceitos básicos: Windows](gettingstarted-windows.md).



**Topics**
+ [Etapa 1: concluir os pré-requisitos](gettingstarted-linux-prerequisites.md)
+ [Etapa 2: criar uma stack](gettingstarted-linux-create-stack.md)
+ [Etapa 3: Adicionar uma camada à pilha](gettingstarted-linux-add-layer.md)
+ [Etapa 4: Especificar o aplicativo para implantar à instância](gettingstarted-linux-specify-app.md)
+ [Etapa 5: Executar uma instância](gettingstarted-linux-launch-instance.md)
+ [Etapa 6: Implantar o aplicativo à instância](gettingstarted-linux-deploy-app.md)
+ [Etapa 7: Testar o aplicativo implantado na instância](gettingstarted-linux-test-app.md)
+ [Etapa 8 (opcional): limpeza](gettingstarted-linux-clean-up.md)
+ [Próximas etapas](gettingstarted-linux-next-steps.md)
+ [Aprendendo mais: Explore o livro de receitas usado nessa apresentação](gettingstarted-linux-explore-cookbook.md)
+ [Aprendendo mais: Explore o aplicativo usado nessa apresentação](gettingstarted-linux-explore-app-source.md)

# Etapa 1: concluir os pré-requisitos
<a name="gettingstarted-linux-prerequisites"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Conclua as seguintes etapas de configuração antes de iniciar a demonstração. Essas etapas de configuração incluem se inscrever em uma AWS conta, criar um usuário administrativo e atribuir permissões de acesso ao OpsWorks Stacks. 

Se já tiver concluído a demonstração [Conceitos básicos: Amostra](https://docs.aws.amazon.com/opsworks/latest/userguide/gettingstarted-intro.html), então você atendeu aos pré-requisitos dessa demonstração e pode pular diretamente para [Etapa 2: criar uma stack](gettingstarted-linux-create-stack.md).

**Topics**
+ [Inscreva-se para um Conta da AWS](#sign-up-for-aws)
+ [Criar um usuário com acesso administrativo](#create-an-admin)
+ [Atribuir permissões de acesso ao serviço](#gettingstarted-linux-prerequisites-permissions)

## Inscreva-se para um Conta da AWS
<a name="sign-up-for-aws"></a>

Se você não tiver um Conta da AWS, conclua as etapas a seguir para criar um.

**Para se inscrever em um Conta da AWS**

1. Abra a [https://portal.aws.amazon.com/billing/inscrição.](https://portal.aws.amazon.com/billing/signup)

1. Siga as instruções online.

   Parte do procedimento de inscrição envolve receber uma chamada telefônica ou uma mensagem de texto e inserir um código de verificação pelo teclado do telefone.

   Quando você se inscreve em um Conta da AWS, um *Usuário raiz da conta da AWS*é criado. O usuário-raiz tem acesso a todos os Serviços da AWS e recursos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar [tarefas que exigem acesso de usuário-raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS envia um e-mail de confirmação após a conclusão do processo de inscrição. A qualquer momento, você pode visualizar a atividade atual da sua conta e gerenciar sua conta acessando [https://aws.amazon.com/e](https://aws.amazon.com/) escolhendo **Minha conta**.

## Criar um usuário com acesso administrativo
<a name="create-an-admin"></a>

Depois de se inscrever em um Conta da AWS, proteja seu Usuário raiz da conta da AWS Centro de Identidade do AWS IAM, habilite e crie um usuário administrativo para que você não use o usuário root nas tarefas diárias.

**Proteja seu Usuário raiz da conta da AWS**

1.  Faça login [Console de gerenciamento da AWS](https://console.aws.amazon.com/)como proprietário da conta escolhendo **Usuário raiz** e inserindo seu endereço de Conta da AWS e-mail. Na próxima página, insira a senha.

   Para obter ajuda ao fazer login usando o usuário-raiz, consulte [Fazer login como usuário-raiz](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) no *Guia do usuário do Início de Sessão da AWS *.

1. Habilite a autenticação multifator (MFA) para o usuário-raiz.

   Para obter instruções, consulte [Habilitar um dispositivo de MFA virtual para seu usuário Conta da AWS raiz (console) no Guia](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) do *usuário do IAM*.

**Criar um usuário com acesso administrativo**

1. Habilita o Centro de Identidade do IAM.

   Para obter instruções, consulte [Habilitar o Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

1. No Centro de Identidade do IAM, conceda o acesso administrativo a um usuário.

   Para ver um tutorial sobre como usar o Diretório do Centro de Identidade do IAM como fonte de identidade, consulte [Configurar o acesso do usuário com o padrão Diretório do Centro de Identidade do IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html) no *Guia Centro de Identidade do AWS IAM do usuário*.

**Iniciar sessão como o usuário com acesso administrativo**
+ Para fazer login com o seu usuário do Centro de Identidade do IAM, use o URL de login enviado ao seu endereço de e-mail quando o usuário do Centro de Identidade do IAM foi criado.

  Para obter ajuda para fazer login usando um usuário do IAM Identity Center, consulte Como [fazer login no portal de AWS acesso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) no *Guia Início de Sessão da AWS do usuário*.

**Atribuir acesso a usuários adicionais**

1. No Centro de Identidade do IAM, crie um conjunto de permissões que siga as práticas recomendadas de aplicação de permissões com privilégio mínimo.

   Para obter instruções, consulte [Criar um conjunto de permissões](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-create-a-permission-set.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

1. Atribua usuários a um grupo e, em seguida, atribua o acesso de logon único ao grupo.

   Para obter instruções, consulte [Adicionar grupos](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

## Atribuir permissões de acesso ao serviço
<a name="gettingstarted-linux-prerequisites-permissions"></a>

Ative o acesso ao serviço OpsWorks Stacks (e aos serviços relacionados dos quais o OpsWorks Stacks depende) adicionando as `AmazonS3FullAccess` permissões `AWSOpsWorks_FullAccess` e à sua função ou usuário.

Para obter mais informações sobre adicionar permissões, consulte [Adicionar permissões de identidade do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console).

Agora você concluiu todas as etapas de configuração e pode [iniciar esta demonstração.](gettingstarted-linux-create-stack.md)

# Etapa 2: criar uma stack
<a name="gettingstarted-linux-create-stack"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Você usará o console OpsWorks Stacks para criar uma pilha. Uma *pilha* é uma coleção de instâncias e AWS recursos relacionados que têm um propósito comum e que você deseja gerenciar juntos. (Para ter mais informações, consulte [Pilhas](workingstacks.md).) Para essa explicação, há apenas uma instância.

Antes de iniciar, conclua os [pré-requisitos](gettingstarted-linux-prerequisites.md), se ainda não o fez.

**Para criar a pilha**

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

1. Execute a ação que melhor se aplica:
   + Se a página **Bem-vindo às OpsWorks pilhas** for exibida, escolha **Adicionar sua primeira pilha ou Adicionar sua primeira pilha** **de OpsWorks pilhas** (ambas as opções fazem a mesma coisa). A página **Add stack** será exibida.
   + Se a página **OpsWorks Painel** for exibida, escolha **Adicionar pilha**. A página **Add stack** será exibida.

1. Com a página **Add stack** exibida, escolha **Chef 12 stack**, caso ela ainda não tenha sido escolhida para você.

1. Na caixa **Stack name (Nome da pilha)**, digite um nome, por exemplo **MyLinuxDemoStack**. (É possível inserir um nome diferente, mas substitua ele por `MyLinuxDemoStack` durante esta demonstração.)

1. Para **Região**, escolha **Oeste dos EUA (Oregon)**.

1. Para **VPC**, realize um destes procedimentos:
   + Escolha um VPC se essa opção estiver disponível. (Para ter mais informações, consulte [Execução de uma Stack em uma VPC](workingstacks-vpc.md).)
   + Caso contrário, escolha **No VPC**.

1. Para **Default operating system (Sistema operacional padrão)**, selecione **Linux** e **Ubuntu 18.04 LTS**.

1. Para **Use custom Chef cookbooks**, escolha **Yes**.

1. Para **Repository type**, escolha **Http Archive**.

1. Para **Repository URL (URL do repositório)**, digite **https://s3.amazonaws.com/opsworks-demo-assets/opsworks-linux-demo-cookbooks-nodejs.tar.gz**

1. Deixe os padrões para os seguintes:
   + **Default Availability Zone** (**us-west-2a**)
   + **Default SSH key** (**Do not use a default SSH key**)
   + **User name** (em branco)
   + **Password** (em branco)
   + **Stack color** (azul escuro)

1. Escolha **Advanced (Avançado)**.

1. Para **Perfil do IAM**, realize uma das seguintes ações (para mais informações, consulte [Permitindo que OpsWorks as pilhas ajam em seu nome](opsworks-security-servicerole.md)):
   + Escolha **aws-opsworks-service-role** se essa opção estiver disponível.
   + Se não **aws-opsworks-service-role**estiver disponível, escolha **Nova função do IAM**.

1. Para **Perfil de instância padrão do IAM**, realize uma das seguintes ações (para mais informações, consulte [Especificação de permissões para aplicativos executados em instâncias EC2](opsworks-security-appsrole.md)):
   + Se **aws-opsworks-ecduas funções** estiverem disponíveis, escolha-as.
   + Se **aws-opsworks-ec2 funções** não estiverem disponíveis, escolha **Novo perfil de instância do IAM**.

1. Para **API endpoint region**, escolha o endpoint API regional com o qual deseja que pilha esteja associada. Se quiser que a pilha esteja na região Oeste dos EUA (Oregon) dentro da região de endpoint regional Leste dos EUA (N. da Virgínia), escolha **us-east-1**. Se quiser que a pilha esteja na região Oeste dos EUA (Oregon) e associada com o endpoint regional Oeste dos EUA (Oregon) , escolha **us-west-2**.
**nota**  
O endpoint regional do Leste dos EUA (Norte da Virgínia) inclui versões mais antigas Regiões da AWS para fins de compatibilidade com versões anteriores, mas é uma prática recomendada escolher o endpoint regional mais próximo de onde você gerencia. AWS Para obter mais informações, consulte [Suporte regional](gettingstarted_intro.md#gettingstarted-intro-region).

1. Deixe os padrões para os seguintes:
   + **Tipo de dispositivo raiz padrão‭** (‭**Baseado em ‬EBS‭**)
   + **‬Tema do host‭name** (‭**Depende do nível**)
   + **OpsWorks Versão do agente** (versão mais recente)
   + **Custom JSON** (em branco)
   + **Use grupos OpsWorks de segurança** (**Sim**)

1. Os resultados devem corresponder às seguintes capturas de tela, com exceção de **VPC**, **perfil do IAM** e **perfil de instância padrão do IAM**:

     
![\[AWS OpsWorks Stacks interface for creating a Chef 12 stack with configuration options.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-add-stack-top-console.png)

     
![\[AWS OpsWorks stack configuration form with repository, IAM, and security options.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-add-stack-bottom-console.png)

   

1. Escolha **Adicionar pilha**. OpsWorks Stacks cria a pilha e exibe a **MyLinuxDemoStack**página.

Agora você tem uma pilha com as configurações corretas para essa explicação.

Na [próxima etapa](gettingstarted-linux-add-layer.md), você poderá adicionar uma camada à pilha.

# Etapa 3: Adicionar uma camada à pilha
<a name="gettingstarted-linux-add-layer"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

 Uma *camada* é um modelo para um conjunto de instâncias, como EC2 instâncias da Amazon. Ela especifica informações como os recursos, os pacotes instalados e os grupos de segurança da instância. Depois, adicione uma camada à pilha. (Para obter mais informações sobre camadas, consulte [Layers](workinglayers.md).)

**Para adicionar a camada à pilha**

1. Com a **MyLinuxDemoStack**página exibida na etapa anterior, em **Camadas**, escolha **Adicionar uma camada**: 

     
![\[Layers section with icon and description, highlighting "Add a layer" option.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-add-layer-console.png)

   

1. A página **Add Layer** será exibida. Na **OpsWorks**guia, em **Nome**, digite**MyLinuxDemoLayer**. (É possível inserir um nome diferente, mas substitua ele por `MyLinuxDemoLayer` durante esta demonstração.)

1. Para **Short name (Nome curto)**, digite **demo**(é possível inserir um valor diferente, mas garanta que a substituição foi feita pela demonstração `demo`):

     
![\[Form to add a layer with fields for name and short name, and options for OpsWorks, ECS, and RDS.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-add-layer-page-console.png)

   

1. Escolha **Adicionar camada**. OpsWorks Stacks cria a camada e exibe a página **Camadas**.

1. Na página **Camadas**, para **MyLinuxDemoLayer**, escolha **Rede**.

1. Na guia **Network**, em **Automatically Assign IP Addresses**, verifique se a opção **Public IP addresses** está definida como **yes**. Se tiver feito alterações, escolha **Save**.  
![\[Network settings showing Public IP addresses set to yes and Elastic IP addresses set to No.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/add_layer_publicip.png)

1. Na página **Layers**, selecione **Security**:

     
![\[AWS Layers interface showing MyLinuxDemoLayer with Security tab highlighted.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-layer-page-console.png)

   

1. A MyLinuxDemoLayer página **Camada** é exibida com a guia **Segurança** aberta. Para **grupos de segurança**, escolha **AWS- OpsWorks -** eWebApp, em seguida, selecione **Salvar**:

     
![\[Security settings interface showing security group selection and EC2 instance profile options.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-layer-security-console.png)

   

1. O grupo de segurança `AWS-OpsWorks-WebApp` é adicionado à camada. (Esse grupo de segurança permite que os usuários se conectem ao aplicativo na instância posteriormente neste passo a passo. Sem esse grupo de segurança, os usuários receberão uma mensagem no navegador da Web informando que não conseguem se conectar à instância.)

Agora você tem uma camada com as configurações corretas para essa explicação.

Na [próxima etapa](gettingstarted-linux-specify-app.md), você especificará o aplicativo para implantar à instância. 

# Etapa 4: Especificar o aplicativo para implantar à instância
<a name="gettingstarted-linux-specify-app"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Conte ao OpsWorks Stacks sobre o aplicativo que você implantará na instância posteriormente neste passo a passo. Nesse contexto, o OpsWorks Stacks define um *aplicativo* como código que você deseja executar em uma instância. (Para ter mais informações, consulte [Apps](workingapps.md).)

O procedimento descrito nesta seção se aplica a pilhas do Chef 12 e mais recentes. Para obter mais informações sobre como adicionar aplicativos a camadas nas pilhas do Chef 11, consulte [Etapa 2.4: Criar e implantar um aplicativo - Chef 11](gettingstarted-simple-app.md).

**Para especificar o aplicativo para implantar**

1. No painel de navegação do serviço, selecione **Apps**:

     
![\[Navigation menu with options including Stack, Layers, Instances, and Apps highlighted.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-nav-pane-console.png)

   

1. A página **Aplicativos** será exibida. Escolha **Add an app**. A página **Add App** será exibida.

1. Para **Settings (Configurações)**, em **Name (Nome)**, digite **MyLinuxDemoApp**. (É possível inserir um nome diferente, mas substitua ele por `MyLinuxDemoApp` durante esta demonstração.)

1. Para **Application Source (Origem do aplicativo)**, em **Repository URL (URL do repositório).**, digite **https://github.com/awslabs/opsworks-windows-demo-nodejs.git**

1. Deixe os padrões para os seguintes:
   + **Settings**, **Document root** (em branco)
   + **Fontes de dados‭**, ‭**‬Tipo de fonte de dados**‬ (‭**Nenhum**‬)
   + **Tipo de repositório** (‭**Git‭**‬)
   + **Repository SSH key** (em branco)
   + **Branch/Revision** (em branco)
   + **Environment Variables** (opção **KEY** em branco, **VALUE** em branco e **Protected Value** desmarcada)
   + **Add Domains**, **Domain Name** (em branco)
   + **Configurações de ‬SSL‭**‬, ‭**Habilitar SSL** (‭**‬No‭**‬)

     
![\[Add App form with settings for name, document root, data sources, and application source.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-add-app-top-console.png)

     
![\[Application configuration form with environment variables, domain settings, and SSL options.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-add-app-bottom-console.png)

   

1. Escolha **Adicionar aplicativo**. OpsWorks O Stacks adiciona o aplicativo e exibe a página **Aplicativos**.

Agora você tem um aplicativo com as configurações corretas para essa explicação.

Na [próxima etapa](gettingstarted-linux-launch-instance.md), você iniciará a instância.

# Etapa 5: Executar uma instância
<a name="gettingstarted-linux-launch-instance"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Use OpsWorks Stacks para iniciar uma EC2 instância do Ubuntu Server Amazon. Essa instância usa as configurações que você definiu na camada criada anteriormente nessa apresentação. (Para ter mais informações, consulte [Instâncias](workinginstances.md).)

**Para iniciar a instância**

1. No painel de navegação de serviços, escolha **Instances**. A página **Instances** será exibida.

1. Para **MyLinuxDemoLayer**, escolha **Adicionar uma instância**.

1. Na guia **New**, deixe os padrões da seguinte forma:
   + **Hostname**‬ (‭**‬demo1‭**‬)
   + **Tamanho** (**c3.large**)
   + **Sub-rede** (*IP address***us-west-2a**)

1. Escolha **Advanced (Avançado)**.

1. Deixe os padrões para os seguintes:
   + **Tipo de escalação** (**24/7**)
   + **Chave SSH** (**Não usar chave SSH padrão**)
   + **Operating system (Sistema operacional)** (**Ubuntu 18.04 LTS**)
   + **OpsWorks Versão do agente** (**herdar da pilha)**
   + **Locação** (**Padrão - usar as configurações de VPC**)
   + **Tipo de dispositivo raiz** (**Baseado em EBS**)
   + **Tipo de volume‭** (**Finalidade geral (SSD)**)
   + **Tamanho de volume** (**8**)

1. Seus resultados serão similares a captura de tela a seguir:

     
![\[Form for configuring a new EC2 instance with options for hostname, size, subnet, and other settings.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-add-instance-console.png)

   

1. Escolha **Adicionar instância**. OpsWorks Stacks adiciona a instância à camada e exibe a página **Instâncias**.

1. Para **MyLinuxDemoLayer**, para **demo1**, para **Ações**, escolha **iniciar**:

     
![\[Instance management interface showing a stopped demo1 instance with start and delete options.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-start-instance-console.png)

   

1. Durante vários minutos, o seguinte ocorre:
   + O círculo **setting up** muda de **0** para **1**. 
   + **Status** passa de **stopped** para **requested**, depois **pending**, **booting**, **running\$1setup** e, finalmente, para **online**. Observe que esse processo pode levar vários minutos.
   + Depois que **Status** muda para **online**, o indicador em círculo **setting up** muda de **1** para **0**, e o círculo **online** muda de **0** para **1**, em verde brilhante. Não prossiga até que o círculo **online** mude para um verde brilhante, e mostre a instância online **1**. 

1. Os resultados devem corresponder à captura de tela a seguir antes que você continue (se receber uma mensagem de falha, consulte [Guia de depuração e solução de problemas](troubleshoot.md)):

     
![\[EC2 instance details showing one online c3.large instance in us-west-2a with stop and ssh options.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-instance-started-console.png)

   

Agora você tem uma instância pronta para receber implantação do aplicativo. 

**nota**  
Se quiser fazer login na instância para explorá-la ainda mais, primeiro forneça às OpsWorks pilhas informações sobre sua chave SSH pública (que você pode criar com ferramentas como ssh-keygen ou PuTTYgen) e, em seguida, definir permissões na `MyLinuxDemoStack` pilha para permitir que o usuário faça login na instância. Para obter instruções, consulte [Registro de uma chave SSH pública de um usuário](security-settingsshkey.md) e [Login com SSH](workinginstances-ssh.md). Se você planeja usar SSH para se conectar a instâncias por meio do PuTTY, [consulte Conectando-se à sua instância Linux a partir do Windows usando o PuTTY](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html) na documentação. AWS 

Na [próxima etapa](gettingstarted-linux-deploy-app.md), você implantará o aplicativo à instância.

# Etapa 6: Implantar o aplicativo à instância
<a name="gettingstarted-linux-deploy-app"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Nesta etapa, você implantará o aplicativo na instância em execução. GitHub (Para ter mais informações, consulte [Implementação de aplicativos](workingapps-deploying.md).) Antes de implantar o aplicativo, você deve especificar a *receita* a ser usada para coordenar a implantação. Uma receita é conceito do Chef. Receitas são instruções, escritas com sintaxe de linguagem Ruby, que especifica os recursos a serem usados e a ordem em que esses recursos são aplicados. (Para obter mais informações sobre, vá para [Sobre receitas](https://docs.chef.io/recipes.html) no site [Aprender sobre Chef](https://learn.chef.io/).) 

**Para especificar a receita a ser usada para implantar o aplicativo à instância**

1. No painel de navegação de serviços, escolha **Layers**. A página **Layers** será exibida.

1. Para **MyLinuxDemoLayer**, escolha **Receitas**:

     
![\[Layer interface showing MyLinuxDemoLayer with tabs for Settings, Recipes, Network, EBS Volumes, and Security.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-layers-page-console.png)

   

   A MyLinuxDemoLayer página da **camada** é exibida com a guia **Receitas** aberta.

1. Para **Custom Chef Recipes (Receitas do Chef personalizadas)** e para **Deploy (Implantar)**, digite **nodejs\$1demo::default** e pressione **Enter**. `nodejs_demo` é o nome do livro de receitas e `default` é o nome da receita de destino dentro dele. (Para explorar o código da receita, consulte [Aprendendo mais: Explore o livro de receitas usado nessa apresentação](gettingstarted-linux-explore-cookbook.md).) Seus resultados devem ser compatíveis a captura de tela a seguir:

     
![\[Custom Chef Recipes configuration panel with Repository URL and lifecycle stages for a Linux demo layer.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-recipes-page-console.png)

   

1. Escolha **Salvar**. OpsWorks Stacks adiciona a receita ao evento Deploy lifecycle da camada.

**Para implantar o aplicativo à instância**

1. No painel de navegação do serviço, selecione **Apps**. A página **Apps** será exibida. 

1. Para **MyLinuxDemoApp**, em **Ações**, escolha **implantar**, conforme exibido na captura de tela a seguir:

     
![\[Apps table showing MyLinuxDemoApp with deploy, edit, and delete options.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-apps-page-console.png)

   

1. Na página **Deploy App**, deixe os padrões da seguinte forma:
   + **Comando‭** (**Implantar**)
   + **Comment** (em branco)
   + **Settings**, **Advanced** e **Custom Chef JSON** (em branco)
   + **Instâncias**, **Avançado** (marcado **Selecionar tudo**, marcado **MyLinuxDemoLayer**, marcado **demo1)**

1. Seus resultados devem ser compatíveis a captura de tela a seguir:

     
![\[Deploy App interface with settings for MyLinuxDemoApp, including command and instance selection.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-deploy-app-console.png)

   

1. Escolha **Implantar**. A página **Implantação MyLinuxDemoApp — implantação** é exibida. **Status** muda de **running** para **successful**. Um círculo giratório é exibido próximo a **demo1**, que depois muda para uma marca de verificação verde. Observe que esse processo pode levar vários minutos. Não prossiga até que veja o **Status** de **successful** e o ícone da marcação em verde.

1. Os resultados precisam corresponder à captura de tela a seguir, exceto para **Created at**, **Completed at**, **Duration** e **User**. Se **status** for **failed**, para a solução de problemas, em **Log**, escolha **show** e veja os detalhes da falha:

     
![\[Deployment details for MyLinuxDemoApp showing successful status and duration of 1 minute 13 seconds.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-app-deployed-console.png)

   

Agora, você implantou com sucesso o aplicativo à instância.

Na [próxima etapa](gettingstarted-linux-test-app.md), você testará o aplicativo implantado na instância.

# Etapa 7: Testar o aplicativo implantado na instância
<a name="gettingstarted-linux-test-app"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Agora, teste a implantação do aplicativo na instância.

**Para testar a implantação na instância**

1. No painel de navegação de serviços, escolha **Instances**. A página **Instances** será exibida.

1. Para **MyLinuxDemoLayer****demo1**, para **IP público**, escolha o endereço IP:

     
![\[EC2 instance details showing one online c3.large instance in us-west-2a with stop and ssh options.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-instance-ip-console.png)

   

   Uma nova guia de navegador da web exibe o aplicativo.

1. Na página da Web de congratulações, na caixa de texto **Leave a comment**, digite um comentário e escolha **Send** para testar o aplicativo. O aplicativo adiciona seu comentário à página da Web. Deixe comentários e escolha **Send** sempre que desejar:

     
![\[Congratulatory message for deploying first app with AWS OpsWorks, featuring stylized tree and buildings.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-test-app.png)

   

1. Se você tiver uma conta do Twitter, escolha **Tweetar** **ou Seguir @ AWSOps Works** e siga as instruções na tela para tweetar sobre o aplicativo ou seguir @ AWSOps Works.

Agora, você testou com sucesso o aplicativo implantado na instância.

Na [próxima etapa](gettingstarted-linux-clean-up.md), você pode limpar os AWS recursos que você usou para este passo a passo. Essa próxima etapa é opcional. Talvez você queira continuar usando esses AWS recursos à medida que continua aprendendo mais sobre OpsWorks as pilhas. No entanto, manter esses AWS recursos disponíveis pode resultar em algumas cobranças contínuas em sua AWS conta. Se quiser manter esses AWS recursos disponíveis para uso posterior, você concluiu este passo a passo e pode pular para. [Próximas etapas](gettingstarted-linux-next-steps.md)

# Etapa 8 (opcional): limpeza
<a name="gettingstarted-linux-clean-up"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Para evitar cobranças adicionais em sua AWS conta, você pode excluir os AWS recursos que foram usados para este passo a passo. Esses AWS recursos incluem a pilha de OpsWorks pilhas e os componentes da pilha. (Para obter mais informações, consulte [OpsWorks Preços](https://aws.amazon.com/opsworks/pricing/).) No entanto, talvez você queira continuar usando esses AWS recursos à medida que continua aprendendo mais sobre OpsWorks as pilhas. Se quiser manter esses AWS recursos disponíveis, você concluiu este passo a passo e pode pular para. [Próximas etapas](gettingstarted-linux-next-steps.md)

O conteúdo armazenado nos recursos que você criou para essa demonstração pode conter informações de identificação pessoal. Se você não quer mais que essas informações sejam armazenadas pela AWS, siga as etapas neste tópico.

**Para excluir o aplicativo da pilha**

1. **No console OpsWorks Stacks, no painel de navegação do serviço, escolha Apps.** A página **Aplicativos** será exibida.

1. Para **MyLinuxDemoApp**, em **Ações**, escolha **excluir**. Quando a mensagem de confirmação for exibida, escolha **Excluir**. OpsWorks O Stacks exclui o aplicativo.

**Para deletar a instância da pilha**

1. No painel de navegação de serviços, escolha **Instances**. A página **Instances** será exibida.

1. Para **MyLinuxDemoLayer**, para **demo1**, para **Ações**, escolha **parar**. Quando a mensagem de confirmação for exibida, escolha **Stop**. O seguinte acontece.
   + **Status** muda de **online** para **stopping** e, em um determinado momento, para **stopped**.
   + **online** muda de **1** para **0**.
   + **shutting down** muda de **0** para **1** e, em um determinado momento, de volta para **0**.
   + **stopped** muda, em determinado momento, de **0** para **1**.

   Esse processo pode levar alguns minutos. Quando OpsWorks as pilhas terminarem, os seguintes resultados serão exibidos.

     
![\[Instances dashboard showing one stopped Linux instance in the us-west-2a availability zone.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/gs-linux-instance-stopped-console.png)

   

1. Em **Actions**, selecione **delete**. Ao ver a mensagem de confirmação, escolha **Excluir**. OpsWorks Stacks exclui a instância e exibe a mensagem **Sem instâncias**.

**Para excluir a pilha**

1. No painel de navegação de serviços, escolha **Stack**. A página **MyLinuxDemoStack** será exibida.

1. Escolha **Delete Stack**. Ao ver a mensagem de confirmação, escolha **Excluir**. OpsWorks **Stacks exclui a pilha e exibe a página do OpsWorks Painel.**

Opcionalmente, você pode excluir o usuário e o par de EC2 chaves da Amazon que você usou para este passo a passo, se não quiser reutilizá-los para acessar outros AWS serviços e instâncias. EC2 Para obter instruções, consulte [Excluir um usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) e [pares de EC2 chaves e instâncias Linux da Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#delete-key-pair).

Você acabou de concluir essa apresentação. Para obter mais informações, consulte [Próximas etapas](gettingstarted-linux-next-steps.md).

# Próximas etapas
<a name="gettingstarted-linux-next-steps"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Agora que você concluiu este passo a passo, você pode aprender mais sobre como usar OpsWorks o Stacks:
+ Explore o livro de receitas e o aplicativo que você usou para esta demonstração. Consulte [Aprendendo mais: Explore o livro de receitas usado nessa apresentação](gettingstarted-linux-explore-cookbook.md) e [Aprendendo mais: Explore o aplicativo usado nessa apresentação](gettingstarted-linux-explore-app-source.md).
+ Pratique o uso OpsWorks do Stacks com instâncias do Windows. Consulte [Conceitos básicos: Windows](gettingstarted-windows.md).
+ Saiba mais sobre as pilhas ao aprender a [Criar uma nova pilha](workingstacks-creating.md).
+ Saiba mais sobre camadas ao [Editando a configuração de uma OpsWorks camada](workinglayers-basics-edit.md).
+ Saiba mais sobre as instâncias ao [Adicionar uma instância a uma camada](workinginstances-add.md).
+ Saiba mais sobre aplicativos ao [Implementação de aplicativos](workingapps-deploying.md).
+ Saiba mais sobre [Livros de receitas e receitas](workingcookbook.md).
+ Crie seus próprios livros de receitas. Consulte [Conceitos básicos: livros de receitas](gettingstarted-cookbooks.md).
+ Saiba mais sobre o controle de acesso às pilhas com [Segurança e permissões](workingsecurity.md).

# Aprendendo mais: Explore o livro de receitas usado nessa apresentação
<a name="gettingstarted-linux-explore-cookbook"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Este tópico descreve o livro de receitas que OpsWorks Stacks usou para o passo a passo.

Um *livro de receitas* é um conceito do Chef. Livros de receitas são arquivos mortos que contêm informações de configuração, como receitas, valores de atributo, arquivos, modelos, bibliotecas, definições e recursos personalizados. Uma *receita* também e um conceito do Chef. Receitas são instruções, escritas com sintaxe de linguagem Ruby, que especifica os recursos a serem usados e a ordem em que esses recursos são aplicados. Para mais informações, vá para [Sobre livros de receitas](https://docs.chef.io/cookbooks.html) e [Sobre receitas](https://docs.chef.io/recipes.html) no site [Saber sobre Chef](https://learn.chef.io/).

Para ver o conteúdo do livro de receitas usado neste passo a passo, extraia o conteúdo do arquivo [opsworks-linux-demo-cookbooks-nodejs.tar.gz](https://s3.amazonaws.com/opsworks-demo-assets/opsworks-linux-demo-cookbooks-nodejs.tar.gz) em um diretório vazio em sua estação de trabalho local. (Você também pode entrar na instância na qual implantou o livro de receitas e explorar os conteúdos do diretório `/var/chef/cookbooks`.)

O arquivo `default.rb` no diretório `cookbooks/nodejs_demo/recipes` é onde o livro de receitas executa seu código: 

```
app = search(:aws_opsworks_app).first
app_path = "/srv/#{app['shortname']}"

package "git" do
  options "--force-yes" if node["platform"] == "ubuntu" && node["platform_version"] == "18.04"
end

application app_path do
  javascript "4"
  environment.update("PORT" => "80")

  git app_path do
    repository app["app_source"]["url"]
    revision app["app_source"]["revision"]
  end

  link "#{app_path}/server.js" do
    to "#{app_path}/index.js"
  end

  npm_install
  npm_start
end
```

Veja o que o arquivo faz:
+ `search(:aws_opsworks_app).first` usa busca de Chef para procurar informações sobre o aplicativo que eventualmente serão implantados à instância. Essas informações incluem configurações como o nome curto do aplicativo e seus detalhes de repositório fonte. Como apenas um aplicativo foi implantado nessa demonstração, a busca do Chef obtém essas configurações do primeiro item de informações dentro do índice de busca `aws_opsworks_app` na instância. Sempre que uma instância é iniciada, o OpsWorks Stacks armazena essas e outras informações relacionadas como um conjunto de pacotes de dados na própria instância, e você obtém o conteúdo do pacote de dados por meio da pesquisa do Chef. Apesar de você poder usar hardcoding nessas configurações nessa receita, usando recipientes de dados e busca de Chef é uma abordagem mais robusta. Para obter mais informações sobre recipientes de dados, consulte o [OpsWorks Referência do Stacks Data Bag](data-bags.md). Consulte também [Sobre recipientes de dados](https://docs.chef.io/data_bags.html) no site [Aprender sobre Chef](https://learn.chef.io/). Para obter mais informações sobre busca do Chef, vá para [Sobre pesquisa](https://docs.chef.io/chef_search.html) no site [Aprender sobre Chef](https://learn.chef.io/).
+ O recurso `package` instala Git na instância.
+ O recurso `application` descreve e implanta aplicativos da web:
  + `javascript`é a versão do tempo de JavaScript execução a ser instalada.
  + `environment` define um ambiente variável.
  + `git` obtém o código fonte do repositório especificado e ramificação.
  + `app_path` é o caminho para onde clonar o repositório. Se o caminho não existir na instância, o OpsWorks Stacks o cria.
  + `link` cria um link simbólico.
  + `npm_install` instala Gerente de pacote de nó, o gente de pacote de nó padrão de Node.js.
  + `npm_start` executa Node.js.

Embora OpsWorks Stacks tenha criado o livro de receitas usado para este passo a passo, você pode criar seus próprios livros de receitas. Para saber como, consulte [Conceitos básicos: livros de receitas](gettingstarted-cookbooks.md). Além disso, vá para [Sobre livro de receitas](https://docs.chef.io/cookbooks.html), [Sobre receitas](https://docs.chef.io/recipes.html) e [Aprender o básico do Chef no Ubuntu](https://learn.chef.io/modules/learn-the-basics/ubuntu#/) no site [Aprender sobre Chef](https://learn.chef.io/), e a seção "Nosso primeiro livro de receitas do Chef" no [Primeiras etapas com Chef](http://gettingstartedwithchef.com/first-steps-with-chef.html) no site [Introdução ao Chef](http://gettingstartedwithchef.com/).

# Aprendendo mais: Explore o aplicativo usado nessa apresentação
<a name="gettingstarted-linux-explore-app-source"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Este tópico descreve o aplicativo que o OpsWorks Stacks implanta na instância para este passo a passo.

Para ver o código-fonte do aplicativo, extraia o conteúdo do [opsworks-windows-demo-nodejs](https://github.com/awslabs/opsworks-windows-demo-nodejs) GitHub repositório em um diretório vazio na sua estação de trabalho local. Você também pode entrar na instância na qual implantou o livro de receitas e explorar os conteúdos do diretório `/srv/mylinuxdemoapp`.

O arquivo `index.js` contém o código mais significativo para o aplicativo:

```
var express = require('express');
var app = express();
var path = require('path');
var os = require('os');
var bodyParser = require('body-parser');
var fs = require('fs');

var add_comment = function(comment) {
  var comments = get_comments();
  comments.push({"date": new Date(), "text": comment});
  fs.writeFileSync('./comments.json', JSON.stringify(comments));
};

var get_comments = function() {
  var comments;
  if (fs.existsSync('./comments.json')) {
    comments = fs.readFileSync('./comments.json');
    comments = JSON.parse(comments);
  } else {
    comments = [];
  }
  return comments;
};

app.use(function log (req, res, next) {
  console.log([req.method, req.url].join(' '));
  next();
});
app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: false }))

app.set('view engine', 'jade');
app.get('/', function(req, res) {
  var comments = get_comments();
  res.render("index",
    { agent: req.headers['user-agent'],
      hostname: os.hostname(),
      nodeversion: process.version,
      time: new Date(),
      admin: (process.env.APP_ADMIN_EMAIL || "admin@unconfigured-value.com" ),
      comments: get_comments()
    });
});

app.post('/', function(req, res) {
  var comment = req.body.comment;
  if (comment) {
    add_comment(comment);
    console.log("Got comment: " + comment);
  }
  res.redirect("/#form-section");
});

var server = app.listen(process.env.PORT || 3000, function() {
  console.log('Listening on %s', process.env.PORT);
});
```

Veja o que o arquivo faz:
+ `require` carrega módulos que contêm algum código dependente que esse aplicativo da web precisa para ser executado como esperado.
+ As funções `add_comment` e `get_comments` escrevem informações para, e leem informações do arquivo `comments.json`.
+ Para obter mais informações sobre `app.get`, `app.listen`, `app.post`, `app.set` e `app.use`, consulte o [Expressar referência da API](http://expressjs.com/4x/api.html).

 Para aprender como criar pacote para aplicativo de implantação, consulte [Origem do aplicativo](workingapps-creating.md#workingapps-creating-source).

# Conceitos básicos de pilhas do Windows
<a name="gettingstarted-windows"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Aplicativos baseados na nuvem geralmente exigem um grupo de recursos relacionados (servidores de aplicativos, servidores de banco de dados e assim por diante) que devem ser criados e gerenciados coletivamente. Esta coleção de instâncias é chamada de *pilha*. Uma simples pilha de aplicativo pode ter a seguinte aparência.

![\[Diagram showing users connecting to app servers through internet, elastic IP, and load balancer.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/windows_walkthrough_arch.png)


A arquitetura básica contém o seguinte:
+ Um Endereço IP elástico para receber as solicitações do usuário.
+ Um load balancer para distribuir as solicitações de entrada igualmente entre os servidores de aplicativos.
+ Um conjunto de instâncias do servidor de aplicativos, a quantidade necessária para lidar com o tráfego.

Além disso, normalmente você precisa de uma maneira de distribuir aplicativos para os servidores de aplicativos, gerenciar permissões de usuário e assim por diante.

OpsWorks O Stacks fornece uma maneira simples e direta de criar e gerenciar pilhas e seus aplicativos e recursos associados. Este capítulo apresenta os conceitos básicos do OpsWorks Stacks, e alguns de seus recursos mais sofisticados, orientando você durante o processo de criação da pilha de servidor de aplicativos no diagrama. Ele usa um modelo de desenvolvimento incremental que o OpsWorks Stacks facilita o acompanhamento: configure uma pilha básica e, depois de funcionar corretamente, adicione componentes até chegar a uma implementação completa.
+ [Etapa 1: concluir os pré-requisitos](gettingstarted-windows-prerequisites.md) mostra como configurar a demonstração.
+ [Etapa 2: Criar uma pilha de servidor de aplicativos básico](gettingstarted-windows-basic.md) mostra como criar uma pilha básica para oferecer suporte a Internet Information Services (IIS) e implantar um aplicativo no servidor.
+ [Etapa 3: Dimensionar IISExample](gettingstarted-windows-scale.md) mostra como dimensionar uma pilha para lidar com o aumento de carga, adicionando mais servidores de aplicativos, um load balancer para distribuir o tráfego de entrada e um Endereço IP elástico para receber as solicitações de entrada.

**Topics**
+ [Etapa 1: concluir os pré-requisitos](gettingstarted-windows-prerequisites.md)
+ [Etapa 2: Criar uma pilha de servidor de aplicativos básico](gettingstarted-windows-basic.md)
+ [Etapa 3: Dimensionar IISExample](gettingstarted-windows-scale.md)
+ [Próximas etapas](gettingstarted-windows-what-next.md)

# Etapa 1: concluir os pré-requisitos
<a name="gettingstarted-windows-prerequisites"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Conclua as seguintes etapas de configuração antes de iniciar a demonstração. Essas etapas de configuração incluem se inscrever em uma AWS conta, criar um usuário administrativo e atribuir permissões de acesso ao OpsWorks Stacks. 

Se você tiver concluído as demonstrações [Conceitos básicos: exemplo](gettingstarted-intro.md) e [Conceitos básicos: Linux](gettingstarted-linux.md), já cumpriu os pré-requisitos para esta demonstração e pode ir direto para [Etapa 2: Criar uma pilha de servidor de aplicativos básico](gettingstarted-windows-basic.md).

**Topics**
+ [Inscreva-se para um Conta da AWS](#sign-up-for-aws)
+ [Criar um usuário com acesso administrativo](#create-an-admin)
+ [Atribuir permissões de acesso ao serviço](#gettingstarted-windows-prerequisites-permissions)
+ [Garanta que os usuários do OpsWorks Stacks sejam adicionados ao seu domínio](#gettingstarted-windows-prerequisites-adusers)

## Inscreva-se para um Conta da AWS
<a name="sign-up-for-aws"></a>

Se você não tiver um Conta da AWS, conclua as etapas a seguir para criar um.

**Para se inscrever em um Conta da AWS**

1. Abra a [https://portal.aws.amazon.com/billing/inscrição.](https://portal.aws.amazon.com/billing/signup)

1. Siga as instruções online.

   Parte do procedimento de inscrição envolve receber uma chamada telefônica ou uma mensagem de texto e inserir um código de verificação pelo teclado do telefone.

   Quando você se inscreve em um Conta da AWS, um *Usuário raiz da conta da AWS*é criado. O usuário-raiz tem acesso a todos os Serviços da AWS e recursos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar [tarefas que exigem acesso de usuário-raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS envia um e-mail de confirmação após a conclusão do processo de inscrição. A qualquer momento, você pode visualizar a atividade atual da sua conta e gerenciar sua conta acessando [https://aws.amazon.com/e](https://aws.amazon.com/) escolhendo **Minha conta**.

## Criar um usuário com acesso administrativo
<a name="create-an-admin"></a>

Depois de se inscrever em um Conta da AWS, proteja seu Usuário raiz da conta da AWS Centro de Identidade do AWS IAM, habilite e crie um usuário administrativo para que você não use o usuário root nas tarefas diárias.

**Proteja seu Usuário raiz da conta da AWS**

1.  Faça login [Console de gerenciamento da AWS](https://console.aws.amazon.com/)como proprietário da conta escolhendo **Usuário raiz** e inserindo seu endereço de Conta da AWS e-mail. Na próxima página, insira a senha.

   Para obter ajuda ao fazer login usando o usuário-raiz, consulte [Fazer login como usuário-raiz](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) no *Guia do usuário do Início de Sessão da AWS *.

1. Habilite a autenticação multifator (MFA) para o usuário-raiz.

   Para obter instruções, consulte [Habilitar um dispositivo de MFA virtual para seu usuário Conta da AWS raiz (console) no Guia](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) do *usuário do IAM*.

**Criar um usuário com acesso administrativo**

1. Habilita o Centro de Identidade do IAM.

   Para obter instruções, consulte [Habilitar o Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

1. No Centro de Identidade do IAM, conceda o acesso administrativo a um usuário.

   Para ver um tutorial sobre como usar o Diretório do Centro de Identidade do IAM como fonte de identidade, consulte [Configurar o acesso do usuário com o padrão Diretório do Centro de Identidade do IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html) no *Guia Centro de Identidade do AWS IAM do usuário*.

**Iniciar sessão como o usuário com acesso administrativo**
+ Para fazer login com o seu usuário do Centro de Identidade do IAM, use o URL de login enviado ao seu endereço de e-mail quando o usuário do Centro de Identidade do IAM foi criado.

  Para obter ajuda para fazer login usando um usuário do IAM Identity Center, consulte Como [fazer login no portal de AWS acesso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) no *Guia Início de Sessão da AWS do usuário*.

**Atribuir acesso a usuários adicionais**

1. No Centro de Identidade do IAM, crie um conjunto de permissões que siga as práticas recomendadas de aplicação de permissões com privilégio mínimo.

   Para obter instruções, consulte [Criar um conjunto de permissões](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-create-a-permission-set.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

1. Atribua usuários a um grupo e, em seguida, atribua o acesso de logon único ao grupo.

   Para obter instruções, consulte [Adicionar grupos](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

## Atribuir permissões de acesso ao serviço
<a name="gettingstarted-windows-prerequisites-permissions"></a>

Ative o acesso ao serviço OpsWorks Stacks (e aos serviços relacionados dos quais o OpsWorks Stacks depende) adicionando as `AmazonS3FullAccess` permissões `AWSOpsWorks_FullAccess` e à sua função ou usuário.

Para obter mais informações sobre adicionar permissões, consulte [Adicionar permissões de identidade do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console).

## Garanta que os usuários do OpsWorks Stacks sejam adicionados ao seu domínio
<a name="gettingstarted-windows-prerequisites-adusers"></a>

Em uma pilha do Chef 12.2, o livro de receitas `aws_opsworks_users` incluído cria usuários que têm acesso a SSH e a Remote Desktop Protocol (RDP) às instâncias baseadas no Windows. Quando você une instâncias do Windows em sua pilha a um domínio do Active Directory, a execução desse livro de receitas pode falhar se os usuários do OpsWorks Stacks não existirem no Active Directory. Se os usuários não forem reconhecidos no Active Directory, as instâncias podem entrar em um estado `setup failed` quando você as reinicia depois de uni-las a um domínio. Para instâncias do Windows associadas a um domínio, não é suficiente conceder SSH/RDP acesso aos usuários do OpsWorks Stacks na página de permissões do usuário.

Antes de unir instâncias do Windows em uma pilha do Chef 12.2 a um domínio do Active Directory, certifique-se de que todos os usuários do OpsWorks Stacks da pilha baseada no Windows sejam membros do domínio. A melhor maneira de fazer isso é configurar a identidade federada com o IAM antes de criar sua pilha baseada em Windows e, em seguida, importar usuários federados para as OpsWorks pilhas antes de unir instâncias em sua pilha a um domínio. Para obter mais informações sobre como fazer isso, consulte [Habilitar a federação para AWS usando o Windows Active Directory, o ADFS, e o SAML 2.0](https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfs-and-saml-2-0/) no Blog de segurança da AWS e [Federação de usuários existentes](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-identity-federation) no *guia do usuário do IAM*.

# Etapa 2: Criar uma pilha de servidor de aplicativos básico
<a name="gettingstarted-windows-basic"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Uma pilha de servidor de aplicativo básico consiste em uma instância de servidor de aplicativo única com um endereço IP público para receber solicitações de usuário. Código de aplicativo e quaisquer arquivos relacionados são armazenados em um repositório separado e implantados de lá para o servidor. O diagrama a seguir ilustra essa pilha.

![\[Diagram showing application server stack with Windows instance, IIS layer, and AWS cloud integration.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/php_walkthrough_arch_2_windows.png)


A pilha tem os seguintes componentes:
+ Uma *camada*, que representa um grupo de instâncias e especifica como elas são configuradas.

  A camada neste exemplo representa um grupo de instâncias do IIS.
+ Uma *instância*, que representa uma EC2 instância da Amazon.

  Nesse caso, a layer configura uma única instância para executar o IIS, mas as camadas podem ter qualquer número de instâncias.
+ Um *aplicativo*, que contém as informações necessárias para instalar um aplicativo na instância.
+ Um *livro de receitas*, que contém receitas personalizadas do Chef que oferecem suporte à camada personalizada do IIS. O livro de receitas e o código do aplicativo são armazenados em repositórios remotos, como um arquivo morto em um bucket do Amazon S3 ou um repositório Git.

As seções a seguir descrevem como usar o console OpsWorks Stacks para criar a pilha e implantar o aplicativo.

**Topics**
+ [Etapa 2.1: Criar a pilha](gettingstarted-windows-stack.md)
+ [Etapa 2.2: Autorizar o acesso RDP](gettingstarted-windows-rdp.md)
+ [Etapa 2.3: Implementar um livro de receitas personalizado](gettingstarted-windows-cookbook.md)
+ [Etapa 2.4: Adicionar uma camada do IIS](gettingstarted-windows-iis-layer.md)
+ [Etapa 2.5: Implantar um aplicativo](gettingstarted-windows-deploy.md)

# Etapa 2.1: Criar a pilha
<a name="gettingstarted-windows-stack"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Você inicia um projeto OpsWorks Stacks criando uma pilha, que atua como um contêiner para suas instâncias e outros recursos. A configuração da pilha especifica algumas configurações básicas, como a região da AWS e o sistema operacional padrão, que são compartilhados por todas as instâncias da pilha. 

**Para criar um nova pilha**

1. 

**Adicionar uma pilha**

   Se você ainda não tiver feito isso, faça login no console do [OpsWorks Stacks](https://console.aws.amazon.com/opsworks/).
   + Se a conta não tiver pilhas existentes, você verá a OpsWorks página **Bem-vindo à AWS**; escolha **Adicionar sua primeira pilha**.
   + Caso contrário, você verá o painel de OpsWorks pilhas, que lista as pilhas da sua conta; escolha **Adicionar** pilha.

1. 

**Configurar a pilha**

   Na página **Add Stack**, escolha **Chef 12 stack** e, em seguida, especifique as seguintes configurações:  
**Nome da pilha**  
Insira um nome para sua pilha, que pode conter caracteres alfanuméricos (a–z, A–Z e 0–9) e hífens (-). A pilha de exemplo para esta demonstração se chama **IISWalkthrough**.  
**Região**  
Selecione Oeste dos EUA (Oregon) como a região da pilha.  
Você pode criar uma pilha em qualquer região, mas recomendamos o Oeste dos EUA (Oregon) para os tutoriais.  
**Sistema operacional padrão**  
Escolha **Windows** e especifique **Microsoft Windows Server 2022 Base**, que é a configuração padrão.  
**Usar livros de receitas do Chef personalizados**  
Para esta demonstração, especifique **No** para esta opção.

1. Escolha **Advanced** para confirmar que você tem uma função do IAM e o perfil de instância do IAM padrão selecionado.  
perfil do IAM  
Especifique a função IAM (AWS Identity and Access Management) da pilha. OpsWorks O Stacks precisa acessar outros serviços da AWS para realizar tarefas como criar e gerenciar EC2 instâncias da Amazon. A **função do IAM** especifica a função que OpsWorks Stacks assume para trabalhar com outros serviços da AWS em seu nome. Para obter mais informações, consulte [Permitindo que OpsWorks as pilhas ajam em seu nome](opsworks-security-servicerole.md).  
   + Se sua conta tiver uma função existente do OpsWorks Stacks IAM, você poderá selecioná-la na lista.

     Se a função foi criada pelo OpsWorks Stacks, ela será nomeada`aws-opsworks-service-role`.
   + Caso contrário, selecione **Nova função do IAM** para direcionar OpsWorks Stacks para criar uma nova função para você com as permissões corretas. 

     **Observação:** Se você tiver permissões de Acesso Total ao OpsWorks Stacks, a criação de uma nova função exigirá diversas permissões adicionais do IAM. Para obter mais informações, consulte [Exemplo de políticas](opsworks-security-users-examples.md).

1. Aceite os valores padrão das outras configurações e, em seguida, escolha **Add Stack**. Para obter mais informações sobre as diversas configurações de pilha, consulte [Criar uma nova pilha](workingstacks-creating.md).

# Etapa 2.2: Autorizar o acesso RDP
<a name="gettingstarted-windows-rdp"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Agora que uma pilha foi criada, você criará uma camada e adicionará uma instância do Windows à camada. No entanto, antes de fazer isso, é preciso configurar a pilha para permitir que você use o RDP para se conectar às instâncias personalizadas da camada. Para isso, você deve fazer o seguinte:
+ Adicione uma regra de entrada para o grupo de segurança que controla o acesso RDP.
+ Defina suas permissões de OpsWorks pilhas para essa pilha para permitir o acesso RDP. 

Quando você cria a primeira pilha em uma região, o OpsWorks Stacks cria um conjunto de grupos de segurança. Eles incluem um chamado algo como`AWS-OpsWorks-RDP-Server`, que o OpsWorks Stacks anexa a todas as instâncias do Windows para permitir acesso ao RDP. No entanto, por padrão, esse grupo de segurança não tem regras. Assim, você deve adicionar uma regra de entrada para permitir o acesso RDP para suas instâncias.

**Para permitir o acesso RDP**

1. Abra o [ EC2 console da Amazon](https://console.aws.amazon.com/ec2/v2/), configure-o para a região da pilha e escolha **Security Groups** no painel de navegação.

1. **Escolha **AWS- OpsWorks -RDP-Server**, escolha a guia **Entrada** e escolha Editar.**

1. Selecione **Add Rule** e especifique as seguintes configurações:
   + **Tipo**: **RDP**.
   + **Origem**: os endereços IP de origem permitidos.

     Normalmente, você permite solicitações RDP de entrada de seu endereço IP ou de uma faixa especificada de endereços IP (normalmente a faixa de endereços IP de sua empresa). Para fins de aprendizado, normalmente é suficiente especificar 0.0.0.0/0, que permite o acesso RDP de qualquer endereço IP.

O grupo de segurança permite que a instância receba solicitações de conexão RDP, mas essa é apenas metade da história. Um usuário comum fará login na instância usando uma senha fornecida pelo OpsWorks Stacks. Para que o OpsWorks Stacks gere essa senha, você deve autorizar explicitamente o acesso RDP para o usuário.

**Para autorizar o RDP para um usuário**

1. No painel de OpsWorks pilhas, escolha a **IISWalkthrough**pilha.

1. No painel de navegação da pilha, escolha **Permissions**.

1. Na página Permissions, escolha **Edit**.

1. Na lista de usuários, marque a caixa de seleção **SSH/RDP** para o usuário do ao qual você deseja conceder as permissões necessárias. Se você deseja que o usuário também tenha permissões de administrador, selecione **sudo/admin**.  
![\[Permissões SSH e sudo para usuários\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/permissions.png)

1. Escolha **Salvar**.

O usuário pode obter uma senha e usá-la para efetuar o login na instância, conforme descrito posteriormente.

**nota**  
Você também pode fazer login como Administrador. Para obter mais informações, consulte [Login como administrador](workinginstances-rdp.md#workinginstances-rdp-admin).

# Etapa 2.3: Implementar um livro de receitas personalizado
<a name="gettingstarted-windows-cookbook"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Apesar de uma pilha ser basicamente um contêiner de instâncias, você não adiciona instâncias diretamente à pilha. Você pode adicionar uma ou mais camadas, cada uma representando um grupo de instâncias relacionadas, e então adicionar instâncias às camadas.

Uma camada é basicamente um modelo que o OpsWorks Stacks usa para criar um conjunto de EC2 instâncias da Amazon com a mesma configuração. Uma instância começa com uma versão base do sistema operacional, e a camada da instância executa uma variedade de tarefas na instância para implementar o esquema, que podem incluir:
+ Criação de diretórios e arquivos
+ Gerenciamento de usuários
+ Instalação e configuração de software
+ Iniciar ou interromper servidores
+ Implantação de código de aplicativo e arquivos relacionados.

Uma camada executa tarefas em instâncias ao executar [receitas do Chef](https://docs.chef.io/recipes.html), receitas, para abreviar. Uma receita é um aplicativo Ruby que usa uma linguagem específica de domínio (DSL) do Chef para descrever o estado final da instância. Com o OpsWorks Stacks, cada receita geralmente é atribuída a um dos [eventos do ciclo](workingcookbook-events.md) de vida da camada: instalação, configuração, implantação, desimplantação e desativação. Quando ocorre um evento de ciclo de vida em uma instância, o OpsWorks Stacks executa as receitas do evento para realizar as tarefas apropriadas. Por exemplo, o evento Setup ocorre após a conclusão da inicialização de uma instância. OpsWorks Em seguida, o Stacks executa as receitas de instalação, que normalmente executam tarefas como instalar e configurar o software do servidor e iniciar serviços relacionados.

OpsWorks O Stacks fornece a cada camada um conjunto de receitas integradas que executam tarefas padrão. Você pode estender a funcionalidade de uma camada ao implementar receitas personalizadas para realizar tarefas adicionais e atribuí-las aos eventos de ciclo de vida da camada. As pilhas do Windows são compatíveis com [camadas personalizadas](workinglayers-custom.md), que têm um conjunto mínimo de receitas que executam apenas algumas tarefas básicas. Para adicionar funcionalidade às suas instâncias do Windows, você deve implementar as receitas personalizadas para instalar software, implantar aplicativos e assim por diante. Este tópico descreve como criar uma camada personalizada simples para dar suporte a instâncias do IIS.

**Topics**
+ [Uma rápida introdução aos livros de receitas e às receitas](#gettingstarted-windows-layer-recipes)
+ [Implementar uma receita para instalar e iniciar o IIS](#gettingstarted-windows-layer-recipe-iis)
+ [Ativar o livro de receitas personalizado](#gettingstarted-windows-layer-enable-cookbook)

## Uma rápida introdução aos livros de receitas e às receitas
<a name="gettingstarted-windows-layer-recipes"></a>

Uma receita define um ou mais aspectos do estado esperado de uma instância: quais diretórios ela deve ter, quais pacotes de software devem estar instalados, quais aplicativos devem ser implantados e assim por diante. As receitas são empacotadas em um *livro de receitas*, que normalmente contém uma ou mais receitas relacionadas, além de arquivos associados, como modelos para a criação de arquivos de configuração.

Este tópico é uma introdução básica às receitas, apenas o suficiente para mostrar como implementar um livro de receitas para dar suporte a uma camada do IIS personalizada simples. Para obter uma introdução mais geral aos livros de receitas, consulte [Livros de receitas e receitas](workingcookbook.md). Para um tutorial detalhado de introdução à implementação de livros de receitas, incluindo alguns tópicos específicos do Windows, consulte [Introdução a livros de receitas](cookbooks-101.md).

Tecnicamente, as receitas do Chef são aplicativos Ruby, mas a maior parte do código está no Chef DSL. O DSL é composto principalmente de um conjunto de *recursos*, que você pode usar para especificar de forma declarativa um aspecto do estado das instâncias. Por exemplo, um [`directory` recurso](https://docs.chef.io/chef/resources.html#directory) define um diretório a ser adicionado ao sistema. O exemplo a seguir define um diretório `C:\data` com direitos de controle total que pertence ao usuário especificado e não herda direitos do diretório pai.

```
directory 'C:\data' do
  rights :full_control, 'WORKGROUP\username'
  inherits false
  action :create
end
```

Quando o Chef executa uma receita, ele executa cada recurso ao passar os dados para um *provedor* associado, um objeto Ruby que lida com os detalhes da modificação do estado da instância. Neste caso, o fornecedor cria um novo diretório com a configuração especificada.

O livro de receitas personalizado para a camada personalizada do IIS deve realizar as seguintes tarefas:
+ Instalar o recurso IIS e iniciar o serviço.

  Você normalmente realiza essa tarefa durante a instalação, logo após o término da inicialização da instância.
+ Implantar um aplicativo na instância, uma página HTML simples para este exemplo.

  Você normalmente realiza esta tarefa durante a instalação. No entanto, os aplicativos geralmente precisam ser atualizados regularmente e, portanto, você também precisa implantar as atualizações enquanto a instância está online.

Você poderia ter uma única receita para realizar todas essas tarefas. No entanto, a abordagem preferencial é ter receitas separadas para as tarefas de instalação e de implantação. Dessa maneira, você pode implantar as atualizações de aplicativo a qualquer momento, sem que seja necessário executar o código de instalação também. A seguir, como configurar um livro de receitas para dar suporte a uma camada personalizada do IIS. Os tópicos subsequentes mostrarão como implementar as receitas.

**Para começar**

1. Crie um diretório chamado `iis-cookbook` em um local conveniente na sua estação de trabalho.

1. Adicione um arquivo `metadata.rb` com o seguinte conteúdo a `iis-cookbook`.

   ```
   name "iis-cookbook"
   version "0.1.0"
   ```

   Este exemplo usa um `metadata.rb` mínimo. Para obter mais informações sobre como você pode usar este arquivo, consulte [metadata.rb](https://docs.chef.io/config_rb_metadata.html).

1. Adicione um diretório `recipes` a `iis-cookbook`.

   Esse diretório, que deve ser nomeado como `recipes`, contém as receitas do livro de receitas.

Em geral, os livros de receitas podem conter uma variedade de outros diretórios. Por exemplo, se uma receita usar um modelo para criar um arquivo de configuração, o modelo geralmente ficará no diretório `templates\default`. O livro de receitas para este exemplo consiste inteiramente em receitas e, portanto, não precisará de outros diretórios. Além disso, este exemplo usa um único livro de receitas, mas você pode usar a quantidade necessária; com frequência, é preferível usar vários livros de receitas para projetos complexos. Por exemplo, você pode ter livros de receitas separados para as tarefas de instalação e de implementação. Para obter mais exemplos de livros de receitas, consulte [Livros de receitas e receitas](workingcookbook.md).

## Implementar uma receita para instalar e iniciar o IIS
<a name="gettingstarted-windows-layer-recipe-iis"></a>

 O IIS é um *recurso* do Windows, uma de um conjunto de componentes opcionais do sistema que você pode instalar no Windows Server. Você pode fazer uma receita instalar o IIS de uma das seguintes formas:
+ Usando um recurso [https://docs.chef.io/chef/resources.html#powershell-script](https://docs.chef.io/chef/resources.html#powershell-script) para executar o cmdlet [https://docs.microsoft.com/en-us/powershell/module/servermanager/install-windowsfeature?view=winserver2012-ps](https://docs.microsoft.com/en-us/powershell/module/servermanager/install-windowsfeature?view=winserver2012-ps).
+ Usando o recurso [livro de receitas do Windows](https://github.com/opscode-cookbooks/windows) `windows_feature` do Chef.

  O livro de receitas do `windows` contém um conjunto de recursos cujos provedores usam o [Deployment Image Servicing and Management](https://technet.microsoft.com/en-us/library/dd744256%28v=ws.10%29.aspx) (DISM) para realizar uma variedade de tarefas em instâncias do Windows, incluindo a instalação de recursos.

**nota**  
O `powershell_script` está entre os recursos mais úteis para receitas do Windows. Você pode usá-lo para realizar várias tarefas em uma instância executando um PowerShell script ou cmdlet. Ele é especialmente útil para as tarefas que não são compatíveis com recursos do Chef.

Este exemplo executa um PowerShell script para instalar e iniciar o Servidor Web (IIS). O livro de receitas do `windows` será descrito mais tarde. Para obter um exemplo de como usar o `windows_feature` para instalar o IIS, consulte [Instalar um recurso do Windows: IIS](cookbooks-101-opsworks-install-software-feature.md).

Adicione uma receita chamada `install.rb` com o conteúdo a seguir ao diretório `recipes` do livro de receitas.

```
powershell_script 'Install IIS' do
  code 'Install-WindowsFeature Web-Server'
  not_if "(Get-WindowsFeature -Name Web-Server).Installed"
end

service 'w3svc' do
  action [:start, :enable]
end
```

A receita contém dois recursos.

**powershell\$1script**  
`powershell_script`executa o PowerShell script ou cmdlet especificado. O exemplo tem as seguintes configurações de atributo:  
+ `code`— Os PowerShell cmdlets a serem executados.

  Este exemplo executa um cmdlet `Install-WindowsFeature`, que instala o servidor web (IIS). Em geral, o atributo `code` pode ter qualquer número de linhas para que você possa executar quantos cmdlets precisar.
+ `not-if`: um [https://docs.chef.io/chef/resources.html#guards](https://docs.chef.io/chef/resources.html#guards) que garante que a receita só instalará o IIS se ele ainda não tiver sido instalado.

  Você geralmente deseja que as receitas sejam *idempotentes*, de forma que elas não percam tempo realizando a mesma tarefa mais de uma vez.
Cada recurso tem uma ação, que especifica a ação que o provedor deve realizar. Não há nenhuma ação explícita neste exemplo, então o provedor executa a `:run` ação padrão, que executa o PowerShell script especificado. Para obter mais informações, consulte [Executando um PowerShell script do Windows](cookbooks-101-opsworks-opsworks-powershell.md).

**service**  
Um [https://docs.chef.io/chef/resources.html#service](https://docs.chef.io/chef/resources.html#service) gerencia um serviço, neste caso, o serviço Servidor web IIS (W3SVC). O exemplo usa atributos padrão e especifica duas ações, `:start` e `:enable`, as quais iniciam e ativam o IIS.

**nota**  
Se você quiser instalar software que use um instalador de pacotes, como o MSI, use um recurso `windows_package`. Para obter mais informações, consulte [Instalar um pacote](cookbooks-101-opsworks-install-software-package.md).

## Ativar o livro de receitas personalizado
<a name="gettingstarted-windows-layer-enable-cookbook"></a>

OpsWorks O Stacks executa receitas de um cache local em cada instância. Para executar suas receitas personalizadas, você deve fazer o seguinte:
+ Armazene o livro de receitas em um repositório remoto.

  OpsWorks O Stacks baixa os livros de receitas desse repositório para o cache local de cada instância.
+ Edite a pilha para ativar os livros de receitas personalizados.

  Os livros de receitas personalizados estão desativados por padrão; portanto, você deve ativar os livros de receitas personalizados para a pilha e fornecer o URL do repositório e as informações relacionadas.

OpsWorks O Stacks oferece suporte a arquivos S3 e repositórios Git para livros de receitas personalizados; este exemplo usa um arquivo S3. Para obter mais informações, consulte [Repositórios de livro de receitas](workingcookbook-installingcustom-repo.md).

**Para usar um arquivo do S3**

1. Crie um arquivo `.zip` do diretório `iis-cookbook`.

   OpsWorks As pilhas também oferecem suporte a arquivos `.tgz` (tar compactado com gzip) para pilhas do Windows.

1. Faça upload do arquivo para um bucket do S3 na região Oeste dos EUA (N. da Califórnia) e torne o arquivo público. Você também pode usar arquivos privados do S3, mas os arquivos públicos são suficientes para este exemplo e um pouco mais simples de trabalhar. 

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

   1. Se você ainda não tiver um bucket na `us-west-1`, escolha **Criar bucket** e crie um bucket na região Oeste dos EUA (N. da Califórnia).

   1. Na lista de buckets, clique no nome do bucket para o qual você deseja fazer upload do arquivo e clique em **Upload (Fazer upload)**. 

   1. Escolha **Adicionar arquivos**.

   1. Selecione o arquivo para fazer upload e escolha **Open (Abrir)**.

   1. Na parte inferior da caixa de diálogo **Upload - Select Files and Folders (Fazer upload — Selecionar arquivos e pastas)**, escolha **Set Details (Definir detalhes)**.

   1. Na parte inferior da caixa de diálogo **Set Details**, escolha **Set Permissions**.

   1. Na caia de diálogo **Set Permissions**, escolha **Make everything public**.

   1. Na parte inferior da caixa de diálogo **Set Permissions (Definir permissões)**, escolha **Start Upload (Iniciar upload)**. Quando o upload for concluído, o arquivo `iis-cookbook.zip` será exibido em seu bucket.

   1. Escolha o bucket e escolha a guia **Properties (Propriedades)** para o bucket. Ao lado de **Link**, registre o URL do arquivo para uso posterior.

   Para obter mais informações sobre o upload de arquivos para um bucket do Amazon S3, consulte [Como fazer upload de arquivos e pastas para um bucket do S3?](https://docs.aws.amazon.com/AmazonS3/latest/UG/UploadingObjectsintoAmazonS3.html) no *Guia do usuário do console do Amazon S3*.

**Importante**  
Até agora, a demonstração só custou a você um pouco de tempo, o serviço OpsWorks Stacks é gratuito. No entanto, você deverá pagar por qualquer recurso da AWS que utilizar, como o armazenamento no Amazon S3. Assim que você fizer o upload do arquivo, começará a ser cobrado. Para obter mais informações, consulte [Definição de preço da AWS](https://aws.amazon.com/pricing/).

**Para ativar os livros de receitas personalizados para a pilha**

1. No console OpsWorks Stacks, escolha **Stack** no painel de navegação e, em seguida, escolha **Stack Settings** no canto superior direito.

1. Na parte superior direita da página **Settings**, escolha **Edit**.

1. Na página **Settings**, defina **Use custom Chef cookbooks** como **Yes** e insira as seguintes informações:
   + Tipo de repositório: **Arquivamento do S3**.
   + URL do repositório: o URL do S3 do arquivo do livro de receitas registrado anteriormente.

1. Escolha **Save (Salvar)** para atualizar a configuração da pilha.

OpsWorks O Stacks instala seu livro de receitas personalizado em todas as novas instâncias. Observe que o OpsWorks Stacks não instala ou atualiza automaticamente os livros de receitas personalizadas em instâncias online. Você pode fazer isso manualmente, conforme descrito posteriormente.

# Etapa 2.4: Adicionar uma camada do IIS
<a name="gettingstarted-windows-iis-layer"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Seu livro de receitas tem uma receita que simplesmente instala e inicia o IIS. Isso é o suficiente para criar a camada e verificar se você tem uma instância do IIS em funcionamento. Posteriormente, você adicionará a funcionalidade de implantação de aplicativos à camada.

## Criar uma camada
<a name="w2ab1c14c47c17c23c23b7"></a>

Você começa pela adição de uma camada à pilha. Então, você pode adicionar funcionalidade à layer ao atribuir receitas personalizadas aos eventos de de ciclo de vida apropriados.

**Para adicionar uma camada do IIS à pilha**

1. No painel de navegação, escolha **Layers** e depois **Add a layer**.

1. Configure a camada da seguinte forma:
   + **Nome**: **IISExample** 
   + **Nome curto**: **iisexample**

     OpsWorks Stacks usa o nome curto para identificar a camada internamente. Você também pode usar o nome curto para identificar a camada em receitas, embora este exemplo não faça isso. Você pode especificar qualquer nome curto, mas ele só poderá conter caracteres alfanuméricos minúsculos e um pequeno número de sinais de pontuação. Para obter mais informações, consulte [Camadas personalizadas](workinglayers-custom.md).

1. Escolha **Add Layer**.

Se você adicionasse uma instância nesse IISWalkthrough momento e a iniciasse, o OpsWorks Stacks instalaria automaticamente os livros de receitas, mas não funcionaria. `install.rb` Depois que uma instância estiver online, você poderá executar as receitas manualmente usando o [comando de pilha Executar Receitas](workingstacks-commands.md). No entanto, uma abordagem melhor é atribuir a receita a um dos eventos do [ciclo](workingcookbook-events.md) de vida da camada. OpsWorks Em seguida, o Stacks executa automaticamente a receita no ponto apropriado do ciclo de vida da instância.

Instale e inicie o IIS assim que a inicialização da instância for concluída. Para fazer isso, atribua `install.rb` ao evento `Setup` da camada.

**Para atribuir a receita a um evento de ciclo de vida**

1. No painel de navegação, escolha **Layers**

1. Na caixa da **IISExample**camada, escolha **Receitas**.

1. No canto superior direito, escolha **Edit (Editar)**.

1. Em **Custom Chef Recipes (Receitas do Chef personalizadas)**, na caixa de receitas **Setup (instalação)**, digite **iis-cookbook::install**. 
**nota**  
Use `cookbook-name::recipe-name` para identificar receitas, em que o sufixo `.rb` do nome da receita é omitido.

1. Escolha **\$1** para adicionar a receita à camada. Um x vermelho aparece ao lado da receita para facilitar sua remoção posteriormente.

1. Escolha **Save** para salvar a nova configuração. O Configurar receitas personalizado agora deve incluir`iis-cookbook::install`.

## Adicionar uma instância à camada e iniciá-la
<a name="w2ab1c14c47c17c23c23b9"></a>

Você pode testar a receita adicionando uma instância à camada e iniciando a instância. OpsWorks O Stacks instala automaticamente os livros de receitas e é executado `install.rb` durante a configuração, assim que a instância termina de inicializar.

**Para adicionar uma instância a uma camada e iniciá-la**

1. **No painel de navegação OpsWorks Stacks, escolha Instances.**

1. Em **IISExample**camada, escolha **Adicionar uma instância**. 

1. Selecione o tamanho apropriado.. **T2.micro** (ou o menor tamanho disponível para você) deve ser suficiente para o exemplo.

1. Escolha **Add Instance**. **Por padrão, o OpsWorks Stacks gera nomes de instância anexando um inteiro ao nome curto da camada, então a instância deve ser chamada iisexample1.**

1. Escolha **iniciar** na coluna **Ações** da instância para iniciar a instância. OpsWorks Em seguida, as pilhas iniciarão uma EC2 instância e executarão as receitas de configuração para configurá-la. Se a camada tivesse alguma receita de implantação neste momento, OpsWorks as pilhas as executariam após a conclusão das receitas de configuração.

   O processo pode levar vários minutos, durante o qual a coluna **Status** exibirá uma série de estados de status. Quando você chegar ao status **online**, o processo de instalação estará completo e a instância estará pronta para uso.

## Confirmar se o IIS está instalado e em execução
<a name="w2ab1c14c47c17c23c23c11"></a>

Você pode usar o RDP para se conectar à instância e verificar se a sua receita de Instalação funcionou corretamente.

**Para verificar se o IIS está instalado e em execução**

1. **Escolha **Instâncias** no painel de navegação e escolha **rdp** na coluna Ações da instância **iisexample1**.** OpsWorks O Stacks gera automaticamente uma senha RDP para você que expira após um período de tempo especificado.

1. Defina **Session valid for** como 2 horas e escolha **Generate Password**.

1. OpsWorks O Stacks exibe a senha e também, para sua conveniência, o nome DNS público e o nome de usuário da instância. Copie os três e clique em **Acknowledge and close**.

1. Abra o cliente RDP e use os dados do Etapa 3 para se conectar à instância.

1. Na instância, abra o Windows Explorer e examine a unidade `C:`. Ela deve ter um diretório `C:\inetpub`, que foi criado pela instalação do IIS.

1. Abra o aplicativo **Administrative Tools** do Painel de Controle e abra **Services**. Você deve ver o serviço IIS na parte inferior da lista. Ele se chama World Wide Web Publishing Service e o status deve ser **running**.

1. Volte ao console do OpsWorks Stacks e escolha o endereço IP público da instância **iisexample1**. Certifique-se de fazer isso no OpsWorks Stacks, e não no EC2 console da Amazon. Isso envia automaticamente uma solicitação HTTP para o endereço, que deve abrir a página de boas-vindas padrão do IIS.

O próximo tópico discute como implantar um aplicativo na instância, uma simples página HTML estática para este exemplo. No entanto, se você quiser fazer uma pausa, escolha **stop** na coluna **Actions** da instância **iisexample1** para interromper a instância e evitar incorrer em cobranças desnecessárias. Você poderá reiniciar a instância quando estiver pronto para continuar.

# Etapa 2.5: Implantar um aplicativo
<a name="gettingstarted-windows-deploy"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

A instalação do IIS cria um diretório `C:\inetpub\wwwroot` para o código do seu aplicativo e os arquivos relacionados. A próxima etapa é instalar um aplicativo nesse diretório. Para este exemplo, você instalará uma página inicial HTML estática, `default.html`, em `C:\inetpub\wwwroot`. Você pode facilmente estender a abordagem geral para lidar com cenários mais complexos, como aplicativos ASP.NET.

Você poderia incluir os arquivos do aplicativo em seu livro de receitas e fazer `install.rb` copiá-los para `C:\inetpub\wwwroot`. Para obter exemplos de como fazer isso, consulte [Exemplo 6: Criação de arquivos](cookbooks-101-basics-files.md). No entanto, essa abordagem não é muito flexível ou eficiente, e normalmente é melhor para separar o desenvolvimento do livro de receitas do desenvolvimento de aplicativos.

A melhor solução é implementar uma receita de implantação separada que recupere o código do aplicativo e os arquivos relacionados de um repositório, qualquer repositório que você preferir, e não apenas o repositório do livro de receitas; e o instale em cada instância de servidor IIS. Essa abordagem separa o desenvolvimento de receitas do desenvolvimento de aplicativos e, quando você precisar atualizar o aplicativo, ela permite que você simplesmente execute a receita de implantação novamente sem precisar atualizar seus livros de receitas.

Este tópico mostra como implementar uma receita de implantação simples que implanta `default.htm` em seu servidor IIS. Você pode facilmente estender este exemplo para aplicativos mais complexos.

**Topics**
+ [Criar o aplicativo e armazená-lo em um repositório](#w2ab1c14c47c17c23c25c15)
+ [Implemente uma receita para implantar o aplicativo](#w2ab1c14c47c17c23c25c17)
+ [Atualizar os livros de receitas da instância](#w2ab1c14c47c17c23c25c19)
+ [Adicionar a receita à camada personalizada do IIS](#w2ab1c14c47c17c23c25c21)
+ [Adicionar um aplicativo](#w2ab1c14c47c17c23c25c23)
+ [Implantar o aplicativo e abrir o aplicativo](#w2ab1c14c47c17c23c25c25)

## Criar o aplicativo e armazená-lo em um repositório
<a name="w2ab1c14c47c17c23c25c15"></a>

Você pode usar qualquer repositório que preferir para seus aplicativos. Para simplificar, este exemplo armazena `default.htm` em um bucket público do S3.

**Para criar o aplicativo**

1. Crie um diretório chamado `iis-application` em um local conveniente na sua estação de trabalho.

1. Adicione um arquivo `default.htm` a `iis-application`, com o seguinte conteúdo.

   ```
   <!DOCTYPE html>
   <html>
     <head>
       <title>IIS Example</title>
     </head>
     <body>
       <h1>Hello World!</h1>
     </body>
   </html>
   ```

1. [Crie um bucket do S3](https://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html), [faça upload de `default.htm` para o bucket](https://docs.aws.amazon.com/AmazonS3/latest/gsg/PuttingAnObjectInABucket.html) e registre o URL para uso posterior. Para simplificar, [torne o arquivo público](https://docs.aws.amazon.com/AmazonS3/latest/gsg/OpeningAnObject.html). 
**nota**  
Este é um aplicativo muito simples, mas você pode estender os princípios básicos para lidar com aplicativos de nível de produção.  
Para aplicativos mais complexos com vários arquivos, geralmente é mais simples criar um arquivo .zip de `iis-application` e fazer o upload dele para seu bucket do S3.  
Você poderá então fazer download do arquivo .zip e extrair o conteúdo para o diretório apropriado. Não há necessidade de fazer download de vários arquivos, criar uma estrutura de diretório e assim por diante.
Para um aplicativo de produção, provavelmente será melhor manter seus arquivos privados. Para obter um exemplo de como fazer com que uma receita faça download dos arquivos de um bucket privado do S3, consulte [Usando o SDK para Ruby em uma instância do Windows OpsWorks Stacks](cookbooks-101-opsworks-s3-windows.md).
Você pode armazenar seu aplicativo em qualquer repositório adequado.  
Você normalmente faz download do aplicativo usando uma API pública de um repositório. Este exemplo usa a API do Amazon S3. Se, por exemplo, você armazenar seu aplicativo em GitHub, poderá usar a [GitHub API](https://developer.github.com/guides/getting-started/).

## Implemente uma receita para implantar o aplicativo
<a name="w2ab1c14c47c17c23c25c17"></a>

Adicione uma receita chamada `deploy.rb` ao diretório `iis-cookbook` `recipes` com o seguinte conteúdo.

```
chef_gem "aws-sdk-s3" do
  compile_time false
  action :install
end

ruby_block "download-object" do
  block do
    require 'aws-sdk-s3'

    #1  
    # Aws.config[:ssl_ca_bundle] = 'C:\ProgramData\Git\bin\curl-ca-bundle.crt'
    Aws.use_bundled_cert!

    #2  
    query = Chef::Search::Query.new
    app = query.search(:aws_opsworks_app, "type:other").first
    s3region = app[0][:environment][:S3REGION]
    s3bucket = app[0][:environment][:BUCKET]
    s3filename = app[0][:environment][:FILENAME]

    #3  
    s3_client = Aws::S3::Client.new(region: s3region)
    s3_client.get_object(bucket: s3bucket,
                         key: s3filename,
                         response_target: 'C:\inetpub\wwwroot\default.htm')
  end 
  action :run
end
```

Este exemplo usa [SDK para Ruby v2](https://docs.aws.amazon.com/sdkforruby/api/index.html) para fazer download do arquivo. No entanto, o OpsWorks Stacks não instala esse SDK em instâncias do Windows, então a receita começa com o [https://docs.chef.io/chef/resources.html#chef-gem](https://docs.chef.io/chef/resources.html#chef-gem)recurso, que processa essa tarefa.

**nota**  
O recurso `chef_gem` instala gems na versão do Ruby dedicada do Chef, que é a versão usada pelas receitas. Se você quiser instalar um gem para uma versão do Ruby para todo o sistema, use o recurso [gem\$1package](https://docs.chef.io/chef/resources.html#gem-package).

O pacote da receita é um recurso [https://docs.chef.io/chef/resources.html#ruby-block](https://docs.chef.io/chef/resources.html#ruby-block), que executa um bloco de código Ruby que usa o SDK para Ruby para fazer download de `default.htm`. O código no `ruby_block` pode ser dividido nas seguintes seções, que correspondem aos comentários numerados no exemplo de código. 

**1: Especificar um pacote de certificados**  
O Amazon S3 usa SSL, portanto, você precisa de um certificado apropriado para baixar os objetos de um bucket do S3. O SDK para Ruby v2 não inclui um pacote de certificados, então você deve fornecer um e configurar o SDK para Ruby para usá-lo. OpsWorks O Stacks não instala um pacote de certificados diretamente, mas instala o Git, que inclui um pacote de certificados (). `curl-ca-bundle.crt` Para sua conveniência, este exemplo configura o SDK para Ruby para usar o pacote de certificados Git para SSL. Você também pode instalar seu próprio pacote e configurar o SDK apropriadamente.

**2: Recuperar os dados do repositório**  
Para fazer download de um objeto do Amazon S3, você precisa da região da AWS, do nome do bucket e do nome da chave. Conforme descrito posteriormente, este exemplo fornece essas informações ao associar um conjunto de variáveis de ambiente ao aplicativo. Quando você implanta um aplicativo, o OpsWorks Stacks adiciona um conjunto de atributos ao objeto node da instância. Esses atributos são basicamente uma tabela de hash que contém a configuração do aplicativo, incluindo as variáveis de ambiente. Os atributos de aplicativo para esse aplicativo serão semelhantes aos seguintes, no formato JSON.   

```
{
  "app_id": "8f71a9b5-de7f-451c-8505-3f35086e5bb3",
  "app_source": {
      "password": null,
      "revision": null,
      "ssh_key": null,
      "type": "other",
      "url": null,
      "user": null
  },
  "attributes": {
      "auto_bundle_on_deploy": true,
      "aws_flow_ruby_settings": {},
      "document_root": null,
      "rails_env": null
  },
  "data_sources": [{"type": "None"}],
  "domains": ["iis_example_app"],
  "enable_ssl": false,
  "environment": {
      "S3REGION": "us-west-2",
      "BUCKET": "windows-example-app",
      "FILENAME": "default.htm"
  },
  "name": "IIS-Example-App",
  "shortname": "iis_example_app",
  "ssl_configuration": {
      "certificate": null,
      "private_key": null,
      "chain": null
  },
  "type": "other",
  "deploy": true
}
```
As variáveis de ambiente do aplicativo são armazenadas no atributo `[:environment]`. Para recuperá-las, use uma consulta de pesquisa do Chef para recuperar a tabela de hash do aplicativo, que está no nó `aws_opsworks_app`. Este aplicativo será definido como o tipo `other`, para que a consulta pesquise aplicativos desse tipo. A receita aproveita o fato de que há apenas um aplicativo nesta instância e, portanto, a tabela de hash de interesse é simplesmente `app[0]`. Para sua conveniência, a receita então atribui a região, o bucket e os nomes de arquivo às variáveis.  
Para obter mais informações sobre como usar o Chef, consulte.[Obter valores de atributo com a pesquisa do Chef](cookbooks-101-opsworks-opsworks-stack-config-search.md)

**3: Fazer download do arquivo**  
A terceira parte da receita cria um [objeto de cliente do S3](https://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Client.html) e usa seu método `[get\$1object](https://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Client.html#get_object-instance_method)` para fazer download de `default.htm` para o diretório `C:\inetpub\wwwroot` da instância. 

**nota**  
Uma receita é um aplicativo Ruby e, portanto, o código Ruby não precisa estar necessariamente em um `ruby_block`. No entanto, o código no corpo da receita é executado primeiro, seguido pelos recursos, na ordem. Para este exemplo, se você colocar o código de download no corpo da receita, ele falhará porque o recurso `chef_gem` ainda não terá instalado o SDK para Ruby. O código no recurso `ruby_block` é executado quando o recurso é executado, depois que o recurso `chef_gem` tiver instalado o SDK para Ruby.

## Atualizar os livros de receitas da instância
<a name="w2ab1c14c47c17c23c25c19"></a>

OpsWorks O Stacks instala automaticamente livros de receitas personalizados em novas instâncias. No entanto, você está trabalhando com uma instância existente e, portanto, deve atualizar seu livro de receitas manualmente.

**Para atualizar os livros de receitas da instância**

1. Crie um arquivo `.zip` de `iis-cookbook` e faça upload dele em um bucket do S3.

   Isso substituirá o livro de receitas existente, mas o URL permanecerá o mesmo, portanto, não será necessário atualizar a configuração da pilha.

1. Se a sua instância não estiver online, reinicie-a.

1. Depois que a instância estiver online, escolha **Stack** no painel de navegação e, em seguida, **Run Command**.

1. Para **Command**, escolha [Update Custom Cookbooks](workingstacks-commands.md). Esse comando instala o livro de receitas atualizado na instância.

1. Escolha **Update Custom Cookbooks**. Esse comando pode levar alguns minutos para ser concluído.

## Adicionar a receita à camada personalizada do IIS
<a name="w2ab1c14c47c17c23c25c21"></a>

Assim como ocorre com `install.rb`, a forma preferencial de lidar com a implantação é atribuir `deploy.rb` ao evento de ciclo de vida apropriado. Em geral, você atribui as receitas de implantação ao evento Implantar, e elas são chamadas coletivamente como Implantar receitas. A atribuição de uma receita ao evento implantar não aciona o evento. Em vez disso:
+ Para novas instâncias, o OpsWorks Stacks executa automaticamente as receitas de implantação após a conclusão das receitas de configuração, para que as novas instâncias tenham automaticamente a versão atual do aplicativo.
+ Para as instâncias online, você usa um [comando de implantação](workingapps-deploying.md) para instalar manualmente os aplicativos novos ou atualizados.

  Este comando aciona um evento de Implantação nas instâncias da pilha, que executa o Implantar receitas.

**Para atribuir deploy.rb ao evento Implantar da camada**

1. Escolha **Camadas** no painel de navegação e, em seguida, escolha **Receitas** em ** IISExampleCamada**.

1. Em **Custom Chef Recipes (Receitas do Chef personalizadas)**, adicione **iis-cookbook::deploy** à caixa de receitas **Deploy (Implantação)** e escolha **\$1** para adicionar a receita à camada.

1. Escolha **Save** para salvar a nova configuração. O Implantar receitas personalizado agora deve incluir `iis-cookbook::deploy`.

## Adicionar um aplicativo
<a name="w2ab1c14c47c17c23c25c23"></a>

A tarefa final é adicionar um aplicativo à pilha para representar seu aplicativo no ambiente OpsWorks Stacks. Um aplicativo inclui metadados, como o nome de exibição do aplicativo, e os dados necessários para fazer o download do aplicativo de seu repositório.

**Para adicionar o aplicativo à pilha**

1. No painel de navegação, escolha **Apps (Aplicativos)** e depois **Add an app (Adicionar um aplicativo)**.

1. Configure o aplicativo com as definições a seguir.
   + **Nome**: I**IIS-Example-App**
   + **Tipo de repositório**: **outro**
   + **Variáveis de ambiente**: adicione estas três variáveis de ambiente:
     + **S3REGION**: a região do bucket (neste caso, `us-west-1`).
     + **BUCKET**: o nome do bucket, como `windows-example-app`.
     + **FILENAME**: o nome do arquivo: **default.htm**.

1. Aceite os valores padrão para as demais configurações e escolha **Add App (Adicionar aplicativo)** para adicionar o aplicativo à pilha.

**nota**  
Este exemplo usa variáveis de ambiente para fornecer os dados de download. Uma abordagem alternativa é usar um tipo de repositório do S3 Archive e fornecer a URL do arquivo. OpsWorks O Stacks adiciona as informações, junto com dados opcionais, como suas credenciais da AWS, ao atributo do `app_source` aplicativo. Sua receita de implantação deve obter o URL dos atributos do aplicativo e analisá-lo para extrair a região, o nome do bucket e o nome do arquivo.

## Implantar o aplicativo e abrir o aplicativo
<a name="w2ab1c14c47c17c23c25c25"></a>

OpsWorks O Stacks implanta aplicativos automaticamente em novas instâncias, mas não em instâncias on-line. Como sua instância já está em execução, será necessário implantar o aplicativo manualmente.

**Para implantar o aplicativo**

1. Escolha **Apps (Aplicativos)** no painel de navegação e escolha **deploy (implantar)** na coluna **Actions (Ações)** do aplicativo.

1. **Command (Comando)** deve ser definido como **Deploy (Implantar)**. Escolha **Deploy (Implantar)** no canto inferior direito da página **Deploy App (Implantar aplicativo)**. Esse comando pode levar alguns minutos para ser concluído.

   Depois que a implantação for concluída, você retornará para a página **Apps (Aplicativos)**. O indicador **Status** mostrará **successful (bem-sucedido)** em verde, e o nome do aplicativo terá uma marca de verificação verde próxima a ele para indicar uma implantação bem-sucedida.

**nota**  
Os aplicativos do Windows são sempre o tipo de aplicativo **Other (Outros)** e, portanto, a implantação do aplicativo faz o seguinte:  
Adiciona os dados do aplicativo aos [atributos de configuração e de implantação da pilha](workingcookbook-json.md), conforme descrito anteriormente.
Aciona um evento Implantar nas instâncias da pilha, que executa seu Implantar receitas personalizado.

**nota**  
Para obter mais informações sobre como solucionar falhas nas implantações ou nos aplicativos, consulte [Depurar receitas](troubleshoot-debug.md).

O aplicativo está instalado. Você pode abri-lo ao escolher **Instances** no painel **Navigation** e, em seguida, o endereço IP público da instância. Isso envia uma solicitação HTTP para a instância, e você verá em seu navegador algo como o mostrado a seguir.

![\[Text displaying "Hello World!" in large, bold font against a white background.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/windows-iis-app.png)


# Etapa 3: Dimensionar IISExample
<a name="gettingstarted-windows-scale"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Se as suas solicitações de usuário de entrada começarem a se aproximar do limite do que você pode tratar com uma única instância t2.micro, será necessário aumentar sua capacidade de servidor. Você pode mudar a uma instância maior, mas isso tem limites. Uma abordagem mais flexível é adicionar instâncias ao seu pilha e colocá-las atrás de um load balancer. A arquitetura básica é semelhante à seguinte.

![\[OpsWorks stack architecture with load balancer, Windows instances, and external repositories.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/php_walkthrough_arch_4_windows.png)


Entre outras vantagens, essa abordagem é muito mais robusta do que uma única instância grande.
+ Se uma das suas instâncias falhar, o load balancer distribuirá as solicitações de entrada para as instâncias restantes e o aplicativo continuará a funcionar.
+ Se você colocar as instâncias em diferentes Zonas de disponibilidade (a melhor prática), o aplicativo continuará a funcionar mesmo se uma Zona de disponibilidade tiver problemas.

OpsWorks As pilhas facilitam a escalabilidade das pilhas. Esta seção descreve as noções básicas de como escalar uma pilha adicionando uma segunda instância do PHP App Server 24 horas por dia, 7 dias por semana, IISExample e colocando ambas as instâncias atrás de um load balancer do Elastic Load Balancing. Você pode estender facilmente o procedimento para adicionar um número arbitrário de instâncias 24 horas por dia, 7 dias por semana, ou pode usar instâncias baseadas em tempo para que o OpsWorks Stacks escale sua pilha automaticamente. Para obter mais informações, consulte [Gerenciamento de carga com instâncias baseadas em tempo e carga](workinginstances-autoscaling.md). 

# Adicionar um load balancer
<a name="gettingstarted-windows-scale-elb"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

O Elastic Load Balancing é um serviço da AWS que distribui automaticamente o tráfego de entrada do aplicativo em várias instâncias da Amazon. EC2 Um load balancer pode servir a dois propósitos. O óbvio é equalizar a carga em seus servidores de aplicativos. Muitos sites preferem isolar seus servidores de aplicativos e bancos de dados do acesso direto do usuário. Além de distribuir o tráfego, o Elastic Load Balancing faz o seguinte:
+ Detecta instâncias insalubres da Amazon EC2 .

  Ele redireciona o tráfego para as instâncias íntegras restantes até que as instâncias com problemas sejam restauradas.
+ Escala automaticamente solicitação de manuseio de capacidade em resposta a tráfego de entrada.

**nota**  
OpsWorks O Stacks não é compatível com o Application Load Balancer. Você só pode usar o Classic Load Balancer com o OpsWorks Stacks.

Embora o Elastic Load Balancing normalmente seja mencionado como uma camada, ele funciona de uma forma um pouco diferente das outras camadas integradas. Em vez de criar uma camada e adicionar instâncias a ela, você cria um balanceador de carga do Elastic Load Balancing usando o EC2 console da Amazon e o anexa a uma de suas camadas existentes, geralmente uma camada de servidor de aplicativos. OpsWorks Em seguida, o Stacks registra as instâncias existentes da camada com o serviço e adiciona automaticamente quaisquer novas instâncias. O procedimento a seguir descreve como adicionar um load balancer.

**Para anexar um load balancer à camada personalizada do IIS**

1. Use o EC2 console da Amazon para criar um novo balanceador de carga para IISExample. Para obter mais informações, consulte [Conceitos básicos do Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/load-balancer-getting-started.html). Quando você executar o assistente do **Create Load Balancer**, configure o load balancer como a seguir:  
**1: Define Load Balancer**  
Atribua ao balanceador de carga um nome facilmente reconhecível, como IIS-LB, para facilitar a localização no console Stacks. OpsWorks Aceite os valores padrão para as outras configurações e escolha **Next: Assign Security Groups**.  
**2: Assign Security Groups**  
Se a sua conta for compatível com a VPC padrão, o assistente exibirá esta página para determinar o grupo de segurança do load balancer. Ela não exibe esta página do EC2 Classic.  
Para este passo-a-passo, especifique **default VPC security group** e escolha **Next: Configure Security Settings**.  
**3: Configure Security Settings**  
Esta demonstração requer que o load balancer use um ouvinte seguro (ou seja, HTTPS ou SSL em sua conexão front-end); portanto, escolha **Next: Configure Health Check** para continuar.  
**4: Configure Health Check**  
Defina o caminho de ping como **/**. Aceite os padrões para as configurações restantes e escolha **Avançar: Adicionar EC2 ** instâncias.  
**5: Adicionar EC2 instâncias**  
OpsWorks O Stacks cuida automaticamente do registro de instâncias com o balanceador de carga. Escolha **Next Add Tags** para continuar.   
**6: Add Tags**  
Você não usará as tags para este exemplo. Selecione **Review and Create**.   
**7: Review**  
Revise suas escolhas e selecione **Create** e **Close**, que inicia o load balancer.

1. Se a sua conta for compatível com a VPC padrão, depois que você iniciar o load balancer, deverá garantir que seu grupo de segurança tenha as regras de entrada apropriadas. A regra padrão não aceita tráfego de entrada.

   1. Escolha **Security Groups** no painel de EC2 navegação da Amazon.

   1. Escolha **default VPC security group**

   1. Na guia **Entrada**, escolha **Editar**.

   1. Para esta demonstração, defina **Source** como **Anywhere**, que direciona o load balancer a aceitar tráfego de entrada de qualquer endereço IP. 

   1. Clique em **Salvar**.

1. Volte para o console OpsWorks Stacks. Na página **Layers**, selecione **Network**.

1. Na opção **Elastic Load Balancing**, selecione o load balancer IIS-LB criado na Etapa 1 e clique em **Save**.

   Depois de conectar o balanceador de carga à camada, o OpsWorks Stacks registra automaticamente as instâncias atuais da camada e adiciona novas instâncias à medida que elas ficam on-line.

1. Na página **Layers**, clique no nome do load balancer para abrir sua página de detalhes. Uma marca de verificação verde ao lado da instância na página do load balancer indica que a instância passou por uma verificação de integridade.

Agora você pode executar IIS-Example-App enviando uma solicitação para o balanceador de carga.

**Para executar IIS-Example-App o balanceador de carga**

1. Escolha **Layers**. O load balancer IIS-ELB deve estar listado como uma camada e a coluna Integridade deve ter uma instância em verde, o que indica uma instância íntegra.

1. Escolha o nome DNS do balanceador de carga a ser executado. IIS-Example-App Ele deve estar listado no nome do load balancer e deve ser algo semelhante a `IIS-LB-1802910859.us-west-2.elb.amazonaws.com`. O load balancer encaminha a solicitação para a instância e retorna a resposta, que deve ser exatamente igual à resposta obtida quando você clica no endereço IP público da instância.

Você tem apenas uma instância neste ponto e, portanto, o load balancer não está realmente adicionando muito. No entanto, agora você pode adicionar outras instâncias à camada.

**Para adicionar uma instância à camada**

1. Escolha **Instances** e **\$1 instance** para adicionar outra instância à camada e a inicie.

1. Inicie a instância.

Por serem novas instâncias, o OpsWorks Stacks instala automaticamente os livros de receitas personalizados atuais e implanta a versão atual do aplicativo durante a configuração. Quando a instância fica on-line, o OpsWorks Stacks a adiciona automaticamente ao balanceador de carga, para que sua instância comece imediatamente a lidar com as solicitações. Para verificar se o aplicativo ainda está funcionando, você pode escolher o nome DNS do load balancer novamente.

# Próximas etapas
<a name="gettingstarted-windows-what-next"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Esta demonstração apresentou as noções básicas da configuração de uma pilha simples de servidor de aplicativos do Windows. Aqui estão algumas sugestões sobre o que fazer a seguir.
+ Se você quiser saber mais, [Conceitos básicos: livros de receitas](gettingstarted-cookbooks.md) fornece um tutorial de introdução à implementação de livros de receitas e inclui vários exemplos específicos do OpsWorks Stacks. 
+ É possível adicionar uma camada do [Amazon Relational Database Service (Amazon RDS)](workinglayers-db-rds.md) à pilha para usar o servidor de banco de dados de back-end. Para obter informações sobre como conectar seu aplicativo ao banco de dados, consulte [Usando uma receita predefinida](workingapps-connectdb.md#workingapps-connectdb-custom).

# Começando com livros de receitas em pilhas OpsWorks
<a name="gettingstarted-cookbooks"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Uma pilha OpsWorks Stacks em nível de produção normalmente requer alguma personalização, o que geralmente significa implementar um livro de receitas personalizado do Chef. Um *livro de receitas* é um arquivo de pacote que contém informações de configuração, incluindo instruções chamadas de *receitas*. Uma *receita* é um conjunto de uma ou mais instruções, escritas com sintaxe de linguagem Ruby, que especifica os recursos a serem usados e a ordem em que esses recursos são aplicados. Um *recurso*, como usado no Chef, é uma declaração de política de configuração. Este passo a passo fornece uma introdução básica à implementação dos livros de receitas do Chef para Stacks. OpsWorks Para saber mais sobre Chef, livros de receitas, receitas e recursos, consulte os links em [Próximas etapas](gettingstarted-cookbooks-next-steps.md).

Esta demonstração ensina como criar seus próprios livros de receitas. Você também pode usar receitas fornecidas pela comunidade disponível em sites como o [Chef Supermarket](https://supermarket.chef.io). Para ajudar você a usar os livros de receitas da comunidade, incluímos instruções para usar um livro de receitas da comunidade do Chef Supermarket posteriormente nesta demonstração.

Antes de iniciar a demonstração, é necessário concluir algumas etapas de configuração. Se você já concluiu qualquer uma das outras demonstrações neste capítulo, como [Conceitos básicos: exemplo](gettingstarted-intro.md), significa que já cumpriu os pré-requisitos para esta demonstração e poderá pular para a seção [iniciar esta demonstração](gettingstarted-cookbooks-create-cookbook.md). Caso contrário, conclua os [pré-requisitos](gettingstarted-intro-prerequisites.md) e, em seguida, retorne a esta demonstração.

**Topics**
+ [Etapa 1: criar o livro de receitas](gettingstarted-cookbooks-create-cookbook.md)
+ [Etapa 2: criar a pilha e seus componentes](gettingstarted-cookbooks-create-stack.md)
+ [Etapa 3: executar e testar a receita](gettingstarted-cookbooks-test-recipe.md)
+ [Etapa 4: atualizar o livro de receitas para instalar um pacote](gettingstarted-cookbooks-install-package.md)
+ [Etapa 5: atualizar o livro de receitas na instância e executar a receita](gettingstarted-cookbooks-copy-cookbook.md)
+ [Etapa 6: atualizar o livro de receitas para adicionar um usuário](gettingstarted-cookbooks-add-user.md)
+ [Etapa 7: atualizar o livro de receita para criar um diretório](gettingstarted-cookbooks-create-directory.md)
+ [Etapa 8: atualizar o livro de receitas para criar e copiar arquivos](gettingstarted-cookbooks-create-file.md)
+ [Etapa 9: atualizar o livro de receitas para executar um comando](gettingstarted-cookbooks-run-command.md)
+ [Etapa 10: atualizar o livro de receitas para executar um script](gettingstarted-cookbooks-run-script.md)
+ [Etapa 11: atualizar o livro de receitas para gerenciar um serviço](gettingstarted-cookbooks-manage-service.md)
+ [Etapa 12: atualizar o livro de receitas para usar JSON personalizado](gettingstarted-cookbooks-custom-json.md)
+ [Etapa 13: atualizar o livro de receitas para usar data bags](gettingstarted-cookbooks-data-bags.md)
+ [Etapa 14: atualizar o livro de receitas para usar iteração](gettingstarted-cookbooks-iteration.md)
+ [Etapa 15: atualizar o livro de receitas para usar lógica condicional](gettingstarted-cookbooks-conditional-logic.md)
+ [Etapa 16: atualizar o livro de receitas para usar livros de receitas da comunidade](gettingstarted-cookbooks-community-cookbooks.md)
+ [Etapa 17: limpar (opcional)](gettingstarted-cookbooks-clean-up.md)
+ [Próximas etapas](gettingstarted-cookbooks-next-steps.md)

# Etapa 1: criar o livro de receitas
<a name="gettingstarted-cookbooks-create-cookbook"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Comece criando um livro de receitas. Esse livro de receitas não fará muito para começar, mas servirá como base para o restante desta demonstração.

**nota**  
Esta etapa mostra como criar um livro de receitas manualmente. Você pode criar um livro de receitas em menos tempo com o kit de desenvolvimento Chef ([Chef DK](https://docs.chef.io/#chef-dk-title)), executando o comando [https://docs.chef.io/ctl_chef.html#chef-generate-cookbook](https://docs.chef.io/ctl_chef.html#chef-generate-cookbook) na sua estação de trabalho local. Contudo, este comando cria várias pastas e arquivos desnecessários para esta demonstração.

**Para criar o livro de receitas**

1. Na estação de trabalho local, crie um diretório chamado `opsworks_cookbook_demo`. É possível usar um nome diferente, mas substitua-o por `opsworks_cookbook_demo` durante esta demonstração.

1. No diretório `opsworks_cookbook_demo`, crie um arquivo chamado `metadata.rb` usando um editor de texto. Adicione o código a seguir para especificar o nome do livro de receitas. Para obter mais informações sobre `metadata.rb`, consulte [metadata.rb](https://docs.chef.io/config_rb_metadata.html) no site do Chef.

   ```
   name "opsworks_cookbook_demo"
   ```

1. No diretório `opsworks_cookbook_demo`, crie um subdiretório chamado `recipes`. Nesse subdiretório estarão todas as receitas que você criar para esse livro de receitas de demonstração.

1. No diretório `recipes`, crie um arquivo chamado `default.rb`. Esse arquivo contém uma receita com o mesmo nome do arquivo, mas sem a extensão de arquivo: `default`. Adicione a seguinte linha única de código para o arquivo `default.rb`. Esse código é uma receita de linha única que exibe uma mensagem simples no registro quando a receita executa:

   ```
   Chef::Log.info("********** Hello, World! **********")
   ```

1. No terminal ou no prompt de comando, use o comando **tar** para criar um arquivo chamado `opsworks_cookbook_demo.tar.gz`, que contém o diretório `opsworks_cookbook_demo` e o conteúdo nele inserido. Por exemplo:

   ```
   tar -czvf opsworks_cookbook_demo.tar.gz opsworks_cookbook_demo/
   ```

   É possível usar um nome de arquivo diferente, mas substitua-o por `opsworks_cookbook_demo.tar.gz` durante esta demonstração.
**nota**  
Ao criar o arquivo `tar` no Windows, o diretório principal deve ser o diretório pai do livro de receitas. Esta demonstração foi testada no Linux com o comando **tar** fornecido pelo pacote `tar`, e no Windows com o comando **tar** fornecido pelo [Git Bash](https://git-for-windows.github.io/). É possível que algo dê errado se outros comandos ou programas forem usados para criar um arquivo compactado TAR (.tar.gz).

1. Crie um bucket do S3 ou use um bucket existente. Para obter mais informações, acesse [Criar um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html).

1. Faça upload do arquivo `opsworks_cookbook_demo.tar.gz` no bucket do S3. Para obter mais informações, consulte [Adicionar um objeto a um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/PuttingAnObjectInABucket.html).

Agora você tem um livro de receitas que será usado durante a demonstração.

Na [próxima etapa](gettingstarted-cookbooks-create-stack.md), você cria uma pilha de OpsWorks pilhas que usará posteriormente para carregar seu livro de receitas e executar as receitas do livro de receitas.

# Etapa 2: criar a pilha e seus componentes
<a name="gettingstarted-cookbooks-create-stack"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Crie uma OpsWorks pilha de pilhas e seus componentes, que incluem uma camada e uma instância. Em etapas posteriores, será necessário fazer o upload do livro de receitas para a instância e executar essas receitas nessa instância.

**Para criar a pilha**

1. Faça login no console do OpsWorks Stacks em [https://console.aws.amazon.com/opsworks](https://console.aws.amazon.com/opsworks).

1. Execute a ação que melhor se aplica:
   + Se a página **Bem-vindo às OpsWorks pilhas** for exibida, escolha **Adicionar sua primeira pilha ou Adicionar sua primeira pilha** **de OpsWorks pilhas** (ambas as opções fazem a mesma coisa). A página **Add stack** será exibida.
   + Se a página **OpsWorks Painel** for exibida, escolha **Adicionar pilha**. A página **Add Stack** será exibida.

1. Escolha **Chef 12 stack**.

1. Na caixa **Stack name (Nome da pilha)**, digite um nome para a stack (por exemplo, **MyCookbooksDemoStack**). É possível inserir um nome diferente, mas substitua ele por `MyCookbooksDemoStack` durante esta demonstração.

1. Para **Região**, escolha **Oeste dos EUA (Oregon)**.

1. Para **VPC**, realize um destes procedimentos:
   + Escolha um VPC se essa opção estiver disponível. Para obter mais informações, consulte [Execução de uma Stack em uma VPC](workingstacks-vpc.md).
   + Caso contrário, escolha **No VPC**.

1. Para **Use custom Chef cookbooks**, escolha **Yes**.

1. Para **Repository type**, escolha **S3 Archive**.
**nota**  
No passo-a-passo [Conceitos básicos: Linux](gettingstarted-linux.md), escolheu **Http Archive**. Ao invés disso, escolha **S3 Archive** aqui.

1. Para **Repository URL**, insira o caminho para o seu arquivo `opsworks_cookbook_demo.tar.gz` no S3. Para obter o caminho, selecione o arquivo `opsworks_cookbook_demo.tar.gz` no console do S3. No painel **Properties**, copie o valor do campo **Link**. (Ele deve ser semelhante a este: `https://s3.amazonaws.com/amzn-s3-demo-bucket/opsworks_cookbook_demo.tar.gz`.)

1. Se o bucket do S3 for privado, o que é o padrão, então para **ID de chave de acesso** e **Chave de acesso secreta**, digite o ID da chave de acesso e a chave de acesso secreta do usuário do IAM usado para esta demonstração. Para obter mais informações, consulte [Editar permissões de objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EditingPermissionsonanObject.html) e [Compartilhar um objeto com os outros](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html).

1. Deixe os padrões para os seguintes:
   + **Default Availability Zone** (**us-west-2a**)
   + **Sistema operacional padrão** (**Linux** e **Amazon Linux 2016.09**)
   + **Default SSH key** (**Do not use a default SSH key**)
   + **Stack color** (azul escuro)

1. Escolha **Advanced (Avançado)**.

1. Em **Perfil do IAM**, siga um destes procedimentos:
   + Escolha **aws-opsworks-service-role** se essa opção estiver disponível.
   + Se não **aws-opsworks-service-role**estiver disponível, escolha **Nova função do IAM**.

1. Para **Perfil de instância padrão do IAM**, realize um dos seguintes procedimentos:
   + Se **aws-opsworks-ecduas funções** estiverem disponíveis, escolha-as.
   + Se **aws-opsworks-ec2 funções** não estiverem disponíveis, escolha **Novo perfil de instância do IAM**.

1. Deixe os padrões para os seguintes:
   + **Tipo de dispositivo raiz padrão‭** (‭**Baseado em ‬EBS‭**)
   + **‬Tema do host‭name** (‭**Depende do nível**)
   + **OpsWorks Versão do agente** (versão mais recente)
   + **Custom Chef JSON** (em branco)
   + **Segurança**, **use grupos OpsWorks de segurança** (**Sim**)

1. Escolha **Adicionar pilha**. OpsWorks Stacks cria a pilha e exibe a **MyCookbooksDemoStack**página.

**Para criar a camada**

1. No painel de navegação de serviços, escolha **Layers**. A página **Layers** será exibida. 

1. Escolha **Add a layer**.

1. Na **OpsWorks**guia, em **Nome**, digite**MyCookbooksDemoLayer**. É possível inserir um nome diferente, mas substitua ele por `MyCookbooksDemoLayer` durante esta demonstração.

1. Para **Short name (Nome abreviado)**, digite **cookbooks-demo**. É possível inserir um nome diferente, mas substitua ele por `cookbooks-demo` durante esta demonstração.

1. Escolha **Adicionar camada**. OpsWorks Stacks adiciona a camada e exibe a página **Camadas**.

**Para criar e iniciar a instância**

1. No painel de navegação de serviços, escolha **Instances**. A página **Instances** será exibida.

1. Escolha **Add an instance**.

1. Na guia **New**, selecione **Advanced**. 

1. Deixe os padrões para os seguintes:
   + **Hostname** (**cookbooks-demo1**)
   + **Tamanho** (**c3.large**)
   + **Sub-rede** (*IP address***us-west-2a**)
   + **Tipo de escalação** (**24/7**)
   + **Chave SSH** (**Não usar chave SSH padrão**)
   + **Sistema operacional** (**Amazon Linux 2016.09**)
   + **OpsWorks Versão do agente** (**herdar da pilha)**
   + **Locação** (**Padrão - usar as configurações de VPC**)
   + **Tipo de dispositivo raiz** (**Baseado em EBS**)
   + **Tipo de volume‭** (**Finalidade geral (SSD)**)
   + **Tamanho de volume** (**8**)

1. Escolha **Add instance**.

1. **Para **MyCookbooksDemoLayer**, para **cookbooks-demo1**, para **Ações**, escolha iniciar.** Não continue até que o **Status** seja alterado para **online**. Esse processo pode levar alguns minutos.

Agora você tem uma pilha, uma camada e uma instância para a qual o livro de receitas foi copiado automaticamente do bucket do S3. Na [próxima etapa](gettingstarted-cookbooks-test-recipe.md), será necessário executar e testar a receita padrão do livro de receitas na instância.

# Etapa 3: executar e testar a receita
<a name="gettingstarted-cookbooks-test-recipe"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Execute e teste a `default` receita de dentro do livro de receitas que o OpsWorks Stacks copiou para a instância. Como já foi mencionado, essa é a receita de linha única que exibe uma mensagem simples no registro quando a receita é executada.

**Para executar a receita**

1. No painel de navegação de serviços, escolha **Stack**. A página **MyCookbooksDemoStack** será exibida.

1. Escolha **Run Command**. A página **Run Command** é exibida.

1. Para **Command**, escolha **Execute Recipes**.

1. Para **Recipes to execute (Receitas para executar)**, digite **opsworks\$1cookbook\$1demo::default**.

   **opsworks\$1cookbook\$1demo** é o nome do livro de receitas definido no arquivo `metadata.rb`. **default** é o nome da receita a ser executada, ou seja, o nome do arquivo `default.rb` no subdiretório `recipes` do livro de receitas, sem a extensão do arquivo.

1. Deixe as seguintes configurações padrão:
   + **Comment** (em branco)
   + **Advanced**, **Custom Chef JSON** (em branco)
   + **Instâncias** (**selecione todas as opções** marcadas, **MyCookbooksDemoLayer**verificadas, **cookbooks-demo1** verificadas)

1. Escolha **Execute Recipes**. A página **Running command execute\$1recipes** é exibida. Não continue até que o **Status** seja alterado para **successful**. Esse processo pode levar alguns minutos.

**Para verificar os resultados da receita**

1. Com a página **Running command execute\$1recipes** sendo exibida, para **cookbooks-demo1** e **Log**, escolha **show**. A página de log **execute\$1recipes** é exibida.

1. Role para baixo no registro e encontre uma entrada semelhante à seguinte:

   ```
   [2015-11-13T19:14:39+00:00] INFO: ********** Hello, World! **********
   ```

A primeira receita foi executada com sucesso\$1 Na [próxima etapa](gettingstarted-cookbooks-install-package.md), você irá atualizar seu livro de receitas, adicionando uma receita que instala um pacote na instância.

# Etapa 4: atualizar o livro de receitas para instalar um pacote
<a name="gettingstarted-cookbooks-install-package"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Atualize seu livro de receitas adicionando uma receita que instala na instância um pacote que contém o editor de texto GNU Emacs.

Embora você possa facilmente fazer login na instância e instalar o pacote uma vez, escrever uma receita permite que você execute a receita do OpsWorks Stacks uma vez para instalar vários pacotes em várias instâncias em uma pilha simultaneamente. 

**Para atualizar o livro de receitas para instalar um pacote**

1. De volta na sua estação de trabalho local, no subdiretório `recipes`, no diretório `opsworks_cookbook_demo`, crie um arquivo chamado `install_package.rb` com o seguinte código: 

   ```
   package "Install Emacs" do
     package_name "emacs"
   end
   ```

   Essa receita instala o pacote `emacs` na instância. (Para obter mais informações, consulte [pacote](https://docs.chef.io/resource_package.html).)
**nota**  
Dê à receita qualquer nome de arquivo que desejar. Apenas certifique-se de especificar o nome correto da receita sempre que quiser que o OpsWorks Stacks execute a receita.

1. No terminal ou no prompt de comando, use o comando **tar** para criar uma nova versão do arquivo `opsworks_cookbook_demo.tar.gz`, que contém o diretório `opsworks_cookbook_demo` e o conteúdo atualizado.

1. Carregue o arquivo `opsworks_cookbook_demo.tar.gz` atualizado no bucket do S3.

Essa nova receita é executada quando o livro de receitas for atualizado na instância e, em seguida, a nova receita do livro de receitas atualizado for executada. A próxima etapa mostra como fazer isso. 

Depois de concluir a [próxima etapa](gettingstarted-cookbooks-copy-cookbook.md), será possível efetuar o login na instância e, em seguida, digitar **emacs** a partir do prompt de comando para iniciar o GNU Emacs. (Para obter mais informações, acesse [Conectar à instância do Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html).) Para sair do GNU Emacs, pressione **Ctrl\$1X**e, em seguida, **Ctrl\$1C**.

**Importante**  
Para fazer login na instância, primeiro você deve fornecer às OpsWorks pilhas informações sobre sua chave SSH pública (que você pode criar com ferramentas como ssh-keygen ou PuTTYgen) e, em seguida, definir permissões na `MyCookbooksDemoStack` pilha para permitir que o usuário faça login na instância. Para obter instruções, consulte [Registro de uma chave SSH pública de um usuário](security-settingsshkey.md) e [Login com SSH](workinginstances-ssh.md).

# Etapa 5: atualizar o livro de receitas na instância e executar a receita
<a name="gettingstarted-cookbooks-copy-cookbook"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Atualize o livro de receitas na instância e, em seguida, execute a receita do livro de receitas atualizado na instância. Ao longo desta demonstração, repita esta etapa sempre que atualizar o livro de receitas adicionando uma nova receita.

**Para atualizar o livro de receitas na instância**

1. No painel de navegação de serviços, escolha **Stack**. A página **MyCookbooksDemoStack** será exibida.

1. Escolha **Run Command**. A página **Run Command** é exibida.

1. Para **Command**, escolha **Update Custom Cookbooks**.

1. Deixe as seguintes configurações padrão:
   + **Comment** (em branco)
   + **Advanced**, **Custom Chef JSON** (em branco)
   + **Avançado**, **Instâncias** (**selecione todos os** marcados, **MyCookbooksDemoLayer**verificados, **cookbooks-demo1** verificados)

1. Escolha **Update Custom Cookbooks**. A página **Running command update\$1custom\$1cookbooks** é exibida. Não continue até que o **Status** seja alterado para **successful**. Esse processo pode levar alguns minutos.

**Para executar a receita**

1. No painel de navegação de serviços, escolha **Stack**. A página **MyCookbooksDemoStack** será exibida.

1. Escolha **Run Command**. A página **Run Command** é exibida.

1. Para **Command**, escolha **Execute Recipes**.

1. Para **Recipes to execute**, digite o nome da receita a ser executada. Na primeira vez que fizer isso, a receita é chamada **opsworks\$1cookbook\$1demo::install\$1package**.
**nota**  
Conforme esse procedimento for repetido posteriormente, digite o nome do livro de receitas (**opsworks\$1cookbook\$1demo**), seguido por dois (**::**), seguidos pelo nome da receita (o nome de arquivo da receita, sem a extensão de arquivo `.rb`).

1. Deixe as seguintes configurações padrão:
   + **Comment** (em branco)
   + **Advanced**, **Custom Chef JSON** (em branco)
   + **Instâncias**: **Selecione todos** (verificados, **MyCookbooksDemoLayer**verificados, **cookbooks-demo1**, verificados)

1. Escolha **Execute Recipes**. A página **Running command execute\$1recipes** é exibida. Não continue até que o **Status** seja alterado para **successful**. Esse processo pode levar alguns minutos.

**nota**  
Não é necessário executar as receitas manualmente. Você pode atribuir receitas aos eventos do ciclo de vida de uma camada, como os eventos Setup e Configure, e o OpsWorks Stacks executará essas receitas automaticamente quando o evento ocorrer. Para obter mais informações, consulte [OpsWorks Eventos do ciclo de vida do Stacks](workingcookbook-events.md).

Na [próxima etapa](gettingstarted-cookbooks-add-user.md), você irá atualizar o livro de receitas para adicionar um usuário para a instância.

# Etapa 6: atualizar o livro de receitas para adicionar um usuário
<a name="gettingstarted-cookbooks-add-user"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Atualize o livro de receitas adicionando uma receita que inclui um usuário local à instância e define o diretório inicial e shell do usuário. Isso é semelhante a executar os comandos **adduser** ou **useradd** no Linux ou o comando **net user** no Windows. Adicione um usuário local a uma instância quando quiser controlar o acesso aos arquivos e diretórios da instância, por exemplo.

Além disso, é possível gerenciar usuários sem usar os livros de receitas. Para obter mais informações, consulte [Gerenciamento de usuários](opsworks-security-users-manage.md).

**Para atualizar o livro de receitas na instância e executar a nova receita**

1. Na sua estação de trabalho local, no subdiretório `recipes`, no diretório `opsworks_cookbook_demo`, crie um arquivo chamado `add_user.rb` com o seguinte código (para mais informações, acesse [usuário](https://docs.chef.io/resource_user.html)): 

   ```
   user "Add a user" do
     home "/home/jdoe"
     shell "/bin/bash"
     username "jdoe"  
   end
   ```

1. No terminal ou no prompt de comando, use o comando **tar** para criar uma nova versão do arquivo `opsworks_cookbook_demo.tar.gz`, que contém o diretório `opsworks_cookbook_demo` e o conteúdo atualizado.

1. Carregue o arquivo `opsworks_cookbook_demo.tar.gz` atualizado no bucket do S3.

1. Para atualizar o livro de receitas na instância e para executar a nova receita, siga as instruções em [Etapa 5: atualizar o livro de receitas na instância e executar a receita](gettingstarted-cookbooks-copy-cookbook.md). No processo "Para executar a receita", para **Recipes to execute (Receitas para executar)**, digite **opsworks\$1cookbook\$1demo::add\$1user**.

**Para testar a receita**

1. Faça login na instância, se ainda não tiver feito.

1. No prompt de comando, execute o comando a seguir para confirmar que o novo usuário foi adicionado:

   ```
   grep jdoe /etc/passwd
   ```

   Informações sobre o usuário semelhantes às seguintes são exibidas, incluindo detalhes, como o nome do usuário, o número de ID, número de ID do grupo, diretório inicial e shell:

   ```
   jdoe:x:501:502::/home/jdoe:/bin/bash
   ```

Na [próxima etapa](gettingstarted-cookbooks-create-directory.md), você irá atualizar o livro de receitas para criar um diretório na instância.

# Etapa 7: atualizar o livro de receita para criar um diretório
<a name="gettingstarted-cookbooks-create-directory"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Atualize seu livro de receitas, adicionando uma receita que adiciona um diretório à instância. Isso é semelhante a executar o comando **mkdir** no Linux ou os comandos **md** ou **mkdir** no Windows.

**Para atualizar o livro de receitas na instância e executar a nova receita**

1. Na sua estação de trabalho local, no subdiretório `recipes`, no diretório `opsworks_cookbook_demo`, crie um arquivo chamado `create_directory.rb` com o seguinte código. Para obter mais informações, consulte [diretório](https://docs.chef.io/resource_directory.html): 

   ```
   directory "Create a directory" do
     group "root"
     mode "0755"
     owner "ec2-user"
     path "/tmp/create-directory-demo"  
   end
   ```

1. No terminal ou no prompt de comando, use o comando **tar** para criar uma nova versão do arquivo `opsworks_cookbook_demo.tar.gz`, que contém o diretório `opsworks_cookbook_demo` e o conteúdo atualizado.

1. Carregue o arquivo `opsworks_cookbook_demo.tar.gz` atualizado no bucket do S3.

1. Para atualizar o livro de receitas na instância e para executar a nova receita, siga as instruções em [Etapa 5: atualizar o livro de receitas na instância e executar a receita](gettingstarted-cookbooks-copy-cookbook.md). No processo "Para executar a receita", para **Recipes to execute (Receitas para executar)**, digite **opsworks\$1cookbook\$1demo::create\$1directory**.

**Para testar a receita**

1. Faça login na instância, se ainda não tiver feito.

1. No prompt de comando, execute o comando a seguir para confirmar que o novo diretório foi adicionado:

   ```
   ls -la /tmp/create-directory-demo
   ```

   Informações sobre o diretório recém-adicionado são exibidas, incluindo informações como permissões, nome do proprietário e nome do grupo: 

   ```
   drwxr-xr-x 2 ec2-user root 4096 Nov 18 00:35 .
   drwxrwxrwt 6 root     root 4096 Nov 24 18:17 ..
   ```

Na [próxima etapa](gettingstarted-cookbooks-create-file.md), você irá atualizar o livro de receitas para criar um arquivo na instância.

# Etapa 8: atualizar o livro de receitas para criar e copiar arquivos
<a name="gettingstarted-cookbooks-create-file"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Atualize seu livro de receitas, adicionando uma receita que adiciona dois arquivos à instância. O primeiro recurso na receita cria um arquivo completamente com código de receita. Isso é semelhante a executar os comandos **cat**, **echo** ou **touch** no Linux ou os comandos **echo** ou **fsutil** no Windows. Essa técnica é útil para alguns arquivos, pequenos ou simples. O segundo recurso na receita copia um arquivo no livro de receitas para outro diretório na instância. Isso é semelhante a executar o comando **cp** no Linux ou o comando **copy** no Windows. Essa técnica é útil para muitos arquivos, grandes ou complexos.

Antes de iniciar esta etapa, complete [Etapa 7: atualizar o livro de receita para criar um diretório](gettingstarted-cookbooks-create-directory.md) para certificar-se de que o diretório pai dos arquivos já existe.

**Para atualizar o livro de receitas na instância e executar a nova receita**

1. Na estação de trabalho local, no diretório `opsworks_cookbook_demo`, crie um subdiretório chamado `files`. 

1. No subdiretório `files`, crie um arquivo chamado `hello.txt` com o seguinte texto: **Hello, World\$1** 

1. No subdiretório `recipes`, no diretório `opsworks_cookbook_demo`, crie um arquivo chamado `create_files.rb` com o seguinte código. Para obter mais informações, acesse o [arquivo](https://docs.chef.io/resource_file.html) e [cookbook\$1file](https://docs.chef.io/resource_cookbook_file.html).

   ```
   file "Create a file" do
     content "<html>This is a placeholder for the home page.</html>"
     group "root"
     mode "0755"
     owner "ec2-user"
     path "/tmp/create-directory-demo/index.html"
   end
   
   cookbook_file "Copy a file" do  
     group "root"
     mode "0755"
     owner "ec2-user"
     path "/tmp/create-directory-demo/hello.txt"
     source "hello.txt"  
   end
   ```

   O recurso `file` cria um arquivo no caminho especificado. O recurso `cookbook_file` copia o arquivo do diretório `files` recém-criado no livro de receitas (o Chef espera encontrar um subdiretório de nome padrão chamado `files` de onde ele pode copiar arquivos) para outro diretório na instância.

1. No terminal ou no prompt de comando, use o comando **tar** para criar uma nova versão do arquivo `opsworks_cookbook_demo.tar.gz`, que contém o diretório `opsworks_cookbook_demo` e o conteúdo atualizado.

1. Carregue o arquivo `opsworks_cookbook_demo.tar.gz` atualizado no bucket do S3.

1. Para atualizar o livro de receitas na instância e para executar a nova receita, siga as instruções em [Etapa 5: atualizar o livro de receitas na instância e executar a receita](gettingstarted-cookbooks-copy-cookbook.md). No processo "Para executar a receita", para **Recipes to execute (Receitas para executar)**, digite **opsworks\$1cookbook\$1demo::create\$1files**.

**Para testar a receita**

1. Faça login na instância, se ainda não tiver feito.

1. No prompt de comando, execute os seguintes comandos, um de cada vez, para confirmar que os novos arquivos foram adicionados:

   ```
   sudo cat /tmp/create-directory-demo/index.html
   
   sudo cat /tmp/create-directory-demo/hello.txt
   ```

   O conteúdo dos arquivos é exibido:

   ```
   <html>This is a placeholder for the home page.</html>
   
   Hello, World!
   ```

Na [próxima etapa](gettingstarted-cookbooks-run-command.md), você irá atualizar o livro de receitas para executar um comando na instância.

# Etapa 9: atualizar o livro de receitas para executar um comando
<a name="gettingstarted-cookbooks-run-command"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Atualize seu livro de receitas, adicionando uma receita que executa um comando que cria uma chave SSH na instância. 

**Para atualizar o livro de receitas na instância e executar a nova receita**

1. Na sua estação de trabalho local, no subdiretório `recipes`, no diretório `opsworks_cookbook_demo`, crie um arquivo chamado `run_command.rb` com o seguinte código. Para obter mais informações, consulte [execute](https://docs.chef.io/resource_execute.html).

   ```
   execute "Create an SSH key" do
     command "ssh-keygen -f /tmp/my-key -N fLyC3jbY"
   end
   ```

1. No terminal ou no prompt de comando, use o comando **tar** para criar uma nova versão do arquivo `opsworks_cookbook_demo.tar.gz`, que contém o diretório `opsworks_cookbook_demo` e o conteúdo atualizado.

1. Carregue o arquivo `opsworks_cookbook_demo.tar.gz` atualizado no bucket do S3.

1. Para atualizar o livro de receitas na instância e para executar a nova receita, siga as instruções em [Etapa 5: atualizar o livro de receitas na instância e executar a receita](gettingstarted-cookbooks-copy-cookbook.md). No processo "Para executar a receita", para **Recipes to execute (Receitas para executar)**, digite **opsworks\$1cookbook\$1demo::run\$1command**.

**Para testar a receita**

1. Faça login na instância, se ainda não tiver feito.

1. No prompt de comando, execute os seguintes comandos, um de cada vez, para confirmar que a chave SSH foi criada:

   ```
   sudo cat /tmp/my-key
   
   sudo cat /tmp/my-key.pub
   ```

   O conteúdo das chaves SSH privada e pública são exibidos:

   ```
   -----BEGIN RSA PRIVATE KEY-----
   Proc-Type: 4,ENCRYPTED
   DEK-Info: AES-128-CBC,DEF7A09C...541583FA
   A5p9dCuo...wp0YYH1c
   -----END RSA PRIVATE KEY-----
   
   ssh-rsa AAAAB3N...KaNogZkT root@cookbooks-demo1
   ```

Na [próxima etapa](gettingstarted-cookbooks-run-script.md), você irá atualizar o livro de receitas para executar um script na instância.

# Etapa 10: atualizar o livro de receitas para executar um script
<a name="gettingstarted-cookbooks-run-script"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Atualize seu livro de receitas, adicionando uma receita que executa um script na instância. Essa receita cria um diretório e, em seguida, cria um arquivo nesse diretório. Escrever uma receita para executar um script que contém vários comandos é mais fácil do que executar esses comandos um de cada vez.

**Para atualizar o livro de receitas na instância e executar a nova receita**

1. Na sua estação de trabalho local, no subdiretório `recipes`, no diretório `opsworks_cookbook_demo`, crie um arquivo chamado `run_script.rb` com o seguinte código. Para obter mais informações, consulte [script](https://docs.chef.io/resource_script.html). 

   ```
   script "Run a script" do
     interpreter "bash"
     code <<-EOH
       mkdir -m 777 /tmp/run-script-demo
       touch /tmp/run-script-demo/helloworld.txt
       echo "Hello, World!" > /tmp/run-script-demo/helloworld.txt
     EOH
   end
   ```

1. No terminal ou no prompt de comando, use o comando **tar** para criar uma nova versão do arquivo `opsworks_cookbook_demo.tar.gz`, que contém o diretório `opsworks_cookbook_demo` e o conteúdo atualizado.

1. Carregue o arquivo `opsworks_cookbook_demo.tar.gz` atualizado no bucket do S3.

1. Para atualizar o livro de receitas na instância e para executar a nova receita, siga as instruções em [Etapa 5: atualizar o livro de receitas na instância e executar a receita](gettingstarted-cookbooks-copy-cookbook.md). No processo "Para executar a receita", para **Recipes to execute (Receitas para executar)**, digite **opsworks\$1cookbook\$1demo::run\$1script**.

**Para testar a receita**

1. Faça login na instância, se ainda não tiver feito.

1. No prompt de comando, execute o comando a seguir para confirmar que o novo arquivo foi adicionado:

   ```
   sudo cat /tmp/run-script-demo/helloworld.txt
   ```

   O conteúdo do arquivo é exibido:

   ```
   Hello, World!
   ```

Na [próxima etapa](gettingstarted-cookbooks-manage-service.md), você irá atualizar o livro de receitas para gerenciar um serviço na instância.

# Etapa 11: atualizar o livro de receitas para gerenciar um serviço
<a name="gettingstarted-cookbooks-manage-service"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Atualize seu livro de receitas, adicionando uma receita que gerencia um serviço na instância. Isso é semelhante a executar o comando **service** no Linux ou os comandos **net stop**, **net start** e semelhantes do Windows. Essa receita interrompe o serviço **crond** na instância.

**Para atualizar o livro de receitas na instância e executar a nova receita**

1. Na sua estação de trabalho local, no subdiretório `recipes`, no diretório `opsworks_cookbook_demo`, crie um arquivo chamado `manage_service.rb` com o seguinte código. Para obter mais informações, consulte [service](https://docs.chef.io/resource_service.html). 

   ```
   service "Manage a service" do
     action :stop
     service_name "crond"  
   end
   ```

1. No terminal ou no prompt de comando, use o comando **tar** para criar uma nova versão do arquivo `opsworks_cookbook_demo.tar.gz`, que contém o diretório `opsworks_cookbook_demo` e o conteúdo atualizado.

1. Carregue o arquivo `opsworks_cookbook_demo.tar.gz` atualizado no bucket do S3.

1. Para atualizar o livro de receitas na instância e para executar a nova receita, siga as instruções em [Etapa 5: atualizar o livro de receitas na instância e executar a receita](gettingstarted-cookbooks-copy-cookbook.md). No processo "Para executar a receita", para **Recipes to execute (Receitas para executar)**, digite **opsworks\$1cookbook\$1demo::manage\$1service**.

**Para testar a receita**

1. Faça login na instância, se ainda não tiver feito.

1. No prompt de comando, execute o comando a seguir para confirmar que o serviço **crond** está interrompido:

   ```
   service crond status
   ```

   A seguinte estrutura é exibida:

   ```
   crond is stopped
   ```

1. Para reiniciar o serviço **crond**, execute o seguinte comando:

   ```
   sudo service crond start
   ```

   A seguinte estrutura é exibida:

   ```
   Starting crond:  [  OK  ]
   ```

1.  Para confirmar que o serviço **crond** foi iniciado, execute o comando a seguir novamente:

   ```
   service crond status
   ```

   Informações semelhante às seguintes serão exibidas:

   ```
   crond (pid  3917) is running...
   ```

Na [próxima etapa](gettingstarted-cookbooks-custom-json.md), você irá atualizar o livro de receitas para fazer referência a informações armazenadas como JSON personalizado na instância.

# Etapa 12: atualizar o livro de receitas para usar JSON personalizado
<a name="gettingstarted-cookbooks-custom-json"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Atualize seu livro de receitas adicionando uma receita que faz referência a JSON personalizado armazenado na instância.

É possível especificar informações em formato JSON personalizado sempre que criar, atualizar ou clonar uma pilha ou quando executar um comando de implantação ou pilha. Isso é útil, por exemplo, para disponibilizar uma porção pequena e inalterável de dados para as receitas na instância ao invés de receber esses dados de um banco de dados. Para obter mais informações, consulte [Usar JSON personalizado](workingstacks-json.md). 

Para esta demonstração, será necessário usar JSON personalizado para fornecer informações fictícias sobre uma fatura de cliente. O JSON personalizado será descrito posteriormente nesta etapa.

**Para atualizar o livro de receitas na instância e executar a nova receita**

1. Na sua estação de trabalho local, no subdiretório `recipes`, no diretório `opsworks_cookbook_demo`, crie um arquivo chamado `custom_json.rb` que contenha o seguinte código de receita: 

   ```
   Chef::Log.info("********** For customer '#{node['customer-id']}' invoice '#{node['invoice-number']}' **********")
   Chef::Log.info("********** Invoice line number 1 is a '#{node['line-items']['line-1']}' **********")
   Chef::Log.info("********** Invoice line number 2 is a '#{node['line-items']['line-2']}' **********")
   Chef::Log.info("********** Invoice line number 3 is a '#{node['line-items']['line-3']}' **********")
   ```

   Essa receita exibe mensagens no registro sobre os valores no JSON personalizado.

1. No terminal ou no prompt de comando, use o comando **tar** para criar uma nova versão do arquivo `opsworks_cookbook_demo.tar.gz`, que contém o diretório `opsworks_cookbook_demo` e o conteúdo atualizado.

1. Carregue o arquivo `opsworks_cookbook_demo.tar.gz` atualizado no bucket do S3.

1. Para atualizar o livro de receitas na instância e para executar a nova receita, siga as instruções em [Etapa 5: atualizar o livro de receitas na instância e executar a receita](gettingstarted-cookbooks-copy-cookbook.md). No processo "Para executar a receita", para **Recipes to execute (Receitas para executar)**, digite **opsworks\$1cookbook\$1demo::custom\$1json**. Para **Advanced**, **Custom Chef JSON**, digite o seguinte JSON personalizado:

   ```
   {
     "customer-id": "0123",
     "invoice-number": "9876",
     "line-items": {
       "line-1": "tractor",
       "line-2": "passenger car",
       "line-3": "trailer"
     }
   }
   ```

**Para testar a receita**

1. Com a página **Running command execute\$1recipes** sendo exibida a partir dos procedimentos anteriores, para **cookbooks-demo1** e **Log**, escolha **show**. A página de log **execute\$1recipes** é exibida.

1. Role para baixo no registro para encontrar entradas semelhante ao seguinte:

   ```
   [2015-11-14T14:18:30+00:00] INFO: ********** For customer '0123' invoice '9876' **********
   [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 1 is a 'tractor' **********
   [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 2 is a 'passenger car' **********
   [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 3 is a 'trailer' **********
   ```

   Essas entradas exibem informações do JSON personalizado que foram digitadas na caixa **Advanced**, **Custom Chef JSON**.

Na [próxima etapa](gettingstarted-cookbooks-data-bags.md), você atualizará o livro de receitas para obter informações dos pacotes de dados, que são coleções de configurações de pilha que o OpsWorks Stacks armazena em cada instância.

# Etapa 13: atualizar o livro de receitas para usar data bags
<a name="gettingstarted-cookbooks-data-bags"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Atualize seu livro de receitas adicionando uma receita que faça referência às configurações da pilha que o OpsWorks Stacks armazena na instância em um conjunto de pacotes de dados. Essa receita exibe mensagens no registro sobre as configurações específicas de pilha que são armazenadas na instância. Para obter mais informações, consulte o [OpsWorks Referência do Stacks Data Bag](data-bags.md).

**Para atualizar o livro de receitas na instância e executar a nova receita**

1. Na sua estação de trabalho local, no subdiretório `recipes`, no diretório `opsworks_cookbook_demo`, crie um arquivo chamado `data_bags.rb` que contenha o seguinte código: 

   ```
   instance = search("aws_opsworks_instance").first
   layer = search("aws_opsworks_layer").first
   stack = search("aws_opsworks_stack").first
   
   Chef::Log.info("********** This instance's instance ID is '#{instance['instance_id']}' **********")
   Chef::Log.info("********** This instance's public IP address is '#{instance['public_ip']}' **********")
   Chef::Log.info("********** This instance belongs to the layer '#{layer['name']}' **********")
   Chef::Log.info("********** This instance belongs to the stack '#{stack['name']}' **********")
   Chef::Log.info("********** This stack gets its cookbooks from '#{stack['custom_cookbooks_source']['url']}' **********")
   ```

   Essa receita exibe mensagens no registro sobre as configurações específicas de pilha que são armazenadas na instância.

1. No terminal ou no prompt de comando, use o comando **tar** para criar uma nova versão do arquivo `opsworks_cookbook_demo.tar.gz`, que contém o diretório `opsworks_cookbook_demo` e o conteúdo atualizado.

1. Carregue o arquivo `opsworks_cookbook_demo.tar.gz` atualizado no bucket do S3.

1. Para atualizar o livro de receitas na instância e para executar a nova receita, siga as instruções em [Etapa 5: atualizar o livro de receitas na instância e executar a receita](gettingstarted-cookbooks-copy-cookbook.md). No processo "Para executar a receita", para **Recipes to execute (Receitas para executar)**, digite **opsworks\$1cookbook\$1demo::data\$1bags**. 

**Para testar a receita**

1. Com a página **Running command execute\$1recipes** sendo exibida a partir do procedimento anterior, para **cookbooks-demo1** e **Log**, escolha **show**. A página de log **execute\$1recipes** é exibida.

1. Role para baixo no registro e encontre entradas semelhantes ao seguinte:

   ```
   [2015-11-14T14:39:06+00:00] INFO: ********** This instance's instance ID is 'f80fa119-81ab-4c3c-883d-6028e52c89EX' **********
   [2015-11-14T14:39:06+00:00] INFO: ********** This instance's public IP address is '192.0.2.0' **********
   [2015-11-14T14:39:06+00:00] INFO: ********** This instance belongs to the layer 'MyCookbooksDemoLayer' **********
   [2015-11-14T14:39:06+00:00] INFO: ********** This instance belongs to the stack 'MyCookbooksDemoStack' **********
   [2015-11-14T14:39:06+00:00] INFO: ********** This stack gets its cookbooks from 'https://s3.amazonaws.com/amzn-s3-demo-bucket/opsworks_cookbook_demo.tar.gz' **********
   ```

   Essa receita exibe mensagens sobre as configurações específicas de pilha que são armazenadas na instância.

Na [próxima etapa](gettingstarted-cookbooks-iteration.md), você atualizará o livro de receitas para executar código de receita várias vezes.

# Etapa 14: atualizar o livro de receitas para usar iteração
<a name="gettingstarted-cookbooks-iteration"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Atualize seu livro de receitas adicionando um código que usa *iteração*, uma técnica que repete um código de receita várias vezes. Essa receita exibe mensagens no registro para um item do data bag que contém muitos conteúdos. 

**Para atualizar o livro de receitas na instância e executar a nova receita**

1. Na sua estação de trabalho local, no subdiretório `recipes`, no diretório `opsworks_cookbook_demo`, crie um arquivo chamado `iteration_demo.rb` que contenha o seguinte código:

   ```
   stack = search("aws_opsworks_stack").first
   Chef::Log.info("********** Content of 'custom_cookbooks_source' **********")
   
   stack["custom_cookbooks_source"].each do |content|
     Chef::Log.info("********** '#{content}' **********")
   end
   ```
**nota**  
Gravar o código de receita anterior é um procedimento mais curto, mais flexível e menos propenso a erros do que escrever o seguinte código de receita que não usa iteração:  

   ```
   stack = search("aws_opsworks_stack").first
   Chef::Log.info("********** Content of 'custom_cookbooks_source' **********")
   
   Chef::Log::info("********** '[\"type\", \"#{stack['custom_cookbooks_source']['type']}\"]' **********")
   Chef::Log::info("********** '[\"url\", \"#{stack['custom_cookbooks_source']['url']}\"]' **********")
   Chef::Log::info("********** '[\"username\", \"#{stack['custom_cookbooks_source']['username']}\"]' **********")
   Chef::Log::info("********** '[\"password\", \"#{stack['custom_cookbooks_source']['password']}\"]' **********")
   Chef::Log::info("********** '[\"ssh_key\", \"#{stack['custom_cookbooks_source']['ssh_key']}\"]' **********")
   Chef::Log::info("********** '[\"revision\", \"#{stack['custom_cookbooks_source']['revision']}\"]' **********")
   ```

1. No terminal ou no prompt de comando, use o comando **tar** para criar uma nova versão do arquivo `opsworks_cookbook_demo.tar.gz`, que contém o diretório `opsworks_cookbook_demo` e o conteúdo atualizado.

1. Carregue o arquivo `opsworks_cookbook_demo.tar.gz` atualizado no bucket do S3.

1. Para atualizar o livro de receitas na instância e para executar a nova receita, siga as instruções em [Etapa 5: atualizar o livro de receitas na instância e executar a receita](gettingstarted-cookbooks-copy-cookbook.md). No processo "Para executar a receita", para **Recipes to execute (Receitas para executar)**, digite **opsworks\$1cookbook\$1demo::iteration\$1demo**. 

**Para testar a receita**

1. Com a página **Running command execute\$1recipes** sendo exibida a partir dos procedimentos anteriores, para **cookbooks-demo1** e **Log**, escolha **show**. A página de log **execute\$1recipes** é exibida.

1. Role para baixo no registro e encontre entradas semelhantes ao seguinte:

   ```
   [2015-11-16T19:56:56+00:00] INFO: ********** Content of 'custom_cookbooks_source' **********
   [2015-11-16T19:56:56+00:00] INFO: ********** '["type", "s3"]' **********
   [2015-11-16T19:56:56+00:00] INFO: ********** '["url", "https://s3.amazonaws.com/amzn-s3-demo-bucket/opsworks_cookbook_demo.tar.gz"]' **********
   [2015-11-16T19:56:56+00:00] INFO: ********** '["username", "secret-key-value"]' **********
   [2015-11-16T19:56:56+00:00] INFO: ********** '["password", "secret-access-key-value"]' **********
   [2015-11-16T19:56:56+00:00] INFO: ********** '["ssh_key", nil]' **********
   [2015-11-16T19:56:56+00:00] INFO: ********** '["revision", nil]' **********
   ```

   Essa receita exibe mensagens no registro para um item do data bag que contém muitos conteúdos. O item do data bag está no data bag `aws_opsworks_stack`. O item do data bag tem conteúdo chamado `custom_cookbooks_source`. Dentro desse conteúdo existem seis conteúdos chamados `type`, `url`, `username`, `password`, `ssh_key` e `revision`, e seus valores também são exibidos.

Na [próxima etapa](gettingstarted-cookbooks-conditional-logic.md), você atualizará o livro de receitas para executar um código de receita somente se determinadas condições forem atendidas.

# Etapa 15: atualizar o livro de receitas para usar lógica condicional
<a name="gettingstarted-cookbooks-conditional-logic"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Agora, atualize seu livro de receitas adicionando uma receita que usa a *lógica condicional*, uma técnica que executa o código somente se determinadas condições forem atendidas. Para obter mais informações, acesse [Declarações com "if"](https://docs.chef.io/dsl_recipe.html#if-statements) e [Declarações com "case"](https://docs.chef.io/dsl_recipe.html#case-statements).

Essa receita faz duas coisas com base no conteúdo do data bag: exibe uma mensagem no registro para identificar o sistema operacional em que a instância está sendo executada e, somente se o sistema operacional for Linux, instala um pacote usando o gerenciador de pacote correto para a determinada distribuição do Linux. Esse pacote é chamado árvore; é um simples aplicativo para visualizar listas de diretórios.

**Para atualizar o livro de receitas na instância e executar a nova receita**

1. Na sua estação de trabalho local, no subdiretório `recipes`, em `opsworks_cookbook_demo directory`, crie um arquivo chamado `conditional_logic.rb` que contenha o seguinte código:

   ```
   instance = search("aws_opsworks_instance").first
   os = instance["os"]
   
   if os == "Red Hat Enterprise Linux 7"
     Chef::Log.info("********** Operating system is Red Hat Enterprise Linux. **********")
   elsif os == "Ubuntu 14.04 LTS" || os == "Ubuntu 16.04 LTS" || os == "Ubuntu 18.04 LTS"
     Chef::Log.info("********** Operating system is Ubuntu. **********") 
   elsif os == "Microsoft Windows Server 2012 R2 Base"
     Chef::Log.info("********** Operating system is Windows. **********")
   elsif os == "Amazon Linux 2015.03" || os == "Amazon Linux 2015.09" || os == "Amazon Linux 2016.03" || os == "Amazon Linux 2016.09" || os == "Amazon Linux 2017.03" || os == "Amazon Linux 2017.09" || os == "Amazon Linux 2018.03" || os == "Amazon Linux 2"
     Chef::Log.info("********** Operating system is Amazon Linux. **********")
   elsif os == "CentOS Linux 7"
     Chef::Log.info("********** Operating system is CentOS 7. **********")
   else
     Chef::Log.info("********** Cannot determine operating system. **********")
   end
   
   case os
   when "Ubuntu 14.04 LTS", "Ubuntu 16.04 LTS", "Ubuntu 18.04 LTS"
     apt_package "Install a package with apt-get" do
       package_name "tree"
     end
   when "Amazon Linux 2015.03", "Amazon Linux 2015.09", "Amazon Linux 2016.03", "Amazon Linux 2016.09", "Amazon Linux 2017.03", "Amazon Linux 2017.09", "Amazon Linux 2018.03", "Amazon Linux 2", "Red Hat Enterprise Linux 7", "CentOS Linux 7"
     yum_package "Install a package with yum" do
       package_name "tree"
     end
   else
     Chef::Log.info("********** Cannot determine operating system type, or operating system is not Linux. Package not installed. **********")
   end
   ```

1. No terminal ou no prompt de comando, use o comando **tar** para criar uma nova versão do arquivo `opsworks_cookbook_demo.tar.gz`, que contém o diretório `opsworks_cookbook_demo` e o conteúdo atualizado.

1. Carregue o arquivo `opsworks_cookbook_demo.tar.gz` atualizado no bucket do S3.

1. Para atualizar o livro de receitas na instância e para executar a nova receita, siga as instruções em [Etapa 5: atualizar o livro de receitas na instância e executar a receita](gettingstarted-cookbooks-copy-cookbook.md). No processo "Para executar a receita", para **Recipes to execute (Receitas para executar)**, digite **opsworks\$1cookbook\$1demo::conditional\$1logic**. 

**Para testar a receita**

1. Com a página **Running command execute\$1recipes** sendo exibida a partir dos procedimentos anteriores, para **cookbooks-demo1** e **Log**, escolha **show**. A página de log **execute\$1recipes** é exibida.

1. Role para baixo ao longo do registro e encontre uma entrada semelhante à seguinte:

   ```
   [2015-11-16T19:59:05+00:00] INFO: ********** Operating system is Amazon Linux. **********
   ```

   Como o sistema operacional da instância é Amazon Linux 2016.09, somente a entrada anterior (das cinco possíveis entradas no código de receitas) será exibida no registro. 

1. Se o sistema operacional for Linux, a receita instalará o pacote árvore. Para visualizar o conteúdo de um diretório, digite **tree** no prompt de comando a partir do diretório desejado ou com o caminho do diretório desejado (por exemplo, `tree /var/chef/runs`).

Na [próxima etapa](gettingstarted-cookbooks-community-cookbooks.md), você atualizará o livro de receitas para usar a funcionalidade a partir de um livro de receitas externo fornecido pela comunidade Chef.

# Etapa 16: atualizar o livro de receitas para usar livros de receitas da comunidade
<a name="gettingstarted-cookbooks-community-cookbooks"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Finalmente, atualize o livro de receitas para usar a funcionalidade fornecida em um livro de receitas externo fornecido pela comunidade Chef. O livro de receitas externo que você usará para esta demonstração está disponível no [Chef Supermarket](https://supermarket.chef.io/), um local conhecido para acessar livros externos de receitas do Chef. Esse livro de receitas externo fornece um recurso personalizado que permite que você faça o download e instale aplicativos, similar ao que era feito em [Etapa 4: atualizar o livro de receitas para instalar um pacote](gettingstarted-cookbooks-install-package.md). No entanto, esse recurso pode instalar aplicativos da Web e outros tipos de aplicativo, além de pacotes.

Quando um livro de receitas depende de outro livro de receitas, é necessário especificar uma dependência no outro livro de receitas. Para declarar e gerenciar dependências do livro de receitas, recomendamos que você use uma ferramenta chamada Berkshelf. Para obter mais informações sobre como instalar o Berkshelf na sua estação de trabalho local, consulte [Sobre o Berkshelf](https://docs.chef.io/berkshelf.html) no site do Chef.

Depois de instalar o Berkshelf, siga estes procedimentos para declarar a dependência do livro de receitas e crie uma receita que chama o recurso no livro de receitas externo:

**Para declarar a dependência de do livro de receitas**

1. Na estação de trabalho local, no diretório `opsworks_cookbook_demo`, adicione a seguinte linha no final do arquivo `metadata.rb`:

   ```
   depends "application", "5.0.0"
   ```

   Isso declara uma dependência em um livro de receitas chamado `application`, versão 5.0.0. 

1. Na raiz do diretório `opsworks_cookbook_demo`, execute o seguinte comando: O período no final do comando é intencional.

   ```
   berks init .
   ```

   O Berkshelf cria uma série de pastas e arquivos que você poderá usar posteriormente para cenários mais avançados. O único arquivo que precisamos para esta demonstração é o arquivo chamado `Berksfile`.

1. Adicione a seguinte linha no final do arquivo `Berksfile`: 

   ```
   cookbook "application", "5.0.0"
   ```

   Isso informa ao Berkshelf que você deseja usar o [livro de receitas do aplicativo, versão 5.0.0](https://supermarket.chef.io/cookbooks/application/versions/5.0.0), obtido por download pelo Berkshelf no Chef Supermarket.

1. No terminal ou prompt de comando, execute o seguinte comando a partir da raiz do diretório `opsworks_cookbook_demo`:

   ```
   berks install
   ```

   O Berkshelf criará uma lista de dependências para o seu livro de receitas e para o livro de receitas do aplicativo. O Berkshelf usará essa lista de dependências no próximo procedimento.

**Para atualizar o livro de receitas na instância e executar a nova receita**

1. No subdiretório `recipes`, no diretório `opsworks_cookbook_demo`, crie um arquivo chamado `dependencies_demo.rb` que contenha o seguinte código:

   ```
   application "Install NetHack" do
     package "nethack.x86_64"
   end
   ```

   Essa receita depende do recurso do aplicativo do livro de receitas do aplicativo para instalar o popular jogo de aventura baseado em texto NetHack na instância. (É possível substituir qualquer outro nome do pacote que quiser, desde que o pacote já está disponível para o gerenciador de pacote na instância.)

1. Execute o comando a seguir na raiz de `opsworks_cookbook_demo`:

   ```
   berks package
   ```

   Berkshelf usa a lista de dependências do procedimento anterior para criar um arquivo chamado `cookbooks-timestamp.tar.gz`, que contém o diretório `opsworks_cookbook_demo` e o conteúdo dele atualizado, incluindo os livros de receitas dependentes do livro de receitas. Renomeie esse arquivo para `opsworks_cookbook_demo.tar.gz`. 

1. Carregue o arquivo `opsworks_cookbook_demo.tar.gz` renomeado e atualizado no bucket do S3.

1. Para atualizar o livro de receitas na instância e para executar a nova receita, siga as instruções em [Etapa 5: atualizar o livro de receitas na instância e executar a receita](gettingstarted-cookbooks-copy-cookbook.md). No processo "Para executar a receita", para **Recipes to execute (Receitas para executar)**, digite **opsworks\$1cookbook\$1demo::dependencies\$1demo**.

1. Depois de executar a receita, faça o login na instância e, em seguida, digite **nethack** no prompt de comando para iniciar a reprodução. (Para obter mais informações sobre o jogo, consulte [NetHack](https://en.wikipedia.org/wiki/NetHack)e o [NetHackGuia](http://www.nethack.org/v343/Guidebook.html).) 

Na [próxima etapa](gettingstarted-cookbooks-clean-up.md), você pode limpar os AWS recursos que você usou para este passo a passo. Essa próxima etapa é opcional. Talvez você queira continuar usando esses AWS recursos à medida que continua aprendendo mais sobre OpsWorks as pilhas. No entanto, manter esses AWS recursos disponíveis pode resultar em algumas cobranças contínuas em sua AWS conta. Se quiser manter esses AWS recursos disponíveis para uso posterior, você concluiu este passo a passo e pode pular para. [Próximas etapas](gettingstarted-cookbooks-next-steps.md)

# Etapa 17: limpar (opcional)
<a name="gettingstarted-cookbooks-clean-up"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Para evitar cobranças adicionais em sua AWS conta, você pode excluir os AWS recursos que foram usados para este passo a passo. Esses AWS recursos incluem o bucket S3, a pilha OpsWorks Stacks e os componentes da pilha. (Para obter mais informações, consulte os [ OpsWorks preços da AWS](https://aws.amazon.com/opsworks/pricing/).) No entanto, talvez você queira continuar usando esses AWS recursos à medida que continua aprendendo mais sobre OpsWorks as pilhas. Se quiser manter esses AWS recursos disponíveis, você concluiu este passo a passo e pode pular para. [Próximas etapas](gettingstarted-cookbooks-next-steps.md)

O conteúdo armazenado nos recursos que você criou para essa demonstração pode conter informações de identificação pessoal. Se você não quer mais que essas informações sejam armazenadas pela AWS, siga as etapas neste tópico.

**Para excluir o bucket do S3**
+ Consulte [Excluir o bucket do Amazon S3](https://docs.aws.amazon.com/gettingstarted/latest/swh/getting-started-cleanup-s3.html).

**Para deletar a instância da pilha**

1. **No console OpsWorks Stacks, no painel de navegação do serviço, escolha Instances.** A página **Instances** será exibida.

1. **Para **MyCookbooksDemoLayer**, para **cookbooks-demo1**, para **Ações**, escolha parar.** Quando a mensagem de confirmação for exibida, escolha **Stop**.

1. As alterações a seguir levam alguns minutos. Aguarde e não prossiga até que todos os itens a seguir tenham sido concluídos.
   + **Status** muda de **online** para **stopping** e, em um determinado momento, para **stopped**.
   + **online** muda de **1** para **0**.
   + **shutting down** muda de **0** para **1** e, em um determinado momento, de volta para **0**.
   + **stopped** muda, em determinado momento, de **0** para **1**.

1. Em **Actions**, selecione **delete**. Ao ver a mensagem de confirmação, escolha **Excluir**. OpsWorks Stacks exclui a instância e exibe **Nenhuma** instância.

**Para excluir a pilha**

1. No painel de navegação de serviços, escolha **Stack**. A página **MyCookbooksDemoStack** será exibida.

1. Escolha **Delete Stack**. Ao ver a mensagem de confirmação, escolha **Excluir**. OpsWorks **Stacks exclui a pilha e exibe a página do Painel.**

Opcionalmente, você pode excluir o usuário do IAM e o par de EC2 chaves da Amazon que você usou para este passo a passo, se não quiser reutilizá-los para acessar outros AWS serviços e instâncias. EC2 Para obter instruções, consulte [Excluir um usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) e [pares de EC2 chaves e instâncias Linux da Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#delete-key-pair).

Você acabou de concluir essa apresentação. Para obter mais informações, consulte [Próximas etapas](gettingstarted-cookbooks-next-steps.md).

# Próximas etapas
<a name="gettingstarted-cookbooks-next-steps"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio 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).

Agora que você concluiu este passo a passo, você pode aprender mais sobre o suporte do OpsWorks Stacks para livros de receitas do Chef analisando os seguintes recursos:
+ [Livros de receitas e receitas](workingcookbook.md)— Descreve as versões do Chef e do Ruby que o OpsWorks Stacks suporta atualmente. Também mostra como instalar e atualizar livros de receitas personalizados em instâncias e como executar receitas em instâncias.
+ [Saiba mais sobre Chef](https://learn.chef.io/) – Fornece links para tutoriais do Chef, uma biblioteca de habilidades do Chef, documentação completa sobe o Chef e cursos de treinamento sobre o Chef.
+ [Tudo sobre o Chef](https://docs.chef.io/): fornece a documentação completa sobre o Chef. Tópicos específicos de interesse incluem:
  + [Sobre livros de receitas](https://docs.chef.io/cookbooks.html) – Descreve os principais componentes do livro de receitas, como características, receitas, arquivos, metadados e modelos.
  + [Sobre receitas](https://docs.chef.io/recipes.html) – Descreve os conceitos básicos de receitas, por exemplo, como trabalhar com data bags, incluem outras receitas e usa o código Ruby em receitas. 
  + [Recursos](https://docs.chef.io/resources.html#resources) – Descreve como usar todos os recursos integrados do Chef, como `apt_package`, `cookbook_file`, `directory`, `execute`, `file` e `package`.
  + [Sobre a receita DSL](https://docs.chef.io/dsl_recipe.html) – Descreve como escrever código para receitas do Chef com instruções como `if``case`, `data_bag`, `data_bag_item` e `search`. 
+ [Sobre modelos](https://docs.chef.io/templates.html) – Descreve como usar modelos integrados Ruby (ERB) para gerar dinamicamente arquivos de texto estáticos, como arquivos de configuração.
+ [Trilhas de introdução](https://learn.chef.io/tracks): descreve como usar o Chef para gerenciar uma instância, gerenciar um aplicativo básico da Web, desenvolver e testar o código de infraestrutura de análise, usar o Chef e muito mais.
+ [http://shop.oreilly.com/product/0636920032397.do](http://shop.oreilly.com/product/0636920032397.do): uma introdução ao Chef. Publicado pela O'Reilly Media. 
+ [Introdução ao Chef: exemplos de código](https://github.com/learningchef/learningchef-code) – Fornece exemplos de código para acompanhar o livro *Introdução ao Chef* publicado por O'Reilly Media.