Etapa 3: criar e implantar um livro de receitas 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á.

Etapa 3: criar e implantar um livro de receitas 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.

A pilha não está exatamente pronta ainda:

  • O aplicativo precisa de algumas informações para acessar o servidor de banco de dados MySQL e o bucket do Amazon S3, como o nome de host do banco de dados e o nome do bucket do Amazon S3.

  • Você precisa configurar um banco de dados no servidor de banco de dados MySQL e criar uma tabela para armazenar os metadados das fotos.

Você poderia lidar com essas tarefas manualmente, mas uma abordagem melhor é implementar a receita do Chef e fazer com que o AWS OpsWorks Stacks execute a receita automaticamente nas instâncias apropriadas. As receitas do Chef são aplicativos Ruby especializados que o AWS OpsWorks Stacks usa para realizar tarefas em instâncias, como instalar pacotes ou criar arquivos de configuração. Elas estão incluídas em um livro de receitas, que pode conter várias receitas e arquivos relacionados, como modelos para arquivos de configuração. O livro de receitas é colocado em um repositório como GitHub, e deve ter uma estrutura de diretórios padrão. Se você ainda não tem um repositório personalizado de livros de receitas, consulte Repositórios de livro de receitas para informações sobre como configurar um.

Neste exemplo, o livro de receitas foi implementado para você e está armazenado em um GitHub repositório público. O livro de receitas contém duas receitas, appsetup.rb e dbsetup.rb, além de um arquivo de modelo, db-connect.php.erb.

A receita appsetup.rb cria um arquivo de configuração que contém as informações que o aplicativo precisa para acessar o banco de dados e o bucket do Amazon S3. Ele é basicamente uma versão um pouco modificada da appsetup.rb receita descrita em Conexão do aplicativo ao banco de dados. A principal diferença são as variáveis que são passadas para o modelo, que representam as informações de acesso.

Os primeiros quatro atributos definem as configurações de conexão do banco de dados e são definidos automaticamente pelo AWS OpsWorks Stacks quando você cria a instância do MySQL.

Há duas diferenças entre essas variáveis e as contidas na receita original:

  • Assim como a receita original, a variável table representa o nome da tabela do banco de dados que é criada por dbsetup.rb e está ajustada para o valor de um atributo definido no arquivo de atributos do livro de receitas.

    No entanto, o atributo tem um nome diferente: [:photoapp][:dbtable].

  • A variável s3bucket é específica deste exemplo e está ajustada para o valor de um atributo que representa o nome do bucket do Amazon S3, [:photobucket].

    [:photobucket] é definido usando JSON personalizado, conforme descrito mais adiante. Para obter mais informações sobre atributos, consulte Atributos.

Para obter mais informações sobre atributos, consulte Atributos.

A receita dbsetup.rb configura uma tabela de banco de dados para armazenar todos os metadados de fotos. Ele é basicamente uma versão um pouco modificada da receita dbsetup.rb descrita em Configuração do banco de dados. Consulte esse tópico para obter uma descrição detalhada.

A única diferença entre este exemplo e a receita original é o esquema do banco de dados, que tem três colunas contendo o ID, o URL e a legenda de cada foto armazenada no bucket do Amazon S3.

As receitas já estão implementadas, então tudo que você precisa fazer é implantar o livro de receitas do photoapp no cache do livro de receitas de cada instância. AWS OpsWorks Em seguida, o Stacks executa as receitas em cache quando ocorre o evento de ciclo de vida apropriado, conforme descrito posteriormente.

Para implementar o livro de receitas do photoapp
  1. Na página AWS OpsWorks Stacks Stack, escolha Stack Settings e, em seguida, escolha Editar.

  2. Na seção Configuration Management:

    • Defina Use custom Chef cookbooks como Yes.

    • Defina Repository type como "Git".

    • Defina Repository URL (URL do repositório). como git://github.com/amazonwebservices/opsworks-example-cookbooks.git.

  3. Na página Stack (Pilha), selecione Run Command, selecione o comando de pilha Update Custom Cookbooks (Atualizar livros de receitas personalizados) e, em seguida, selecione Update Custom Cookbooks (Atualizar livros de receitas personalizados) para instalar o novo livro de receitas nos caches de livros de receitas de instância.

    Drop-down menu showing "Update Custom Cookbooks" selected. (AI generated)