Configuración de Instancias RDS en AWS para Bases de Datos
Clase 20 de 22 • Curso de Despliegue de Aplicaciones Python en la Nube
Resumen
¿Cómo configurar una instancia de base de datos en AWS?
Configurar una instancia de base de datos en Amazon Web Services (AWS) es esencial para desplegar aplicaciones en producción sin preocuparse por las tareas manuales que normalmente implicarían mucho esfuerzo, como los backups y las actualizaciones. AWS proporciona un servicio llamado RDS (Relational Database Service), el cual facilita estos procesos. A continuación, te guiaré paso a paso por la configuración de una instancia de base de datos en AWS.
¿Qué es el servicio RDS de AWS?
RDS es un servicio de base de datos administrada que ayuda a las aplicaciones a operar sin la sobrecarga de gestionar datacenters, servidores, y servicios de actualización. Algunas funcionalidades claves de RDS incluyen:
- Automatización de copias de seguridad y actualizaciones: Reduce el trabajo manual y asegura que la base de datos esté al día.
- Escalabilidad: Permite ajustar los recursos según las necesidades de tu aplicación.
- Alta disponibilidad: Proporciona replicación de datos y failover automático en distintas zonas de disponibilidad.
¿Cómo acceder y crear una instancia en RDS?
Para comenzar, primero inicia sesión en la consola de AWS y sigue estos pasos:
- En el dashboard de servicios de AWS, busca "RDS" y haz clic en él.
- Haz clic en "DB Instances" y selecciona "Create Database".
- Elige la opción "Standard create" para tener control sobre la configuración.
Aquí se pueden seleccionar diferentes motores de base de datos, como PostgreSQL. Opta por "Aurora" si se requiere este tipo específico de base de datos.
- Selecciona: Estándar create.
- Elige el motor: PostgreSQL.
- Versión: Deja la versión por defecto.
¿Qué configuración inicial es necesaria para la instancia?
A continuación, decide el entorno y los recursos para tu base de datos:
- Entorno Productivo vs. Dev/Test: Escoge el entorno basado en el tráfico y el rendimiento esperado. Las instancias productivas son más robustas y garantizan alta disponibilidad.
- Nombre del DB: Asigna un nombre significativo, como "platzi_database".
- Usuario y llaves de encriptación: Utiliza "Postgres" como usuario por defecto y opta por dejar las llaves de encriptación predeterminadas para proteger los datos.
¿Cómo configurar almacenamiento y seguridad?
La optimización de E/S es vital para el rendimiento:
- Almacenamiento: Elige "EO optimized" si buscas mejorar la entrada-salida (I/O).
- Conectividad: Configura el acceso solo desde una instancia EC2.
Esto último es crucial, ya que, para mejorar la seguridad, se debe restringir el acceso a la base de datos desde ciertas IPs y servidores. De este modo, aunque se tenga conocimiento del usuario y contraseña, la base de datos no estará accesible públicamente.
¿Cómo conectar desde una instancia EC2?
Tras completar la configuración inicial y una vez que la base de datos esté disponible, sigue estos pasos para conectarte desde una instancia EC2 usando PostgreSQL:
psql -h <host_endpoint> -U Postgres -d Postgres
Para obtener el <host_endpoint>
, dirígete al detalle de la base de datos en el dashboard de AWS RDS. A continuación, ingresar la contraseña solicitada.
¿Cuáles son los próximos pasos?
Una vez conectado, es posible crear estructuras adicionales en la base de datos o ejecutar migraciones:
- Crear una nueva base de datos:
CREATE DATABASE rds_platzi OWNER Postgres;
- Modificar el archivo de configuración: Edita el archivo
.env
para reflejar esta nueva conexión y confirma que las migraciones ejecuten correctamente.
Finalmente, un ejercicio recomendado es eliminar el PostgreSQL instalado en tu servidor web tradicional. Esto no solo reduce la carga del servidor web, sino que también optimiza el rendimiento y la eficacia de tu entorno de producción al manejar la base de datos través de RDS de AWS.
Configurar instancias a través de AWS RDS no solo asegura integridad y disponibilidad de los datos, sino que además permite centrar esfuerzos en el desarrollo de tu aplicación. ¡Sigue explorando y optimizando tus habilidades en AWS!