Usando índices de pesquisa AWS OpsWorks específicos de pilhas no Windows Stacks - 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á.

Usando índices de pesquisa AWS OpsWorks específicos de pilhas no Windows Stacks

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.

AWS OpsWorks O Stacks fornece os seguintes índices de pesquisa, além de: node

  • aws_opsworks_stack: configuração da pilha.

  • aws_opsworks_layer: as configurações de camada da pilha.

  • aws_opsworks_instance: as configurações de instância da pilha.

  • aws_opsworks_app: as configurações do aplicativo da pilha.

  • aws_opsworks_user: as configurações de usuário da pilha.

  • aws_opsworks_rds_db_instance: as informações de conexão para instâncias RDS registradas.

Esses índices incluem alguns atributos padrão do Chef, mas são destinados principalmente à recuperação de atributos específicos do AWS OpsWorks Stacks. Por exemplo, aws_opsworks_instance inclui um atributo status que fornece o status da instância, como online.

nota

Recomenda-se usar node quando possível para manter suas receitas consistentes com o uso padrão do Chef. Para ver um exemplo, consulte Usar o índice de pesquisa de nó em pilhas do Windows.

Este exemplo mostra como usar os índices do AWS OpsWorks Stacks para recuperar o valor de um AWS OpsWorks atributo específico do Stacks. Ele é baseado em uma pilha simples do Windows com uma camada personalizada que tem uma instância. Ele usa a pesquisa do Chef para obter o ID de AWS OpsWorks pilhas da instância e coloca os resultados no registro do Chef.

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 + Stack (+ pilha). Especifique as seguintes configurações, aceite os padrões para as outras configurações e escolha Add Stack.

    • Nome: IDSearch

    • 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: IDCheck

    • Nome curto: idcheck

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

    AWS OpsWorks As pilhas são atribuídas automaticamente AWS-OpsWorks-RDP-Server a essa instância. Habilitar o acesso ao RDPexplica como adicionar uma regra de entrada a esse grupo de segurança 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.

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

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

    name "idcheck" version "0.1.0"
  3. Crie um diretório recipes em idcheck e adicione um arquivo default.rb ao diretório que contém a seguinte receita.

    windowsserver = search(:aws_opsworks_instance, "hostname:idcheck*").first Chef::Log.info("**********The public IP address is: '#{windowsserver[:instance_id]}'**********")

    A receita usa a pesquisa do Chef com um índice de pesquisa aws_opsworks_instance para obter os atributos da instância de cada instância na pilha com um nome de host que começa com idcheck. 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 IDCheck. 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.

    A receita aproveita o fato de que há somente uma instância na pilha com esse nome de host, portanto, o primeiro resultado é o correto. Caso sua pilha tenha várias instâncias, uma pesquisa em outros atributos pode retornar mais de um resultado. Para obter uma lista de atributos de instância, consulte Data bag da instância (aws_opsworks_instance).

    Os atributos da instância são basicamente uma tabela de hash, e o AWS OpsWorks Stacks ID da instância é atribuído ao instance_id atributo, então você pode se referir ao ID como. windowsserver[:instance_id] A receita insere a string correspondente na mensagem e a adiciona ao log do Chef.

  4. Crie um arquivo .zip do livro de receitas ipaddress, faça upload do arquivo em um bucket do Amazon S3 e registre o URL do arquivo. Para obter mais informações sobre repositórios de livros de receitas, consulte Repositórios de livro de receitas.

    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 para executar) definida como idcheck::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 examinando 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-13T20:03:47+00:00] INFO: Storing updated cookbooks/nodesearch/recipes/default.rb in the cache. [2015-05-13T20:03:47+00:00] INFO: Storing updated cookbooks/nodesearch/metadata.rb in the cache. [2015-05-13T20:03:47+00:00] INFO: **********The instance ID is: 'i-8703b570'********** [2015-05-13T20:03:47+00:00] INFO: Chef Run complete in 0.312518 seconds ...