Sobrepor atributos com JSON personalizado - 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á.

Sobrepor atributos com JSON personalizado

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

Como o AWS OpsWorks Stacks gerencia a execução do Chef de forma diferente nas pilhas do Windows e nas pilhas do Linux, você não pode usar as técnicas discutidas nesta seção para pilhas do Windows.

A maneira mais simples de substituir um atributo AWS OpsWorks Stacks é defini-lo em JSON personalizado, que tem precedência sobre os atributos de configuração e implantação da pilha, bem como sobre os atributos integrados e personalizados do livro de receitas. default Para ter mais informações, consulte Precedência de atributo.

Importante

Você deve sobrepor atributos de configuração de stack e implantação com cuidado. Por exemplo, substituir atributos no namespace opsworks pode interferir as receitas integradas. Para ter mais informações, consulte Configuração de pilha e atributos de implantação.

Você também pode usar JSON personalizado para definir atributos únicos, geralmente para transferir dados a suas receitas personalizadas. Os atributos são facilmente incorporados no objeto de nó, e receitas podem fazer referência a eles usando a sintaxe de nó Chef padrão.

Como especificar JSON personalizado

Para usar JSON para sobrepor um valor de atributo, você deve primeiro determinar o nome do atributo qualificado completamente por ele. Você então cria um objeto JSON que contém os atributos que deseja sobrepor, definido por seus valores preferidos. Por uma questão de comodidade, os documentos Atributos de implantação e configuração de pilha: Linux e Atributos de livros de receitas integrados comumente usou atributos de configuração de stack, implantação e livro de receitas integrado, incluindo seus nomes completamente qualificados.

As relações de filho-parente do objeto devem corresponder aos nós de Chef qualificados completamente apropriados. Por exemplo, suponha que você quer mudar os atributos Apache a seguir:

  • O atributo keepalivetimeout, que tem o nó node[:apache][:keepalivetimeout] e um valor padrão de 3.

  • O atributo logrotate schedule, que tem um nó node[:apache][:logrotate][:schedule], e um valor padrão de "daily".

Para sobrepor os atributos e definir os valores para 5 e "weekly", respectivamente, você usaria o JSON personalizado a seguir:

{ "apache" : { "keepalivetimeout" : 5, "logrotate" : { "schedule" : "weekly" } } }

Quando especificar JSON personalizado

É possível especificar uma estrutura JSON personalizada para as tarefas a seguir:

Para cada tarefa, o AWS OpsWorks Stacks mescla os atributos JSON personalizados com os atributos de configuração e implantação da pilha e os envia às instâncias para serem mesclados ao objeto do nó. Entretanto, observe o seguinte:

  • Se você especificar JSON personalizado quando criar, clonar ou atualizar um stack, os atributos são unidos em um nos atributos de configuração de stack e implantação para todos eventos de ciclo de vida subsequentes e comandos de stack.

  • Se você especificar JSON personalizado para uma implantação, os atributos são unidos nos atributos de configuração de stack e implantação apenas para o evento correspondente.

    Se quiser usar esses atributos personalizados para implantações subsequentes, você deve especificar de forma explícita o JSON personalizado novamente.

É importante lembrar que os atributos afetam somente a instância quando são usados como receitas. Se você sobrepor um valor de atributo, mas nenhuma receita subsequente fizer referência ao atributo, a alteração não tem efeito. Você deve se certificar de que o JSON personalizado é enviado antes das receitas associadas serem executadas, ou certificar-se de que as receitas apropriadas são executadas novamente.

Melhores práticas do JSON personalizado

Você pode usar o JSON personalizado para substituir qualquer atributo do AWS OpsWorks Stacks, mas inserir as informações manualmente é um pouco complicado e não está sob nenhum tipo de controle de origem. JSON personalizado é mais eficaz para os seguintes fins:

  • Quando você quiser sobrepor apenas um número pequeno de atributos, e não precisa usar livros de receita personalizados.

    Com o JSON personalizado, você pode evitar os custos indiretos de definir e manter um repositório de livro de receitas apenas para sobrepor um par de atributos.

  • Valores confidenciais, como senhas ou chaves de autenticação.

    Os atributos de livro de receitas são armazenados em um repositório, então, qualquer informação sensível tem o risco de ser comprometida. Em vez disso, defina atributos com valores fictícios e use JSON personalizado para definir os valores reais.

  • Espera-se que os valores variem.

    Por exemplo, uma prática recomendada é ter seu stack de produção suportado por stacks de desenvolvimento separado e em estágio. Suponha que esses stacks suportam um aplicativo que aceita pagamentos. Se você usar JSON personalizado para especificar o endpoint do pagamento, pode especificar uma URL de teste para posicionar stack. Quando você estiver pronto para migrar um stack atualizado ao seu stack de produção, você pode usar os mesmos livros de receitas e usar JSON personalizado para definir o endpoint do pagamento à URL de produção.

  • Valores que são específicos a um stack particular ou comando de implantação.