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 Acessível publicamente, 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á um endereço IP público à sua instância de banco de dados.

Para solucionar esse problema, realize as etapas a seguir:

  1. Abra o console do Amazon RDS.
  2. No painel de navegação, clique em 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, clique em 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 conecte um à sua VPC.
  7. No painel de navegação, clique em Tabelas de rotas.
  8. Selecione a tabela de rotas associada à sua VPC.
  9. Clique na 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, clique em Editar associações de sub-redes. Selecione a sub-rede que você deseja associar à tabela de rotas.
  10. Clique na 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 Alvo.
    Observação: se as sub-redes tiverem valores diferentes nos 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 publicamente.
  15. Clique em 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 várias Zonas de disponibilidade, problemas de conectividade podem ocorrer quando sua instância primária usa uma sub-rede pública e a 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 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.

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 como 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 como um endereço IP público.

Para encontrar informações sobre conexão, use o console do Amazon RDS, execute o comando describe-db-instances da AWS CLI ou execute a API DescribeDBInstances do Amazon RDS.

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 como 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 como 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 estã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 Multi-AZ 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 faz upgrade 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.