Adicionar uma instância de banco de dados do Amazon RDS ao seu ambiente PHP Elastic Beanstalk - AWS Elastic Beanstalk

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

Adicionar uma instância de banco de dados do Amazon RDS ao seu ambiente PHP Elastic Beanstalk

Este tópico fornece instruções para criar o Amazon RDS usando o console do Elastic Beanstalk. É possível usar uma instância de banco de dados do Amazon Relational Database Service (Amazon RDS) para armazenar dados coletados e modificados pela aplicação. O banco de dados pode ser acoplado ao seu ambiente e gerenciado pelo Elastic Beanstalk ou pode ser criado como desacoplado e gerenciado externamente por outro serviço. Nestas instruções, o banco de dados é acoplado ao ambiente e gerenciado pelo Elastic Beanstalk. Para obter mais informações sobre como integrar um Amazon RDS com o Elastic Beanstalk, consulte Adição de um banco de dados ao seu ambiente do Elastic Beanstalk.

Adicionar uma instância de banco de dados ao seu ambiente

Para adicionar uma instância de banco de dados ao ambiente
  1. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione a sua Região da AWS.

  2. No painel de navegação, selecione Ambientes e selecione o nome do ambiente na lista.

    nota

    Se você tiver muitos ambientes, use a barra de pesquisa para filtrar a lista de ambientes.

  3. No painel de navegação, escolha Configuration (Configuração).

  4. Na categoria de configuração Database (Banco de dados), escolha Edit (Editar).

  5. Escolha um mecanismo de banco de dados e insira um nome de usuário e senha.

  6. Para salvar as alterações, escolha Apply (Aplicar) na parte inferior da página.

A adição de uma instância de banco de dados leva cerca de 10 minutos. Quando a atualização do ambiente for concluída, o nome de host da instância de banco de dados e outras informações de conexão estarão disponíveis para o seu aplicativo por meio das seguintes propriedades de ambiente:

Nome da propriedade Descrição Valor da propriedade

RDS_HOSTNAME

O nome do host da instância de banco de dados.

Na guia Connectivity & security (Conectividade e segurança) no console do Amazon RDS: Endpoint.

RDS_PORT

A porta na qual a instância de banco de dados aceita conexões. O valor padrão varia entre os mecanismos de banco de dados.

Na guia Connectivity & security (Conectividade e segurança) do console do Amazon RDS: Port (Porta).

RDS_DB_NAME

O nome do banco de dado, ebdb.

Na guia Configuration (Configuração) no console do Amazon RDS: DB Name (Nome do banco de dados).

RDS_USERNAME

O nome de usuário que você configurou para seu banco de dados.

Na guia Configuration (Configuração) do console do Amazon RDS: Nome de usuário primário.

RDS_PASSWORD

A senha que você configurou para seu banco de dados.

Não disponível para referência no console do Amazon RDS.

Para obter mais informações sobre como configurar uma instância de banco de dados acoplada a um ambiente Elastic Beanstalk, consulte Adição de um banco de dados ao seu ambiente do Elastic Beanstalk.

Download de um driver

Para usar Objetos de dados PHP (PDO) para se conectar ao banco de dados, instale o driver que corresponde ao mecanismo de banco de dados que você escolheu.

Para ter mais informações, consulte http://php.net/manual/en/pdo.installation.php.

Conexão com banco de dados com um PDO ou MySQLi

Você pode usar $_SERVER[`VARIABLE`] para ler as informações de conexão do ambiente.

Para obter um PDO, crie um Nome da Fonte de Dados (DSN) do host, porta e nome. Passe o DSN para o construtor do PDO com o nome de usuário e senha do banco de dados.

exemplo Conexão com banco de dados RDS com PDO - MySQL
<?php $dbhost = $_SERVER['RDS_HOSTNAME']; $dbport = $_SERVER['RDS_PORT']; $dbname = $_SERVER['RDS_DB_NAME']; $charset = 'utf8' ; $dsn = "mysql:host={$dbhost};port={$dbport};dbname={$dbname};charset={$charset}"; $username = $_SERVER['RDS_USERNAME']; $password = $_SERVER['RDS_PASSWORD']; $pdo = new PDO($dsn, $username, $password); ?>

Para outros drivers, substitua mysql pelo nome do driver: pgsql, oci ou sqlsrv.

Para MySQLi, passe o nome de host, nome de usuário, senha, nome do banco de dados e a porta para o construtor mysqli.

exemplo Conexão com banco de dados RDS com mysqli_connect()
$link = new mysqli($_SERVER['RDS_HOSTNAME'], $_SERVER['RDS_USERNAME'], $_SERVER['RDS_PASSWORD'], $_SERVER['RDS_DB_NAME'], $_SERVER['RDS_PORT']);

Conexão a um banco de dados com Symfony

Para o Symfony versão 3.2 e mais recente, é possível usar %env(PROPERTY_NAME)% para definir os parâmetros de banco de dados em um arquivo de configuração com base nas propriedades do ambiente definidas pelo Elastic Beanstalk.

exemplo app/config/parameters.yml
parameters: database_driver: pdo_mysql database_host: '%env(RDS_HOSTNAME)%' database_port: '%env(RDS_PORT)%' database_name: '%env(RDS_DB_NAME)%' database_user: '%env(RDS_USERNAME)%' database_password: '%env(RDS_PASSWORD)%'

Consulte Parâmetros externos (Symfony 3.4) para obter mais informações.

Para versões anteriores do Symfony, as variáveis de ambiente estão acessíveis somente se elas começarem com SYMFONY__. Isso significa que as propriedades do ambiente definidas pelo Elastic Beanstalk não podem ser acessadas, e você deve definir suas próprias propriedades do ambiente para passar as informações de conexão para o Symfony.

Para se conectar a um banco de dados com o Symfony 2, Crie uma propriedade de ambiente para cada parâmetro. Em seguida, use %property.name% para acessar a variável transformada por Symfony em um arquivo de configuração. Por exemplo, uma propriedade de ambiente chamada SYMFONY__DATABASE__USER é acessível como database.user.

database_user: "%database.user%"

Consulte Parâmetros externos (Symfony 2.8) para obter mais informações.