¿Qué es Amazon Relational Database Service (Amazon RDS)?
Amazon Relational Database Service (Amazon RDS) es un servicio web que facilita la configuración, la operación y la escala de una base de datos relacional en Nube de AWS. Proporciona una capacidad rentable y de tamaño ajustable para una base de datos relacional estándar y se ocupa de las tareas de administración de bases de datos comunes.
nota
Esta guía cubre motores de base de datos de Amazon RDS que no sean de Amazon Aurora. Para obtener información acerca de cómo usar Amazon Aurora, consulte la Guía del usuario de Amazon Aurora.
Si es nuevo en AWS productos y servicios, empiece por obtener más información con los siguientes recursos:
-
Para obtener una visión general de todos los AWS productos, consulte ¿Qué es la informática en la nube?
-
Amazon Web Services ofrece diversos servicios de base de datos. Para obtener más información sobre la variedad de opciones de bases de datos disponibles en AWS, consulte Choosing an AWS database service
(Elección de un servicio de base de datos de AWS) y Running databases on AWS (Ejecución de bases de datos en AWS).
Ventajas de Amazon RDS
Amazon RDS es un servicio de base de datos administrada. Es responsable de la mayoría de las tareas de administración. Amazon RDS elimina procesos manuales que resultan pesados, lo que le permite centrarse en la aplicación y en los usuarios.
Estas son las principales ventajas de Amazon RDS en comparación con implementaciones de bases de datos que no están completamente administradas:
-
Puede utilizar los motores de base de datos que ya conoce: IBM Db2, MariaDB, Microsoft SQL Server, MySQL, Oracle Database y PostgreSQL.
-
Amazon RDS administra las copias de seguridad, la aplicación de parches de software, la detección automática de errores y la recuperación.
-
Puede activar las copias de seguridad automatizadas o crear manualmente sus propias instantáneas de copia de seguridad. Estas copias de seguridad se pueden utilizar para restaurar una base de datos. El proceso de restauración de Amazon RDS es fiable y eficaz.
-
Puede obtener una alta disponibilidad gracias a una instancia de base de datos principal y una instancia de base de datos secundaria síncrona, a la que podrá acceder cuando haya algún error. También puede utilizar réplicas de lectura para aumentar el escalado de lectura.
-
Además de la seguridad en el paquete de la base de datos, puede controlar el acceso usando AWS Identity and Access Management (IAM) para definir usuarios y permisos. Para ayudar a proteger sus bases de datos, también puede ponerlas en una nube virtual privada (VPC).
Comparación de responsabilidades con las implementaciones de Amazon EC2 y en las instalaciones
Recomendamos Amazon RDS como opción predeterminada para la mayoría de las implementaciones de bases de datos relacionales. La desventaja de las siguientes alternativas es que tendrá que dedicar más tiempo a administrar el software y el hardware:
- Implementación en las instalaciones
-
Cuando adquiere un servidor en las instalaciones, obtiene CPU, memoria, almacenamiento e IOPS, todo junto. Usted asume toda la responsabilidad relacionada con el software de la base de datos, el servidor y el sistema operativo.
- Amazon EC2
-
Amazon Elastic Compute Cloud (Amazon EC2) proporciona capacidad de computación escalable y segura en Nube de AWS. A diferencia de lo que ocurre con un servidor en las instalaciones, la CPU, la memoria, el almacenamiento y las IOPS están separadas, de modo que puede escalarlas de forma independiente. AWS administra las capas de hardware, lo que elimina parte de la carga implicada en la administración de un servidor de base de datos en las instalaciones.
La desventaja de ejecutar una base de datos en Amazon EC2 es que es una opción más propensa a los errores de usuarios. Por ejemplo, cuando actualiza manualmente el sistema operativo o el software de la base de datos, podría provocar accidentalmente el tiempo de inactividad de la aplicación. Es posible que pase horas verificando cada cambio para identificar y solucionar un problema.
En la siguiente tabla, encontrará una comparación entre los modelos de administración para bases de datos Amazon EC2, Amazon RDS y en las instalaciones.
Característica |
Administración en las instalaciones |
Administración de Amazon EC2 |
Administración de Amazon RDS |
---|---|---|---|
Optimización de aplicaciones |
Cliente |
Cliente |
Cliente |
Escalado |
Cliente |
Cliente |
AWS |
Alta disponibilidad |
Cliente |
Cliente |
AWS |
Copias de seguridad de bases de datos |
Cliente |
Cliente |
AWS |
Revisiones de software de base de datos |
Cliente |
Cliente |
AWS |
Instalación de software de base de datos |
Cliente |
Cliente |
AWS |
Aplicación de revisiones del sistema operativo (SO) |
Cliente |
Cliente |
AWS |
Instalación del sistema operativo |
Cliente |
Cliente |
AWS |
Mantenimiento de servidores |
Cliente |
AWS |
AWS |
Ciclo de vida del hardware |
Cliente |
AWS |
AWS |
Alimentación, red y refrigeración |
Cliente |
AWS |
AWS |
Modelo de responsabilidad compartida de Amazon RDS
Amazon RDS es responsable de alojar los componentes de software y la infraestructura de las instancias de base de datos y los clústeres de bases de datos. Usted es responsable del ajuste de las consultas, que es el proceso de optimización de las consultas SQL para mejorar el rendimiento. El rendimiento de las consultas depende en gran medida del diseño de la base de datos, el tamaño de los datos, la distribución de los datos, la carga de trabajo de la aplicación y los patrones de consulta, que pueden variar considerablemente. La supervisión y el ajuste son procesos enormemente individualizados que usted posee para sus bases de datos de RDS. Puede utilizar Información de rendimiento de Amazon RDS y otras herramientas para identificar consultas problemáticas.
Instancias de base de datos de Amazon RDS
Una instancia de base de datos es un entorno de base de datos aislado en la Nube de AWS. El componente básico de Amazon RDS es la instancia de base de datos. Su instancia de base de datos puede contener una o más bases de datos creadas por el usuario. El siguiente diagrama muestra una nube privada virtual (VPC) que contiene dos zonas de disponibilidad; cada zona contiene dos instancias de base de datos.
Puede acceder a las instancias de base de datos utilizando las mismas herramientas y aplicaciones que utiliza con una instancia de base de datos independiente. Puede crear y modificar una instancia de base de datos mediante AWS Command Line Interface (AWS CLI), la API de Amazon RDS o la AWS Management Console.
Temas
Ejemplo de arquitectura de aplicaciones con Amazon RDS
La siguiente imagen muestra un caso de uso típico de un sitio web dinámico que utiliza instancias de base de datos de Amazon RDS para el almacenamiento de bases de datos:
Los componentes principales de la arquitectura anterior son los siguientes:
- Elastic Load Balancing
-
AWS enruta el tráfico de usuarios a través del equilibrador de carga elástico. Un equilibrador de carga distribuye cargas de trabajo a través de varios recursos informáticos, como, servidores virtuales. En este ejemplo de caso de uso, el equilibrador de carga elástico envía las solicitudes de los clientes a los servidores de aplicaciones.
- Servidores de aplicaciones
-
Los servidores de aplicaciones interactúan con las instancias de base de datos de RDS. Por lo general, un servidor de aplicaciones en AWS se aloja en instancias EC2, que proporcionan una capacidad de computación escalable. Los servidores de aplicaciones residen en subredes públicas con diferentes zonas de disponibilidad (AZ) dentro de la misma nube privada virtual (VPC).
- Instancias de base de datos de RDS
-
Los servidores de aplicaciones EC2 interactúan con instancias de base de datos de RDS. Las instancias de base de datos residen en subredes privadas dentro de diferentes zonas de disponibilidad (AZ) en la misma nube privada virtual (VPC). Como las subredes son privadas, no se permiten solicitudes desde Internet.
La instancia de base de datos principal se replica en otra instancia de base de datos, denominada réplica de lectura. Ambas instancias de base de datos se encuentran en subredes privadas dentro de la VPC, lo que significa que los usuarios de Internet no pueden acceder a ellas directamente.
Motores de base de datos
Un motor de base de datos es el software de base de datos relacional específico que se ejecuta en la instancia de base de datos. Amazon RDS es compatible con los siguientes motores de base de datos:
-
IBM Db2
Para obtener más información, consulte Amazon RDS para Db2.
-
MariaDB
Para obtener más información, consulte Amazon RDS for MariaDB.
-
Microsoft SQL Server
Para obtener más información, consulte Amazon RDS for Microsoft SQL Server.
-
MySQL
Para obtener más información, consulte Amazon RDS para MySQL.
-
Oracle Database
Para obtener más información, consulte Amazon RDS for Oracle.
-
PostgreSQL
Para obtener más información, consulte Amazon RDS para PostgreSQL.
Cada motor de base de datos cuenta con sus propias características compatibles y cada versión de un motor puede incluir características específicas. La compatibilidad con las características de Amazon RDS varía según las Regiones de AWS y las versiones específicas de cada motor de base de datos. Para comprobar la compatibilidad de características en las distintas versiones y regiones, consulte Funciones admitidas en Amazon RDS por Región de AWS y el motor de base de datos
Además, cada motor de base de datos tiene un conjunto de parámetros en un grupo de parámetros de base de datos que controlan el comportamiento de las bases de datos que administra. Para obtener más información acerca de los grupos de parámetros, consulte Grupos de parámetros para Amazon RDS.
Clases de instancia de base de datos
Una clase de instancia de base de datos determina la capacidad de cómputo y de memoria de una instancia de base de datos. Una clase de instancia de base de datos determina tanto el tamaño como el tipo de clase de instancia de base de datos. Amazon RDS es compatible con los siguientes tipos de clases de instancias; el asterisco (*) representa la generación, el atributo opcional y el tamaño:
-
De uso general: db.m*
-
Optimizadas para la memoria: db.z*, db.x*, db.r*
-
Optimizadas para la computación: db.c*
-
Rendimiento ampliable: db.t*
Cada clase de instancia ofrece diferentes capacidades de computación, memoria y almacenamiento. Por ejemplo, db.m7g es un tipo de clase de instancia de base de datos de uso general y de séptima generación, y cuenta con tecnología de procesadores Graviton3 de AWS. Al crear una instancia de base de datos, debe especificar una clase de instancia de base de datos, como db.m7g.2xlarge (2xlarge es el tamaño). Para obtener más información sobre las especificaciones de hardware de las diferentes clases de instancias, consulte Especificaciones de hardware para clases de instancia de base de datos .
Puede seleccionar la clase de instancia de base de datos que mejor se adapte a sus necesidades. Si sus necesidades van cambiando, puede cambiar la clase de instancia de base de datos. Por ejemplo, puede escalar verticalmente y pasar de la instancia db.m7g.2xlarge a la instancia db.m7g.4xlarge. Para obtener más información, consulte Clases de instancia de base de datos de .
nota
Para obtener información sobre precios de las clases de instancia de bases de datos, consulte la sección Precios de la página de productos de Amazon RDS
Almacenamiento de instancias de base de datos
Amazon EBS ofrece volúmenes de almacenamiento permanente de nivel de bloque que se pueden adjuntar a una instancia en ejecución. El almacenamiento de instancias de base de datos viene en los siguientes tipos:
-
Uso general (SSD)
Este tipo de almacenamiento rentable es ideal para una amplia variedad de cargas de trabajo que se ejecutan en instancias de base de datos de tamaño medio. El almacenamiento de uso general es el más adecuado para entornos de desarrollo y pruebas.
-
IOPS aprovisionadas (PIOPS)
Este tipo de almacenamiento está diseñado para satisfacer las necesidades de las cargas de trabajo con uso intensivo de operaciones de E/S; especialmente, para las cargas de trabajo de bases de datos que requieren una latencia de E/S baja y un rendimiento constante de E/S. El almacenamiento de IOPS aprovisionadas es el más adecuado para los entornos de producción.
-
Magnético
Amazon RDS admite el almacenamiento magnético para garantizar la compatibilidad con versiones anteriores. Es recomendable utilizar volúmenes SSD de uso general o SSD de IOPS aprovisionadas para las nuevas necesidades de almacenamiento.
Los tipos de almacenamiento difieren en características de rendimiento y precio. Puede adaptar el rendimiento y el costo del almacenamiento a las necesidades de su base de datos.
Cada instancia de base de datos tiene requisitos de almacenamiento mínimos y máximos en función del tipo de almacenamiento y del motor de base de datos que admita. Es importante tener suficiente almacenamiento para que sus bases de datos tengan espacio para crecer. Además, un almacenamiento suficiente garantiza que las funciones del motor de base de datos tengan espacio para escribir contenido o registrar entradas. Para obtener más información, consulte Almacenamiento de instancias de base de datos de Amazon RDS.
Instancias de base de datos en Amazon Virtual Private Cloud (Amazon VPC)
Puede ejecutar una instancia de base de datos en una nube virtual privada (VPC) utilizando el servicio Amazon Virtual Private Cloud (Amazon VPC). Cuando utilice una VPC, puede controlar todos los aspectos del entorno de red virtual. Puede elegir su propio rango de direcciones IP, crear subredes y configurar listas de enrutamiento y control de acceso.
La funcionalidad básica de Amazon RDS es la misma, tanto si se ejecuta en una VPC como si no. Amazon RDS administra las copias de seguridad, la aplicación de parches de software, la detección automática de errores y la recuperación. Es posible ejecutar la instancia de base de datos en una VPC sin ningún costo adicional. Para obtener más información acerca del uso de Amazon VPC con RDS, consulte VPC de Amazon y Amazon RDS.
Amazon RDS usa el protocolo de tiempo de red (NTP) para sincronizar la hora en las instancias de base de datos.
Regiones de AWS y zonas de disponibilidad
Los recursos de informática en la nube de Amazon están alojados en instalaciones de centros de datos con alta disponibilidad, en diferentes zonas del mundo (por ejemplo, Norteamérica, Europa o Asia). Las ubicaciones del centro de datos se denominan regiones Región de AWS. Con Amazon RDS, puede crear instancias de base de datos en varias regiones.
El siguiente ejemplo muestra una instancia de base de datos de RDS en una región que se replica de forma asíncrona en una instancia de base de datos en espera de una región diferente. Si una región deja de estar disponible, la instancia de la otra región seguirá estando disponible.
Zonas de disponibilidad
Cada AWS región contiene varias ubicaciones distintas denominadas zonas de disponibilidad o AZ. Cada zona de disponibilidad está diseñada para quedar aislada en caso de error en otras zonas de disponibilidad. Cada una de ellas está diseñada para proporcionar conectividad de red económica y de baja latencia a otras zonas de disponibilidad de la misma AWS región. Gracias a lanzar instancias de base de datos en distintas zonas de disponibilidad, puede proteger sus aplicaciones frente a los errores que ocurran en una única ubicación. Para obtener más información, consulte Regiones, zonas de disponibilidad y Local Zones.
Implementaciones Multi-AZ
Puede ejecutar su instancia de base de datos en varias zonas de disponibilidad, lo que recibe el nombre de despliegue Multi-AZ. Cuando elige esta opción, Amazon aprovisiona automáticamente y mantiene una o más instancias de base de datos secundarias en espera en una zona de disponibilidad diferente. Su instancia de base de datos principal se replica en todas las zonas de disponibilidad para cada instancia de base de datos secundaria.
Una implementación Multi-AZ proporciona las siguientes ventajas:
-
Soporte de conmutación por error y redundancia de datos
-
Eliminación de bloqueos de E/S
-
Minimización de los picos de latencia durante las copias de seguridad del sistema
-
Servicio de tráfico de lectura en instancias de base de datos secundarias (solo en implementación de clústeres de base de datos Multi-AZ)
El siguiente diagrama muestra una implementación de instancia de base de datos Multi-AZ donde Amazon RDS aprovisiona y mantiene automáticamente una réplica síncrona en espera dentro de una zona de disponibilidad diferente. La base de datos de réplica no gestiona tráfico de lectura.
El siguiente diagrama muestra una implementación de clúster de base de datos Multi-AZ que tiene una instancia de base de datos del escritor y dos instancias de base de datos del lector en tres zonas de disponibilidad diferentes dentro de la misma Región de AWS. Las tres instancias de base de datos pueden gestionar tráfico de lectura.
Para obtener más información, consulte Configuración y administración de una implementación multi-AZ.
Control de acceso con grupos de seguridad
Un grupo de seguridad controla el acceso a una instancia de base de datos permitiendo el acceso a intervalos de direcciones IP o instancias de Amazon EC2 que usted especifique. Puede aplicar un grupo de seguridad en una o más instancias de base de datos.
Un uso común de una instancia de base de datos en una VPC consiste en compartir datos con un servidor de aplicaciones en la misma VPC. En el siguiente ejemplo, se usa un grupo de seguridad ec2-rds-x
de VPC para definir reglas de entrada que utilicen las direcciones IP de la aplicación cliente como origen. El servidor de aplicaciones pertenece a este grupo de seguridad. Un segundo grupo de seguridad denominado rds-ec2-x
especifica a ec2-rds-x
como origen y se conecta a una instancia de base de datos de RDS. De acuerdo con las reglas del grupo de seguridad, las aplicaciones cliente no pueden acceder directamente a la instancia de base de datos, pero la instancia EC2 sí que puede acceder.
Para obtener más información acerca de los grupos de seguridad, consulte Seguridad en Amazon RDS.
Supervisión de Amazon RDS
La monitorización es una parte importante del mantenimiento de la fiabilidad, la disponibilidad y el rendimiento de Amazon RDS y de otras soluciones de AWS. AWS ofrece diversas herramientas de monitorización para vigilar a Amazon RDS, informar cuando algo no funciona y tomar medidas de manera automática cuando corresponda.
Puede hacer un seguimiento del rendimiento y el estado de sus instancias de base de datos con varias herramientas manuales y automatizadas:
- Estado y recomendaciones de la instancia de base de datos de Amazon RDS
-
Consulte los detalles sobre el estado actual de su instancia mediante la consola de Amazon RDS, la AWS CLI o la API de RDS. También puede responder a recomendaciones automatizadas para recursos de base de datos, como instancias de base de datos, réplicas de lectura y grupos de parámetros de base de datos. Para obtener más información, consulte Recomendaciones para Amazon RDS.
- Métricas de Amazon CloudWatch para Amazon RDS
-
Puede utilizar el servicio de Amazon CloudWatch para monitorear el rendimiento y el estado de una instancia de base de datos. Los gráficos de rendimiento de CloudWatch se muestran en la consola de Amazon RDS. Amazon RDS envía métricas automáticamente a CloudWatch cada minuto a todas las bases de datos activas. No se cobran cargos adicionales por métricas de Amazon RDS en CloudWatch.
Con las alarmas de Amazon CloudWatch puede ver una métrica determinada de Amazon RDS durante un periodo de tiempo específico. A continuación, puede realizar una o varias acciones en función del valor de la métrica en relación al umbral establecido. Para obtener más información, consulte Supervisión de métricas de Amazon RDS con Amazon CloudWatch.
- Supervisión del sistema operativo e Información de rendimiento de Amazon RDS
-
Información de rendimiento evalúa la carga en su base de datos y determina cuándo y dónde tomar medidas. Para obtener más información, consulte Monitoreo de la carga de base de datos con Performance Insights en Amazon RDS. La monitorización mejorada de Amazon RDS consulta las métricas en tiempo real para el sistema operativo. Para obtener más información, consulte Supervisión de las métricas del sistema operativo con Supervisión mejorada.
- Servicios de AWS integrados
-
Amazon RDS está integrado con Amazon EventBridge, Registros de Amazon CloudWatch y Amazon DevOps Guru. Para obtener más información, consulte Supervisión de métricas en una instancia de Amazon RDS.
Interfaces de usuario para Amazon RDS
Puede interactuar con Amazon RDS de varias maneras.
AWS Management Console
La AWS Management Console es una interfaz de usuario sencilla y basada en web. Desde la consola puede administrar sus instancias de base de datos sin necesidad de programación. Para acceder a la consola de Amazon RDS, inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
La interfaz de línea de comandos
Puede utilizar la AWS Command Line Interface (AWS CLI) para acceder a la API de Amazon RDS de forma interactiva. Para instalar el AWS CLI, consulte Instalación de la interfaz de línea de AWS comandos. Para empezar a utilizar la AWS CLI para RDS, consulte la referencia de la AWS Command Line Interface para Amazon RDS.
API de Amazon RDS
Si es desarrollador, puede acceder a Amazon RDS mediante programación con API. Para obtener más información, consulte Referencia de la API de Amazon RDS.
Para el desarrollo de aplicaciones le recomendamos que utilice uno de los kits de desarrollo de software (SDK) de AWS. Los AWS SDK gestionan detalles de bajo nivel como la autenticación, la lógica de reintento y la gestión de errores, para que pueda centrarse en la lógica de la aplicación. AWS Los SDK están disponibles en una amplia variedad de idiomas. Para obtener más información, consulte Herramientas para Amazon Web Services
AWS también proporciona bibliotecas, código de muestra, tutoriales y otros recursos para ayudarlo a comenzar con mayor facilidad. Para obtener más información, consulte Código de muestra y bibliotecas
Cómo se le cobra Amazon RDS
Cuando usa Amazon RDS, puede elegir instancias de base de datos bajo demanda o instancias de base de datos reservadas. Para obtener más información, consulte Facturación de instancia de base de datos para Amazon RDS.
Para obtener información acerca de los precios de Amazon RDS, consulte la página del producto de Amazon RDS
Siguientes pasos
En la sección anterior se han presentado los componentes de la infraestructura básica ofrecidos por RDS. ¿Qué debería hacer a continuación?
Introducción
Cree una instancia de base de datos siguiendo las instrucciones de Introducción a Amazon RDS.
Temas específicos de los motores de bases de datos
Puede revisar información específica de un motor de base de datos determinado en las siguientes secciones: