sql >> Base de Datos >  >> RDS >> Database

Cómo conectar una base de datos con una Amazon VPC

En este tutorial, veremos cómo configurar una instancia de Amazon RDS dentro de una subred de VPC privada y cómo conectarnos a ella mediante un túnel SSH.

Un túnel SSH inverso realiza una conexión cifrada de salida desde su VPC a los servidores de Chartio. Esto le permite conectar Chartio a una base de datos en su subred de VPC privada sin modificar su tabla de rutas o grupos de seguridad.

Resumen

El siguiente diagrama muestra cómo se verá nuestra arquitectura final. Crearemos una VPC con 2 subredes en la región us-west-1; 1 subred pública en la zona de disponibilidad us-west-1a y 1 subred privada en la zona de disponibilidad us-west-1b. La VPC tendrá un gateway de Internet adjunto; sin embargo, la tabla de rutas principal contendrá solo una única ruta local que permite la comunicación dentro de la VPC. La subred pública tendrá una tabla de rutas personalizada que incluye la ruta local, así como una ruta que dirige el resto del tráfico a través de la puerta de enlace de Internet. Se aprovisionará una instancia RDS de Postgres en la subred privada con un grupo de seguridad adjunto que solo permite el tráfico entrante en el puerto 5432 desde la subred pública. Se aprovisionará una instancia EC2 en la subred pública con un grupo de seguridad adjunto que solo permite el tráfico SSH entrante desde su IP local y todo el tráfico saliente. Finalmente, usaremos SSH en la instancia EC2, instalaremos el cliente de Postgres psql , cree una tabla en la instancia de RDS e instale y configure un túnel SSH.

Crear una VPC

Navegue hasta el Panel de VPC en la Consola de administración de AWS y cree una nueva VPC.

Crear y adjuntar una puerta de enlace a Internet

En la pestaña Puertas de enlace de Internet del Panel de VPC, cree una nueva puerta de enlace de Internet.

Adjunte la puerta de enlace a la VPC recién creada.

Crear una tabla de rutas personalizada

En la pestaña Tablas de enrutamiento del Panel de VPC, cree una nueva tabla de enrutamiento.

Agregue una ruta a la tabla de rutas para la puerta de enlace de Internet.

Crear subredes públicas y privadas

Cree una subred en la zona de disponibilidad us-west-1a.

Cambie la tabla de rutas para la subred creada anteriormente de la tabla de rutas principal a la tabla de rutas personalizada.

Cree una subred en la zona de disponibilidad us-west-1b.

Crear grupos de seguridad

Cree un grupo de seguridad para que la instancia EC2 se aprovisione en la subred pública us-west-1a.

Autorice el tráfico SSH entrante desde su dirección IP local. Las reglas de salida predeterminadas deberían estar bien.

Cree un grupo de seguridad para que la instancia RDS de Postgres se aprovisione en la subred privada us-west-1b.

Autorice el tráfico entrante desde la subred pública a través del puerto 5432.

Quite todas las reglas de salida del grupo de seguridad de RDS.

Aprovisionar una instancia EC2

Aprovisione una instancia EC2 en la subred pública us-west-1a. Asegúrese de que se asigne una IP pública.

Asigne el grupo de seguridad creado anteriormente.

Aprovisionar una instancia RDS de Postgres

Aprovisione una instancia RDS de Postgres en la subred privada us-west-1b. Asegúrese de que NO se asigne una IP pública.

Instalar y configurar un túnel SSH

SSH en la instancia EC2 y ejecute los siguientes comandos.

# Substitute 54.153.81.83 with your instance's public IP.
ssh [email protected]

# Create a table so Chartio has something to reflect.
# Substitute chartio.cacziwncd30i.us-west-1.rds.amazonaws.com with your instance's endpoint.
sudo apt-get update
sudo apt-get install postgresql-client
psql -h chartio.cacziwncd30i.us-west-1.rds.amazonaws.com -p 5432 -d chartio -U chartio -c "CREATE TABLE foo(id int);"

Instale autossh (o el administrador de túneles SSH de su elección) y configure una conexión de túnel siguiendo las instrucciones.

Compruebe el editor de esquemas de Chartio para asegurarse de que se haya reflejado el esquema de la instancia de RDS. Si no es así, intente hacer clic en el botón "Actualizar esquema".