Como conectar-se a um cluster de bancos de dados Amazon Aurora - Amazon Aurora

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. Os clusters de bancos de dados Amazon Aurora devem ser criados em uma virtual private cloud (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.

  • Acesse o cluster de bancos de dados Amazon Aurora dentro da VPC – Habilitar acesso ao cluster de banco de dados de Amazon 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.

  • Acesse o cluster de banco de dados de Amazon Aurora fora da VPC – Para acessar um cluster de banco de dados de Amazon Aurora fora da VPC, use o endereço de endpoint público do cluster de bancos de dados Amazon Aurora.

Para ter mais informações, consulte Solução de problemas de falha de conexão do Aurora.

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 na documentação do MySQL. Para obter mais informações sobre como usar autenticação de banco de dados do IAM, consulte Autenticação do banco de dados do IAM.

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. Para obter informações sobre as limitações aplicadas ao Aurora MySQL versão 3, consulte Comparação do Aurora MySQL versão 3 e do MySQL 8.0 Community Edition.

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. Para obter informações sobre as limitações aplicadas ao Aurora MySQL 5.7, consulte Aurora MySQL versão 2 compatível com o 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.


                Endpoints do Amazon Aurora.

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.

  • Aplicações: é possível usar o driver JDBC da Amazon Web Services (AWS) para conectar as aplicações clientes a um cluster de banco de dados do Aurora MySQL. Para ter mais informações, consulte Conectar com o driver JDBC da Amazon Web Services (AWS).

Conectar com o Aurora MySQL usando 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
  1. 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 ao seguinte:

    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 ~]$
  2. 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 -u database_user -p

    Por exemplo:

    mysql -h my-aurora-cluster-instance.c1xy5example.123456789012.eu-central-1.rds.amazonaws.com -P 3306 -u admin -p
  3. 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)]>
  4. Insira os comandos do SQL.

Conectar com o driver JDBC da Amazon Web Services (AWS)

O driver JDBC da Amazon Web Services (AWS) foi reformulado 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 tem compatibilidade drop-in com o driver MySQL Connector/J. Para instalar ou fazer upgrade do conector, substitua o arquivo .jar do conector MySQL (localizado na aplicação CLASSPATH) pelo arquivo .jar do driver JDBC da AWS e atualize o prefixo do URL de conexão de jdbc:mysql:// para jdbc:aws-wrapper:mysql://.

O driver JDBC da AWS aproveita ao máximo os recursos de failover do Aurora MySQL. No caso de um failover, o driver consulta o cluster diretamente em busca da nova topologia em vez de usar a resolução DNS. Ao consultar o cluster diretamente, o driver consegue se conectar ao novo cluster primário com maior rapidez, de forma confiável e previsível. Essa abordagem ajuda a evitar possíveis atrasos causados por resolução de DNS.

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.

O driver JDBC da AWS é compatível com a autenticação de banco de dados do IAM. Consulte mais informações em AWS IAM Authentication Plugin no repositório do GitHub do driver JDBC da AWS. Para ter mais informações sobre a autenticação do banco de dados do IAM, consulte Autenticação do banco de dados do IAM.

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. O driver JDBC da AWS oferece uma velocidade de failover aprimorada para clusters de banco de dados do Aurora MySQL.

O driver JDBC para MySQL da AWS chegará ao fim do suporte em 25 de julho de 2024. Recomendamos que você comece a usar o novo driver JDBC da AWS antes dessa data. Consulte mais informações em Release schedule and maintenance policy no Amazon Web Services JDBC Driver for MySQL GitHub repository.

Conexão com o SSL para Aurora MySQL

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 Usar 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 Gerenciamento de conexões do Amazon Aurora.

Para conectar-se a um cluster de banco de dados com SSL usando o utilitário do MySQL

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

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


                Detalhes do Amazon Aurora

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.

  • Aplicações: você pode usar o AWS JDBC Driver para PostgreSQL para conectar as aplicações aos clusters de banco de dados do Aurora PostgreSQL. Para obter mais informações, consulte Conectar-se ao AWS JDBC Driver para PostgreSQL.

Conectar-se ao AWS JDBC Driver para PostgreSQL

O AWS JDBC Driver para PostgreSQL é um wrapper de cliente projetado para ajudar você a aproveitar ao máximo os recursos de alta disponibilidade do Aurora PostgreSQL. Para ter mais informações sobre o Driver JDBC para PostgreSQL da AWS e as instruções completas para usá-lo, consulte o Repositório do GitHub do Driver JDBC para PostgreSQL da AWS.

O AWS JDBC Driver para PostgreSQL estende o driver pgJDBC da comunidade. Ele foi projetado para aproveitar ao máximo as funcionalidades de failover do Aurora PostgreSQL. No caso de um failover, o AWS JDBC Driver para PostgreSQL consulta o cluster diretamente em busca da nova topologia em vez de usar a resolução do DNS. Ao consultar o cluster diretamente, o AWS JDBC Driver para PostgreSQL consegue se conectar ao novo cluster primário com maior rapidez, de forma confiável e previsível, evitando possíveis atrasos causados pela resolução do DNS.

O AWS JDBC Driver para PostgreeSQL é compatível com a autenticação do banco de dados do IAM. Para ter mais informações sobre como usar esses mecanismos de autenticação com o driver, consulte Plug-in de autenticação do AWS IAM e Plug-in do AWS Secrets Manager no repositório do AWS JDBC Driver para PostgreSQL no GitHub.

Para ter mais informações sobre a autenticação do banco de dados do IAM, consulte Autenticação do banco de dados do IAM. Para obter mais informações sobre o Secrets Manager, consulte o Guia do usuário do AWS Secrets Manager Secrets Manager.

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.