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
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 Chefnode
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/var/chef/runs/
diretório, onde run-ID
/data_bagsRun-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 Stacks
aws_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.