Ir para o conteúdo

Como soluciono problemas com os endereços IP das minhas instâncias de banco de dados do Amazon RDS?

5 minuto de leitura
0

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:

  1. Abra o console do Amazon RDS.
  2. No painel de navegação, escolha Grupos de sub-redes.
  3. 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.
  4. Abra o console da Amazon Virtual Private Cloud (Amazon VPC).
  5. No painel de navegação, escolha Gateways da internet.
  6. 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.
  7. No painel de navegação, selecione Tabelas de rotas.
  8. Escolha a tabela de rotas associada à sua VPC.
  9. 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.
  10. 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.
  11. Abra o console do Amazon RDS.
  12. No painel de navegação, selecione Bancos de dados.
  13. Selecione sua instância de banco de dados e, em seguida, Modificar.
  14. Em Conectividade, amplie a seção Configuração adicional e, em seguida, selecione Acessível ao público.
  15. Selecione Continuar.
  16. 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.