

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

# Executar uma receita na instância Windows
<a name="cookbooks-101-opsworks-opsworks-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).

Este tópico é basicamente uma versão abreviada do [Executar uma receita em uma instância Linux](cookbooks-101-opsworks-opsworks-instance.md), que mostra como executar uma receita em um stack do Windows. Recomendamos que você passe por [Executar uma receita em uma instância Linux](cookbooks-101-opsworks-opsworks-instance.md) primeiro, porque isso fornece uma discussão mais detalhada, a qual é relevante principalmente para ambos tipos de sistemas operacionais.

Para obter uma descrição de como executar receitas em instâncias do OpsWorks Stacks Linux, consulte[Executar uma receita em uma instância Linux](cookbooks-101-opsworks-opsworks-instance.md).

**Topics**
+ [Habilitar o acesso ao RDP](#cookbooks-101-opsworks-opsworks-windows-rdp)
+ [Criar e executar a receita](#cookbooks-101-opsworks-opsworks-windows-run-recipe)
+ [Executar a receita automaticamente](#cookbooks-101-opsworks-opsworks-windows-event)

## Habilitar o acesso ao RDP
<a name="cookbooks-101-opsworks-opsworks-windows-rdp"></a>

Antes de começar, se você ainda não tiver feito isso, configure um grupo de segurança com uma regra de entrada, a qual permita que suas instâncias tenham acesso ao RDP de entrada. Você precisará desse grupo quando criar a pilha.

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 [ EC2console 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. Adicione uma regra às 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).

**nota**  
Conforme descrito posteriormente, edite as permissões de usuário para autorizar o acesso de usuários frequentes ao RDP.

Para obter mais informações, consulte [Login com RDP](workinginstances-rdp.md). 

## Criar e executar a receita
<a name="cookbooks-101-opsworks-opsworks-windows-run-recipe"></a>

As instruções a seguir resumem o procedimento da criação de uma pilha neste exemplo. Para obter mais informações, consulte [Criar uma nova pilha](workingstacks-creating.md).

**Criar uma pilha**

1. Abra o [console do OpsWorks Stacks](https://console.aws.amazon.com/opsworks/) e selecione **Add Stack (Adicionar pilha)**. Especifique as seguintes configurações, aceite os padrões para as outras configurações e escolha **Add Stack**.
   + **Nome** — WindowsRecipeTest
   + **Região**: Oeste dos EUA (Oregon)

     Este exemplo funcionará em qualquer região, mas recomendamos o uso de Oeste dos EUA (Oregon) para tutoriais.
   + **Sistema operacional padrão**: Microsoft Windows Server 2012 R2

1. Clique em **Add a layer** e [adicione uma camada personalizada à pilha](workinglayers-custom.md) com as seguintes configurações.
   + **Nome** — RecipeTest
   + **Nome curto**: recipetest

1. [Adicione uma instância 24 horas por dia, 7 dias](workinginstances-add.md) por semana, com configurações padrão à RecipeTest camada e [inicie-a](workinginstances-starting.md).

   OpsWorks As pilhas são atribuídas automaticamente `AWS-OpsWorks-RDP-Server` a essa instância, o que permite que usuários autorizados façam login na instância.

1. Escolha **Permissions** e, em seguida, **Edit**, **SSH/RDP** e **sudo/admin**. Os usuários frequentes precisam dessa autorização além do grupo de segurança `AWS-OpsWorks-RDP-Server` para fazer login na instância. 
**nota**  
É possível também fazer login como administrador, mas isso requer um procedimento diferente. Para obter mais informações, consulte [Login com RDP](workinginstances-rdp.md).

Enquanto a instância está iniciando, o que geralmente demora vários minutos, você pode criar o livro de receitas. A receita deste exemplo cria um diretório de dados e é basicamente a receita de [Exemplo 3: Criação de diretórios](cookbooks-101-basics-directories.md), modificada para o Windows.

**nota**  
Ao implementar livros de receitas para instâncias do OpsWorks Stacks Windows, você usa uma estrutura de diretórios um pouco diferente da que usa ao implementar livros de receitas para instâncias do OpsWorks Stacks Linux. Para obter mais informações, consulte [Repositórios de livro de receitas](workingcookbook-installingcustom-repo.md). 

**Para configurar o livro de receitas**

1. Crie um diretório chamado `windowstest` e navegue até ele.

1. Crie um arquivo `metadata.rb` com o seguinte conteúdo e salve-o em `windowstest`.

   ```
   name "windowstest"
   version "0.1.0"
   ```

1. Criar um diretório `recipes` em `windowstest`.

1. Crie um arquivo `default.rb` com a seguinte receita e salve-o no diretório `recipes`.

   ```
   Chef::Log.info("******Creating a data directory.******")
   
   directory 'C:\data' do
     rights :full_control, 'instance_name\username'
     inherits false
     action :create
   end
   ```

   Substitua *username* pelo nome do usuário.

1. Coloque o livro de receitas em um repositório.

   Para instalar seu livro de receitas em uma instância do OpsWorks Stacks, você deve armazená-lo em um repositório e fornecer ao OpsWorks Stacks as informações necessárias para baixar o livro de receitas para a instância. É possível armazenar livros de receitas do Windows como um arquivo compactado em um bucket do S3 ou em um repositório Git. Este exemplo usa um bucket do S3, portanto, você deve criar um arquivo .zip do diretório `windowstest`. Para obter mais informações sobre repositórios de livros de receitas, consulte [Repositórios de livro de receitas](workingcookbook-installingcustom-repo.md).

1. [Faça upload do arquivo em um bucket do S3](https://docs.aws.amazon.com/AmazonS3/latest/UG/UploadingObjectsintoAmazonS3.html), [torne o arquivo público](https://docs.aws.amazon.com/AmazonS3/latest/UG/EditingPermissionsonanObject.html) e registre o URL do arquivo. Você também pode usar um arquivo privado, mas um arquivo público é suficiente para este exemplo, além de ser mais fácil de trabalhar com ele.

   O conteúdo entregue aos buckets do Amazon S3 pode conter conteúdo do cliente. Para obter mais informações sobre a remoção de dados confidenciais, consulte [Como faço para esvaziar um bucket do S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/empty-bucket.html) ou [Como faço para excluir um bucket do S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html).

Agora você pode instalar o livro de receitas e executar a receita.

**Para executar a receita**

1. [Edite a pilha para habilitar livros de receitas personalizados](workingcookbook-installingcustom-enable.md) e especifique as seguintes configurações.
   + **Tipo de repositório**: **Arquivamento do S3**
   + **URL do repositório**: o URL do arquivo do livro de receitas que você registrou anteriormente

   Aceite os valores padrão para as outras configurações e escolha **Save** para atualizar a configuração da pilha.

1. [Execute o comando de pilha Update Custom Cookbooks](workingstacks-commands.md), que instala a versão atual de seus livros de receitas personalizados nas instâncias da pilha, inclusive em instâncias online. Se uma versão mais antiga de seus livros de receitas estiver presente, este comando a sobrescreverá.

1. Após a execução de Update Custom Cookbooks (Atualizar livros de receitas personalizados), execute a receita executando o [comando de pilha**Execute Recipes (Executar receitas)**](workingstacks-commands.md) com a opção **Recipes to execute (Receitas para executar)** definida como **windowstest::default**. Esse comando inicia uma execução do Chef com uma lista de execução que consiste na sua receita.

Após a receita ser executada com sucesso, verifique isso.

**Para verificar windowstest**

1. Examine o [log do Chef](troubleshoot-debug-log.md). Escolha **show** na coluna **Log** da instância opstest1 para exibir o log. Role para baixo e veja sua mensagem de log próxima à parte inferior.

   ```
   ...
   [2014-07-31T17:01:45+00:00] INFO: Storing updated cookbooks/opsworks_cleanup/attributes/customize.rb in the cache.
   [2014-07-31T17:01:45+00:00] INFO: Storing updated cookbooks/opsworks_cleanup/metadata.rb in the cache.
   [2014-07-31T17:01:46+00:00] INFO: ******Creating a data directory.******
   [2014-07-31T17:01:46+00:00] INFO: Processing template[/etc/hosts] action create (opsworks_stack_state_sync::hosts line 3)
   ...
   ```

1. Escolha **Instances** e, em seguida, selecione **rdp** na coluna **Actions** da instância e solicite uma senha RDP com um tempo de expiração adequado. Copie o nome DNS, o nome de usuário e a senha. Em seguida, você pode usar essas informações com um cliente RDP, como o cliente do Windows Remote Desktop Connection, para fazer login na instância e verificar se `c:\data` existe. Para obter mais informações, consulte [Login com RDP](workinginstances-rdp.md).

**nota**  
Caso sua receita não esteja funcionando corretamente, consulte [Solucionar problemas e corrigir receitas](cookbooks-101-opsworks-opsworks-instance.md#cookbooks-101-opsworks-opsworks-instance-bugs) para obter dicas de solução de problemas; a maioria delas também se aplica a instâncias do Windows. Se você quiser testar sua correção editando a receita na instância, procure seu livro de receitas no `C:\chef\cookbooks` diretório, onde o OpsWorks Stacks instala livros de receitas personalizados.

## Executar a receita automaticamente
<a name="cookbooks-101-opsworks-opsworks-windows-event"></a>

O comando **Execute Recipes** é uma maneira conveniente de testar receitas personalizadas, por isso ele é usado na maioria dos exemplos. No entanto, na prática, você normalmente executa receitas em pontos padrão do ciclo de vida de uma instância, como depois que a instância termina de inicializar ou quando você implanta um aplicativo. OpsWorks O Stacks simplifica a execução de receitas em sua instância ao oferecer suporte a um conjunto de [eventos de ciclo](workingcookbook-events.md) de vida para cada camada: configuração, configuração, implantação, desimplantação e desativação. Você pode fazer com que o OpsWorks Stacks execute uma receita automaticamente nas instâncias de uma camada atribuindo a receita ao evento de ciclo de vida apropriado.

Normalmente, os diretórios são criados, assim que uma instância termina a inicialização, que corresponde à instalação do evento. Os procedimentos a seguir mostram como executar a receita de exemplo na configuração usando a mesma pilha criada anteriormente no exemplo. O mesmo procedimento pode ser usado para os outros eventos.

**Para executar automaticamente uma receita na instalação**

1. Escolha **Camadas** no painel de navegação e, em seguida, escolha o ícone de lápis ao lado do link **Receitas** da RecipeTest camada.

1. Adicione **windowstest::default** às receitas **Setup (Instalação)** da camada, escolha **\$1** para adicioná-lo à camada e selecione **Save (Salvar)** para salvar a configuração.

1. Escolha **Instances**, adicione outra instância à layer e a inicie.

   A instância deve ser designada `recipetest2`. Depois que a inicialização for concluída, as OpsWorks pilhas serão executadas. `windowstest::default`

1. Quando a instância `recipetest2` estiver online, verifique se `c:\data` está presente.

**nota**  
Se você tiver atribuído receitas aos eventos Setup, Configure ou Deploy, também poderá executá-las manualmente usando um [comando de pilha](workingstacks-commands.md) (Setup e Configure) ou um [comando de implantação](workingapps-deploying.md) (Deploy) para acionar o evento. Observe que se você tiver várias receitas atribuídas a um evento, esses comandos executam todas elas.