

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á.

# Como configurar uma Conexão de banco de dados
<a name="customizing-rds-setup"></a>

**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](https://repost.aws/) ou por meio do Premium [AWS Support](https://aws.amazon.com/support).

Você pode configurar a conexão entre um servidor de aplicativos e o banco de dados de backend usando uma receita personalizada. A receita configura o servidor de aplicativo conforme necessário, normalmente com a criação de um arquivo de configuração. A receita obtém os dados de conexão, como o nome do host e do banco de dados, de um conjunto de atributos na [configuração da pilha e nos atributos de implantação](workingcookbook-json.md) que o OpsWorks Stacks instala em cada instância.

Por exemplo, a Etapa 2 de [Conceitos básicos das pilhas Linux do Chef 11](gettingstarted.md) é baseada em uma pilha nomeada MyStack com duas camadas, PHP App Server e MySQL, cada uma com uma instância. Você implanta um aplicativo chamado Simple PHPApp na instância do PHP App Server que usa o banco de dados na instância do MySQL como um armazenamento de dados de back-end. Ao implantar o aplicativo, o OpsWorks Stacks instala a configuração da pilha e os atributos de implantação que contêm as informações de conexão do banco de dados. O exemplo a seguir mostra os atributos da conexão do banco de dados, representado como JSON:

```
{
  ...
  "deploy": {
    "simplephpapp": {
      ...
      "database": {
        "reconnect": true,
        "password": null,
        "username": "root",
        "host": null,
        "database": "simplephpapp"
        ...
      },
      ...
    }
  }
}
```

Os valores dos atributos são fornecidos pelo OpsWorks Stacks e são gerados ou baseados nas informações fornecidas pelo usuário.

[Para permitir que o Simple PHPApp acesse o armazenamento de dados, você deve configurar a conexão entre o servidor de aplicativos PHP e o banco de dados MySQL atribuindo uma receita personalizada chamada `appsetup.rb` ao evento de ciclo de vida Deploy da camada PHP App Server.](workingcookbook-events.md) Quando você implanta o SimplePHPApp, o OpsWorks Stacks é executado`appsetup.rb`, o que cria um arquivo de configuração chamado `db-connect.php` que configura a conexão, conforme mostrado no trecho a seguir.

```
node[:deploy].each do |app_name, deploy|
  ...
  template "#{deploy[:deploy_to]}/current/db-connect.php" do
    source "db-connect.php.erb"
    mode 0660
    group deploy[:group]

    if platform?("ubuntu")
      owner "www-data"
    elsif platform?("amazon")   
      owner "apache"
    end

    variables(
      :host =>     (deploy[:database][:host] rescue nil),
      :user =>     (deploy[:database][:username] rescue nil),
      :password => (deploy[:database][:password] rescue nil),
      :db =>       (deploy[:database][:database] rescue nil),
      :table =>    (node[:phpapp][:dbtable] rescue nil)
    )
    ...
  end
end
```

As variáveis que caracterizam a conexão, `host`, `user` e assim por diante, são definidas de acordo com os valores correspondentes dos atributos `[:deploy][:app_name][:database]` de [implantação JSON](workingcookbook-json.md#workingcookbook-json-deploy). Para simplificar, o exemplo considera que você já criou uma tabela chamada `urler`, portanto, ela é representada por `[:phpapp][:dbtable]` no arquivo de atributos do livro de receitas.

Essa receita pode conectar o servidor de aplicativos PHP a qualquer servidor de banco de dados MySQL, não apenas membros de uma camada MySQL. Para usar um servidor MySQL diferente, basta definir os `[:database]` atributos para valores apropriados ao seu servidor, o que pode ser feito usando JSON [personalizado](workingstacks-json.md). OpsWorks Em seguida, as pilhas incorporam esses atributos e valores na configuração e nos atributos de implantação da pilha e os `appsetup.rb` usam para criar o modelo que configura a conexão. Para obter mais informações sobre como substituir as configurações da pilha e a implantação de JSON, consulte [Sobrepor atributos](workingcookbook-attributes.md).