Amazon Relational Database Service (Amazon RDS) es un servicio web que facilita las tareas de configuración, utilización y escalado de una base de datos relacional en la nube. Proporciona capacidad rentable y de tamaño modificable y, al mismo tiempo, gestiona las tediosas tareas de administración de la base de datos, lo que le permite centrarse en sus aplicaciones y en su negocio.
Amazon RDS le permite acceder a todas las funciones de un motor de base de datos MySQL, Oracle o SQL Server conocido. Esto supone que el código, las aplicaciones y las herramientas que ya utiliza en la actualidad con sus bases de datos MySQL existentes funcionarán a la perfección con Amazon RDS. Amazon RDS incluye revisiones automáticamente en el software de base de datos, y realiza una copia de seguridad de la misma, almacenando las copias de seguridad durante un periodo de retención definido por el usuario. Podrá beneficiarse de la flexibilidad que supone poder escalar los recursos informáticos o la capacidad de almacenamiento asociada con su instancia de base de datos relacional por medio de una única llamada a API o unos clics en la AWS Management Console. Además, Amazon RDS le facilita la tarea de utilización de la replicación (actualmente compatible con los motores de base de datos MySQL y Oracle) para aumentar los niveles de disponibilidad de la base de datos, mejorar la durabilidad de los datos o escalar más allá de los límites de capacidad de una única instancia de base de datos para cargas de trabajo de base de datos que realizan un uso intensivo de las lecturas. De la misma forma que con Amazon Web Services, no se requiere ningún tipo de inversión inicial, únicamente tendrá que pagar los recursos que utilice.Puede concebir una instancia de BBDD como un entorno en la nube con los recursos informáticos y de almacenamiento que especifique. Puede crear y eliminar instancias de BBDD, definir/depurar atributos de infraestructura de sus instancias de BBDD y controlar el acceso y la seguridad mediante la AWS Management Console, las API de Amazon RDS y las herramientas de línea de comandos. En una instancia de base de datos determinada se pueden crear varias bases de datos MySQL o SQL (hasta 30) o esquemas de base de datos de Oracle.
Amazon RDS gestiona el trabajo que supone la configuración de una base de datos relacional, desde el aprovisionamiento de la capacidad de infraestructura que solicite hasta la instalación del software de base de datos. En cuanto su base de datos se esté ejecutando en su propia Instancia de BBDD, Amazon RDS automatiza las tareas administrativas más frecuentes, como por ejemplo la realización de las copias de seguridad y la aplicación de revisiones en el software de base de datos que tiene en marcha su Instancia de BBDD. En implementaciones en zonas de disponibilidad múltiples (Multi-AZ) opcionales (actualmente compatibles con los motores de bases de datos MySQL y Oracle), Amazon RDS gestiona también la replicación de datos sincrónica entre zonas de disponibilidad y la conmutación por error automática.
Dado que Amazon RDS ofrece acceso nativo a la base de datos, interactuará con el software de base de datos relacional como lo haría normalmente. Esto significa que seguirá siendo responsable de la gestión de la configuración de la base de datos específica de su aplicación. Tendrá que crear el esquema relacional que mejor se adapte a su caso práctico, y será responsable de los ajustes de rendimiento que sean necesarios para optimizar su base de datos para el flujo de trabajo de su aplicación.
Amazon Web Services ofrece a los desarrolladores diversas alternativas de base de datos. Amazon RDS le permite ejecutar una base de datos relacional completa mientras reduce la administración de la base de datos; Amazon SimpleDB ofrece funciones sencillas de indexado y consulta con una escalabilidad perfecta; Amazon DynamoDB es un servicio de base de datos NoSQL totalmente gestionado que ofrece un rendimiento rápido y predecible con una escalabilidad perfecta. Además, la utilización de una de las muchas imágenes de máquina de Amazon (AMI) de base de datos relacional en Amazon EC2 y en Amazon EBS le permite utilizar su propia base de datos relacional en la nube. Existen importantes diferencias entre estas alternativas, por lo que una de ellas podría ser más apropiada que otra para su caso de uso. Consulte Ejecución de bases de datos en AWS para obtener información adicional sobre la solución que mejor se adapta a sus necesidades.
Para inscribirse en Amazon RDS, deberá hacer clic en el botón "Inscribirme en Amazon RDS" que aparece en la Página de detalle de Amazon RDS y completar el proceso de inscripción. Debe disponer de una cuenta de Amazon Web Services. Si aún no dispone de una, se le pedirá que la cree cuando inicie el proceso de inscripción en Amazon RDS. Después de haberse inscrito en RDS, consulte la Documentación de Amazon RDS, que incluye nuestra Guía de introducción.
Cuando se haya familiarizado con Amazon RDS, podrá lanzar una instancia de BBDD mediante la AWS Management Console o con las API de Amazon RDS.
En cuanto su Instancia de BBDD esté disponible, puede recuperar su extremo mediante la descripción de Instancia de BBDD de la AWS Management Console o con la API DescribeDBInstance. Por medio de este extremo podrá construir la cadena de conexión necesaria para establecer conexión directa con su Instancia de BBDD utilizando su herramienta de base de datos o lenguaje de programación favorito. Para poder permitir solicitudes de red en su instancia de BBDD en ejecución tendrá que autorizar acceso. Para obtener una explicación detallada de cómo construir su cadena de conexión y ponerse en marcha, consulte nuestra Guía de introducción.
De forma predeterminada, los clientes pueden tener hasta un total de 20 instancias de BBDD de Amazon RDS. De las 20, hasta 10 pueden ser instancias de bases de datos Oracle o SQL Server con el modelo "License Included". Las 20 instancias se pueden utilizar para MySQL, Oracle o SQL Server con el modelo "BYOL". Si su aplicación necesita más de veinte instancias de BBDD, podrá solicitar más instancias de BBDD a través de este formulario de solicitud.
Hay formas sencillas de importar datos en Amazon RDS, como las utilidades mysqldump o mysqlimport para MySQL, importar/exportar o SQL Loader para Oracle y el asistente de importación/exportación o Bulk Copy Program (BCP) para SQL Server. Si desea obtener información adicional acerca de la importación y exportación de datos, consulte las guías Data Import Guide for MySQL, Data Import Guide for Oracle o Data Import Guide for SQL Server.
Amazon RDS admite actualmente MySQL 5.1 y 5.5 (Community Edition) con InnoDB como motor de almacenamiento de base de datos predeterminado, Oracle Database 11gR2 y SQL Server 2008 R2.
Si utiliza MySQL, puede utilizar Gestión de versiones de motor de base de datos MySQL de Amazon RDS para tener un control opcional sobre la versión secundaria de MySQL de la instancia de BBDD.
Si utiliza Oracle, puede utilizar Gestión de versiones de motor de base de datos Oracle de Amazon RDS para tener un control opcional sobre el nivel de revisión de la instancia de BBDD.
Si utiliza SQL Server, puede usar Amazon RDS SQL Server DB Engine Version Management para adquirir un control opcional sobre el nivel de revisión de la instancia de BBDD.
Las características Restauración a un momento dado y Restauración de instantánea de Amazon RDS para MySQL necesitan un motor de almacenamiento de recuperación tras bloqueo y son válidos exclusivamente para motores de almacenamiento InnoDB. Aunque MySQL admite varios motores de almacenamiento con diferentes funciones, no todos son buenos para una recuperación tras bloqueo. Por ejemplo, el motor de almacenamiento MyISAM no admite una recuperación tras bloqueo que sea fiable y podría ocasionar la pérdida de los datos o provocar daños en los mismos cuando se reinicia MySQL después de un bloqueo, impidiendo que funcione la restauración a un momento dado o la restauración de instantánea. No obstante, si todavía quiere utilizar MyISAM con Amazon RDS, el seguimiento de estos pasos podría ser útil en ciertas situaciones para la función de restauración de instantánea.
En caso de que quisiera convertir tablas MyISAM existentes a tablas InnoDB, puede utilizar el comando de modificación de tabla (por ejemplo, modificar tabla TABLE_NAME engine=innodb;). Tenga en cuenta que MyISAM e InnoDB cuentan con diferentes puntos fuertes y débiles, por lo que debería evaluar completamente el impacto de la implementación de este cambio en las aplicaciones antes de llevarlo a cabo.
Además, Amazon RDS para MySQL no admite el motor de almacenamiento federado.
Puede concebir la ventana de mantenimiento de Amazon RDS como una oportunidad de control de cuándo tienen lugar las modificaciones de la Instancia de BBDD (como por ejemplo el escalado de la Instancia de BBDD) y la aplicación de revisiones del software, en caso de que alguna de ellas sean necesarias o solicitadas. Si hay un evento de "mantenimiento" programado para una determinada semana, se iniciará y completará en un punto determinado dentro de la ventana de mantenimiento de cuatro horas que usted identifique.
Los únicos eventos de mantenimiento que necesitan que Amazon RDS desconecte su Instancia de BBDD son las operaciones de ampliación de la capacidad informática (que generalmente se realizan en cuestión de minutos) o aplicación de revisiones de software necesarias. La aplicación de revisiones necesarias se programa automáticamente únicamente para los parches que están relacionados con la seguridad y con la durabilidad. Este tipo de aplicación de revisiones tiene lugar con poca frecuencia (normalmente una vez cada varios meses), y raramente necesitará más de una fracción de su ventana de mantenimiento. Si no especifica una ventana de mantenimiento semanal preferida al crear la instancia de BBDD, se asignará un valor predeterminado de 30 minutos. Si desea modificar el momento en el que tiene lugar el mantenimiento, puede hacerlo modificando su instancia de BBDD en la AWS Management Console o mediante la utilización de la API ModifyDBInstance. Cada una de sus instancias de BBDD puede tener ventanas de mantenimiento preferidas diferentes, si así lo decide.
La ejecución de su Instancia de BBDD como implementación Multi-AZ puede reducir aún más el impacto que tiene un evento de mantenimiento, ya que Amazon RDS realizará la labor de mantenimiento siguiendo estos pasos: 1) Realizar el mantenimiento en la instancia en espera 2) Elevar la instancia en espera a instancia principal 3) Realizar el mantenimiento en la antigua instancia principal, que pasa a ser la nueva instancia en espera.
Si desea obtener más información sobre la utilización de las API o la interfaz de línea de comandos para especificar su ventana de mantenimiento, consulte la Guía del desarrollador de Amazon RDS. Si desea obtener más información sobre las implementaciones en modo Multi-AZ, haga clic aquí.
Si utiliza MySQL, puede acceder a los registros de consultas lentas MySQL de su base de datos para determinar si existen consultas SQL que se están ejecutando a menor velocidad y, si procede, las características de rendimiento de cada una de ellas. Podría definir el parámetro de base de datos "slow_query_log" y consultar la tabla mysql.slow_log para revisar las consultas SQL que se están ejecutando a menor velocidad. Consulte la Guía del usuario de Amazon RDS para obtener más información sobre cómo trabajar con grupos de parámetros de BBDD.
Si utiliza Oracle, puede utilizar los datos del archivo de rastreo de Oracle para identificar las consultas lentas. Para obtener más información sobre cómo acceder a los datos del archivo de rastreo, consulte la Guía del usuario de Amazon RDS.
Con SQL Server, puede utilizar el rastreo de SQL Server de cliente para identificar las consultas lentas. Para obtener más información sobre cómo acceder a los datos del archivo de rastreo de cliente, consulte Amazon RDS User Guide.
Es posible que también desee revisar las métricas de utilización de CPU de su instancia de BBDD mediante Amazon CloudWatch. Los altos niveles de utilización de CPU podrían reducir el rendimiento de las consultas y, en este caso, es posible que desea barajar la posibilidad de ampliar su clase de Instancia de BBDD. Si desea obtener más información sobre la supervisión de la utilización de la CPU, consulte la Guía de supervisión de Amazon RDS.Únicamente paga lo que utiliza, y no hay ni costes mínimos ni de configuración. Se le facturará en función de lo siguiente:
Si desea obtener información sobre el esquema de precios de Amazon RDS, visite la sección esquema de precios de la página del producto de Amazon RDS.
La facturación de una Instancia de BBDD comienza en cuanto la Instancia de BBDD está disponible. La facturación continúa hasta que la Instancia de BBDD finaliza, situación que se produciría al eliminarla o en caso de producirse un fallo en la instancia.
Las horas de Instancia de BBDD se facturan por cada hora que su Instancia de BBDD está en ejecución en estado de disponibilidad. Si no desea que se le siga cobrando por su Instancia de BBDD, debe finalizarla para evitar que se le cobren horas de instancia adicionales. Las porciones de hora de consumo de la instancia de base de datos se cobrarán como horas completas.
El almacenamiento aprovisionado a su Instancia de BBDD para sus datos principales está situado dentro de una única Zona de disponibilidad. Cuando se realiza una copia de seguridad de su base de datos, los datos de la copia de seguridad (incluidos los registros de transacción) se replican en varias ubicaciones geográficas de forma redundante en varias Zonas de disponibilidad, a fin de proporcionar niveles aún mayores de durabilidad de datos. El precio de almacenamiento de copia de seguridad que se encuentre más allá de su asignación gratuita refleja esta replicación adicional, que se realiza para maximizar la durabilidad de sus copias de seguridad críticas.
Si especifica que su instancia de BBDD debe ser una implementación Multi-AZ, se le facturará en función del esquema de precios Multi-AZ publicado en la página de precios de Amazon RDS. La facturación de Multi-AZ depende de lo siguiente:
Excepto que se especifique lo contrario, nuestros precios no incluyen los impuestos y gravámenes correspondientes, como el IVA y cualquier otro impuesto sobre las ventas. Por ejemplo, nuestros precios para la región Asia Pacífico (Tokio) incluyen el impuesto de consumo de Japón.
Con las instancias reservadas ahora podrá realizar un único pago por adelantado para asegurarse una reserva por un plazo de uno o tres años, para ejecutar su Instancia de BBDD en una Región concreta y recibir un descuento importante en los costes de uso por hora continuos. Existen tres tipos de instancias reservadas (instancias reservadas de utilización ligera, media e intensa) que permiten equilibrar el importe del pago anticipado a realizar con su precio por hora efectivo.
En términos funcionales, las instancias reservadas y las instancias de BBDD bajo demanda son exactamente lo mismo. La única diferencia que existe es la forma en la que se le facturan sus instancias de BBDD. En las instancias reservadas, realiza un único pago por adelantado y obtiene una tarifa de uso por hora constante más bajo (en comparación con las instancias de BBDD bajo demanda) durante el periodo que dure el plazo.
Puede utilizar la opción "Comprar instancia de BBDD reservada" de la AWS Management Console. Si no, puede utilizar las herramientas de la API, listar las reservas disponibles para compra con el método de API DescribeReservedDBInstancesOfferings y, a continuación, comprar una reserva de instancia de BBDD llamando al método PurchaseReservedDBInstancesOffering.
La creación de una instancia reservada no es diferente de la ejecución de una Instancia bajo demanda. Simplemente utilizará el comando rds-create-db-instance, la API CreateDBInstance, o seleccionará la opción Lanzar Instancia de BBDD de la AWS Management Console, especificando la clase de Instancia de BBDD y la Región en la que realizó la reserva. Siempre que su compra de reserva se realizara correctamente, Amazon RDS aplicará a la nueva Instancia de BBDD la tarifa por hora reducida a la que opta.
Los cambios de precio asociados con una instancia reservada se activan en cuanto la solicitud se recibe mientras se procesa la autorización del pago. Podrá seguir el estado de su reserva en la página Actividad de la cuenta AWS, o mediante la API DescribeReservedDBInstances. Si el pago único no puede autorizarse correctamente al siguiente periodo de facturación, el precio con descuento no entrará en vigor.
Cuando vence el plazo de reserva, su instancia reservada volverá a la tarifa de uso por horas Bajo demanda correspondiente a la clase de su Instancia de BBDD y Región.
Para poder seleccionar su clase de Instancia de BBDD y capacidad de almacenamiento iniciales querrá evaluar las necesidades informáticas, de memoria y de almacenamiento de su aplicación. Si desea obtener más pautas que debe tener en cuenta a la hora de seleccionar la clase de Instancia de BBDD y la capacidad de almacenamiento adecuadas, consulte la Guía de tamaño de la Instancia de BBDD Amazon RDS.
Puede escalar los recursos informáticos y la capacidad de almacenamiento asignada a su instancia de BBDD mediante la API ModifyDBInstance o la AWS Management Console (seleccionando la instancia de BBDD que desee y haciendo clic en el botón "Modificar"). Los recursos de memoria y CPU se modifican cambiando la clase de Instancia de BBDD, y el almacenamiento disponible cambia cuando modifica su asignación de almacenamiento. Tenga en cuenta que, cuando modifica su clase de Instancia de BBDD o el almacenamiento asignado, los cambios solicitados se aplicarán durante la ventana de mantenimiento que especifique. Si lo desea, puede utilizar el marcador "apply-immediately" para aplicar sus solicitudes de ampliación de forma inmediata. Tenga en cuenta que también se aplicarán el resto de cambios pendientes en el sistema.
Supervise la utilización de recursos informáticos y de almacenamiento de su Instancia de BBDD, con ningún tipo de coste adicional, mediante Amazon CloudWatch. Podrá acceder a métricas como, por ejemplo, de utilización de CPU, de utilización de almacenamiento y de tráfico de red haciendo clic en la ficha "Supervisión" de su instancia de BBDD en la AWS Management Console o utilizando las API de Amazon CloudWatch. Si desea obtener más información sobre la supervisión de sus instancias de BBDD activas, lea la Guía de supervisión de Amazon RDS.
Tenga en cuenta que, para SQL Server, debido a las limitaciones de extensibilidad del almacenamiento distribuido asociado a un servidor de Windows, Amazon RDS no permite actualmente aumentar el almacenamiento. Aunque pretendemos incorporar esta funcionalidad en el futuro, le recomendamos que prevea la capacidad de almacenamiento en función del crecimiento previsto para el futuro en términos de almacenamiento. Entretanto, si necesita aumentar el almacenamiento de una instancia de base de datos de SQL Server, debe exportar los datos, crear una nueva instancia de BBDD con más capacidad de almacenamiento e importar los datos en ella. Consulte Data Import Guide for SQL Server para obtener información adicional.
Amazon RDS utiliza volúmenes EBS para el almacenamiento del registro y bases de datos. Se distribuye automáticamente en varios volúmenes EBS para mejorar el rendimiento IOPS, según el tamaño de almacenamiento solicitado. En caso de que se trate de MySQL y SQL Server, en una instancia de BBDD existente, podría observar algunas mejoras en la capacidad de E/S si amplía el almacenamiento. Puede aumentar la capacidad de almacenamiento asignada a la instancia de BBDD mediante AWS Management Console o la API ModifyDBInstance.
Sin embargo, para SQL Server, debido a las limitaciones de extensibilidad del almacenamiento distribuido asociado a un servidor de Windows, Amazon RDS no permite actualmente aumentar el almacenamiento.
La capacidad de almacenamiento asignada a su Instancia de BBDD puede aumentarse y, al mismo tiempo, mantener la disponibilidad de su Instancia de BBDD. Sin embargo, cuando decida ampliar o reducir los recursos informáticos disponibles en su Instancia de BBDD, la base de datos dejará de estar disponible temporalmente mientras se modifica la clase de la Instancia de BBDD. Este periodo de disponibilidad suele durar tan solo unos minutos, y tendrá lugar durante la ventana de mantenimiento de su Instancia de BBDD, a menos que especifique que la modificación debe aplicarse de forma inmediata.
Amazon RDS admite diversas clases de Instancia de BBDD y asignaciones de almacenamiento para dar cabida a diferentes necesidades de aplicación. Si su aplicación necesita más recursos informáticos que la clase de Instancia de BBDD más grande, o más almacenamiento que la asignación máxima, podrá implementar la función de particionamiento, para dispersar de este modo sus datos entre varias instancias de BBDD.
Amazon RDS ofrece dos métodos diferentes para la realización de copias de seguridad y restauración de copias de seguridad automatizadas de su Instancia de BBDD y de instantáneas de la base de datos (Instantáneas de BBDD).
La función de copia de seguridad automatizada de Amazon RDS permite la recuperación en un punto del tiempo de su Instancia de BBDD. Cuando las copias de seguridad automatizadas están activadas en su instancia de base de datos, Amazon RDS realiza automáticamente una instantánea diaria completa de sus datos (durante la ventana de copia de seguridad que prefiera) y captura registros de transacción (a medida que se realizan actualizaciones de su instancia de base de datos). Cuando inicia una recuperación en un punto del tiempo, los registros de transacción se aplican a la copia de seguridad diaria más adecuada, para restaurar su instancia de BBDD al momento que solicitó. Amazon RDS conserva copias de seguridad de una instancia de base de datos durante un periodo de tiempo limitado especificado por el usuario, que recibe el nombre de periodo de retención. De forma predeterminada, este periodo es de un día, pero puede configurarse hasta un máximo de 35 días. Podrá iniciar una restauración de punto en el tiempo y especificar cualquier segundo durante su periodo de retención, hasta el Tiempo razonable más reciente. Podrá utilizar la API DescribeDBInstances para que devuelva el tiempo restaurable más reciente de sus instancias de BBDD, que suele encontrarse dentro de los cinco últimos minutos. Del mismo modo, si lo desea, puede buscar el tiempo restaurable más reciente de una instancia de BBDD seleccionándolo en la AWS Management Console y consultando en la ficha "Descripción" del panel inferior de la consola.
Las Instantáneas de BBDD las inicia el usuario, y le permiten realizar una copia de seguridad en un estado conocido con la frecuencia con la que desee, para posteriormente restaurarlas al estado especificado en cualquier momento. Las instantáneas de BBDD pueden crearse mediante la AWS Management Console o la API CreateDBSnapshot, y se conservan hasta que las elimina de forma explícita mediante la consola o la API DeleteDBSnapshot.
Puede copiar las instantáneas que Amazon RDS realiza para permitir las copias de seguridad automatizadas (usando la consola de AWS o el comando rds-copy-db-snapshot), o bien para que pueda utilizar la funcionalidad de restablecimiento de instantáneas. Puede identificarlas utilizando el tipo de instantánea "automatizada". Además, puede identificar la hora a la que se ha capturado la instantánea si consulta el campo "Hora de creación de la instantánea". De forma alternativa, el identificador de las instantáneas "automatizadas" también contiene la hora (en UTC) a la que se ha capturado la instantánea.
Tenga en cuenta que, al realizar una operación de restauración a un punto del tiempo o desde una Instantánea de BBDD, se crea una nueva Instancia de BBDD con un nuevo extremo (la antigua Instancia de BBDD puede eliminarse mediante AWS Management Console o con la API DeleteDBInstance, si así lo desea). Esto se realiza para permitirle crear varias instancias de BBDD desde una Instantánea de BBDD o punto en el tiempo concretos.De forma predeterminada, y sin ningún tipo de coste adicional, Amazon RDS habilita copias de seguridad automatizadas de su Instancia de BBDD con un periodo de retención de 1 día. El almacenamiento de copia de seguridad gratuito está limitado al tamaño de su base de datos aprovisionada, y únicamente se aplica a las instancias de BBDD activas. Por ejemplo, si tiene 10 GB-mes de almacenamiento de base de datos aprovisionado, le ofreceremos hasta 10 GB-mes de almacenamiento de copia de seguridad sin ningún tipo de coste adicional. Si desea ampliar el periodo de retención de la copia de seguridad más allá de un día, puede hacerlo utilizando la API CreateDBInstance (al crear una nueva Instancia de BBDD) o la API ModifyDBInstance (para una Instancia de BBDD existente). Podrá utilizar estas API para cambiar el parámetro RetentionPeriod de 1 al número de días que desee. Si desea obtener más información sobre las copias de seguridad automatizadas, consulte la Guía del desarrollador de Amazon RDS.
Las instantáneas de BBDD y las copias de seguridad automatizadas de Amazon RDS se almacenan en S3.
Puede utilizar la AWS Management Console o la API ModifyDBInstance para gestionar el periodo de tiempo durante el que sus copias de seguridad automatizadas se conservan mediante la modificación del parámetro RetentionPeriod. Si desea desactivar las copias de seguridad automatizadas, de forma conjunta, puede hacerlo estableciendo el periodo de retención en 0 (aunque no se recomienda). Podrá gestionar las Instantáneas de BBDD creadas por el usuario mediante la sección Instantáneas de BBDD de la AWS Management Console. Del mismo modo, si lo desea, puede ver una lista de las Instantáneas de BBDD creadas por el usuario de una Instancia de BBDD determinada mediante la API DescribeDBSnapshots, y eliminar instantáneas con la API DeleteDBSnapshot.
Amazon VPC le permite crear un entorno de red virtual en una sección independiente y privada de la nube de Amazon Web Services (AWS), donde puede ejercer el control total de los aspectos, como los intervalos de direcciones IP privadas, las subredes, las tablas de enrutamiento y las puertas de enlace de red. Con Amazon VPC, puede definir una topología de red virtual y personalizar la configuración de red para simular lo máximo posible una red IP tradicional que puede utilizar en su propio centro de datos.
Uno de los escenarios en los que puede utilizar Amazon RDS en una VPC puede ser si desea ejecutar una aplicación web dirigida al público, mientras mantiene servidores en segundo plano a los que no pueda acceder el público en una subred privada. Puede crear una subred orientada al público para los servidores web que tenga acceso a Internet y colocar sus instancias de base de datos de RDS en segundo plano en una subred privada sin acceso a Internet. Si desea obtener información adicional acerca de Amazon VPC, consulte la guía del usuario Amazon Virtual Private Cloud User Guide.
La funcionalidad básica de Amazon RDS es la misma, independientemente de que se utilice o no una VPC. Amazon RDS gestiona copias de seguridad, revisiones de software, y la detección y recuperación automática de fallos. Además, permite realizar un escalado de lectura (réplicas de lectura) y de almacenamiento con facilidad en caso de que las instancias de base de datos se implementen dentro o fuera de una VPC. Sin embargo, actualmente, VPC solo admite Amazon RDS para MySQL.
A las instancias de base de datos de Amazon RDS implementadas fuera de una VPC se les asigna una dirección IP externa (para lo que se determina el nombre de extremo/DNS) que ofrece conectividad desde EC2 o desde Internet. En Amazon VPC, las instancias de base de datos de Amazon RDS solo tienen una dirección IP privada (con una subred definida por el cliente).
Un grupo de subred de base de datos es una recopilación de subredes que puede designar para las instancias de base de datos de RDS en una VPC. Cada grupo de subred de base de datos debe tener al menos una subred para cada zona de disponibilidad en una región determinada. Al crear una instancia de base de datos en una VPC, tendrá que seleccionar un grupo de subred de base de datos. A continuación, Amazon RDS utiliza dicho grupo de subred de base de datos y su zona de disponibilidad preferida para seleccionar una subred y una dirección IP dentro de dicha subred. Amazon RDS crea y asocia una interfaz de red Elastic a su instancia de base de datos con dicha dirección IP.
Tenga en cuenta que le recomendamos encarecidamente que use el nombre DNS para conectarse a la instancia de base de datos, ya que la dirección IP subyacente puede cambiar (por ejemplo, durante una conmutación por error).
Para las implementaciones Multi-AZ, definir una subred para todas las zonas de disponibilidad en una región permitirá a Amazon RDS crear una nueva instancia en espera en otra zona de disponibilidad en caso de que surja la necesidad. Es posible que necesite hacer esto para las implementaciones Single-AZ, solo en caso de que desee convertirlas en implementaciones Multi-AZ en el mismo punto.
Para consultar un ejemplo de revisión sobre la creación de una instancia de base de datos en una VPC, consulte la guía del usuario Amazon RDS User Guide.
A continuación, describimos los requisitos previos necesarios para crear instancias de base de datos en una VPC:
Amazon RDS permite controlar el acceso a sus instancias de BBDD utilizando los grupos de seguridad de la base de datos (Grupos de seguridad de BBDD). Un Grupo de seguridad de BBDD realiza las mismas funciones que un firewall que controla el acceso de red a su Instancia de BBDD. El acceso de red a sus instancias de BBDD está desactivado de forma predeterminada. Si desea que sus aplicaciones accedan a su instancia de base de datos, puede configurar su grupo de seguridad de base de datos para permitir el acceso desde instancias de EC2 con la pertenencia específica a un grupo de seguridad de VPC/EC2 o con rangos de IP. Este proceso recibe el nombre de ingreso. En cuanto se configura el ingreso para un Grupo de seguridad de BBDD se aplican las mismas reglas a todas las instancias de BBDD asociadas a ese Grupo de seguridad de BBDD. Los grupos de seguridad de BBDD pueden configurarse con la sección "Grupos de seguridad de BBDD" de la AWS Management Console o mediante las API de Amazon RDS.
Tenga en cuenta que si asocia una VPC a un grupo de seguridad de base de datos, todas las normas de acceso dentro del grupo de seguridad de base de datos deben ser de los grupos de seguridad de VPC o de los rangos de IP. Los grupos de seguridad de EC2 y los grupos de seguridad de VPC no son intercambiables.
Otra cuestión que cabe tener en cuenta es que, si crea una instancia de base de datos en una VPC con una suscripción específica a un grupo de seguridad de base de datos, Amazon RDS crea un grupo de seguridad de VPC correspondiente para la gestión de dicha instancia de base de datos. Puede identificar tales grupos de seguridad de VPC en su descripción, que podrían tener el formato "Grupo de seguridad para la instancia de base de datos de RDS
Es posible utilizar grupos de seguridad de base de datos para ayudar a proteger las instancias de base de datos incluidas en Amazon VPC. Además, el tráfico de red que entra y sale de cada subred puede autorizarse o denegarse por medio de listas de control de acceso (ACL) de la red. Todo el tráfico de red que entre o salga de su VPC a través de la conexión VPN IPsec puede inspeccionarse por medio de la infraestructura que de la que usted disponga en sus instalaciones (cortafuegos de red, sistemas de detección y prevención de intrusos).
Se puede acceder a las instancias de base de datos dentro de una VPC mediante las instancias de EC2 implementadas en la misma VPC. Si estas instancias de EC2 se implementan en una subred pública con direcciones Elastic IP asociadas, puede acceder a las instancias de EC2 a través de Internet.
Es posible acceder a las instancias de base de datos implementadas en una VPC desde Internet o desde las instancias de EC2 fuera de la VPC a través de VPN o de host de protección que puede iniciar en una subred pública. Para utilizar un host de protección, tiene que configurar una subred pública con una instancia de EC2 que actúa como una protección SSH. Esta subred pública debe tener una puerta de enlace de Internet y normas de enrutamiento que permitan que el tráfico se redirija a través del host SSH, que posteriormente debe reenviar las solicitudes a la dirección IP privada de su instancia de base de datos de RDS.
También puede configurar una puerta de enlace VPN que amplíe su red corporativa en su VPC y que permita acceder a la instancia de base de datos de RDS en dicha VPC. Consulte la guía del usuario Amazon VPC User Guide para obtener más detalles.
Tenga en cuenta que le recomendamos encarecidamente que use el nombre DNS para conectarse a la instancia de base de datos, ya que la dirección IP subyacente puede cambiar (por ejemplo, durante una conmutación por error).
Puede realizar una instantánea de la instancia de base de datos fuera de la VPC y restablecerla en la VPC, especificando el grupo de subred de base de datos que desea utilizar. De forma alternativa, también puede realizar una operación "Restaurar a un punto temporal".
Actualmente, no se admite la migración directa de las instancias de base de datos de dentro a fuera de la VPC. Por cuestiones de seguridad, una instantánea de base de datos de una instancia de base de datos dentro de una VPC no se puede restablecer fuera de la VPC. Sucede lo mismo con la función "Restaurar a un punto temporal". Si necesita transferir la instancia de base de datos de dentro a fuera de la VPC, tendrá que exportar los datos de la instancia de base de datos de origen de la VPC a la instancia de base de datos de destino implementada fuera de la VPC.
Es responsable de modificar las tablas de enrutamiento y las ACL de red en la VPC a fin de garantizar que las instancias de cliente de la VPC puedan acceder a la instancia de base de datos.
Para las implementaciones Multi-AZ, después de una conmutación por error, la instancia EC2 de cliente y la instancia de base de datos de RDS pueden estar en diferentes zonas de disponibilidad. Debe configurar las ACL de red para garantizar que sea posible la intercomunicación AZ.
Se puede actualizar un grupo de subred de base de datos existente para agregar más subredes para las zonas de disponibilidad existentes o para nuevas zonas de disponibilidad agregadas desde la creación de la instancia de base de datos. Sin embargo, actualmente no se permite el grupo de subred de base de datos de una instancia implementada de base de datos.
Para empezar a utilizar Amazon RDS necesitará una cuenta de desarrollador de AWS. Si no cuenta con una antes de inscribirse en Amazon RDS, se le pedirá que cree una en cuanto comience el proceso de inscripción. Una cuenta de usuario maestra es diferente de una cuenta de desarrollador de AWS, y se utiliza únicamente dentro del contexto de Amazon RDS para controlar el acceso a sus instancias de BBDD. La cuenta de usuario maestra es una cuenta de usuario de base de datos nativa que puede utilizar para conectarse a su Instancia de BBDD. Podrá especificar el nombre de usuario maestro y la contraseña que desea asociar con cada Instancia de BBDD cuando la crea. Cuando haya creado su Instancia de BBDD, podrá conectarse a la base de datos utilizando las credenciales de usuario maestro. Posteriormente, es posible que también desee crear cuentas de usuario adicionales de forma que pueda restringir quién puede acceder a su Instancia de BBDD.
Los privilegios predeterminados del usuario maestro son: create, drop, references, event, alter, delete, index, insert, select, update, create temporary tables, lock tables, trigger, create view, show view, alter routine, create routine, execute, trigger, create user, process, show databases, grant option.
Para Oracle, al usuario maestro se le otorga el rol "dba". El usuario maestro hereda la mayoría de los privilegios asociados con el rol. Consulte Amazon RDS User Guide para obtener la lista de privilegios restringidos y las alternativas correspondientes para realizar tareas administrativas que puedan requerir estos privilegios.
Con SQL Server, a un usuario que crea una base de datos se le otorga la función "db_owner". Consulte la Guía del usuario de Amazon RDS para obtener la lista de privilegios restringidos y las alternativas correspondientes para realizar tareas administrativas que puedan requerir estos privilegios.
No, todo funciona de la misma forma a la que está acostumbrado al utilizar una base de datos relacional que gestione usted mismo.
Sí, aunque esta opción sólo es compatible actualmente con el motor de MySQL.
Amazon RDS genera un certificado SSL para cada Instancia de BBDD. La Guía del usuario de Amazon RDS incluye instrucciones para la creación de una conexión cifrada utilizando el cliente mysql predeterminado. En cuanto se establece una conexión cifrada, los datos transferidos entre la Instancia de BBDD y su aplicación se cifrarán durante el proceso de transferencia. Si necesita que sus datos se cifren mientras se encuentran "en reposo" en la base de datos, su aplicación deberá gestionar el cifrado y el descifrado de los datos. Debe tener en cuenta además que la compatibilidad con SSL de Amazon RDS se ciñe al cifrado de la conexión entre su aplicación y su Instancia de BBDD, no debe confiarse en ella para la autenticación de la Instancia de BBDD.
Aunque SSL ofrece ventajas de seguridad, debe ser consciente de que el cifrado SSL es una operación que realiza un uso intensivo de la infraestructura informática y que, por lo tanto, aumentará la latencia de su conexión a la base de datos. Para obtener más información sobre la forma en la que SSL funciona con MySQL, puede consultar directamente la documentación de MySQL que se encuentra aquí.
GRANT USAGE ON *.* TO ‘encrypted_user’@’%’ REQUIRE SSL
Amazon RDS selecciona de forma predeterminada los parámetros de configuración óptimos para su Instancia de BBDD teniendo en cuenta los recursos informáticos y la capacidad de almacenamiento de la Instancia de BBDD. Sin embargo, si desea modificar la configuración, puede utilizarlo mediante las API de gestión de la configuración. Debe tener en cuenta que la modificación de los parámetros de configuración recomendados puede tener efectos no deseados, que van desde la reducción de rendimiento hasta bloqueos del sistema, y solo deberán intentarla usuarios avanzados que desean asumir estos riesgos. Para obtener más información sobre cómo cambiar parámetros, consulte la guía del usuario Amazon RDS User Guide.
Un grupo de parámetros de base de datos (Grupo de parámetros de BBDD) realiza las funciones de "contenedor" de valores de configuración del motor que pueden aplicarse a una o más instancias de BBDD. Si crea una instancia de BBDD sin especificar un grupo de parámetros de BBDD, se utilizará un grupo de parámetros de BBDD predeterminado. Este grupo predeterminado contiene valores predeterminados del motor y del sistema Amazon RDS, optimizados para la Instancia de BBDD que está ejecutando. Sin embargo, si desea que su Instancia de BBDD funcione con los valores de configuración de motor especificados personalizados, basta con que cree un nuevo Grupo de parámetros de BBDD, modifique los parámetros que desee y que modifique la Instancia de BBDD para utilizar el nuevo Grupo de parámetros de BBDD. Una vez asociadas, todas las instancias de BBDD que utilicen un Grupo de parámetros de BBDD determinado obtendrán todas las actualizaciones de parámetro correspondientes a dicho Grupo de parámetros de BBDD. Si desea obtener más información sobre la configuración de grupos de parámetros de base de datos, lea la guía DB Parameter Group Deployment Guide.
Puede utilizar la AWS Management Console, las API de Amazon RDS o las herramientas de línea de comandos para ver información sobre sus grupos de parámetros de BBDD y los ajustes de parámetro correspondientes.
Amazon RDS admite los motores de base de datos MySQL, Oracle y SQL Server. Un cliente puede seleccionar el motor de base de datos que mejor satisfaga sus requisitos.
Amazon RDS ofrece dos opciones de replicación diferentes que tienen fines distintos.
Si lo que busca es utilizar la replicación para aumentar la disponibilidad de la base de datos y, al mismo tiempo, proteger las actualizaciones más recientes de su base de datos de interrupciones no planificadas, baraje la posibilidad de ejecutar su Instancia de BBDD como implementación Multi-AZ. Cuando crea o modifica su instancia de la base de datos para que se ejecute como una implementación Multi-AZ, Amazon RDS aprovisionará y gestionará automáticamente una réplica "en espera" dentro de una Zona de disponibilidad independiente (es decir, una infraestructura independiente situada en una ubicación físicamente independiente). En caso de tener que realizar tareas de mantenimiento planificadas en la base de datos, de que se produzca un fallo en la instancia de la base de datos o de que tenga lugar un error en una Zona de disponibilidad, Amazon RDS conmutará automáticamente a la instancia en espera, para que las operaciones de la base de datos puedan reanudarse rápidamente sin intervención administrativa. Las implementaciones Multi-AZ utilizan la replicación sincrónica, realizando escrituras en la base de datos de forma simultánea en la instancia principal y en la instancia en espera, por lo que la instancia en espera siempre estará actualizada en caso de producirse una conmutación por error. Aunque nuestra implementación tecnológica de instancias de BBDD Multi-AZ maximiza la durabilidad de los datos en situaciones de fallo, descarta la posibilidad de que se acceda directamente a la instancia en espera o que se utilice para operaciones de lectura. La tolerancia a fallos que ofrecen las implementaciones Multi-AZ la convierten en la opción natural para los entornos de producción. Si desea obtener más información sobre las implementaciones Multi-AZ, visite esta sección de Preguntas más frecuentes. Las implementaciones en zonas de disponibilidad múltiples (Multi-AZ) son compatibles actualmente con los motores de base de datos MySQL y Oracle.
Si desea utilizar la replicación integrada de MySQL para escalar más allá de las limitaciones de capacidad de una instancia de BBDD para cargas de trabajo de base de datos que realizan un uso intensivo de las lecturas, Amazon RDS para MySQL le facilita la tarea mediante las réplicas de lectura. Podrá crear una Réplica de lectura de una Instancia de BBDD de "origen" determinada mediante la AWS Management Console o la API CreateDBInstanceReadReplica. En cuanto se crea la Réplica de lectura, las actualizaciones de base de datos que se realicen en la Instancia de BBDD se propagarán a la Réplica de lectura. Podrá crear varias Réplicas de lectura para una Instancia de BBDD de origen determinada, y distribuir entre ellas el tráfico de lectura de su aplicación. A diferencia de las implementaciones Multi-AZ, las réplicas de lectura utilizan la replicación integrada de MySQL, y están sometidas a sus puntos fuertes y limitaciones. En particular, las actualizaciones se aplican a sus Réplicas de lectura cuando tienen lugar en la Instancia de BBDD de origen (replicación "asíncronica"), y los retrasos de replicación pueden variar de forma significativa. Esto significa que las actualizaciones de base de datos recientes realizadas en una Instancia de BBDD estándar (no Multi-AZ) de origen podrían no estar presentes en las Réplicas de lectura asociadas en caso de producirse una interrupción no planificada en la Instancia de BBDD de origen. Como tales, las Réplicas de lectura no ofrecen las mismas ventajas de durabilidad de datos que las implementaciones Multi-AZ. Aunque las Réplicas de lectura pueden proporcionar ciertas ventajas de disponibilidad de lectura, no están diseñadas para mejorar la disponibilidad de escritura. Las réplicas de lectura actualmente son compatibles con Amazon RDS para MySQL.
Con Amazon RDS para MySQL podrá utilizar implementaciones en zonas de disponibilidad múltiples (Multi-AZ) y réplicas de lectura de forma conjunta, para disfrutar de las ventajas complementarias que supone contar con cada una de ellas. Basta con que especifique que una implementación Multi-AZ determinada es la Instancia de BBDD de origen de sus Réplicas de lectura. De esta forma podrá disfrutar de las ventajas de durabilidad y de disponibilidad de implementaciones Multi-AZ, y de las ventajas de escalado de lectura que ofrecen las Réplicas de lectura.
Las Zonas de disponibilidad son ubicaciones distintas dentro de una Región que están diseñadas para estar aisladas de fallos que se produzcan en otras Zonas de disponibilidad. Cada Zona de disponibilidad se ejecuta en su propia infraestructura, independiente y físicamente distinta, y está diseñada para ofrecer elevados niveles de disponibilidad. Los puntos de fallo comunes, como los generadores y los dispositivos de refrigeración, no se comparten entre Zonas de disponibilidad. Además, se encuentran en ubicaciones físicas diferentes, de forma que en caso de que se produzcan desastres extremadamente poco frecuentes como, por ejemplo, incendios, tornados o inundaciones, solo afecten a una Zona de disponibilidad. Las Zonas de disponibilidad que se encuentran dentro de la misma Región disfrutan de conectividad a red de baja latencia.
Las principales ventajas de ejecutar su Instancia de BBDD como implementación Multi-AZ son las mejoras de durabilidad y disponibilidad de la base de datos. La mayor disponibilidad y la tolerancia a fallos que ofrecen las implementaciones Multi-AZ las convierten en una opción ideal para los entornos de producción.
La ejecución de su Instancia de base de datos como implementación Multi-AZ salvaguarda sus datos en el improbable caso de que se produzca un fallo en un componente de la Instancia de base de datos o de que se produzca una pérdida de disponibilidad en una Zona de disponibilidad. Por ejemplo, si uno de los volúmenes de almacenamiento de su instancia principal falla, Amazon RDS inicia automáticamente un proceso de conmutación por error hacia la instancia en espera, en la que todas las actualizaciones de la base de datos están intactas. Esta función proporciona durabilidad de datos adicional con respecto a las implementaciones estándar de una única Zona de disponibilidad, en la sería necesaria una operación de restauración iniciada por el usuario, y las actualizaciones que se produjeran después del tiempo restaurable más reciente (normalmente dentro de los últimos cinco minutos) no estarían disponibles.
Dispondrá también de mayor disponibilidad de la base de datos al ejecutar su Instancia de BBDD como implementación Multi-AZ. Si se produce un fallo en la Zona de disponibilidad o falla una Instancia de BBDD, el impacto de disponibilidad estará limitado al tiempo que tarda en completarse la conmutación por error automática (normalmente tres minutos). Las ventajas de disponibilidad de Multi-AZ también se trasladan a las tareas de mantenimiento planificadas. Por ejemplo, con las copias de seguridad automatizadas, la actividad de E/S ya no se suspende en su principal durante su ventana de copia de seguridad preferida, dado que las copias de seguridad se recuperan de la versión en espera. En el caso de aplicación de revisiones o de escalado de clase de la Instancia de BBDD, estas operaciones tienen lugar primero en la versión en espera, antes de realizar la conmutación por error automática. De esta forma, el impacto de disponibilidad se verá limitado al tiempo necesario para que se complete la conmutación por error.
Otra de las ventajas implícitas de la ejecución de su Instancia de BBDD como implementación Multi-AZ es que la conmutación por error de la Instancia de BBDD es automática y no necesita ningún tipo de administración. En un contexto de Amazon RDS, esto supone que no tendrá que supervisar los eventos de la Instancia de BBDD ni iniciar la recuperación manual de la Instancia de BBDD (mediante las API RestoreDBInstanceToPointInTime o RestoreDBInstanceFromSnapshot) en caso de que se produzca un fallo de una Zona de disponibilidad o de una Instancia de BBDD.
Interactuará con la función de copia de seguridad automatizada y la Instantánea de BBDD de la misma forma en la que lo haría si estuviera ejecutando una implementación estándar en una implementación de una Zona de disponibilidad o Multi-AZ. Si está ejecutando una implementación Multi-AZ, las copias de seguridad automatizadas y las Instantáneas de BBDD simplemente se recuperan de la copia en espera para evitar la suspensión de E/S en la versión principal. Tenga en cuenta que puede haber un aumento de la latencia de E/S (que normalmente dura unos minutos) durante las copias de seguridad.
El inicio de una operación de restauración (restauración en un punto del tiempo o restauración desde Instancia de BBDD funciona igual en implementaciones Multi-AZ que en implementaciones estándar de una sola Zona de disponibilidad. Las implementaciones de nueva Instancia de BBDD pueden crearse con la API RestoreDBInstanceFromSnapshot o RestoreDBInstanceToPointInTime. Estas nuevas implementaciones de Instancia de BBDD pueden ser estándar o Multi-AZ, independientemente de si la copia de seguridad de origen se inició en una implementación estándar o Multi-AZ.
Las Réplicas de lectura le posibilitan sacar partido a la función de replicación integrada de MySQL para escalar de forma elástica más allá de las limitaciones de capacidad de una única instancia de la base de datos de cara a cargas de trabajo de base de datos que realizan un uso importante de las lecturas. Podrá crear una Réplica de lectura con unos clics en la AWS Management Console o con la API CreateDBInstanceReadReplica. En cuanto se crea la Réplica de lectura, las actualizaciones de base de datos que se realicen en la Instancia de BBDD origen se replicarán mediante la replicación asincrónica nativa de MySQL. Podrá crear varias Réplicas de lectura para una Instancia de BBDD de origen determinada, y distribuir entre ellas el tráfico de lectura de su aplicación. Dado que las Réplicas de lectura utilizan la replicación integrada de MySQL, están sometidas a sus puntos fuertes y limitaciones. En particular, las actualizaciones se aplican a sus Réplicas de lectura cuando tienen lugar en la Instancia de BBDD de origen, y los retrasos de replicación pueden variar de forma significativa. Las réplicas de lectura pueden asociarse a implementaciones Multi-AZ para obtener ventajas de escalado de lectura además de los niveles de disponibilidad de escritura en la base de datos y de durabilidad de los datos que proporcionan las implementaciones Multi-AZ.
Existe una amplia variedad de situaciones en las que podría tener sentido implementar una o más Réplicas de lectura para una Instancia de BBDD de origen determinada. Entre los motivos habituales para implementar una réplica de lectura están:
Las réplicas de lectura requieren un motor de almacenamiento transaccional y solo se admiten para el motor de almacenamiento InnoDB.
Los motores no transaccionales como MyISAM pueden impedir que las réplicas de lectura funcionen según lo previsto. No obstante, si decide utilizar MyISAM con réplicas de lectura, le recomendamos que consulte detenidamente la métrica de Amazon CloudWatch ("Retraso de réplica") disponible a través de la AWS Management Console o de las API de Amazon Cloud Watch y que vuelva a crear la réplica de lectura en caso de que recaiga más allá debido a errores de replicación. Se aplican las mismas consideraciones al uso de tablas temporales y de cualquier otro motor no transaccional.
Podrá crear una Réplica de lectura en cuestión de minutos utilizando la API estándar CreateDBInstanceReadReplica o con unos clics en la Amazon RDS Management Console. Durante la creación de una Réplica de lectura puede identificarla como Réplica de lectura especificando SourceDBInstanceIdentifier. SourceDBInstanceIdentifier es el Identificador de Instancia de BBDD de la Instancia de BBDD de "origen" desde la que desea realizar la replicación. De la misma forma que en las instancias de BBDD estándar, podrá especificar la Zona de disponibilidad, la clase de Instancia de BBDD y la ventana de mantenimiento preferida. La versión de MySQL (p. ej. MySQL 5.1.50) y la asignación de almacenamiento de una Réplica de lectura se heredan de la Instancia de BBDD de origen. Cuando inicia la creación de una Réplica de lectura, Amazon RDS realiza una instantánea de su Instancia de BBDD de origen e inicia el proceso de replicación. Por ello, experimentará una breve suspensión de la E/S en su Instancia de BBDD durante la creación de la instantánea. La suspensión de la E/S suele durar alrededor de un minuto, y se evita si la Instancia de BBDD es una implementación Multi-AZ (en las implementaciones Multi-AZ las instantáneas se realizan de la copia en espera). Amazon RDS está trabajando en estos momentos en una optimización (que estará disponible en breve) que supondrá que si crea varias Réplicas de lectura dentro de una ventana de 30 minutos, todas ellas utilizarán la misma instantánea de origen para minimizar el impacto de E/S (la replicación de "puesta al día" de cada Réplica de lectura comenzará tras su creación).
Las Réplicas de lectura de Amazon RDS son tan fáciles de eliminar como de crear. Basta con que utilice la Amazon RDS Management Console o con que llame a la API DeleteDBInstance (especificando DBInstanceIdentifier para la Réplica de lectura que desea eliminar).
Al solicitar la creación de una réplica de lectura, he aquí un par de cuestiones más que deben tenerse en cuenta:
En algunos casos, podría percibir que sus Réplicas de lectura no tienen capacidad para recibir o aplicar actualizaciones de su Instancia de BBDD Multi-AZ de origen tras una conmutación por error Multi-AZ. Esto se debe a que algunos eventos binlog de MySQL no se vaciaron al disco en el momento de producirse la conmutación por error. Tras la conmutación por error, la Réplica de lectura podría solicitar los binlog del origen que no tiene. Esta pérdida de binlogs MySQL durante un bloqueo se describe en el documento MySQL aquí.
De especial importancia para esta situación es el párrafo que se encuentra cerca del final, que describe el parámetro MySQL sync-binlog. Este parámetro controla la forma en la que los binlogs MySQL se vacían al disco, y cuando se utiliza InnoDB, la forma en la que los binlogs y los registros InnoDB pueden mantenerse sincronizados.
Para resolver la situación actual, tendrá que eliminar la Réplica de lectura y crear una nueva para sustituirla. Para evitar este problema en el futuro, realizar el ajuste sync-binlog=1 reducirá en gran medida la posibilidad de que los binlogs MySQL que necesita la Réplica de lectura se pierdan durante una situación de bloqueo o conmutación por error. Tal y como explica la documentación MySQL, incluso a pesar de que no resuelve el problema totalmente. Para reducir aún más la posibilidad de que aparezca este problema, realice el ajuste innodb_support_xa=1. Tenga en cuenta que el ajuste de estas variables podría conllevar una penalización de rendimiento. Tanto sync_binlog como innodb_support_xa son variables dinámicas, por lo que si percibe que la penalización de rendimiento es demasiado amplia, podrá restablecerlas sin aplicar una interrupción.
En términos absolutos, es una elección entre rendimiento y la mejora de la resincronización automática de las Réplicas de lectura tras una conmutación por error Multi-AZ de origen. Una de las ventajas de las Réplicas de lectura de Amazon RDS es que pueden volver a instanciarse rápidamente cuando aparecen problemas de sincronización, eliminándolas y volviendo a crearlas. Por lo tanto, no tendrá que asumir el impacto de rendimiento que supone ajustar sync-binlog y/o innodb_support_xa si retirar manualmente Réplicas de lectura no sincronizadas y volverlas a crear resuelve sus necesidades.
Las actualizaciones realizadas en una Instancia de BBDD de origen se replicarán automáticamente en las Réplicas de lectura asociadas. Sin embargo, con la tecnología de replicación asincrónica de MySQL, una Réplica de lectura puede recaer más allá de su Instancia de BBDD de origen por diversas razones. Entre los motivos habituales:
Las réplicas de lectura están sujetas a los puntos fuertes o débiles de la replicación de MySQL. Si está utilizando Réplicas de lectura debe ser conciente de los retrasos que pueden producirse entre una Réplica de lectura y su Instancia de BBDD, o "incoherencia". Haga clic aquí para obtener instrucciones sobre qué es lo que debe hacer si sus réplicas de lectura recaen de forma significativa más allá de su origen.
Puede utilizar la API estándar DescribeDBInstances para que devuelva una lista de todas las instancias de BBDD que ha implementado (incluyendo Réplicas de lectura), o simplemente hacer clic en la ficha "instancias de BBDD" de la Amazon RDS Management Console.
Amazon RDS le permite obtener visibilidad de la cantidad con la que una Réplica de lectura ha recaído más allá de su Instancia de BBDD emitiendo un comando "Show Slave Status" de MySQL en la Réplica de lectura. El dato "Seconds_Behind_Master" devuelto por "Show Slave Status" también se publica como métrica de Amazon CloudWatch ("Retraso de réplica") disponible a través de la AWS Management Console o de las API de Amazon Cloud Watch.
Tal y como se ha tratado en preguntas anteriores, la "incoherencia" o el retraso entre una Réplica de lectura y su Instancia de BBDD es común en la replicación asincrónica de MySQL Si una Réplica de lectura existente ha recaído demasiado lejos como para cumplir sus requisitos, puede eliminarla y crear una nueva con el mismo extremo mediante la utilización del mismo Identificador de Instancia de BBDD e Identificador de Instancia de BBDD de origen que la Réplica de lectura eliminada. Tenga en cuenta que el proceso de recreación será contraproducente a niveles de pequeños retrasos (p. ej. en situaciones en las que el retraso es inferior a cinco minutos), y debe utilizarse con prudencia (es decir, únicamente cuando la Réplica de lectura está muy por detrás de su Instancia de BBDD de origen). Debe tener en cuenta también que el retraso de la réplica crecerá y se reducirá de forma natural con el paso del tiempo, en función del patrón de uso en estado de preparación de su Instancia de BBDD.
El escalado de la clase de Instancia de BBDD de una Réplica de lectura podría reducir los retrasos de replicación en algunos casos, especialmente si su clase de Instancia de BBDD es mayor que la clase de Instancia de BBDD de la Réplica de lectura. Sin embargo, no se puede garantizar que las Réplicas de lectura vayan a funcionar en todos los casos. Podría haber situaciones y patrones de uso en los que una Réplica de lectura nunca pudiera ponerse al día con su origen tras la creación inicial, o que está demasiado por detrás de su origen para cumplir con los requisitos de su caso práctico.
Amazon RDS le permite controlar la situación y el momento en el que el software de base de datos relacional con el que funciona su Instancia de BBDD (p. ej. MySQL) se actualiza a nuevas versiones compatibles con Amazon RDS. Esto le ofrece la flexibilidad necesaria para mantener la compatibilidad con versiones concretas de MySQL, probar nuevas versiones con su aplicación antes de implementarlas en producción y realizar actualizaciones de versión según sus plazos.
A menos que especifique lo contrario, su instancia de BBDD se actualizará automáticamente a las nuevas versiones secundarias de MySQL en cuanto sean compatibles con Amazon RDS. El proceso de aplicación de revisiones tendrá lugar durante su ventana de mantenimiento programada, y se anunciará en el foro de Amazon RDS con cierta antelación. Si desea desactivar las actualizaciones de versión automáticas, puede hacerlo estableciendo el parámetro AutoMinorVersionUpgrade en "false". Dado que las actualizaciones de versiones principales implican ciertos riesgos de compatibilidad, no se realizarán de forma automática y deberá iniciarlas usted mismo.
Este enfoque de aplicación de revisiones del software de la base de datos le pone al mando de las actualizaciones de versión, pero le deja el trabajo de aplicación de revisiones a Amazon RDS. Podrá obtener más información sobre la gestión de versiones leyendo las Preguntas más frecuentes que aparecen a continuación. De la misma forma, también puede consultar nuestra Guía para desarrolladores.
Aunque que la función de gestión de la versión del motor de la base de datos está diseñado para concederle el máximo control posible sobre el proceso de aplicación de revisiones, Amazon RDS se reserva el derecho de aplicar revisiones en su Instancia de BBDD en su nombre en caso de que exista una vulnerabilidad de seguridad crítica en el software de base de datos.
Puede especificar toda aquella versión que sea compatible (principal y/o secundaria ) durante la creación de una nueva instancia de BBDD mediante la API CreateDBInstance. Simplemente tendrá que trasladar la versión que desee al parámetro EngineVersion tras su creación. Si no se especifica ninguna versión, Amazon RDS utilizará de forma predeterminada una versión compatible, que habitualmente será la versión más reciente. Si se especifica una versión principal (p. ej. MySQL 5.1) pero no se especifica una versión secundaria, Amazon RDS utilizará de forma predeterminada una versión reciente de la versión principal que haya especificado. Para ver una lista de las versiones compatibles, así como los valores predeterminados correspondientes a instancias de BBDD recién creadas, utilice la API DescribeDBEngineVersions.
Si ha rechazado las actualizaciones programadas de forma automática ajustando el parámetro AutoMinorVersionUpgrade en "false", pero desea iniciar de forma manual una actualización a una versión secundaria compatible o una versión principal, puede hacerlo utilizando la API ModifyDBInstance. Basta con que especifique la versión a la que desea actualizar mediante el parámetro EngineVersion. Posteriormente, la actualización se aplicará en su nombre de forma inmediata (si el indicador ApplyImmediately está establecido en true) o durante la siguiente ventana de mantenimiento programada para su instancia de BBDD.
Sí. Puede probarla mediante la creación de una Instantánea de BBDD de su Instancia de BBDD existente, restaurando desde la Instantánea de BBDD para crear una nueva Instancia de BBDD y, a continuación, iniciando una actualización de versión para la nueva Instancia de BBDD. Podrá experimentar con seguridad en el clon actualizado de su Instancia de BBDD antes de decidir si desea actualizar o no a su Instancia de BBDD original.
En el contexto de MySQL, los números de versión se organizan de la siguiente forma:
Versión de MySQL = X.Y.Z
X = Versión principal, Y = Nivel de edición, Z = Número de versión dentro de las series de edición.
Desde la posición de Amazon RDS, un cambio de versión se consideraría principal si se está modificando la versión principal o el nivel de edición. Ejemplo: cambio de 5.1.X -> 5.5.X. Un cambio de versión se consideraría secundario si el número de versión de la edición se está modificando. Ejemplo: cambio de 5.1.45 -> 5.1.49.
A partir de hoy, Amazon RDS admite las versiones principales de MySQL 5.1 y MySQL 5.5. Tenemos pensado ser compatibles con versiones principales de MySQL en el futuro.
Con el paso del tiempo tenemos planificado admitir versiones de MySQL adicionales para Amazon RDS, tanto principales como secundarias. El número de nuevas versiones admitidas en un año determinado variará en base a la frecuencia y al contenido de las versión de MySQL, así como del resultado de un concienzudo análisis de la versión por parte de nuestro equipo de ingeniería de base de datos. Sin embargo, y a modo de instrucción general, nuestro objetivo es admitir nuevas versiones de MySQL transcurridos entre 3 y 5 meses de su lanzamiento para Disponibilidad general.
En lo que respecta a la política de degradación:
Para crear una nueva instancia de BBDD de MySQL 5.5, utilice el “Asistente para lanzar instancia de BBDD” de la AWS Management Console y seleccione una versión correspondiente a MySQL 5.5, o simplemente llame a la API CreateDBInstance con el parámetro de versión de motor como “5.5”.
Actualmente, no se admite una actualización directa de MySQL 5.1 a MySQL 5.5. Sin embargo, pretendemos proporcionar esta funcionalidad en el futuro. Mientras tanto, si desea portar su base de datos MySQL 5.1 existente a MySQL 5.5, puede utilizar mysqldump para exportar su base de datos de la instancia de BBDD MySQL 5.1 existente a una nueva instancia de BBDD MySQL 5.5.
Existen dos tipos de opciones de licencia disponibles para utilizar Amazon RDS para Oracle:
Amazon RDS admite actualmente las siguientes ediciones de Oracle Database con cada uno de estos modelos de licencia:
Sí, puede cambiar sus opciones de licencia. Sin embargo, tendrá que eliminar su instancia de BBDD actual con una instantánea final y crear una nueva instancia de BBDD a partir de la instantánea especificando la nueva opción de licencia que necesita.
En el contexto de Oracle, las versiones de motor de base de datos de Amazon RDS se organizan de la siguiente forma:
Versiones de motor de base de datos para = X.Y.Z
X = Versión principal (por ej.: 11.2), Y = Nivel de edición (por ej.: 0.2), Z = número de versión dentro de la serie de la edición (por ej.: v2). Por ejemplo, una versión de motor de base de datos para Oracle podría ser 11.2.0.2.v2
Oracle publica trimestralmente actualizaciones de conjunto de revisiones (PSU) de base de datos para los niveles de edición admitidos. (por ej. 11.2.0.2.1). Las PSU incluyen arreglos de seguridad y arreglos no de seguridad adicionales recomendados por Oracle.
Las versiones del motor de base de datos de Amazon RDS se crean con una PSU específica de partida y pueden contener arreglos adicionales más allá de aquella.
Desde la posición de Amazon RDS, un cambio de versión se consideraría principal si se está modificando la versión principal o el nivel de edición. Ejemplo: cambio de 11.2.0.2.Z -> 11.2.0.4.Z. Un cambio de versión se consideraría secundario si el número de versión de la edición se está modificando. Ejemplo: cambio de 11.2.0.2.v2 -> 11.2.0.2.v3.
A partir de hoy, Amazon RDS admite la versión principal 11.2 (11g edición 2). Tenemos pensado admitir versiones principales adicionales en el futuro.
Consulte la Guía del usuario de Amazon RDS para obtener detalles de la composición del conjunto de revisiones de cada versión del motor de BBDD de Oracle.
Amazon RDS le permite controlar la situación y el momento en el que el software de base de datos relacional con el que funciona su instancia de BBDD se actualiza a nuevas versiones compatibles con Amazon RDS. Esto le ofrece la flexibilidad necesaria para mantener la compatibilidad con versiones concretas de la base de datos Oracle, probar nuevas versiones con su aplicación antes de implementarlas en producción y realizar actualizaciones de versión según sus plazos.
A menos que especifique lo contrario, su instancia de BBDD se actualizará automáticamente a las nuevas versiones de motor de base de datos en cuanto sean compatibles con Amazon RDS. El proceso de aplicación de revisiones tendrá lugar durante su ventana de mantenimiento programada, y se anunciará en el foro de Amazon RDS con cierta antelación. Si desea desactivar las actualizaciones de versión automáticas, puede hacerlo definiendo el campo "Actualización automática de versión secundaria" en "No". Dado que las actualizaciones de versiones principales implican ciertos riesgos de compatibilidad, no se realizarán de forma automática y deberá iniciarlas usted mismo.
Este enfoque de aplicación de revisiones del software de la base de datos le pone al mando de las actualizaciones de versión, pero le deja el trabajo de aplicación de revisiones a Amazon RDS. Podrá obtener más información sobre la gestión de versiones leyendo las Preguntas más frecuentes que aparecen a continuación. De la misma forma, también puede consultar nuestra Guía para desarrolladores.
Aunque que la función de gestión de la versión del motor de la base de datos está diseñada para concederle el máximo control posible sobre el proceso de aplicación de revisiones, Amazon RDS se reserva el derecho de aplicar revisiones en su instancia de BBDD en su nombre en caso de que exista una vulnerabilidad de seguridad crítica en el software de base de datos.
En el modelo "License Included", el coste de la "licencia de actualización de software" está incluida en el precio por hora, lo que permite acceder a las actualizaciones de software de Oracle Database. Sin embargo, bajo el modelo BYOL, debe tener "licencia de actualización de software y asistencia" de Oracle para utilizar Amazon RDS para Oracle Database.Puede especificar cualquier versión actualmente compatible (secundaria y/o principal) al crear una nueva instancia de BBDD a través de la opción "Lanzar instancia de BBDD" en la AWS Management Console o la API CreateDBInstance.
Si ha rechazado las actualizaciones programadas de forma automática ajustando el parámetro AutoMinorVersionUpgrade en "false", pero desea iniciar de forma manual una actualización a una versión secundaria compatible o una versión principal, puede hacerlo utilizando la API ModifyDBInstance. Basta con que especifique la versión a la que desea actualizar mediante el parámetro EngineVersion. Posteriormente, la actualización se aplicará en su nombre de forma inmediata (si el indicador "Apply Immediately" está establecido) o durante la siguiente ventana de mantenimiento programada para su instancia de BBDD.
Sí. Puede probarla mediante la creación de una Instantánea de BBDD de su Instancia de BBDD existente, restaurando desde la Instantánea de BBDD para crear una nueva Instancia de BBDD y, a continuación, iniciando una actualización de versión para la nueva Instancia de BBDD. Podrá experimentar con seguridad en el clon actualizado de su Instancia de BBDD antes de decidir si desea actualizar o no a su Instancia de BBDD original.
Con el paso del tiempo tenemos planificado admitir versiones de base de datos Oracle adicionales para Amazon RDS, tanto principales como secundarias. El número de nuevas versiones admitidas en un año determinado variará en base a la frecuencia y al contenido de las actualizaciones de conjunto de revisiones (PSU) de Oracle, así como del resultado de un concienzudo análisis de la versión por parte de nuestro equipo de ingeniería de base de datos. Sin embargo, y a modo de instrucción general, nuestro objetivo es admitir nuevas versiones de Oracle Database transcurridos entre 3 y 5 meses de su lanzamiento para Disponibilidad general.
En lo que respecta a la política de degradación:
Para el modelo BYOL, podrá escalar sus instancias de BBDD según los términos de su(s) licencia(s) de Oracle.
Para el modelo License Included, las instancias de BBDD que ejecuten Oracle podrán aumentarse o reducirse en cualquier punto, en función de los precios por hora vigentes para cada clase de instancia de BBDD.
Para obtener más información sobre las implicaciones del escalado de instancias de BBDD reservadas, consulte nuestras Preguntas más frecuentes sobre instancias de BBDD reservadas.
Para el modelo BYOL, puede migrar de una edición del software de Oracle a otra siempre y cuando posea una licencia de Oracle no utilizada adecuada para la edición y la clase de la instancia de BBDD que tiene planeado ejecutar. Para cambiar la edición y conservar sus datos, debe tomar una instantánea de la instancia de BBDD en ejecución y, a continuación, crear una nueva instancia de BBDD de la edición deseada a partir de la instantánea. A continuación, debe eliminar la antigua instancia de BBDD, a menos que desee que siga ejecutándose y disponga de las licencias de Oracle Database adecuadas.
Para el modelo License Included, actualmente, sólo se admite Oracle Standard Edition One.
Amazon RDS para Oracle admite las implementaciones en zonas de disponibilidad múltiples (Multi-AZ) para los dos modelos de licencia License Included y Bring Your Own License (BYOL).
Oracle Data Guard es una función de alta disponibilidad que está disponible para la versión Enterprise de la base de datos de Oracle. Actualmente Amazon RDS utiliza una tecnología de replicación sincrónica diferente y una función de conmutación por error automática para proporcionar implementaciones Multi-AZ a las instancias de BBDD de Oracle. Las implementaciones Multi-AZ están disponibles para todas las versiones de base de datos de Oracle compatibles con Amazon RDS.
Sí, suponemos que para las implementaciones Multi-AZ necesitará utilizar el doble de licencias que utilizaría para una implementación estándar para encargarse de la Instancia de BBDD en espera. Sin embargo, deberá revisar el contrato de licencia de software de Oracle y cumplir las políticas de licencia de Oracle.
No, RAC no es actualmente compatible.
Actualmente se admiten las siguientes opciones de edición Enterprise con el modelo BYOL:
Amazon RDS es compatible con los treinta conjuntos de caracteres que aparecen en la lista "Conjuntos de caracteres de base de datos ASCII recomendados" de Oracle. Al crear una nueva instancia de base de datos tiene la opción de especificar el conjunto de caracteres que desee. Esto es opcional; el conjunto de caracteres predeterminado es AL32UTF8. Si desea obtener más información, consulte la documentación de Amazon RDS.
Oracle Database admite diversas funciones que varían según la edición de la base de datos Oracle que ejecute. Consulte la Guía del usuario de Amazon RDS para obtener más información sobre las funciones de Oracle que admite actualmente Amazon RDS.