Usar o índice de pesquisa de nó em pilhas do 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á.

Usar o índice de pesquisa de nó em pilhas do 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.

nota

Este exemplo supõe que você já tenha concluído o exemplo em Executar uma receita na instância Windows. Caso contrário, conclua esse exemplo primeiro. Especificamente, ele descreve como habilitar o acesso RDP para suas instâncias.

Este exemplo usa uma pilha do Windows com uma única camada personalizada e uma instância. Ele usa a pesquisa do Chef com o índice de pesquisa node para obter o endereço IP público do servidor e coloca o endereço em um arquivo no diretório C:\tmp. As instruções a seguir resumem o procedimento para criar a 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).

  2. Especifique as seguintes configurações, aceite os padrões para as outras configurações e escolha Add Stack.

    • Nome — NodeSearch

    • 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

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

    • Nome: IPTest

    • Nome curto: iptest

  4. Adicione uma instância t2.micro ininterrupta com as configurações padrão à camada IPTest e inicie-a. Ela será chamada iptest1.

    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.

  5. Escolha Permissions e selecione 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

    Também é possível fazer login como administrador, mas isso requer um procedimento diferente. Para ter mais informações, consulte Login com RDP.

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

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

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

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

    directory 'C:\tmp' do rights :full_control, 'Everyone' recursive true action :create end windowsserver = search(:node, "hostname:iptest*").first Chef::Log.info("**********The public IP address is: '#{windowsserver[:ipaddress]}'**********") file 'C:\tmp\addresses.txt' do content "#{windowsserver[:ipaddress]}" rights :full_control, 'Everyone' action :create end

    A receita faz o seguinte:

    1. Usa um recurso de diretório para criar um diretório C:\tmp para o arquivo.

      Para obter mais informações sobre esse recurso, consulte Exemplo 3: Criação de diretórios.

    2. Usa a pesquisa do Chef com o índice de pesquisa node para obter uma lista de nós (instâncias) com um nome de host que começa com iptest.

      Se você usar o tema padrão, que cria nomes de host acrescentando números inteiros ao nome abreviado da camada, essa consulta retornará cada instância na camada IPTest. Como a camada tem somente uma instância, a receita atribui a primeira a windowsserver. Para várias instâncias, você pode obter a lista completa e, em seguida, enumerá-las.

    3. Adiciona uma mensagem com o endereço IP ao log do Chef para essa execução.

      O objeto windowsserver é uma tabela de hash cujo atributo ipaddress é definido como o endereço IP público da instância, então, você pode representar esse endereço no código de receita subsequente como windowsserver[:ipaddress]. A receita insere a string correspondente na mensagem e a adiciona ao log do Chef.

    4. Usa o recurso file para criar um arquivo com o endereço IP chamado C:\tmp\addresses.txt.

      O atributo content do recurso especifica o conteúdo a ser adicionado ao arquivo, que, neste caso, é o endereço IP público.

  5. Crie um arquivo .zip de nodesearch, faça upload do arquivo em um bucket do S3, torne o arquivo público e registre o URL do arquivo.

    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 instalar o livro de receitas e 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 apra executar) definida como nodesearch::default. Esse comando inicia uma execução do Chef com uma lista de execução que consiste na sua receita. Deixe a página execute_recipes aberta.

Após a execução com êxito da receita, você pode verificá-la.

Para verificar nodesearch
  1. Examine no log do Chef o evento execute_recipes mais recente. Na Running command execute_recipes page, escolha show na coluna Log da instância iptest1 para exibir o log. Role para baixo para localizar sua mensagem de log na parte inferior, que será semelhante ao seguinte.

    ... [2015-05-13T18:55:47+00:00] INFO: Storing updated cookbooks/nodesearch/recipes/default.rb in the cache. [2015-05-13T18:55:47+00:00] INFO: Storing updated cookbooks/nodesearch/metadata.rb in the cache. [2015-05-13T18:55:47+00:00] INFO: **********The public IP address is: '192.0.0.1'********** [2015-05-13T18:55:47+00:00] INFO: Processing directory[C:\tmp] action create (nodesearch::default line 1) [2015-05-13T18:55:47+00:00] INFO: Processing file[C:\tmp\addresses.txt] action create (nodesearch::default line 10) ...
  2. Use o RDP para fazer login na instância e examine o conteúdo de C:\tmp\addresses.txt.