Como conectar-se a um cluster de bancos de dados Amazon Aurora
É possível conectar-se a um cluster de bancos de dados Aurora usando as mesmas ferramentas usadas para se conectar a um banco de dados MySQL ou PostgreSQL. Especifique uma string de conexão com qualquer script, utilitário ou aplicativo que conecte-se a uma instância de banco de dados MySQL ou PostgreSQL. É possível usar a mesma chave pública para conexões Secure Sockets Layer (SSL).
Na string de conexão, use tipicamente as informações de host e porta de endpoints especiais associados ao cluster de banco de dados. Com esses endpoints, é possível usar os mesmos parâmetros de conexão, independentemente do número de instâncias de banco de dados no cluster. É possível usar as informações de host e porta de uma instância de bancos de dados Aurora para tarefas específicas, como solução de problemas.
nota
Para clusters de banco de dados do Aurora Serverless, você se conecta ao endpoint do banco de dados em vez da instância de banco de dados. Você pode encontrar o endpoint do banco de dados para um cluster de banco de dados de Aurora Serverless na guia Conectividade e segurança do AWS Management Console. Para obter mais informações, consulte Usar o Amazon Aurora Serverless v1.
Independentemente do mecanismo de banco de dados de Aurora e das ferramentas específicas que você usa para trabalhar com o cluster de banco de dados ou instância, o endpoint deve estar acessível. Um cluster de bancos de dados do Aurora pode ser criado apenas em uma nuvem privada virtual (VPC) com base no serviço da Amazon VPC. Isso significa que você acessa o endpoint de dentro da VPC ou fora da VPC usando uma das seguintes abordagens.
Acessar o cluster de bancos de dados do Aurora dentro da VPC: habilite o acesso ao cluster de banco de dados do Aurora por meio da VPC. Você faz isso editando as regras de entrada no grupo de segurança para VPC para permitir o acesso ao cluster de banco de dados de Aurora específico. Para saber mais, incluindo como configurar sua VPC para diferentes cenários de cluster de banco de dados de Aurora, consulte Amazon Virtual Private Cloud VPCs e Amazon Aurora.
-
Acessar o cluster de banco de dados do Aurora fora da VPC: para acessar um cluster de banco de dados de Aurora fora da VPC, use o endereço de endpoint público do cluster de bancos de dados.
Para obter mais informações, consulte Solução de problemas de falha de conexão do Aurora.
Sumário
- Conectar-se aos clusters de banco de dados do Aurora com os drivers da AWS
- Como conectar-se a um cluster de bancos de dados Amazon Aurora MySQL
- Utilitários de conexão do Aurora MySQL
- Conectar-se ao Aurora MySQL com o utilitário MySQL
- Conectar-se ao Aurora MySQL com o driver JDBC da Amazon Web Services (AWS)
- Conectar-se ao Aurora MySQL com o driver Python da Amazon Web Services (AWS)
- Conectar-se ao Aurora MySQL com o driver ODBC da Amazon Web Services (AWS) para MySQL
- Conectar-se ao Aurora MySQL usando SSL
- Como conectar-se a um cluster de bancos de dados Amazon Aurora PostgreSQL
- Solução de problemas de falha de conexão do Aurora
Conectar-se aos clusters de banco de dados do Aurora com os drivers da AWS
O pacote de drivers da AWS foram projetados para comportar tempos mais rápidos de transição e de failover, além de autenticação com o AWS Secrets Manager, o AWS Identity and Access Management (IAM) e identidades federadas. Os drivers da AWS dependem do monitoramento do status do cluster de banco de dados e do conhecimento da topologia do cluster para determinar o novo gravador. Essa abordagem reduz os tempos de transição e de failover para segundos de um dígito, em comparação com dezenas de segundos para drivers de código aberto.
A tabela a seguir lista os recursos aceitos para cada um dos drivers. Como novos recursos do serviço são introduzidos, o objetivo do pacote de drivers da AWS é ter suporte integrado para esses recursos do serviço.
Atributo | Driver JDBC da AWS |
Driver Python da AWS |
Driver ODBC da AWS para MySQL |
---|---|---|---|
Suporte a failover | Sim |
Sim |
Sim |
Monitoramento aprimorado de failover | Sim |
Sim |
Sim |
Divisão de leituras/gravações | Sim |
Sim |
Não |
Gerenciamento de conexões do Aurora | Sim |
Sim |
Não |
Conexão de metadados do driver | Sim |
N/D | N/D |
Telemetria | Sim |
Sim |
Não |
Secrets Manager | Sim |
Sim |
Sim |
Autenticação do IAM | Sim |
Sim |
Sim |
Identidades federadas (AD FS) | Sim |
Sim |
Não |
Identidade federada (Okta) | Sim |
Não | Não |
Para ter mais informações sobre os drivers da AWS, consulte o driver de linguagem correspondente para o cluster de banco de dados do Aurora MySQL ou do Aurora PostgreSQL.
Como conectar-se a um cluster de bancos de dados Amazon Aurora MySQL
Para fazer a autenticação no cluster de bancos de dados Aurora MySQL, você pode usar o nome de usuário e a autenticação de senha do MySQL ou a autenticação de banco de dados do AWS Identity and Access Management (IAM). Para obter mais informações sobre como usar o nome de usuário e a autenticação de senha no MySQL, consulte Gerenciamento de contas e controle de acesso
Quando você tiver uma conexão com um cluster de bancos de dados Amazon Aurora com compatibilidade do MySQL 8.0, será possível executar os comandos SQL que forem compatíveis com o MySQL versão 8.0. O MySQL 8.0.23 é a versão mínima compatível. Para obter mais informações sobre a sintaxe SQL do MySQL 8.0, consulte o Manual de referência do MySQL 8.0
Quando você tiver uma conexão com um cluster de bancos de dados Amazon Aurora com compatibilidade do MySQL 5.7, será possível executar os comandos SQL que forem compatíveis com o MySQL versão 5.7. Para obter mais informações sobre a sintaxe de SQL do MySQL 5.7, consulte o Manual de referência do MySQL 5.7
nota
Para obter um guia útil e detalhado sobre como se conectar a um cluster de banco de dados do Amazon Aurora MySQL, você pode consultar o guia Gerenciamento de conexões do Aurora
Na visualização de detalhes de seu cluster de banco de dados, você pode encontrar o endpoint do cluster, o qual você pode usar na string de conexão do MySQL. O endpoint é composto do nome de domínio e da porta de seu cluster de banco de dados. Por exemplo, se um valor de endpoint for mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com:3306
, você especificará os seguintes valores em uma string de conexão do MySQL:
-
Para o host ou o nome de host, especifique
mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com
-
Para a porta, especifique
3306
ou o valor da porta que você usou quando criou o cluster de banco de dados
O endpoint de cluster lhe conecta à instância primária do cluster de banco de dados. Você pode realizar as operações de leitura e gravação usando o endpoint do cluster. Seu cluster de banco de dados também pode ter até 15 réplicas do Aurora que oferecem suporte para acesso somente leitura aos dados em seu cluster de banco de dados. A instância primária e cada réplica do Aurora contam com um endpoint exclusivo, independente do endpoint do cluster, e permitem que você se conecte diretamente a uma instância de banco de dados específica no cluster. O endpoint de cluster sempre aponta para a instância primária. Se a instância primária falhar e for substituída, o endpoint do cluster apontará para a nova instância primária.
Para visualizar o endpoint do cluster (endpoint de gravador), selecione Databases (Bancos de dados) no console do Amazon RDS e selecione o nome do cluster de banco de dados para mostrar os detalhes dele.
Tópicos
- Utilitários de conexão do Aurora MySQL
- Conectar-se ao Aurora MySQL com o utilitário MySQL
- Conectar-se ao Aurora MySQL com o driver JDBC da Amazon Web Services (AWS)
- Conectar-se ao Aurora MySQL com o driver Python da Amazon Web Services (AWS)
- Conectar-se ao Aurora MySQL com o driver ODBC da Amazon Web Services (AWS) para MySQL
- Conectar-se ao Aurora MySQL usando SSL
Utilitários de conexão do Aurora MySQL
Veja a seguir alguns utilitários de conexão que você pode usar:
-
Linha de comando – você pode se conectar a um cluster de bancos de dados Amazon Aurora usando ferramentas, como o utilitário da linha de comando do MySQL. Para obter mais informações sobre como usar o utilitário do MySQL, consulte mysql: o cliente de linha de comando MySQL
na documentação do MySQL. -
GUI – você pode usar o utilitário MySQL Workbench para conectar-se usando uma interface de IU. Para obter mais informações, consulte a página Download MySQL Workbench
. -
Drivers da AWS:
Conectar-se ao Aurora MySQL com o utilitário MySQL
Use o procedimento a seguir. Nele é pressuposto que você tenha configurado o cluster de banco de dados em uma sub-rede privada na VPC. Você se conecta usando uma instância do Amazon EC2 configurada de acordo com os tutoriais em Tutorial: crie um servidor Web e um cluster de banco de dados do Amazon Aurora.
nota
Esse procedimento não exige a instalação do servidor web no tutorial, mas requer a instalação do MariaDB 10.5.
Como conectar-se a um cluster de banco de dados usando o utilitário do MySQL
-
Faça login na instância do EC2 que você está usando para se conectar ao cluster de banco de dados.
Você deve ver saída semelhante a.
Last login: Thu Jun 23 13:32:52 2022 from
xxx.xxx.xxx.xxx
__| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ [ec2-user@ip-10-0-xxx.xxx
~]$ -
Digite o comando a seguir em um prompt de comando para se conectar à instância de banco de dados primária de seu cluster de banco de dados.
Para o parâmetro
-h
, substitua o nome de DNS do endpoint para sua instância primária. Para o parâmetro-u
, substitua o ID de usuário de uma conta de usuário de banco de dados.mysql -h
primary-instance-endpoint
.AWS_account
.AWS_Region
.rds.amazonaws.com -P 3306 -udatabase_user
-pPor exemplo:
mysql -h my-aurora-cluster-instance.c1xy5example.123456789012.eu-central-1.rds.amazonaws.com -P 3306 -u admin -p
-
Digite a senha do usuário do banco de dados.
Você deve ver saída semelhante ao seguinte:
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 1770 Server version: 8.0.23 Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL [(none)]>
-
Insira os comandos do SQL.
Conectar-se ao Aurora MySQL com o driver JDBC da Amazon Web Services (AWS)
O driver JDBC da Amazon Web Services (AWS) foi projetado como um wrapper JDBC avançado. Esse wrapper complementa e amplia a funcionalidade de um driver JDBC existente para ajudar as aplicações a aproveitar os recursos de bancos de dados em clusters, como o Aurora MySQL. O driver é compatível de forma intercambiável com os drivers MySQL Connector/J e MariaDB Connector/J da comunidade.
Para instalar o driver JDBC da AWS, anexe o arquivo .jar do driver JDBC da AWS (localizado na aplicação CLASSPATH
) e mantenha referências ao respectivo driver da comunidade. Atualize o respectivo prefixo do URL de conexão da seguinte forma:
-
jdbc:mysql://
parajdbc:aws-wrapper:mysql://
-
jdbc:mariadb://
parajdbc:aws-wrapper:mariadb://
Consulte mais informações sobre o driver JDBC da AWS e siga as instruções para usá-lo em Amazon Web Services (AWS) JDBC Driver GitHub repository
nota
A versão 3.0.3 do utilitário MariaDB Connector/J elimina a compatibilidade com clusters de banco de dados do Aurora, por isso é altamente recomendável mudar para o driver JDBC da AWS.
Conectar-se ao Aurora MySQL com o driver Python da Amazon Web Services (AWS)
O driver Python da Amazon Web Services (AWS) foi projetado como um wrapper Python avançado. Esse wrapper é complementar e amplia a funcionalidade do driver Psycopg de código aberto. O driver Python da AWS é compatível com as versões 3.8 e posterior do Python. É possível instalar o pacote aws-advanced-python-wrapper
usando o comando pip
, bem como os pacotes de código aberto psycopg
.
Para ter mais informações sobre o driver Python da AWS e instruções completas para usá-lo, consulte Amazon Web Services (AWS) Python Driver GitHub repository
Conectar-se ao Aurora MySQL com o driver ODBC da Amazon Web Services (AWS) para MySQL
O Driver ODBC da AWS para MySQL é um driver de cliente projetado para a alta disponibilidade do Aurora MySQL. O driver pode existir junto com o driver MySQL Connector/ODBC e é compatível com os mesmos fluxos de trabalho.
Para ter mais informações sobre o driver ODBC da AWS para MySQL e instruções completas de uso e instalação, consulte o diretório do GitHub Amazon Web Services (AWS) ODBC Driver for MySQL
Conectar-se ao Aurora MySQL usando SSL
Você pode usar a criptografia SSL em conexões de uma instância de banco de dados Aurora MySQL. Para obter mais informações, consulte Conexões do TLS com clusters de banco de dados do Aurora MySQL.
Para conectar-se usando SSL, use o utilitário do MySQL conforme descrito no seguinte procedimento. Se estiver usando uma autenticação de banco de dados do IAM, você deverá usar uma conexão SSL. Para obter mais informações, consulte Autenticação do banco de dados do IAM.
nota
Para conectar-se ao endpoint do cluster usando SSL, o utilitário de conexão do cliente deve oferecer suporte a Subject Alternative Names (SAN). Se o utilitário de conexão de cliente não oferecer suporte a SAN, é possível conectar-se diretamente a instâncias em seu cluster de banco de dados Aurora. Para obter mais informações sobre endpoints do Aurora, consulte Conexões de endpoints do Amazon Aurora.
Para conectar-se a um cluster de banco de dados com SSL usando o utilitário do MySQL
-
Baixe a chave pública do certificado de assinatura do Amazon RDS.
Para obter informações sobre como baixar certificados, consulte Usar SSL/TLS para criptografar uma conexão com um cluster de banco de dados.
-
Digite o seguinte comando em um prompt de comando para se conectar à instância primária de um cluster de banco de dados com SSL usando o utilitário do MySQL. Para o parâmetro
-h
, substitua o nome de DNS do endpoint para sua instância primária. Para o parâmetro-u
, substitua o ID de usuário de uma conta de usuário de banco de dados. Para o parâmetro--ssl-ca
, substitua o nome do arquivo de certificado SSL, conforme apropriado. Digite a senha do usuário mestre quando solicitado.mysql -h mycluster-primary.123456789012.us-east-1.rds.amazonaws.com -u
admin_user
-p --ssl-ca=[full path]
global-bundle.pem --ssl-verify-server-cert
Você deve ver saída semelhante a.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 350
Server version: 8.0.26-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Para obter instruções gerais sobre como criar strings de conexão do RDS for MySQL e localizar a chave pública para as conexões SSL, consulte Conexão a uma instância de banco de dados executando o mecanismo de banco de dados do MySQL.
Como conectar-se a um cluster de bancos de dados Amazon Aurora PostgreSQL
Você pode conectar-se a uma instância de banco de dados no cluster de banco de dados Amazon Aurora PostgreSQL usando as mesmas ferramentas que você usa para se conectar a um banco de dados PostgreSQL. Como parte disso, você pode usar a mesma chave pública para conexões Secure Sockets Layer (SSL). Você pode usar as informações de endpoint e da porta da instância primária ou réplicas do Aurora em seu cluster de banco de dados PostgreSQL do Aurora na string de conexão de qualquer script, utilitário ou aplicativo que se conecta a uma instância de banco de dados PostgreSQL. Na string de conexão, especifique o endereço DNS da instância primária ou do endpoint da réplica do Aurora como o parâmetro de host. Especifique o número da porta do endpoint como o parâmetro da porta.
Quando você tiver uma conexão com uma instância de banco de dados no cluster de bancos de dados Amazon Aurora PostgreSQL, será possível executar qualquer comando SQL compatível com o PostgreSQL.
Na exibição de detalhes do seu cluster de bancos de dados Aurora PostgreSQL, é possível encontrar o nome, o status, o tipo e o número de porta do endpoint do cluster. Utilize esse endpoint e esse número de porta na sua string de conexão do PostgreSQL. Por exemplo, se um valor de endpoint for mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com
, você especificará os seguintes valores em uma string de conexão do PostgreSQL:
-
Para o host ou o nome de host, especifique
mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com
-
Para a porta, especifique
5432
ou o valor da porta que você usou quando criou o cluster de banco de dados
O endpoint de cluster lhe conecta à instância primária do cluster de banco de dados. Você pode realizar as operações de leitura e gravação usando o endpoint do cluster. Seu cluster de banco de dados também pode ter até 15 réplicas do Aurora que oferecem suporte para acesso somente leitura aos dados em seu cluster de banco de dados. Cada instância de banco de dados no cluster do Aurora (ou seja, a instância primária e cada réplica do Aurora) conta com um endpoint exclusivo, independente do endpoint do cluster. Esse endpoint exclusivo permite que você conecte a uma instância de banco de dados específica no cluster diretamente. O endpoint de cluster sempre aponta para a instância primária. Se a instância primária falhar e for substituída, o endpoint do cluster apontará para a nova instância primária.
Para visualizar o endpoint do cluster (endpoint de gravador), selecione Databases (Bancos de dados) no console do Amazon RDS e selecione o nome do cluster de banco de dados para mostrar os detalhes dele.
Utilitários de conexão do Aurora PostgreSQL
Veja a seguir alguns utilitários de conexão que você pode usar:
-
Linha de comando: você pode se conectar a clusters de bancos de dados do Aurora PostgreSQL usando ferramentas, como psql, o terminal interativo do PostgreSQL. Para obter mais informações sobre como usar o terminal interativo do PostgreSQL, consulte psql
na documentação do PostgreSQL. -
GUI: você pode usar o utilitário pgAdmin para se conectar a clusters de banco de dados do Aurora PostgreSQL usando uma interface do usuário. Para obter mais informações, consulte a página Download
do site pgAdmin. -
Drivers da AWS:
Conectar-se ao Aurora PostgreSQL com o driver JDBC da Amazon Web Services (AWS)
O driver JDBC da Amazon Web Services (AWS) foi projetado como um wrapper JDBC avançado. Esse wrapper complementa e amplia a funcionalidade de um driver JDBC existente para ajudar as aplicações a aproveitar os recursos de bancos de dados em clusters, como o Aurora PostgreSQL. O driver é compatível de forma intercambiável com o driver pgJDBC.
Para instalar o driver JDBC da AWS, anexe o arquivo .jar do driver JDBC da AWS (localizado na aplicação CLASSPATH
) e mantenha referências ao driver pgJDBC da comunidade. Atualize o prefixo do URL de conexão de jdbc:postgresql://
para jdbc:aws-wrapper:postgresql://
.
Consulte mais informações sobre o driver JDBC da AWS e siga as instruções para usá-lo em Amazon Web Services (AWS) JDBC Driver GitHub repository
Conectar-se ao Aurora PostgreSQL com o driver Python da Amazon Web Services (AWS)
O driver Python da Amazon Web Services (AWS) foi projetado como um wrapper Python avançado. Esse wrapper é complementar e amplia a funcionalidade do driver Psycopg de código aberto. O driver Python da AWS é compatível com as versões 3.8 e posterior do Python. É possível instalar o pacote aws-advanced-python-wrapper
usando o comando pip
, bem como os pacotes de código aberto psycopg
.
Para ter mais informações sobre o driver Python da AWS e instruções completas para usá-lo, consulte Amazon Web Services (AWS) Python Driver GitHub repository
Solução de problemas de falha de conexão do Aurora
As causas comuns de falhas de conexão a um novo cluster de bancos de dados Aurora são as seguintes:
-
O grupo de segurança na VPC não permite o acesso: sua VPC precisa permitir conexões de seu dispositivo ou de uma instância do Amazon EC2 por meio da configuração adequada do grupo de segurança na VPC. Para resolver, modifique as regras de entrada do grupo de segurança da VPC para permitir conexões. Para ver um exemplo, consulte Tutorial: Criar uma VPC para usar com um cluster de banco de dados (somente IPv4).
-
Porta bloqueada por regras de firewall – Verifique o valor da porta configurada para o cluster de bancos de dados Aurora. Se uma regra de firewall bloquear essa porta, você poderá recriar a instância usando uma porta diferente.
-
IAMConfiguração incompleta ou incorreta – Se você criou sua instância de bancos de dados Aurora para usar a autenticação baseada em IAM–, verifique se ela está configurada corretamente. Para obter mais informações, consulte Autenticação do banco de dados do IAM.
Para obter mais informações sobre como solucionar problemas Aurora com a conexão, consulte Não é possível conectar-se à instância de banco de dados do Amazon RDS.