Configuración de Bases de Datos en AWS con VPC y Seguridad IP
Clase 16 de 30 • Curso de Ciberseguridad para Desarrollo Web
Resumen
¿Cómo configurar una base de datos dentro de AWS?
Configurar una base de datos en AWS no es solo cuestión de seguir un procedimiento mecánico. Requiere comprensión sobre cómo se organizan y protegen los recursos en la nube, particularmente al emplear VPCs (Virtual Private Clouds) para mantener la seguridad y el aislamiento de sus datos. En esta guía, aprenderás a conectar tu base de datos dentro de una VPC de AWS, configurando un grupo de seguridad personalizado para controlar el acceso, y finalmente, creando y gestionando la base de datos PostgreSQL en AWS usando RDS.
¿Qué es una VPC y cómo se configura?
Una VPC, o Virtual Private Cloud, es una red aislada que vive dentro de la infraestructura de AWS. Los recursos dentro de una VPC están protegidos del acceso público, a menos que se configure lo contrario. Para comenzar:
-
Accede a la consola de AWS: Busca el servicio de VPC y selecciona la VPC por defecto que ofrece AWS. Examina sus configuraciones, especialmente las listas de control de acceso, subnets, y tablas de enrutamiento.
-
Configura una VPC segura: Asegúrate de que todos los recursos que se deberán comunicar dentro del sistema, por ejemplo, una base de datos y las Lambda functions, estén configurados dentro de la misma VPC, creando un entorno aislado y seguro.
¿Cómo se crean grupos de seguridad en AWS?
Un Security Group es crucial para manejar quién y qué puede acceder a tus recursos dentro de la VPC. Para configurar un Security Group para tu base de datos, sigue estos pasos:
-
Dirígete al dashboard de EC2: Aquí encontrarás la sección de Security Groups.
-
Crea un nuevo grupo de seguridad: Asigna un nombre y descripción. Ejemplo:
- Nombre:
Database Sec Group
- Descripción:
Hello Traffic into the Database
- Nombre:
-
Define las reglas de entrada: Permite únicamente el tráfico desde tu máquina local. Por ejemplo, para PostgreSQL, habilitar el puerto 5432 solo para tu dirección IP.
Incoming Traffic: - Type: PostgreSQL - Port: 5432 - Source: Tu dirección IP con máscara /32
-
Genera el grupo de seguridad: Tras configurar las reglas de entrada, guarda la configuración.
¿Cómo crear una base de datos PostgreSQL en AWS RDS?
AWS RDS es un servicio que facilita la creación y gestión de bases de datos. Para crear una base de datos PostgreSQL:
-
Accede a la consola de RDS: Elige
DB Instances
y haz clic enCreate Database
. -
Elige la opción
Standard Create
: Para mayor personalización. SeleccionaPostgreSQL
como el motor de base de datos. -
Define las configuraciones básicas: Establece un nombre para la base de datos y usuario principal. Por seguridad, habilita el manejo de credenciales mediante
Secrets Manager
. -
Configura conectividad y red: Usa la VPC por defecto y especifica que sea accesible públicamente, asegurando que el tráfico solo viene desde tu IP usando el Security Group configurado previamente.
-
Encripta el tráfico con certificados SSL: Activa y revisa configuraciones adicionales como
performance insights
obackups
, según sea necesario. -
Crea la base de datos: Tu base de datos PostgreSQL estará lista en unos minutos.
¿Cómo conectar y gestionar la base de datos con herramientas como pgAdmin?
Una vez que tu base de datos esté lista, puedes gestionarla con herramientas como pgAdmin:
-
Conéctate utilizando pgAdmin: Ve a
Register
, seleccionaServer
, y llena los detalles de conexión con el hostname, puerto, y credenciales guardadas enSecrets
. -
Crea una tabla en tu base de datos: Usa la herramienta
Query Tool
para escribir y ejecutar comandos SQL, por ejemplo, para crear una tablaCommits
.CREATE TABLE Commits ( id SERIAL PRIMARY KEY, repo_name VARCHAR(100), commit_id VARCHAR(40), commit_message TEXT );
En resumen
Configurar una base de datos dentro de una VPC en AWS garantiza seguridad y control sobre tus recursos. Mediante el uso de Security Groups y herramientas de gestión de bases de datos, puedes personalizar el acceso y gestionar tus datos con eficacia. ¡No olvides explorar más sobre AWS RDS para seguir optimizando tus infraestructuras de datos!