Como soluciono problemas ao me conectar ao meu cluster de banco de dados compatível com o PostgreSQL do Aurora?
Quero solucionar problemas de conexão com meu cluster de banco de dados da edição do Amazon Aurora compatível com PostgreSQL.
Resolução
Observação: se você receber mensagens de erro ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Verifique se você configurou os parâmetros de conexão corretos
Conclua as etapas a seguir:
- Abra o console do Amazon Relational Database Service (Amazon RDS).
- No painel de navegação, selecione Bancos de dados.
- Selecione seu cluster de banco de dados compatível com o PostgreSQL do Aurora.
- Na guia Conectividade e segurança, observe os seguintes valores:<br id=hardline_break/> Endpoint de gravador ou leitor<br id=hardline_break/> Número de porta padrão 5432
- Verifique se você tem o nome do banco de dados, nome de usuário e senha corretos.
Para testar sua conexão, execute o seguinte comando psql:
psql -h your-cluster-endpoint -p 5432 -U your-username -d your-database-name
Observação: substitua your-cluster-endpoint pelo endpoint do seu cluster, your-username pelo nome de usuário do seu banco de dados e your-database-name pelo nome do seu banco de dados.
Teste a conectividade da rede
Para verificar se seu cliente pode acessar o endpoint de cluster de banco de dados compatível com o PostgreSQL do Aurora, execute os seguintes comandos.
Use telnet
Em seguida, execute o seguinte comando telnet:
telnet your-cluster-endpoint 5432
Observação: substitua your-cluster-endpoint pelo endpoint do seu cluster.
Se a conexão for bem-sucedida, a saída será semelhante à seguinte:
Trying xxx.xxx.xxx.xxx... Connected to your-cluster-endpoint.
Use netcat
Se o telnet não estiver disponível, execute o seguinte comando netcat:
nc -zv your-cluster-endpoint 5432
Observação: substitua your-cluster-endpoint pelo endpoint do seu cluster.
Se a conexão for bem-sucedida, a saída será semelhante à seguinte:
Connection to your-cluster-endpoint 5432 port [tcp/postgresql] succeeded!
Se os comandos anteriores expirarem ou falharem, você tem um problema de conectividade de rede. Verifique se você configurou as regras de entrada corretas do grupo de segurança.
Verifique as regras de entrada do seu grupo de segurança
Conclua as etapas a seguir:
- Abra o console do Amazon RDS.
- No painel de navegação, selecione Bancos de dados.
- Selecione seu cluster de banco de dados compatível com o PostgreSQL do Aurora.
- Na seção Conectividade e segurança, anote o nome do grupo de segurança em Grupos de segurança da VPC.
- Abra o console da Amazon Virtual Private Cloud (Amazon VPC).
- No painel de navegação, clique em Grupos de segurança.
- Selecione seu grupo de segurança.
- Clique em Regras de entrada.
- Confirme se há uma regra com as seguintes configurações:<br id=hardline_break/> Type é PostgreSQL ou Custom TCP.<br id=hardline_break/> Port é 5432.<br id=hardline_break/> Source é o endereço IP do seu cliente ou o bloco CIDR apropriado.
Para usar o console da Amazon VPC para adicionar uma regra de entrada ao seu grupo de segurança, consulte Configurar regras de grupo de segurança.
Para usar a AWS CLI para adicionar uma regra de entrada, execute o seguinte comando authorize-security-group-ingress:
aws ec2 authorize-security-group-ingress \ --group-id your-group-id \ --protocol tcp \ --port 5432 \ --cidr your-IP-address/32 \ --region your-region
Observação: substitua your-group-id pelo ID do seu grupo de segurança, your-IP-address/32 pelo seu endereço IP ou bloco CIDR e your-region pela sua região da AWS.
Verifique as regras de entrada da ACL da sua rede VPC
Para verificar suas regras de ACL da rede, conclua as seguintes etapas:
- Abra o console da Amazon VPC.
- No painel de navegação, clique em ACLs da rede.
- Selecione a ACL da rede associada à sua sub-rede de banco de dados.
- Clique na guia Regras de entrada.
- Confirme se há uma regra com as seguintes configurações:<br id=hardline_break/> Type é PostgreSQL (5432) ou All Traffic.<br id=hardline_break/> Source é o intervalo de endereços IP do seu cliente ou 0.0.0.0/0.
Para adicionar uma regra de ACL da rede, consulte Etapa 2: Adicionar regras.
Verifique sua configuração de sub-rede e de roteamento
Para verificar sua configuração de sub-rede, conclua as seguintes etapas:
- Abra o console do Amazon RDS.
- No painel de navegação, selecione Bancos de dados.
- Selecione seu cluster de banco de dados compatível com o PostgreSQL do Aurora.
- Na guia Conectividade e segurança, anote o nome do grupo de sub-redes de banco de dados.
- Selecione o link do grupo de sub-redes.
- Verifique se as sub-redes estão nas Zonas de disponibilidade e na VPC corretas.
Para verificar a configuração da sua tabela de rotas, consulte Determinar a tabela de rotas para uma sub-rede.
Verifique suas permissões no nível do banco de dados
Verifique se o usuário do banco de dados tem as permissões necessárias para se conectar ao banco de dados.
Conecte-se como usuário principal
Execute o seguinte comando psql:
psql -h your-cluster-endpoint -p 5432 -U primary-username -d postgres
Observação: substitua your-cluster-endpoint pelo endpoint do seu cluster e primary-username pelo seu nome de usuário principal.
Verifique as permissões de usuário
Depois de se conectar como usuário principal, execute as seguintes consultas SQL para verificar as permissões do usuário.
Para listar todos os usuários do banco de dados, execute o seguinte comando:
SELECT usename, usesuper, usecreatedb, useconnlimit FROM pg_user ORDER BY usename;
Para verificar as permissões específicas do usuário, execute o seguinte comando:
SELECT usename, usesuper, usecreatedb, useconnlimit FROM pg_user WHERE usename = 'your-username';
Observação: substitua your-username pelo nome de usuário do usuário cujas permissões você deseja verificar.
Para listar bancos de dados e seus proprietários, execute o seguinte comando:
SELECT datname, datowner, datacl FROM pg_database WHERE datname NOT IN ('template0', 'template1');
Crie ou modifique permissões de usuário
Se o usuário não existir ou não tiver permissões suficientes, execute os comandos a seguir.
Para criar um novo usuário, execute o seguinte comando:
CREATE USER your_username WITH PASSWORD 'your_password';
Observação: substitua your_username pelo nome de usuário do usuário que você está criando e your_password por uma senha segura.
Para conceder permissão ao usuário para se conectar a um banco de dados, execute o seguinte comando:
GRANT CONNECT ON DATABASE your_database_name TO your_username;
Observação: substitua your_database_name pelo nome do seu banco de dados e your_username pelo nome de usuário do usuário ao qual você está concedendo permissão.
Para conceder permissão ao usuário para usar um esquema, execute o seguinte comando:
GRANT USAGE ON SCHEMA public TO your_username;
Observação: substitua your_username pelo nome de usuário do usuário ao qual você está concedendo permissão.
Para conceder permissão ao usuário para uma tabela, execute o seguinte comando:
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO your_username;
Observação: substitua your_username pelo nome de usuário do usuário ao qual você está concedendo permissão.
Monitore cotas de conexão
Verifique se seu cluster de banco de dados atingiu a cota máxima de conexão.
Verifique as conexões atuais
Conecte-se ao seu cluster de banco de dados e execute as seguintes consultas SQL.
Para verificar a contagem atual de conexões, execute o seguinte comando:
SELECT count(*) as current_connections FROM pg_stat_activity WHERE state = 'active';
Para verificar a configuração máxima de conexões, execute o seguinte comando:
SHOW max_connections;
Para visualizar as conexões ativas por usuário, execute o seguinte comando:
SELECT usename, count(*) as connection_count FROM pg_stat_activity GROUP BY usename ORDER BY connection_count DESC;
Modifique o parâmetro max_connections
Para modificar o parâmetro max_connections, consulte Modificar parâmetros em um grupo de parâmetros do cluster de banco de dados no Amazon Aurora.
Teste conexões SSL/TLS
O cluster compatível com o PostgreSQL do Aurora oferece suporte a conexões criptografadas. Teste as conexões criptografadas e não criptografadas.
Teste sem SSL
Para testar sua conexão sem SSL, execute o seguinte comando psql:
psql "host=your-cluster-endpoint port=5432 dbname=your-database user=your-username sslmode=disable"
Observação: substitua your-cluster-endpoint pelo endpoint do seu cluster, your-database pelo nome do seu banco de dados e your-username pelo seu nome de usuário.
Teste com SSL
Para testar sua conexão com SSL, execute o seguinte comando psql:
psql "host=your-cluster-endpoint port=5432 dbname=your-database user=your-username sslmode=require"
Observação: substitua your-cluster-endpoint.cluster pelo endpoint do seu cluster, your-database pelo nome do seu banco de dados e your-username pelo seu nome de usuário.
Baixe e use o certificado CA do RDS
Para baixar o certificado da autoridade de certificação (CA) do RDS, execute o seguinte comando wget:
wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
Para usar o certificado, execute o seguinte comando psql:
psql "host=your-cluster-endpoint port=5432 dbname=your-database user=your-username sslmode=verify-full sslrootcert=global-bundle.pem"
Observação: substitua your-cluster-endpoint pelo endpoint do seu cluster, your-database pelo nome do seu banco de dados e your-username pelo seu nome de usuário.
Solucione problemas de autenticação do banco de dados do IAM
Se você usa a autenticação de banco de dados do AWS Identity and Access Management (AWS IAM), conclua as etapas a seguir.
Gere um token de autenticação
Para gerar um token de autenticação, execute o seguinte comando generate-db-auth-token da AWS CLI:
aws rds generate-db-auth-token \ --hostname your-cluster-endpoint \ --port 5432 \ --region your-region \ --username your-iam-username
Observação: substitua your-cluster-endpoint pelo endpoint do seu cluster, your-region pela sua região e your-iam-username pelo seu nome de usuário do banco de dados do IAM.
Use a autenticação do IAM para se conectar
Execute o seguinte comando psql:
psql "host=your-cluster-endpoint port=5432 dbname=your-database user=your-iam-username password=your-generated-token"
Observação: substitua your-cluster-endpoint pelo endpoint do seu cluster, your-database pelo nome do seu banco de dados e your-iam-username pelo nome de usuário habilitado para IAM. Além disso, substitua your-generated-token pelo token que você gerou.
Verifique as permissões da política do IAM
Certifique-se de anexar a seguinte política ao usuário ou ao perfil do IAM:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:region:account-id:dbuser:cluster-resource-id/your-iam-username" ] } ] }
Observação: substitua region pela sua região, account-id pelo ID da sua conta da AWS, cluster-resource-id pelo ID do recurso do cluster de banco de dados e your-iam-username pelo nome de usuário do banco de dados do IAM.
Para solucionar outros problemas com sua conexão, consulte Solucionar problemas de conexões com a sua instância RDS for PostgreSQL.
Informações relacionadas
Controle o tráfego para seus recursos da AWS usando grupos de segurança
Controlar o tráfego da sub-rede com listas de controle de acesso à rede
- Tópicos
- Database
- Idioma
- Português

Conteúdo relevante
- feita há um ano
- feita há 7 meses
- feita há 8 meses
AWS OFICIALAtualizada há 8 meses