Quero me conectar à minha instância de banco de dados do Amazon Relational Database Service (Amazon RDS) que está em uma sub-rede pública ou privada de uma Amazon Virtual Private Cloud (Amazon VPC).
Breve descrição
Ao executar instâncias de banco de dados do RDS na sub-rede pública ou privada de uma VPC, é possível ter problemas de conexão pelos seguintes motivos:
- Configuração incorreta da VPC na instância de banco de dados
- Problemas de configuração ou conectividade incorretos no cliente a partir do qual você se conecta
Para resolver esses problemas, conclua a resolução do seu ambiente.
Resolução
Observação: se você receber erros 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.
Solucione problemas de conexão com uma instância de banco de dados em uma sub-rede pública pela internet a partir do seu computador local
Se a propriedade Publicamente acessível da sua instância de banco de dados estiver definida como Não, podem ocorrer problemas de conexão. Para verificar se sua instância de banco de dados está acessível publicamente, conclua as seguintes etapas:
- Abra o console do Amazon RDS.
- No painel de navegação, selecione Bancos de dados.
- Selecione sua instância de banco de dados.
- Analise a seção Conectividade e segurança da instância.
-ou-
Execute o comando describe-db-instances da AWS CLI:
aws rds describe-db-instances --db-instance-id example_instance_id
Observação: substitua example_instance_id pelo ID da sua instância de banco de dados.
Para atualizar a propriedade Publicamente acessível da sua instância de banco de dados, conclua as seguintes etapas:
- Abra o console do Amazon RDS.
- No painel de navegação, clique em Bancos de dados e selecione sua instância de banco de dados.
- Clique em Modificar.
- Em Conectividade, amplie a seção Configuração adicional e, em seguida, selecione Publicamente acessível.
- Selecione Continuar.
- Selecione Modificar instância de banco de dados.
Observação: o Amazon RDS aplica imediatamente a alteração, mesmo que você não selecione a opção Aplicar imediatamente. O tempo de inatividade só ocorre se você tiver uma ação de manutenção pendente que exija tempo de inatividade e você selecionar Aplicar imediatamente.
Se você ativou a propriedade Publicamente acessível, mas ainda não consegue se conectar à sua instância, verifique os seguintes detalhes:
- Verifique se você anexou um gateway da internet à sua VPC.
- Certifique-se de que as regras de entrada para o grupo de segurança da sua instância de banco de dados permitem conexões do seu endereço IP de origem.
Solucione problemas de conexão com uma instância de banco de dados em uma sub-rede privada do seu computador local
Para resolver esse problema, use um dos métodos a seguir que melhor se adequa ao seu caso de uso:
Para mudar para uma sub-rede pública, conclua as seguintes etapas:
-
Abra o console do Amazon RDS.
-
No painel de navegação, clique em Bancos de dados e selecione sua instância de banco de dados.
-
Na seção Conectividade e segurança, copie o endpoint da instância de banco de dados.
-
Execute um nslookup para o endpoint da instância de banco de dados a partir de uma instância do EC2 dentro da VPC, semelhante ao exemplo a seguir:
nslookup myexampledb.xxxx.us-east-1.rds.amazonaws.com
Server: xx.xx.xx.xx
Address: xx.xx.xx.xx#53
Exemplo de saída:
Non-authoritative answer:
Name: myexampledb.xxxx.us-east-1.rds.amazonaws.com
Address: 172.31.xx.x
-
Depois de ter o endereço IP privado da sua instância de banco de dados, relacione o endereço IP privado a uma sub-rede específica na VPC. A sub-rede da VPC é baseada no intervalo CIDR da sub-rede e no endereço IP privado.
-
Abra o console da Amazon VPC.
-
No painel de navegação, selecione Sub-redes.
-
Selecione a sub-rede associada à instância de banco de dados que você encontrou na etapa 5.
-
No painel Descrição, selecione a Tabela de rotas.
-
Clique em Ações e, em seguida, selecione Editar rotas.
-
Selecione Adicionar rota. Para tráfego IPv4 e IPv6, na Caixa de destino, insira as rotas para sua rede externa ou on-premises. Em seguida, selecione o ID do gateway da internet na lista Destino.
Observação: certifique-se de que a regra do grupo de segurança de entrada para sua instância restringe tráfego para os endereços da sua rede externa ou on-premises.
-
Clique em Salvar.
Se a instância de banco de dados ainda não estiver acessível, confirme se a instância de banco de dados está Publicamente acessível. Para obter mais informações, consulte a seção anterior Solucione problemas de conexão com uma instância de banco de dados em uma sub-rede pública pela internet a partir do seu computador local.
Solucionar problemas de acesso à instância de banco de dados por uma instância do EC2 de uma VPC diferente
Se não for possível acessar sua instância de banco de dados a partir de uma instância do EC2 em uma VPC diferente, crie uma conexão de emparelhamento da VPC. Uma conexão de emparelhamento da VPC usa endereços IP privados para permitir que as VPCs se comuniquem.
Conclua as etapas a seguir:
- Crie uma conexão de emparelhamento da VPC.
Observação: se as VPCs estiverem na mesma conta da AWS, certifique-se de que os blocos CIDR IPv4 não se sobreponham. Para obter mais informações, consulte Limitações de emparelhamento de VPC.
- Aceite a conexão.
- Atualize as duas tabelas de rotas.
- Atualize seus grupos de segurança para fazer referência a grupos da VPC emparelhada.
- Ative o suporte à resolução de DNS para sua conexão de emparelhamento da VPC.
- Na instância do EC2, use um utilitário de rede para testar a conexão de emparelhamento da VPC semelhante ao exemplo a seguir:
nc -zv hostname port
Observação: substitua nome do host pelo seu nome do host e porta pela sua porta.
Se a conexão estiver funcionando, a saída será semelhante à seguinte:
nc -zv myexampledb.xxxx.us-east-1.rds.amazonaws.com 5439
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif en0
src xx.xxx.xxx.xx port 53396
dst xx.xxx.xxx.xxx port 5439
rank info not available
TCP aux info available
Connection to myexampledb.xxxx.us-east-1.rds.amazonaws.com port 5439 [tcp/*] succeeded!
Informações relacionadas
Cenários para acessar uma instância de banco de dados em uma VPC
Trabalhar com uma instância de banco de dados em uma VPC