Adição de um banco de dados ao seu ambiente do 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á.

Adição de um banco de dados ao seu ambiente do Elastic Beanstalk

O Elastic Beanstalk fornece integração com o Amazon Relational Database Service (Amazon RDS). Você pode usar o Elastic Beanstalk para adicionar um banco de dados MySQL, PostgreSQL, Oracle ou SQL Server ao ambiente durante ou após a criação do ambiente. Quando você adiciona uma instância de banco de dados, o Elastic Beanstalk fornece as informações de conexão à sua aplicação. Ele faz isso definindo as propriedades do ambiente para o nome de host do banco de dados, a porta, o nome de usuário, a senha e o nome do banco de dados.

Se nunca usou uma instância de banco de dados com sua aplicação, recomendamos que você primeiro use o processo descrito neste tópico para adicionar um banco de dados a um ambiente de teste com o serviço Elastic Beanstalk. Fazendo isso, você pode verificar se a aplicação pode ler as propriedades do ambiente, criar uma sequência de conexão e conectar-se a uma instância de banco de dados, sem o trabalho de configuração adicional necessário para um banco de dados externo ao Elastic Beanstalk.

Depois de verificar se a aplicação funciona corretamente com o banco de dados, você pode considerar a possibilidade de passar para um ambiente de produção. Neste ponto, você tem a opção de desacoplar o banco de dados do ambiente do Elastic Beanstalk para passar para uma configuração que ofereça mais flexibilidade. O banco de dados desacoplado pode permanecer operacional como uma instância de banco de dados externa do Amazon RDS. A integridade do ambiente não é afetada pelo desacoplamento do banco de dados. Se precisar terminar o ambiente, você poderá fazê-lo e também escolher a opção para manter o banco de dados disponível e operacional fora do Elastic Beanstalk.

Usar um banco de dados externo tem várias vantagens. Você pode se conectar ao banco de dados externo de vários ambientes, usar tipos de bancos de dados que não são compatíveis com bancos de dados integrados e realizar implantações azul/verde. Como alternativa ao uso de um banco de dados desacoplado criado pelo Elastic Beanstalk, você também pode criar uma instância de banco de dados fora do seu ambiente do Elastic Beanstalk. Ambas as opções resultam em uma instância de banco de dados externa ao seu ambiente do Elastic Beanstalk e exigem configurações adicionais do grupo de segurança e da sequência de conexão. Para obter mais informações, consulte Usar o Elastic Beanstalk com o Amazon RDS.

Ciclo de vida do banco de dados

Você pode escolher o que deseja que aconteça com o banco de dados depois de desacoplá-lo do seu ambiente do Elastic Beanstalk. As opções que você pode escolher são coletivamente chamadas de políticas de exclusão. As políticas de exclusão a seguir se aplicarão a um banco de dados após você desacoplá-lo de um ambiente do Elastic Beanstalk ou terminar o ambiente do Elastic Beanstalk.

  • Snapshot: o Elastic Beanstalk faz um snapshot do banco de dados antes de terminá-lo. Você pode restaurar um banco de dados de um snapshot quando adicionar uma instância de banco de dados a um ambiente do Elastic Beanstalk ou criar um banco de dados autônomo. Para obter mais informações sobre como criar uma nova instância de banco de dados autônoma de um snapshot, consulte Restoring from a DB snapshot (Restaurar de um snapshot do banco de dados) no Amazon RDS User Guide (Guia do usuário do Amazon RDS). Pode haver cobrança do armazenamento de snapshots de banco de dados. Para obter mais informações, consulte a seção Armazenamento de backup em Definição de preço do Amazon RDS.

  • Excluir: o Elastic Beanstalk termina o banco de dados. Após ser terminada, a instância do banco de dados não está mais disponível para nenhuma operação.

  • Reter: a instância do banco de dados não foi terminada. Ela permanece disponível e operacional, embora desacoplada do Elastic Beanstalk. Então, você pode configurar um ou vários ambientes para conectar ao banco de dados como uma instância de banco de dados externa do Amazon RDS. Para obter mais informações, consulte Usar o Elastic Beanstalk com o Amazon RDS.

Adição de uma instância de banco de dados do Amazon RDS ao seu ambiente usando o console

É possível adicionar uma instância de banco de dados ao seu ambiente usando o console do Elastic Beanstalk.

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.

Você pode configurar as seguintes opções:

  • Snapshot: escolha um snapshot de banco de dados existente. O Elastic Beanstalk restaura o snapshot e o adiciona ao ambiente. O valor padrão é Nenhum. Quando o valor padrão é None (Nenhum), você pode configurar um novo banco de dados usando as outras configurações dessa página.

  • Engine (Mecanismo): escolha um mecanismo de banco de dados.

  • Engine version (Versão do mecanismo): escolha uma versão específica do mecanismo de banco de dados.

  • Instance class (Classe de instância): escolha uma classe de instância de banco de dados. Para obter mais informações sobre classes de instância de banco de dados, consulte https://aws.amazon.com/rds/.

  • Storage (Armazenamento): escolha a quantidade de armazenamento que deve ser provisionada para seu banco de dados. Você pode aumentar o armazenamento alocado posteriormente, mas não pode diminuí-lo. Para obter mais informações sobre a alocação de armazenamento, consulte Features (Recursos).

  • Username (Nome de usuário): insira um nome de usuário de sua escolha usando uma combinação de apenas números e letras.

  • Password (Senha): insira uma senha de sua preferência que contenha de 8 a 16 caracteres ASCII imprimíveis (exceto /, \ e @).

  • Availability (Disponibilidade): escolha High (Multi-AZ) (Alta [Multi-AZ]) para executar um backup quente em uma segunda zona de disponibilidade para alta disponibilidade.

  • Database deletion policy (política de exclusão do banco de dados): a política de exclusão determina o que acontece com o banco de dados após ele ser desacoplado do seu ambiente. Pode ser um dos seguintes valores: Create Snapshot, Retain ou Delete. Esses valores são descritos em Ciclo de vida do banco de dados neste mesmo tópico.

nota

O Elastic Beanstalk cria um usuário principal para o banco de dados usando o nome de usuário e a senha fornecidos. Para saber mais sobre o usuário principal e seus privilégios, consulte Master User Account Privileges (Privilégios da conta de usuário principal).

A adição de uma instância de banco de dados leva cerca de 10 minutos. Quando a atualização é concluída, o novo banco de dados é acoplado ao seu ambiente. O nome do host e outras informações de conexão da instância de banco de dados estão disponíveis para a sua aplicação por meio das seguintes propriedades do 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.

Conectar ao banco de dados

Use as informações de conectividade para conectar ao banco de dados, de dentro da aplicação, por meio das variáveis do ambiente. Para obter mais informações sobre como usar o Amazon RDS com seus aplicativos, consulte os tópicos a seguir.

Configuração de uma instância de banco de dados do RDS integrada, usando o console

É possível visualizar e modificar as configurações de sua instância de banco de dados na seção Database (Banco de dados) na página Configuration (Configuração) do ambiente no console do Elastic Beanstalk.

Como configurar a instância de banco de dados do seu ambiente no console do Elastic Beanstalk
  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).

Você pode modificar as configurações de Instance class (Classe de instância), Storage (Armazenamento), Password (Senha), Availability (Disponibilidade) e Database deletion policy (política de exclusão de banco de dados) após a criação do banco de dados. Se você alterar a classe de instância, o Elastic Beanstalk provisionará novamente a instância de banco de dados.

Se você não precisa mais do Elastic Beanstalk para associar o banco de dados ao ambiente, pode optar por desacoplá-lo selecionando Decouple database (Desacoplar banco de dados). É importante entender as opções e as considerações envolvidas nessa operação. Para obter mais informações, consulte Desacoplamento de uma instância de banco de dados do RDS usando o console.

Aviso

Não modifique as configurações na instância do banco de dados desacoplado fora da funcionalidade que é fornecida pelo Elastic Beanstalk (por exemplo, no console do Amazon RDS). Se fizer isso, a configuração de banco de dados do Amazon RDS poderá ficar fora de sincronia com a definição do ambiente. Quando você atualiza ou reinicia o ambiente, as configurações especificadas no ambiente substituem todas as configurações feitas fora do Elastic Beanstalk.

Se você precisar modificar as configurações não compatíveis diretamente com o Elastic Beanstalk, use arquivos de configuraçãodo Elastic Beanstalk.

Configuração de uma instância de banco de dados do RDS integrada usando arquivos de configuração

Você pode configurar a instância de banco de dados do seu ambiente usando arquivos de configuração. Use as opções no namespace aws:rds:dbinstance. O exemplo a seguir modifica o tamanho de armazenamento alocado do banco de dados para 100 GB.

exemplo .ebextensions/db-instance-options.config
option_settings: aws:rds:dbinstance: DBAllocatedStorage: 100

Se quiser configurar propriedades de instância de banco de dados não compatíveis com o Elastic Beanstalk, você ainda pode usar um arquivo de configuração e especificar as configurações usando a chave resources. O exemplo a seguir define valores para as propriedades StorageType e Iops do Amazon RDS.

exemplo .ebextensions/db-instance-properties.config
Resources: AWSEBRDSDatabase: Type: AWS::RDS::DBInstance Properties: StorageType:io1 Iops: 1000

Desacoplamento de uma instância de banco de dados do RDS usando o console

Você pode desacoplar seu banco de dados de um ambiente do Elastic Beanstalk sem afetar a integridade do ambiente. Considere os seguintes requisitos antes de desacoplar o banco de dados:

  • O que deverá acontecer com o banco de dados depois que ele for desacoplado?

    Você pode optar por criar um snapshot do banco de dados e depois terminá-lo, manter o banco de dados operacional como um banco de dados autônomo externo ao Elastic Beanstalk ou excluir permanentemente o banco de dados. A configuração Database deletion policy (política de exclusão do banco de dados) determina esse resultado. Para obter uma descrição detalhada das políticas de exclusão, consulte Ciclo de vida do banco de dados neste mesmo tópico.

  • Você precisa fazer algumas alterações nas configurações do banco de dados antes de desacoplá-lo?

    Se precisar fazer alterações de configuração no banco de dados, você deverá aplicá-las antes de desacoplar o banco de dados. Isso inclui alterações na Database deletion policy (política de exclusão do banco de dados). Alterações pendentes que sejam enviadas ao mesmo tempo que a configuração Decouple database (Desacoplar banco de dados) serão ignoradas, e somente a configuração de desacoplamento será aplicada.

Para desacoplar uma instância de banco de dados de um 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. Revise todos os valores das configurações na seção Database settings (Configurações do banco de dados), especialmente Database deletion policy (política de exclusão do banco de dados), que determina o que acontece com o banco de dados após ele ser desacoplado.

    Se todas as outras configurações estiverem corretas, pule para a Etapa 6 para desacoplar o banco de dados.

    Atenção

    É importante aplicar a configuração Database deletion policy (política de exclusão do banco de dados) separada de Decouple database (Desacoplar banco de dados). Se você selecionar Apply (Aplicar) com a intenção de salvar Decouple database (Desacoplar banco de dados) e uma política de exclusão do banco de dados recém-selecionada, a nova política de exclusão escolhida será ignorada. O Elastic Beanstalk desacoplará o banco de dados seguindo a política de exclusão definida anteriormente. Se a política de exclusão definida anteriormente for Delete ou Create Snapshot, você correrá o risco de perder o banco de dados em vez de seguir a política pendente pretendida.

    Se alguma das configurações exigir atualizações, faça o seguinte:

    1. Faça as modificações necessárias no painel Database settings (Configurações do banco de dados).

    2. Escolha Apply (Aplicar). Salvar as alterações de configuração do banco de dados levará alguns minutos.

    3. Volte para a Etapa 3 e escolha Configuration (Configuração) no painel de navegação.

  6. Vá para a seção Database connection (Conexão do banco de dados) do painel.

  7. Escolha Decouple database (Desacoplar banco de dados).

  8. Escolha Apply (Aplicar) para iniciar a operação de desacoplamento do banco de dados.

A configuração de política de exclusão determina o resultado para o banco de dados e o tempo necessário para desacoplá-lo.

  • Se a política de exclusão for definida como Delete, o banco de dados será excluído. A operação pode levar aproximadamente de 10 a 20 minutos, dependendo do tamanho do banco de dados.

  • Se a política de exclusão for definida como Snapshot, um snapshot do banco de dados será criado. Em seguida, o banco de dados será excluído. O tempo necessário para esse processo varia de acordo com o tamanho do banco de dados.

  • Se a política de exclusão for definida como Retain, o banco de dados permanecerá operacional, fora do ambiente do Elastic Beanstalk. Geralmente, desacoplar um banco de dados leva menos de cinco minutos.

Se decidiu reter o banco de dados externo ao seu ambiente do Elastic Beanstalk, você precisará realizar etapas adicionais para configurá-lo. Para obter mais informações, consulte Usar o Elastic Beanstalk com o Amazon RDS. Se planeja usar o banco de dados que você desacopla para um ambiente de produção, verifique se o tipo de armazenamento usado pelo banco de dados é adequado para sua workload. Para obter mais informações, consulte DB Instance Storage (Armazenamento de instâncias de banco de dados) e Modifying a DB instance (Modificar uma instância de banco de dados) no Amazon RDS User Guide (Guia do usuário do Amazon RDS).

Desacoplamento de uma instância de banco de dados do RDS usando arquivos de configuração

Você pode desacoplar sua instância de banco de dados de um ambiente do Elastic Beanstalk sem afetar a integridade do ambiente. A instância de banco de dados segue a política de exclusão de banco de dados que foi aplicada quando o banco de dados foi desacoplado.

Ambas as opções necessárias para desacoplar o banco de dados estão no namespace aws:rds:dbinstance. Eles são os seguintes:

  • A opção DBDeletionPolicy define a política de exclusão. Pode ser um dos seguintes valores: Snapshot, Delete ou Retain. Esses valores são descritos em Ciclo de vida do banco de dados neste mesmo tópico.

  • A opção HasCoupledDatabase determina se o ambiente tem um banco de dados acoplado.

    • Se definida como true, o Elastic Beanstalk cria uma nova instância de banco de dados acoplada ao seu ambiente.

    • Se definida como false, o Elastic Beanstalk começa a desacoplar a instância de banco de dados do seu ambiente.

Se quiser alterar a configuração do banco de dados antes de desacoplá-la, aplique todas as alterações de configuração primeiro, em uma operação separada. Isso inclui alterar a configuração de DBDeletionPolicy. Depois que as alterações forem aplicadas, execute um comando separado para definir a opção de desacoplamento. Se você enviar outras configurações ao mesmo tempo que a configuração de desacoplamento, as outras configurações da opção serão ignoradas enquanto a configuração de desacoplamento for aplicada.

Atenção

É importante que você execute os comandos para aplicar as configurações DBDeletionPolicy e HasCoupledDatabase como duas operações separadas. Se a política de exclusão ativa já estiver definida como Delete ou Snapshot, você correrá o risco de perder o banco de dados. O banco de dados segue a política de exclusão que está ativa no momento, em vez da política de exclusão pendente que você pretendia.

Para desacoplar uma instância de banco de dados de um ambiente

Siga estas etapas para desacoplar o banco de dados do ambiente do Elastic Beanstalk. Você pode usar a CLI do EB ou a AWS CLI para realizar as etapas. Para obter mais informações, consulte Personalização avançada do ambiente com arquivos de configuração.

  1. Se quiser alterar a política de exclusão, configure um arquivo de configuração no formato a seguir. Neste exemplo, a política de exclusão está definida para reter.

    option_settings: aws:rds:dbinstance: DBDeletionPolicy: Retain
  2. Execute o comando usando sua ferramenta preferida para atualizar a configuração.

  3. Configure um arquivo de configuração para definir HasCoupledDatabase como false.

    option_settings: aws:rds:dbinstance: HasCoupledDatabase: false
  4. Execute o comando usando sua ferramenta preferida para atualizar a configuração.

A configuração de política de exclusão determina o resultado para o banco de dados e o tempo necessário para desacoplá-lo.

  • Se a política de exclusão for definida como Delete, o banco de dados será excluído. A operação pode levar aproximadamente de 10 a 20 minutos, dependendo do tamanho do banco de dados.

  • Se a política de exclusão for definida como Snapshot, um snapshot do banco de dados será criado. Em seguida, o banco de dados será excluído. O tempo necessário para esse processo varia de acordo com o tamanho do banco de dados.

  • Se a política de exclusão for definida como Retain, o banco de dados permanecerá operacional, fora do ambiente do Elastic Beanstalk. Geralmente, desacoplar um banco de dados leva menos de cinco minutos.

Se decidiu reter o banco de dados externo ao seu ambiente do Elastic Beanstalk, você precisará realizar etapas adicionais para configurá-lo. Para obter mais informações, consulte Usar o Elastic Beanstalk com o Amazon RDS. Se planeja usar o banco de dados que você desacopla para um ambiente de produção, verifique se o tipo de armazenamento usado pelo banco de dados é adequado para sua workload. Para obter mais informações, consulte DB Instance Storage (Armazenamento de instâncias de banco de dados) e Modifying a DB instance (Modificar uma instância de banco de dados) no Amazon RDS User Guide (Guia do usuário do Amazon RDS).