Quero solucionar problemas com os endereços IP que o Amazon Relational Database Services (Amazon RDS) atribui às minhas instâncias de banco de dados.
Resolução
Quando o Amazon RDS cria uma instância de banco de dados em uma nuvem privada virtual (VPC), ele atribui uma interface de rede à sua instância de banco de dados. Com base em como você configura sua instância, o Amazon RDS atribui um endereço IP privado ou público.
Eu selecionei a configuração de acesso público, mas o Amazon RDS não atribuiu um endereço IP público à instância de banco de dados
Se as sub-redes em seu grupo de sub-redes de banco de dados forem privadas, o Amazon RDS não atribuirá à sua instância de banco de dados um endereço IP público.
Para solucionar esse problema, realize as etapas a seguir:
- Abra o console do Amazon RDS.
- No painel de navegação, escolha Grupos de sub-redes.
- Selecione o grupo de sub-redes ao qual a instância de banco de dados está associada.
Observação: É possível visualizar os grupos de sub-redes com o ID da VPC e os IDs de sub-rede associados.
- Abra o console da Amazon Virtual Private Cloud (Amazon VPC).
- No painel de navegação, escolha Gateways da internet.
- Verifique se sua VPC está conectada a um gateway da internet.
Observação: Se sua VPC não estiver conectada a um gateway da internet, crie e anexe um à sua VPC.
- No painel de navegação, selecione Tabelas de rotas.
- Escolha a tabela de rotas associada à sua VPC.
- Escolha a guia Associações de sub-rede e verifique se todas as sub-redes em seu grupo de sub-redes de banco de dados estão anexadas à tabela de rotas.
Observação: se as sub-redes não estiverem associadas à tabela de rotas, escolha Editar associações de sub-redes. Selecione a sub-rede que você deseja associar à tabela de rotas.
- Escolha a guia Rotas. Verifique se todas as sub-redes em seu grupo de sub-redes de banco de dados têm 0.0.0.0/0 no campo Destino e o ID do gateway da internet no campo Destino.
Observação: Se as sub-redes tiverem valores diferentes para os campos Destino e Alvo, modifique a rota para incluir os valores anteriores.
- Abra o console do Amazon RDS.
- No painel de navegação, selecione Bancos de dados.
- Selecione sua instância de banco de dados e, em seguida, Modificar.
- Em Conectividade, amplie a seção Configuração adicional e, em seguida, selecione Acessível ao público.
- Selecione Continuar.
- Selecione Modificar instância de banco de dados.
Observação: um grupo de sub-redes que inclui uma combinação de sub-redes públicas e privadas pode causar problemas de conectividade após um failover. Por exemplo, em uma configuração de zona de multidisponibilidade, problemas de conectividade podem ocorrer quando sua instância primária usa uma sub-rede pública e sua secundária usa uma sub-rede privada.
Quero encontrar as informações de conexão da minha instância de banco de dados do Amazon RDS
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.
Quando você tenta se conectar à sua instância de banco de dados a partir de recursos dentro da mesma VPC, seu endpoint do Amazon RDS é automaticamente resolvido para o endereço IP privado. Quando você se conecta à sua instância de banco de dados de fora da VPC ou da internet, o endpoint é resolvido para um endereço IP público.
Para informações sobre conexão, use o console do Amazon RDS, execute o comando describe-db-instances da AWS CLI ou execute a API do Amazon RDS DescribeDBInstances.
Ou execute um dos comandos a seguir:
dig example-rds-endpoint
-ou-
nslookup example-rds-endpoint
Observação: substitua example-rds-endpoint pelo seu endpoint.
Ao executar o comando nslookup para obter o endpoint do Amazon RDS, você vê uma saída semelhante aos exemplos a seguir.
Saída de uma instância do Amazon Elastic Compute Cloud (Amazon EC2) na mesma VPC que é resolvida para um endereço IP privado:
[ec2-user@ip-172-xx-xx-xx ~] nslookup myoracledb.abcd123.region.rds.amazonaws.com
Server: 172.16.0.0
Address: 172.31.255.255#53
Non-authoritative answer: myoracledb.abcd123.region.rds.amazonaws.com canonical name = ec2-3-232-189-42.compute-1.amazonaws.com.
Name: ec2-3-232-189-42.compute-1.amazonaws.com
Address: 172.31.8.27
Saída de uma instância do Amazon EC2 em uma VPC diferente que é resolvida para o endereço IP público:
[ec2-user@ip-172-xx-xx-xx ~] nslookup myoracledb.abcd123.region.rds.amazonaws.com
Server: 192.0.2.0
Address: 192.0.2.255#53
Non-authoritative answer: myoracledb.abcd123.region.rds.amazonaws.com canonical name = ec2-3-232-189-42.compute-1.amazonaws.com.
Name: ec2-3-232-189-42.compute-1.amazonaws.com
Address: 3.232.189.42
Os endereços IP das minhas instâncias de banco de dados não são consistentes
O endereço IP da sua instância de banco de dados do Amazon RDS pode mudar nas seguintes situações:
- Você interrompe e reinicia a instância de banco de dados.
Observação: quando você reinicializa a instância de banco de dados, o endereço IP não muda.
- O Amazon RDS substitui o host subjacente devido a uma falha na instância de banco de dados ou atualização da classe da instância de banco de dados.
- O Amazon RDS realiza manutenção de hardware na instância de banco de dados.
- A instância de banco de dados está em um ambiente de zona de multidisponibilidade e ocorreu um failover.
- O sistema operacional (SO) da instância de banco de dados passou por patches de software.
- Você usa uma reinicialização com failover para iniciar um failover manual da instância de banco de dados.
- O mecanismo de banco de dados é atualizado para uma versão principal ou secundária.
- Há uma interrupção na zona de disponibilidade da instância.
Observação: Como o endereço IP da sua instância é dinâmico, não é possível atribuir um endereço IP estático ou um endereço IP elástico à sua instância.