Personalizar a pilha para se conectar ao banco de dados do RDS - 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á.

Personalizar a pilha para se conectar ao banco de dados do RDS

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.

Depois de criar uma instância do RDS para usar como banco de dados de back-end para o servidor de aplicativos PHP, você pode personalizar a partir de. MyStack Conceitos básicos das pilhas Linux do Chef 11

Para conectar o Servidor de aplicativos PHP a um banco de dados RDS
  1. Abra o console AWS OpsWorks Stacks e crie uma pilha com uma camada do PHP App Server que contenha uma instância e implante o SimplePHPApp, conforme descrito em. Conceitos básicos das pilhas Linux do Chef 11 Essa pilha usa a versão1 do SimplePHPApp, que não usa uma conexão de banco de dados.

  2. Atualize a configuração da pilha para usar os livros de receitas personalizados que incluem a receita appsetup.rb, além do modelo relacionado e os arquivos de atributo.

    1. Defina Use custom Chef cookbooks como Yes.

    2. Defina Repository type como Git e Repository URL como git://github.com/amazonwebservices/opsworks-example-cookbooks.git.

  3. Adicione a caixa Custom Chef JSON da pilha para atribuir os dados de conexão do RDS aos atributos [:database] que appsetup.rb utiliza para criar o arquivo de configuração.

    { "deploy": { "simplephpapp": { "database": { "username": "opsworksuser", "password": "your_password", "database": "rdsexampledb", "host": "rds_endpoint", "adapter": "mysql" } } } }

    Use os seguintes valores de atributo:

    • username: o nome de usuário principal que você especificou ao criar a instância do RDS.

      Este exemplo usa opsworksuser.

    • password: a senha mestre que você especificou quando criou a instância do RDS.

      Preencha com a senha que você especificou.

    • database: o banco de dados que você criou ao criar a instância de RDS.

      Este exemplo usa rdsexampledb.

    • host: o endpoint RDS da instância, obtido no console RDS ao criar a instância na seção anterior. Não inclua o número da porta.

    • adapter: o adaptador.

      A instância RDS deste exemplo usa MySQL, portanto adapter está definido como mysql. Diferentemente de outros atributos, adapter não é usado por appsetup.rb. Em vez disso, é usado pela receita Configurar interna da camada PHP App Server para criar um arquivo de configuração diferente.

  4. Edite a configuração SimplePHPApp para especificar uma versão do SimplePHPApp que usa um banco de dados de backend da seguinte forma:

    • Document root: defina essa opção como web.

    • Branch/Revision: defina essa opção como version2.

    Deixe as opções restantes inalteradas.

  5. Edita a camada PHP App Server para configurar a conexão do banco de dados ao adicionar phpapp::appsetup para as receitas de implantação da camada.

  6. Implante a nova versão do SimplePHPApp.

  7. Quando o SimplePHPApp é implantado, execute o aplicativo na página Instances e clique no endereço IP público da instância php-app1. Você deve visualizar a seguinte página no navegador, que permite inserir texto e armazená-lo no banco de dados.

    Text input field labeled "Your Thoughts" with a "Share Your Thought" button.
nota

Se sua pilha tiver uma camada MySQL AWS OpsWorks , o Stacks atribuirá automaticamente os dados de conexão correspondentes aos atributos. [:database] No entanto, se você atribuir o JSON personalizado à pilha que define valores diferentes de [:database], eles substituem os valores padrão. Como os atributos [:deploy] são instalados em cada instância, qualquer receita que depende dos atributos [:database] usará os dados de conexão personalizados e não os dados da camada MySQL. Se você deseja uma camada de servidor de aplicativo específico para usar os dados de conexão personalizados, atribua o JSON personalizado ao evento Implantar da camada e restrinja a implantação à camada. Para obter mais informações sobre como usar os atributos de implantação, consulte Implementação de aplicativos. Para obter mais informações sobre substituir os atributos internos do AWS OpsWorks Stacks, consulte Sobrepor atributos.