¿Cómo soluciono los problemas con las direcciones IP asignadas a mis instancias de base de datos de Amazon RDS?

5 minutos de lectura
0

Quiero solucionar problemas con las direcciones IP asignadas a mis instancias de Amazon Relational Database Service (Amazon RDS).

Resolución

Cuando Amazon RDS crea una instancia de base de datos en una nube virtual privada (VPC), se asigna una interfaz de red a la instancia de base de datos. En función de cómo configures la instancia, se te asigna una dirección IP privada o pública.

He seleccionado la configuración de acceso público, pero no se ha asignado una dirección IP pública a la instancia de base de datos

Si las subredes de su grupo de subredes de base de datos son privadas, la instancia de base de datos no tiene asignada una dirección IP pública.

Para resolver este problema, sigue estos pasos:

  1. Abre la consola de Amazon RDS.
  2. En el panel de navegación, elige Grupos de subredes.
  3. Elige el grupo de subredes al que está asociada la instancia de base de datos.
    Nota: Puedes ver los grupos de subredes con el ID de VPC y los ID de subred asociados.
  4. Abre la consola de Amazon Virtual Private Cloud (Amazon VPC).
  5. En el panel de navegación, elige puertas de enlace de Internet.
  6. Comprueba si tu VPC está conectada a una puerta de enlace de Internet.
    Nota: Si tu VPC no está conectada a una puerta de enlace de Internet, crea y conecta una a tu VPC.
  7. En el panel de navegación, selecciona Tablas de enrutamiento.
  8. Elige la tabla de enrutamiento asociada a tu VPC.
  9. Selecciona la pestaña Asociaciones de subredes y, a continuación, comprueba que todas las subredes de tu grupo de subredes de base de datos estén conectadas a la tabla de enrutamiento.
    Nota: Si las subredes no están asociadas a la tabla de enrutamiento, elige Editar asociaciones de subred. Selecciona la subred que quieres asociar a la tabla de enrutamiento.
  10. Elige la pestaña Rutas. Comprueba que todas las subredes de tu grupo de subredes de base de datos tengan 0.0.0.0/0 en el campo Destino y el ID de la puerta de enlace de Internet en el campo Objetivo.
    Nota: Si las subredes tienen valores diferentes para los campos Destino y Objetivo, modifica la ruta para incluir los valores anteriores.
  11. Abre la consola de Amazon RDS.
  12. En el panel de navegación, selecciona Bases de datos.
  13. Selecciona la instancia de base de datos que deseas modificar y, a continuación, elige Modificar.
  14. En Conectividad, expande la sección Configuración adicional y, a continuación, selecciona Accesible públicamente.
  15. Selecciona Continuar.
  16. Elige Modificar la instancia de base de datos.

Nota: Un grupo de subredes que incluye una combinación de subredes públicas y privadas puede provocar problemas de conectividad después de una conmutación por error. Por ejemplo, tienes una instancia principal que se ejecuta en la subred pública cuando la instancia secundaria se ejecuta en una subred privada en una configuración Multi-AZ.

Quiero encontrar la información de conexión de mi instancia de base de datos de Amazon RDS

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Cuando intentas conectarte a la instancia de base de datos desde los recursos de la misma VPC, el punto de enlace de RDS se resuelve automáticamente en la dirección IP privada. Cuando te conectas a la instancia de base de datos desde fuera de la VPC o de Internet, el punto de enlace se convierte en una dirección IP pública.

Para buscar información de conexión, puedes usar la consola de Amazon RDS, ejecutar el comando describe-db-instances de la AWS CLI o la API DescribeDBInstances.

También puedes ejecutar uno de los siguientes comandos para buscar la información de conexión:

dig example-rds-endpoint

Alternativa:

nslookup example-rds-endpoint

Al ejecutar el comando nslookup para obtener el punto de enlace de RDS, aparece un resultado similar al de los siguientes ejemplos.

Resultado de una instancia de Amazon Elastic Compute Cloud (Amazon EC2) en la misma VPC que se resuelve en una dirección IP privada:

[ec2-user@ip-172-xx-xx-xx ~]$ nslookup myoracledb.xxxxx.us-east-1.rds.amazonaws.com  
Server: xxx.xxx.xxx.xxx
Address: xxx.xxx.xxx.xxx#53
Non-authoritative answer: myoracledb.xxxxx.us-east-1.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

Resultado de una instancia de Amazon EC2 en una VPC diferente que se resuelve en la dirección IP pública:

[ec2-user@ip-172-xx-xx-xx ~]$ nslookup myoracledb.xxxxx.us-east-1.rds.amazonaws.com  
Server: xxx.xxx.xxx.xxx
Address: xxx.xxx.xxx.xxx#53
Non-authoritative answer: myoracledb.xxxxx.us-east-1.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

Las direcciones IP de mis instancias de base de datos no son coherentes

La dirección IP asignada a la instancia de base de datos de RDS puede cambiar en las siguientes situaciones:

  • Detienes y reinicias la instancia de base de datos.
    Nota: Al reiniciar la instancia de base de datos, la dirección IP no cambia.
  • El host subyacente se reemplaza debido a un error de la instancia de base de datos o a una actualización de la clase de la instancia de base de datos.
  • El mantenimiento del hardware se realizó en la instancia de base de datos.
  • La instancia de base de datos se encuentra en un entorno Multi-AZ y se ha producido una conmutación por error.
  • Se produjeron parches de software en el sistema operativo (SO) de la instancia de base de datos.
  • Has utilizado un reinicio con conmutación por error para iniciar una conmutación por error manual de la instancia de base de datos.
  • El motor de base de datos se actualizó a una versión principal o secundaria.
  • Hay una interrupción en la zona de disponibilidad de la instancia.

Nota: Como la dirección IP de la instancia es dinámica, no puede asignar una dirección IP estática ni una dirección IP elástica a la instancia.