Executar uma receita na instância Windows - AWS OpsWorks

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

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 ou por meio do Premium AWS Support.

Este tópico é basicamente uma versão abreviada do Executar uma receita em uma instância Linux, que mostra como executar uma receita em um stack do Windows. Recomendamos que você passe por Executar uma receita em uma instância Linux 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 AWS OpsWorks Stacks Linux, consulteExecutar uma receita em uma instância Linux.

Habilitar o acesso ao RDP

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 AWS OpsWorks Stacks cria um conjunto de grupos de segurança. Eles incluem um chamado algo comoAWS-OpsWorks-RDP-Server, que o AWS 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 console do Amazon EC2, configure-o para a região da pilha e selecione Grupos de segurança no painel de navegação.

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

  3. 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 ter mais informações, consulte Login com RDP.

Criar e executar a receita

As instruções a seguir resumem o procedimento da criação de uma pilha neste exemplo. Para ter mais informações, consulte Criar uma nova pilha.

Criar uma pilha
  1. Abra o console do AWS OpsWorks Stacks 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

  2. Clique em Add a layer e adicione uma camada personalizada à pilha com as seguintes configurações.

    • Nome — RecipeTest

    • Nome curto: recipetest

  3. Adicione uma instância 24 horas por dia, 7 dias por semana, com configurações padrão à RecipeTest camada e inicie-a.

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

  4. 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 ter mais informações, consulte Login com RDP.

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, modificada para o Windows.

nota

Ao implementar livros de receitas para instâncias do AWS 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 AWS OpsWorks Stacks Linux. Para ter mais informações, consulte Repositórios de livro de receitas.

Para configurar o livro de receitas
  1. Crie um diretório chamado windowstest e navegue até ele.

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

    name "windowstest" version "0.1.0"
  3. Criar um diretório recipes em windowstest.

  4. 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 nome de usuário pelo seu nome de usuário.

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

    Para instalar seu livro de receitas em uma instância do AWS OpsWorks Stacks, você deve armazená-lo em um repositório e fornecer ao AWS OpsWorks Stacks as informações necessárias para fazer o download do 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.

  6. Faça upload do arquivo em um bucket do S3, torne o arquivo público 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? ou Como faço para excluir um bucket do S3?.

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

  2. Execute o comando de pilha Update Custom Cookbooks, 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á.

  3. Após a execução de Update Custom Cookbooks (Atualizar livros de receitas personalizados), execute a receita executando o comando de pilhaExecute Recipes (Executar receitas) 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. 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) ...
  2. 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 ter mais informações, consulte Login com RDP.

nota

Caso sua receita não esteja funcionando corretamente, consulte Solucionar problemas e corrigir receitas 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 AWS OpsWorks Stacks instala livros de receitas personalizados.

Executar a receita automaticamente

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. AWS OpsWorks O Stacks simplifica a execução de receitas em sua instância ao oferecer suporte a um conjunto de eventos de ciclo de vida para cada camada: configuração, configuração, implantação, desimplantação e desativação. Você pode fazer com que o AWS 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.

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

  3. 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 AWS OpsWorks pilhas serão executadas. windowstest::default

  4. 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 (Setup e Configure) ou um comando de implantação (Deploy) para acionar o evento. Observe que se você tiver várias receitas atribuídas a um evento, esses comandos executam todas elas.