Movendo configurações de pilha de atributos para recipientes de dados - 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á.

Movendo configurações de pilha de atributos para recipientes de dados

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.

AWS OpsWorks Stacks expõe uma grande variedade de configurações de pilha às suas receitas do Chef. Essas configurações de pilha incluem valores como:

  • URLs fonte de livro de receitas da pilha

  • Configurações de volume de camada

  • Nomes do host da instância

  • Nomes de DNS do Elastic Load Balancing

  • URLs de fonte de aplicativo

  • Nomes de usuário

Fazer referências de configurações de pilha de receitas torna o código da receita mais robusto e menos propenso a erros que as configurações de pilha em formato hardcoding diretamente nas receitas. Esse tópico descreve como acessar essas configurações de pilha, assim como o jeito de mover atributos no Chef 11.10 e versões anteriores para Linux de recipientes de dados no Chef 12 Linux.

No Chef 11.10 e em versões anteriores do Linux, configurações de pilha estão disponíveis como Atributos do Chef e são acessadas por meio do objeto do Chef node ou da busca do Chef. Esses atributos são armazenados em instâncias do AWS OpsWorks Stacks em um conjunto de arquivos JSON no /var/lib/aws/opsworks/chef diretório. Para ter mais informações, consulte Atributos de implantação e configuração de pilha: Linux.

No Chef 12 Linux, configurações de pilha estão disponíveis como Recipientes de dados da pilha e são acessados apenas por meio da busca do Chef. Os pacotes de dados são armazenados nas instâncias do AWS OpsWorks Stacks em um conjunto de arquivos JSON no /var/chef/runs/run-ID/data_bags diretório, onde Run-ID é um ID exclusivo que o AWS OpsWorks Stacks atribui a cada execução do Chef em uma instância. Configurações de pilha não estão mais disponíveis como atributos de Chef, então as configurações de pilha não podem mais ser acessadas por meio do objeto node do Chef. Para obter mais informações, consulte AWS OpsWorks Referência do Stacks Data Bag.

Por exemplo, no Chef 11.10 e em versões anteriores para Linux, o código de receita a seguir usa o objeto node do Chef para obter atributos representando um nome curto de aplicativo e URL fonte. Ele então usa o log do Chef para escrever esses dois valores de atributo:

Chef::Log.info ("********** The app's short name is '#{node['opsworks']['applications'].first['slug_name']}' **********") Chef::Log.info("********** The app's URL is '#{node['deploy']['simplephpapp']['scm']['repository']}' **********")

No Chef 12 Linux, o código de receita a seguir usa o índice de busca aws_opsworks_app para obter conteúdos do primeiro recipiente de dados no recipiente de dados aws_opsworks_app. Em seguida, o código grava duas mensagens no log do Chef, uma com o conteúdo de data bag de nome curto do aplicativo e outra com o conteúdo de data bag de URL de origem do aplicativo:

app = search("aws_opsworks_app").first Chef::Log.info("********** The app's short name is '#{app['shortname']}' **********") Chef::Log.info("********** The app's URL is '#{app['app_source']['url']}' **********")

Para migrar seu código de receita para acessar as configurações de pilha do Chef 11.10 e versões anteriores do Linux para Chef 12 Linux, você deve revisar seu código para:

  • Acessar recipientes de dados Chef em vez de atributos Chef.

  • Use busca do Chef em vez do objeto node do Chef.

  • Use nomes de pacotes de dados do AWS OpsWorks Stacksaws_opsworks_app, como, em vez de usar nomes de atributos do AWS OpsWorks Stacks, como e. opsworks deploy

Para obter mais informações, consulte AWS OpsWorks Referência do Stacks Data Bag.