Introducción a las bases de datos relacionales en Amazon RDS

Cloud IO Enabler Podcast
Voiced by Amazon Polly

Amazon RDS es un servicio administrable de AWS que provee instancias de bases de datos relacionales sobre los principales motores de bases de datos del mundo. En esta introducción a las bases de datos relacionales en Amazon RDS queremos contestar algunas de las principales inquietudes de las empresas a la hora de decidir usar esta tecnología.

Motores de bases de datos soportados en Amazon RDS

Recordemos que hablamos de bases de datos relacionales en Amazon RDS, y dentro de este conjunto de tipos de bases de datos las marcas más dominantes son: Oracle y SQL Server en bases de datos propietarias, y, MySQL y PostgreSQL en bases de datos Open Source.

Amazon RDS soporta estas y otras bases de datos relacionales, siendo la lista actual: MySQL, MariaDB y PostgreSQL en opciones Open Source, y, Oracle, SQL Server y Aurora en bases de datos propietarias.

https://aws.amazon.com/rds/

Mención especial a Aurora que es de propiedad de Amazon, pero que a una fracción del costo puede trabajar de forma similar, y en escenarios mejor, que hasta el mismo Oracle; además puede trabajar en modo compatible con MySQL y PostgreSQL con lo cual no impactaría a sus aplicaciones actuales.

Por supuesto que AWS provee otros servicios para bases de datos de tipo OLAP, NoSQL y en formatos Serverless, si desea saber más de estas opciones puede encontrar información en Introducción al uso de Bases de Datos en AWS.

Ventajas de usar Amazon RDS

Vamos a explicar las ventajas principales de AWS y su servicio Amazon RDS por las cuales podría elegirla como solución ya mismo. Estas ventajas son:

Supone una carga administrativa muy baja

Muchas de las operaciones comunes están automatizadas como: administración de parches, respaldos y escalamiento; además AWS provee la consola Web y un cliente de línea de comandos para realizar configuraciones lo que amplía las posibilidades para el administrador.

Provee opciones de rendimiento de excelencia

Provee opciones de rendimiento de excelencia, muy difíciles en ambientes on-premises pues el hardware detrás de este servicio es provisto y optimizado para transaccionalidad intensiva, compuesto de discos SSD, cache, bus de datos e interfaces de red que llegan a soportar hasta 40K de I/O por segundo.

Ofrece escalabilidad extrema

Cuenta con una oferta de configuración con combinaciones de tecnología de procesadores y memoria RAM, muy similar a EC2, pero orientado a bases de datos. Se puede tener servidores de hasta 32 vCPU y 244 GiB de RAM. Además, está el escalamiento del almacenamiento que puede llegar hasta 64 TB (Terabytes). Por otro lado tenemos la posibilidad de crear servidores réplica llamados “Replicas de Lectura” con latencia en el orden de milisegundos y de manera asincrónica (excepto en Autora que podemos llegar a microsegundos) lo cual libera al nodo de escritura y maximiza el performance en lectura.

Ofrece Failover, Alta Disponibilidad y Durabilidad

Tiene opciones para Alta Disponibilidad y ofrece Durabilidad por defecto, los backups automáticos son habilitados por defecto con los cuales se puede restaurar la base a un punto del tiempo PITR (hasta 5 minutos en el pasado). Por otro lado están los Snapshots que son manuales y que pueden usarse para restaurar toda la base de datos en otra AZ o Región.

Se puede implementar un Failover automático, es decir si el nodo principal falla Amazon RDS provee un segundo nodo listo para ser usado con los mismos datos que se replicaron de manera síncrona; todo esto con la funcionalidad Multi-AZ que es una replicación en un data center distinto para recuperación ante desastres.

Seguridad superior

Implementa la seguridad en un nivel más completo, ya que Amazon RDS te permite encriptar datos en tránsito con SSL y en el almacenamiento con los datos cifrados a través de llaves. Además está integrado con múltiples opciones de la nube AWS para administrar seguridad como capas previas antes de poder siquiera llegar a la base de datos. Puede encontrar más detalle en Seguridades en Amazon RDS.

Permite un monitoreo proactivo

A través de su integración nativa con servicios como Amazon CloudWatch y Amazon SNS, los cuales permiten visualizar y notificar eventos alrededor del funcionamiento de la instancia de base de datos, así como de sus configuraciones. Vale destacar aquí el servicio Amazon RDS Performance Insights que permiten visualizar problemas de desempeño SQL en la base de datos como tal, más allá de la infraestructura que la soporta.

Ahorro de costos y flexibilidad de pago

El modelo de costos de Amazon orientado siemprea ser al menor posible, es una característica general de todos los servicios AWS y que en caso de Amazon RDS nos ofrece dos modelo: un modelo On-Demand donde se paga por hora de consumo y GB de almacenamiento, y, otro modelo llamado Instancias Reservadas por 1 a 3 años y que representa un ahorro significativo.

Cada motor de base de datos tiene una tarifa por hora y de instancia reservada diferente, y en el caso bases de datos propietarias: Oracle, SQL Server y Aurora incluye licenciamiento.

Puede encontrar un detalle de los costos aquí.

Principales riesgos y amenazas de seguridad informática

Seguridades en Amazon RDS

En la parte de “Ventajas de usar Amazon RDS”, hablamos de las seguridades nativas de Amazon RDS, sin embargo la seguridad en AWS está compuesta de muchos más componentes que complementan a todos los servicios que oferta como por ejemplo el servicio Amazon RDS.

Esta infraestructura en seguridad de AWS y sus servicios, definitivamente minimizan a un nivel muy bajo el riesgo técnico de una vulneración a las seguridades, por lo que es muy seguro usar Amazon RDS.

Pero la seguridad tiene un componente de Gobierno el cual es administrado e implementado por el usuario, y es por eso que es un modelo compartido. Usted puede encontrar más información de este modelo y como gestionarlo en Seguridades en la Nube AWS.

En esta Introducción a las bases de datos relacionales en Amazon RDS presentamos siete prácticas a implementar para asegurar su instancia de base de datos en Amazon RDS:

  1. Ejecute su instancia en una subred privada de su VPC (red del cliente en AWS), es decir sin salida a internet.
  2. Utilice el servicio AWS IAM para, a través de políticas, administrar la identidad y los accesos correspondientes al usuario responsable de gestionar los recursos de Amazon RDS.
  3. Use el servicio Security Groups (Grupos de Seguridad) para habilitar que IPs pueden llegar a las instancias de Amazon RDS y todas las demás quedan fuera.
  4. Implemente conexiones SSL o TLS en la capa de transporte para encriptar el tráfico entre la base de datos y sus clientes.
  5. Aplique el cifrado AES-256 disponible en Amazon RDS, para el almacenamiento de los datos en el servidor de forma que no sean legibles sin las llaves correspondientes.
  6. Utilice las características propias de su motor de base de datos como usuarios, roles y accesos para controlar la seguridad propia de la instancia.
  7. Monitoree y almacene rastros periódicamente de accesos a su VPC y usuarios en Amazon AWS de forma que observe anomalías.

Migración de base de datos a Amazon RDS

Seguramente este es uno de los temas que más preocupan a los Directores de TI en las empresas, afortunadamente AWS provee un servicio especializado y comprobado para reducir el tiempo de una migración, hacerlo de forma segura y de manera fiable; se trata de Amazon Database Migration Service.

Evidentemente una migración es: “una migración” y siempre es un tema complejo que requiere planificación, adecuada gestión y planes de contingencia. Sin embargo Amazon Database Migration Service tiene múltiples opciones para hacer esta tarea más sencilla e incluye una herramienta de soporte llamada AWS Schema Conversion Tool para gestionar aquellos casos donde una migración tiene esas especialidades.

Da para todo un nuevo post explicar todo lo que nos ofrece esta posibilidad, sin embargo, por el momento en esta Introducción a las bases de datos relacionales en Amazon RDS, queremos recalcar que existe esta servicio y que soporta migraciones entre mismos motores de bases de datos y motores de bases de datos diferentes, por ejemplo: de Oracle a Amazon Aurora, de Oracle a PostgreSQL o de Microsoft SQL Server a MySQL. Además es posible migrar bases de datos relacionales a bases de datos NoSQL como Dynamo DB :).

Conclusiones

Como se puede apreciar en el desarrollo de este artículo, Amazon RDS definitivamente cumple con las principales características que un CTO de Empresa puede desear para confiar su base de datos en la nube de Amazon.

Incluso quedan fueran muchas otras características que no se han detallado en esta entrada como la posibilidad de correr Amazon RDS On-premises 🙂 y que dan más posibilidades si tenemos restricciones de dejar datos fuera de la red empresarial.

Su administración es extremadamente liviana y eso representa reducción de costos para la empresa, incluyendo temas tan sensibles como alta disponibilidad, respaldos y failover, que en una instalación on-premises resulta complejo, costoso y delicado administrar.

Otro punto impresionante es la facilidad de escalamiento y la disponibilidad, que sin duda suponen complejidad en el área de TI con demoras y dificulta de provisionamiento. En Amazon RDS esto esta a unos clics del cliente.

Finalmente la pregunta “¿es seguro Amazon RDS?”, tiene una respuesta sólida y es que del lado de AWS las opciones son muy robustas dejando al cliente llegar hasta donde su arquitectura y estrategia empresarial lo requiera.

Las empresas en su Industria ya están innovando.  El Lead Time y el Time to Market son la diferencia entre las empresas que perdurarán en el mercado.  Conozca que posibilidades le ofrece AWS para su Transformación Digital en un entrenamiento gratuito para usted y su equipo de TI.

Compartir este contenido

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll to Top