Conectar a uma instância de banco de dados do Amazon RDS - Amazon Relational Database Service

Conectar a uma instância de banco de dados do Amazon RDS

Antes de se conectar a uma instância de banco de dados, você deve criar a instância de banco de dados. Para obter mais informações, consulte Criar uma instância de banco de dados do Amazon RDS. Depois que o Amazon RDS provisionar sua instância de banco de dados, será possível usar qualquer aplicação ou utilitário cliente padrão para o mecanismo de banco de dados e conectar à instância do BD. Na string de conexão, você especifica o endereço DNS do endpoint da instância de banco de dados como o parâmetro de host e especifica o número da porta a partir desse endpoint como o parâmetro de porta.

Localizando as informações de conexão para uma instância de Amazon RDS banco de dados

As informações de conexão de uma instância de banco de dados incluem seu endpoint, porta e um usuário de banco de dados válido, como o usuário mestre. Por exemplo, para uma instância de banco de dados MySQL, suponha que o valor do endpoint seja mydb.123456789012.us-east-1.rds.amazonaws.com. Nesse caso, o valor da porta é 3306, e o usuário do banco de dados é admin. Com essas informações, você especifica os seguintes valores em uma string de conexão:

  • Para o host, nome de host ou nome DNS, especifique mydb.123456789012.us-east-1.rds.amazonaws.com.

  • Para a porta, especifique 3306.

  • Para usuário, especifique admin.

O endpoint é exclusivo para cada instância de banco de dados e os valores da porta e do usuário podem variar. A seguinte lista mostra a porta mais comum para cada mecanismo de banco de dados:

  • MariaDB – 3306

  • Microsoft SQL Server – 1433

  • MySQL – 3306

  • Oracle – 1521

  • PostgreSQL – 5432

Para se conectar a uma instância de banco de dados, use qualquer cliente para um mecanismo de banco de dados. Por exemplo, você pode usar o utilitário mysql para se conectar a uma instância de banco de dados MariaDB ou MySQL. Você pode usar o Microsoft SQL Server Management Studio para se conectar a uma instância de banco de dados SQL Server. Você pode usar o Oracle SQL Developer para se conectar a uma instância de banco de dados Oracle ou ao utilitário de linha de comando psql para se conectar a uma instância de banco de dados PostgreSQL.

Para localizar as informações de conexão de uma instância de banco de dados, você pode usar o AWS Management Console, comando da AWS Command Line Interface (AWS CLI) describe-db-instances ou a operação da API do Amazon RDS DescribeDBInstances para listar seus detalhes.

Para encontrar as informações de conexão de uma instância de banco de dados no AWS Management Console

  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Bancos de dados para exibir uma lista de suas instâncias de banco de dados.

  3. Escolha o nome da instância de banco de dados para mostrar os detalhes.

  4. Na guia Connectivity & security (Conectividade e segurança), copie o endpoint. Além disso, anote o número da porta. Você precisará do endpoint e do número da porta para conectar-se à instância de banco de dados.

    
                            O endpoint e a porta de uma instância de banco de dados
  5. Se você precisar encontrar o nome de usuário mestre, escolha a guia Configuração e visualize o valor do nome de usuário mestre .

Para encontrar as informações de conexão de uma instância de banco de dados usando o AWS CLI, chame o comando describe-db-instances . Na chamada, consulte o ID da instância de banco de dados, o endpoint, a porta e o nome de usuário mestre.

Para Linux, macOS ou Unix:

aws rds describe-db-instances \ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

Para Windows:

aws rds describe-db-instances ^ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

Sua saída deve ser similar à seguinte.

[ [ "mydb", "mydb.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ], [ "myoracledb", "myoracledb.123456789012.us-east-1.rds.amazonaws.com", 1521, "dbadmin" ], [ "mypostgresqldb", "mypostgresqldb.123456789012.us-east-1.rds.amazonaws.com", 5432, "postgresadmin" ] ]

Para localizar as informações de conexão de uma instância de banco de dados usando a Amazon RDS API, chame a operação DescribeDBInstances . Na saída, encontre os valores para o endereço do endpoint, a porta do endpoint e o nome do usuário mestre.

Opções de autenticação do banco de dados

Amazon RDS suporta as seguintes maneiras de autenticar usuários do banco de dados:

  • Com a autenticação com senha, –sua instância de banco de dados executa toda a administração de contas do usuário. Você cria usuários e especifica senhas com instruções SQL. As instruções SQL que você pode usar dependem do mecanismo de banco de dados.

  • Autenticação de banco de dados do AWS Identity and Access Management (IAM): você não precisa usar uma senha ao se conectar a uma instância de banco de dados. Em vez disso, você usa um token de autenticação.

  • Autenticação Kerberos – Você usa autenticação externa de usuários de banco de dados usando Kerberos e Microsoft Active Directory. O Kerberos é um protocolo de autenticação de rede que usa tíquetes e criptografia de chave simétrica para eliminar a necessidade de transmitir senhas pela rede. O Kerberos foi integrado ao Active Directory e foi projetado para autenticar usuários em recursos de rede, como bancos de dados.

IAM autenticação de banco de dados e autenticação Kerberos estão disponíveis apenas para mecanismos de banco de dados específicos e versões.

Para obter mais informações, consulte Autenticação do banco de dados com Amazon RDS.

Conexões criptografadas

É possível usar o Security Socket Layer (SSL) ou o Transport Layer Security (TLS) na aplicação para criptografar uma conexão com a uma instância de banco de dados. Cada mecanismo de banco de dados tem seu próprio processo de implementação do SSL/TLS. Para obter mais informações, consulte Como Usar SSL/TLS para criptografar uma conexão com uma instância de banco de dados.

Cenários para acessar uma instância de banco de dados em uma VPC

Usando o Amazon Virtual Private Cloud (Amazon VPC) você pode executar recursos da AWS, como instâncias de bancos de dados do Amazon RDS, em uma nuvem privada virtual (VPC). Ao usar uma Amazon VPC, você tem controle sobre o ambiente de rede virtual. É possível escolher seu próprio intervalo de endereços IP, criar sub-redes e configurar o roteamento e listas de controle de acesso.

Um grupo de segurança da VPC controla o acesso a uma instância de banco de dados dentro de uma VPC. Cada regra de grupo de segurança de VPC permite que uma origem específica acesse uma instância de banco de dados em uma VPC que esteja associada a esse grupo de segurança de VPC. A origem pode ser uma gama de endereços (por exemplo, 203.0.113.0/24) ou outro grupo de segurança da VPC. Ao especificar um grupo de segurança de VPC como origem, você permite o tráfego recebido de todas as instâncias (geralmente servidores de aplicativos) que usam o grupo de segurança de VPC de origem.

Antes de tentar se conectar à sua instância de banco de dados, configure a VPC para o caso de uso. Estes são alguns cenários comuns para acessar uma instância de banco de dados em uma VPC:

  • Uma instância de banco de dados em uma VPC acessada por uma instância Amazon EC2 na mesma VPC – Um uso comum de uma instância de banco de dados em uma VPC é compartilhar dados com um servidor de aplicações que estiver sendo executada em uma instância do EC2 na mesma VPC. A instância do EC2 pode executar um servidor Web com uma aplicação que interaja com a instância de banco de dados.

  • Uma instância de banco de dados em uma VPC acessada por uma instância do EC2 em uma VPC diferente – Quando sua instância de banco de dados está em uma VPC diferente da instância do EC2 que você está usando para acessá-la, você pode usar o emparelhamento de VPC para acessar a instância de banco de dados.

  • Uma instância de banco de dados em uma VPC acessada por uma aplicação cliente através da Internet – Para acessar uma instância de banco de dados em uma VPC de uma aplicação cliente pela Internet, configure uma VPC com uma única sub-rede pública e um gateway da Internet para habilitar a comunicação pela Internet.

    Para se conectar a uma instância de banco de dados de fora de sua VPC, a instância de banco de dados deve estar acessível publicamente. Além disso, o acesso deve ser concedido usando as regras de entrada do grupo de segurança da instância de banco de dados, e os outros requisitos devem ser atendidos. Para obter mais informações, consulte Não é possível conectar-se à instância de banco de dados do Amazon RDS.

  • Uma instância de banco de dados em uma VPC acessada por uma rede privada: se sua instância de banco de dados não estiver acessível publicamente, você poderá usar uma conexão VPN de local a local da AWS ou uma conexão AWS Direct Connect para acessá-la em uma rede privada.

  • Uma instância de banco de dados em uma VPC acessada por uma instância do EC2 não em uma VPC – Você pode se comunicar entre uma instância de banco de dados que está em uma VPC e uma instância do EC2 que não esteja em uma VPC usando o ClassicLink.

Para obter mais informações, consulte Cenários para acessar uma instância de banco de dados em uma VPC.

Conectar a uma instância de banco de dados que está executando um mecanismo de banco de dados específico

Para obter informações sobre a conexão a uma instância de banco de dados que esteja executando um mecanismo de banco de dados específico, siga as instruções do mecanismo de banco de dados:

Gerenciar conexões com o RDS Proxy

Também é possível usar o Amazon RDS Proxy para gerenciar conexões com instâncias de banco de dados do MySQL e PostgreSQL. O RDS Proxy permite que as aplicações agrupem e compartilhem conexões de banco de dados para melhorar a escalabilidade.