Adicionar uma instância de banco de dados do Amazon RDS ao ambiente de aplicativo .NET - AWS Elastic Beanstalk

Adicionar uma instância de banco de dados do Amazon RDS ao ambiente de aplicativo .NET

Você pode usar uma instância de banco de dados do Amazon Relational Database Service (Amazon RDS) para armazenar dados coletados e modificados pelo aplicativo. O banco de dados pode ser anexado ao seu ambiente e gerenciado pelo Elastic Beanstalk ou criado e gerenciado externamente.

Se você estiver usando o Amazon RDS pela primeira vez, adicione uma instância de banco de dados a um ambiente de teste com o console do Elastic Beanstalk e verifique se o aplicativo pode se conectar a ele.

Para conectar-se a um banco de dados, adicione o driver ao aplicativo, carregue a classe do driver em seu código e crie uma string de conexão com as propriedades de ambiente fornecidas pelo Elastic Beanstalk. A configuração e o código de conexão variam de acordo com o mecanismo de banco de dados e a estrutura que você usa.

nota

Para fins de aprendizado ou de ambientes de teste, é possível usar o Elastic Beanstalk para adicionar uma instância de banco de dados.

Para ambientes de produção, você pode criar uma instância de banco de dados fora do ambiente do Elastic Beanstalk para desacoplar os recursos do ambiente dos recursos do banco de dados. Dessa forma, quando você encerrar o ambiente, a instância de banco de dados não será excluída. Uma instância de banco de dados externa permite conectar-se ao mesmo banco de dados em vários ambientes e executar implantações azul/verde. Para obter instruções, consulte Uso do Elastic Beanstalk com o Amazon RDS.

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 Regiões, selecione 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. Escolha Aplicar.

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 dados, ebdb

Na guia Configuration (Configuração) do 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: Master username (Nome de usuário principal).

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 interna, consulte Adicionar um banco de dados ao seu ambiente Elastic Beanstalk.

Download de um driver

Faça download e instale o pacote EntityFramework e um driver de banco de dados para o seu ambiente de desenvolvimento com NuGet.

Provedores comuns de banco de dados de estrutura de entidade para .NET

  • SQL ServerMicrosoft.EntityFrameworkCore.SqlServer

  • MySQLPomelo.EntityFrameworkCore.MySql

  • PostgreSQLNpgsql.EntityFrameworkCore.PostgreSQL

Conectar-se a um banco de dados

O Elastic Beanstalk fornece informações de conexão referentes às instâncias de banco de dados associadas nas propriedades de ambiente. Use ConfigurationManager.AppSettings para ler as propriedades e configurar uma conexão de banco de dados.

exemplo Helpers.cs - método de string de conexão

using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Web; namespace MVC5App.Models { public class Helpers { public static string GetRDSConnectionString() { var appConfig = ConfigurationManager.AppSettings; string dbname = appConfig["RDS_DB_NAME"]; if (string.IsNullOrEmpty(dbname)) return null; string username = appConfig["RDS_USERNAME"]; string password = appConfig["RDS_PASSWORD"]; string hostname = appConfig["RDS_HOSTNAME"]; string port = appConfig["RDS_PORT"]; return "Data Source=" + hostname + ";Initial Catalog=" + dbname + ";User ID=" + username + ";Password=" + password + ";"; } } }

Use a string de conexão para inicializar o contexto do banco de dados.

exemplo DBContext.cs

using System.Data.Entity; using System.Security.Claims; using System.Threading.Tasks; using Microsoft.AspNet.Identity; using Microsoft.AspNet.Identity.EntityFramework; namespace MVC5App.Models { public class RDSContext : DbContext { public RDSContext() : base(GetRDSConnectionString()) { } public static RDSContext Create() { return new RDSContext(); } } }