Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Las marcas comerciales y la imagen comercial de Amazon no se pueden utilizar en relación con ningún producto o
servicio que no sea de Amazon de ninguna manera que pueda causar confusión entre los clientes y que menosprecie
o desacredite a Amazon. Todas las demás marcas comerciales que no son propiedad de Amazon son propiedad de
sus respectivos propietarios, que pueden o no estar afiliados, conectados o patrocinados por Amazon.
Amazon Aurora Guía del usuario de Aurora
Table of Contents
¿Qué es Aurora? ................................................................................................................................ 1
Clústeres de base de datos de Aurora ........................................................................................... 3
Versiones de Aurora ................................................................................................................... 5
Bases de datos relacionales que están disponibles en Aurora ................................................... 5
Diferencias en los números de versión entre las bases de datos de la comunidad y Aurora ............. 5
Versiones principales de Amazon Aurora ............................................................................... 6
Versiones secundarias de Amazon Aurora ............................................................................. 7
Versiones de parches de Amazon Aurora .............................................................................. 7
Información sobre las novedades de cada versión de Amazon Aurora ......................................... 7
Especificar la versión de la base de datos de Amazon Aurora para su clúster de base de datos ....... 7
Versiones predeterminadas de Amazon Aurora ....................................................................... 7
Actualizaciones de versiones secundarias automáticas ............................................................. 8
Cuánto tiempo permanecen disponibles las versiones principales de Amazon Aurora ..................... 8
Con qué frecuencia se publican las versiones secundarias de Amazon Aurora ............................. 9
Cuánto tiempo permanecen disponibles las versiones secundarias de Amazon Aurora ................... 9
Compatabilidad a largo plazo de Amazon Aurora para versiones secundarias seleccionadas ........... 9
Controlar manualmente si el clúster de base de datos se actualiza a nuevas versiones y cuándo
esto sucede ..................................................................................................................... 10
Actualizaciones necesarias de Amazon Aurora ...................................................................... 10
Probar su clúster de base de datos con una nueva versión de Aurora antes de actualizar ............. 10
Regiones y zonas de disponibilidad ............................................................................................. 11
AWSRegiones de .............................................................................................................. 12
Zonas de disponibilidad ..................................................................................................... 16
Zona horaria local para los clústeres de base de datos de ...................................................... 16
Funciones Aurora admitidas por región y motor ............................................................................. 20
Búsqueda de datos anteriores en Aurora. ............................................................................. 20
Bases de datos globales de Aurora ..................................................................................... 22
Machine Learning de Aurora .............................................................................................. 24
Consulta paralela Aurora. ................................................................................................... 27
Amazon RDS Proxy .......................................................................................................... 28
Aurora Serverless v1 ......................................................................................................... 31
API de datos para Aurora Serverless ................................................................................... 32
Administración de conexiones de Aurora ...................................................................................... 34
Tipos de puntos de enlace de Aurora .................................................................................. 35
Visualización de puntos de enlace ....................................................................................... 37
Uso del punto de enlace de clúster ..................................................................................... 37
Uso del punto de enlace del lector ...................................................................................... 37
Uso de puntos de enlace personalizados ............................................................................. 38
Creación de un punto de enlace personalizado ..................................................................... 40
Visualización de puntos de enlace personalizados ................................................................. 42
Edición de un punto de enlace personalizado ........................................................................ 47
Eliminación de un punto de enlace personalizado .................................................................. 49
Ejemplo de AWS CLI integral para puntos de enlace personalizados ......................................... 50
Uso de los puntos de enlace de instancia ............................................................................ 54
Puntos de enlace y alta disponibilidad ................................................................................. 55
Clases de instancia de base de datos .......................................................................................... 56
Tipos de clase de instancia de base de datos ....................................................................... 56
Motores de bases de datos compatibles ............................................................................... 57
Determinación del soporte de clase de instancia de base de datos en regionesAWS .................... 62
Especificaciones de hardware ............................................................................................. 65
Almacenamiento y fiabilidad de Aurora ......................................................................................... 68
Información general del almacenamiento de Aurora ............................................................... 68
Contenido del volumen del clúster ....................................................................................... 68
Cómo cambia el tamaño del almacenamiento ....................................................................... 68
iii
Amazon Aurora Guía del usuario de Aurora
iv
Amazon Aurora Guía del usuario de Aurora
v
Amazon Aurora Guía del usuario de Aurora
Visualización de los valores de los parámetros de un grupo de parámetros de base de datos ....... 392
Visualización de los valores de los parámetros de un grupo de parámetros de clúster de base de
datos ............................................................................................................................. 393
Comparación de grupos de parámetros .............................................................................. 394
Especificación de parámetros de base de datos ................................................................... 395
Migración de datos a un clúster de base de datos ....................................................................... 399
Aurora MySQL ................................................................................................................ 399
Aurora PostgreSQL ......................................................................................................... 399
Administración de un clúster de base de datos de Aurora ..................................................................... 400
Detención e inicio de un clúster ................................................................................................ 401
Información general de detención e inicio de un clúster ......................................................... 401
Limitaciones ................................................................................................................... 401
Detención de un clúster de base de datos .......................................................................... 402
Mientras un clúster de base de datos está detenido ............................................................. 403
Inicio de un clúster de base de datos ................................................................................. 403
Modificación de un clúster de base de datos de Aurora ................................................................. 405
Modificación del clúster de base de datos con la consola, CLI y API ........................................ 405
Modificar una instancia de base de datos en un clúster de base de datos ................................. 406
Opciones disponibles ....................................................................................................... 408
Configuración no aplicable ................................................................................................ 427
Adición de réplicas de Aurora ................................................................................................... 429
Administración del rendimiento y el escalado ............................................................................... 434
Escalado del almacenamiento ........................................................................................... 434
Escalado de instancia ...................................................................................................... 438
Escalado de lectura ......................................................................................................... 438
Administración de conexiones ........................................................................................... 439
Administración de planes de ejecución de consultas ............................................................. 439
Clonación de un volumen de clúster de base de datos de Aurora ................................................... 440
Información general de la clonación de Aurora .................................................................... 440
Limitaciones de la clonación de Aurora .............................................................................. 441
Cómo funciona la clonación de Aurora ............................................................................... 441
Creación de un clon de Aurora ......................................................................................... 444
Clonación entre cuentas ................................................................................................... 453
Integración con los servicios de AWS ........................................................................................ 465
Aurora MySQL ................................................................................................................ 465
Aurora PostgreSQL ......................................................................................................... 465
Uso de Auto Scaling con réplicas de Aurora ....................................................................... 466
Uso de Machine Learning con Aurora ................................................................................ 482
Mantenimiento de un clúster de base de datos de Aurora .............................................................. 483
Vista de mantenimiento pendiente ..................................................................................... 483
Aplicación de actualizaciones ............................................................................................ 486
La ventana de mantenimiento de ....................................................................................... 488
Ajuste de la ventana de mantenimiento para un clúster de base de datos ................................. 489
Actualizaciones de versiones secundarias automáticas para clústeres de base de datos de
Aurora ........................................................................................................................... 490
Selección de frecuencia de actualizaciones de mantenimiento de Aurora MySQL ...................... 491
Reinicio de un clúster o de una instancia de base de datos de Aurora ............................................. 492
Reinicio de una instancia de base de datos dentro de un clúster de Aurora .............................. 492
Reinicio de un clúster de Aurora(Aurora PostgreSQL y Aurora MySQL antes de la versión 2.10) ... 493
Reinicio de un clúster de Aurora MySQL (versión 2.10 y posteriores) ...................................... 494
Verificación del tiempo de actividad de clústeres e instancias de Aurora ................................... 495
Ejemplos de operaciones de reinicio de Aurora .................................................................... 497
Eliminación de clústeres e instancias de Aurora ........................................................................... 509
Eliminación de un clúster de base de datos de Aurora .......................................................... 509
Protección contra eliminación para clústeres de Aurora ......................................................... 514
Eliminación de un clúster detenido de Aurora ...................................................................... 514
Eliminación de clústeres de Aurora MySQL que son réplicas de lectura ................................... 514
vi
Amazon Aurora Guía del usuario de Aurora
vii
Amazon Aurora Guía del usuario de Aurora
viii
Amazon Aurora Guía del usuario de Aurora
ix
Amazon Aurora Guía del usuario de Aurora
x
Amazon Aurora Guía del usuario de Aurora
xi
Amazon Aurora Guía del usuario de Aurora
xii
Amazon Aurora Guía del usuario de Aurora
xiii
Amazon Aurora Guía del usuario de Aurora
xiv
Amazon Aurora Guía del usuario de Aurora
Aurora incluye un subsistema de almacenamiento de alto rendimiento. Sus motores de base de datos
compatibles con MySQL y PostgreSQL están personalizados para aprovechar su almacenamiento de
rápida distribución. El almacenamiento subyacente crece automáticamente en función de las necesidades.
Un volumen de clúster de Aurora puede aumentar hasta un tamaño máximo de 128 tebibytes (TiB). Aurora
también automatiza y estandariza la agrupación en clústeres y la reproducción de base de datos, que
suelen ser algunos de los aspectos más problemáticos de la configuración y administración de las bases
de datos.
Aurora forma parte del servicio de base de datos administrada de Amazon Relational Database Service
(Amazon RDS). Amazon RDS es un servicio web que facilita la configuración, el funcionamiento y el
escalado de una base de datos relacional en la nube. Si no está familiarizado con Amazon RDS, consulte
la Guía del usuario de Amazon Relational Database Service.
En los siguientes puntos se ilustra la relación de Aurora con los motores de MySQL y PostgreSQL
estándares disponibles en Amazon RDS:
• Se debe elegir Aurora como opción del motor de base de datos al configurar nuevos servidores de base
de datos mediante Amazon RDS.
• Aurora aprovecha las características conocidas de Amazon Relational Database Service (Amazon
RDS) para la gestión y administración. Aurora utiliza la interfaz de la AWS Management Console de
Amazon RDS, los comandos de AWS CLI y las operaciones de la API para gestionar las tareas de base
de datos rutinarias, como el aprovisionamiento, la aplicación de parches, las copias de seguridad, la
recuperación, la detección de errores y la reparación.
• Las operaciones de administración de Aurora normalmente afectan a clústeres completos de servidores
de base de datos sincronizados mediante replicación, en lugar de instancias de base de datos
individuales. La agrupación en clústeres, la replicación y la asignación de almacenamiento automáticas
simplifica y hace rentable configurar, usar y escalar las implementaciones de MySQL y PostgreSQL de
mayor tamaño.
• Puede trasladar datos de Amazon RDS for MySQL y de Amazon RDS for PostgreSQL a Aurora creando
y restaurando instantáneas, o bien configurando una replicación en un sentido. Puede usar herramientas
de migración que le permiten convertir sus aplicaciones de Amazon RDS for MySQL y de Amazon RDS
for PostgreSQL a Aurora con un solo botón.
Antes de usar Amazon Aurora, debe completar los pasos que figuran en Configuración del entorno para
Amazon Aurora (p. 90) y, después, revisar los conceptos y las características de Aurora que aparecen
en Clústeres de base de datos de Amazon Aurora (p. 3).
Temas
• Clústeres de base de datos de Amazon Aurora (p. 3)
• Versiones de Amazon Aurora (p. 5)
• Regiones y zonas de disponibilidad (p. 11)
1
Amazon Aurora Guía del usuario de Aurora
2
Amazon Aurora Guía del usuario de Aurora
Clústeres de base de datos de Aurora
• Instancia de base de datos principal: admite operaciones de lectura y escritura y realiza todas las
modificaciones de los datos en el volumen de clúster. Cada clúster de base de datos Aurora tiene una
instancia de base de datos principal.
• Réplica de Aurora: se conecta con el mismo volumen de almacenamiento que la instancia de base
de datos principal y solo admite operaciones de lectura. Cada clúster de base de datos Aurora puede
tener hasta 15 réplicas de Aurora, además de la instancia de base de datos principal. Mantenga una
alta disponibilidad localizando réplicas de Aurora en distintas zonas de disponibilidad. Aurora cambiará
automáticamente a una réplica de Aurora en caso de que la instancia de base de datos principal deje
de estar disponible. Puede especificar la prioridad de conmutación por error para réplicas de Aurora.
Las réplicas de Aurora también pueden descargar las cargas de trabajo de lectura desde la instancia de
base de datos principal.
En el siguiente diagrama se ilustra la relación entre el volumen de clúster, la instancia de base de datos
principal y las réplicas de Aurora en un clúster de base de datos Aurora.
Note
La información anterior se aplica a todos los clústeres de Aurora que utilizan un modelo de
replicación maestro único. Estos incluyen los clústeres provisionados, los clústeres de consulta
paralela, los clústeres de base de datos globales, los clústeres sin servidor y todos los clústeres
compatibles con MySQL 8.0, MySQL 5.7 y PostgreSQL.
Los clústeres de Aurora que utilizan un modelo de replicación maestro múltiple tienen una
disposición diferente de instancias de bases de datos de lectura/escritura y solo lectura. Todas las
3
Amazon Aurora Guía del usuario de Aurora
Clústeres de base de datos de Aurora
4
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora
Temas
• Bases de datos relacionales que están disponibles en Aurora (p. 5)
• Diferencias en los números de versión entre las bases de datos de la comunidad y Aurora (p. 5)
• Versiones principales de Amazon Aurora (p. 6)
• Versiones secundarias de Amazon Aurora (p. 7)
• Versiones de parches de Amazon Aurora (p. 7)
• Información sobre las novedades de cada versión de Amazon Aurora (p. 7)
• Especificar la versión de la base de datos de Amazon Aurora para su clúster de base de
datos (p. 7)
• Versiones predeterminadas de Amazon Aurora (p. 7)
• Actualizaciones de versiones secundarias automáticas (p. 8)
• Cuánto tiempo permanecen disponibles las versiones principales de Amazon Aurora (p. 8)
• Con qué frecuencia se publican las versiones secundarias de Amazon Aurora (p. 9)
• Cuánto tiempo permanecen disponibles las versiones secundarias de Amazon Aurora (p. 9)
• Compatabilidad a largo plazo de Amazon Aurora para versiones secundarias seleccionadas (p. 9)
• Controlar manualmente si el clúster de base de datos se actualiza a nuevas versiones y cuándo esto
sucede (p. 10)
• Actualizaciones necesarias de Amazon Aurora (p. 10)
• Probar su clúster de base de datos con una nueva versión de Aurora antes de actualizar (p. 10)
• Edición compatible con Amazon Aurora MySQL Para obtener más información, consulte Uso de Amazon
Aurora MySQL (p. 801). Para obtener una lista detallada de las versiones disponibles, consulte
Actualizaciones del motor de base de datos de Amazon Aurora MySQL (p. 1170).
• Edición compatible con Amazon Aurora PostgreSQL Para obtener más información, consulte Uso de
Amazon Aurora PostgreSQL (p. 1377). Para obtener una lista detallada de las versiones disponibles,
consulte Actualizaciones de Amazon Aurora PostgreSQL (p. 1721).
5
Amazon Aurora Guía del usuario de Aurora
Versiones principales de Amazon Aurora
Para obtener más información, consulte Comprobación de versiones de Aurora MySQL mediante
SQL (p. 1172) y Identificación de las versiones de Amazon Aurora PostgreSQL (p. 1721).
6
Amazon Aurora Guía del usuario de Aurora
Versiones secundarias de Amazon Aurora
Las versiones menores de Aurora siempre se asignan a una versión específica de la comunidad. Sin
embargo, es posible que algunas versiones de la comunidad no tengan un equivalente de Aurora.
Para obtener más información sobre la aplicación de parches, consulte Mantenimiento de un clúster de
base de datos de Amazon Aurora (p. 483).
Para ver las notas de la versión de Aurora MySQL, consulte Actualizaciones del motor de base de datos
de Amazon Aurora MySQL versión 2 (p. 1196) y Actualizaciones del motor de base de datos de Amazon
Aurora MySQL versión 1 (p. 1286). Para obtener notas de la versión de Aurora PostgreSQL, consulte
Versiones de Amazon Aurora PostgreSQL y versiones del motor (p. 1722).
Para obtener más información sobre cómo crear clústeres de Aurora, consulte Creación de un clúster
de base de datos de Amazon Aurora (p. 136). Para obtener más información sobre cómo cambiar la
versión de un clúster de Aurora existente, consulte Modificación de un clúster de base de datos de Amazon
Aurora (p. 405).
Le recomendamos que su clúster de base de datos esté actualizado con la versión secundaria más
reciente, ya que incluirá las últimas correcciones de seguridad y funcionalidad.
7
Amazon Aurora Guía del usuario de Aurora
Actualizaciones de versiones secundarias automáticas
Para obtener más información, consulte Activación de actualizaciones automáticas entre versiones
secundarias de Aurora MySQL (p. 1175) y Actualizaciones de versiones secundarias automáticas para
PostgreSQL (p. 1814).
MySQL 8.0 3
Antes del final de la versión principal de Aurora y para ayudarle a planear, le proporcionamos un
recordatorio con al menos 12 meses de antelación. Lo hacemos para comunicar el proceso detallado de
actualización. Los detalles incluyen el tiempo de ciertos hitos, el impacto en los clústeres de base de datos
y las acciones que recomendamos que realice. Siempre recomendamos que pruebe minuciosamente
las aplicaciones con las nuevas versiones de la base de datos antes de realizar una actualización de la
versión principal. Después de este período de 12 meses, se puede aplicar una actualización automática a
la versión principal posterior a cualquier clúster de base de datos que aún ejecute la versión anterior. Si es
así, la actualización se inicia durante las ventanas de mantenimiento programadas.
8
Amazon Aurora Guía del usuario de Aurora
Con qué frecuencia se publican las
versiones secundarias de Amazon Aurora
Podríamos reemplazar una versión secundaria de una versión principal en particular antes del periodo
habitual de 12 meses si hay asuntos críticos como problemas de seguridad, o si la versión principal ha
llegado al final de su vida útil.
Antes de comenzar las actualizaciones automáticas de versiones secundarias que se aproximan al final de
la vida útil, generalmente proporcionamos un recordatorio con tres meses de antelación. Lo hacemos para
comunicar el proceso detallado de actualización. Los detalles incluyen el tiempo de ciertos hitos, el impacto
en los clústeres de base de datos y las acciones que recomendamos que realice.
Las versiones secundarias de LTS solo incluyen correcciones de errores (a través de versiones de
parches). Una versión LTS no incluye nuevas características publicadas después de su introducción. Una
vez al año, los clústeres de base de datos que se ejecutan en una versión secundaria LTS, se parchean
a la última versión del parche de la versión LTS. Aplicamos este parche para ayudar a garantizar que
se beneficie de las correcciones acumulativas de seguridad y estabilidad. Es posible que se realice el
parche de una versión secundaria LTS con más frecuencia si hay correcciones críticas, por ejemplo, para
la seguridad, que deben aplicarse.
Note
Si desea permanecer en una versión secundaria LTS mientras dure su ciclo de vida, asegúrese
de desactivar Auto minor version upgrade (Actualización automática de la versión secundaria)
para sus instancias de base de datos. Para evitar actualizar automáticamente el clúster de base
de datos desde la versión secundaria LTS, establezca Auto minor version upgrade (Actualización
automática de la versión secundaria) a No en todas las instancias de base de datos en su clúster
de Aurora.
Para conocer los números de versión de todas las versiones de Aurora LTS, consulte Versiones de soporte
a largo plazo (LTS) de Aurora MySQL (p. 1173) y Versiones de soporte a largo plazo (LTS) de Aurora
MySQL (p. 1817).
9
Amazon Aurora Guía del usuario de Aurora
Controlar manualmente si el clúster de base de datos
se actualiza a nuevas versiones y cuándo esto sucede
Como las actualizaciones de versión pueden conllevar algunos riesgos de compatibilidad, no se producen
automáticamente. Debe iniciarlos, excepto en el caso de una actualización de la versión principal debido al
final de su vida útil, como se explicó anteriormente. Siempre recomendamos que pruebe minuciosamente
las aplicaciones con nuevas versiones de la base de datos antes de realizar una actualización de la
versión principal.
Para obtener más información acerca de cómo actualizar un clúster de base de datos a una nueva versión
principal de Aurora, consulte Actualización de clústeres de base Amazon Aurora MySQL (p. 1174) y
Actualización del motor de base de datos de PostgreSQL para Aurora PostgreSQL (p. 1807).
• Clone su clúster mediante la característica de clonación rápida de base de datos de Amazon Aurora.
Realice la actualización y cualquier prueba posterior a la actualización en el nuevo clúster.
• Restaure desde una instantánea de clúster para crear un nuevo clúster de Aurora. Puede crear
una instantánea de clúster usted mismo de un clúster de Aurora existente. Aurora también crea
automáticamente instantáneas periódicas para cada uno de sus clústeres. A continuación, puede iniciar
una actualización de versión para el nuevo clúster. Puede experimentar con la copia actualizada del
clúster antes de decidir si desea actualizar el clúster original.
Para obtener más información sobre estas formas de crear nuevos clústeres para pruebas, consulte
Clonación de un volumen de clúster de base de datos de Aurora (p. 440) y Creación de una instantánea
de clúster de base de datos (p. 542).
10
Amazon Aurora Guía del usuario de Aurora
Regiones y zonas de disponibilidad
Para obtener información acerca de cómo encontrar las zonas de disponibilidad de una región de
AWS, consulte Descripción de las zonas de disponibilidad en la documentación de Amazon EC2.
Amazon opera centros de datos de alta disponibilidad con tecnología de vanguardia. Aunque es
infrecuente, puede suceder que se produzcan errores que afecten a la disponibilidad de las instancias
de bases de datos que están en la misma ubicación. Si aloja todas las instancias de bases de datos en
una misma ubicación y se produce un error en ella, ninguna de las instancias de bases de datos estará
disponible.
Es importante recordar que cada región de AWS es completamente independiente. Cualquier actividad de
Amazon RDS; que se inicie (por ejemplo, la creación de instancias de base de datos o la enumeración de
las instancias de base de datos disponibles) se ejecuta solo en la región de AWS predeterminada actual.
La región de AWS predeterminada se puede modificar en la consola al configurar la variable del entorno de
AWS_DEFAULT_REGION o se puede anular mediante el parámetro --region con la AWS Command Line
Interface (AWS CLI). Para obtener más información, consulte Configurar la AWS Command Line Interface,
específicamente las secciones relativas a las variables de entorno y las opciones de la línea de comandos.
Amazon RDS admite regiones especiales de AWS llamadas AWS GovCloud (US) que se han diseñado
para permitir a los clientes y los organismos del Gobierno de Estados Unidos que traspasen cargas
de trabajo más confidenciales a la nube. Mediante las regiones AWS GovCloud (US) se atienden las
necesidades reglamentarias y de cumplimiento propias del Gobierno de Estados Unidos. Para obtener más
información, consulte ¿Qué es AWS GovCloud (US)?
Para crear una instancia de base de datos de Amazon RDS o trabajar con ella en una región concreta de
AWS, use el punto de enlace de servicio regional correspondiente.
Note
11
Amazon Aurora Guía del usuario de Aurora
AWSRegiones de
AWSRegiones de
Cada región de AWS se ha diseñado para que esté totalmente aislada de las demás regiones de AWS.
Este diseño logra la mayor tolerancia a errores y estabilidad posibles.
Cuando se consultan los recursos, solo se ven los recursos vinculados a la región de AWS especificada.
Esto se debe a que las regiones de AWSestán aisladas entre sí y no replicamos automáticamente los
recursos en distintas regiones de AWS.
Temas
• Disponibilidad por región de Aurora MySQL (p. 12)
• Disponibilidad por región de Aurora PostgreSQL (p. 14)
12
Amazon Aurora Guía del usuario de Aurora
AWSRegiones de
13
Amazon Aurora Guía del usuario de Aurora
AWSRegiones de
14
Amazon Aurora Guía del usuario de Aurora
AWSRegiones de
15
Amazon Aurora Guía del usuario de Aurora
Zonas de disponibilidad
Zonas de disponibilidad
Cuando crea una instancia de base de datos, puede elegir una zona de disponibilidad o hacer que
Amazon RDS elija una al azar. Una zona de disponibilidad está representada por un código de región de
AWSseguido de un identificador de letra (por ejemplo, us-east-1a).
Cada Aurora clúster de base de datos aloja copias del almacenamiento en tres zonas de disponibilidad
independientes. Cada instancia de base de datos en el clúster debe estar en una de estas tres zonas de
disponibilidad. Cuando crea una instancia de base de datos en el clúster, elige Aurora automáticamente
una zona de disponibilidad adecuada si no especifica una zona de disponibilidad. Si una región de AWS
tiene menos de tres zonas de disponibilidad, Aurora no está disponible en esa región.
Para definir la zona horaria local de un clúster de base de datos, configure el parámetro de zona horaria
del grupo de parámetros del clúster de base de datos en uno de los valores admitidos que se enumeran
más adelante en esta sección. Para Aurora MySQL, el nombre de este parámetro es time_zone. Para
Aurora PostgreSQL, el nombre de este parámetro es timezone. Cuando se define el parámetro de zona
horaria de un clúster de base de datos, todas las instancias de ese clúster de base de datos cambian para
usar la nueva zona horaria local. Si otros clústeres de base de datos Aurora están usando el mismo grupo
de parámetros de clúster, todas las instancias de esos clústeres de base de datos cambiarán para usar
también la nueva zona horaria local. Para obtener más información acerca de los parámetros de nivel de
clúster, consulte Parámetros del clúster de base de datos de Amazon Aurora y de instancia de base de
datos (p. 372).
Después de definir la zona horaria local, todas las conexiones nuevas con la base de datos reflejarán el
cambio. Si tiene alguna conexión con la base de datos abierta al cambiar la zona horaria local, no verá la
actualización de la zona horaria local hasta que cierre la conexión y abra una nueva conexión.
Si está replicando entre varias regiones de AWS, el clúster de base de datos maestro de la replicación y
la réplica usarán distintos grupos de parámetros (los grupos de parámetros son únicos para cada región
de AWS). Si desea usar la misma zona horaria local para cada instancia, debe configurar el parámetro de
zona horaria de los grupos de parámetros tanto del maestro de replicación como de la réplica.
Cuando se restaura un clúster de base de datos desde una instantánea de clúster de base de datos, la
zona horaria local se define como UTC. Podrá actualizar la zona horaria a su zona horaria local una vez
que se haya completado la restauración. Si restaura un clúster de base de datos a un momento dado,
la zona horaria local del clúster de base de datos restaurado será el ajuste de zona horaria del grupo de
parámetros del clúster de base de datos restaurado.
Puede definir su zona horaria local en uno de los valores que se muestran en la siguiente tabla. Para
algunas zonas horarias, los valores de horas de determinados rangos de fechas pueden indicarse de un
modo incorrecto, como se muestra en la tabla. Para algunas zonas horarias de Australia, la abreviatura de
zona devuelta es un valor obsoleto, como se muestra en la tabla.
Africa/Harare Este ajuste de zona horaria puede devolver valores incorrectos del 28 de
febrero de 1903 a las 21:49:40 GMT hasta el 28 de febrero de 1903 a las
21:55:48 GMT.
16
Amazon Aurora Guía del usuario de Aurora
Zona horaria local para los clústeres de base de datos de
Africa/Monrovia
Africa/Nairobi Este ajuste de zona horaria puede devolver valores incorrectos del 31 de
diciembre de 1939 a las 21:30:00 GMT hasta el 31 de diciembre de 1959 a las
21:15:15 GMT.
Africa/Windhoek
America/Bogota Este ajuste de zona horaria puede devolver valores incorrectos del 23 de
noviembre de 1914 a las 04:56:16 GMT hasta el 23 de noviembre de 1914 a
las 04:56:20 GMT.
America/Caracas
America/Chihuahua
America/Cuiaba
America/Denver
America/Fortaleza Si su clúster de base de datos se encuentra en la región América del Sur (São
Paulo) y la hora esperada no se muestra correctamente para la zona horaria
de Brasil recientemente cambiada, restablezca el parámetro de zona horaria
del clúster de base de datos a America/Fortaleza.
America/Guatemala
America/Halifax Este ajuste de zona horaria puede devolver valores incorrectos del 27 de
octubre de 1918 a las 05:00:00 GMT hasta el 31 de octubre de 1918 a las
05:00:00 GMT.
America/Matamoros
America/Monterrey
America/Montevideo
America/Phoenix
America/Tijuana
Asia/Ashgabat
Asia/Baghdad
Asia/Baku
Asia/Bangkok
Asia/Beirut
Asia/Calcutta
Asia/Kabul
17
Amazon Aurora Guía del usuario de Aurora
Zona horaria local para los clústeres de base de datos de
Asia/Karachi
Asia/Kathmandu
Asia/Muscat Este ajuste de zona horaria puede devolver valores incorrectos del 31 de
diciembre de 1919 a las 20:05:36 GMT hasta el 31 de diciembre de 1919 a las
20:05:40 GMT.
Asia/Riyadh Este ajuste de zona horaria puede devolver valores incorrectos del 13 de
marzo de 1947 a las 20:53:08 GMT hasta el 31 de diciembre de 1949 a las
20:53:08 GMT.
Asia/Seoul Este ajuste de zona horaria puede devolver valores incorrectos del 30 de
noviembre de 1904 a las 15:30:00 GMT hasta el 7 de septiembre de 1945 a
las 15:00:00 GMT.
Asia/Shanghai Este ajuste de zona horaria puede devolver valores incorrectos del 31 de
diciembre de 1927 a las 15:54:08 GMT hasta el 2 de junio de 1940 a las
16:00:00 GMT.
Asia/Singapore
Asia/Taipei Este ajuste de zona horaria puede devolver valores incorrectos del 30 de
septiembre de 1937 a las 16:00:00 GMT hasta el 29 de septiembre de 1979 a
las 15:00:00 GMT.
Asia/Tehran
Asia/Tokyo Este ajuste de zona horaria puede devolver valores incorrectos del 30 de
septiembre de 1937 a las 15:00:00 GMT hasta el 31 de diciembre de 1937 a
las 15:00:00 GMT.
Asia/Ulaanbaatar
Atlantic/Azores Este ajuste de zona horaria puede devolver valores incorrectos del 24 de
mayo de 1911 a las 01:54:32 GMT hasta el 1 de enero de 1912 a las 01:54:32
GMT.
Australia/Adelaide La abreviatura de esta zona horaria aparece como CST en lugar de ACDT/
ACST.
Australia/Brisbane La abreviatura de esta zona horaria aparece como EST en lugar de AEDT/
AEST.
Australia/Darwin La abreviatura de esta zona horaria aparece como CST en lugar de ACDT/
ACST.
Australia/Hobart La abreviatura de esta zona horaria aparece como EST en lugar de AEDT/
AEST.
Australia/Perth La abreviatura de esta zona horaria aparece como WST en lugar de AWDT/
AWST.
Australia/Sydney La abreviatura de esta zona horaria aparece como EST en lugar de AEDT/
AEST.
Brazil/East
18
Amazon Aurora Guía del usuario de Aurora
Zona horaria local para los clústeres de base de datos de
Canada/ Este ajuste de zona horaria puede devolver valores incorrectos del 27 de
Saskatchewan octubre de 1918 a las 08:00:00 GMT hasta el 31 de octubre de 1918 a las
08:00:00 GMT.
Europe/Amsterdam
Europe/Athens
Europe/Dublin
Europe/Helsinki Este ajuste de zona horaria puede devolver valores incorrectos del 30 de abril
de 1921 a las 22:20:08 GMT hasta el 30 de abril de 1921 a las 22:20:11 GMT.
Europe/Paris
Europe/Prague
Europe/Sarajevo
Pacific/Auckland
Pacific/Guam
Pacific/Honolulu Este ajuste de zona horaria puede devolver valores incorrectos del 21 de
mayo de 1933 a las 11:30:00 GMT hasta el 30 de septiembre de 1945 a las
11:30:00 GMT.
Pacific/Samoa Este ajuste de zona horaria puede devolver valores incorrectos del 1 de enero
de 1911 a las 11:22:48 GMT hasta el 1 de enero de 1950 a las 11:30:00 GMT.
US/Alaska
US/Central
US/Eastern
US/East-Indiana
US/Pacific
UTC
19
Amazon Aurora Guía del usuario de Aurora
Funciones Aurora admitidas por región y motor
Temas
• Búsqueda de datos anteriores en Aurora. (p. 20)
• Bases de datos globales de Aurora (p. 22)
• Machine Learning de Aurora (p. 24)
• Consulta paralela Aurora. (p. 27)
• Amazon RDS Proxy (p. 28)
• Aurora Serverless v1 (p. 31)
• API de datos para Aurora Serverless (p. 32)
Algunas de estas características son solo capacidades de Aurora. Por ejemplo, Aurora Serverless, las
bases de datos de Aurora globales y la compatibilidad con la integración con los servicios de Machine
Learning de AWS no son compatibles con Amazon RDS. Otras características, como el proxy de
Amazon RDS, son compatibles con Amazon Aurora y Amazon RDS.
Las tablas utilizan los siguientes patrones para especificar los números de versión y el nivel de soporte:
La búsqueda de datos anteriores Aurora solo está disponible para Aurora MySQL. No está disponible para
Aurora PostgreSQL.
Región Aurora MySQL 5.6 Aurora MySQL 5.7 Aurora MySQL 8.0
20
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores en Aurora.
Región Aurora MySQL 5.6 Aurora MySQL 5.7 Aurora MySQL 8.0
Africa (Cape - - -
Town)
Asia Pacific - - -
(Hong Kong)
Asia Pacific - - -
(Jakarta)
China (Pekín) - - -
China - - -
(Ningxia)
Europa (Milán) - - -
21
Amazon Aurora Guía del usuario de Aurora
Bases de datos globales de Aurora
Región Aurora MySQL 5.6 Aurora MySQL 5.7 Aurora MySQL 8.0
Europa - - -
(Estocolmo)
Medio Oriente - - -
(Baréin)
América del - - -
Sur (São
Paulo)
AWS - - -
GovCloud
(Este de
EE. UU.)
AWS - - -
GovCloud
(Oeste de
EE. UU.)
La compatibilidad con esta característica varía según el motor Aurora de base de datos y la versión. En
la siguiente tabla se muestran las regiones y las versiones Aurora de base de datos que admiten esta
característica. Para obtener más información, consulte Uso de bases de datos globales de Amazon
Aurora (p. 247).
Este de EE. Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
UU. (Ohio) 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
versión 1.22 posterior posterior
y posterior
Este de EE. Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
UU. (Norte 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
de Virginia) versión 1.22 posterior posterior
y posterior
Oeste de Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
EE. UU. 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
(Norte de versión 1.22 posterior posterior
California) y posterior
Oeste de Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
EE. UU. 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
(Oregón) posterior posterior
22
Amazon Aurora Guía del usuario de Aurora
Bases de datos globales de Aurora
África - - - - - - -
(Ciudad del
Cabo)
Asia- - - - - - - -
Pacífico
(Hong Kong)
Asia- - - - - - - -
Pacífico
(Yakarta)
Asia- Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
Pacífico 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
(Bombay) versión 1.22 posterior posterior
y posterior
Asia Pacific Versión Versión Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
(Osaka) 1.22.3 y 2.07.3 y 3.01.0 y 10.12 y y posterior y posterior y posterior
posterior posterior posterior posterior
Asia Pacific Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
(Seoul) 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
versión 1.22 posterior posterior
y posterior
Asia Pacific Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
(Singapore) 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
versión 1.22 posterior posterior
y posterior
Asia- Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
Pacífico 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
(Sídney) versión 1.22 posterior posterior
y posterior
Asia- Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
Pacífico 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
(Tokio) versión 1.22 posterior posterior
y posterior
Canadá Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
(centro) 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
versión 1.22 posterior posterior
y posterior
China Versión Versión Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
(Pekín) 1.22.2 y 2.07.2 y 3.01.0 y 10.12 y y posterior y posterior y posterior
posterior posterior posterior posterior
23
Amazon Aurora Guía del usuario de Aurora
Machine Learning de Aurora
China Versión Versión Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
(Ningxia) 1.22.2 y 2.07.2 y 3.01.0 y 10.12 y y posterior y posterior y posterior
posterior posterior posterior posterior
Europa Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
(Fráncfort) 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
versión 1.22 posterior posterior
y posterior
Europa Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
(Irlanda) 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
versión 1.22 posterior posterior
y posterior
Europa Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
(Londres) 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
versión 1.22 posterior posterior
y posterior
Europa - - - - - - -
(Milán)
Europa Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
(París) 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
versión 1.22 posterior posterior
y posterior
Europa Versión Versión Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
(Estocolmo) 1.22.2 y 2.07.0 y 3.01.0 y 10.11 y y posterior y posterior y posterior
posterior posterior posterior posterior
Medio - - - - - - -
Oriente
(Baréin)
América del Versión Versión Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
Sur (São 1.22.2 y 2.07.1 y 3.01.0 y 10.11 y y posterior y posterior y posterior
Paulo) posterior posterior posterior posterior
AWS Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
GovCloud 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
(EE. UU. versión 1.22 posterior posterior
Este) y posterior
AWS Versión Versión 2.07 Versión Versión Versión 11.7 Versión 12.4 Versión 13.3
GovCloud 5.6.10a; y posterior 3.01.0 y 10.11 y y posterior y posterior y posterior
(EE. UU. versión 1.22 posterior posterior
Oeste) y posterior
24
Amazon Aurora Guía del usuario de Aurora
Machine Learning de Aurora
datos. Aurora expone modelos de ML como funciones SQL, por lo que no necesita aprender nuevos
lenguajes de programación ni herramientas. En su lugar, se utiliza SQL estándar para crear aplicaciones
que llaman a modelos ML, les transmiten datos y devuelvan predicciones como resultados de consultas.
Para obtener más información, consulte Uso de las capacidades de Machine Learning (ML) con Amazon
Aurora (p. 482).
Este de EE. - Versión 2.07 Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
UU. (Ohio) y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
posterior
Este de EE. - Versión 2.07 Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
UU. (Norte y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
de Virginia) posterior
Oeste de - Versión 2.07 Versión Versión Versión 11.6 Versión 12.4 Versión 13.3
EE. UU. y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(Norte de (SageMaker posterior (SageMaker (SageMaker (SageMaker (SageMaker
California) únicamente) (SageMaker únicamente) únicamente) únicamente) únicamente)
únicamente)
Oeste de - Versión 2.07 Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
EE. UU. y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(Oregón) posterior
Africa (Cape - - - - - - -
Town)
Asia- - Versión 2.07 Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
Pacífico y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(Hong Kong) (SageMaker posterior
únicamente) (SageMaker
únicamente)
Asia- - Versión 2.07 Versión Versión Versión 11.6 Versión 12.4 Versión 13.3
Pacífico y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(Yakarta) (SageMaker posterior (SageMaker (SageMaker
únicamente) (SageMaker únicamente) únicamente)
únicamente)
Asia- - Versión 2.07 Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
Pacífico y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(Bombay) posterior
Asia- - Versión Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
Pacífico 2.07.3 y 3.01.0 y 10.11 y posterior y posterior y posterior
(Osaka) posterior posterior
Asia- - Versión 2.07 Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
Pacífico y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(Seúl) posterior
Asia- - Versión 2.07 Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
Pacífico y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(Singapur) posterior
25
Amazon Aurora Guía del usuario de Aurora
Machine Learning de Aurora
Asia- - Versión 2.07 Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
Pacífico y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(Sídney) posterior
Asia- - Versión 2.07 Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
Pacífico y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(Tokio) posterior
Canadá - Versión 2.07 Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
(centro) y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
posterior
China - Versión 2.07 Versión Versión Versión 11.6 Versión 12.4 Versión 13.3
(Pekín) y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(SageMaker posterior (SageMaker (SageMaker
únicamente) (SageMaker únicamente) únicamente)
únicamente)
China - Versión 2.07 Versión Versión Versión 11.6 Versión 12.4 Versión 13.3
(Ningxia) y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(SageMaker posterior (SageMaker (SageMaker (SageMaker (SageMaker
únicamente) (SageMaker únicamente) únicamente) únicamente) únicamente)
únicamente)
Europa - Versión 2.07 Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
(Fráncfort) y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
posterior
Europa - Versión 2.07 Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
(Irlanda) y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
posterior
Europa - Versión 2.07 Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
(Londres) y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
posterior
Europa - - - - - - -
(Milán)
Europa - Versión 2.07 Versión Versión Versión 11.6 Versión 12.4 Versión 13.3
(París) y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(SageMaker posterior (SageMaker (SageMaker
únicamente) (SageMaker únicamente) únicamente)
únicamente)
Europa - Versión 2.07 Versión Versión Versión 11.6 Versión 12.4 Versión 13.3
(Estocolmo) y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(SageMaker posterior (SageMaker (SageMaker (SageMaker (SageMaker
únicamente) (SageMaker únicamente) únicamente) únicamente) únicamente)
únicamente)
26
Amazon Aurora Guía del usuario de Aurora
Consulta paralela Aurora.
Medio - Versión 2.07 Versión Versión Versión 11.6 Versión 12.4 Versión 13.3
Oriente y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(Baréin) (SageMaker posterior (SageMaker (SageMaker (SageMaker (SageMaker
únicamente) (SageMaker únicamente) únicamente) únicamente) únicamente)
únicamente)
América del - Versión 2.07 Versión Versión Versión 11.6 Versión 12.4 Versión 13.3
Sur (São y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
Paulo) (SageMaker posterior (SageMaker (SageMaker (SageMaker (SageMaker
únicamente) (SageMaker únicamente) únicamente) únicamente) únicamente)
únicamente)
AWS - Versión 2.07 Versión Versión: Versión 11.6 Versión 12.4 Versión 13.3
GovCloud y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(Este de posterior
EE. UU.)
AWS - Versión 2.07 Versión Versión Versión 11.6 Versión 12.4 Versión 13.3
GovCloud y posterior 3.01.0 y 10.11 y posterior y posterior y posterior
(Oeste de (SageMaker posterior (SageMaker (SageMaker (SageMaker (SageMaker
EE. UU.) únicamente) (SageMaker únicamente) únicamente) únicamente) únicamente)
únicamente)
Las consultas paralelas Aurora solo están disponibles para Aurora MySQL. Sin embargo, PostgreSQL
tiene su propia función de consulta paralela que está disponible en Amazon RDS. La capacidad se
habilita de forma predeterminada cuando se crea una nueva instancia de PostgreSQL (versiones 10.1 y
posteriores). Para obtener información, consulte PostgreSQL en Amazon RDS.
Región Aurora MySQL 5.6 Aurora MySQL 5.7 Aurora MySQL 8.0
Este de EE. UU. (Ohio) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Este de EE. UU. (Norte de Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Virginia)
Oeste de EE. UU. (Norte Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
de California)
Oeste de EE. UU. (Oregón) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
27
Amazon Aurora Guía del usuario de Aurora
Amazon RDS Proxy
Región Aurora MySQL 5.6 Aurora MySQL 5.7 Aurora MySQL 8.0
África (Ciudad del Cabo) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Asia-Pacífico (Hong Kong) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Asia-Pacífico (Bombay) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Asia-Pacífico (Osaka) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Asia Pacific (Seoul) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Asia-Pacífico (Singapur) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Asia-Pacífico (Sídney) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Asia-Pacífico (Tokio) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Canadá (centro) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
China (Pekín) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
China (Ningxia) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Europa (Fráncfort) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Europa (Irlanda) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Europa (Londres) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Europa (Milán) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Europa (París) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Europa (Estocolmo) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Medio Oriente (Baréin) Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
América del Sur (São Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
Paulo)
AWS GovCloud (Este de Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
EE. UU.)
AWS GovCloud (Oeste de Versión 1.23 Versión 2.09 y posterior Versión 3.01.0 y posterior
EE. UU.)
28
Amazon Aurora Guía del usuario de Aurora
Amazon RDS Proxy
Región Aurora MySQL Aurora MySQL Aurora MySQL Aurora Aurora Aurora
5.6 5.7 8.0 PostgreSQL PostgreSQL PostgreSQL
10 11 12
Este de EE. Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
UU. (Ohio) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
Este de EE. Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
UU. (Norte de 5.6.10a; posterior y posterior y posterior posterior posterior
Virginia) versión 1.22 y
posterior
Oeste de EE. Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
UU. (Norte de 5.6.10a; posterior y posterior y posterior posterior posterior
California) versión 1.22 y
posterior
Oeste de EE. Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
UU. (Oregón) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
África (Ciudad Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
del Cabo) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
Asia-Pacífico Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
(Hong Kong) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
Asia-Pacífico - - - - - -
(Yakarta)
Asia-Pacífico Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
(Bombay) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
Asia-Pacífico Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
(Osaka) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
Asia-Pacífico Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
(Seúl) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
Asia-Pacífico Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
(Singapur) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
Asia-Pacífico Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
(Sídney) 5.6.10a; posterior y posterior y posterior posterior posterior
29
Amazon Aurora Guía del usuario de Aurora
Amazon RDS Proxy
Región Aurora MySQL Aurora MySQL Aurora MySQL Aurora Aurora Aurora
5.6 5.7 8.0 PostgreSQL PostgreSQL PostgreSQL
10 11 12
versión 1.22 y
posterior
Asia-Pacífico Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
(Tokio) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
Canadá Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
(centro) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
China (Pekín) - - - - - -
China - - - - - -
(Ningxia)
Europa Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
(Fráncfort) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
Europa Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
(Irlanda) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
Europa Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
(Londres) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
Europa (Milán) Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
Europa (París) Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
Europa Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
(Estocolmo) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
Medio Oriente Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
(Baréin) 5.6.10a; posterior y posterior y posterior posterior posterior
versión 1.22 y
posterior
30
Amazon Aurora Guía del usuario de Aurora
Aurora Serverless v1
Región Aurora MySQL Aurora MySQL Aurora MySQL Aurora Aurora Aurora
5.6 5.7 8.0 PostgreSQL PostgreSQL PostgreSQL
10 11 12
América del Versión Versión 2.07 y Versión 3.01.0 Versión 10.11 Versión 11.6 y Versión 12.4 y
Sur (São 5.6.10a; posterior y posterior y posterior posterior posterior
Paulo) versión 1.22 y
posterior
AWS - - - - - -
GovCloud
(Este de
EE. UU.)
AWS - - - - - -
GovCloud
(Oeste de
EE. UU.)
Aurora Serverless v1
Aurora Serverless v1 es una característica de Auto Scaling en diferido diseñada para ser un enfoque
rentable para ejecutar cargas de trabajo intermitentes o impredecibles en Amazon Aurora. Se inicia,
se apaga y aumenta o reduce su capacidad de forma automática en función de las necesidades de la
aplicación. Para obtener más información, consulte Uso de Amazon Aurora Serverless v1 (p. 162).
África (Ciudad - - - - -
del Cabo)
Asia-Pacífico - - - - -
(Hong Kong)
Asia-Pacífico - - - - -
(Yakarta)
Asia-Pacífico - - - - -
(Osaka)
31
Amazon Aurora Guía del usuario de Aurora
API de datos para Aurora Serverless
China (Pekín) - - - - -
China (Ningxia) - - - - -
Europa (Milán) - - - - -
Europa - - - - -
(Estocolmo)
Medio Oriente - - - - -
(Baréin)
AWS GovCloud - - - - -
(Este de
EE. UU.)
AWS GovCloud - - - - -
(Oeste de
EE. UU.)
32
Amazon Aurora Guía del usuario de Aurora
API de datos para Aurora Serverless
África (Ciudad - - - - -
del Cabo)
Asia-Pacífico - - - - -
(Hong Kong)
Asia-Pacífico - - - - -
(Yakarta)
Asia-Pacífico - - - - -
(Osaka)
China (Pekín) - - - - -
China (Ningxia) - - - - -
Europa (Milán) - - - - -
33
Amazon Aurora Guía del usuario de Aurora
Administración de conexiones de Aurora
Europa - - - - -
(Estocolmo)
Medio Oriente - - - - -
(Baréin)
AWS GovCloud - - - - -
(Este de
EE. UU.)
AWS GovCloud - - - - -
(Oeste de
EE. UU.)
En determinadas tareas de Aurora, las diversas instancias o grupos de instancias desempeñan diferentes
roles. Por ejemplo, la instancia principal gestiona todas las instrucciones de lenguaje de definición de datos
(DDL) y de lenguaje de manipulación de datos (DML). Hasta 15 réplicas de Aurora gestionan el tráfico de
consultas de solo lectura.
Al usar puntos de enlace puede asignar cada conexión a la instancia o grupo de instancias adecuados en
función de su caso de uso. Por ejemplo, para realizar instrucciones DDL puede conectarse a la instancia
que sea la instancia principal. Para realizar consultas, puede conectarse al punto de enlace del lector,
con Aurora llevando a cabo de forma automática el equilibrio de carga entre todas las réplicas de Aurora.
En el caso de clústeres con instancias de base de datos de diferentes capacidades o configuraciones,
puede conectarse a puntos de enlace personalizados asociados a diversos subconjuntos de instancias de
base de datos. En el caso de diagnóstico o ajuste, puede conectarse a un punto de enlace de instancia
específico para examinar los detalles de una instancia de base de datos específica.
Temas
• Tipos de puntos de enlace de Aurora (p. 35)
• Visualización de los puntos de enlace para un clúster de Aurora (p. 37)
• Uso del punto de enlace de clúster (p. 37)
• Uso del punto de enlace del lector (p. 37)
• Uso de puntos de enlace personalizados (p. 38)
• Creación de un punto de enlace personalizado (p. 40)
• Visualización de puntos de enlace personalizados (p. 42)
• Edición de un punto de enlace personalizado (p. 47)
• Eliminación de un punto de enlace personalizado (p. 49)
34
Amazon Aurora Guía del usuario de Aurora
Tipos de puntos de enlace de Aurora
• Ejemplo de AWS CLI integral para puntos de enlace personalizados (p. 50)
• Uso de los puntos de enlace de instancia (p. 54)
• Cómo funcionan los puntos de enlace de Aurora con la alta disponibilidad (p. 55)
El punto de enlace de clúster o (punto de enlace del escritor) para un clúster de base de datos Aurora
se conecta a la instancia de base de datos principal actual de ese clúster de base de datos. Este punto
de enlace es el único que puede realizar operaciones de escritura como instrucciones DDL. Por este
motivo, el punto de enlace del clúster es el punto al que se conecta la primera vez que configura un
clúster o bien si su clúster solo contiene una única instancia de base de datos.
Cada clúster de base de datos de Aurora tiene un punto de enlace de clúster y una instancia de base
de datos principal.
Utilice el punto de enlace del clúster para todas las operaciones de escritura en el clúster de la base
de datos, incluidos inserciones, actualizaciones, eliminaciones y cambios de DDL. También puede
usar el punto de enlace del clúster para operaciones de lectura, como por ejemplo consultas.
El punto de enlace del clúster proporciona soporte de conmutación por error para conexiones de
lectura/escritura al clúster de base de datos. Si se produce un error en la instancia de base de datos
principal actual de un clúster de base de datos, Aurora conmuta por error automáticamente a una
nueva instancia de base de datos principal. Durante una conmutación por error, el clúster de base de
datos continúa atendiendo solicitudes de conexión al punto de enlace del clúster de la nueva instancia
de base de datos principal, con una interrupción del servicio mínima.
En el siguiente ejemplo se ilustra un punto de enlace del clúster de un clúster de base de datos Aurora
MySQL.
mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com:3306
Punto de enlace del lector
El punto de enlace del lector para un clúster de base de datos Aurora proporciona soporte de equilibrio
de carga para conexiones de solo lectura al clúster de base de datos. Utilice el punto de enlace del
lector para operaciones de lectura, como por ejemplo consultas. Al procesar esas instrucciones en las
réplicas de Aurora de solo lectura, este punto de enlace reduce la sobrecarga de la instancia principal.
También ayuda al clúster a escalar la capacidad para gestionar consultas SELECT simultáneas
proporcionalmente al número de réplicas de Aurora en el clúster. Cada clúster de base de datos
Aurora tiene un punto de enlace del lector.
Si el clúster contiene una o más réplicas de Aurora, el punto de enlace del lector equilibra la carga
de cada solicitud de conexión entre las réplicas de Aurora. En ese caso, solo se pueden ejecutar
instrucciones de solo lectura como SELECT en esa sesión. Si el clúster solo contiene una instancia
principal y no hay réplicas de Aurora, el punto de enlace del lector se conecta a la instancia principal.
En ese caso, se pueden ejecutar operaciones de escritura a través del punto de enlace.
En el siguiente ejemplo se ilustra un punto de enlace del lector de un clúster de base de datos Aurora
MySQL.
mydbcluster.cluster-ro-123456789012.us-east-1.rds.amazonaws.com:3306
35
Amazon Aurora Guía del usuario de Aurora
Tipos de puntos de enlace de Aurora
Un clúster de base de datos Aurora no tiene puntos de enlace personalizados hasta que crea uno.
Puede crear hasta cinco puntos de enlace personalizados para cada clúster de Aurora aprovisionado.
No puede usar puntos de enlace personalizados para clústeres de Aurora Serverless.
El punto de enlace personalizado proporciona conexiones de base de datos con equilibrio de carga en
función de otros criterios aparte de la capacidad de solo lectura o de lectura/escritura de las instancias
de base de datos. Por ejemplo, podría definir un punto de enlace personalizado para conectarse a
instancias que usan una clase de instancia de AWS particular o un grupo de parámetros de base de
datos particular. A continuación, podría informar a grupos de usuarios particulares acerca de este
punto de enlace personalizado. Por ejemplo, podría dirigir a los usuarios internos a instancias de baja
capacidad para la generación de informes o de consultas ad hoc (de una vez). También podría dirigir
el tráfico de producción a instancias de alta capacidad.
Dado que la conexión puede ir a cualquier instancia de base de datos que se asocie al punto de
enlace personalizado, recomendamos que se asegure de que todas las instancias de base de datos
de ese grupo comparten alguna característica similar. De esta forma se garantiza que el rendimiento,
la capacidad de memoria, etc. sean coherentes para todo aquel que se conecte a ese punto de
enlace.
Esta característica está destinada a usuarios avanzados con tipos de cargas de trabajo especializados
donde no resulta práctico que todas las réplicas de Aurora del clúster sean idénticas. Con los puntos
de enlace personalizados, puede predecir la capacidad de la instancia de base de datos usada para
cada conexión. Al usar puntos de enlace personalizados, normalmente no usa el punto de enlace del
lector de ese clúster.
En el siguiente ejemplo se ilustra un punto de enlace personalizado de una instancia de base de datos
de un clúster de base de datos de Aurora MySQL.
myendpoint.cluster-custom-123456789012.us-east-1.rds.amazonaws.com:3306
Punto de enlace de instancia
Un punto de enlace de una instancia se conecta a una instancia de base de datos específica de un
clúster de Aurora. Cada instancia de base de datos de un clúster de base de datos tiene su propio
punto de enlace de instancia único. Así que hay un punto de enlace de instancia para la actual
instancia de base de datos principal del clúster de base de datos y un punto de enlace de instancia
para cada una de las réplicas de Aurora en el clúster de la base de datos.
El punto de enlace de la instancia proporciona un control directo sobre las conexiones al clúster de
base de datos, en los casos en los que el uso del punto de enlace del clúster o del lector puede no
ser adecuado. Por ejemplo, su aplicación cliente podría necesitar un balanceo de carga más detallado
en función del tipo de carga de trabajo. En este caso, puede configurar varios clientes para que se
conecten a distintas réplicas de Aurora de un clúster de base de datos con el fin de distribuir las
cargas de trabajo de lectura. Si quiere ver un ejemplo donde se usen puntos de enlace de la instancia
para mejorar la velocidad de conexión tras una conmutación por error de Aurora PostgreSQL, consulte
Conmutación por error rápida con Amazon Aurora PostgreSQL (p. 1532). Si quiere ver un ejemplo
donde se usen puntos de conexión de la instancia para mejorar la velocidad de conexión tras una
conmutación por error de Aurora MySQL, consulte MariaDB Connector/J failover support – case
Amazon Aurora.
En el siguiente ejemplo se ilustra un punto de enlace de la instancia de una instancia de base de datos
de un clúster de base de datos Aurora MySQL.
mydbinstance.123456789012.us-east-1.rds.amazonaws.com:3306
36
Amazon Aurora Guía del usuario de Aurora
Visualización de puntos de enlace
Con la AWS CLI verá el escritor, el lector y cualquier punto de enlace personalizado en la salida del
comando describe-db-clusters. Por ejemplo, el siguiente comando muestra los atributos de punto de enlace
de todos los clústeres en la región de AWS actual.
Con la API de Amazon RDS, recuperará los puntos de enlace llamando a la función
DescribeDBClusterEndpoints.
Use el punto de enlace del clúster al administrar su clúster, realizar la extracción, transformar, cargar
operaciones (ETL) o desarrollar y probar aplicaciones. El punto de enlace de clúster se conecta a la
instancia principal del clúster. La instancia principal es la única instancia de base de datos donde puede
crear tablas e índices, ejecutar instrucciones INSERT y realizar otras operaciones de DDL y DML.
La dirección IP física a la que apunta el punto de enlace del clúster cambia cuando el mecanismo de
conmutación por error promueve una nueva instancia de base de datos para que sea la instancia principal
de lectura/escritura del clúster. Si usa cualquier forma de grupos de conexiones u otros multiplexados,
prepárese para vaciar o reducir el tiempo de vida de cualquier información de DNS almacenada en caché.
De esta forma se garantiza que no intente establecer una conexión de lectura/escritura en una instancia de
base de datos que deje de estar disponible o sea ahora de solo lectura tras una conmutación por error.
El punto de enlace del lector equilibra la carga de las conexiones a las réplicas de Aurora disponibles en
un clúster de base de datos de Aurora. No equilibra la carga de consultas individuales. Si desea equilibrar
la carga para cada consulta y distribuir la carga de trabajo de lectura de un clúster de base de datos, abra
una nueva conexión al punto de enlace del lector para cada consulta.
Cada clúster de Aurora tiene un solo punto de enlace del lector integrado cuyo nombre y otros atributos se
administran mediante Aurora. No puede crear, eliminar o modificar este tipo de punto de enlace.
Si el clúster contiene solo una instancia principal y no hay réplicas de Aurora, el punto de enlace del lector
se conecta a la instancia principal. En ese caso, podrá realizar operaciones de escritura a través de este
punto de enlace.
37
Amazon Aurora Guía del usuario de Aurora
Uso de puntos de enlace personalizados
Tip
A través del proxy de RDS, se pueden crear puntos de enlace adicionales de sólo lectura para un
clúster de Aurora. Estos puntos de enlace realizan el mismo tipo de balance de carga que el punto
de enlace del lector Aurora. Las aplicaciones pueden volver a conectarse más rápidamente a los
puntos de enlace del proxy que el punto de enlace del lector Aurora si las instancias no están
disponibles. Los puntos de enlace del proxy también pueden aprovechar otras características del
proxy, como la multiplexación. Para obtener más información, consulte Usar puntos de enlace del
lector con los clústeres de Aurora (p. 344).
Anteriormente, podría haber usado el mecanismo CNAMES para configurar alias del servicio de nombres
de dominio (DNS) desde su propio dominio para lograr resultados similares. Al usar puntos de enlace
personalizados, puede evitar actualizar registros CNAME al aumentar o disminuir su clúster. Los puntos de
enlace personalizados también significan que puede usar conexiones Transport Layer Security/de capa de
conexión segura (TLS/SSL).
En lugar de usar una instancia de base de datos para cada propósito especializado y conectarse a su
punto de enlace de instancia, puede tener varios grupos de instancias de base de datos especializadas.
En este caso, cada grupo tiene su propio punto de enlace personalizado. De esta forma, Aurora puede
realizar el equilibrio de carga entre todas las instancias dedicadas a tareas como la creación de informes
o la gestión de consultas de producción o internas. Los puntos de enlace personalizados proporcionan
equilibrio de carga y alta disponibilidad para cada grupo de instancias de base de datos dentro de su
clúster. Si una de las instancias de base de datos dentro de un grupo deja de estar disponible, Aurora
dirige conexiones de punto de enlace personalizado posteriores a una de las otras instancias de base de
datos asociadas al mismo punto de enlace.
Temas
• Especificación de propiedades para puntos de enlace personalizados (p. 38)
• Reglas de afiliación para puntos de enlace personalizados (p. 39)
• Administración de puntos de enlace personalizados (p. 40)
endpointName.cluster-custom-customerDnsIdentifier.dnsSuffix
Dado que los nombres de punto de enlace personalizado no incluyen el nombre de su clúster, no tiene que
cambiar esos nombres si cambia el nombre de un clúster. No puede volver a usar el mismo nombre de
punto de enlace personalizado para más de un clúster en la misma región. Especifique un nombre para
cada punto de enlace personalizado que sea único en los clústeres que pertenecen a su ID de usuario
dentro de una región particular.
Cada punto de enlace personalizado tiene un tipo asociado que determina qué instancias de base de datos
cumplen los requisitos para asociarse a ese punto de enlace. En la actualidad, el tipo puede ser READER,
WRITER o ANY. Las siguientes consideraciones se aplican a los tipos de punto de enlace personalizado:
• Solo las instancias de base de datos que son réplicas de Aurora de solo lectura pueden formar parte de
un punto de enlace personalizado READER. El tipo READER se aplica solo a aquellos clústeres que usan
38
Amazon Aurora Guía del usuario de Aurora
Uso de puntos de enlace personalizados
un modelo de replicación maestro único, ya que esos clústeres pueden incluir varias instancias de base
de datos de solo lectura.
• Tanto las réplicas de Aurora de solo lectura como la instancia primaria de lectura/escritura pueden
formar parte de ANY punto de enlace personalizado. Aurora dirige las conexiones a los puntos de enlace
de clúster con ANY tipo a cualquier instancia de base de datos asociada con la misma probabilidad.
Como no puede determinar con antelación si se conecta a la instancia principal de una réplica de Aurora
de solo lectura, use este tipo de punto de enlace solo para conexiones de solo lectura. El tipo ANY se
aplica a los clústeres que usan cualquier topología de replicación.
• El tipo WRITER se aplica solo a clústeres multimaestro, ya que esos clústeres pueden incluir varias
instancias de bases de datos de lectura/escritura.
• Si intenta crear un punto de enlace personalizado con un tipo que no es adecuado en función de la
configuración de replicación para un clúster, Aurora devuelve un error.
Puede definir una lista de instancias de base de datos que se incluirán en un punto de enlace
personalizado o se excluirán de este. Nos referimos a estas listas como listas estáticas y de exclusión,
respectivamente. Puede usar el mecanismo de inclusión/exclusión para seguir subdividiendo los grupos
de instancias de base de datos y asegurarse de que el conjunto de puntos de enlace personalizados cubre
todas las instancias de base de datos en el clúster. Cada punto de enlace personalizado puede contener
solo uno de estos tipos de lista.
En la AWS Management Console, la casilla de verificación Attach future instances added to this cluster
(Asociar futuras instancias añadidas a este clúster) representa la opción. Al no seleccionar la casilla de
verificación, el punto de enlace personalizado usa una lista estática que contiene solo las instancias de
base de datos especificadas en el cuadro de diálogo. Al seleccionar la casilla de verificación, el punto
de enlace personalizado usa una lista de exclusión. En este caso, el punto de enlace personalizado
representa todas las instancias de base de datos del clúster (incluidas las añadidas en el futuro), excepto
las que se han dejado desactivadas en el cuadro de diálogo. AWS CLI y la API de Amazon RDS tienen
parámetros que representan cada tipo de lista. Al usar AWS CLI o la API de Amazon RDS, no puede
agregar ni quitar miembros individuales de las listas; especifique siempre la nueva lista completa.
Aurora no cambia las instancias de base de datos especificadas en las listas estáticas o de exclusión
cuando las instancias de base de datos cambian los roles entre la instancia principal y la réplica de Aurora
debido a una conmutación por error o a una promoción. Por ejemplo, un punto de enlace personalizado
con tipo READER podría incluir una instancia de base de datos que era una réplica de Aurora y, a
continuación, se promocionó a una instancia principal. El tipo de punto de enlace personalizado (READER,
WRITER o ANY) determina qué tipos de operaciones puede realizar a través de ese punto de enlace.
Puede asociar una instancia de base de datos a más de un punto de enlace personalizado. Por ejemplo,
supongamos que añade una nueva instancia de base de datos a un clúster, o que Aurora añade una
instancia de base de datos automáticamente a través del mecanismo de Auto Scaling. En estos casos, la
instancia de base de datos se añade a todos los puntos de enlace personalizados para los que cumple los
requisitos. A qué puntos de enlace se añade la instancia de base de datos se basa en el tipo de punto de
enlace personalizado de READER, WRITER o ANY, más cualquier lista estática o de exclusión definida para
cada punto de enlace. Por ejemplo, si el punto de enlace incluye una lista estática de instancias de base
de datos, las réplicas de Aurora recién añadidas no se añaden a ese punto de enlace. Por el contrario, si
el punto de enlace tiene una lista de exclusión, las réplicas de Aurora recién añadidas se añaden al punto
de enlace, si no se menciona en la lista de exclusión y sus roles coinciden con el tipo del punto de enlace
personalizado.
Si una réplica de Aurora deja de estar disponible, permanece asociada a cualquier punto de enlace
personalizado. Por ejemplo, sigue formando parte del punto de enlace personalizado si está en mal estado,
39
Amazon Aurora Guía del usuario de Aurora
Creación de un punto de enlace personalizado
se detiene, se reinicia, etc. Sin embargo, no podrá conectarse a ella a través de esos puntos de enlace
hasta que vuelva a estar disponible.
También debe crear y administrar puntos de enlace personalizados para clústeres de Aurora
restaurados a partir de instantáneas. Los puntos de enlace personalizados no se incluyen en la
instantánea. Vuélvalos a crear tras la restauración y elija nuevos nombres de punto de enlace si el
clúster restaurado está en la misma región que el original.
Para trabajar con puntos de enlace personalizados desde la AWS Management Console, vaya a la
página de detalles para su clúster de Aurora y utilice los controles de la sección de puntos de enlace
personalizados.
Para trabajar con puntos de enlace personalizados desde la AWS CLI, puede usar estas operaciones:
• create-db-cluster-endpoint
• describe-db-cluster-endpoints
• modify-db-cluster-endpoint
• delete-db-cluster-endpoint
Para trabajar con puntos de enlace personalizados a través de la API de Amazon RDS, puede usar las
siguientes funciones:
• CreateDBClusterEndpoint
• DescribeDBClusterEndpoints
• ModifyDBClusterEndpoint
• DeleteDBClusterEndpoint
40
Amazon Aurora Guía del usuario de Aurora
Creación de un punto de enlace personalizado
41
Amazon Aurora Guía del usuario de Aurora
Visualización de puntos de enlace personalizados
No puede seleccionar el tipo de punto de enlace personalizado de ANY o READER en la AWS Management
Console. Todos los puntos de enlace personalizados que crea a través de la AWS Management Console
tienen un tipo de ANY.
AWS CLI
Para crear un punto de enlace personalizado con la AWS CLI, ejecute el comando create-db-cluster-
endpoint.
Para Windows:
API de RDS
Para crear un punto de enlace personalizado con la API de RDS, ejecute la operación
CreateDBClusterEndpoint.
En la siguiente captura de pantalla se muestra cómo la lista de puntos de enlace personalizados para un
clúster de Aurora está inicialmente vacía.
42
Amazon Aurora Guía del usuario de Aurora
Visualización de puntos de enlace personalizados
Tras crear algunos puntos de enlace personalizados para ese clúster, se muestran en la sección Endpoints
(Puntos de enlace).
43
Amazon Aurora Guía del usuario de Aurora
Visualización de puntos de enlace personalizados
Al hacer clic en la página de detalles se muestran las instancias de base de datos a las que se asocia el
punto de enlace actualmente.
44
Amazon Aurora Guía del usuario de Aurora
Visualización de puntos de enlace personalizados
45
Amazon Aurora Guía del usuario de Aurora
Visualización de puntos de enlace personalizados
Para ver el detalle adicional de si las nuevas instancias de base de datos añadidas al clúster se añaden
automáticamente al punto de enlace también, abra el cuadro de diálogo Edit (Editar) para el punto de
enlace.
AWS CLI
Para ver puntos de enlace personalizados con la AWS CLI, ejecute el comando describe-db-cluster-
endpoints.
El siguiente comando muestra los puntos de enlace personalizados asociados a un clúster especificado
en una región especificada. La salida incluye los puntos de enlace integrados y cualquier punto de enlace
personalizado.
Para Windows:
{
"DBClusterEndpoints": [
{
"Endpoint": "custom-endpoint-demo.cluster-123456789012.ca-central-1.rds.amazonaws.com",
"Status": "available",
"DBClusterIdentifier": "custom-endpoint-demo",
"EndpointType": "WRITER"
},
{
"Endpoint": "custom-endpoint-demo.cluster-ro-123456789012.ca-
central-1.rds.amazonaws.com",
"Status": "available",
"DBClusterIdentifier": "custom-endpoint-demo",
"EndpointType": "READER"
},
{
"CustomEndpointType": "ANY",
"DBClusterEndpointIdentifier": "powers-of-2",
"ExcludedMembers": [],
"DBClusterIdentifier": "custom-endpoint-demo",
"Status": "available",
"EndpointType": "CUSTOM",
"Endpoint": "powers-of-2.cluster-custom-123456789012.ca-central-1.rds.amazonaws.com",
"StaticMembers": [
"custom-endpoint-demo-04",
"custom-endpoint-demo-08",
46
Amazon Aurora Guía del usuario de Aurora
Edición de un punto de enlace personalizado
"custom-endpoint-demo-01",
"custom-endpoint-demo-02"
],
"DBClusterEndpointResourceIdentifier": "cluster-endpoint-W7PE3TLLFNSHXQKFU6J6NV5FHU",
"DBClusterEndpointArn": "arn:aws:rds:ca-central-1:111122223333:cluster-endpoint:powers-
of-2"
},
{
"CustomEndpointType": "ANY",
"DBClusterEndpointIdentifier": "eight-and-higher",
"ExcludedMembers": [
"custom-endpoint-demo-04",
"custom-endpoint-demo-02",
"custom-endpoint-demo-07",
"custom-endpoint-demo-05",
"custom-endpoint-demo-03",
"custom-endpoint-demo-06",
"custom-endpoint-demo-01"
],
"DBClusterIdentifier": "custom-endpoint-demo",
"Status": "available",
"EndpointType": "CUSTOM",
"Endpoint": "eight-and-higher.cluster-custom-123456789012.ca-
central-1.rds.amazonaws.com",
"StaticMembers": [],
"DBClusterEndpointResourceIdentifier": "cluster-endpoint-W7PE3TLLFNSHYQKFU6J6NV5FHU",
"DBClusterEndpointArn": "arn:aws:rds:ca-central-1:111122223333:cluster-endpoint:eight-
and-higher"
}
]
}
API de RDS
Para ver puntos de enlace personalizados con la API de RDS, ejecute la operación
DescribeDBClusterEndpoints.html.
No puede conectarse a un punto de enlace personalizado o usarlo mientras los cambios de una acción de
edición están en curso. Podrían pasar algunos minutos hasta que el estado del punto de enlace vuelva a
ser Available (Disponible) y usted pueda volver a conectarse.
Consola
Para editar un punto de enlace personalizado con la AWS Management Console, puede seleccionar el
punto de enlace en la página de detalles del clúster o abrir la página de detalles para el punto de enlace y
elegir la acción Edit (Editar).
47
Amazon Aurora Guía del usuario de Aurora
Edición de un punto de enlace personalizado
48
Amazon Aurora Guía del usuario de Aurora
Eliminación de un punto de enlace personalizado
AWS CLI
Para editar un punto de enlace personalizado con la AWS CLI, ejecute el comando modify-db-cluster-
endpoint.
Los siguientes comandos cambian el conjunto de instancias de base de datos que se aplican a un punto
de enlace personalizado y, de forma opcional, se alterna entre el comportamiento de una lista estática o de
exclusión. Los parámetros --static-members y --excluded-members toman una lista separada por
espacios de identificadores de instancias de bases de datos.
Para Windows:
API de RDS
Para editar un punto de enlace personalizado con la API de RDS, ejecute la operación
ModifyDBClusterEndpoint.html.
49
Amazon Aurora Guía del usuario de Aurora
Ejemplo de AWS CLI integral para
puntos de enlace personalizados
AWS CLI
Para eliminar un punto de enlace personalizado con la AWS CLI, ejecute el comando delete-db-cluster-
endpoint.
El siguiente comando elimina un punto de enlace personalizado. No tiene que especificar el clúster
asociado, pero debe especificar la región.
Para Windows:
API de RDS
Para eliminar un punto de enlace personalizado con la API de RDS, ejecute la operación
DeleteDBClusterEndpoint.
En este ejemplo se muestran los pasos de configuración iniciales: creación de un clúster de Aurora y
adición de instancias de base de datos a este. Este es un clúster heterogéneo, lo que significa que no
todas las instancias de base de datos tienen la misma capacidad. La mayoría de las instancias usan
la clase AWS de instancia db.r4.4xlarge, pero las dos últimas instancias de base de datos usan
db.r4.16xlarge. Cada uno de estos comandos create-db-instance de ejemplo muestra su
resultado en la pantalla y ahorra una copia del JSON en un archivo para su posterior inspección.
for i in 01 02 03 04 05 06 07 08
do
aws rds create-db-instance --db-instance-identifier custom-endpoint-demo-${i} \
--engine aurora --db-cluster-identifier custom-endpoint-demo --db-instance-class
db.r4.4xlarge \
--region $REGION \
| tee custom-endpoint-demo-${i}.json
done
for i in 09 10
do
50
Amazon Aurora Guía del usuario de Aurora
Ejemplo de AWS CLI integral para
puntos de enlace personalizados
Las instancias más grandes están reservadas para tipos especializados de consultas de informes. Para
que sea poco probable que se conviertan en la instancia principal, en el siguiente ejemplo la prioridad de
su nivel de promoción pasa a ser la más baja.
for i in 09 10
do
aws rds modify-db-instance --db-instance-identifier custom-endpoint-demo-${i} \
--region $REGION --promotion-tier 15
done
Supongamos que desea usar las dos instancias «más grandes» solo para las consultas que más
recursos consumen. Para ello, primero puede crear un punto de enlace de solo lectura personalizado. A
continuación, puede agregar una lista estática de miembros para que el punto de enlace se conecte solo
a esas instancias de base de datos. El nivel de promoción de esas instancias ya es el más bajo, lo que
reduce la probabilidad de que cualquiera de ellas se convierta alguna vez en la instancia principal. Si una
de ellas se convirtiera en la instancia principal, resultaría inaccesible a través de este punto de enlace, ya
que especificamos el tipo READER en lugar del tipo ANY.
51
Amazon Aurora Guía del usuario de Aurora
Ejemplo de AWS CLI integral para
puntos de enlace personalizados
"DBClusterIdentifier": "custom-endpoint-demo"
}
El punto de enlace READER predeterminado del clúster puede conectarse a las instancias de base de
datos “pequeñas” o “grandes”, lo que hace poco práctico predecir el rendimiento y la escalabilidad de las
consultas cuando el clúster está ocupado. Para dividir la carga de trabajo limpiamente entre los conjuntos
de instancias de base de datos, puede omitir el punto de enlace READER predeterminado y crear un
segundo punto de enlace personalizado que se conecte a las demás instancias de base de datos. El
siguiente ejemplo lo hace creando un punto de enlace personalizado y, a continuación, añadiendo una lista
de exclusión. Cualquier otra instancia de base de datos que añada al clúster posteriormente se añadirá a
este punto de enlace automáticamente. El tipo ANY significa que este punto de enlace se asocia a ocho
instancias en total: la instancia principal y otras siete réplicas de Aurora. Si en el ejemplo se usó el tipo
READER, el punto de enlace personalizado solo se asociaría a las siete réplicas de Aurora.
En el siguiente ejemplo se comprueba el estado de los puntos de enlace de este clúster. El clúster aún
tiene su punto de enlace del clúster original, con EndPointType de WRITER, que aún usaría para la
administración, ETL y otras operaciones de escritura. Aún tiene su punto de enlace READER original,
que no usaría porque cada conexión a este podría dirigirse a una instancia de base de datos “pequeña”
o “grande”. Los puntos de enlace personalizados hacen que este comportamiento sea predecible, con
conexiones garantizadas para usar una de las instancias de base de datos “pequeñas” o “grandes” en
función del punto de enlace que especifique.
52
Amazon Aurora Guía del usuario de Aurora
Ejemplo de AWS CLI integral para
puntos de enlace personalizados
{
"DBClusterEndpoints": [
{
"EndpointType": "WRITER",
"Endpoint": "custom-endpoint-demo.cluster-123456789012.ca-
central-1.rds.amazonaws.com",
"Status": "available",
"DBClusterIdentifier": "custom-endpoint-demo"
},
{
"EndpointType": "READER",
"Endpoint": "custom-endpoint-demo.cluster-ro-123456789012.ca-
central-1.rds.amazonaws.com",
"Status": "available",
"DBClusterIdentifier": "custom-endpoint-demo"
},
{
"Endpoint": "small-instances.cluster-custom-123456789012.ca-
central-1.rds.amazonaws.com",
"CustomEndpointType": "ANY",
"DBClusterEndpointArn": "arn:aws:rds:ca-central-1:111122223333:cluster-
endpoint:small-instances",
"ExcludedMembers": [
"custom-endpoint-demo-09",
"custom-endpoint-demo-10"
],
"DBClusterEndpointResourceIdentifier": "cluster-
endpoint-6RDDXQOC3AKKZT2PRD7ST37BMY",
"DBClusterIdentifier": "custom-endpoint-demo",
"StaticMembers": [],
"EndpointType": "CUSTOM",
"DBClusterEndpointIdentifier": "small-instances",
"Status": "modifying"
},
{
"Endpoint": "big-instances.cluster-custom-123456789012.ca-
central-1.rds.amazonaws.com",
"CustomEndpointType": "READER",
"DBClusterEndpointArn": "arn:aws:rds:ca-central-1:111122223333:cluster-
endpoint:big-instances",
"ExcludedMembers": [],
"DBClusterEndpointResourceIdentifier": "cluster-endpoint-
W7PE3TLLFNSHXQKFU6J6NV5FHU",
"DBClusterIdentifier": "custom-endpoint-demo",
"StaticMembers": [
"custom-endpoint-demo-10",
"custom-endpoint-demo-09"
],
"EndpointType": "CUSTOM",
"DBClusterEndpointIdentifier": "big-instances",
"Status": "available"
}
]
}
En el ejemplo final se muestra cómo conexiones de base de datos sucesivas a los puntos de enlace
personalizados se conectan a las diversas instancias de base de datos del clúster de Aurora. El punto de
enlace small-instances siempre se conecta a las instancias de base de datos db.r4.4xlarge, que
son los hosts con la numeración más baja de este clúster.
$ mysql -h small-instances.cluster-custom-123456789012.ca-central-1.rds.amazonaws.com -u
$MYUSER -p
mysql> select @@aurora_server_id;
+-------------------------+
53
Amazon Aurora Guía del usuario de Aurora
Uso de los puntos de enlace de instancia
| @@aurora_server_id |
+-------------------------+
| custom-endpoint-demo-02 |
+-------------------------+
$ mysql -h small-instances.cluster-custom-123456789012.ca-central-1.rds.amazonaws.com -u
$MYUSER -p
mysql> select @@aurora_server_id;
+-------------------------+
| @@aurora_server_id |
+-------------------------+
| custom-endpoint-demo-07 |
+-------------------------+
$ mysql -h small-instances.cluster-custom-123456789012.ca-central-1.rds.amazonaws.com -u
$MYUSER -p
mysql> select @@aurora_server_id;
+-------------------------+
| @@aurora_server_id |
+-------------------------+
| custom-endpoint-demo-01 |
+-------------------------+
$ mysql -h big-instances.cluster-custom-123456789012.ca-central-1.rds.amazonaws.com -u
$MYUSER -p
mysql> select @@aurora_server_id;
+-------------------------+
| @@aurora_server_id |
+-------------------------+
| custom-endpoint-demo-10 |
+-------------------------+
$ mysql -h big-instances.cluster-custom-123456789012.ca-central-1.rds.amazonaws.com -u
$MYUSER -p
mysql> select @@aurora_server_id;
+-------------------------+
| @@aurora_server_id |
+-------------------------+
| custom-endpoint-demo-09 |
+-------------------------+
En las operaciones de Aurora diarias, la forma principal de uso de los puntos de enlace de instancia
consiste en diagnosticar los problemas de rendimiento o capacidad que afectan a una instancia específica
de un clúster de Aurora. Mientras se conecta a una instancia específica, puede examinar sus variables
de estado, métricas, etc. Hacer esto puede ayudarle a determinar qué sucede con esa instancia que es
distinto de lo que ocurre con otras instancias del clúster.
En los casos de uso avanzados, podría configurar algunas instancias de base de datos de manera
distinta a otras. En este caso, use el punto de enlace de instancia para conectarse directamente a una
instancia que sea más pequeña, más grande o que, de otro modo, tenga características distintas del
54
Amazon Aurora Guía del usuario de Aurora
Puntos de enlace y alta disponibilidad
resto. Asimismo, configure la prioridad de conmutación por error para que esta instancia de base de datos
especial sea la última opción para hacerse cargo como instancia principal. Recomendamos que use puntos
de enlace personalizados en lugar del punto de enlace de instancia en estos casos. Al hacerlo se simplifica
la administración de la conexión y la alta disponibilidad a medida que añade más instancias de base de
datos a su clúster.
Si diseña su propia lógica de aplicación para administrar conexiones a puntos de enlace de instancia,
puede, manualmente o mediante programación, encontrar el conjunto resultante de instancias de base de
datos disponibles en el clúster de base de datos. Luego puede confirmar sus clases de instancia tras la
conmutación por error y conectarse a un punto de enlace de instancia adecuado.
Para obtener más información acerca de las conmutaciones por error, consulte Tolerancia a errores para
un clúster de base de datos de Aurora (p. 73).
55
Amazon Aurora Guía del usuario de Aurora
Clases de instancia de base de datos
Para obtener más información acerca de los precios de las clases de instancias, consulte Precios de
Amazon RDS.
Temas
• Tipos de clase de instancia de base de datos (p. 56)
• Motores de base de datos compatibles para clases de instancia de base de datos (p. 57)
• Determinación del soporte de clase de instancia de base de datos en regionesAWS (p. 62)
• Especificaciones de hardware para clases de instancia de base de datos para Aurora (p. 65)
A continuación se indican las clases de instancias de base de datos con optimización para memoria
disponibles:
• db.x2g: clases de instancia optimizadas para aplicaciones con gran uso de la memoria y con la
tecnología de los procesadores Graviton2 de AWS. Estas ofrecen un bajo costo por GiB de memoria.
• db.r6g: clases de instancia con tecnología de procesadores Graviton2 de AWS. Estos son idóneos para
ejecutar cargas de trabajo de uso intensivo de memoria en bases de datos de código abierto como
MySQL y PostgreSQL.
• db.r5– Las clases de instancias de última generación optimizadas para las aplicaciones que hacen un
uso intensivo de la memoria. Ofrecen un rendimiento mejorado de redes. Con tecnología del nuevo
sistema Nitro AWS, una combinación de hardware dedicado e hipervisor ligero.
• db.r3 – Clases de instancia que proporcionan optimización de la memoria.
A continuación se indican las clases de instancias de base de datos de rendimiento aplicable disponibles:
• db.t4g: clases de instancia ampliables de última generación con la tecnología de los procesadores
Graviton2 de AWS. Estas ofrecen un mejor rendimiento de precio que las clases de instancia de base de
datos de rendimiento ampliable de la generación anterior para un amplio conjunto de cargas de trabajo
ampliable. Las instancias T4g están configuradas para el modo ilimitado, lo que significa que pueden
ampliarse más allá de la línea base en una ventana de 24 horas con cargo adicional. Recomendamos
que se usen estas clases de instancia solo para los servidores de desarrollo y de pruebas, o para otros
servidores que no se utilicen para la producción.
• db.t3– Las clases de instancias de próxima generación que proporcionan un nivel de rendimiento básico,
con la capacidad de ráfagas al uso completo de la CPU. Las instancias T3 están configuradas para el
modo ilimitado. Las clases de instancia proporcionan más capacidad de computación que las clases de
instancia db.t2 anteriores. Con tecnología del nuevo sistema Nitro AWS, una combinación de hardware
dedicado e hipervisor ligero. Recomendamos que se usen estas clases de instancia solo para los
servidores de desarrollo y de pruebas, o para otros servidores que no se utilicen para la producción.
• db.t2: clases de instancias que proporcionan un nivel de desempeño de referencia con la capacidad de
transmitir ráfagas que usen la totalidad de la CPU. Las instancias T2 no están configuradas para el modo
ilimitado. Recomendamos que se usen estas clases de instancia solo para los servidores de desarrollo y
de pruebas, o para otros servidores que no se utilicen para la producción.
56
Amazon Aurora Guía del usuario de Aurora
Motores de bases de datos compatibles
Para las especificaciones de hardware de clase de instancia de base de datos, consulte Especificaciones
de hardware para clases de instancia de base de datos para Aurora (p. 65).
Las clases de instancia más pequeñas que puede usar con la versión 3 son t3.medium y
t4g.medium.
• Para las clases de instancia de base de datos Aurora MySQL db.r5, db.r4 y db.t3, ninguna instancia
del clúster puede tener actualizaciones pendientes del sistema en el nivel de instancia. Utilice el
siguiente comando de la AWS Command Line Interface (AWS CLI) para ver las actualizaciones del
sistema pendientes.
En la siguiente tabla, podrá encontrar detalles sobre las clases de instancia de base de datos de Amazon
Aurora compatibles para el motor de base de datos de Aurora.
db.x2g: clases de instancia de memoria optimizada con la tecnología de los procesadores Graviton2 de
AWS
57
Amazon Aurora Guía del usuario de Aurora
Motores de bases de datos compatibles
db.r6g: clases de instancia optimizada para memoria con tecnología de procesadores Graviton2 de AWS
58
Amazon Aurora Guía del usuario de Aurora
Motores de bases de datos compatibles
59
Amazon Aurora Guía del usuario de Aurora
Motores de bases de datos compatibles
60
Amazon Aurora Guía del usuario de Aurora
Motores de bases de datos compatibles
db.t4g: clases de instancia de rendimiento ampliable de última generación con la tecnología de los
procesadores Graviton2 de AWS.
db.t4g.2xlarge* No No
db.t4g.xlarge No No
db.t4g.small No No
db.t3.2xlarge No No
db.t3.xlarge No No
db.t3.micro No No
61
Amazon Aurora Guía del usuario de Aurora
Determinación del soporte de clase de
instancia de base de datos en regionesAWS
Cuando realiza operaciones con AWS CLI, como crear o modificar un clúster de base de datos,
muestra automáticamente las clases de instancia de base de datos admitidas para un motor de
base de datos específico, una versión del motor de base de datos y AWS la región.
Contenido
• Uso de la página de Amazon RDS de precios para determinar la compatibilidad de clase de instancia
de base de datos en las regiones de AWS (p. 62)
• Uso de AWS CLI para determinar el soporte de clase de instancia de base de datos en AWS
Regiones (p. 63)
• Enumerar las clases de instancia de base de datos compatibles con una versión específica
del motor de base de datos en una AWS región (p. 63)
• Enumerar las versiones del motor de base de datos que admiten una clase de instancia de
base de datos específica en una AWS región (p. 64)
Para utilizar la página de precios para determinar las clases de instancia de base de datos
admitidas por cada motor de una región
62
Amazon Aurora Guía del usuario de Aurora
Determinación del soporte de clase de
instancia de base de datos en regionesAWS
Para utilizar los AWS CLI ejemplos de esta sección, asegúrese de introducir valores válidos para el motor
de base de datos, la versión del motor de base de datos, la clase de instancia de base de datos y AWS la
región. En la tabla siguiente se muestran los valores válidos del motor de base de datos.
Nombre del motor Valor del motor en Más información acerca de las versiones
comandos de CLI
Aurora compatible con aurora Actualizaciones del motor de base de datos de Amazon
MySQL 5.6 Aurora MySQL versión 1 (p. 1286)
Aurora compatible con aurora-mysql Actualizaciones del motor de base de datos de Amazon
MySQL 5.7 y 8.0 Aurora MySQL versión 2 (p. 1196), Actualizaciones
del motor de base de datos de Amazon Aurora MySQL
versión 3 (p. 1195)
Para obtener más información acerca de los nombres de regiones de AWS, consulte AWSRegiones de
(p. 12).
Los siguientes ejemplos muestran cómo determinar el soporte de clase de instancia de base de datos en
una AWS región mediante el AWS CLI comando describe-orderable-db-instance-options .
Temas
• Enumerar las clases de instancia de base de datos compatibles con una versión específica del motor
de base de datos en una AWS región (p. 63)
• Enumerar las versiones del motor de base de datos que admiten una clase de instancia de base de
datos específica en una AWS región (p. 64)
Enumerar las clases de instancia de base de datos compatibles con una versión
específica del motor de base de datos en una AWS región
Para enumerar las clases de instancia de base de datos compatibles con una versión específica del motor
de base de datos en una AWS región, ejecute el siguiente comando.
Para Windows:
63
Amazon Aurora Guía del usuario de Aurora
Determinación del soporte de clase de
instancia de base de datos en regionesAWS
--query "OrderableDBInstanceOptions[].
{DBInstanceClass:DBInstanceClass,SupportedEngineModes:SupportedEngineModes[0]}" ^
--output table ^
--region region
La salida también muestra los modos del motor que son compatibles con cada clase de instancia de base
de datos.
Por ejemplo, el siguiente comando enumera las clases de instancia de base de datos compatibles para la
versión 12.4 del motor de Aurora PostgreSQL base de datos en US East (N. Virginia).
Para Windows:
Enumerar las versiones del motor de base de datos que admiten una clase de
instancia de base de datos específica en una AWS región
Para enumerar las versiones del motor de base de datos que admiten una clase de instancia de base de
datos específica en una AWS región, ejecute el siguiente comando.
Para Windows:
La salida también muestra los modos de motor que son compatibles con cada versión del motor de base
de datos.
Por ejemplo, el siguiente comando enumera las versiones del motor de base de datos del motor de Aurora
PostgreSQL base de datos que admiten la clase de instancia de base de datos db.r5.large en US East (N.
Virginia).
64
Amazon Aurora Guía del usuario de Aurora
Especificaciones de hardware
Para Windows:
vCPU
El número de unidades de procesamiento central (CPU) virtuales. Una CPU virtual es una unidad
de capacidad que se puede usar para comparar clases de instancia de base de datos. En lugar
de comprar o arrendar un procesamiento concreto para usarlo durante varios meses o años, la
capacidad se alquila por horas. Nuestro objetivo es proporcionar una cantidad constante y específica
de capacidad de CPU dentro de los límites del hardware subyacente real.
ECU
La medida relativa de la potencia de procesamiento íntegra de una instancia de Amazon EC2. Para
facilitar a los desarrolladores la comparación de la capacidad de la CPU entre distintas clases de
instancia, hemos definido una unidad de computación Amazon EC2. La cantidad de CPU asignada a
una instancia concreta se expresa en términos de estas unidades informáticas EC2. Actualmente, una
ECU proporciona capacidad de CPU equivalente a un procesador 2007 Opteron o 2007 Xeon de 1,0–
1,2 GHz.
Memoria (GiB)
La RAM, en gibibytes, asignada a la instancia de base de datos. A menudo, hay una relación
coherente entre memoria y vCPU. Como ejemplo, seleccione la clase de instancia db.r4, que dispone
de una memoria en la relación de vCPU similar a la clase de instancia db.r5. Sin embargo, para
la mayoría de casos de uso, la clase de instancia db.r5 proporciona un mejor rendimiento y más
coherente que la clase de instancia db.r4.
Ancho de banda máx. (Mbps)
El ancho de banda máximo en megabits por segundo. Divídalo entre 8 para obtener el rendimiento
esperado en megabytes por segundo.
Note
Esta figura hace referencia al ancho de banda de E/S para almacenamiento local dentro de la
instancia de base de datos. No se aplica a la comunicación con el volumen de clúster Aurora.
65
Amazon Aurora Guía del usuario de Aurora
Especificaciones de hardware
Rendimiento de la red
En la siguiente tabla, podrá encontrar detalles sobre las clases de instancias de base de datos de Amazon
RDS para Aurora.
Para obtener información sobre la compatibilidad del motor de base de datos de Aurora para cada clase
de instancia de base de datos, consulte Motores de base de datos compatibles para clases de instancia de
base de datos (p. 57).
db.r6g: clases de instancia optimizada para memoria con tecnología de procesadores Graviton2 de AWS
66
Amazon Aurora Guía del usuario de Aurora
Especificaciones de hardware
** La instancia r3.8xlarge no tiene ancho de banda de EBS dedicado y, por lo tanto, no ofrece optimización
de EBS. En esta instancia, el tráfico de red y el tráfico de Amazon EBS comparten igual interfaz de red de
10 gigabits.
67
Amazon Aurora Guía del usuario de Aurora
Almacenamiento y fiabilidad de Aurora
Temas
• Información general del almacenamiento de Aurora (p. 68)
• Qué contiene el volumen del clúster (p. 68)
• Cómo cambia automáticamente el tamaño del almacenamiento de Aurora (p. 68)
• Cómo se factura el almacenamiento de datos de Aurora (p. 69)
• Fiabilidad de Amazon Aurora (p. 69)
La arquitectura de almacenamiento compartida de Aurora hace que sus datos sean independientes de
las instancias de base de datos del clúster. Por ejemplo, puede añadir una instancia de base de datos
rápidamente, ya que Aurora no hace una nueva copia de los datos de la tabla. En su lugar, la instancia
de base de datos se conecta al volumen compartido que ya contiene todos sus datos. Puede quitar una
instancia de base de datos de un clúster sin quitar los datos subyacentes del clúster. Solo al eliminar todo
el clúster, Aurora elimina los datos.
Para mostrar el estado del volumen, consulte Visualización del estado del volumen para un clúster de base
de datos de Aurora MySQL (p. 901) o Visualización del estado del volumen para un clúster de base de
68
Amazon Aurora Guía del usuario de Aurora
Facturación de datos
datos de Aurora PostgreSQL (p. 1473). Para encontrar formas de equilibrar los costos de almacenamiento
con otras prioridades, Escalado del almacenamiento (p. 434) describe cómo monitorear las métricas
AuroraVolumeBytesLeftTotal y VolumeBytesUsed de Amazon Aurora en CloudWatch.
Cuando se eliminan datos de Aurora, se libera el espacio asignado a esos datos. Algunos ejemplos de
eliminación de datos incluyen la eliminación o el truncamiento de una tabla. Esta reducción automática del
uso de almacenamiento le ayuda a minimizar los cargos de almacenamiento.
Note
Para obtener información acerca del almacenamiento de datos de Aurora, consulte Amazon RDS for
Aurora Pricing.
Para obtener información acerca de cómo minimizar los cargos de almacenamiento mediante el monitoreo
del uso de almacenamiento del clúster, consulte Escalado del almacenamiento (p. 434). Para obtener
información acerca del almacenamiento de datos de Aurora, consulte Precios de Amazon RDS for Aurora.
Temas
• Reparación automática del almacenamiento (p. 70)
69
Amazon Aurora Guía del usuario de Aurora
Fiabilidad
Recuperación de bloqueos
Aurora se ha diseñado para recuperarse de un bloqueo casi instantáneamente y continuar sirviendo
sus datos de aplicación sin el registro binario. Aurora realiza las recuperaciones de bloqueos de forma
asíncrona en subprocesos paralelos, de forma que su base de datos permanece abierta y disponible
inmediatamente después de un bloqueo.
Para obtener más información acerca de la recuperación de bloqueo, consulte Tolerancia a errores para un
clúster de base de datos de Aurora (p. 73).
• Habilitar el registro binario en Aurora afecta directamente al tiempo de recuperación tras un bloqueo, ya
que fuerza a la instancia de base de datos a realizar la recuperación de log binario.
• El tipo de registro binario utilizado afecta al tamaño y a la eficiencia del registro. Para la misma cantidad
de actividad de base de datos, algunos formatos registran más información que otros en los logs
binarios. La siguiente configuración del parámetro binlog_format da lugar a distintas cantidades de
datos de log:
• ROW: la mayor cantidad de datos de registro
• STATEMENT: la menor cantidad de datos de registro
• MIXED: una cantidad moderada de datos de registro que habitualmente ofrece la mejor combinación
de integridad de datos y rendimiento
La cantidad de datos de log binario afecta al tiempo de recuperación. Si hay más datos registrados en
los logs binarios, la instancia de base de datos debe procesar más datos durante la recuperación, lo que
aumenta el tiempo de recuperación.
70
Amazon Aurora Guía del usuario de Aurora
Seguridad de Aurora
• Aurora no necesita que los logs binarios repliquen datos dentro de un clúster de base de datos o que
realicen una restauración a un momento dado (PITR).
• Si no necesita el log binario para replicación externa (o un flujo de log binario externo), le recomendamos
que establezca el parámetro binlog_format en OFF para deshabilitar el registro binario. Al hacerlo se
reduce el tiempo de recuperación.
Para obtener más información sobre el registro binario de Aurora y la replicación, consulte Replicación con
Amazon Aurora (p. 74). Para obtener más información acerca de las implicaciones de distintos tipos
de replicación de MySQL, consulte Advantages and Disadvantages of Statement-Based and Row-Based
Replication en la documentación de MySQL.
Si usa IAM para acceder a la consola de Amazon RDS, debe iniciar sesión primero en la AWS
Management Console con las credenciales de usuario de IAM y luego ir a la consola de Amazon RDS en
https://console.aws.amazon.com/rds.
• Los clústeres de base de datos de Aurora deben crearse en una nube virtual privada (VPC) basada
en el servicio de Amazon VPC. Para controlar qué dispositivos e instancias Amazon EC2 pueden
abrir conexiones al punto de enlace y al puerto de la instancia de base de datos los clústeres de base
de datos Aurora en una VPC, debe usar un grupo de seguridad de VPC. Puede establecer estas
conexiones de puerto y punto de enlace mediante Transport Layer Security (TLS)/Capa de conexión
segura (SSL). Además, las reglas del firewall de su compañía pueden controlar si los dispositivos
que se ejecutan en ella pueden abrir conexiones a una instancia de base de datos. Para obtener más
información acerca de las VPC, consulte VPC Amazon Virtual Private Cloud y Amazon Aurora (p. 1926).
• Para autenticar los inicios de sesión y los permisos de un clúster de base de datos Amazon Aurora,
puede usar cualquiera de los siguientes procedimientos o una combinación de ellos.
• Puede seguir el mismo procedimiento que con una instancia de base de datos independiente de
MySQL o PostgreSQL.
Las técnicas de autenticación de inicios de sesión y permisos para instancias de base de datos
independientes de MySQL o PostgreSQL como, por ejemplo, el uso de los comandos SQL o la
modificación de las tablas de los esquemas de las bases de datos, también funcionan con Aurora.
Para obtener más información, consulte Seguridad con Amazon Aurora MySQL (p. 830) o Seguridad
con Amazon Aurora PostgreSQL (p. 1378).
• También puede utilizar la autenticación de base de datos de IAM para Aurora MySQL.
Con la autenticación de bases de datos de IAM, debe autenticarse en el clúster de base de datos de
Aurora MySQL con un usuario o un rol de IAM y un token de autenticación. Un token de autenticación
es un valor único que se genera utilizando el proceso de firma Signature Version 4. Mediante la
autenticación de base de datos de IAM, puede utilizar las mismas credenciales para controlar
el acceso a AWS los recursos y a las bases de datos. Para obtener más información, consulte
Autenticación de bases de datos de IAM (p. 1877).
71
Amazon Aurora Guía del usuario de Aurora
Uso de SSL con clústeres de base de datos de Aurora
Temas
• Alta disponibilidad para datos de Aurora (p. 72)
• Alta disponibilidad para instancias de bases de datos de Aurora (p. 72)
• Alta disponibilidad en todas las regiones de AWS con bases de datos de Aurora globales (p. 73)
• Tolerancia a errores para un clúster de base de datos de Aurora (p. 73)
Cuando los datos se escriben en la instancia de base de datos principal, Aurora replica de forma síncrona
los datos en zonas de disponibilidad a seis nodos de almacenamiento asociados con el volumen de
clúster. Este enfoque proporciona redundancia de datos, elimina los bloqueos de E/S y minimiza los picos
de latencia durante las copias de seguridad del sistema. Ejecutar una instancia de base de datos con
alta disponibilidad puede mejorar la disponibilidad durante el mantenimiento de sistema planificado y
ayuda a proteger las bases de datos contra los errores y las interrupciones de las zonas de disponibilidad.
Para obtener más información acerca de las zonas de disponibilidad, consulte Regiones y zonas de
disponibilidad (p. 11).
Durante las operaciones diarias, puede descargar parte del trabajo para aplicaciones de lectura intensiva
utilizando las instancias del lector para procesar consultas SELECT. Cuando un problema afecta a
la instancia principal, una de estas instancias de lector toma el relevo como instancia principal. Este
72
Amazon Aurora Guía del usuario de Aurora
Alta disponibilidad en todas las regiones de
AWS con bases de datos de Aurora globales
Para utilizar una cadena de conexión que permanece igual incluso cuando una conmutación por error
promueve una nueva instancia principal, se conecta al punto de enlace del clúster. El punto de enlace del
clúster siempre representa la instancia principal actual del clúster. Para obtener más información sobre el
punto de enlace del clúster, consulte Administración de conexiones de Amazon Aurora (p. 34).
Tip
Dentro de cada región de AWS, las zonas de disponibilidad representan ubicaciones distintas
entre sí para proporcionar aislamiento en caso de interrupciones. Es recomendable que distribuya
la instancia principal y las instancias de lectura del clúster de base de datos entre varias zonas
de disponibilidad para mejorar la disponibilidad del clúster de base de datos. De esta forma,
un problema que afecta a una zona de disponibilidad completa no causa una interrupción en el
clúster.
Puede configurar un clúster Multi-AZ haciendo una elección sencilla al crear el clúster. La elección
es simple tanto si usa la AWS Management Console como la AWS CLI o la API de Amazon RDS.
También puede convertir un clúster Aurora ya existente en un clúster Multi-AZ agregando una
nueva instancia de lector y especificando una zona de disponibilidad distinta.
Si se produce un error en la instancia principal de un clúster de base de datos que utiliza un modelo de
replicación maestro único, Aurora conmuta automáticamente a una nueva instancia principal de una de las
dos formas siguientes:
Si el clúster de base de datos tiene una o varias réplicas de Aurora, se promueve una réplica de Aurora a
instancia principal durante un evento de error. Un evento de error provoca una interrupción breve durante
la cual las operaciones de lectura y escritura generan errores con una excepción. Sin embargo, el servicio
se suele restaurar en menos de 120 segundos y, en muchos casos, en menos de 60 segundos. Para
73
Amazon Aurora Guía del usuario de Aurora
Replicación con Aurora
aumentar la disponibilidad de su clúster de base de datos, es recomendable que cree al menos una o
varias réplicas de Aurora en dos o más zonas de disponibilidad diferentes.
Tip
En las versiones 2.10 y posteriores de Aurora MySQL, puede mejorar la disponibilidad durante
una conmutación por error si tiene más de una instancia de base de datos del lector en un clúster.
En las versiones 2.10 y posteriores de Aurora MySQL, Aurora reinicia solo la instancia de base
de datos del escritor y el destino de conmutación por error durante una conmutación por error.
Otras instancias de base de datos del lector en el clúster siguen disponibles para continuar el
procesamiento de consultas mediante conexiones con el punto de enlace del lector.
Puede personalizar el orden en que se promueven las réplicas de Aurora a instancia principal tras un
error mediante la asignación de una prioridad a cada réplica. Las prioridades van desde 0 para la primera
propiedad hasta 15 para la última. Si la instancia principal experimenta un error, Amazon RDS promueve la
réplica de Aurora con la mejor prioridad a la nueva instancia principal. Puede modificar la prioridad de una
réplica de Aurora en cualquier momento. Al modificar la prioridad, no se activa una conmutación por error.
Puede haber más de una réplica de Aurora con la misma prioridad, lo que genera niveles de promoción. Si
dos o más réplicas de Aurora comparten la misma prioridad, Amazon RDS promueve la réplica que tiene
un tamaño mayor. Si dos o más réplicas de Aurora tienen la misma prioridad y el mismo tamaño, Amazon
RDS promueve una réplica arbitraria del mismo nivel de promoción.
Si el clúster de base de datos no contiene ninguna Réplica de Aurora, la instancia principal se vuelve a
crear en la misma AZ durante un evento de error. Un evento de error provoca una interrupción durante
la cual las operaciones de lectura y escritura generan errores con una excepción. El servicio se restaura
cuando se crea la nueva instancia principal, un proceso que normalmente dura menos de 10 minutos.
Promover una réplica de Aurora a instancia principal es mucho más rápido que crear una nueva instancia
principal.
Supongamos que la instancia principal del clúster no está disponible debido a una interrupción que afecta
a una zona de disponibilidad completa. En este caso, la forma de poner en línea una nueva instancia
principal depende de si el clúster utiliza una configuración Multi-AZ. Si el clúster contiene alguna instancia
de lector en otras AZs, Aurora utiliza el mecanismo de conmutación por error para promover una de
esas instancias de lector como la nueva instancia principal. Si el clúster aprovisionado sólo contiene una
única instancia de base de datos, o si la instancia principal y todas las instancias de lector están en la
misma zona de disponibilidad, debe crear manualmente una o más instancias de base de datos nuevas
en otra zona de disponibilidad. Si el clúster utiliza Aurora Serverless, Aurora crea automáticamente una
nueva instancia de base de datos en otra zona de disponibilidad. Sin embargo, este proceso implica un
reemplazo de anfitrión y, por lo tanto, toma más tiempo que una conmutación por error.
Note
Amazon Aurora también admite la replicación con una base de datos de MySQL externa o una
instancia de base de datos de RDS MySQL. Para obtener más información, consulte Replicación
entre Aurora y MySQL o entre Aurora y otro clúster de base de datos de Aurora (replicación de
registro binario) (p. 1005).
74
Amazon Aurora Guía del usuario de Aurora
Réplicas de Aurora
Temas
• Réplicas de Aurora (p. 75)
• Replicación con Aurora MySQL (p. 76)
• Replicación con Aurora PostgreSQL (p. 76)
Réplicas de Aurora
Cuando crea una segunda, tercera, etc. instancia de base de datos en un clúster de base de datos Aurora
aprovisionada, Aurora configura automáticamente la replicación desde la instancia de base de datos de
escritor a todas las demás instancias de base de datos. Estas otras instancias de base de datos son de
solo lectura y se conocen como réplicas Aurora. También nos referimos a ellas como instancias de lector
al analizar las formas en que puede combinar instancias de base de datos de escritor y lector dentro de un
clúster.
Las réplicas Aurora tienen dos propósitos principales. Puede emitirles consultas para escalar las
operaciones de lectura de la aplicación. Normalmente lo hace conectándose al punto de enlace del lector
del clúster. De esta forma, Aurora puede distribuir la carga de conexiones de solo lectura entre tantas
réplicas Aurora como tenga en el clúster. Las réplicas Aurora también ayudan a aumentar la disponibilidad.
Si la instancia de escritor de un clúster deja de estar disponible, Aurora promociona automáticamente una
de las instancias de lector para que tome su lugar como el nuevo escritor.
Un clúster de base de datos Aurora puede contener hasta réplicas 15 Aurora. Se pueden distribuir réplicas
de Aurora entre las distintas zonas de disponibilidad que abarca un clúster de base de datos dentro de una
región de AWS.
Los datos del clúster de base de datos tienen sus propias características de alta disponibilidad y
confiabilidad, independientemente de las instancias de base de datos del clúster. Si no está familiarizado
con las funciones Aurora de almacenamiento, consulte Información general del almacenamiento de
Aurora (p. 68). El volumen del clúster de base de datos consta físicamente de varias copias de los datos
del clúster de base de datos. La instancia principal y las réplicas Aurora del clúster de base de datos ven
los datos del volumen del clúster como un único volumen lógico.
Como resultado, todas las réplicas de Aurora devuelven los mismos datos para los resultados de las
consultas con un retraso de réplica mínimo. Este retraso suele ser inferior a 100 milisegundos después
de que la instancia principal haya escrito una actualización. El retardo de la réplica varía en función de la
velocidad de cambio de la base de datos. Es decir, durante los periodos en los que se produce una gran
cantidad de operaciones de escritura en la base de datos, puede registrarse un aumento del retardo de la
réplica.
Las réplicas de Aurora funcionan bien para el escalado de lectura porque están totalmente dedicadas a
las operaciones de lectura en el volumen del clúster. Las operaciones de escritura se administran en la
instancia principal. Como el volumen del clúster se comparte entre todas las instancias de base de datos
del clúster de base de datos, se requiere un trabajo adicional mínimo para replicar una copia de los datos
para cada réplica de Aurora.
Para incrementar la disponibilidad, puede usar las réplicas de Aurora como objetivos de conmutación por
error. Es decir, que si la instancia principal da error, una réplica de Aurora se convierte en la instancia
principal. En este proceso se produce una breve interrupción durante la cual las solicitudes de escritura y
lectura realizadas a la instancia principal generan errores con una excepción. Cuando esto ocurre, algunas
de las réplicas de Aurora podrían reiniciarse, según la versión del motor de base de datos. Para obtener
información sobre el comportamiento de reinicio de las diferentes versiones del motor de base de datos de
Aurora, consulte Reinicio de un clúster de base de datos de Amazon Aurora o de una instancia de base de
datos de Amazon Aurora (p. 492). Sin embargo, promover una réplica de Aurora es mucho más rápido
que volver a crear la instancia principal. Si el clúster de la base de datos de Aurora no incluye ninguna
réplica de Aurora, el clúster de la base de datos no estará disponible mientras la instancia de base de
datos se recupera del error.
75
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL
Para escenarios de alta disponibilidad, le recomendamos que cree una o más réplicas de Aurora. Dichas
réplicas deberían ser de la misma clase de instancia de base de datos que la instancia principal y de zonas
de disponibilidad distintas para el clúster de base de datos Auqrora. Para obtener más información sobre
las réplicas de Aurora como destinos de conmutación por error, consulte Tolerancia a errores para un
clúster de base de datos de Aurora (p. 73).
Cuando se elimina una réplica de Aurora su punto de enlace de instancia se elimina inmediatamente y
la réplica de Aurora se elimina del punto de enlace del lector. Si hay instrucciones que se ejecutan en
la réplica de Aurora que se van a eliminar, hay un periodo de gracia de tres minutos. Las instrucciones
existentes pueden finalizar correctamente durante el periodo de gracia. Cuando termina dicho periodo, se
apaga la réplica de Aurora y se elimina.
No puede crear una réplica de Aurora cifrada para un clúster de base de datos de Aurora sin cifrar. No
puede crear una réplica de Aurora sin cifrar para un clúster de base de datos de Aurora cifrado.
Tip
Puede utilizar Réplicas Aurora dentro de un clúster Aurora como única forma de replicación
para mantener los datos altamente disponibles. También puede combinar la Aurora replicación
integrada con los otros tipos de replicación. Hacerlo puede ayudar a proporcionar un nivel
adicional de alta disponibilidad y distribución geográfica de sus datos.
Para obtener información detallada acerca de la forma de crear una réplica de Aurora, consulte Adición de
réplicas de Aurora a un clúster de base de datos (p. 429).
Para obtener más información sobre cómo replicar con Aurora MySQL, consulte Modelo de replicación
maestro único con Amazon Aurora MySQL (p. 988).
• Una base de datos primaria de Aurora en una región y hasta cinco clústeres de base de datos
secundarios de solo lectura en diferentes regiones mediante una base de datos global de Aurora. Aurora
PostgreSQL no admite réplicas de Aurora entre regiones. Sin embargo, se puede usar la base de datos
global de Aurora para escalar las capacidades de lectura de su clúster de Aurora PostgreSQL DB a
76
Amazon Aurora Guía del usuario de Aurora
Facturación de instancias de base de datos para Aurora
más de una región de AWS y cumplir con los objetivos de disponibilidad. Para obtener más información,
consulte Uso de bases de datos globales de Amazon Aurora (p. 247).
• Dos clústeres de base de datos Aurora PostgreSQL en la misma región, mediante el uso de la
característica de replicación lógica de PostgreSQL.
• Una instancia de base de datos RDS for PostgreSQL como origen de los datos y un clúster de base de
datos Aurora PostgreSQL, creando una réplica de lectura Aurora de una instancia de base de datos RDS
for PostgreSQL. Por lo general, se usa este enfoque para la migración a Aurora PostgreSQL, más que
para la replicación continua.
Para obtener más información sobre cómo replicar con Aurora PostgreSQL, consulte Replicación con
Amazon Aurora PostgreSQL (p. 1541).
• Horas de instancia de base de datos (por hora): en función de la clase de instancia de base de datos
(por ejemplo, db.t2.small o db.m4.large). Los precios se muestran por hora, pero las facturas se ajustan
hasta el segundo y muestran las horas en formato decimal. El uso de RDS se factura por incrementos de
un segundo, con un mínimo de 10 minutos. Para obtener más información, consulte Clases de instancia
de base de datos Aurora (p. 56).
• Almacenamiento (por GiB al mes): la capacidad de almacenamiento que ha aprovisionado para su
instancia de base de datos. Si escala la capacidad de almacenamiento aprovisionada durante el mes,
la factura se prorratea. Para obtener más información, consulte Almacenamiento y fiabilidad de Amazon
Aurora (p. 68).
• Solicitudes de E/S (por millón de solicitudes al mes): número total de solicitudes de E/S de
almacenamiento realizadas en un ciclo de facturación.
• Almacenamiento de copias de seguridad (por GiB al mes): el almacenamiento de copias de seguridad
es el almacenamiento asociado a copias de seguridad de base de datos automatizadas y cualquier
instantánea de base de datos activa que haya realizado. Aumentar el período de retención de copia
de seguridad u obtener instantáneas de base de datos adicionales aumenta el almacenamiento de
copias de seguridad consumido por su base de datos. La facturación por segundo no se aplica al
almacenamiento de copia de seguridad (medido en GB/mes).
Para obtener más información, consulte Copias de seguridad y restauración de un clúster de base de
datos de Amazon Aurora (p. 535).
• Transferencia de datos (por GB): las transferencias de datos de entrada y de salida de su instancia de
base de datos, desde y hacia Internet y otras regiones de AWS.
Amazon RDS proporciona las siguientes opciones de compra para que pueda optimizar los costos en
función de sus necesidades:
• On-Demand Instances (Instancias bajo demanda): pague por las horas de instancia de base de datos
que use. Los precios se muestran por hora, pero las facturas se ajustan hasta el segundo y muestran
las horas en formato decimal. El uso de RDS se factura ahora por incrementos de un segundo, con un
mínimo de 10 minutos.
• Reserved Instances (Instancias reservadas): reserve una instancia de base de datos durante un plazo
de uno a tres años y obtenga descuentos importantes en comparación con los precios de instancias
de base de datos bajo demanda. Cuando use instancias reservadas, podrá lanzar, eliminar, iniciar o
77
Amazon Aurora Guía del usuario de Aurora
Facturación de instancias de base de datos para Aurora
detener varias instancias dentro de una misma hora y obtener el beneficio de instancia reservada para
todas las instancias.
Para obtener información acerca de los precios de Aurora, consulte la página de precios de Aurora.
Temas
• Instancias de base de datos bajo demanda para Aurora (p. 79)
• Instancias de base de datos reservadas de Aurora (p. 80)
78
Amazon Aurora Guía del usuario de Aurora
Instancias de base de datos bajo demanda
La facturación de una instancia de base de datos comienza en cuanto la instancia está disponible. Los
precios se muestran por hora, pero las facturas se ajustan hasta el segundo y muestran las horas en
formato decimal. El uso de Amazon RDS se factura por incrementos de un segundo, con un mínimo
de 10 minutos. En caso de un cambio de configuración facturable, como el escalado informático o la
capacidad de almacenamiento, se le cobrará un mínimo de 10 minutos. La facturación continúa hasta
que se termina la instancia de base de datos, lo que tiene lugar cuando se elimina la instancia de base de
datos o produce un error.
Si ya no desea que se le cobre por su instancia de base de datos, debe detenerla o eliminarla para evitar
que se le cobren horas de instancia de base de datos adicionales. Para obtener más información acerca
de los estados de instancias de base de datos que se le cobran, consulte Visualización de una instancia de
base de datos (p. 607).
79
Amazon Aurora Guía del usuario de Aurora
Instancias de base de datos reservadas
El proceso general de trabajo con instancias de base de datos reservadas es el siguiente: en primer lugar,
obtener información sobre las ofertas de instancias de base de datos reservadas; en segundo lugar,
comprar una oferta y, por último, obtener información sobre las instancias de base de datos reservadas.
Puede modificar una instancia de base de datos reservada. Si la modificación está dentro de las
especificaciones de la instancia de base de datos reservada, parte o todo el descuento seguirá siendo
aplicable a la instancia de base de datos modificada. Si la modificación está fuera de las especificaciones,
como cambiar la clase de instancia, el descuento ya no se aplica. Para obtener más información, consulte .
Flexibilidad del tamaño de las instancias de base de datos reservadas (p. 81).
Para obtener más información acerca de las instancias de base de datos reservadas, incluidos los precios,
consulte Instancias reservadas de Amazon RDS.
Tipos de ofertas
Las instancias de base de datos reservadas están disponibles en tres variedades: sin pago inicial, pago
inicial parcial y pago inicial total, lo cual le permite optimizar sus costos de Amazon RDS en función del uso
previsto.
Esta opción proporciona acceso a una instancia de base de datos reservada sin que haya que hacer
un pago inicial. Su instancia de base de datos reservada sin pago inicial le cobra una tarifa por hora
con descuento por cada hora dentro del plazo, independientemente del uso. No es necesario realizar
ningún pago inicial. Esta opción solo está disponible en la modalidad de reserva de un año.
Pago inicial parcial
Esta opción exige que parte de la instancia de base de datos reservada se pague por adelantado. Las
horas restantes del plazo se cobran a una tarifa por hora con descuento, independientemente del uso
que haga. Esta opción sustituye la anterior opción de utilización intensa.
Pago inicial total
Se realiza un pago total al comienzo del plazo, y no se aplicará ningún otro costo el resto del plazo,
independientemente del número de horas de uso.
80
Amazon Aurora Guía del usuario de Aurora
Instancias de base de datos reservadas
Si está utilizando la facturación unificada, todas las cuentas de la organización se tratan como una sola.
Esto quiere decir que todas las cuentas de la organización pueden beneficiarse del precio por hora
reducido de las instancias de base de datos reservadas adquiridas por otra cuenta. Para obtener más
información sobre la facturación unificada, consulte Instancias de base de datos reservadas de Amazon
RDS en la Billing and Cost ManagementAWS.
Si tiene una instancia de base de datos y debe escalarla para aumentar la capacidad, la instancia de base
de datos reservada se aplica automáticamente a la instancia de base de datos escalada. Es decir que las
instancias de base de datos reservadas se aplican automáticamente entre todos los tamaños de clase de
instancia de base de datos. Las instancias de base de datos reservadas con flexibilidad de tamaño están
disponibles para las instancias de base de datos de la misma región de AWS y motor de base de datos.
Las instancias de base de datos reservadas con flexibilidad de tamaño solo se pueden escalar en su tipo
de clase de instancia. Por ejemplo, una instancia de base de datos reservada para una db.m4.large se
puede aplicar a una db.m4.xlarge, pero no a una db.m5.large, porque db.m4 y db.m5 son tipo de clases de
instancia diferentes.
Otro de los beneficios de las instancias de base de datos reservadas es que también se aplican a las
configuraciones Multi-AZ y Single-AZ. Con el término "flexibilidad" nos referimos a que puede moverse
libremente entre configuraciones dentro del mismo tipo de clase de instancia de base de datos. Por
ejemplo, puede pasar de una implementación Single-AZ que se ejecuta en una sola instancia de base
de datos grande (cuatro unidades normalizadas) a una implementación Multi-AZ que se ejecuta en dos
instancias de base de datos pequeñas (2 × 2 = 4 unidades normalizadas).
Las instancias de base de datos reservadas con flexibilidad de tamaño están disponibles para los
siguientes motores de base de datos de Aurora:
• Aurora MySQL
• Aurora PostgreSQL
Puede comparar el uso de diferentes tamaños de instancias de base de datos reservadas utilizando
unidades normalizadas. Por ejemplo, una unidad de uso en dos instancias de base de datos db.m3.large
equivale a ocho unidades de uso normalizadas en una db.m3.small. En la tabla siguiente se muestra el
número de unidades normalizadas por cada tamaño de instancia de base de datos.
micro 0,5 1
small 1 2
medium 2 4
large 4 8
xlarge 8 16
2xlarge 16 32
4xlarge 32 64
8xlarge 64 128
81
Amazon Aurora Guía del usuario de Aurora
Instancias de base de datos reservadas
10xlarge 80 160
12xlarge 96 192
Por ejemplo, suponga que adquiere una instancia de base de datos reservada db.t2.medium y tiene dos
instancias de base de datos db.t2.small en ejecución en su cuenta en la misma región de AWS. En
este caso, el beneficio de facturación se aplica en su totalidad a las dos instancias.
De forma alternativa, si tiene una instancia db.t2.large en ejecución en su cuenta en la misma región
de AWS, el beneficio de facturación se aplica al 50 % del uso de la instancia de base de datos.
82
Amazon Aurora Guía del usuario de Aurora
Instancias de base de datos reservadas
• Una clase de instancia de base de datos reservada db.r4.large Single-AZ de Aurora MySQL en EE.UU.
Este (Norte de Virginia) con un costo de 0,19 USD por hora o de 138,70 USD al mes
• Almacenamiento de Aurora con un costo de 0,10 USD por GiB al mes (asuma 45,60 USD al mes para
este ejemplo)
• E/S de Aurora con un costo de 0,20 USD por 1 millón de solicitudes (asuma 20 USD al mes para este
ejemplo)
• Almacenamiento de copia de seguridad de Aurora con un costo de 0,021 USD por GiB al mes (asuma
30 USD al mes para este ejemplo)
Sume todas estas opciones (138,70 USD + 45,60 USD + 20 USD + 30 USD) a la instancia de base de
datos reservada y el costo total mensual es de 234.30 USD.
Si decide utilizar una instancia de base de datos bajo demanda en lugar de una instancia de base de datos
reservada, una clase de instancia de base de datos reservada db.r4.large Single-AZ de Aurora MySQL en
EE.UU. Este (Norte de Virginia) cuesta 0,29 USD por hora 217,50 USD al mes. Así que para una instancia
de base de datos bajo demanda, sume todas estas opciones (217,50 USD + 45,60 USD + 20 USD +
30 USD) y el costo total mensual es de 313,10 USD. Ahorra casi 79 USD al mes al utilizar la instancia de
base de datos reservada.
Note
Los precios de este ejemplo son precios de ejemplo y podrían no coincidir con los precios reales.
Para obtener información acerca de los precios de Aurora, consulte la página de precios de
Aurora.
Si elimina una instancia de base de datos con un descuento de instancia de base de datos reservada,
puede lanzar otra instancia de base de datos con especificaciones compatibles. En este caso, sigue
disfrutando de la tarifa de descuento mientras dure la reserva (de uno o tres años).
Consola
Puede utilizar la AWS Management Console para trabajar con instancias de base de datos reservadas, tal
como se muestra en los siguientes procedimientos.
Para obtener precios e información sobre ofertas de instancias de base de datos reservadas
disponibles
83
Amazon Aurora Guía del usuario de Aurora
Instancias de base de datos reservadas
Las instancias reservadas de Amazon Aurora siempre tienen la opción Multi-AZ deployment
(Implementación Multi-AZ) establecida en No. Si crea un clúster de base de datos Amazon
Aurora a partir de su instancia de base de datos reservada, el clúster de base de datos
se crea automáticamente como Multi-AZ. Debe comprar una instancia de base de datos
reservada para cada instancia de base de datos que planee utilizar, con inclusión de las
réplicas de Aurora.
7. En Term, elija el tiempo durante el cual desea que se reserve la instancia de base de datos.
8. En Offering type (Tipo de oferta), elija el tipo de oferta.
Después de seleccionar el tipo de oferta, podrá ver la información sobre los precios.
Important
Elija Cancel (Cancelar) para evitar comprar la instancia de base de datos reservada y generar
cargos.
Después de recibir la información sobre las ofertas disponibles de instancias de base de datos reservadas,
podrá utilizar dicha información para adquirir una oferta, tal como se explica a continuación.
Las instancias reservadas de Amazon Aurora siempre tienen la opción Multi-AZ deployment
(Implementación Multi-AZ) establecida en No. Si crea un clúster de base de datos Amazon
Aurora a partir de su instancia de base de datos reservada, el clúster de base de datos
se crea automáticamente como Multi-AZ. Debe comprar una instancia de base de datos
reservada para cada instancia de base de datos que planee utilizar, con inclusión de las
réplicas de Aurora.
7. En Term, elija el tiempo durante el cual desea que se reserve la instancia de base de datos.
8. En Offering type (Tipo de oferta), elija el tipo de oferta.
Después de seleccionar el tipo de oferta, podrá ver la información sobre los precios.
84
Amazon Aurora Guía del usuario de Aurora
Instancias de base de datos reservadas
9. (Opcional) Puede asignar su propio identificador a las instancias de base de datos reservadas que
adquiera para poder realizar un seguimiento de estas. En Reserved Id, escriba un identificador para la
instancia de base de datos reservada.
10. Elija Continue.
Aparece el cuadro de diálogo Purchase Reserved DB Instances (Comprar instancias de base de daros
reservadas), que muestra un resumen de los atributos de la instancia de base de datos reservada que
ha seleccionado y el pago adeudado.
85
Amazon Aurora Guía del usuario de Aurora
Instancias de base de datos reservadas
De forma alternativa, elija Back para editar la instancia de base de datos reservada.
Después de adquirir las instancias de base de datos reservadas, podrá obtener información sobre las
instancias de base de datos reservadas, tal como se muestra a continuación.
Para obtener información sobre instancias de base de datos reservadas para su cuenta de AWS
Aparecerán las instancias de base de datos reservadas de la cuenta. Para ver información detallada
sobre la instancia de base de datos reservada particular, elija dicha instancia de la lista. Entonces,
podrá ver información detallada sobre esa instancia en el panel de detalles ubicado en la parte inferior
de la consola.
86
Amazon Aurora Guía del usuario de Aurora
Instancias de base de datos reservadas
AWS CLI
Puede utilizar la AWS CLI para trabajar con instancias de base de datos reservadas, tal como se muestra
en los siguientes ejemplos.
Para obtener información sobre las ofertas disponibles de instancias de base de datos reservadas, llame al
comando AWS CLI de la describe-reserved-db-instances-offerings.
Después de recibir la información sobre las ofertas disponibles de instancias de base de datos reservadas,
podrá utilizar dicha información para adquirir una oferta.
Para adquirir una instancia de base de datos reservada, use el comando AWS CLI de la purchase-
reserved-db-instances-offering con los siguientes parámetros:
El siguiente ejemplo adquiere la oferta de instancia de base de datos reservada con el ID 649fd0c8-
cf6d-47a0-bfa6-060f8e75e95f y le asigna el identificador MyReservation.
Para Windows:
87
Amazon Aurora Guía del usuario de Aurora
Instancias de base de datos reservadas
--reserved-db-instance-id MyReservation
Después de adquirir las instancias de base de datos reservadas, podrá obtener información sobre las
instancias de base de datos reservadas.
Para obtener información sobre las instancias de base de datos reservadas de su cuenta de AWS, llame al
comando de AWS CLIdescribe-reserved-db-instances, como se muestra en el siguiente ejemplo.
API de RDS
Puede usar la API de RDS para trabajar con instancias de base de datos reservadas:
• Para obtener información sobre las ofertas de instancias de base de datos reservadas disponibles, llame
a la operación de API de Amazon RDS DescribeReservedDBInstancesOfferings.
• Después de recibir la información sobre las ofertas disponibles de instancias de base de datos
reservadas, podrá utilizar dicha información para adquirir una oferta. Llame a la operación de API de
RDS PurchaseReservedDBInstancesOffering con los siguientes parámetros:
• --reserved-db-instances-offering-id – El ID de la oferta que desea adquirir.
• --reserved-db-instance-id – Puede asignar su propio identificador a las instancias de base de
datos reservadas que adquiera para poder realizar un seguimiento de estas.
• Después de adquirir las instancias de base de datos reservadas, podrá obtener información
sobre las instancias de base de datos reservadas. Llame a la operación de la API de RDS
DescribeReservedDBInstances.
88
Amazon Aurora Guía del usuario de Aurora
Instancias de base de datos reservadas
3. Elija Bill Details (Detalles de la factura) que aparece en la parte superior derecha del panel.
4. En AWSService Charges (Cargos de servicio), expanda Relational Database Service (Servicio de
base de datos relacional).
5. Expanda la región de AWS en la que se encuentran las instancias de base de datos reservadas, US
West (Oregon) (Oeste de EE. UU. [Oregón]), por ejemplo.
Las instancias de base de datos reservadas y sus cargos por hora del mes en curso se muestran en
Amazon Relational Database Service for Database Engine Reserved Instances (Amazon Relational
Database Service para Instancias reservadas del motor de base de datos).
La instancia de base de datos reservada en este ejemplo se compró con un pago total por adelantado,
por lo que no hay cargos por hora.
6. Elija el icono Cost Explorer (gráfico de barras) que aparece junto al encabezado de Reserved
Instances (Instancias reservadas).
Cost Explorer muestra el gráfico Monthly EC2 running hours costs and usage (Uso y costos por horas
de ejecución de EC2 mensuales).
7. Borre el filtro Usage Type Group (Grupo de tipo de uso) a la derecha del gráfico.
8. Elija el periodo y la unidad de tiempo para los que quiere examinar los costos de uso.
En el siguiente ejemplo se muestran los costos de uso de las instancias de base de datos bajo
demanda y reservadas para el año hasta la fecha por mes.
Los costos de las instancias de base de datos reservadas de enero a junio de 2021 son cargos
mensuales para una instancia parcial inicial, mientras que el costo de agosto de 2021 es un cargo
único para una instancia de pago total por adelantado.
El descuento de la instancia reservada para la instancia de pago inicial parcial venció en junio
de 2021, pero la instancia de base de datos no se eliminó. Después de la fecha de vencimiento,
simplemente se cobró según la tarifa bajo demanda.
89
Amazon Aurora Guía del usuario de Aurora
Inscripción en AWS
Si ya tiene una cuenta de AWS, conoce los requisitos de Aurora y prefiere usar los valores
predeterminados para los grupos de seguridad de IAM y VPC, vaya directo a Introducción a Amazon
Aurora (p. 96).
Inscripción en AWS
Cuando se registra en AWS, su cuenta de AWS se registra automáticamente en todos los servicios de
AWS, incluido Amazon RDS. Solo se le cobrará por los servicios que utilice.
Con Amazon RDS, paga solo por los recursos que usa. Los clústeres de base de datos de Amazon RDS
que crea se ejecutan en un entorno real (no en un entorno de pruebas). Deberá pagar las tarifas de uso
estándar de Amazon RDS para cada clúster de base de datos hasta que lo termine. Para obtener más
información sobre las tarifas de uso de Amazon RDS, consulte la página del producto de Amazon RDS.
Si es cliente nuevo de AWS, puede comenzar a usar Amazon RDS de forma gratuita. Para obtener más
información, consulte el nivel gratuito de AWS.
Si ya tiene una AWS cuenta, vaya a la siguiente sección, Creación de un usuario de IAM (p. 90).
Si no tiene una AWS cuenta, puede utilizar el siguiente procedimiento para crear una.
1. Abra https://portal.aws.amazon.com/billing/signup.
2. Siga las instrucciones en línea.
Parte del procedimiento de inscripción consiste en recibir una llamada telefónica e indicar un código de
verificación en el teclado del teléfono.
90
Amazon Aurora Guía del usuario de Aurora
Creación de un usuario de IAM
Una forma de hacerlo consiste en crear un nuevo usuario de IAM y concederle permisos de administrador.
También puede añadir un usuario de IAM existente a un grupo de IAM con permisos administrativos de
Amazon RDS. Luego, puede acceder a AWS desde una URL especial mediante las credenciales para el
usuario de IAM.
Si se ha inscrito en AWS pero no ha creado un usuario de IAM, puede crear uno en la consola de IAM.
1. Inicie sesión en la consola de IAM como el propietario de la cuenta; para ello, elija Root user (Usuario
raíz) e ingrese la dirección de email de su Cuenta de AWS. En la siguiente página, escriba su
contraseña.
Note
Debe activar el acceso de usuarios y roles de IAM a Facturación para poder utilizar los
permisos AdministratorAccess para acceder a la consola de AWS Billing and Cost
Management. Para ello, siga las instrucciones que se indican en el paso 1 del tutorial sobre
cómo delegar el acceso a la consola de facturación.
12. Retroceda a la lista de grupos y active la casilla de verificación del nuevo grupo. Elija Refresh si es
necesario para ver el grupo en la lista.
13. Elija Next: Tags (Siguiente: Etiquetas).
14. (Opcional) Añadir metadatos al rol asociando las etiquetas como pares de clave-valor. Para obtener
más información sobre el uso de etiquetas en IAM, consulte Etiquetado de entidades de IAM en la
guía del usuario de IAM.
15. Elija Next: Review para ver la lista de suscripciones a grupos que se van a añadir al nuevo usuario.
Cuando esté listo para continuar, elija Create user (Crear usuario).
91
Amazon Aurora Guía del usuario de Aurora
Determinar las necesidades
Puede usar este mismo proceso para crear más grupos y usuarios, y para otorgar a los usuarios acceso
a los recursos de la Cuenta de AWS. Para obtener información acerca de cómo usar las políticas que
restringen los permisos de los usuarios a recursos de AWS específicos, consulte Administración de
accesos y Ejemplos de políticas.
Para iniciar sesión como este nuevo usuario de IAM, cierre la sesión de la consola de AWS y después
utilice la siguiente dirección URL, donde your_aws_account_id será su número de cuenta de AWS sin los
guiones (por ejemplo, si su número de cuenta de AWS es 1234-5678-9012, su ID de cuenta de AWS
será 123456789012):
https://your_aws_account_id.signin.aws.amazon.com/console/
Escriba el nombre y la contraseña del usuario de IAM que acaba de crear. Cuando haya iniciado sesión, en
la barra de navegación se mostrará "su_nombre_de_usuario @ su_id_de_cuenta_de_aws".
Si no desea que la dirección URL de la página de inicio de sesión contenga el ID de su cuenta de AWS,
puede crear un alias de cuenta. En el panel IAM, seleccione Customize (Personalizar) y especifique un
alias, como el nombre de su empresa. Para iniciar sesión después de crear un alias de cuenta, use la
siguiente dirección URL:
https://your_account_alias.signin.aws.amazon.com/console/
Para verificar el enlace de inicio de sesión de los usuarios de IAM de su cuenta, abra la consola de IAM y
verifique el campo AWS Account Alias (Alias de cuenta de AWS) en el panel.
También puede crear claves de acceso para la AWS cuenta. Estas claves de acceso se pueden utilizar
para acceder a AWS a través de AWS Command Line Interface (AWS CLI) o a través de la API de
Amazon RDS. Para obtener más información, consulte Acceso programático, Instalación, actualización y
desinstalación de la AWS CLI y la Referencia de la API de Amazon RDS.
Antes de crear un clúster de base de datos y un grupo de seguridad, debe conocer los requisitos de red
y de clúster de la base de datos. Aquí se indican algunos aspectos importantes que se deben tener en
cuenta:
• Requisitos de recursos: ¿cuáles son los requisitos de memoria y de procesador para su aplicación o
su servicio? Usará esta configuración cuando determine la clase de instancia de base de datos que se
usará al crear el clúster de base de datos. Para conocer las especificaciones de las clases de instancia
de base de datos, consulte Clases de instancia de base de datos Aurora (p. 56).
• VPC, subred y grupo de seguridad–: el clúster de base de datos estará en una nube virtual privada
(VPC). Debe configurar reglas de grupo de seguridad para conectarse a un clúster de base de datos. En
la siguiente lista se describen las reglas de cada opción de VPC:
• VPC predeterminada: si su cuenta de AWS tiene una VPC predeterminada en la región de AWS, esa
VPC se configura de modo que sea compatible con los clústeres de base de datos. Si especifica la
VPC predeterminada al crear el clúster de base de datos:
92
Amazon Aurora Guía del usuario de Aurora
Proporcione acceso al clúster de base de datos.
• Asegúrese de crear un grupo de seguridad de VPC que autorice las conexiones entre la aplicación
o el servicio y el clúster de base de datos de Aurora. Use la opción Security Group (Grupo de
seguridad) de la consola de VPC o la AWS CLI para crear grupos de seguridad de VPC. Para
obtener información, consulte Paso 4: crear un grupo de seguridad de VPC (p. 1933).
• Debe especificar el grupo de subredes de base de datos predeterminado. Si este es el primer
clúster de base de datos que ha creado en la región de AWS, Amazon RDS creará el grupo de
subredes de base de datos predeterminado cuando cree el clúster de base de datos.
• VPC definida por el usuario: si desea especificar una VPC definida por el usuario al crear un clúster de
base de datos:
• Asegúrese de crear un grupo de seguridad de VPC que autorice las conexiones entre la aplicación
o el servicio y el clúster de base de datos de Aurora. Use la opción Security Group (Grupo de
seguridad) de la consola de VPC o la AWS CLI para crear grupos de seguridad de VPC. Para
obtener información, consulte Paso 4: crear un grupo de seguridad de VPC (p. 1933).
• La VPC debe cumplir algunos requisitos para alojar los clústeres de base de datos, como tener al
menos dos subredes, cada una en una zona de disponibilidad diferente. Para obtener información,
consulte VPC Amazon Virtual Private Cloud y Amazon Aurora (p. 1926).
• Debe especificar un grupo de subredes de base de datos que defina qué subredes de esa VPC
puede usar el clúster de base de datos. Para obtener información, consulte la sección DB Subnet
Group de Uso de una instancia de base de datos en una VPC (p. 1927).
• Alta disponibilidad: ¿necesita compatibilidad con conmutación por error? En Aurora, una implementación
Multi-AZ crea una instancia primaria y réplicas de Aurora. Puede configurar la instancia primaria y las
réplicas de Aurora para que estén en zonas de disponibilidad diferentes para permitir la conmutación por
error. Es recomendable usar implementaciones Multi-AZ para las cargas de trabajo de producción con
el objeto de mantener una alta disponibilidad. Para fines de desarrollo y de pruebas, puede utilizar una
implementación no Multi-AZ. Para obtener más información, consulte Alta disponibilidad para Amazon
Aurora (p. 72).
• Políticas de IAM: ¿Tiene la cuenta de AWS políticas que conceden los permisos necesarios para
realizar operaciones de Amazon RDS? Si se conecta a AWS con credenciales de IAM, la cuenta de
IAM debe tener políticas de IAM que concedan los permisos necesarios para realizar operaciones de
Amazon RDS. Para obtener más información, consulte Identity and access management en Amazon
Aurora (p. 1857).
• Puertos abiertos: ¿con qué puerto TCP o IP se comunicará la base de datos? Los firewalls de algunas
compañías podrían bloquear las conexiones al puerto predeterminado para el motor de base de datos.
Si el firewall de su compañía bloquea el puerto predeterminado, elija otro puerto para el nuevo clúster de
base de datos. Una vez que cree un clúster de base de datos que escuche en un puerto especificado,
puede cambiar el puerto modificando el clúster de base de datos.
• Región de AWS: ¿en qué región de AWS desea que esté la base de datos? Tener la base de
datos cerca de la aplicación o el servicio web podría reducir la latencia de la red. Para obtener más
información, consulte Regiones y zonas de disponibilidad (p. 11).
Una vez que tenga la información que necesita para crear el grupo de seguridad y el clúster de base de
datos, vaya al siguiente paso.
93
Amazon Aurora Guía del usuario de Aurora
Proporcione acceso al clúster de base de datos.
controlan el tráfico entrante y saliente en el nivel del clúster. Por ejemplo, los clústeres de base de datos
se crean de manera predeterminada con un firewall y un grupo de seguridad predeterminado que impide el
acceso al clúster de base de datos. Por tanto, debe agregar reglas a un grupo de seguridad que le permita
conectarse al clúster de base de datos. Use la información de red y de configuración que determinó en el
paso anterior para crear reglas que permitan el acceso al clúster de base de datos.
Por ejemplo, si tiene una aplicación que accederá a una base de datos del clúster de base de datos en una
VPC, debe agregar una regla de TCP personalizada que especifique el rango de puertos y direcciones IP
que la aplicación usará para acceder a la base de datos. Si tiene una aplicación en un clúster de Amazon
EC2, puede usar el grupo de seguridad de VPC que configuró para el clúster de Amazon EC2.
Para obtener más información sobre cómo crear una VPC a fin de usarla con Aurora, consult Cómo crear
una VPC para el uso con Amazon Aurora (p. 1933). Para obtener información sobre situaciones comunes
del acceso a una instancia de base de datos, consulte Situaciones para el acceso a una instancia de base
de datos situada en una VPC (p. 1940).
1. Inicie sesión en la AWS Management Console y abra la consola de Amazon VPC en https://
console.aws.amazon.com/vpc.
Note
Puede usar el grupo de seguridad de VPC que acaba de crear como grupo de seguridad del clúster de
base de datos cuando lo cree.
Note
Si se usa una VPC predeterminada, se crea un grupo de subredes predeterminado que abarca
todas las subredes de la VPC. Al crear un clúster de base de datos, puede seleccionar la VPC
94
Amazon Aurora Guía del usuario de Aurora
Proporcione acceso al clúster de base de datos.
predeterminada y usar default (valor predeterminado) para DB Subnet Group (Grupo de subred de
base de datos).
Una vez que haya completado los requisitos de configuración, puede crear un clúster de base de datos
mediante los requisitos y el grupo de seguridad según las instrucciones de Creación de un clúster de
base de datos de Amazon Aurora (p. 136). Para obtener información sobre cómo comenzar a crear un
clúster de base de datos que usa un motor de base de datos específico, consulte Introducción a Amazon
Aurora (p. 96).
95
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
de Aurora MySQL y cómo conectarse a él
Estos siguientes procedimientos son tutoriales que muestran los conceptos básicos de la introducción a
Aurora. Las secciones posteriores presentan procedimientos y conceptos de Aurora más avanzados, como
los diferentes tipos de puntos de enlace y cómo escalar clústeres de Aurora para ampliarlos o reducirlos.
Important
Debe completar las tareas que aparecen en Configuración del entorno para Amazon
Aurora (p. 90) antes de crear un clúster de base de datos o conectarse a él.
Temas
• Creación de un clúster de base de datos y cómo conectarse a una base de datos en un clúster de base
de datos de Aurora MySQL (p. 96)
• Creación de un clúster de base de datos y cómo conectarse a una base de datos en un clúster de base
de datos de Aurora PostgreSQL (p. 104)
• Explicación: crear un servidor web y un clúster de base de datos de Amazon Aurora (p. 113)
La creación de una cuenta de AWS no supone ningún costo. No obstante, al completar este tutorial, puede
incurrir en costos de los recursos de AWS que utilice. Puede eliminar estos recursos después de completar
el tutorial si ya no son necesarios.
Temas
• Crear un clúster de base de datos de Aurora MySQL (p. 96)
• Conectarse a una instancia en un clúster de base de datos (p. 102)
• Elimine el clúster de base de datos de ejemplo, el grupo de subred de base de datos y la
VPC (p. 104)
96
Amazon Aurora Guía del usuario de Aurora
Crear un clúster de base de datos de Aurora MySQL
su propia VPC para utilizarla con Amazon Aurora o utilizar una VPC existente con el clúster de base de
datos Aurora.
En algunos casos, puede que desee crear una VPC y un grupo de subred de base de datos para utilizarlos
con el clúster de base de datos de Aurora, en lugar de hacer que Amazon RDS los cree. Si es así, siga
las instrucciones que se describen en Cómo crear una VPC para el uso con Amazon Aurora (p. 1933). De
lo contrario, siga las instrucciones que se incluyen en este tema para crear su clúster de base de datos y
haga que Amazon RDS cree una VPC y un grupo de subred de base de datos automáticamente.
Puede utilizar Easy create (Creación sencilla) para crear un clúster de base de datos de Edición
Compatible con Aurora MySQL con la consola RDS. Con Easy create (Creación sencilla), únicamente debe
especificar el tipo de motor de base de datos, el tamaño de la instancia de base de datos y el identificador
de instancias de base de datos. Easy create (Creación sencilla) utiliza los ajustes predeterminados para
otras opciones de configuración. Cuando usa Standard create (Creación estándar) en lugar de Easy create
(Creación sencilla), se especifican más opciones de configuración al crear una base de datos, incluidas las
de disponibilidad, seguridad, copias de seguridad y mantenimiento.
En este tutorial, va a utilizar Easy creation (Creación sencilla) para crear un clúster de base de datos de
Edición Compatible con Aurora MySQL.
Note
Para obtener información sobre la creación de clústeres de base de datos con Standard
create (Creación estándar), consulte Creación de un clúster de base de datos de Amazon
Aurora (p. 136).
Para crear un clúster de base de datos de Aurora MySQL con Easy Create (Creación sencilla)
habilitada
Aurora no está disponible en todas las regiones de AWS. Para obtener una lista de las regiones de
AWS en las que Aurora está disponible, consulte Disponibilidad por región (p. 12).
3. En el panel de navegación, elija Databases (Bases de datos).
4. Seleccione Create database (Crear base de datos) y asegúrese de que la opción Easy Create
(Creación sencilla) esté seleccionada.
97
Amazon Aurora Guía del usuario de Aurora
Crear un clúster de base de datos de Aurora MySQL
La página Create database (Crear base de datos) debe ser similar a la siguiente imagen.
98
Amazon Aurora Guía del usuario de Aurora
Crear un clúster de base de datos de Aurora MySQL
10. Para utilizar una contraseña generada automáticamente para el clúster de base de datos, asegúrese
de que se elige Auto generate a password (Generación automática de contraseña).
99
Amazon Aurora Guía del usuario de Aurora
Crear un clúster de base de datos de Aurora MySQL
Para ingresar la contraseña, desactive la casilla Auto generate a password (Generación automática
de contraseña) y, a continuación, ingrese la misma contraseña en Master password (Contraseña
maestra) y Confirm password (Confirmar contraseña).
11. (Opcional) Abra la opción View default settings for Easy create (Ver configuración predeterminada
para Creación sencilla).
Puede examinar la configuración predeterminada utilizada con Easy create (Creación sencilla).
La columna Editable después de crear la base de datos muestra las opciones que puede cambiar
después de la creación de la base de datos.
100
Amazon Aurora Guía del usuario de Aurora
Crear un clúster de base de datos de Aurora MySQL
• Use Standard create (Creación estándar) para cambiar ajustes con la opción No en esa columna.
• En el caso de ajustes con la opción Yes (Sí) en dicha columna, puede utilizar la opción Standard
Create (Creación estándar) o modificar el clúster de base de datos una vez creada para cambiar el
ajuste.
• Si desea que el clúster de base de datos utilice una VPC, un grupo de subred y un grupo de
seguridad específicos, utilice Standard create (Creación estándar) para especificar estos recursos.
Es posible que haya creado estos recursos cuando estaba configurando Amazon RDS. Para
obtener más información, consulte Configuración del entorno para Amazon Aurora (p. 90).
• Si desea poder acceder al clúster de base de datos desde un cliente fuera de su VPC, utilice
Standard create (Creación estándar) para establecer Public access (Acceso público) a Yes (Sí).
Si el clúster de base de datos debe ser privado, deje Public access (Acceso público) establecido en
No.
12. Elija Create database (Crear base de datos).
Si decide utilizar una contraseña generada automáticamente, el botón View credential details (Ver
detalles de credenciales) aparece en la página Databases (Bases de datos).
Para consultar la contraseña y el nombre de usuario del clúster de base de datos, seleccione View
credential details (Ver detalles de credenciales).
Para conectarse al clúster de base de datos como usuario maestro, utilice el nombre de usuario y la
contraseña que aparecen.
Important
Los detalles del nuevo clúster de base de datos aparecen en la consola de RDS. El clúster de base de
datos y su instancia de base de datos tienen un estado de Creating (Creándose) hasta que el clúster
de base de datos esté listo para su uso. Cuando el estado cambie a Available (Disponible) en ambos,
podrá conectarse al clúster de base de datos. Dependiendo de la clase de instancia de base de datos
y de la cantidad de almacenamiento, es posible que el nuevo clúster de base de datos tarde hasta
20 minutos en estar disponible.
101
Amazon Aurora Guía del usuario de Aurora
Conectarse a una instancia en un clúster de base de datos
Para conectarse a una base de datos en un clúster de base de datos Aurora MySQL mediante el
monitor de MySQL, realice el siguiente procedimiento:
1. Descargue un cliente SQL que pueda utilizar para conectarse a la instancia de base de datos.
Puede conectarse a un clúster de base de datos de Aurora MySQL utilizando herramientas como la
utilidad de línea de comandos de MySQL. Para obtener más información sobre el uso del cliente de
MySQL, consulte mysql - The MySQL Command-Line Client en la documentación de MySQL. MySQL
Workbench es una de las aplicaciones basadas en interfaz gráfica de usuario (GUI) que puede utilizar
para conectarse. Para obtener más información, consulte la página Download MySQL Workbench.
Para obtener más información sobre cómo usar MySQL, consulte MySQL documentation
(Documentación de MySQL). Para obtener información sobre la instalación de MySQL (incluido el
cliente de MySQL), consulte Installing and Upgrading MySQL.
Si su instancia de base de datos es accesible públicamente, puede instalar el cliente SQL fuera de la
VPC. Si la instancia de base de datos es privada, normalmente se instala el cliente SQL en un recurso
dentro de la VPC, como una instancia de Amazon EC2.
2. Asegúrese de que el clúster de base de datos está asociado a un grupo de seguridad que proporciona
acceso a él. Para obtener más información, consulte Configuración del entorno para Amazon
Aurora (p. 90).
Si no especificó el grupo de seguridad adecuado al crear el clúster de base de datos, puede modificar
el clúster de base de datos para cambiar su grupo de seguridad. Para obtener más información,
consulte Modificación de un clúster de base de datos de Amazon Aurora (p. 405).
3. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://
console.aws.amazon.com/rds/.
4. Seleccione Databases (Bases de datos) y, a continuación, elija el nombre del clúster de base de
datos para mostrar sus detalles. En la pestaña Connectivity & security (Conectividad y seguridad),
copie el valor de Endpoint name (Nombre de punto de enlace) del punto de enlace de Writer instance
(Instancia del escritor). También tiene que anotar el número de puerto del punto de conexión.
102
Amazon Aurora Guía del usuario de Aurora
Conectarse a una instancia en un clúster de base de datos
5. Escriba el siguiente comando en un símbolo del sistema de un equipo cliente para conectarse a una
base de datos en un clúster de base de datos de Aurora MySQL utilizando el monitor de MySQL.
Utilice el punto de enlace del clúster para conectarse a la instancia principal y el nombre de usuario
maestro que creó anteriormente (se le pedirá que escriba una contraseña). Si proporcionó un valor
para el puerto distinto de 3306, utilícelo en el parámetro -P.
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Para obtener más información acerca de la conexión al clúster de base de datos, consulte Conexión a un
clúster de base de datos Amazon Aurora MySQL (p. 307). Si no puede conectarse al clúster de base de
datos, consulte No puede conectarse a la instancia de base de datos de Amazon RDS (p. 1955).
103
Amazon Aurora Guía del usuario de Aurora
Elimine el clúster de base de datos de ejemplo,
el grupo de subred de base de datos y la VPC
Después de eliminar todas las instancias de base de datos asociadas al clúster de base de datos, se
elimina automáticamente el clúster de base de datos .
1. Inicie sesión en la AWS Management Console y abra la consola de Amazon VPC en https://
console.aws.amazon.com/vpc/.
2. Elija Your VPCs y, a continuación, elija la VPC que se creó para este procedimiento.
3. En Actions (Acciones), elija Delete VPC (Eliminar VPC).
4. Elija Eliminar (Delete).
Debe completar las tareas que aparecen en Configuración del entorno para Amazon
Aurora (p. 90) antes de crear un clúster de base de datos o conectarse a el.
104
Amazon Aurora Guía del usuario de Aurora
Crear un clúster de base de datos de Aurora PostgreSQL
La creación de una cuenta de AWS no supone ningún costo. No obstante, al completar este tutorial, puede
incurrir en costos de los recursos de AWS que utilice. Puede eliminar estos recursos después de completar
el tutorial si ya no son necesarios.
Temas
• Crear un clúster de base de datos de Aurora PostgreSQL (p. 105)
• Conectarse a una instancia en un clúster de base de datos de Aurora PostgreSQL (p. 110)
• Elimine el clúster de base de datos de ejemplo, el grupo de subred de base de datos y la
VPC (p. 112)
En algunos casos, puede que desee crear una VPC y un grupo de subred de base de datos para
utilizarlos con el clúster de base de datos de Amazon Aurora, en lugar de hacer que Amazon RDS los
cree. Si es así, siga las instrucciones que se describen en Cómo crear una VPC para el uso con Amazon
Aurora (p. 1933). De lo contrario, siga las instrucciones que se incluyen en este tema para crear su
clúster de base de datos y haga que Amazon RDS cree una VPC y un grupo de subred de base de datos
automáticamente.
Puede utilizar Easy create (Creación sencilla) para crear un clúster de base de datos de Aurora
PostgreSQL con AWS Management Console. Con Easy create (Creación sencilla), únicamente debe
especificar el tipo de motor de base de datos, el tamaño de la instancia de base de datos y el identificador
de instancias de base de datos. Easy create (Creación sencilla) utiliza los ajustes predeterminados para
otras opciones de configuración. Cuando usa Standard create (Creación estándar) en lugar de Easy create
(Creación sencilla), se especifican más opciones de configuración al crear una base de datos, incluidas las
de disponibilidad, seguridad, copias de seguridad y mantenimiento.
En este ejemplo, va a utilizar Easy create (Creación sencilla) para crear un clúster de base de datos de
Aurora PostgreSQL.
Note
Para obtener información sobre la creación de clústeres de base de datos con Standard
create (Creación estándar), consulte Creación de un clúster de base de datos de Amazon
Aurora (p. 136).
Para crear un clúster de base de datos de Aurora PostgreSQL con la opción Easy create
(Creación sencilla) habilitada
Aurora no está disponible en todas las regiones de AWS. Para obtener una lista de las regiones de
AWS en las que Aurora está disponible, consulte Disponibilidad por región (p. 12).
3. En el panel de navegación, elija Databases (Bases de datos).
105
Amazon Aurora Guía del usuario de Aurora
Crear un clúster de base de datos de Aurora PostgreSQL
4. Seleccione Create database (Crear base de datos) y asegúrese de que la opción Easy Create
(Creación sencilla) esté seleccionada.
La página Create database (Crear base de datos) debe ser similar a la siguiente imagen.
106
Amazon Aurora Guía del usuario de Aurora
Crear un clúster de base de datos de Aurora PostgreSQL
10. Para utilizar una contraseña maestra generada automáticamente para el clúster de base de datos,
asegúrese de que Auto generate a password (Generar una contraseña automáticamente) esté
seleccionado.
107
Amazon Aurora Guía del usuario de Aurora
Crear un clúster de base de datos de Aurora PostgreSQL
Para introducir la contraseña maestra, desactive la casilla Auto generate a password (Generar
una contraseña automáticamente) y luego introduzca la misma contraseña en Master password
(Contraseña maestra) y Confirm password (Confirmar contraseña).
11. (Opcional) Abra la opción View default settings for Easy create (Ver configuración predeterminada
para Creación sencilla).
108
Amazon Aurora Guía del usuario de Aurora
Crear un clúster de base de datos de Aurora PostgreSQL
Puede examinar la configuración predeterminada utilizada con Easy create (Creación sencilla).
La columna Editable después de crear la base de datos muestra las opciones que puede cambiar
después de la creación de la base de datos.
• Use Standard create (Creación estándar) para cambiar ajustes con la opción No en esa columna.
• En el caso de ajustes con la opción Yes (Sí) en dicha columna, puede utilizar la opción Standard
Create (Creación estándar) o modificar el clúster de base de datos una vez creada para cambiar el
ajuste.
• Si desea que el clúster de base de datos utilice una VPC, un grupo de subred y un grupo de
seguridad específicos, utilice Standard create (Creación estándar) para especificar estos recursos.
Es posible que haya creado estos recursos cuando estaba configurando Amazon RDS. Para
obtener más información, consulte Configuración del entorno para Amazon Aurora (p. 90).
• Si desea poder acceder al clúster de base de datos desde un cliente fuera de su VPC, utilice
Standard create (Creación estándar) para establecer Public access (Acceso público) a Yes (Sí).
Si el clúster de base de datos debe ser privado, deje Public access (Acceso público) establecido en
No.
12. Elija Create database (Crear base de datos).
Si decide utilizar una contraseña generada automáticamente, el botón View credential details (Ver
detalles de credenciales) aparece en la página Databases (Bases de datos).
Para consultar la contraseña y el nombre de usuario maestros del clúster de base de datos, seleccione
View credential details (Ver detalles de credenciales).
Para conectarse al clúster de base de datos como usuario maestro, utilice el nombre de usuario y la
contraseña que aparecen.
Important
Los detalles del nuevo clúster de base de datos aparecen en la consola de RDS. El clúster de base de
datos y su instancia de base de datos tienen un estado de Creating (Creándose) hasta que el clúster
de base de datos esté listo para su uso. Cuando el estado cambie a Available (Disponible) en ambos,
podrá conectarse al clúster de base de datos. Dependiendo de la clase de instancia de base de datos
y de la cantidad de almacenamiento, es posible que el nuevo clúster de base de datos tarde hasta
20 minutos en estar disponible.
109
Amazon Aurora Guía del usuario de Aurora
Conectarse a una instancia en un clúster
de base de datos de Aurora PostgreSQL
Para conectarse a una base de datos en un clúster de base de datos de Aurora PostgreSQL
1. Asegúrese de que el clúster de base de datos está asociado a un grupo de seguridad que proporciona
acceso a él. Para obtener más información, consulte Configuración del entorno para Amazon
Aurora (p. 90).
Si no especificó el grupo de seguridad adecuado al crear el clúster de base de datos, puede modificar
el clúster de base de datos para cambiar su grupo de seguridad. Para obtener más información,
consulte Modificación de un clúster de base de datos de Amazon Aurora (p. 405).
2. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://
console.aws.amazon.com/rds/.
3. Seleccione Databases (Bases de datos) y, a continuación, elija el nombre del clúster de base de
datos para mostrar sus detalles. En la pestaña Connectivity & security (Conectividad y seguridad),
copie el valor de Endpoint name (Nombre de punto de enlace) del punto de enlace de Writer instance
(Instancia del escritor). También tiene que anotar el número de puerto del punto de conexión.
110
Amazon Aurora Guía del usuario de Aurora
Conectarse a una instancia en un clúster
de base de datos de Aurora PostgreSQL
4. Si el equipo cliente tiene PostgreSQL instalado, puede usar una instancia local de psql para
conectarse a una instancia de base de datos PostgreSQL. Para conectarse a la instancia de base de
datos PostgreSQL usando psql, facilite la información del host y las credenciales de acceso.
El siguiente formato se usa para conectarse a una instancia de base de datos PostgreSQL en Amazon
RDS.
Por ejemplo, el siguiente comando se conecta a una base de datos denominada mypgdb en una
instancia de base de datos PostgreSQL denominada mypostgresql usando credenciales ficticias.
Para obtener más información acerca cómo conectarse al clúster de base de datos mediante el
punto de enlace y el puerto, consulte Conexión a un clúster de base de datos Amazon Aurora
PostgreSQL (p. 311). Si no puede conectarse al clúster de base de datos, consulte No puede conectarse
a la instancia de base de datos de Amazon RDS (p. 1955).
111
Amazon Aurora Guía del usuario de Aurora
Elimine el clúster de base de datos de ejemplo,
el grupo de subred de base de datos y la VPC
Después de eliminar todas las instancias de base de datos asociadas al clúster de base de datos, se
elimina automáticamente el clúster de base de datos .
1. Inicie sesión en la AWS Management Console y abra la consola de Amazon VPC en https://
console.aws.amazon.com/vpc/.
2. Elija Your VPCs y, a continuación, elija la VPC que se creó para este procedimiento.
3. En Actions (Acciones), elija Delete VPC (Eliminar VPC).
4. Elija Eliminar (Delete).
112
Amazon Aurora Guía del usuario de Aurora
Tutorial: creación de un servidor web y de un
clúster de base de datos de Amazon Aurora
La creación de una cuenta de AWS no supone ningún costo. No obstante, al completar este
tutorial, puede incurrir en costos por los recursos de AWS que utilice. Puede eliminar estos
recursos después de completar el tutorial si ya no son necesarios.
Note
Este tutorial funciona con Amazon Linux y podría no funcionar con otras versiones de Linux como,
por ejemplo, Ubuntu.
En la siguiente explicación, especifique la VPC, subredes y grupos de seguridad al crear el clúster de base
de datos. También especificará esta información al crear la instancia EC2 que alojará su servidor web. La
VPC, subredes y grupos de seguridad son obligatorios para que el clúster de base de datos y el servidor
web se comuniquen. Tras configurar la VPC, esta explicación le muestra cómo crear el clúster de base de
datos e instalar el servidor web. Conecte el servidor web a su clúster de base de datos en la VPC con el
punto de enlace del escritor de clúster de base de datos.
1. Completar las tareas en Tutorial: Creación de una Amazon VPC para utilizarla con una instancia de
base de datos (p. 1945).
Antes de comenzar esta explicación, asegúrese de disponer de una VPC con subredes públicas
y privadas y con sus correspondientes grupos de seguridad. Si no dispone de ellas, complete las
siguientes tareas en la explicación:
113
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
Antes de comenzar este paso, debe disponer de una VPC con subredes públicas y privadas y sus
correspondientes grupos de seguridad. Si no dispone de ella, consulte Tutorial: Creación de una
Amazon VPC para utilizarla con una instancia de base de datos (p. 1945). Realice los pasos que
se indican en Creación de una VPC con subredes públicas y privadas (p. 1945), Creación de las
subredes adicionales (p. 1947), Creación de un grupo de seguridad de VPC para un servidor
web público (p. 1947) y en Creación de un grupo de seguridad de VPC para una instancia
privada de base de datos (p. 1948).
114
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
115
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
8. En la sección Clase de instancia de base de datos, habilite Incluir clases de generación anteriory
establezca estos valores:
116
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
• Virtual Private Cloud (VPC): elija una VPC existente con subredes públicas y privadas; por ejemplo,
la VPC tutorial-vpc (vpc-identificador) que se creó en Creación de una VPC con subredes
públicas y privadas (p. 1945).
Note
117
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
11. Abra la sección Additional configuration (Configuración adicional) e introduzca sample para Initial
database name (Nombre de la base de datos inicial) Mantenga la configuración predeterminada para
el resto de las opciones.
12. Para crear el clúster de base de datos de Aurora MySQL, elija Crear base de datos.
El nuevo clúster de base de datos aparece en la lista Bases de datos con el estado Creándose.
13. Espere a que el Estado de su nuevo clúster de base de datos se muestre como Disponible. A
continuación, elija el nombre del clúster de base de datos para mostrar sus detalles.
118
Amazon Aurora Guía del usuario de Aurora
Creación de un servidor web
14. En la sección Conectividad y seguridad, consulte el Punto de enlace y Puerto de la instancia de base
de datos del escritor.
Anote el punto de enlace y el puerto de la instancia de base de datos del escritor. Utiliza esta
información para conectar su servidor web al clúster de base de datos.
15. complet Creación de una instancia EC2 e instalación de un servidor web (p. 119).
1. Inicie sesión en la AWS Management Console y abra la consola de Amazon EC2 en https://
console.aws.amazon.com/ec2/.
2. Elija Panel de EC2 y, a continuación, Lanzar instancia, como se muestra a continuación.
119
Amazon Aurora Guía del usuario de Aurora
Creación de un servidor web
4. Elija el tipo de instancia t2.micro, como se muestra a continuación y, seguidamente, elija Next:
Configure Instance Details (Siguiente: configurar detalles de instancia).
120
Amazon Aurora Guía del usuario de Aurora
Creación de un servidor web
5. En la página Configurar detalles de instancia, que se muestra a continuación, defina estos valores y
mantenga los demás con sus valores predeterminados:
• Red: elija la VPC con subredes públicas y privadas que ha elegido para la clúster de base de datos,
como el vpc-identifier | tutorial-vpc creado en Creación de una VPC con subredes
públicas y privadas (p. 1945).
• Subnet: elija una subred pública existente, como la subnet-identifier | Tutorial public
| us-west-2a creada en Creación de un grupo de seguridad de VPC para un servidor web
público (p. 1947).
• En Auto-assign Public IP (Asignar automáticamente IP pública):, elija Enable (Habilitar).
121
Amazon Aurora Guía del usuario de Aurora
Creación de un servidor web
122
Amazon Aurora Guía del usuario de Aurora
Creación de un servidor web
13. En la página Select an existing key pair or create a new key pair (Seleccionar un par de claves
existente o crear un nuevo par de claves), que se muestra a continuación, elija Create a new key pair
(Crear un nuevo par de claves) y establezca Key pair name (Nombre de par de claves) en tutorial-
key-pair. Elija Download Key Pair y, a continuación, guarde el archivo de par de claves en el equipo
local. Este archivo de par de claves se utiliza para conectarse a la instancia EC2.
123
Amazon Aurora Guía del usuario de Aurora
Creación de un servidor web
14. Para lanzar una instancia EC2, elija Launch Instances. En la página Launch Status, que se muestra a
continuación, anote el identificador de la nueva instancia EC2, por ejemplo, i-0288d65fd4470b6a9.
124
Amazon Aurora Guía del usuario de Aurora
Creación de un servidor web
Para conectarse a la instancia EC2 e instalar el servidor web Apache con PHP
1. Conéctese a la instancia EC2 que ha creado anteriormente siguiendo los pasos que se indican en
Conexión a la instancia de Linux.
2. Obtenga las correcciones de errores y las actualizaciones de seguridad más recientes actualizando el
software en su instancia EC2. Para ello, utilice el siguiente comando.
Note
La opción -y instala las actualizaciones sin necesidad de confirmación. Para examinar las
actualizaciones antes de la instalación, omita esta opción.
125
Amazon Aurora Guía del usuario de Aurora
Creación de un servidor web
3. Una vez completadas las actualizaciones, instale el software PHP mediante el comando amazon-
linux-extras install. Este comando instala varios paquetes de software y dependencias
relacionadas al mismo tiempo.
Si recibe el error que indica sudo: amazon-linux-extras: command not found, entonces la
instancia no se lanzó con una AMI; de Amazon Linux 2 (quizás está utilizando la Amazon Linux AMI en
su lugar). Puede ver la versión de Amazon Linux usando el comando siguiente:
cat /etc/system-release
Puede probar que el servidor web esté correctamente instalado e iniciado. Para ello, escriba
el nombre público del Sistema de nombres de dominio (DNS) de su instancia EC2 en la
barra de direcciones de un navegador web, por ejemplo: http://ec2-42-8-168-21.us-
west-1.compute.amazonaws.com. Si el servidor web se está ejecutando, se mostrará la página de
prueba de Apache.
Si no ve la página de prueba de Apache, compruebe las reglas de entrada para el grupo de seguridad
de VPC que creó en Tutorial: Creación de una Amazon VPC para utilizarla con una instancia de base
de datos (p. 1945). Asegúrese de que las reglas de entrada incluyen una regla que permita el acceso
HTTP (puerto 80) a la dirección IP que utiliza para conectarse al servidor web.
Note
Para permitir a ec2-user administrar archivos en el directorio raíz predeterminado del servidor web
Apache, modifique los propietarios y los permisos del directorio /var/www. Existen muchas formas de
realizar esta tarea. En este tutorial se añade el usuario ec2-user al grupo apache, se otorga al grupo
apache la propiedad del directorio /var/www y se asignan permisos de escritura al grupo.
126
Amazon Aurora Guía del usuario de Aurora
Creación de un servidor web
2. Cierre la sesión para actualizar los permisos e incluir el nuevo grupo apache.
exit
3. Inicie sesión nuevamente y compruebe que existe el grupo apache mediante el comando groups.
groups
5. Cambie los permisos del directorio /var/www y sus subdirectorios para añadir permisos de escritura
de grupo y establecer el ID de grupo en los subdirectorios que se creen en el futuro.
6. Cambie recursivamente los permisos de los archivos del directorio /var/www y sus subdirectorios
para añadir permisos de escritura de grupo.
Ahora el usuario ec2-user (y cualquier futuro miembro del grupo apache) puede añadir, eliminar y
editar archivos en la raíz de documentos de Apache, por lo que podrá añadir contenido, como un sitio web
estático o una aplicación PHP.
Note
Para agregar contenido al servidor web Apache que se conecta a su clúster de base de datos
1. Mientras está conectado a la instancia EC2, cambie el directorio a /var/www y cree un subdirectorio
nuevo denominado inc.
cd /var/www
127
Amazon Aurora Guía del usuario de Aurora
Creación de un servidor web
mkdir inc
cd inc
>dbinfo.inc
nano dbinfo.inc
<?php
define('DB_SERVER', 'db_cluster_writer_endpoint');
define('DB_USERNAME', 'tutorial_user');
define('DB_PASSWORD', 'master password');
define('DB_DATABASE', 'sample');
?>
cd /var/www/html
>SamplePage.php
nano SamplePage.php
128
Amazon Aurora Guía del usuario de Aurora
Creación de un servidor web
if (strlen($employee_name) || strlen($employee_address)) {
AddEmployee($connection, $employee_name, $employee_address);
}
?>
<?php
while($query_data = mysqli_fetch_row($result)) {
echo "<tr>";
echo "<td>",$query_data[0], "</td>",
"<td>",$query_data[1], "</td>",
"<td>",$query_data[2], "</td>";
echo "</tr>";
}
?>
</table>
mysqli_free_result($result);
mysqli_close($connection);
?>
129
Amazon Aurora Guía del usuario de Aurora
Creación de un servidor web
</body>
</html>
<?php
$checktable = mysqli_query($connection,
"SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_NAME = '$t' AND
TABLE_SCHEMA = '$d'");
return false;
}
?>
Puede utilizar SamplePage.php para agregar datos a su clúster de base de datos. Los datos que añada
se mostrarán en la página. Para verificar que los datos se insertaron en la tabla, puede instalar MySQL en
la instancia Amazon EC2, conectarse a la instancia de base de datos y consultar la tabla.
Para obtener más información acerca de la conexión al clúster de base de datos, consulte Conexión a un
clúster de base de datos Amazon Aurora (p. 307).
Para asegurarse de que su clúster de base de datos es lo más seguro posible, compruebe que los
orígenes fuera de la VPC no se pueden conectar a su clúster de base de datos.
130
Amazon Aurora Guía del usuario de Aurora
Creación de un servidor web
Una vez que haya terminado de probar su servidor web y su base de datos, debe eliminar el clúster de
base de datos y la instancia Amazon EC2.
• Para eliminar un clúster de base de datos, siga las instrucciones en Eliminación de clústeres e instancias
de base de datos de Aurora (p. 509). No es necesario crear una instantánea final.
• Para finalizar una instancia Amazon EC2, siga las instrucciones de Terminar su instancia en la Guía del
usuario de Amazon EC2.
131
Amazon Aurora Guía del usuario de Aurora
Tutoriales en esta guía
Puede encontrar más tutoriales en el Blog de AWS Database. Para obtener información acerca de
la capacitación, consulte AWS Training and Certification.
Temas
• Tutoriales en esta guía (p. 132)
• Tutoriales en otras AWS guías (p. 132)
• Tutoriales y código de muestra en GitHub (p. 133)
• Tutorial: Creación de una Amazon VPC para utilizarla con una instancia de base de datos (p. 1945)
Obtenga más información sobre cómo incluir un clúster de base de datos en una nube virtual privada
(VPC) de Amazon que comparte datos con un servidor web que se ejecuta en una instancia Amazon
EC2 en la misma VPC.
• Explicación: crear un servidor web y un clúster de base de datos de Amazon Aurora (p. 113)
Obtenga información sobre cómo instalar un servidor web Apache con PHP y crear una base de datos
MySQL. El servidor web se ejecuta en una instancia Amazon EC2 mediante Amazon Linux y la base de
datos de MySQL es , un clúster de base de datos de Aurora MySQL. Tanto la instancia Amazon EC2 y el
clúster de de base de datos se ejecutan en una VPC de Amazon.
• Tutorial: Uso de etiquetas para especificar qué clústeres de base de datos de Aurora se deben
detener (p. 523)
Obtenga información sobre cómo usar etiquetas para especificar qué clústeres de base de datos de
Aurora detener.
• Tutorial: registrar el estado de una instancia con EventBridge (p. 744)
Obtenga información para registrar un cambio de estado de instancia de base de datos mediante
Amazon EventBridge y AWS Lambda.
132
Amazon Aurora Guía del usuario de Aurora
Tutoriales y código de muestra en GitHub
Note
Algunos de los tutoriales utilizan instancias de base de datos de Amazon RDS, pero se pueden
adaptar para usar clústeres de base de datos de Aurora.
Obtenga información sobre cómo usar AWS AppSync para proporcionar un origen de datos para
ejecutar comandos SQL en clústeres de base de datos de Aurora Serverless v1 con la API de datos
habilitada. Puede utilizar los solucionadores de AWS AppSync para ejecutar instrucciones de SQL con
respecto a la API de datos con consultas, mutaciones y suscripciones de GraphQL.
• Tutorial: Rotación de un secreto para una base de datos de AWS en la guía del usuario de AWS Secrets
Manager
Aprenda a crear un secreto para una AWS base de datos y configurar el secreto a fin de rotar según una
programación. Puede activar una rotación manualmente y después confirmar que la nueva versión del
secreto continúa proporcionando acceso.
• Tutorial: Configuración de una función de Lambda para acceder a Amazon RDS en una Amazon VPC en
la guía para desarrolladores de AWS Lambda
Obtenga información sobre cómo crear una función de Lambda para obtener acceso a la base de datos,
crear una tabla, agregar algunos registros y recuperar los registros de la tabla. También aprenderá a
invocar la función Lambda y verificar los resultados de la consulta.
• Tutoriales y ejemplos en la guía para desarrolladores de AWS Elastic Beanstalk
Obtenga información para implementar aplicaciones que utilizan bases de datos de Amazon RDS con
AWS Elastic Beanstalk.
• Uso de datos de una base de datos de Amazon RDS para crear un origen de datos de Amazon ML en la
Amazon Machine Learning Developer Guide
Obtenga información sobre cómo crear un objeto de origen de datos de Amazon Machine Learning
(Amazon ML) a partir de datos almacenados en una instancia de base de datos MySQL.
• Habilitar manualmente el acceso a una instancia de Amazon RDS en una VPC en la Guía del usuario de
Amazon QuickSight
Obtenga información sobre cómo habilitar el acceso de Amazon QuickSight a una instancia de base de
datos de Amazon RDS en una VPC.
Algunos de los tutoriales utilizan instancias de base de datos de Amazon RDS, pero se pueden
adaptar para usar clústeres de base de datos de Aurora.
Obtenga información para crear una aplicación web que almacene y consulte datos mediante
Amazon Aurora, Elastic Beanstalk y SDK para Java 2.x. La aplicación creada en este tutorial de AWS es
una aplicación web de publicación de empleo que permite a un empleador, un administrador o personal
de recursos humanos alertar a los empleados o al público sobre un puesto de trabajo dentro de una
empresa.
• Creación del rastreador de elementos de Amazon Relational Database Service
133
Amazon Aurora Guía del usuario de Aurora
Tutoriales y código de muestra en GitHub
Obtenga información para crear una aplicación que realice un seguimiento de elementos de trabajo y los
informe mediante Amazon RDS, Amazon Simple Email Service, Elastic Beanstalk y SDK para Java 2.x.
• Ejemplos de código de SDK para Go para Amazon RDS
Vea una colección de ejemplos de código de SDK para Go para Amazon RDS y Aurora.
• Ejemplos de código de SDK para Java 2.x para Amazon RDS
Vea una colección de ejemplos de código de SDK para Java 2.x para Amazon RDS y Aurora.
• Ejemplos de código de SDK para PHP para Amazon RDS
Vea una colección de ejemplos de código de SDK para PHP para Amazon RDS y Aurora.
• Ejemplos de código de SDK para Ruby para Amazon RDS
Vea una colección de ejemplos de código de SDK para Ruby para Amazon RDS y Aurora.
134
Amazon Aurora Guía del usuario de Aurora
Temas
• Creación de un clúster de base de datos de Amazon Aurora (p. 136)
• Creación de recursos de Amazon Aurora con AWS CloudFormation (p. 161)
• Uso de Amazon Aurora Serverless v1 (p. 162)
• Uso de Amazon Aurora Serverless v2 (versión preliminar) (p. 232)
• Uso de bases de datos globales de Amazon Aurora (p. 247)
• Conexión a un clúster de base de datos Amazon Aurora (p. 307)
• Uso de Amazon RDS Proxy (p. 314)
• Trabajo con los grupos de parámetros de base de datos y grupos de parámetros de clúster de base de
datos (p. 369)
• Migración de datos a un clúster de base de datos de Amazon Aurora (p. 399)
135
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
En el siguiente tema, puede aprender a crear un clúster de base de datos de Aurora. Para comenzar,
primero vea Requisitos previos de clúster de base de datos (p. 136).
Para obtener instrucciones sencillas para conectarse al clúster de base de datos Aurora, consulte
Conexión a un clúster de base de datos Amazon Aurora (p. 307).
Para poder crear un clúster de base de datos de Aurora, debe completar las tareas de
Configuración del entorno para Amazon Aurora (p. 90).
A continuación se describen los requisitos previos para crear un clúster de base de datos.
VPC
Solo es posible crear un clúster de base de datos de Amazon Aurora en una Virtual Private Cloud
(VPC) basada en el servicio de Amazon VPC, en una región de AWS que tenga al menos dos zonas
de disponibilidad. El grupo de subred de base de datos que elija para el clúster de base de datos debe
abarcar al menos dos zonas de disponibilidad. Esta configuración garantiza que su clúster de base de
datos siempre tenga al menos una instancia de base de datos disponible ante una conmutación por error,
en el caso improbable de que se produzca un error en una zona de disponibilidad.
Si usa la AWS Management Console para crear un clúster de base de datos de Aurora, puede hacer
que Amazon RDS cree automáticamente una VPC. O puede usar una VPC ya existente o crear una
nueva VPC para su clúster de base de datos de Aurora. La VPC debe tener como mínimo una subred
en al menos dos de las zonas de disponibilidad para que la use con un clúster de base de datos de
Amazon Aurora. Para obtener más información, consulte Cómo crear una VPC para el uso con Amazon
Aurora (p. 1933). Para obtener información acerca de las VPC, consulte VPC Amazon Virtual Private
Cloud y Amazon Aurora (p. 1926).
Note
Puede comunicarse con una instancia EC2 que no esté en una VPC y con un clúster de base de
datos de Amazon Aurora usando ClassicLink. Para obtener más información, consulte Acceso
a una instancia de base de datos situada en una VPC desde una instancia EC2 situada en una
VPC (p. 1943).
Si no tiene una VPC predeterminada o no ha creado una VPC, puede hacer que Amazon RDS cree
automáticamente una VPC cuando se cree un clúster de base de datos de Aurora usando la consola. De lo
contrario, tendrá que hacer lo siguiente:
• Cree una VPC que tenga como mínimo una subred en al menos dos de las zonas de disponibilidad de la
región de AWS en la que desea implementar su clúster de base de datos. Para obtener más información,
consulte Cómo crear una VPC para el uso con Amazon Aurora (p. 1933).
136
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
• Especifique un grupo de seguridad de VPC que autorice las conexiones con su clúster de base de
datos de Aurora. Para obtener más información, consulte Uso de una instancia de base de datos en una
VPC (p. 1927).
• Especifique un grupo de subredes de base de datos de RDS que defina al menos dos subredes de la
VPC que pueda usar el clúster de base de datos de Aurora. Para obtener más información, consulte Uso
de los grupos de subredes de base de datos (p. 1927).
Si usa IAM para acceder a la consola de Amazon RDS, primero tiene que iniciar sesión en la AWS
Management Console con sus credenciales de usuario de IAM. Abra la consola de Amazon RDS en https://
console.aws.amazon.com/rds/.
Si desea adaptar los parámetros de configuración para su clúster de base de datos, debe especificar
un grupo de parámetros de clúster de base de datos y un grupo de parámetros de base de datos con la
configuración de parámetros requerida. Para obtener información acerca de cómo crear o modificar un
grupo de parámetros de clúster de base de datos o un grupo de parámetros de base de datos, consulte
Trabajo con los grupos de parámetros de base de datos y grupos de parámetros de clúster de base de
datos (p. 369).
Debe determinar el número de puerto de TCP/IP que desee especificar para el clúster de base de
datos. Los firewalls de algunas compañías bloquean las conexiones a los puertos predeterminados
(3306 para MySQL, 5432 para PostgreSQL) de Aurora. Si el firewall de su compañía bloquea el puerto
predeterminado, elija otro puerto para el clúster de base de datos. Todas las instancias de un clúster de
base de datos usan el mismo puerto.
Si utiliza la consola, hay una nueva interfaz de consola disponible para la creación de bases de
datos. Elija entre las instrucciones de Nueva consola o Consola original en función de la consola
que utilice. Las instrucciones de Nueva consola están abiertas de forma predeterminada.
New console
Puede crear una instancia de base de datos que ejecute MySQL con la AWS Management Console con
Easy create (Creación sencilla) habilitada o deshabilitada. Con Easy create (Creación sencilla) habilitada,
únicamente debe especificar el tipo de motor de base de datos, el tamaño de la instancia de base de datos
y el identificador de instancias de bases de datos. Easy create (Creación sencilla) utiliza la configuración
predeterminada para otras opciones de configuración. Con Easy create (Creación sencilla) deshabilitada,
se especifican más opciones de configuración al crear una base de datos, incluidas las de disponibilidad,
seguridad, copias de seguridad y mantenimiento.
Note
En este ejemplo, la opción Standard Create (Creación estándar) está habilitada y la opción Easy
Create (Creación sencilla) no está habilitada. Para obtener más información acerca de cómo crear
137
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
un clúster de base de datos de Aurora MySQL con Easy create (Creación sencilla) habilitada,
consulte Introducción a Amazon Aurora (p. 96).
Aurora no está disponible en todas las regiones de AWS. Para obtener una lista de las regiones de
AWS en las que Aurora está disponible, consulte Disponibilidad por región (p. 12).
3. En el panel de navegación, elija Databases (Bases de datos).
4. Elija Create database (Crear base de datos).
5. En Choose a database creation method (Elegir un método de creación de base de datos), elija
Standard Create (Creación estándar).
6. En Engine options (Opciones del motor), elija Amazon Aurora.
138
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
139
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
• Aprovisionada
Para obtener más información, consulte Clústeres de base de datos de Amazon Aurora (p. 3).
• Sin servidor
Para obtener más información, consulte Uso de Amazon Aurora Serverless v1 (p. 162).
9. En Version (Versión), elija la versión del motor.
10. En Templates (Plantillas), elija la plantilla que coincida con su caso de uso.
11. Para ingresar la contraseña maestra, proceda del modo siguiente:
De forma predeterminada, la nueva instancia de base de datos utiliza una contraseña generada
automáticamente para el usuario maestro.
12. En el resto de secciones, especifique los ajustes de configuración del clúster de base de datos. Para
obtener más información acerca de cada ajuste, consulte Configuración de clústeres de bases de
datos de Aurora (p. 149).
13. Elija Create database (Crear base de datos).
Si decide utilizar una contraseña generada automáticamente, el botón View credential details (Ver
detalles de credenciales) aparece en la página Databases (Bases de datos).
Para consultar la contraseña y el nombre de usuario maestros del clúster de base de datos, seleccione
View credential details (Ver detalles de credenciales).
Para conectarse a la instancia de base de datos como usuario maestro, utilice el nombre de usuario y
la contraseña que aparecen.
Important
Los detalles del nuevo clúster de base de datos aparecen en la consola de RDS. El clúster de base
de datos y su instancia de base de datos tienen el estado creating (creándose) hasta que el clúster de
base de datos esté listo para su uso.
140
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
Cuando el estado cambie a available (disponible) en ambos, podrá conectarse al clúster de base de
datos. Dependiendo de la clase de instancia de base de datos y de la cantidad de almacenamiento, es
posible que el nuevo clúster de base de datos tarde hasta 20 minutos en estar disponible.
Para ver el clúster recién creado, elija Databases (Bases de datos) en el panel de navegación de la
consola de Amazon RDS. A continuación, seleccione el clúster de base de datos para mostrar los
detalles de dicho clúster. Para obtener más información, consulte Visualización de un clúster de base
de datos de Amazon Aurora (p. 599).
141
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
En la pestaña Connectivity & security (Conectividad y seguridad), anote el puerto y el punto de enlace
de la instancia de base de datos de escritor. Utilice el punto de enlace y el puerto del clúster en sus
cadenas de conexión JDBC y ODBC para cualquier aplicación que realice operaciones de lectura o
escritura.
Consola original
Para crear un clúster de base de datos de Aurora con la AWS Management Console
Si el panel de navegación está cerrado, elija el icono de menú en la parte superior izquierda para
abrirlo.
4. Elija Create database (Crear base de datos) para abrir la página Select engine (Seleccionar motor).
5. En la página Select engine (Seleccionar motor), elija una edición de Aurora. Elija una edición
compatible con MySQL 5.6, MySQL 5.7, MySQL 8.0 o con PostgreSQL.
142
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
Una página Specify DB details (Especificar detalles de la base de datos) típica tiene un aspecto similar
al siguiente.
143
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
En la consola de Amazon RDS, el nuevo clúster de base de datos aparece en la lista de clústeres
de base de datos. El clúster de base de datos tendrá el estado creating hasta que se cree y esté
listo para el uso. Cuando el estado cambie a available, podrá conectarse a la instancia de escritor
144
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
para su clúster de base de datos. Dependiendo de la clase de instancia clúster y del almacenamiento
asignado, es posible que el nuevo clúster tarde varios minutos en estar disponible.
Para ver el clúster recién creado, elija la vista Databases (Bases de datos) en la consola de Amazon
RDS y elija el clúster de base de datos para mostrar los detalles del clúster de base de datos.
Para obtener más información, consulte Visualización de un clúster de base de datos de Amazon
Aurora (p. 599).
Anote los puertos y los puntos de enlace del clúster. Utilice el punto de enlace y el puerto del clúster
de base de datos de escritor en sus cadenas de conexión JDBC y ODBC para cualquier aplicación
que realice operaciones de lectura o escritura.
145
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
AWS CLI
Note
Para poder crear un clúster de base de datos Aurora a través de la AWS CLI, debe cumplir los
requisitos previos, como crear una VPC y un grupo de subred de base de datos de RDS. Para
obtener más información, consulte Requisitos previos de clúster de base de datos (p. 136).
Puede utilizar la AWS CLI para crear un clúster de base de datos de Aurora MySQL o un clúster de base
de datos de Aurora PostgreSQL.
Para crear un clúster de base de datos de Aurora MySQL mediante la AWS CLI
Al crear un clúster o una instancia de base de datos Aurora MySQL, asegúrese de especificar el valor
correcto para el valor de la opción --engine basado en la compatibilidad con MySQL del clúster o de la
instancia de base de datos.
• Al crear un clúster o una instancia de base de datos Aurora MySQL 8.0 o 5.7, debe especificar aurora-
mysql para la opción --engine.
• Al crear un clúster o una instancia de base de datos Aurora MySQL 5.6, debe especificar aurora para la
opción --engine.
1. Identifique el identificador del grupo de subred de base de datos y el grupo de seguridad de la VPC
para el nuevo clúster de base de datos y, a continuación, llame al comando create-db-cluster de la
AWS CLI para crear el clúster de base de datos de Aurora MySQL.
Por ejemplo, el comando siguiente crea un nuevo clúster de base de datos compatible con MySQL 8.0
llamado sample-cluster.
Para Windows:
El comando siguiente crea un nuevo clúster de base de datos compatible con MySQL 5.7 llamado
sample-cluster.
Para Windows:
146
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
El comando siguiente crea un nuevo clúster de base de datos compatible con MySQL 5.6 llamado
sample-cluster.
Para Windows:
2. Si usa la consola para crear un clúster de base de datos, Amazon RDS crea automáticamente la
instancia principal (de escritura) del clúster de base de datos. Si usa la AWS CLI para crear un clúster
de base de datos, debe crear expresamente la instancia principal del clúster de base de datos. La
instancia principal es la primera instancia que se crea en un clúster de base de datos.
Llame al comando create-db-instance de la AWS CLI para crear la instancia principal del clúster
de base de datos. Incluya el nombre del clúster de base de datos como valor de la opción --db-
cluster-identifier.
Por ejemplo, el comando siguiente crea una nueva instancia de base de datos compatible con MySQL
5.7 o MySQL 8.0 llamada sample-instance.
Para Windows:
El comando siguiente crea una nueva instancia de base de datos compatible con MySQL 5.6 llamada
sample-instance.
147
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
Para Windows:
Para crear un clúster de base de datos de Aurora PostgreSQL mediante la AWS CLI
1. Identifique el identificador del grupo de subred de base de datos y el grupo de seguridad de la VPC
para el nuevo clúster de base de datos y, a continuación, llame al comando create-db-cluster de la
AWS CLI para crear el clúster de base de datos de Aurora PostgreSQL.
Por ejemplo, el comando siguiente crea un nuevo clúster de base de datos llamado sample-
cluster.
Para Windows:
2. Si usa la consola para crear un clúster de base de datos, Amazon RDS crea automáticamente la
instancia principal (de escritura) del clúster de base de datos. Si usa la AWS CLI para crear un clúster
de base de datos, debe crear expresamente la instancia principal del clúster de base de datos. La
instancia principal es la primera instancia que se crea en un clúster de base de datos.
Llame al comando create-db-instance de la AWS CLI para crear la instancia principal del clúster
de base de datos. Incluya el nombre del clúster de base de datos como valor de la opción --db-
cluster-identifier.
Para Windows:
148
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
API de RDS
Note
Para poder crear un clúster de base de datos de Aurora a través de la AWS CLI, debe cumplir los
requisitos previos, como crear una VPC y un grupo de subred de base de datos de RDS. Para
obtener más información, consulte Requisitos previos de clúster de base de datos (p. 136).
Identifique el grupo de subred de base de datos y el ID del grupo de seguridad de la VPC para el nuevo
clúster de base de datos y, a continuación, llame a la operación CreateDBInstance para crear el clúster de
base de datos.
Al crear un clúster o una instancia de base de datos Aurora MySQL, asegúrese de especificar el valor
correcto para el valor del parámetro Engine basado en la compatibilidad con MySQL del clúster o de la
instancia de base de datos.
• Al crear un clúster o una instancia de base de datos Aurora MySQL 5.7, debe especificar aurora-
mysql para el parámetro Engine.
• Al crear un clúster o una instancia de base de datos Aurora MySQL 5.6, debe especificar aurora para el
parámetro Engine.
Al crear un clúster o una instancia de base de datos Aurora PostgreSQL, especifique aurora-
postgresql para el parámetro Engine.
Auto minor version Elija Enable auto minor version Establezca este valor para cada
upgrade (Actualización upgrade (Habilitar actualización instancia de base de datos del clúster
automática de versiones automática de versiones secundarias) de Aurora. Si alguna instancia de
secundarias) si desea habilitar su clúster de base base de datos del clúster tiene esta
de datos de Aurora para recibir configuración desactivada, el clúster
actualizaciones de las versiones no se actualiza automáticamente.
secundarias preferidas del motor
de base de datos automáticamente Con la AWS CLI, ejecute create-
cuando estén disponibles. db-instance y establezca la
opción --auto-minor-version-
El ajuste Auto minor version upgrade upgrade|--no-auto-minor-
(Actualización automática a versiones version-upgrade.
secundarias) solo se aplica a los
clústeres de base de datos de Aurora Mediante la API de RDS,
PostgreSQL y Aurora MySQL. Para llame a CreateDBInstance
149
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
AWS KMS key Solo está disponible si Encryption Con la AWS CLI, ejecute create-
(Cifrado) se establece en Enable db-cluster y establezca la opción
encryption (Habilitar cifrado). --kms-key-id.
Elija la AWS KMS key que se va
a utilizar para el cifrado de este Mediante la API de RDS, llame a
clúster de base de datos. Para CreateDBCluster y establezca el
obtener más información, consulte parámetro KmsKeyId.
Cifrado de recursos de Amazon
Aurora (p. 1840).
Backtrack Se aplica solo a Aurora MySQL. Con la AWS CLI, ejecute create-
Seleccione Enable Backtrack db-cluster y establezca la opción
(Habilitar Backtrack) para habilitar --backtrack-window.
la búsqueda de datos anteriores
o Disable Backtrack (Deshabilitar Mediante la API de RDS, llame a
Backtrack) para deshabilitarla. CreateDBCluster y establezca el
Utilizando la búsqueda de datos parámetro BacktrackWindow.
anteriores puede rebobinar un clúster
de base de datos a un momento
específico, sin crear un nuevo clúster
de base de datos. Está deshabilitado
de forma predeterminada. Si habilita
la búsqueda de datos anteriores,
especifique también la cantidad de
tiempo que desea poder realizar
la búsqueda de datos anteriores
en su clúster de base de datos (la
ventana de búsqueda de datos
anteriores de destino). Para obtener
más información, consulte Búsqueda
de datos anteriores de un clúster de
base de datos de Aurora (p. 878).
150
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Copy Tags To Seleccione esta opción para que, al Con la AWS CLI, ejecute create-
Snapshots (Copiar crear una instantánea de base de db-cluster y establezca la opción
etiquetas en datos, se copien en ellas las etiquetas --copy-tags-to-snapshot | --
instantáneas) de las instancias de base de datos. no-copy-tags-to-snapshot.
151
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Database port (Puerto Especifique el puerto que deben Con la AWS CLI, ejecute create-
de base de datos) usar las aplicaciones y las utilidades db-cluster y establezca la opción
para obtener acceso a la base de --port.
datos. Los clústeres de base de
datos Aurora MySQL usan de forma Mediante la API de RDS, llame a
predeterminada el puerto MySQL, CreateDBCluster y establezca el
3306 y los clústeres de base de parámetro Port.
datos Aurora PostgreSQL usan de
forma predeterminada el puerto
PostgreSQL, 5432. Los firewalls
de algunas compañías bloquean
las conexiones a estos puertos
predeterminados. Si el firewall de
su compañía bloquea el puerto
predeterminado, elija otro puerto para
el nuevo clúster de base de datos.
DB cluster identifier Introduzca un nombre para el Con la AWS CLI, ejecute create-
(Identificador de clúster clúster de base de datos que sea db-cluster y establezca la opción
de base de datos) exclusivo para su cuenta en la --db-cluster-identifier.
región de AWS que seleccionó. Este
identificador se utiliza en la dirección Mediante la API de RDS, llame a
del punto de enlace del clúster para CreateDBCluster y establezca el
su clúster de base de datos. Para parámetro DBClusterIdentifier.
obtener información acerca del
punto de enlace del clúster, consulte
Administración de conexiones de
Amazon Aurora (p. 34).
• Debe contener de 1 a 63
caracteres alfanuméricos o
guiones.
• El primer carácter debe ser una
letra.
• No puede terminar con un guion ni
contener dos guiones consecutivos.
• Debe ser único para todos los
clústeres de base de datos por
cada cuenta de AWS y por cada
región de AWS.
152
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Grupo de parámetros de Elija un grupo de parámetros de Con la AWS CLI, ejecute create-
clúster de base de datos clúster de base de datos Aurora db-cluster y establezca la opción
cuenta con un grupo de parámetros --db-cluster-parameter-
de clúster de base de datos group-name.
predeterminado que puede utilizar.
Si lo prefiere, puede crear su propio Mediante la API de RDS,
grupo de parámetros de clúster de llame a CreateDBCluster
base de datos. Para obtener más y establezca el parámetro
información acerca de los grupos DBClusterParameterGroupName.
de parámetros de clúster de base
de datos, consulte Trabajo con los
grupos de parámetros de base de
datos y grupos de parámetros de
clúster de base de datos (p. 369).
DB instance class Solo se aplica al tipo de capacidad Establezca este valor para cada
(Clase de instancia de aprovisionada. Elija una clase de instancia de base de datos del clúster
base de datos). instancia de base de datos que defina de Aurora.
los requisitos de procesamiento y
memoria para cada instancia en Con la AWS CLI, ejecute create-
el clúster de base de datos. Para db-instance y establezca la opción
obtener más información acerca de --db-instance-class.
las clases de instancias de bases de
datos, consulte Clases de instancia Mediante la API de RDS, llame a
de base de datos Aurora (p. 56). CreateDBInstance y establezca el
parámetro DBInstanceClass.
DB Parameter Group Elija un grupo de parámetros. Aurora Establezca este valor para cada
(Grupo de parámetros tiene un grupo de parámetros de instancia de base de datos del clúster
de base de datos) predeterminado que puede utilizar. de Aurora.
Si lo prefiere, puede crear su propio
grupo de parámetros. Para obtener Con la AWS CLI, ejecute create-
más información acerca de los grupos db-instance y establezca la opción
de parámetros, consulte Trabajo con --db-parameter-group-name.
los grupos de parámetros de base
de datos y grupos de parámetros de Mediante la API de RDS,
clúster de base de datos (p. 369). llame a CreateDBInstance
y establezca el parámetro
DBParameterGroupName.
Enable deletion Seleccione Enable deletion protection Con la AWS CLI, ejecute create-
protection (Habilitar la (Habilitar la protección contra la db-cluster y establezca la opción
protección contra la eliminación) para evitar que se --deletion-protection | --
eliminación elimine el clúster de base de datos. no-deletion-protection.
Si crea un clúster de base de datos
de producción con la consola, se Mediante la API de RDS, llame a
habilita de forma predeterminada la CreateDBCluster y establezca el
protección contra la eliminación. parámetro DeletionProtection.
153
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Enable encryption Elija Enable encryption (Sí) para Con la AWS CLI, ejecute create-
habilitar el cifrado en reposo para db-cluster y establezca la opción
este clúster de base de datos. Para --storage-encrypted | --no-
obtener más información, consulte storage-encrypted.
Cifrado de recursos de Amazon
Aurora (p. 1840). Mediante la API de RDS, llame a
CreateDBCluster y establezca el
parámetro StorageEncrypted.
Enable Enhanced Elija Enable enhanced monitoring Establezca estos valores para cada
Monitoring (Habilitar monitorización mejorada) instancia de base de datos del clúster
a fin de habilitar la recopilación de Aurora.
de métricas en tiempo real para
el sistema operativo en el que se Con la AWS CLI, ejecute create-
ejecuta su clúster de base de datos. db-instance y establezca las
Para obtener más información, opciones --monitoring-interval
consulte Monitoreo de las métricas y --monitoring-role-arn.
del SO mediante la monitorización
mejorada (p. 709). Con la API de RDS, llame
a CreateDBInstance y
establezca los parámetros
MonitoringInterval y
MonitoringRoleArn.
Enable Performance Seleccione Enable Performance Establezca estos valores para cada
Insights (Habilitar Insights para habilitar Información instancia de base de datos del clúster
Información sobre sobre rendimiento de Amazon RDS. de Aurora.
rendimiento Para obtener más información,
consulte Monitoreo de la carga de Con la AWS CLI, ejecute create-
base de datos con Información db-instance y configure las
sobre rendimiento en Amazon opciones --enable-performance-
Aurora (p. 642). insights | --no-enable-
performance-insights, --
performance-insights-kms-
key-id y --performance-
insights-retention-period.
Tipo de motor El nombre del motor de base de Con la AWS CLI, ejecute create-
datos que se debe utilizar para este db-cluster y establezca la opción
clúster de base de datos. --engine.
154
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Engine version (Versión Solo se aplica al tipo de capacidad Con la AWS CLI, ejecute create-
del motor) aprovisionada. Elija el número de db-cluster y establezca la opción
versión del motor de base de datos. --engine-version.
Failover priority Elija una prioridad de conmutación Establezca este valor para cada
(Prioridad de por error para la instancia. Si no elije instancia de base de datos del clúster
conmutación por error un valor, el ajuste predeterminado de Aurora.
es tier-1. Esta prioridad determina
el orden en que se promueven Con la AWS CLI, ejecute create-
las réplicas de Aurora cuando el db-instance y establezca la opción
sistema se recupera de un error en --promotion-tier.
la instancia principal. Para obtener
más información, consulte Tolerancia Mediante la API de RDS, llame a
a errores para un clúster de base de CreateDBInstance y establezca el
datos de Aurora (p. 73). parámetro PromotionTier.
155
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Initial database name Escriba un nombre para la base Con la AWS CLI, ejecute create-
(Nombre inicial de la de datos predeterminada. Si no se db-cluster y establezca la opción
base de datos) proporciona un nombre para un --database-name.
clúster de base de datos Aurora
MySQL, Amazon RDS no crea una Mediante la API de RDS, llame a
base de datos en el clúster de base CreateDBCluster y establezca el
de datos que se está creando. Si parámetro DatabaseName.
no proporciona un nombre para
un clúster de Aurora PostgreSQL
base de datos, Amazon RDS crea
una base de datos denominada
postgres.
156
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Log exports En la sección Logs exports Con la AWS CLI, ejecute create-
(Exportaciones de (Exportaciones de registros), elija db-cluster y establezca la opción
registros) los registros que desea comenzar --enable-cloudwatch-logs-
a publicar en Amazon CloudWatch exports.
Logs. Para obtener más información
sobre la publicación de registros de Mediante la API de RDS,
Aurora MySQL en CloudWatch Logs, llame a CreateDBCluster
consulte Publicación de registros de y establezca el parámetro
Amazon Aurora MySQL en Amazon EnableCloudwatchLogsExports.
CloudWatch Logs (p. 1099). Para
obtener más información sobre la
publicación de registros de Aurora
PostgreSQL en CloudWatch Logs,
consulte Publicación de registros
de Aurora PostgreSQL en Amazon
CloudWatch Logs (p. 1600).
Contraseña maestra Escriba una contraseña para iniciar Con la AWS CLI, ejecute create-
sesión en su clúster de base de db-cluster y establezca la opción
datos: --master-user-password.
157
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Master Username Escriba un nombre para usarlo como Con la AWS CLI, ejecute create-
(Nombre de usuario nombre de usuario maestro para db-cluster y establezca la opción
maestro) iniciar sesión en su clúster de base --master-username.
de datos.
Mediante la API de RDS, llame a
• Para Aurora MySQL. el nombre CreateDBCluster y establezca el
debe tener entre 1 y 16 caracteres parámetro MasterUsername.
alfanuméricos.
• Para Aurora PostgreSQL, debe
tener entre 1 y 63 caracteres
alfanuméricos.
• El primer carácter debe ser una
letra.
• El nombre no puede ser una
palabra reservada por el motor de
base de datos.
Multi-AZ deployment Solo se aplica al tipo de capacidad Con la AWS CLI, ejecute create-
(Implementación Multi- aprovisionada. Determine si desea db-cluster y establezca la opción
AZ) crear réplicas de Aurora en otras --availability-zones.
zonas de disponibilidad para
permitir la conmutación por error. Si Mediante la API de RDS, llame a
selecciona Create Replica in Different CreateDBCluster y establezca el
Zone (Crear réplica en otra zona), parámetro AvailabilityZones.
Amazon RDS crea una réplica de
Aurora en su clúster de base de
datos en una zona de disponibilidad
diferente de la zona de disponibilidad
de la instancia principal del clúster
de base de datos. Para obtener
más información acerca del uso
de varias zonas de disponibilidad,
consulte Regiones y zonas de
disponibilidad (p. 11).
Option group (Grupo de Aurora tiene un grupo de opciones Con la AWS CLI, ejecute create-
opciones) predeterminado. db-cluster y establezca la opción
--option-group-name.
158
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Public access (Acceso Elija Publicly accessible (Accesible Establezca este valor para cada
público) públicamente) para dar al clúster instancia de base de datos del clúster
de base de datos una dirección IP de Aurora.
pública o elija Not publicly accessible
(No accesible públicamente). Las Con la AWS CLI, ejecute create-
instancias del clúster de base de db-instance y establezca la opción
datos pueden ser una combinación --publicly-accessible | --
de instancias de base de datos no-publicly-accessible.
públicas y privadas. Para obtener
más información acerca del modo de Mediante la API de RDS, llame a
ocultar instancias al acceso público, CreateDBInstance y establezca el
consulte Cómo ocultar una instancia parámetro PubliclyAccessible.
de base de datos en una VPC desde
Internet. (p. 1928).
Período de retención Seleccione el tiempo (entre 1 y 35 Con la AWS CLI, ejecute create-
días) durante el que Aurora conserva db-cluster y establezca la opción
las copias de seguridad de la base --backup-retention-period.
de datos. Los backups se pueden
utilizar para las restauraciones a un Mediante la API de RDS,
momento dado (PITR) de la base de llame a CreateDBCluster
datos con una precisión de segundos. y establezca el parámetro
BackupRetentionPeriod.
Subnet group (Grupo de Elija el grupo de subredes de base Con la AWS CLI, ejecute create-
subredes) de datos que desea utilizar para db-cluster y establezca la opción
el clúster de base de datos. Para --db-subnet-group-name.
obtener más información, consulte
Requisitos previos de clúster de base Mediante la API de RDS, llame a
de datos (p. 136). CreateDBCluster y establezca el
parámetro DBSubnetGroupName.
159
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Virtual Private Cloud Elija la VPC que alojará el clúster de Para la AWS CLI y la API, especifique
(VPC) (Nube virtual base de datos. Seleccione Create los ID de grupo de seguridad de la
privada) a New VPC (Crear una VPC) para VPC.
que Amazon RDS cree una VPC
automáticamente. Para obtener más
información, consulte Requisitos
previos de clúster de base de
datos (p. 136).
VPC security group Seleccione Create new (Crear Con la AWS CLI, ejecute create-
(Grupo de seguridad de nuevo) para que Amazon RDS db-cluster y establezca la opción
VPC cree un grupo de seguridad de --vpc-security-group-ids.
VPC automáticamente. O bien
elija Choose existing (Seleccionar Mediante la API de RDS, llame a
existente) y especifique uno o varios CreateDBCluster y establezca el
grupos de seguridad de VPC para parámetro VpcSecurityGroupIds.
proteger el acceso de red al clúster
de base de datos.
160
Amazon Aurora Guía del usuario de Aurora
Creación de recursos con AWS CloudFormation
Cuando utiliza AWS CloudFormation, puede volver a usar la plantilla para configurar sus recursos de
Aurora de forma coherente y repetida. Solo tiene que describir los recursos una vez y luego aprovisionar
los mismos recursos una y otra vez en varias cuentas y regiones de AWS.
Aurora admite la creación de recursos en AWS CloudFormation. Para obtener más información, incluidos
ejemplos de plantillas JSON y YAML para estos recursos, consulte la referencia del tipo de recurso de
RDS en la guía del usuario de AWS CloudFormation.
• AWS CloudFormation
• AWS CloudFormation Guía del usuario
• AWS CloudFormation Referencia de la API
• AWS CloudFormation Guía del usuario de la interfaz de la línea de comandos
161
Amazon Aurora Guía del usuario de Aurora
Uso Aurora Serverless v1
Para obtener más información sobre los precios, consulte los precios sin servidor en Edición compatible
con MySQL o Edición compatible con PostgreSQL en la página Amazon Aurora pricing (Precios de
Amazon Aurora).
Aurora Serverless v1Los clústeres de tienen el mismo tipo de volumen de almacenamiento distribuido de
alta capacidad y disponibilidad que utilizan los clústeres de base de datos aprovisionados. El volumen de
un clúster de Aurora Serverless v1 siempre está cifrado. Puede elegir la clave de cifrado, pero no puede
desactivar el cifrado. Esto significa que puede realizar en un Aurora Serverless v1 las mismas operaciones
que realiza en instantáneas cifradas. Para obtener más información, consulte Aurora Serverless v1 e
instantáneas (p. 177).
Temas
• Ventajas de Aurora Serverless v1 (p. 162)
• Casos de uso de Aurora Serverless v1 (p. 163)
• Limitaciones de Aurora Serverless v1 (p. 163)
• Requisitos de configuración para Aurora Serverless v1 (p. 164)
• Uso de TLS/SSL con Aurora Serverless v1 (p. 165)
• Cómo funciona Aurora Serverless v1 (p. 167)
• Creación de un clúster de base de datos de Aurora Serverless v1 (p. 177)
• Restauración de un clúster de base de datos de Aurora Serverless v1 (p. 183)
• Modificación de un clúster de base de datos de Aurora Serverless v1 (p. 188)
• Escalado manual de la capacidad del clúster de base de datos de Aurora Serverless v1 (p. 190)
• Visualización de los clústeres de base de datos de Aurora Serverless v1 (p. 192)
• Eliminación de un clúster de base de datos de Aurora Serverless v1 (p. 194)
• Aurora Serverless v1 y versiones del motor de base de datos de Aurora (p. 196)
• Uso de la API de datos para Aurora Serverless (p. 196)
• Registro de llamadas a la API de datos con AWS CloudTrail (p. 221)
• Uso del editor de consultas para Aurora Serverless (p. 224)
• Más simple que el aprovisionado: Aurora Serverless v1 elimina gran parte de la complejidad de
administrar instancias de base de datos y capacidad.
• Escalable: Aurora Serverless v1 escala sin problemas la capacidad de memoria y de cómputo en función
de las necesidades, sin interrumpir las conexiones del cliente.
• Rentable: cuando utiliza Aurora Serverless v1, solo paga los recursos de base de datos que consume,
contados por segundo.
162
Amazon Aurora Guía del usuario de Aurora
Casos de uso de Aurora Serverless v1
• Aplicaciones de uso no frecuente: cuando tiene una aplicación que solo se utiliza durante unos minutos
varias veces al día o a la semana, como una página de blog de bajo volumen. Con Aurora Serverless v1,
solo paga por los recursos de bases de datos que consume, contados por segundo.
• Aplicaciones nuevas: si implementa una nueva aplicación y no está seguro del tamaño de instancia que
necesita. Con Aurora Serverless v1, puede crear un punto de enlace de base de datos y hacer que esta
última escale automáticamente según los requisitos de capacidad de la aplicación.
• Cargas de trabajo variables: cuando tiene una aplicación que usa poco y que presenta picos de entre
30 minutos y varias horas algunas veces al día o varias veces al año. Este es el caso, por ejemplo, de
las aplicaciones de recursos humanos, presupuestos y generación de informes operativos. Con Aurora
Serverless v1, ya no tiene que aprovisionar la capacidad para los picos ni para la carga promedio.
• Cargas de trabajo impredecibles: cuando ejecuta cargas de trabajo diarias que presentan aumentos
de actividad repentinos e impredecibles. Un ejemplo de ello sería un sitio dedicado al tráfico, que
experimenta un aumento repentino de la actividad cuando comienza a llover. Con Aurora Serverless v1,
la capacidad de la base de datos escala automáticamente para satisfacer las necesidades de los picos
de carga de la aplicación y vuelve a disminuir cuando termina el aumento de actividad.
• Bases de datos de desarrollo y prueba: sus desarrolladores usan las bases de datos durante las horas
de trabajo, pero no las necesitan durante las noches ni los fines de semana. Con Aurora Serverless v1,
la base de datos se apaga de forma automática cuando no se utiliza.
• Aplicaciones de varios inquilinos: con Aurora Serverless v1, no es preciso administrar individualmente
la capacidad de la base de datos para cada aplicación de la flota. Aurora Serverless v1 administra la
capacidad de la base de datos individual por usted.
• No puede usar Aurora MySQL versión 3 para clústeres de Aurora Serverless v1. Aurora MySQL versión
3 funciona con Aurora Serverless v2, que se encuentra actualmente en versión preliminar.
• Aurora Serverless v1 está disponible en determinadas regiones de AWS y solo para versiones de Aurora
MySQL y Aurora PostgreSQL específicas. Para obtener más información, consulte Aurora Serverless
v1 (p. 31).
• Aurora Serverless v1 no admite las siguientes características de :
• Bases de datos globales de Aurora
• Clústeres multimaestros Aurora.
• Réplicas de Aurora
• AWS Identity and Access ManagementAutenticación de base de datos de (IAM)
• Búsqueda de datos anteriores en Aurora.
• Secuencias de actividades de la base de datos
• Performance Insights
• Las conexiones a un clúster de base de datos de Aurora Serverless v1 se cierran automáticamente si se
mantienen abiertas durante más de un día.
• Todos los clústeres de base de datos de Aurora Serverless v1 tienen las siguientes limitaciones:
163
Amazon Aurora Guía del usuario de Aurora
Requisitos de configuración para Aurora Serverless v1
• No se pueden exportar las instantáneas de Aurora Serverless v1 a los buckets de Amazon S3.
• No se pueden guardar datos en archivos de texto en Amazon S3.
• No puede usar ni cambiar AWS Database Migration Service la captura de datos (CDC) con clústeres
de base de datos de Aurora Serverless. Sólo los clústeres de Aurora base de datos aprovisionados
admiten CDC con AWS DMS como fuente.
• No se pueden cargar datos de archivo de texto desde Amazon S3 hacia Aurora MySQL Serverless.
Sin embargo, puede cargar datos en Aurora PostgreSQL Serverless desde Amazon S3 utilizando
la extensión de aws_s3 con la función de aws_s3.table_import_from_s3 y el parámetro de
credentials. Para obtener más información, consulte Importación de datos de Amazon S3 en un
clúster de base de datos Aurora PostgreSQL (p. 1548).
• Los clústeres de base de datos basados en Aurora MySQL que ejecutan Aurora Serverless v1 no
admiten lo siguiente:
• Invocación de funciones de AWS Lambda desde el clúster de base de datos de Aurora MySQL. Sin
embargo, las funciones de AWS Lambda pueden realizar llamadas a su clúster de base de datos de
Aurora MySQL Serverless.
• Restauración de una instantánea desde una instancia de base de datos que no sea de Aurora MySQL
ni de RDS for MySQL.
• Replicación de datos mediante la replicación basada en registros binarios (binlogs). Esta limitación
se cumple independientemente de si el clúster de base de datos basado en Aurora MySQL, Aurora
Serverless v1 es la fuente o el destino de la reproducción. Para replicar datos en un clúster de base
de datos de Aurora Serverless v1 desde una instancia de base de datos de MySQL fuera de Aurora,
como una que se ejecuta en Amazon EC2, considere utilizar AWS Database Migration Service. Para
obtener más información, consulte la Guía del usuario de AWS Database Migration Service.
• Los clústeres de base de datos basados en Aurora PostgreSQL que ejecutan Aurora Serverless v1
tienen las siguientes limitaciones:
• La administración del plan de consultas de Aurora PostgreSQL (extensión apg_plan_management)
no es compatible.
• La característica de replicación lógica disponible en Amazon RDS PostgreSQL y en Aurora
PostgreSQL no es compatible.
• Las comunicaciones salientes, como aquellas habilitadas por las extensiones de Amazon RDS
for PostgreSQL no son compatibles. Por ejemplo, no se puede acceder a datos externos con la
extensión postgres_fdw/dblink. Para obtener más información acerca de las extensiones de RDS
PostgreSQL, consulte PostgreSQL en Amazon RDS en la Guía del usuario de RDS.
• Actualmente, no se recomiendan ciertas consultas y comandos de SQL. Estos incluyen los bloqueos
de asesoramiento a nivel de sesión, las relaciones temporales, las notificaciones asíncronas (LISTEN)
y los cursores con retención (DECLARE name ... CURSOR WITH HOLD FOR query). Además, los
comandos NOTIFY y COPY evitan el escalado y no se recomiendan.
Para obtener más información, consulte Escalado automático para Aurora Serverless v1 (p. 169).
• No puede establecer la ventana de copia de seguridad preferida para un clúster de base de datos de
Aurora Serverless v1.
• Utilice estos números de puerto específicos para cada motor de base de datos:
• Aurora MySQL: – 3306
• Aurora PostgreSQL – 5432
• Cree sus clústeres de bases de datos de Aurora Serverless v1 en una nube virtual privada (VPC) basada
en el servicio de Amazon VPC. Al crear un clúster de base de datos de Aurora Serverless v1 en la VPC,
164
Amazon Aurora Guía del usuario de Aurora
Uso de TLS/SSL con Aurora Serverless v1
se consumen dos (2) de los cincuenta (50) puntos de enlace de interfaz y balanceadores de carga de
gateway asignados a la VPC. Estos extremos se crean automáticamente para usted. Para aumentar su
cuota, puede ponerse en contacto con AWS Support. Para obtener más información, consulte Amazon
VPC Cupos.
• No se puede asignar una dirección IP pública a un clúster de base de datos de Aurora Serverless v1.
Sólo puede acceder a un clúster de base de datos de Aurora Serverless v1 desde una VPC.
• Cree subredes en diferentes zonas de disponibilidad para el grupo de subredes de base de datos que
utilice para el clúster de base de datos de Aurora Serverless v1. En otras palabras, no puede tener más
de una subred en la misma zona de disponibilidad.
• Los cambios realizados en un grupo de subredes utilizado por un clúster de base de datos de Aurora
Serverless v1 no se aplican al clúster.
• Puede acceder a un clúster de base de datos de Aurora Serverless v1 desde AWS Lambda. Para
hacerlo, debe configurar la función de Lambda para que se ejecute en la misma VPC que su clúster de
base de datos de Aurora Serverless v1. Para obtener más información sobre el uso de AWS Lambda,
consulte Configuración de una función de Lambda para acceder a los recursos de una Amazon VPC en
la Guía para desarrolladores deAWS Lambda.
• Actualmente, la compatibilidad con TLS/SSL de los clústeres de base de datos de Aurora Serverless v1
no está disponible en la región de China (Pekín) de AWS.
• Cuando cree usuarios de bases de datos para un clúster de base de datos de Aurora Serverless v1
basado en Aurora MySQL, no utilice la cláusula REQUIRE para los permisos SSL. Esto impide que los
usuarios se conecten a la instancia de base de datos de Aurora.
• Para las utilidades de clientes MySQL y PostgreSQL, las variables de sesión que se pueden utilizar en
otros entornos no tienen ningún efecto cuando se utiliza TLS/SSL entre el cliente y Aurora Serverless v1.
• Para el cliente MySQL, cuando se conecta con el modo VERIFY_IDENTITY de TLS/SSL, actualmente
se necesita usar el comando de mysql compatible con MySQL 8.0. Para obtener más información,
consulte Conexión a una instancia de base de datos que ejecuta el motor de base de datos MySQL.
Dependiendo del cliente que utilice para conectarse al clúster de base de datos de Aurora Serverless v1,
es posible que no necesite especificar TLS/SSL para obtener una conexión cifrada. Por ejemplo, para
utilizar el cliente PostgreSQL para conectarse a un clúster de base de datos de Aurora Serverless v1 que
ejecuta la Edición ccompatible con Aurora PostgreSQL, conéctese como lo hace normalmente.
Después de escribir la contraseña, el cliente PostgreSQL le muestra los detalles de la conexión, incluida la
versión de TLS/SSL y el cifrado.
165
Amazon Aurora Guía del usuario de Aurora
Uso de TLS/SSL con Aurora Serverless v1
Important
Aurora Serverless v1 utiliza el protocolo Transport Layer Security/Secure Sockets Layer (TLS/
SSL) para cifrar las conexiones de forma predeterminada, a menos que la aplicación del cliente
deshabilite SSL/TLS. La conexión TLS/SSL termina en la flota de enrutadores. La comunicación
entre la flota de enrutadores y el clúster de base de datos de Aurora Serverless v1 se produce
dentro del límite de la red interna del servicio.
Puede verificar el estado de la conexión del cliente para verificar si la conexión aAurora
Serverless v1 está cifrada con TLS/SSL. Las tablas pg_stat_ssl y pg_stat_activity de
PostgreSQL y su función ssl_is_used no muestran el estado TLS/SSL de la comunicación
entre la aplicación del cliente y Aurora Serverless v1. Del mismo modo, el estado TLS/SSL no se
puede derivar de la instrucción status de MySQL.
Los parámetros de clúster de Aurora force_ssl para PostgreSQL y
require_secure_transport para MySQL no son compatibles con Aurora Serverless v1. Para
obtener una lista completa de los parámetros compatibles con Aurora Serverless v1, llame a la
API DescribeEngineDefaultClusterParameters. Para obtener más información sobre los grupos
de parámetros y Aurora Serverless v1, consult Grupos de parámetros de Aurora Serverless
v1 (p. 171).
Para utilizar el cliente MySQL para conectarse a un clúster de base de datos de Aurora Serverless v1
que ejecuta la Edición compatible con Aurora MySQL, especifique TLS/SSL en su solicitud. En el ejemplo
siguiente se incluye el almacén de confianza Amazon Root CA 1 descargado de Amazon Trust Services,
que es necesario para que esta conexión se realice de manera correcta.
Escriba la contraseña cuando se le solicite. Pronto, se abrirá el monitor MySQL. Puede confirmar que la
sesión está cifrada usando el comando status.
mysql> status
--------------
mysql Ver 14.14 Distrib 5.5.62, for Linux (x86_64) using readline 5.1
Connection id: 19
Current database:
Current user: ***@*******
SSL: Cipher in use is ECDHE-RSA-AES256-SHA
...
Para obtener más información acerca de cómo conectarse a la base de datos de Aurora MySQL con el
cliente MySQL, consulte Conexión a una instancia de base de datos que ejecuta el motor de base de datos
MySQL.
Aurora Serverless v1 admite todos los modos de TLS/SSL disponibles para el cliente MySQL (mysql) y el
cliente PostgreSQL (psql), incluidos los enumerados en la tabla siguiente.
166
Amazon Aurora Guía del usuario de Aurora
Cómo funciona Aurora Serverless v1
Aurora Serverless v1 utiliza certificados comodín. Si especifica la opción “verify CA (verificar CA)” o “verify
CA and CA hostname (verificar CA y nombre de alojamiento de CA)” al utilizar TLS/SSL, descargue
primero el almacén de confianza Amazon Root CA 1 de Amazon Trust Services. Después de hacerlo,
puede identificar este archivo con formato PEM en el comando del cliente. Para hacerlo utilizando el cliente
PostgreSQL:
Para obtener más información acerca de cómo trabajar con la base de datos de Aurora PostgreSQL
usando el cliente PostgreSQL, consulte Conexión a una instancia de base de datos que ejecuta el motor
de base de datos PostgreSQL.
Para obtener más información acerca de cómo conectarse a los clústeres de base de datos de Aurora en
general, consulte Conexión a un clúster de base de datos Amazon Aurora (p. 307).
El modo de motor de base de datos aprovisionado está diseñado para las cargas de trabajo predecibles.
Cuando trabaja con clústeres de base de datos aprovisionados de Aurora, elige el tamaño de clase de
instancia de base de datos y varias otras opciones de configuración. Por ejemplo, puede crear una o
más réplicas de Aurora para aumentar el rendimiento de lectura. Si la carga de trabajo cambia, se puede
modificar el tamaño de la clase de instancia de base de datos y modificar el número de réplicas de Aurora.
El modelo aprovisionado funciona bien cuando se puede ajustar con anticipación la capacidad de los
patrones de consumo esperados.
El modo de motor de base de datos sin servidor está diseñado para un patrón de uso completamente
diferente. Por ejemplo, el uso de la base de datos puede ser intensivo durante un corto periodo de tiempo,
seguido de largos periodos de poca actividad o de ninguna actividad en absoluto. Ejemplos de ello son
los sitios web de venta minorista con eventos de ventas intermitentes, las bases de datos que generan
informes cuando se necesitan, los entornos de desarrollo y pruebas o las aplicaciones nuevas cuyos
requisitos son inciertos. Para casos como estos y muchos otros, la configuración correcta de la capacidad
por anticipado no siempre es posible con el modelo aprovisionado. También puede resultar en costos más
elevados si se aprovisiona en exceso y tiene capacidad que no utiliza.
Con Aurora Serverless v1, puede crear un punto de enlace de base de datos sin especificar el tamaño
de la clase de instancia de base de datos. Solo especifica el rango mínimo y máximo de la capacidad
del clúster de base de datos de Aurora Serverless v1. El punto de enlace de la base de datos de Aurora
Serverless v1 constituye una flota de enrutadores que admite conexiones continuas y distribuye la carga
de trabajo entre los recursos. Aurora Serverless v1 escala los recursos automáticamente en función de las
especificaciones de capacidad mínima y máxima.
No es necesario cambiar el código de la aplicación cliente de base de datos para utilizar la flota de
enrutadores. Aurora Serverless v1 administra las conexiones de forma automática. El escalado es rápido
gracias a un grupo “activo” de recursos que siempre está listo para atender las solicitudes de servicio.
167
Amazon Aurora Guía del usuario de Aurora
Cómo funciona Aurora Serverless v1
Temas
• Aurora Serverless v1 architecture (p. 168)
• Escalado automático para Aurora Serverless v1 (p. 169)
• Acción de tiempo de espera para cambios de capacidad (p. 169)
• Pausar y reanudar Aurora Serverless v1 (p. 171)
• Grupos de parámetros de Aurora Serverless v1 (p. 171)
• Registros en Aurora Serverless v1 (p. 174)
• Aurora Serverless v1 y mantenimiento (p. 176)
• Aurora Serverless v1 y conmutación por error (p. 177)
• Aurora Serverless v1 e instantáneas (p. 177)
Puede especificar las ACU mínima y máxima. La unidad de capacidad de Aurora mínima es la ACU más
baja a la que puede escalarse el clúster de base de datos al reducir la capacidad. La unidad de capacidad
de Aurora máxima es la ACU más baja a la que puede escalarse el clúster de base de datos al aumentar
168
Amazon Aurora Guía del usuario de Aurora
Cómo funciona Aurora Serverless v1
Aurora Serverless v1 administra el grupo activo de recursos de una región de AWS para minimizar el
tiempo de escalado. Cuando Aurora Serverless v1 agrega nuevos recursos al clúster de base de datos
de Aurora, utiliza la flota de enrutadores para cambiar las conexiones de clientes activas a los nuevos
recursos. En cualquier momento dado, solo se le cobrarán las ACU que se estén utilizando activamente en
su clúster de base de datos de Aurora.
Puede ver los eventos de escalado para su clúster de Aurora Serverless en la AWS Management Console.
Durante el escalado automático, Aurora Serverless v1 restablece la métrica de EngineUptime. El valor de
la métrica de restablecimiento no significa que el escalado perfecto haya tenido problemas, ni significa que
Aurora Serverless eliminó conexiones. Es simplemente el punto de partida para el tiempo de actividad en
la nueva capacidad. Para obtener más información sobre las métricas, consulte Monitoreo de métricas de
Amazon Aurora con Amazon CloudWatch (p. 618).
Cuando el clúster de base de datos de Aurora Serverless v1 no tiene conexiones activas, puede reducir la
capacidad a cero (0 ACU). Para obtener más información, consulte Pausar y reanudar Aurora Serverless
v1 (p. 171).
Cuando necesita realizar una operación de escalado, Aurora Serverless v1 primero intenta identificar un
punto de escalado, un momento en el que no se estén procesando consultas. Aurora Serverless podría no
encontrar un punto de escalado por las siguientes razones:
Para aumentar la tasa de éxito del clúster de base de datos de Aurora Serverless al encontrar un punto
de escalado, le recomendamos que evite las consultas y transacciones de larga duración. Para obtener
más información sobre las operaciones de bloqueo de escalado y cómo evitarlas, consulte las Prácticas
recomendadas para trabajar con Amazon Aurora Serverless.
De forma predeterminada, Aurora Serverless v1 intenta encontrar un punto de escalado durante 5 minutos
(300 segundos). Puede especificar un período de tiempo de espera distinto al crear o modificar el clúster.
El tiempo de espera puede ser de 60 segundos a 10 minutos (600 segundos). Si Aurora Serverless no
puede encontrar ningún punto de escalado en el período especificado, el tiempo de espera de la operación
de escalado automático se agotará.
169
Amazon Aurora Guía del usuario de Aurora
Cómo funciona Aurora Serverless v1
al habilitar la opción Force the capacity change (Forzar cambio de capacidad). Esta opción está disponible
en la sección Autoscaling timeout and action (Acción y tiempo de espera de escalado automático) de la
página Create database (Crear base de datos) cuando se crea el clúster.
• [ ] Force the capacity change (Forzar el cambio de capacidad)– esta opción no está seleccionada de
forma predeterminada. Deje esta opción desactivada para que la capacidad del clúster de base de datos
de Aurora Serverless permanezca sin cambios si la operación de escalado agota el tiempo de espera sin
encontrar un punto de escalado.
• [X] Force the capacity change (Forzar el cambio de capacidad)– elegir esta opción hace que el clúster de
base de datos de Aurora Serverless aplique el cambio de capacidad, incluso sin un punto de escalado.
Antes de habilitar esta opción, tenga en cuenta las consecuencias de esta elección.
• Cualquier transacción en proceso se interrumpe y aparece el siguiente mensaje de error.
Aurora MySQL 5.6 – ERROR 1105 (HY000): The last transaction was aborted due to
an unknown error. Please retry.
Aurora MySQL 5.7 – ERROR 1105 (HY000): The last transaction was aborted due to
Seamless Scaling. Please retry.
Podrá volver a enviar la transacción tan pronto como el clúster de base de datos de Aurora Serverless
v1 esté disponible.
• Se eliminan las conexiones a las tablas y bloqueos temporales.
Note
Recomendamos que elija la opción "forzar" solo si su aplicación puede recuperarse de conexiones
caídas o transacciones incompletas.
Las elecciones que toma en la AWS Management Console cuando crea un clúster de base de datos
de Aurora Serverless se almacenan en el objeto ScalingConfigurationInfo y en las propiedades
SecondsBeforeTimeout y TimeoutAction. El valor de la propiedad TimeoutAction se establece en
uno de los siguientes valores al crear el clúster:
• RollbackCapacityChange: este valor se establece cuando se elige la opción Roll back the capacity
change (Revertir el cambio de capacidad). Este es el comportamiento predeterminado.
• ForceApplyCapacityChange: este valor se establece cuando se elige la opción Force the capacity
change (Forzar el cambio de capacidad).
Puede obtener el valor de esta propiedad en un clúster de base de datos de Aurora Serverless existente
mediante el comando de la AWS CLI describe-db-clusters, como se muestra a continuación.
Para Windows:
A modo de ejemplo, a continuación se muestra la consulta y la respuesta para un clúster de base de datos
de Aurora Serverless v1 denominado west-coast-sles en la región de EE. UU Oeste (N. California).
170
Amazon Aurora Guía del usuario de Aurora
Cómo funciona Aurora Serverless v1
[
{
"ScalingConfigurationInfo": {
"MinCapacity": 1,
"MaxCapacity": 64,
"AutoPause": false,
"SecondsBeforeTimeout": 300,
"SecondsUntilAutoPause": 300,
"TimeoutAction": "RollbackCapacityChange"
}
}
]
Como muestra la respuesta, este clúster de base de datos de Aurora Serverless v1 utiliza la configuración
predeterminada.
Para obtener más información, consulte Creación de un clúster de base de datos de Aurora Serverless
v1 (p. 177). Después de crear su Aurora Serverless v1, puede modificar la acción de tiempo de espera y
otros ajustes de capacidad en cualquier momento. Para saber cómo hacerlo, consulte Modificación de un
clúster de base de datos de Aurora Serverless v1 (p. 188).
Cuando el clúster de base de datos está en pausa, no se produce ningún tipo de actividad de computación
ni de memoria y solamente se le cobra el almacenamiento. Si se solicitan conexiones a la base de datos
mientras un clúster de base de datos de Aurora Serverless está en pausa, este clúster se reanuda
automáticamente y atiende las solicitudes de conexión.
Cuando el clúster de base de datos reanuda la actividad, tiene la misma capacidad que tenía cuando
Aurora detuvo el clúster. El número de ACU depende de cuánto aumentó o redujo Aurora la escala del
clúster antes de ponerlo en pausa.
Note
Si un clúster de base de datos está en pausa durante más de siete días, puede hacerse una copia
de seguridad de él mediante una instantánea. En este caso, Aurora restaura el clúster de base de
datos desde la instantánea cuando hay una solicitud para conectarse al mismo.
171
Amazon Aurora Guía del usuario de Aurora
Cómo funciona Aurora Serverless v1
Por ejemplo, un clúster de base de datos de Aurora Serverless basado en –Aurora PostgreSQL no puede
usar apg_plan_mgmt.capture_plan_baselines ni otros parámetros que podrían utilizarse en
clústeres de base de datos de Aurora PostgreSQL para la administración del plan de consultas.
Puede obtener una lista de valores predeterminados de los grupos de parámetros predeterminados para
los diferentes motores de base de datos de Aurora mediante el comando describe-engine-default-cluster-
parameters de la CLI, donde consulta la región de AWS. Los siguientes son los valores que puede utilizar
para la opción --db-parameter-group-family.
Recomendamos que configure la AWS CLI con su ID de clave de acceso de AWS y la clave de acceso
secreta de AWS y que establezca su región de AWS antes de usar los comandos de la AWS CLI. Si
proporciona la región a la configuración de la CLI, se evita ingresar al parámetro --region cuando
ejecuta comandos. Para obtener más información sobre cómo configurar la AWS CLI, consulte los
Conceptos básicos de la configuración en la Guía del usuario de AWS Command Line Interface.
En el ejemplo siguiente se obtiene una lista de parámetros del grupo de clústeres de base de datos
predeterminado para Aurora MySQL 5.6.
Para Windows:
172
Amazon Aurora Guía del usuario de Aurora
Cómo funciona Aurora Serverless v1
a. En Parameter group family (Familia de grupos de parámetros), elija la familia adecuada para el
motor de base de datos elegido. Asegúrese de que su selección tenga el prefijo aurora- en su
nombre.
b. En Type (Tipo), elija DB Cluster Parameter Group (Grupo de parámetros de clúster de base de
datos).
c. En Group name (Nombre de grupo) y Description (Descripción), escriba nombres significativos
para usted u otras personas que puedan necesitar trabajar con el clúster de base de datos de
Aurora Serverless v1 y sus parámetros.
d. Elija Create (Crear).
Cuando cambia los valores de los parámetros en un clúster de base de datos activo, Aurora Serverless
inicia un escalado perfecto para aplicar los cambios de parámetro. Si el clúster de base de datos de Aurora
Serverless está en un estado "en pausa", se reanuda y comienza a escalar para que pueda realizar el
173
Amazon Aurora Guía del usuario de Aurora
Cómo funciona Aurora Serverless v1
cambio. La operación de escalado para cambio de grupo de parámetros siempre fuerza el cambio de
capacidad (p. 169) , así que tenga en cuenta que la modificación de los parámetros podría causar caídas
en la conexión si no se puede encontrar un punto de escalado durante el periodo de escalado.
Para Aurora MySQL, puede habilitar los siguientes registros para que se carguen automáticamente desde
su clúster de base de datos de Aurora Serverless a Amazon CloudWatch.
Para obtener más información, consulte Uso de auditorías avanzadas con un clúster de base de datos de
Amazon Aurora MySQL (p. 985).
Para Aurora PostgreSQL, puede habilitar los siguientes registros en su clúster de base de datos de Aurora
Serverless y hacer que se carguen automáticamente a Amazon CloudWatch junto con los registros de
errores regulares.
174
Amazon Aurora Guía del usuario de Aurora
Cómo funciona Aurora Serverless v1
Después de habilitar los registros para Aurora MySQL 5.6, Aurora MySQL 5.7 o Aurora PostgreSQL para
su clúster de base de datos de Aurora Serverless, puede ver los registros en CloudWatch.
Para obtener más información acerca de cómo usar CloudWatch con registros de Aurora MySQL, consulte
Monitoreo de eventos de registro en Amazon CloudWatch (p. 1102).
Para obtener más información sobre CloudWatch y Aurora PostgreSQL, consulte Publicación de registros
de Aurora PostgreSQL en Amazon CloudWatch Logs (p. 1600).
Para ver los registros del clúster de base de datos de Aurora Serverless
175
Amazon Aurora Guía del usuario de Aurora
Cómo funciona Aurora Serverless v1
4. Seleccione el registro del clúster de base de datos de Aurora Serverless de la lista. Para los registros
de errores, el patrón de nomenclatura es el siguiente.
/aws/rds/cluster/cluster-name/error
Por ejemplo, en la siguiente captura de pantalla puede encontrar descripciones de registros publicados
para un clúster de base de datos de Aurora Serverless de Aurora PostgreSQL llamado "western-sles".
También puede encontrar varias descripciones del clúster de base de datos de Aurora Serverless de
Aurora MySQL, "west-coast-sles". Elija el registro de interés para empezar a explorar su contenido.
Cuando es posible, Aurora Serverless realiza el mantenimiento de una manera no disruptiva. Cuando
se requiere mantenimiento, el clúster de base de datos de Aurora Serverless escala su capacidad para
gestionar las operaciones necesarias. Antes de escalar, Aurora Serverless busca un punto de escalado y
lo hace durante un máximo de siete días, si es necesario.
Al final de cada día que Aurora Serverless no puede encontrar un punto de escalado, crea un evento de
clúster. Este evento lo notifica sobre el mantenimiento pendiente y la necesidad de escalar para realizar el
mantenimiento. La notificación incluye la fecha en la que Aurora Serverless puede forzar al clúster de base
de datos a escalar.
Hasta ese momento, su clúster de base de datos de Aurora Serverless continúa la búsqueda de un punto
de escalado y se comporta de acuerdo con su configuración de TimeoutAction. Es decir, si no puede
176
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base
de datos de Aurora Serverless v1
encontrar un punto de escalado antes de agotar el tiempo de espera, abandona el cambio de capacidad
si está configurado para RollbackCapacityChange. O fuerza el cambio si está configurado para
ForceApplyCapacityChange. Al igual que con cualquier cambio forzado sin un punto de escalado
apropiado, esto podría interrumpir la carga de trabajo.
Para obtener más información, consulte Acción de tiempo de espera para cambios de
capacidad (p. 169).
El mecanismo de conmutación por error tarda más que para un clúster aprovisionado de Aurora. El tiempo
de conmutación por error de Aurora Serverless v1 está sin definir en estos momentos, ya que depende
de la demanda y de la disponibilidad de capacidad de otras zonas de disponibilidad de la región de AWS
específica.
Puede establecer los siguientes valores específicos para el clúster de base de datos de Aurora Serverless
v1:
• Unidad de capacidad mínima de Aurora: Aurora Serverless v1 puede reducir la capacidad hasta esta
unidad de capacidad.
• Unidad de capacidad máxima de Aurora: Aurora Serverless v1 puede aumentar la capacidad hasta esta
unidad de capacidad.
• Roll back the capacity change (Revertir el cambio de capacidad): permite cancelar los cambios de
capacidad si Aurora Serverless v1 no puede encontrar ningún punto de escalado, elija esta opción de
configuración.
177
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base
de datos de Aurora Serverless v1
Force the capacity change (Forzar el cambio de capacidad): permite forzar Aurora Serverless v1 para
realizar el escalado incluso si no puede encontrar ningún punto de escalado antes de que se agote el
tiempo de espera, elija esta opción de configuración.
Para obtener más información, consulte Acción de tiempo de espera para cambios de
capacidad (p. 169).
• Pausar la capacidad de cómputo después de minutos consecutivos de inactividad: puede elegir esta
configuración si desea que Aurora Serverless v1 escale a cero cuando no haya actividad en el clúster de
base de datos durante el periodo de tiempo que especifique. Con esta configuración habilitada, el clúster
de base de datos de Aurora Serverless v1 reanuda automáticamente el procesamiento y se escala a la
capacidad necesaria para gestionar la carga de trabajo cuando se reanuda el tráfico de la base de datos.
Para obtener más información, consulte Pausar y reanudar Aurora Serverless v1 (p. 171).
Antes de crear un clúster de base de datos de Aurora Serverless v1, necesita una cuenta de AWS.
También tiene que haber completado las tareas de configuración para trabajar con Amazon Aurora. Para
obtener más información, consulte Configuración del entorno para Amazon Aurora (p. 90). También debe
completar otros pasos preliminares para crear cualquier clúster de base de datos de Aurora. Para obtener
más información, consulte Creación de un clúster de base de datos de Amazon Aurora (p. 136).
Aurora Serverless v1 está disponible en determinadas regiones de AWS y solo para versiones de Aurora
MySQL y Aurora PostgreSQL específicas. Para obtener más información, consulte Aurora Serverless
v1 (p. 31).
Note
El volumen de un clúster de Aurora Serverless v1 siempre está cifrado. Cuando crea el clúster de
base de datos de Aurora Serverless v1, no puede desactivar el cifrado, pero puede elegir usar su
propia clave de cifrado.
Puede crear un clúster de base de datos de Aurora Serverless v1 con la AWS Management Console, la
AWS CLI o la API de RDS siguiendo los pasos que se indican a continuación.
Consola
Para crear un nuevo clúster de base de datos de Aurora Serverless v1, inicie sesión en la AWS
Management Console y elija una región de AWS que admita Aurora Serverless v1. En la lista Services
(Servicios) de AWS, elija Amazon RDS y, a continuación, Create database (Crear base de datos).
• Elija Standard Create (Creación estándar) para el método de creación de la base de datos.
• Elija Amazon Aurora para el tipo de motor en la sección Engine options (Opciones del motor).
A continuación, elija Amazon Aurora with MySQL compatibility (Amazon Aurora con compatibilidad
con MySQL) o Amazon Aurora with PostgreSQL compatibility (Amazon Aurora con compatibilidad con
PostgreSQL), y continúe creando el clúster de base de datos de Aurora Serverless v1 siguiendo los pasos
de los siguientes ejemplos. Si elige una versión del motor de base de datos que no sea compatible con
Aurora Serverless v1, no se mostrará la opción Serverless (Sin servidor).
Elija Amazon Aurora with MySQL Compatibility (Amazon Aurora con compatibilidad con MySQL) para la
edición. Elija el motor de Aurora MySQL que desee para su clúster en el selector de Version (Versión). En
la siguiente imagen se muestra un ejemplo.
178
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base
de datos de Aurora Serverless v1
Puede establecer la configuración de escalado del clúster de base de datos de Aurora Serverless v1
ajustando los valores de la sección Capacity settings (Ajustes de capacidad) de la página. Para obtener
más información sobre la configuración de capacidad, consulte Escalado automático para Aurora
Serverless v1 (p. 169). En la imagen siguiente se muestran los Capacity settings (Ajustes de capacidad)
que puede ajustar para un clúster de base de datos Aurora MySQL Serverless.
179
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base
de datos de Aurora Serverless v1
También puede habilitar la API de datos para el clúster de base de datos de Aurora MySQL Serverless.
Active la casilla de verificación Data API (API de datos) en la sección Connectivity (Conectividad) de la
página Create database page (Crear base de datos). Para obtener más información sobre la API de datos,
consulte Uso de la API de datos para Aurora Serverless (p. 196).
Elija Amazon Aurora with Postgres compatibility (Amazon Aurora con compatibilidad con Postgres) para la
Edición y seleccione la versión de Aurora PostgreSQL disponible para Aurora Serverless v1. Para obtener
más información, consulte Aurora Serverless v1 (p. 31).
180
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base
de datos de Aurora Serverless v1
Puede establecer la configuración de escalado del clúster de base de datos de Aurora Serverless v1
ajustando los valores de la sección Capacity settings (Ajustes de capacidad) de la página. En la imagen
siguiente se muestran los Capacity settings (Ajustes de capacidad) que puede ajustar para un clúster de
base de datos Aurora PostgreSQL Serverless. Para obtener más información sobre la configuración de
capacidad, consulte Escalado automático para Aurora Serverless v1 (p. 169).
181
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base
de datos de Aurora Serverless v1
También puede habilitar la API de datos para el clúster de base de datos de Aurora PostgreSQL
Serverless. Active la casilla de verificación Data API (API de datos) en la sección Connectivity
(Conectividad) de la página Create database page (Crear base de datos). Consulte Uso de la API de datos
para Aurora Serverless (p. 196) para obtener más información acerca de la API de datos.
Para obtener información adicional acerca de cómo crear un clúster de base de datos de Aurora
mediante la AWS Management Console, consulte Creación de un clúster de base de datos de Amazon
Aurora (p. 136).
Note
Si recibe el siguiente mensaje de error al intentar crear el clúster, su cuenta necesita permisos
adicionales.
Unable to create the resource. Verify that you have permission to create
service linked role. Otherwise wait and try again later.
Para obtener más información, consulte Uso de roles vinculados a servicios de Amazon
Aurora (p. 1921).
AWS CLI
Para crear un nuevo clúster de base de datos de Aurora Serverless v1 mediante la AWS CLI, ejecute el
comando create-db-cluster y especifique serverless en la opción --engine-mode.
Los siguientes ejemplos de comandos crean un nuevo clúster de base de datos Serverless estableciendo
la opción --engine-mode en serverless. Los ejemplos también especifican valores para la opción --
scaling-configuration.
Los siguientes comandos crean nuevos clústeres de base de datos sin servidor compatibles con MySQL.
Los valores de capacidad válidos para Aurora MySQL son 1, 2, 4, 8, 16, 32, 64, 128 y 256.
Para Windows:
182
Amazon Aurora Guía del usuario de Aurora
Restauración de un clúster de base
de datos de Aurora Serverless v1
El comando siguiente crea un nuevo clúster de base de datos Serverless compatible con
PostgreSQL 10.12. Los valores de capacidad válidos para Aurora PostgreSQL son 2, 4, 8, 16, 32, 64, 192
y 384.
Para Windows:
API de RDS
Para crear un nuevo clúster de base de datos de Aurora Serverless v1 mediante la API de RDS, ejecute la
operación CreateDBCluster y especifique serverless en el parámetro EngineMode.
183
Amazon Aurora Guía del usuario de Aurora
Restauración de un clúster de base
de datos de Aurora Serverless v1
Cuando restaure una instantánea en un clúster de base de datos de Aurora Serverless v1, podrá
establecer los siguientes valores específicos:
• Unidad de capacidad mínima de Aurora: Aurora Serverless v1 puede reducir la capacidad hasta esta
unidad de capacidad.
• Unidad de capacidad máxima de Aurora: Aurora Serverless v1 puede aumentar la capacidad hasta esta
unidad de capacidad.
• Acción de tiempo de espera: la acción que se debe realizar cuando se agota el tiempo de una
modificación de capacidad porque no puede encontrar un punto de escalado. Aurora Serverless v1
El clúster de base de datos puede forzar su clúster de base de datos a la nueva configuración de
capacidad si establece la opción Force scaling the capacity to the specified values... (Forzar el escalado
de la capacidad a los valores especificados…). O bien, puede revertir el cambio de capacidad para
cancelarlo si no elige la opción. Para obtener más información, consulte Acción de tiempo de espera
para cambios de capacidad (p. 169).
• Pause after inactivity (Pausa tras inactividad): el tiempo sin tráfico de base de datos que ha de transcurrir
para escalar hasta la capacidad de procesamiento cero. Cuando se reanude el tráfico de la base de
datos, Aurora reanudará automáticamente la capacidad de procesamiento y se escalará para controlar el
tráfico.
Para obtener información general acerca de cómo restaurar un clúster de base de datos a partir de una
instantánea, consulte Restauración de una instantánea de clúster de base de datos (p. 545).
Consola
Puede restaurar una instantánea de un clúster de base de datos en un clúster de base de datos Aurora con
la AWS Management Console.
Para restaurar una instantánea de clúster de base de datos en un clúster de base de datos de
Aurora
184
Amazon Aurora Guía del usuario de Aurora
Restauración de un clúster de base
de datos de Aurora Serverless v1
6. En el campo DB cluster Identifier (Identificador de clúster de base de datos), escriba el nombre del
clúster de base de datos restaurado; a continuación, rellene los demás campos.
7. En la sección Capacity settings (Configuración de capacidad), modifique la configuración de escalado.
185
Amazon Aurora Guía del usuario de Aurora
Restauración de un clúster de base
de datos de Aurora Serverless v1
Para conectarse a un clúster de base de datos de Aurora Serverless v1, utilice el punto de enlace de
base de datos. Para obtener información más detallada, consulte las instrucciones que se describen en
Conexión a un clúster de base de datos Amazon Aurora (p. 307).
Note
Si aparece el siguiente mensaje de error, significa que su cuenta requiere permisos adicionales:
Unable to create the resource. Verify that you have permission to create
service linked role. Otherwise wait and try again later.
Para obtener más información, consulte Uso de roles vinculados a servicios de Amazon
Aurora (p. 1921).
AWS CLI
Puede configurar un clúster de base de datos de Aurora Serverless v1 al efectuar una restauración desde
una instantánea de otro clúster de base de datos. Puede hacerlo con la AWS CLI usando el comando de la
CLI restore-db-cluster-from-snapshot. Con su comando, incluye los siguientes parámetros requeridos:
• --db-cluster-identifier mynewdbcluster
• --snapshot-identifier mydbclustersnapshot
• --engine-mode serverless
186
Amazon Aurora Guía del usuario de Aurora
Restauración de un clúster de base
de datos de Aurora Serverless v1
Para restaurar una instantánea en un clúster de Aurora Serverless v1 con compatibilidad con MySQL 5.7,
incluya los siguientes parámetros adicionales:
• --engine aurora-mysql
• --engine-version 5.7
Para Windows:
En el ejemplo siguiente, se restaura desde una instantánea de clúster de base de datos creada
anteriormente denominada mydbclustersnapshot a un nuevo clúster de base de datos denominado
mynewdbcluster. Defina el --scaling-configuration para que el nuevo clúster de base de datos
de Aurora Serverless pueda escalar de 8 ACU a 64 ACU (unidades de capacidad Aurora) según sea
necesario para procesar la carga de trabajo. Una vez finalizado el procesamiento y después de 1000
segundos sin conexiones que admitir, el clúster se cierra hasta que las solicitudes de conexión soliciten
que se reinicie.
Para Windows:
187
Amazon Aurora Guía del usuario de Aurora
Modificación de un clúster de base
de datos de Aurora Serverless v1
API de RDS
Para configurar un clúster de base de datos de Aurora Serverless v1 cuando realiza una
restauración a partir de un clúster de base de datos mediante la API de RDS, ejecute la operación
RestoreDBClusterFromSnapshot y especifique serverless en el parámetro EngineMode.
Puede establecer la capacidad mínima y máxima del clúster de base de datos. Cada unidad de capacidad
equivale a una configuración de computación y memoria específicas. Aurora Serverless v1 crea
automáticamente reglas de escalado para los límites de uso de la CPU, las conexiones y la memoria
disponible. También puede establecer si Aurora Serverless v1 debe pausar la base de datos cuando no
haya actividad y reanudarla cuando vuelva a haberla.
• Unidad de capacidad mínima de Aurora: Aurora Serverless v1 puede reducir la capacidad hasta esta
unidad de capacidad.
• Unidad de capacidad máxima de Aurora: Aurora Serverless v1 puede aumentar la capacidad hasta esta
unidad de capacidad.
• Autoscaling timeout and action (Acción y tiempo de espera de escalado automático): esta sección
especifica cuánto tiempo espera Aurora Serverless para buscar un punto de escalado antes de que se
agote el tiempo de espera. También especifica la acción que se debe realizar cuando se agota el tiempo
de una modificación de capacidad porque no se puede encontrar ningún punto de escalado. Aurora
puede forzar el cambio de capacidad para establecer la capacidad en el valor especificado lo antes
posible. También puede revertir el cambio de capacidad para cancelarla. Para obtener más información,
consulte Acción de tiempo de espera para cambios de capacidad (p. 169).
• Pause after inactivity (Pausa tras inactividad): el tiempo sin tráfico de base de datos que ha de transcurrir
para escalar hasta la capacidad de procesamiento cero. Cuando se reanude el tráfico de la base de
datos, Aurora reanudará automáticamente la capacidad de procesamiento y se escalará para controlar el
tráfico.
Consola
Puede modificar la configuración de escalado de un clúster de base de datos de Aurora mediante la AWS
Management Console.
188
Amazon Aurora Guía del usuario de Aurora
Modificación de un clúster de base
de datos de Aurora Serverless v1
AWS CLI
Para modificar la configuración de escalado de un clúster de base de datos de Aurora Serverless v1
mediante la AWS CLI, ejecute el comando modify-db-cluster de la AWS CLI. Especifique la opción --
scaling-configuration para configurar la capacidad mínima, la capacidad máxima y la pausa
automática cuando no haya conexiones. Entre los valores de capacidad válidos se incluyen los siguientes:
189
Amazon Aurora Guía del usuario de Aurora
Escalado manual de la capacidad del clúster
de base de datos de Aurora Serverless v1
Para Windows:
API de RDS
Puede modificar la configuración de escalado de un clúster de base de datos de Aurora mediante la
operación ModifyDBCluster de la API. Especifique el parámetro ScalingConfiguration para configurar
la capacidad mínima, la capacidad máxima y la pausa automática cuando no haya conexiones. Entre los
valores de capacidad válidos se incluyen los siguientes:
Puede establecer de manera explícita la capacidad de un clúster de base de datos de Aurora Serverless v1
en un valor específico mediante la AWS Management Console, la AWS CLI o la API de RDS.
Consola
Puede establecer la capacidad de un clúster de base de datos Aurora mediante la AWS Management
Console.
a. Para el selector desplegable Scale DB cluster to (Escalar clúster de base de datos a), elija la
nueva capacidad que desee para el clúster de base de datos.
190
Amazon Aurora Guía del usuario de Aurora
Escalado manual de la capacidad del clúster
de base de datos de Aurora Serverless v1
b. Para la casilla de verificación If a seamless scaling point cannot be found… (Si no se puede
encontrar un punto de escalado constante…), elija el comportamiento que desee para la
configuración de Aurora Serverless v1 de su clúster de base de datos de TimeoutAction, de la
siguiente manera:
• Desmarque esta opción si desea que su capacidad permanezca sin cambios si Aurora
Serverless v1 no encuentra un punto de escalado antes de agotar el tiempo de espera.
• Marque esta opción si desea forzar a su clúster de base de datos de Aurora Serverless v1 a
cambiar su capacidad incluso si no puede encontrar un punto de escalado antes de que se
agote el tiempo de espera. Esta opción puede resultar en la caída de las conexiones de Aurora
Serverless v1 que le impiden encontrar un punto de escalado.
c. En el campo seconds (segundos), introduzca la cantidad de tiempo que desea permitir que
el clúster de base de datos de Aurora Serverless v1 busque un punto de escalado antes de
agotar el tiempo de espera. Puede especificar cualquier valor entre 60 segundos y 600 segundos
(10 minutos). El valor predeterminado es de cinco minutos (300 segundos). El ejemplo siguiente
obliga al clúster de base de datos de Aurora Serverless v1 a reducir a 2 ACU, incluso si no puede
encontrar un punto de escalado en cinco minutos.
6. Seleccione Apply.
Para obtener más información acerca de los puntos de escalado, la TimeoutAction y los periodos de
recuperación, consulte Escalado automático para Aurora Serverless v1 (p. 169).
AWS CLI
Para establecer la capacidad de un clúster de base de datos de Aurora Serverless v1 mediante la AWS
CLI, ejecute el comando modify-current-db-cluster-capacity de la AWS CLI y especifique la opción --
capacity. Entre los valores de capacidad válidos se incluyen los siguientes:
191
Amazon Aurora Guía del usuario de Aurora
Visualización de los clústeres de base
de datos de Aurora Serverless v1
API de RDS
Puede establecer la capacidad de un clúster de base de datos de Aurora mediante la operación
ModifyCurrentDBClusterCapacity de la API. Especifique el parámetro Capacity. Entre los valores de
capacidad válidos se incluyen los siguientes:
Puede ver el tipo de cada clúster de base de datos en el campo Role (Rol). Los clústeres de base
de datos de Aurora Serverless v1 muestran el tipo Serverless (Sin servidor). Puede consultar la
capacidad actual de un clúster de base de datos de Aurora Serverless v1 en Size (Tamaño).
4. Elija el nombre de un clúster de base de datos de Aurora Serverless v1 para mostrar sus detalles.
En la pestaña Connectivity & security (Conectividad y seguridad), tenga en cuenta el punto de enlace
de la base de datos. Utilice este punto de enlace para conectarse al clúster de base de datos de
Aurora Serverless v1.
192
Amazon Aurora Guía del usuario de Aurora
Visualización de los clústeres de base
de datos de Aurora Serverless v1
Se genera un evento de escalado cada vez que un clúster de base de datos se escala para ampliarlo
o para reducirlo, se pone en pausa o se reanuda. Elija la pestaña Logs & events (Registros y eventos)
para ver los eventos recientes. En la imagen siguiente se muestran ejemplos de estos eventos.
Puede hacer que Aurora publica algunos registros de base de datos o todos en CloudWatch. Seleccione
los registros que publicará al habilitar los parámetros de configuración como general_log y
slow_query_log en el grupo de parámetros de clúster de base de datos (p. 171) asociado al clúster
de Aurora Serverless v1. A diferencia de los clústeres aprovisionados, los clústeres de Aurora Serverless
v1 no requieren que especifique en la configuración del clúster de base de datos qué tipos de registro se
van a cargar en CloudWatch. Los clústeres de Aurora Serverless v1 cargan automáticamente todos los
registros disponibles. Cuando se deshabilita un parámetro de configuración de registro, la publicación
del registro en CloudWatch se detiene. También puede eliminar los registros en CloudWatch si ya no son
necesarios.
193
Amazon Aurora Guía del usuario de Aurora
Eliminación de un clúster de base
de datos de Aurora Serverless v1
Para obtener una introducción sobre Amazon CloudWatch para su clúster de base de datos de
Aurora Serverless v1, consulte Visualización registros de Aurora Serverless v1 con Amazon
CloudWatch (p. 175). Para obtener más información acerca de cómo monitorear los clústeres de base
de datos de Aurora a través de CloudWatch, consulte Monitoreo de eventos de registro en Amazon
CloudWatch (p. 1102).
Para conectarse a un clúster de base de datos de Aurora Serverless v1, utilice el punto de enlace de
base de datos. Para obtener más información, consulte Conexión a un clúster de base de datos Amazon
Aurora (p. 307).
Note
Una vez que la protección contra eliminación ya no esté activa, podrá eliminar el clúster de base de datos
de Aurora Serverless v1 mediante la AWS Management Console.
Consola
Para eliminar un clúster de base de datos de Aurora Serverless v1
194
Amazon Aurora Guía del usuario de Aurora
Eliminación de un clúster de base
de datos de Aurora Serverless v1
4. En Actions (Acciones), elija Delete (Eliminar). Se le pedirá que confirme que desea eliminar el clúster
de base de datos de Aurora Serverless v1.
5. Le recomendamos que mantenga las opciones preseleccionadas:
Si elige No para Create final snapshot? (¿Crear instantánea final?), no podrá restaurar el clúster de
base de datos mediante instantáneas ni restauración puntual en el tiempo.
6. Seleccione Delete DB cluster (Eliminar clúster de base de datos).
Aurora Serverless v1 elimina el clúster de base de datos. Si elige tener una instantánea final, verá que el
estado de su clúster de base de datos de Aurora Serverless v1 cambia a “Backing-up (Efectuando copia de
seguridad)” antes de eliminarse y no aparecer más en la lista.
AWS CLI
Antes de comenzar, configure la AWS CLI con su ID de clave de acceso de AWS, su clave de acceso
secreta de AWS y la región de AWS donde se encuentra el clúster de base de datos de Aurora Serverless
v1. Para obtener más información, consulte Fundamentos de configuración en la Guía del usuario de AWS
Command Line Interface.
No puede eliminar un clúster de base de datos de Aurora Serverless v1 hasta después de desactivar la
protección contra eliminación para los clústeres configurados con esta opción. Si intenta eliminar un clúster
que tiene activada esta opción de protección, verá el siguiente mensaje de error.
Puede cambiar la configuración de protección contra eliminación de su clúster de base de datos de Aurora
Serverless v1 mediante el comando modify-db-cluster de la AWS CLI, como se muestra a continuación:
Este comando devuelve las propiedades revisadas para el clúster de base de datos especificado. Ahora
puede eliminar su clúster de base de datos de Aurora Serverless v1.
Se recomienda crear siempre una instantánea final cada vez que elimine un clúster de base de datos de
Aurora Serverless v1. El siguiente ejemplo de uso del comando delete-db-cluster de la AWS CLI muestra
cómo hacerlo. Proporcione el nombre del clúster de base de datos y un nombre para la instantánea.
195
Amazon Aurora Guía del usuario de Aurora
Aurora Serverless v1 y versiones del
motor de base de datos de Aurora
Para Windows:
Aurora Serverless v1 utiliza su motor de base de datos de Aurora asociado para identificar las versiones
compatibles específicas para cada motor de base de datos admitido, de la siguiente manera:
Cuando las versiones secundarias de los motores de base de datos se vuelven disponibles para Aurora
Serverless v1, se aplican automáticamente en las distintas regiones de AWS donde Aurora Serverless v1
está disponible. En otras palabras, no necesita actualizar el clúster de base de datos de Aurora Serverless
v1 para obtener una nueva versión secundaria del motor de base de datos del clúster cuando está
disponible para Aurora Serverless v1.
Por ejemplo, la versión secundaria de Aurora PostgreSQL 10.14 se aplicó de forma transparente a todos
los clústeres de base de datos de Aurora Serverless v1 que ejecutaban la versión anterior de Aurora
PostgreSQL. Para obtener más información acerca de la actualización de la versión 10.14 de Aurora
PostgreSQL, consulte PostgreSQL 10.14, Aurora PostgreSQL versión 2.7 (p. 1755).
196
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
Al utilizar la API de datos para Aurora Serverless, puede trabajar con una interfaz de servicios web para
su clúster de Aurora Serverless base de datos. La API de datos no requiere una conexión persistente al
clúster de base de datos. En su lugar, proporciona un punto de enlace HTTP seguro e integración con los
AWS SDK. Puede usar el punto de enlace para ejecutar instrucciones SQL sin administrar conexiones.
Todas las llamadas a la API de datos son síncronas. De forma predeterminada, una llamada se agota si no
ha terminado de procesar en 45 segundos. Sin embargo, puede continuar ejecutando una instrucción SQL
si el tiempo de espera de la llamada se agota mediante el parámetro continueAfterTimeout. Para ver
un ejemplo, consulte Ejecución de una transacción SQL (p. 217).
Los usuarios no necesitan transferir credenciales con llamadas a la API de datos, porque la API de
datos utiliza credenciales de base de datos almacenadas en AWS Secrets Manager. Para almacenar
credenciales en Secrets Manager, se debe conceder a los usuarios los permisos adecuados para usar
Secrets Manager y también la API de datos. Para obtener más información acerca de la autorización de
usuarios, consulte Autorización de acceso a la API de datos (p. 198).
También puede usar la API de datos para integrar Aurora Serverless con otras aplicaciones de AWS como
AWS Lambda, AWS AppSync, y AWS Cloud9. La API proporciona una forma más segura de usar AWS
Lambda. Le habilita para que obtenga acceso a su clúster de base de datos sin tener que configurar una
función Lambda para obtener acceso a recursos de una Virtual Private Cloud (VPC). Para obtener más
información, consulte AWS Lambda, AWS AppSync y AWS Cloud9.
Puede habilitar la API de datos al crear el clúster de Aurora Serverless. También puede modificar la
configuración más adelante. Para obtener más información, consulte Habilitar la API de datos (p. 201).
Después de habilitar la API de datos, también puede utilizar el editor de consultas para Aurora Serverless.
Para obtener más información, consulte Uso del editor de consultas para Aurora Serverless (p. 224).
Temas
• Disponibilidad de API de datos (p. 197)
• Autorización de acceso a la API de datos (p. 198)
• Habilitar la API de datos (p. 201)
• Para crear un punto de enlace de la Amazon VPC para la API de datos (AWS PrivateLink) (p. 202)
• Llamadas a la API de datos (p. 205)
• Usar la biblioteca de cliente de Java para la API de datos (p. 219)
• Solución de problemas de la API de datos (p. 220)
En la siguiente tabla se muestran las regiones de AWS donde la API de datos está disponible actualmente
para Aurora Serverless. Utilice el protocolo HTTPS para acceder a la API de datos de estas regiones.
Región Enlace
197
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
Región Enlace
Si necesita módulos criptográficos validados por FIPS 140-2 al acceder a los datos de la API a través
de una interfaz de línea de comandos o una API, utilice un punto de enlace de FIPS. Para obtener más
información acerca de los puntos de enlace de FIPS disponibles, consulte Estándar de procesamiento de
la información federal (FIPS) 140-2.
La política AmazonRDSDataFullAccess también incluye permisos para que el usuario obtenga el valor
de un secreto de AWS Secrets Manager. Los usuarios deben usar Secrets Manager para almacenar
secretos que pueden usar en sus llamadas a la API de datos. El uso de secretos significa que los usuarios
no tienen que incluir credenciales de base de datos para los recursos a los que se dirigen en sus llamadas
a la API de datos. La API de datos llama de forma transparente a Secrets Manager, lo que permite (o
deniega) la solicitud del secreto del usuario. Para obtener información acerca de cómo configurar secretos
para utilizarlos con la API de datos, consulte Almacenamiento de credenciales de base de datos en AWS
Secrets Manager (p. 200).
Por ejemplo, la siguiente política muestra un ejemplo de los permisos mínimos necesarios para que un
usuario acceda a la API de datos para el clúster de base de datos identificado por su ARN. La política
incluye los permisos necesarios para acceder a Secrets Manager y obtener autorización a la instancia de
base de datos para el usuario.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SecretsManagerDbCredentialsAccess",
"Effect": "Allow",
198
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": "arn:aws:secretsmanager:*:*:secret:rds-db-credentials/*"
},
{
"Sid": "RDSDataServiceAccess",
"Effect": "Allow",
"Action": [
"rds-data:BatchExecuteStatement",
"rds-data:BeginTransaction",
"rds-data:CommitTransaction",
"rds-data:ExecuteStatement",
"rds-data:RollbackTransaction"
],
"Resource": "arn:aws:rds:us-east-2:111122223333:cluster:prod"
}
]
}
Le recomendamos que utilice un ARN específico para el elemento «Recursos» en sus declaraciones de
política (como se muestra en el ejemplo) en lugar de un comodín (*).
• environment:production
• environment:development
Puede aplicar etiquetas a los recursos para la asignación de costos, soporte de operaciones, control de
acceso y muchas otras razones. (Si aún no tiene etiquetas en sus recursos y desea aplicarlas, puede
obtener más información en Etiquetado de recursos de Amazon RDS). Puede utilizar las etiquetas en las
instrucciones de política para limitar el acceso a los clústeres de RDS que están etiquetados con estas
etiquetas. Por ejemplo, un clúster de base de datos de Aurora puede tener etiquetas que identifican su
entorno como producción o desarrollo.
En el ejemplo siguiente se muestra cómo se pueden utilizar etiquetas en las instrucciones de política. Esta
instrucción requiere que tanto el clúster como el secreto transferido en la solicitud de API de datos tengan
una etiqueta environment:production.
Así es como se aplica la política: cuando un usuario realiza una llamada utilizando la API de datos, la
solicitud se envía al servicio. La API de datos comprueba primero que el ARN del clúster transferido en la
solicitud esté etiquetado con environment:production. A continuación, llama a Secrets Manager para
recuperar el valor del secreto del usuario en la solicitud. Secrets Manager también verifica que el secreto
del usuario esté etiquetado con environment:production. Si es así, la API de datos utiliza el valor
recuperado para la contraseña de base de datos del usuario. Finalmente, si eso también es correcto, la
solicitud de la API de datos se invoca correctamente para el usuario.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SecretsManagerDbCredentialsAccess",
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
199
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
"Resource": "arn:aws:secretsmanager:*:*:secret:rds-db-credentials/*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/environment": [
"production"
]
}
}
},
{
"Sid": "RDSDataServiceAccess",
"Effect": "Allow",
"Action": [
"rds-data:*"
],
"Resource": "arn:aws:rds:us-east-2:111122223333:cluster:*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/environment": [
"production"
]
}
}
}
]
}
En el elemento «Condición» de la política, puede elegir claves de etiqueta entre las siguientes:
• aws:TagKeys
• aws:ResourceTag/${TagKey}
Para obtener más información sobre las etiquetas de recursos y cómo utilizar aws:TagKeys, consulte
Control del acceso a los recursos de AWS mediante etiquetas de recursos.
Note
Tanto la API de datos como AWS Secrets Manager autorizan usuarios. Si no tiene permisos para
todas las acciones definidas en una política, obtendrá un error AccessDeniedException.
1. Utilice Secrets Manager para crear un secreto que contenga credenciales para el clúster de base de
datos de Aurora.
Para obtener instrucciones, consulte Creación de un secreto básico en la Guía del usuario de AWS
Secrets Manager.
2. Utilice la consola de Secrets Manager para ver los detalles del secreto que ha creado, o ejecute el
comando aws secretsmanager describe-secret de la AWS CLI.
200
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
Anote el nombre y el ARN del secreto. Puede utilizarlos en llamadas a la API de datos.
Para obtener más información acerca de cómo utilizar Secrets Manager, consulte la Guía del usuario de
Secrets Manager de AWS.
Para comprender cómo administra Amazon Aurora Identity and Access Management, consulte Cómo
funciona Amazon Aurora con IAM.
Para obtener más información acerca de cómo crear una política de IAM, consulte Creación de políticas de
IAM en la Guía del usuario de IAM. Para obtener información sobre cómo añadir una política de IAM a un
usuario, consulte Adición y eliminación de permisos de identidad de IAM en la Guía del usuario de IAM.
Consola
Puede habilitar la API de datos con la consola de RDS cuando cree o modifique un clúster de base de
datos de Aurora Serverless. Cuando cree o modifique un clúster de base de datos de Aurora Serverless,
debe habilitar la API de datos en la sección Connectivity (Conectividad) de la consola de RDS.
En la siguiente captura de pantalla se muestra la Data API (API de datos) cuando se modifica un clúster de
base de datos de Aurora Serverless.
Para obtener instrucciones, consulte Creación de un clúster de base de datos de Aurora Serverless
v1 (p. 177) y Modificación de un clúster de base de datos de Aurora Serverless v1 (p. 188).
AWS CLI
Cuando crea o modifica un clúster de base de datos de Aurora Serverless mediante la ejecución de los
comandos de la CLI de AWS, la API de datos se habilita cuando especifica el valor -enable-http-
endpoint.
También puede especificar el valor -enable-http-endpoint con los siguientes comandos de la CLI de
AWS:
• create-db-cluster
201
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
• modify-db-cluster
Para Windows:
API de RDS
Cuando crea o modifica un clúster de base de datos de Aurora Serverless mediante las operaciones de
la API de Amazon RDS, puede habilitar la API de datos al establecer el valor EnableHttpEndpoint en
true.
También puede configurar el valor EnableHttpEndpoint con las siguientes operaciones de la API:
• CreateDBCluster
• ModifyDBCluster
Puede llamar a la API de datos con los puntos de enlace de la Amazon VPC. El uso de un punto de enlace
de la Amazon VPC mantiene el tráfico entre las aplicaciones de su Amazon VPC y la API de datos en la
red de AWS, sin usar direcciones IP públicas. Los puntos de enlace de la Amazon VPC pueden ayudarle
a cumplir los requisitos reglamentarios y de conformidad relacionados con la limitación de la conectividad
a Internet público. Por ejemplo, si utiliza un punto de enlace de la Amazon VPC, puede mantener el tráfico
entre una aplicación que se ejecuta en una instancia Amazon EC2 y la API de datos en las VPC donde se
contienen.
Después de crear el punto de enlace de la Amazon VPC, puede comenzar a usarlo sin realizar ningún
cambio de código o configuración en la aplicación.
1. Inicie sesión en la AWS Management Console y abra la consola de Amazon VPC en https://
console.aws.amazon.com/vpc/.
2. Elija Endpoints (Puntos de enlace) y, a continuación, elija Create Endpoint (Crear punto de enlace).
3. En la página Create Endpoint (Crear punto de conexión), en Service category (Categoría de servicio),
elija AWS services (Servicios de AWS). En Service Name (Nombre del servicio), elija rds-data.
202
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
Elija la VPC que contiene la aplicación que realiza llamadas a la API de datos.
5. En Subnets (Subredes), elija la subred para cada zona de disponibilidad (AZ) utilizada por el servicio
de AWS que ejecuta la aplicación.
Para crear un punto de enlace de la Amazon VPC, especifique el rango de direcciones IP privadas en
el que se podrá acceder al punto de enlace. Para ello, elija la subred para cada zona de disponibilidad.
Al hacerlo, se restringe el punto de enlace de la VPC al rango de direcciones IP privadas específico de
cada zona de disponibilidad y también se crea un punto de enlace de la Amazon VPC en cada zona
de disponibilidad.
6. En Enable Private DNS Name (Habilitar nombre de DNS privado), seleccione Enable for this endpoint
(Habilitar para este punto de enlace).
El DNS privado resuelve el nombre de host de DNS de la API de datos estándar (https://rds-
data.region.amazonaws.com) en las direcciones IP privadas asociadas con el nombre de host
de DNS específico del punto de enlace de la Amazon VPC. Como resultado, puede acceder al punto
203
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
de enlace de la VPC de la API de datos utilizando los SDK de AWS CLI o la AWS sin realizar ningún
cambio de código o configuración para actualizar la URL del punto de enlace de la API de datos.
7. En Security group (Grupo de seguridad), elija los grupos de seguridad que deban asociarse al punto
de enlace de la Amazon VPC.
Elija el grupo de seguridad que permita el acceso al servicio de AWS que ejecuta la aplicación. Por
ejemplo, si una instancia Amazon EC2 está ejecutando la aplicación, elija el grupo de seguridad que
permita el acceso a la instancia Amazon EC2. El grupo de seguridad le permite controlar el tráfico al
punto de enlace de la Amazon VPC desde los recursos de la VPC.
8. En Policy (Política), elija Full Access (Acceso total) para permitir que cualquier persona dentro de
la Amazon VPC acceda a la API de datos a través de este punto de enlace. O bien, elija Custom
(Personalizado) para especificar una política que limite el acceso.
Una vez creado el punto de enlace, elija el vínculo en la AWS Management Console para ver los detalles
del punto de enlace.
La ficha Details (Detalles) del punto de enlace muestra los nombres de host de DNS que se generaron al
crear el punto de enlace de la Amazon VPC.
204
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
Cuando utiliza un punto de enlace de la Amazon VPC en una llamada a la API de datos, todo el tráfico
entre la aplicación y la API de datos permanece en las Amazon VPC donde se contienen. Puede usar un
punto de enlace de la Amazon VPC para cualquier tipo de llamada a la API de datos. Para obtener más
información sobre la llamada a la API de datos, consulte Llamadas a la API de datos (p. 205).
La API de datos proporciona las operaciones siguientes para realizar instrucciones SQL.
ExecuteStatement
aws rds-data execute- Ejecuta una instrucción SQL en una base de datos.
statement
BatchExecuteStatement
aws rds-data batch- Ejecuta una instrucción SQL por lotes en una
execute-statement matriz de datos para operaciones de inserción
y actualización masivas. Puede ejecutar una
instrucción de lenguaje de manipulación de datos
(DML) con una matriz de conjuntos de parámetros.
Una instrucción SQL por lotes puede proporcionar
una mejora significativa del rendimiento en
comparación con las instrucciones de actualización
e inserción individuales.
Puede utilizar cualquiera de las operaciones para ejecutar sentencias SQL individuales o para ejecutar
transacciones. La API de datos proporciona las operaciones siguientes para las transacciones.
BeginTransaction
aws rds-data begin- Inicia una transacción SQL.
transaction
CommitTransaction
aws rds-data commit- Finaliza una transacción SQL y confirma los
transaction cambios.
RollbackTransaction
aws rds-data rollback- Ejecuta una restauración de una transacción.
transaction
Las operaciones para realizar instrucciones SQL y darle soporte a transacciones tienen los siguientes
parámetros de la API de datos y opciones de AWS CLI comunes. Algunas operaciones dan soporte a otros
parámetros u opciones.
205
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
DECIMAL STRING
CLOB STRING
Note
Puede especificar el tipo de datos LONG o STRING en la llamada de API de datos para LONG
los valores devueltos por la base de datos. Le recomendamos que lo haga para evitar perder
precisión para números extremadamente grandes, lo que puede suceder cuando trabaja con
JavaScript.
Ciertos tipos, como DECIMAL y TIME, requieren una sugerencia para que la API de datos pase String
valores a la base de datos como el tipo correcto. Para utilizar una sugerencia, incluya valores para
typeHint en los tipos de datos SqlParameter. Los posibles valores de typeHint son:
• DATE –: el valor del parámetro String correspondiente se envía como un objeto de tipo DATE a la base
de datos. El formato aceptado es YYYY-MM-DD.
• DECIMAL –: el valor del parámetro String correspondiente se envía como un objeto de tipo DECIMAL a
la base de datos.
• JSON –: el valor del parámetro String correspondiente se envía como un objeto de tipo JSON a la base
de datos.
• TIME –: el valor del parámetro String correspondiente se envía como un objeto de tipo TIME a la base
de datos. El formato aceptado es HH:MM:SS[.FFF].
206
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
• TIMESTAMP –: el valor del parámetro String correspondiente se envía como un objeto de tipo
TIMESTAMP a la base de datos. El formato aceptado es YYYY-MM-DD HH:MM:SS[.FFF].
• UUID –: el valor del parámetro String correspondiente se envía como un objeto de tipo UUID a la base
de datos.
Note
Para Amazon Aurora PostgreSQL, la API de datos siempre devuelve el tipo de datos de Aurora
PostgreSQL TIMESTAMPTZ en la zona horaria UTC.
En los siguientes ejemplos se utiliza la AWS CLI para la API de datos. Para obtener más información,
consulte la referencia de AWS CLI de la API de datos.
En cada ejemplo, sustituya el nombre de recurso de Amazon (ARN) del clúster de base de datos por el
ARN de su clúster de base de datos de Aurora Serverless. Reemplace también el ARN del secreto por el
ARN del secreto de Secrets Manager que permite obtener acceso al clúster de base de datos.
Note
Temas
• Inicio de una transacción SQL (p. 207)
• Ejecución de una instrucción SQL (p. 208)
• Ejecución de una instrucción SQL por lotes en una matriz de datos (p. 211)
• Confirmación de una transacción SQL (p. 212)
• Restauración de una transacción SQL (p. 213)
Puede iniciar una transacción SQL ejecutando el comando de la CLI aws rds-data begin-
transaction. La llamada devuelve un identificador de transacción.
Important
Además de las opciones comunes, especifique la opción --database, que proporciona el nombre de la
base de datos.
207
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
Para Windows:
{
"transactionId": "ABC1234567890xyz"
}
Puede ejecutar la instrucción SQL en una transacción especificando el identificador de transacción con la
opción --transaction-id. Puede iniciar una transacción ejecutando el comando de la CLI aws rds-
data begin-transaction. Puede finalizar y confirmar una transacción ejecutando el comando de la
CLI aws rds-data commit-transaction.
Important
Si no especifica la opción --transaction-id, los cambios que se generan a partir de la
llamada se confirman automáticamente.
• --sql (obligatorio): instrucción SQL que debe ejecutarse en el clúster de base de datos.
• --transaction-id (opcional): identificador de una transacción que se inició mediante el comando
begin-transaction de la CLI. Especifique el ID de la transacción en la que desea incluir la
instrucción SQL.
• --parameters (opcional): parámetros de la instrucción SQL.
• --include-result-metadata | --no-include-result-metadata (opcional): valor que indica
si deben incluirse o no metadatos en los resultados. El valor predeterminado es --no-include-
result-metadata.
• --database (opcional): el nombre de la base de datos.
• --continue-after-timeout | --no-continue-after-timeout (opcional): valor que indica
si se seguirá o no ejecutando la instrucción después de que se agote el tiempo de la llamada. El valor
predeterminado es --no-continue-after-timeout.
Para las instrucciones en lenguaje de definición de datos (DDL), recomendamos seguir ejecutando la
instrucción después de que se agote el tiempo de la llamada, a fin de evitar errores y la posibilidad de
que las estructuras de datos se dañen.
Por ejemplo, el siguiente comando de la CLI ejecuta una única instrucción SQL y omite los metadatos en
los resultados (valor predeterminado).
208
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
Para Windows:
{
"numberOfRecordsUpdated": 0,
"records": [
[
{
"longValue": 1
},
{
"stringValue": "ValueOne"
}
],
[
{
"longValue": 2
},
{
"stringValue": "ValueTwo"
}
],
[
{
"longValue": 3
},
{
"stringValue": "ValueThree"
}
]
]
}
El siguiente comando de la CLI ejecuta una única instrucción SQL en una transacción mediante la opción
--transaction-id.
Para Windows:
209
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
{
"numberOfRecordsUpdated": 1
}
El siguiente comando de la CLI ejecuta una única instrucción SQL con parámetros.
Para Windows:
{
"numberOfRecordsUpdated": 1
}
El siguiente comando de la CLI ejecuta una instrucción SQL de lenguaje de definición de datos (DDL). La
instrucción DDL cambia el nombre de la columna job por la columna role.
Important
Para las instrucciones DDL, recomendamos seguir ejecutando la instrucción después de que se
agote el tiempo de la llamada. Cuando se termina una instrucción DDL antes de que acabe de
ejecutarse, pueden generarse errores y es posible que las estructuras de datos se dañen. Para
seguir ejecutando una instrucción después de que se agote el tiempo de una llamada, especifique
la opción --continue-after-timeout.
Para Windows:
210
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
{
"generatedFields": [],
"numberOfRecordsUpdated": 0
}
Note
Los datos generatedFields no se admiten en Aurora PostgreSQL. Para obtener los valores de
los campos generados, utilice la cláusula RETURNING. Para obtener más información, consulte
Returning Data From Modified Rows en la documentación de PostgreSQL.
Puede ejecutar la instrucción SQL en una transacción especificando el identificador de transacción con la
opción --transaction-id. Puede iniciar una transacción ejecutando el comando de la CLI aws rds-
data begin-transaction. Puede finalizar y confirmar una transacción mediante el comando aws
rds-data commit-transaction de la CLI.
Important
• --sql (obligatorio): instrucción SQL que debe ejecutarse en el clúster de base de datos.
Tip
Para las sentencias compatibles con MySQL, no incluya un punto y coma al final del parámetro
--sql. Un punto y coma final puede causar un error de sintaxis.
• --transaction-id (opcional): identificador de una transacción que se inició mediante el comando
begin-transaction de la CLI. Especifique el ID de la transacción en la que desea incluir la
instrucción SQL.
• --parameter-set (opcional): los conjuntos de parámetros para la operación por lotes.
• --database (opcional): el nombre de la base de datos.
No existe un límite máximo fijo en el número de conjuntos de parámetros. Sin embargo, el tamaño
máximo de la solicitud HTTP enviada a través de la API de datos es de 4 MiB. Si la solicitud
supera este límite, la API de datos devuelve un error y no procesa la solicitud. Este límite de 4 MiB
incluye el tamaño de los encabezados HTTP y la notación JSON en la solicitud. Por lo tanto, el
número de conjuntos de parámetros que puede incluir depende de una combinación de factores,
como el tamaño de la sentencia SQL y el tamaño de cada conjunto de parámetros.
El límite de tamaño de respuesta es de 1 MiB. Si la llamada devuelve más de 1 MiB de datos de
respuesta, se terminará la llamada.
211
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
Por ejemplo, el siguiente comando de la CLI ejecuta una instrucción SQL por lotes en una matriz de datos
con un conjunto de parámetros.
Para Windows:
Note
Por ejemplo, el siguiente comando de la CLI finaliza una transacción SQL y confirma los cambios.
Para Windows:
212
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
--secret-arn "arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret" ^
--transaction-id "ABC1234567890xyz"
{
"transactionStatus": "Transaction Committed"
}
Por ejemplo, el comando de la AWS CLI siguiente revierte una transacción SQL.
Para Windows:
{
"transactionStatus": "Rollback Complete"
}
En los ejemplos siguientes se usa el AWS SDK para Python (Boto). Para obtener más información acerca
de Boto, consulte la documentación de AWS SDK para Python (Boto 3).
En cada ejemplo, sustituya el nombre de recurso de Amazon (ARN) del clúster de base de datos por el
ARN de su clúster de base de datos de Aurora Serverless. Reemplace también el ARN del secreto por el
ARN del secreto de Secrets Manager que permite obtener acceso al clúster de base de datos.
213
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
Temas
• Ejecución de una consulta SQL (p. 214)
• Ejecución de una instrucción SQL DML (p. 215)
• Ejecución de una transacción SQL (p. 215)
import boto3
rdsData = boto3.client('rds-data')
cluster_arn = 'arn:aws:rds:us-east-1:123456789012:cluster:mydbcluster'
secret_arn = 'arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret'
response1 = rdsData.execute_statement(
resourceArn = cluster_arn,
secretArn = secret_arn,
database = 'mydb',
sql = 'select * from employees limit 3')
print (response1['records'])
[
[
{
'longValue': 1
},
{
'stringValue': 'ROSALEZ'
},
{
'stringValue': 'ALEJANDRO'
},
{
'stringValue': '2016-02-15 04:34:33.0'
}
],
[
{
'longValue': 1
},
{
'stringValue': 'DOE'
},
{
'stringValue': 'JANE'
},
{
'stringValue': '2014-05-09 04:34:33.0'
}
],
[
{
'longValue': 1
},
{
'stringValue': 'STILES'
},
{
'stringValue': 'JOHN'
214
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
},
{
'stringValue': '2017-09-20 04:34:33.0'
}
]
]
import boto3
cluster_arn = 'arn:aws:rds:us-east-1:123456789012:cluster:mydbcluster'
secret_arn = 'arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret'
rdsData = boto3.client('rds-data')
response2 = rdsData.execute_statement(resourceArn=cluster_arn,
secretArn=secret_arn,
database='mydb',
sql='insert into employees(first_name, last_name)
VALUES(:firstname, :lastname)',
parameters = paramSet)
print (response2["numberOfRecordsUpdated"])
En el ejemplo siguiente se ejecuta una transacción SQL que inserta una fila en una tabla.
import boto3
rdsData = boto3.client('rds-data')
cluster_arn = 'arn:aws:rds:us-east-1:123456789012:cluster:mydbcluster'
secret_arn = 'arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret'
215
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
tr = rdsData.begin_transaction(
resourceArn = cluster_arn,
secretArn = secret_arn,
database = 'mydb')
response3 = rdsData.execute_statement(
resourceArn = cluster_arn,
secretArn = secret_arn,
database = 'mydb',
sql = 'insert into employees(first_name, last_name) values('XIULAN', 'WANG')',
transactionId = tr['transactionId'])
cr = rdsData.commit_transaction(
resourceArn = cluster_arn,
secretArn = secret_arn,
transactionId = tr['transactionId'])
cr['transactionStatus']
'Transaction Committed'
response3['numberOfRecordsUpdated']
1
Note
Si ejecuta una instrucción de lenguaje de definición de datos (DDL), recomendamos que siga
ejecutando la instrucción después de que se agote el tiempo de la llamada. Cuando se termina
una instrucción DDL antes de que acabe de ejecutarse, pueden generarse errores y es posible
que las estructuras de datos se dañen. Para seguir ejecutando una instrucción después de que se
agote el tiempo de una llamada, establezca el parámetro continueAfterTimeout en true.
En los ejemplos siguientes se usa el AWS SDK para Java. Para obtener más información, consulte AWS
SDK for Java Developer Guide.
En cada ejemplo, sustituya el nombre de recurso de Amazon (ARN) del clúster de base de datos por el
ARN de su clúster de base de datos de Aurora Serverless. Reemplace también el ARN del secreto por el
ARN del secreto de Secrets Manager que permite obtener acceso al clúster de base de datos.
Temas
• Ejecución de una consulta SQL (p. 216)
• Ejecución de una transacción SQL (p. 217)
• Ejecución de una operación SQL por lotes (p. 218)
package com.amazonaws.rdsdata.examples;
import com.amazonaws.services.rdsdata.AWSRDSData;
import com.amazonaws.services.rdsdata.AWSRDSDataClient;
import com.amazonaws.services.rdsdata.model.ExecuteStatementRequest;
import com.amazonaws.services.rdsdata.model.ExecuteStatementResult;
import com.amazonaws.services.rdsdata.model.Field;
216
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
import java.util.List;
Puede iniciar una transacción SQL, ejecutar una o varias instrucciones SQL y luego confirmar los cambios
con una aplicación Java.
Important
package com.amazonaws.rdsdata.examples;
import com.amazonaws.services.rdsdata.AWSRDSData;
import com.amazonaws.services.rdsdata.AWSRDSDataClient;
import com.amazonaws.services.rdsdata.model.BeginTransactionRequest;
import com.amazonaws.services.rdsdata.model.BeginTransactionResult;
import com.amazonaws.services.rdsdata.model.CommitTransactionRequest;
import com.amazonaws.services.rdsdata.model.ExecuteStatementRequest;
217
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
.withSecretArn(SECRET_ARN)
.withDatabase("mydb");
BeginTransactionResult beginTransactionResult =
rdsData.beginTransaction(beginTransactionRequest);
String transactionId = beginTransactionResult.getTransactionId();
Note
Si ejecuta una instrucción de lenguaje de definición de datos (DDL), recomendamos que siga
ejecutando la instrucción después de que se agote el tiempo de la llamada. Cuando se termina
una instrucción DDL antes de que acabe de ejecutarse, pueden generarse errores y es posible
que las estructuras de datos se dañen. Para seguir ejecutando una instrucción después de que se
agote el tiempo de una llamada, establezca el parámetro continueAfterTimeout en true.
package com.amazonaws.rdsdata.examples;
import com.amazonaws.services.rdsdata.AWSRDSData;
import com.amazonaws.services.rdsdata.AWSRDSDataClient;
import com.amazonaws.services.rdsdata.model.BatchExecuteStatementRequest;
import com.amazonaws.services.rdsdata.model.Field;
import com.amazonaws.services.rdsdata.model.SqlParameter;
import java.util.Arrays;
218
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
rdsData.batchExecuteStatement(request);
}
}
https://github.com/awslabs/rds-data-api-client-library-java
Puede crear la biblioteca de forma manual a partir de los archivos de origen, pero la práctica recomendada
es utilizar la biblioteca mediante la administración de dependencias de Apache Maven. Agregue la
siguiente dependencia a su archivo POM de Maven:
<dependency>
<groupId>software.amazon.rdsdata</groupId>
<artifactId>rds-data-api-client-library-java</artifactId>
<version>1.0.7</version>
</dependency>
La biblioteca de cliente le permite transferir los DTO como parámetros de entrada. En el siguiente ejemplo
se muestra cómo los DTO del cliente se asignan a los conjuntos de parámetros de entrada.
219
Amazon Aurora Guía del usuario de Aurora
Uso de la API de datos
En algunos casos, es más fácil trabajar con valores simples como parámetros de entrada. Puede hacerlo
mediante la siguiente sintaxis:
A continuación se muestra otro ejemplo que funciona con valores simples como parámetros de entrada.
La biblioteca de cliente proporciona un mapeo automático a los DTO cuando se devuelve un resultado. En
los siguientes ejemplos se muestra cómo se asigna el resultado a los DTO.
En muchos casos, el conjunto de resultados de la base de datos contiene un solo valor. Para simplificar la
recuperación de estos resultados, la biblioteca cliente ofrece la siguiente API:
Temas
• No se ha encontrado la transacción <transaction_ID> (p. 220)
• El paquete de la consulta es demasiado grande (p. 221)
• Límite de tamaño superado de respuesta de base de datos (p. 221)
• HttpEndpoint no está habilitado para el clúster <cluster_ID> (p. 221)
220
Amazon Aurora Guía del usuario de Aurora
Registro de llamadas a la API de datos con AWS CloudTrail
Una transacción caduca si ninguna llamada utiliza el ID de transacción en un plazo de tres minutos.
Para resolver el problema, asegúrese de que su llamada tenga un ID de transacción válido. Asegúrese
también de que cada transacción se realice antes de que transcurran tres minutos con respecto a la última.
Para obtener más información acerca de la ejecución de transacciones, consulte Llamadas a la API de
datos (p. 205).
Para solventar este problema, asegúrese de que cada fila de un conjunto de resultados sea de 64 KB o
menos.
Para resolver este problema, asegúrese de que las llamada a la API de datos devuelvan 1 MiB de datos
o menos. Si necesita devolver más de 1 MiB, puede usar varias llamadas ExecuteStatement con la
cláusula LIMIT en la consulta.
Para obtener más información acerca de la cláusula LIMIT, consulte SELECT Syntax en la documentación
de MySQL.
• La API de datos no está habilitada para el clúster de base de datos de Aurora Serverless. Para utilizar
la API de datos con un clúster de base de datos de Aurora Serverless, la API de datos debe estar
habilitada para el clúster de base de datos.
• Se cambió el nombre del clúster de base de datos después de que la API de datos se habilitara para él.
Si se cambió el nombre del clúster de base de datos después de que se habilitara la API de datos para el
clúster de base de datos, deshabilite la API de datos y, a continuación, habilítela de nuevo.
Para obtener más información sobre la habilitación de la API de datos, consulte Habilitar la API de
datos (p. 201).
221
Amazon Aurora Guía del usuario de Aurora
Registro de llamadas a la API de datos con AWS CloudTrail
eventos de la API de datos. Si no configura un registro de seguimiento, puede ver los eventos más
recientes en la consola de CloudTrail en el Event history (Historial de eventos). Los datos recopilados por
CloudTrail le permitirán determinar mucha información. Esta información incluye la solicitud que se hizo a
la API de datos, la dirección IP desde la que se realizó la solicitud, quién hizo la solicitud, cuándo se realizó
y otros detalles.
Para obtener más información acerca de CloudTrail, consulte la Guía del usuario de AWS CloudTrail.
Para mantener un registro continuo de los eventos de su cuenta de AWS, incluidos los eventos de la
API de datos, cree un registro de seguimiento. Un registro de seguimiento permite a CloudTrail enviar
archivos de registro a un bucket de Amazon S3. De forma predeterminada, cuando se crea un registro
de seguimiento en la consola, el registro de seguimiento se aplica a todas las regiones de AWS. El
seguimiento registra los eventos de todas las regiones de AWS en la partición de AWS y envía los archivos
de registro al bucket de Amazon S3 especificado. También es posible configurar otros servicios de AWS
para analizar en profundidad y actuar en función de los datos de eventos recopilados en los registros de
CloudTrail. Para obtener más información, consulte los siguientes temas en la Guía del usuario de AWS
CloudTrail:
CloudTrail registra todas las operaciones de la API de datos, las cuales quedan documentadas en la
referencia de la API de servicio de datos de Amazon RDS. Por ejemplo, las llamadas a las operaciones
BatchExecuteStatement, BeginTransaction, CommitTransaction y ExecuteStatement
generan entradas en los archivos de registro de CloudTrail.
Cada entrada de registro o evento contiene información acerca de quién generó la solicitud. La información
de identidad del usuario le ayuda a determinar lo siguiente:
222
Amazon Aurora Guía del usuario de Aurora
Registro de llamadas a la API de datos con AWS CloudTrail
En el ejemplo que sigue se muestra una entrada de registro de CloudTrail que ilustra la operación
ExecuteStatement.
{
"eventVersion": "1.05",
"userIdentity": {
"type": "IAMUser",
"principalId": "AKIAIOSFODNN7EXAMPLE",
"arn": "arn:aws:iam::123456789012:user/johndoe",
"accountId": "123456789012",
"accessKeyId": "AKIAI44QH8DHBEXAMPLE",
"userName": "johndoe"
},
"eventTime": "2019-12-18T00:49:34Z",
"eventSource": "rdsdata.amazonaws.com",
"eventName": "ExecuteStatement",
"awsRegion": "us-east-1",
"sourceIPAddress": "192.0.2.0",
"userAgent": "aws-cli/1.16.102 Python/3.7.2 Windows/10 botocore/1.12.92",
"requestParameters": {
"continueAfterTimeout": false,
"database": "**********",
"includeResultMetadata": false,
"parameters": [],
"resourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:my-database-1",
"schema": "**********",
"secretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:dataapisecret-
ABC123",
"sql": "**********"
},
"responseElements": null,
"requestID": "6ba9a36e-b3aa-4ca8-9a2e-15a9eada988e",
"eventID": "a2c7a357-ee8e-4755-a0d0-aed11ed4253a",
"eventType": "AwsApiCall",
"recipientAccountId": "123456789012"
}
Sin embargo, dado que la API de datos puede generar un gran número de eventos, puede excluir eventos
de la API de datos de un seguimiento de CloudTrail. Esta configuración por seguimiento excluye todos los
eventos de la API de datos. No puede excluir eventos específicos de la API de datos.
• En la consola de CloudTrail, elija la opción de la configuración Exclude Amazon RDS Data API events
(Excluir eventos de la API de datos de Amazon RDS) cuando cree un seguimiento o actualice un
seguimiento.
• En la API de CloudTrail, utilice la operación PutEventSelectors. Añada el atributo
ExcludeManagementEventSources a sus selectores de eventos con un valor de
rdsdata.amazonaws.com. Para obtener más información, consulte Crear, actualizar y administrar
seguimientos con AWS Command Line Interface en la Guía del usuario de AWS CloudTrail.
223
Amazon Aurora Guía del usuario de Aurora
Uso del editor de consultas
Warning
Puede deshabilitar esta exclusión en cualquier momento cambiando la configuración de la consola o los
selectores de eventos de un seguimiento. A continuación, el seguimiento comenzará a registrar eventos
de la API de datos. Sin embargo, no puede recuperar los eventos de la API de datos que se produjeran
mientras la exclusión estaba en vigor.
Para obtener más información, consulte Registro de eventos de administración para seguimiento en la
Guía del usuario de AWS CloudTrail.
El editor de consultas requiere un clúster de base de datos de Aurora Serverless con la API de
datos habilitada. Para obtener más información acerca de cómo crear un clúster de base de datos
de Aurora Serverless con la API de datos habilitada, consulte Uso de la API de datos para Aurora
Serverless (p. 196).
El editor de consultas está disponible actualmente para Aurora Serverless en las siguientes AWS regiones:
• US East (Ohio)
• EE.UU. Este (Norte de Virginia)
• EE.UU. Oeste (Norte de California)
• US West (Oregon)
• Asia Pacific (Mumbai)
• Asia Pacific (Seoul)
• Asia Pacífico (Singapur)
• Asia Pacífico (Sídney)
• Asia Pacífico (Tokio)
• Canada (Central)
• Europe (Frankfurt)
• Europe (Ireland)
224
Amazon Aurora Guía del usuario de Aurora
Uso del editor de consultas
• Europe (London)
• Europe (Paris)
También puede crear una política de IAM que conceda acceso al editor de consultas. Tras crear la política,
añádala a cada usuario que necesite acceder al editor de consultas.
La siguiente política proporciona los permisos mínimos necesarios para que un usuario acceda al editor de
consultas.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "QueryEditor0",
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue",
"secretsmanager:PutResourcePolicy",
"secretsmanager:PutSecretValue",
"secretsmanager:DeleteSecret",
"secretsmanager:DescribeSecret",
"secretsmanager:TagResource"
],
"Resource": "arn:aws:secretsmanager:*:*:secret:rds-db-credentials/*"
},
{
"Sid": "QueryEditor1",
"Effect": "Allow",
"Action": [
"secretsmanager:GetRandomPassword",
"tag:GetResources",
"secretsmanager:CreateSecret",
"secretsmanager:ListSecrets",
"dbqms:CreateFavoriteQuery",
"dbqms:DescribeFavoriteQueries",
"dbqms:UpdateFavoriteQuery",
"dbqms:DeleteFavoriteQueries",
"dbqms:GetQueryString",
"dbqms:CreateQueryHistory",
"dbqms:UpdateQueryHistory",
"dbqms:DeleteQueryHistory",
"dbqms:DescribeQueryHistory",
"rds-data:BatchExecuteStatement",
"rds-data:BeginTransaction",
"rds-data:CommitTransaction",
"rds-data:ExecuteStatement",
"rds-data:RollbackTransaction"
],
"Resource": "*"
}
]
}
225
Amazon Aurora Guía del usuario de Aurora
Uso del editor de consultas
Para obtener más información acerca de cómo crear una política de IAM, consulte Creación de políticas de
IAM en la Guía del usuario de AWS Identity and Access Management.
Para obtener información sobre cómo agregar una política de IAM a un usuario, consulte Adición
y eliminación de permisos de identidad de IAM en la Guía del usuario de AWS Identity and Access
Management.
226
Amazon Aurora Guía del usuario de Aurora
Uso del editor de consultas
a. En Database instance or cluster (Clúster o instancia de base de datos), elija el clúster de base de
datos de Aurora Serverless en el que desea ejecutar consultas SQL.
b. En Database username (Nombre de usuario de base de datos), seleccione el nombre de usuario
del usuario de la base de datos al que conectarse o elija Add new database credentials (Añadir
nuevas credenciales de base de datos). Si elige Add new database credentials (Añadir nuevas
credenciales de base de datos), especifique el nombre de usuario de las nuevas credenciales de
base de datos en Enter database username (Introducir nombre de usuario de base de datos).
c. En Enter database password (Introducir contraseña de base de datos), escriba la contraseña para
el usuario de la base de datos que ha elegido.
d. En la última casilla, introduzca el nombre de la base de datos o esquema que quiera usar para el
clúster de base de datos de Aurora.
e. Seleccione Connect to database (Conectar a base de datos).
Note
227
Amazon Aurora Guía del usuario de Aurora
Uso del editor de consultas
Cada instrucción SQL puede confirmarse automáticamente, o bien puede ejecutar instrucciones SQL
en un script, como parte de una transacción. Para controlar este comportamiento, seleccione el icono
de engranaje que se encuentra en la ventana de consulta.
228
Amazon Aurora Guía del usuario de Aurora
Uso del editor de consultas
Después de elegir las opciones en la ventana Query Editor Settings (Configuración del editor de
consultas), elija Save (Guardar).
8. Elija Run (Ejecutar) o pulse Ctrl+Intro, y el editor de consultas mostrará los resultados de su consulta.
Tras ejecutar la consulta, guárdela en Saved queries (Consultas guardadas) seleccionando Save
(Guardar).
Exporte los resultados de la consulta al formato de hoja de cálculo seleccionando Export to csv
(Exportar a csv).
Puede encontrar, editar y volver a ejecutar consultas anteriores. Para ello, seleccione la pestaña Recent
(Reciente) o la pestaña Saved queries (Consultas guardadas), seleccione el texto de la consulta y después
elija Run (Ejecutar).
Para cambiar la base de datos, elija Change database (Cambiar base de datos).
229
Amazon Aurora Guía del usuario de Aurora
Uso del editor de consultas
Temas
• CreateAvoriteQuery (p. 230)
• CreateQueryHistory (p. 230)
• CreateTab (p. 230)
• DeleteFavoritequeries (p. 230)
• DeletEqueryHistory (p. 230)
• Deletetab (p. 230)
• DescribeFavoritequeries (p. 230)
• DescribeQueryHistory (p. 230)
• DescribeABS (p. 230)
• GetQueryString (p. 230)
• UpdateFavoriteQuery (p. 231)
• UpdateQueryHistory (p. 231)
• UpdateTab (p. 231)
CreateAvoriteQuery
Guarde una nueva consulta favorita. Cada IAM usuario puede crear hasta 1000 consultas guardadas. Este
límite está sujeto a cambios en el futuro.
CreateQueryHistory
Guarde una nueva entrada del historial de consultas.
CreateTab
Guarde una nueva pestaña de consulta. Cada IAM usuario puede crear hasta 10 pestañas de consulta.
DeleteFavoritequeries
Elimine una o más consultas guardadas.
DeletEqueryHistory
Elimine las entradas del historial de consultas.
Deletetab
Elimine las entradas de la ficha de consulta.
DescribeFavoritequeries
Lista de las consultas guardadas creadas por un IAM usuario en una cuenta determinada.
DescribeQueryHistory
Lista de las entradas del historial de consultas.
DescribeABS
Lista de las pestañas de consulta creadas por un IAM usuario en una cuenta determinada.
GetQueryString
Recupere el texto completo de la consulta de un ID de consulta.
230
Amazon Aurora Guía del usuario de Aurora
Uso del editor de consultas
UpdateFavoriteQuery
Actualice la cadena de consulta, la descripción, el nombre o la fecha de caducidad.
UpdateQueryHistory
Actualice el estado del historial de consultas.
UpdateTab
Actualice el nombre de la ficha de consulta y la cadena de consulta.
231
Amazon Aurora Guía del usuario de Aurora
Uso de Aurora Serverless v2 (versión preliminar)
Monitorear y ajustar continuamente la capacidad de varias bases de datos para mantenerse dentro del
presupuesto puede ser una tarea abrumadora. No desea pagar por más recursos informáticos de los
que utiliza. Pero tampoco puede permitirse dedicar mucho tiempo a reasignar recursos para lograr una
mejor relación precio-rendimiento. Para los entornos de bases de datos distribuidas con cargas de trabajo
impredecibles y varios inquilinos, que pueden tener amplias variaciones en el consumo, esta tarea es
especialmente desafiante.
Si utiliza Amazon Aurora Serverless v2 (Amazon Aurora Serverless versión 2), ahora en versión preliminar,
puede obtener un rendimiento de costo óptimo para los clústeres de base de datos. La capacidad se ajusta
de forma automática en función de la demanda de la aplicación y solo se le cobrará por los recursos que
consuman los clústeres de base de datos.
Temas
• Cómo funciona Aurora Serverless v2 (previsualización) (p. 232)
• Limitaciones de Aurora Serverless v2 (previsualización) (p. 235)
• Creación de un clúster de base de datos de Aurora Serverless v2 (previsualización) (p. 236)
• Creación de una instantánea de un clúster de base de datos de Aurora Serverless v2
(previsualización) (p. 240)
• Modificación de un clúster de base de datos de Aurora Serverless v2 (previsualización) (p. 241)
• Eliminación de un clúster de base de datos de Aurora Serverless v2 (previsualización) (p. 244)
• Restauración de un clúster de base de datos de Aurora Serverless v2 (previsualización) en un punto
en el tiempo (p. 245)
Amazon Aurora Serverless v2 con la compatibilidad de MySQL está en una versión de previsualización
sujeta a cambios. Aurora Serverless v2 (previsualización) no está cubierto por el Acuerdo de nivel de
servicios (SLA) de Amazon RDS. No utilice Aurora Serverless v2 (previsualización) para bases de datos
de producción. Todos los recursos y datos se eliminarán cuando finalice la previsualización.
Amazon Aurora Serverless v2 (previsualización) se diseñó desde cero para admitir clústeres de base
de datos sin servidor que son escalables instantáneamente. La arquitectura de Aurora Serverless v2
(previsualización) se desarrolló sobre una base ligera diseñada para proporcionar la seguridad y el
aislamiento necesarios en los entornos de nube sin servidor de varios inquilinos. Esta base tiene muy poca
sobrecarga, por lo que puede responder con rapidez. También es lo suficientemente potente como para
satisfacer los incrementos drásticos en la demanda de procesamiento.
232
Amazon Aurora Guía del usuario de Aurora
Cómo funciona Aurora Serverless v2 (previsualización)
• Unidades de capacidad mínima de Aurora: el número menor de ACU al que puede escalar el clúster de
base de datos de Aurora Serverless v2 (previsualización).
• Unidades de capacidad máxima de Aurora: el número mayor de ACU hasta el que puede escalar el
clúster de base de datos de Aurora Serverless v2 (previsualización).
Cada ACU proporciona 2 GiB (gibibytes) de memoria (RAM) y procesador virtual asociado (vCPU) con
redes.
A diferencia de Aurora Serverless v1, que escala duplicando las ACU cada vez que el clúster de base
de datos alcanza un límite, Aurora Serverless v2 (previsualización) puede aumentar las ACU de forma
progresiva. Cuando la demanda de carga de trabajo comienza a alcanzar la capacidad de recursos actual,
el clúster de base de datos de Aurora Serverless v2 (previsualización) escala el número de ACU. El clúster
escala las ACU en función de los incrementos necesarios para proporcionar el mejor rendimiento de los
recursos consumidos.
1. Pedidos procesados por segundo: carga de procesamiento a medida que los clientes responden a la
“venta flash” de un producto.– La línea muestra la cantidad de pedidos que se procesan cada segundo.
El procesamiento de pedidos implica varias acciones de base de datos. Estas incluyen la comprobación
del inventario, el procesamiento del nuevo pedido, la creación de una orden de envío, el ajuste de la
cantidad de inventario y el inicio del envío mediante la notificación al sistema de almacén.
2. Unidades de capacidad de Aurora (ACU): memoria y CPU aplicadas con el tiempo a la demanda
ascendente y descendente.– La línea muestra el aumento de las ACU aplicadas a la carga de trabajo
(línea 1) cuando los pedidos alcanzan su punto más alto, alrededor de 275 por segundo.
Una ACU se compone de memoria (RAM) y procesador (CPU). Los aumentos en la utilización de CPU
responden inmediatamente a las demandas de cargas de trabajo. Cuando la demanda comienza a
disminuir desde el pico, la reducción desde la cantidad de ACU máxima se produce de forma más lenta,
ya que la memoria se libera de manera más gradual que la CPU. Esta es una elección de arquitectura
233
Amazon Aurora Guía del usuario de Aurora
Cómo funciona Aurora Serverless v2 (previsualización)
deliberada. Aurora Serverless v2 (previsualización) libera la memoria más gradualmente a medida que
disminuye la demanda para evitar afectar la carga de trabajo.
Aurora Serverless v2 (previsualización) también carga los datos de registro de Aurora MySQL referidos
a los tipos de registros que usted especifique en CloudWatch. Puede elegir los registros para cargar
cambiando los valores de varios parámetros de clúster de base de datos relacionados con los registros
para su clúster de base de datos de Aurora Serverless v2 (previsualización). Igual que con cualquier tipo
de clúster de base de datos de Aurora, no se puede modificar el grupo de parámetros de clúster de base
de datos predeterminado. En su lugar, puede crear su propio grupo de parámetros de clúster de base de
datos basado en un parámetro predeterminado para su clúster de base de datos y tipo de motor. Para
Aurora Serverless v2 (previsualización) y Aurora Serverless v1, solo se utiliza un grupo de parámetros de
clúster de base de datos.
Le recomendamos que cree su grupo de parámetros de clúster de base de datos personalizado antes de
crear el clúster de base de datos de Aurora Serverless v2 (previsualización), de modo que esté disponible
para elegirlo cuando cree una base de datos en la consola.
También puede modificar el clúster de base de datos de Aurora Serverless v2 (previsualización) más
adelante para que utilice su grupo de parámetros de clúster de base de datos personalizado. Para
obtener más información, consulte Modificación del clúster de base de datos para que utilice un grupo de
parámetros de clúster de base de datos personalizado (p. 243).
Para obtener más información, consulte Uso de auditorías avanzadas con un clúster de base de datos de
Amazon Aurora MySQL (p. 985).
Después de aplicar el grupo de parámetros de clúster de base de datos modificado al clúster de base de
datos de Aurora Serverless v2 (previsualización), podrá ver los registros en CloudWatch.
Para ver los registros del clúster de base de datos de Aurora Serverless v2 (previsualización)
/aws/rds/cluster/cluster-name/error
234
Amazon Aurora Guía del usuario de Aurora
Limitaciones de Aurora Serverless v2 (previsualización)
Para obtener más información acerca de cómo ver los detalles de los registros, consulte Monitoreo de
eventos de registro en Amazon CloudWatch (p. 1102).
Se recomienda configurar un panel de CloudWatch para monitorear la capacidad del clúster de base
de datos de Aurora Serverless v2 (previsualización) mediante esta nueva métrica. Para obtener
información acerca de cómo hacerlo, consulte Creación de paneles con CloudWatch. Puede comparar
ServerlessDatabaseCapacity con DatabaseUsedMemory, DatabaseConnections y
DMLThroughput para evaluar cómo responde su clúster de base de datos durante las operaciones.
Para obtener más información acerca del uso de Amazon CloudWatch con Amazon Aurora, consulte
Publicación de registros de Amazon Aurora MySQL en Amazon CloudWatch Logs (p. 1099).
• Puede trabajar con Amazon Aurora Serverless v2 (previsualización) solo en el entorno de versión
preliminar. Está limitado a trabajar con Aurora Serverless v2 (previsualización) en este entorno. Para
utilizar cualquiera de sus otros servicios de AWS existentes, como Amazon EC2 y Amazon CloudWatch,
acceda a ellos a través de la AWS Management Console en la región EE. UU. Este (N. Virginia).
• Solo puede trabajar con Amazon Aurora Serverless v2 (previsualización) a través de la consola. Los
comandos de AWS CLI y las operaciones de la API de Amazon RDS para crear los clústeres de base de
datos de Aurora Serverless v2 y trabajar con ellos no están disponibles actualmente.
• Solo puede crear clústeres de base de datos de Aurora MySQL 5.7 (2.07) con Aurora Serverless v2
(previsualización). Aurora PostgreSQL no está disponible actualmente para Aurora Serverless v2
(previsualización).
• Los clústeres de Aurora Serverless v2 (previsualización) se pueden crear en las zonas de disponibilidad
solo con estos ZoneID:
235
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
de Aurora Serverless v2 (previsualización)
• use1-az2
• use1-az4
• use1-az6
• Los clústeres de base de datos de Aurora Serverless v2 (previsualización) tienen una capacidad
predeterminada que oscila entre un mínimo de 4 y un máximo 32 unidades de capacidad (ACU) de
Aurora. Cada ACU proporciona el equivalente a aproximadamente 2 gibibytes (GiB) de RAM y la CPU y
las redes asociadas.
• No se puede asignar una dirección IP pública a un clúster de base de datos de Aurora Serverless v2
(previsualización).
• Debe crear el clúster de base de datos de Aurora Serverless v2 (previsualización) en una nube virtual
privada (VPC) basada en el servicio de Amazon VPC. Solo puede acceder al clúster de base de datos
de Aurora Serverless v2 (previsualización) desde una VPC basada en Amazon VPC.
• Solo se puede acceder a las bases de datos de Aurora Serverless v2 (previsualización) a través del
puerto 3306. Aurora Serverless v2 (previsualización) asigna el puerto 3306 a cualquier instancia de base
de datos de Aurora MySQL que cree. No se puede cambiar el número de puerto.
• Aurora Serverless v2 (previsualización) no admite las siguientes características de Aurora:
• Amazon RDS Performance Insights
• Amazon RDS Proxy
• Búsqueda de datos anteriores de Aurora
• Clonación de Aurora
• Bases de datos globales de Aurora
• Clústeres multimaestros Aurora.
• Réplicas de Aurora
• AWS Identity and Access ManagementAutenticación de base de datos de (IAM)
• API de datos para Aurora Serverless v1
• Exportación de instantáneas creadas a partir de clústeres de base de datos de Aurora Serverless v2
(previsualización) a buckets de Amazon S3
• Importación de datos desde Amazon S3 hacia tablas de clúster de base de datos de Aurora Serverless
v2 (previsualización)
• Invocación de funciones de AWS Lambda desde la base de datos de Aurora Serverless v2
(previsualización)
• Editor de consultas para Aurora Serverless v1
• Restauración de instantáneas de clústeres de base de datos aprovisionados de Aurora
Para trabajar con Amazon Aurora Serverless v2 (previsualización), debe solicitar acceso. Para obtener
más información, consulte la página de Aurora Serverless v2 (previsualización).
Una vez aprobado el acceso, podrá iniciar sesión en la versión preliminar mediante la consola.
Actualmente, puede crear un clúster de base de datos de Amazon Aurora Serverless v2 (previsualización)
únicamente con la consola.
236
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
de Aurora Serverless v2 (previsualización)
4. Para Capacity settings (Configuración de capacidad), puede aceptar el rango predeterminado (4 ACU
como mínimo a 32 ACU como máximo). O puede elegir otros valores para las unidades de capacidad
mínima y máxima.
237
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
de Aurora Serverless v2 (previsualización)
Para obtener más información acerca de las unidades de capacidad de Aurora Serverless v2
(previsualización), consulte Escalado automático instantáneo (p. 233).
5. En Conectivity (Conectividad), elija la nube virtual privada (VPC) basada en Amazon VPC que
defina el entorno de red virtual para esta instancia de base de datos. Puede elegir los valores
predeterminados para simplificar esta tarea.
Para utilizar su propia VPC, le recomendamos que la cree junto con las subredes relacionadas, el
grupo de subredes y el grupo de seguridad con anticipación. Si hace esto, estos estarán disponibles
para que los pueda elegir cuando cree su clúster de base de datos de Aurora Serverless v2
(previsualización).
Para obtener información sobre cómo hacerlo, consulte Cómo crear una VPC para su uso con
Amazon Aurora.
238
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de base de datos
de Aurora Serverless v2 (previsualización)
El volumen del clúster de Aurora Serverless v2 (previsualización) siempre está cifrado. No puede
deshabilitar el cifrado pero puede elegir su propia clave de cifrado. Para obtener más información,
consulte Cifrado de recursos de Amazon Aurora.
7. Acepte el acuerdo de servicio limitado.
8. Para crear el clúster de base de datos de Aurora Serverless v2 (previsualización), elija Create
database (Crear base de datos).
Puede conectarse a su clúster de base de datos de Aurora Serverless v2 (previsualización) con su punto
de enlace. El punto de enlace aparece en la pestaña Connectivity & security (Conectividad y seguridad) de
la consola, en Endpoint & Port (Punto de enlace y puerto). Para obtener más información acerca de cómo
conectarse a los clústeres de base de datos de Aurora, consulte Conexión a un clúster de base de datos
Amazon Aurora (p. 307).
Sin embargo, no se puede acceder a las configuraciones de Amazon VPC directamente desde la consola
de la versión preliminar.
239
Amazon Aurora Guía del usuario de Aurora
Creación de una instantánea de un clúster de base
de datos de Aurora Serverless v2 (previsualización)
3. En Security Group (Grupo de seguridad), elija el grupo de seguridad asociado al clúster de base de
datos de Aurora Serverless v2 (previsualización).
4. Modifique los valores de Inbound rules (Reglas de entrada) y Outbound rules (Reglas de salida),
según sea necesario.
Para obtener más información acerca de cómo configurar la VPC para Aurora, consulte Amazon Virtual
Private Cloud VPC y Amazon Aurora.
Amazon Aurora Serverless v2 con la compatibilidad de MySQL está en una versión de previsualización
sujeta a cambios. Aurora Serverless v2 (previsualización) no está cubierto por el Acuerdo de nivel de
servicios (SLA) de Amazon RDS. No utilice Aurora Serverless v2 (previsualización) para bases de datos
de producción. Todos los recursos y datos se eliminarán cuando finalice la previsualización.
Actualmente, puede crear la instantánea del clúster de base de datos de Aurora Serverless v2
(previsualización) solo con la consola.
240
Amazon Aurora Guía del usuario de Aurora
Modificación de un clúster de base de datos
de Aurora Serverless v2 (previsualización)
Puede cambiar los ajustes de configuración del clúster de base de datos de Aurora Serverless v2
(previsualización) en cualquier momento, por ejemplo, para hacer lo siguiente:
La única opción de configuración del clúster de base de datos de Aurora Serverless v2 (previsualización)
que no puede cambiar es la Virtual Private Cloud (VPC) que eligió al crearla.
Utilice el procedimiento siguiente para modificar la configuración del clúster de base de datos de Aurora
Serverless v2 (previsualización) mediante la consola.
241
Amazon Aurora Guía del usuario de Aurora
Modificación de un clúster de base de datos
de Aurora Serverless v2 (previsualización)
Aparecerán las opciones de configuración del clúster de base de datos de Aurora Serverless v2
(previsualización). Ahora puede cambiar el nombre, la contraseña, las credenciales y otra configuración del
clúster.
242
Amazon Aurora Guía del usuario de Aurora
Modificación de un clúster de base de datos
de Aurora Serverless v2 (previsualización)
6. Elija Modify cluster (Modificar clúster) para aceptar el resumen de las modificaciones. También puede
elegir Back (Atrás) para modificar los cambios o Cancel (Cancelar) para descartar los cambios.
Para obtener más información acerca de las ACU y el escalado de Aurora Serverless v2 (previsualización),
consulte Escalado automático instantáneo (p. 233).
Antes de poder utilizar el procedimiento siguiente, el grupo de parámetros de clúster de base de datos
personalizado ya debe existir. Para obtener información acerca de cómo crear un grupo de parámetros de
clúster de base de datos personalizado, consulte Grupos de parámetros de Aurora Serverless v1 (p. 171).
Para modificar el clúster de base de datos de Aurora Serverless v2 (previsualización) para que
utilice un grupo de parámetros de clúster de base de datos personalizado
Para obtener más información acerca de la creación de grupos de parámetros de clúster de base de datos
personalizados, consulte Grupos de parámetros de Aurora Serverless v1 (p. 171).
243
Amazon Aurora Guía del usuario de Aurora
Eliminación de un clúster de base de datos
de Aurora Serverless v2 (previsualización)
Amazon Aurora Serverless v2 con la compatibilidad de MySQL está en una versión de previsualización
sujeta a cambios. Aurora Serverless v2 (previsualización) no está cubierto por el Acuerdo de nivel de
servicios (SLA) de Amazon RDS. No utilice Aurora Serverless v2 (previsualización) para bases de datos
de producción. Todos los recursos y datos se eliminarán cuando finalice la previsualización.
Cuando crea clústeres de base de datos de Aurora Serverless v2 (previsualización), puede elegir
desactivar la protección contra eliminación o mantenerla tal como está. Si el clúster de base de datos de
Aurora Serverless v2 (previsualización) que desea eliminar se creó con protección contra eliminación,
asegúrese de modificar el clúster de base de datos para quitar la protección contra eliminación o no podrá
eliminarlo. De lo contrario, no podrá eliminarlo. Para saber cómo hacerlo, consulte Modificación de un
clúster de base de datos de Aurora Serverless v2 (previsualización) (p. 241).
Actualmente, solo puede eliminar un clúster de base de datos de Amazon Aurora Serverless v2
(previsualización) con la consola.
4. En Actions (Acciones), elija Delete (Eliminar). Se le pedirá que confirme que desea eliminar el clúster
de base de datos de Aurora Serverless v2 (previsualización).
5. Le recomendamos que mantenga las opciones preseleccionadas:
Si elige No para Create final snapshot? (¿Crear instantánea final?), no podrá restaurar el clúster de
base de datos mediante instantáneas ni restauración puntual en el tiempo.
244
Amazon Aurora Guía del usuario de Aurora
Restauración de un clúster de base de datos
de Aurora Serverless v2 (previsualización)
Amazon Aurora Serverless v2 con la compatibilidad de MySQL está en una versión de previsualización
sujeta a cambios. Aurora Serverless v2 (previsualización) no está cubierto por el Acuerdo de nivel de
servicios (SLA) de Amazon RDS. No utilice Aurora Serverless v2 (previsualización) para bases de datos
de producción. Todos los recursos y datos se eliminarán cuando finalice la previsualización.
Puede crear un nuevo clúster de base de datos de Aurora Serverless v2 (previsualización) restaurando
un clúster de base de datos existente en un punto específico en el tiempo. También puede utilizar este
enfoque para recuperarse de un error al volver a crear el clúster de base de datos de Aurora Serverless v2
(previsualización) a partir de sus archivos de registro más recientes.
Para restaurar el clúster de base de datos en un punto específico en el tiempo, Aurora crea un nuevo
clúster de base de datos. A continuación, aplica todas las transacciones de los registros del clúster de
base de datos existente al nuevo clúster. Dependiendo de la cantidad y el alcance de las transacciones
contenidas en los registros, esta operación puede tardar varias horas en completarse. Para obtener más
información sobre la recuperación a un momento dado, consulte Restauración de un clúster de base de
dato a un momento indicado (p. 588).
Actualmente, puede restaurar el clúster de base de datos de Aurora Serverless v2 (previsualización) solo
con la consola.
245
Amazon Aurora Guía del usuario de Aurora
Restauración de un clúster de base de datos
de Aurora Serverless v2 (previsualización)
5. Elija Latest restorable time (Última hora restaurable). O bien, elija Custom (Personalizar) y especifique
una fecha y hora anteriores a la última hora restaurable.
6. Para las Instance specifications (Especificaciones de la instancia), mantenga seleccionado Aurora
MySQL para el motor de base de datos.
7. Para DB cluster identifier (Identificador de clúster de base de datos), escriba el nombre del clúster de
base de datos recién restaurado.
8. En la sección Capacity settings (Configuración de capacidad), elija los valores mínimo y máximo que
desee para el clúster de base de datos de Aurora Serverless v2 (previsualización) restaurado.
246
Amazon Aurora Guía del usuario de Aurora
Uso de bases de datos globales de Aurora
Temas
• Información general sobre las bases de datos globales de Amazon Aurora (p. 247)
• Ventajas de las bases de datos globales de Amazon Aurora (p. 248)
• Limitaciones de las bases de datos globales de Amazon Aurora (p. 248)
• Introducción a bases de datos globales de Amazon Aurora (p. 250)
• Administración de una base de datos global de Amazon Aurora (p. 272)
• Conexión a una base de datos global de Amazon Aurora (p. 278)
• Uso del reenvío de escritura en una base de datos Amazon Aurora global (p. 279)
• Recuperación de desastres y base de datos globales de Amazon Aurora (p. 291)
• Monitoreo de una base de datos global de Amazon Aurora (p. 301)
• Uso de las bases de datos globales de Amazon Aurora con otros servicios de AWS (p. 305)
Una base de datos global de Aurora consta de una región principal de AWS donde se dominan los datos y
hasta cinco regiones secundarias de AWS de solo lectura. Ejecute operaciones de escritura directamente
en el clúster de base de datos primaria en la región de AWS principal. Aurora replica los datos en el
regiones de AWS que utilizan infraestructura dedicada, con latencia típicamente inferior a un segundo.
En el siguiente diagrama, puede encontrar un ejemplo de base de datos global de Aurora que abarca dos
regiones de AWS.
Puede escalar el clúster secundario independientemente añadiendo una o varias Aurora instancias de
base de datos (instancias de base de datos de Aurora de solo lectura) para servir a cargas de trabajo de
solo lectura.
Solo el clúster primario realiza operaciones de escritura. Los clientes que realizan operaciones de escritura
se conectan al punto de enlace del clúster de base de datos del clúster primario. Como se muestra en el
diagrama, la base de datos global de Aurora utiliza el volumen de almacenamiento de clúster y no el motor
247
Amazon Aurora Guía del usuario de Aurora
Ventajas de las bases de datos globales de Amazon Aurora
de base de datos para la reproducción. Para obtener más información, consulte Información general del
almacenamiento de Aurora (p. 68).
Las bases de datos globales de Aurora están diseñadas para aplicaciones con una huella mundial. Los
clústeres de base de datos secundarios de solo lectura (Regiones AWS) permiten admitir operaciones de
lectura más cercanas a los usuarios de aplicaciones. Con características como el reenvío de escritura,
también puede configurar una base de datos global Aurora MySQL–basada para que los clústeres
secundarios envíen datos al principal. Para obtener más información, consulte Uso del reenvío de escritura
en una base de datos Amazon Aurora global (p. 279).
Una base de datos global de Aurora puede admitir dos enfoques diferentes para la conmutación por
error. El proceso de conmutación por error no planificado permite recuperar la base de datos global de
Aurora después de una interrupción en la región principal, mediante la conmutación por error a otra
región (conmutación por error entre regiones). Para obtener más información acerca de este proceso
manual, consulte Recuperación de una base de datos global Amazon Aurora de una interrupción no
planificada (p. 300).
Para la preparación ante desastres, la conmutación por error administrada planificada le permite reubicar
el clúster principal de una base de datos global de Aurora operativo a una de sus regiones secundarias sin
pérdida de datos. Para obtener más información, consulte Conmutación por error planificada administrada
para bases de datos globales de Amazon Aurora (p. 291).
• Lecturas globales con latencia local: si tiene oficinas en todo el mundo puede utilizar una base de datos
global de Aurora para mantener actualizadas la principales fuentes de información en la región principal
de AWS. Las oficinas en sus otras regiones pueden acceder a la información en su propia región, con
latencia local.
• Clústeres de base de datos Aurora secundarios escalables: puede escalar los clústeres secundarios;
para ello, agregue más instancias de solo lectura (réplicas de Aurora) a una región de AWS secundaria.
El clúster secundario es de solo lectura, por lo que puede admitir hasta 16 instancias de réplica de
Aurora de solo lectura en lugar del límite habitual de 15 para un solo clúster de Aurora.
• Replicación rápida de clústeres de base de datos Aurora primarios a secundarios – La replicación
realizada por una base de datos Aurora global tiene poco impacto en el performance en el clúster de
base de datos principal. Los recursos de las instancias de bases de datos están totalmente dedicados a
servir a las cargas de trabajo de lectura y escritura de la aplicación.
• Recuperación de interrupciones en toda la región: los clústeres secundarios le permiten crear una base
de datos global de Aurora disponible en una nueva región principal de AWS de forma más rápida (menor
RTO) y con menos pérdida de datos (menor RPO) que las soluciones de reproducción tradicionales.
• Las bases de datos globales de Aurora están disponible en determinadas regiones de AWS y solo para
versiones de Aurora MySQL y Aurora PostgreSQL específicas. Para obtener más información, consulte
Bases de datos globales de Aurora (p. 22).
• Las bases de datos globales de Aurora tienen ciertos requisitos de configuración para las clases de
instancia de base de datos compatibles de Aurora, la cantidad máxima de regiones de AWS, etc. Para
248
Amazon Aurora Guía del usuario de Aurora
Limitaciones de las bases de datos globales de Aurora
obtener más información, consulte Requisitos de configuración de una base de datos Amazon Aurora
global (p. 251).
• La conmutación por error planificada administrada para las bases de datos globales de Aurora requiere
uno de los siguientes motores de base de datos de Aurora:
• Aurora MySQL con compatibilidad con MySQL 8.0, versión 3.01.0 o superior
• Aurora MySQL con compatibilidad con MySQL 5.7, versión 2.09.1 o superior
• Aurora MySQL con compatibilidad con MySQL 5.6, versión 1.23.1 o superior
• Aurora PostgreSQL, versiones 13.3 y posteriores, 12.4 y posteriores, 11.9 y posteriores y 10.14 y
posteriores.
• Las bases de datos globales Aurora actualmente no admiten las siguientes características Aurora:
• Clústeres multimaestros Aurora.
• Aurora Serverless v1
• Búsqueda de datos anteriores en Aurora.
• Amazon RDS Proxy
• La actualización automática de versiones secundarias no se aplica a clústeres de Aurora MySQL y
Aurora PostgreSQL que formen parte de una base de datos global de Aurora MySQL. Tenga en cuenta
que puede especificar esta configuración para una instancia de base de datos que forme parte de un
clúster de base de datos global, pero la configuración no tendrá ningún efecto.
• Las bases de datos globales Aurora actualmente no admiten Aurora Auto Scaling para clústeres de
bases de datos secundarios.
• Puede iniciar flujos de actividad de base de datos en bases de datos globales de Aurora que solo
ejecuten las siguientes versiones Aurora MySQL y Aurora PostgreSQL.
Para obtener información acerca de las secuencias de actividades de la base de datos, consulte
Monitoreo de Amazon Aurora mediante los flujos de actividad de la base de datos (p. 768).
• Con una base de datos global de Aurora basada en Aurora PostgreSQL, no se puede realizar
una actualización de versión importante del motor de base de datos de Aurora si la característica
Objetivo de punto de recuperación (RPO) está habilitada. Para obtener información sobre la
característica RPO, consulte Administración de RPO para bases de datos globales basadas en Aurora
PostgreSQL– (p. 296). Para obtener información sobre la actualización de una base de datos global
de Aurora basada en PostgreSQL, consulte Actualizaciones mayores en el lugar para bases de datos
globales (p. 1814). Para obtener información sobre la actualización de una base de datos global Aurora
basada en MySQL, consulte Actualizaciones en el lugar para bases de datos globales (p. 1189).
• No puede detener o iniciar los clústeres de Aurora base de datos en la base de datos Aurora global
individualmente. Para obtener más información, consulte Detención e inicio de un clúster de base de
datos de Amazon Aurora (p. 401).
• Las réplicas de Aurora conectadas al clúster de base de datos de Aurora secundario pueden reiniciarse
en determinadas circunstancias. Si la instancia de escritura de la base de datos de la región de AWS
principal se reinicia o falla, las réplicas de Aurora en las regiones secundarias también se reinician. El
clúster secundario no estará disponible hasta que todas las réplicas vuelvan a estar sincronizadas con
249
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
la instancia de escritura del clúster de base de datos principal. Este comportamiento es esperado, como
se documenta en Replicación con Amazon Aurora (p. 74). Asegúrese de comprender los impactos en la
base de datos global de Aurora antes de realizar cambios en el clúster de base de datos principal. Para
obtener más información, consulte Recuperación de una base de datos global Amazon Aurora de una
interrupción no planificada (p. 300).
• Los clústeres de base de datos basados en Aurora PostgreSQL que se ejecutan en una base de datos
global de Aurora tienen las siguientes limitaciones:
• La administración de caché de clúster no es compatible con los clústeres de base de datos Aurora
PostgreSQL que forman parte de bases de datos globales de Aurora.
• Si el clúster de base de datos principal de la base de datos global de Aurora se basa en una réplica de
una instancia de PostgreSQL Amazon RDS, no puede crear un clúster secundario. No intente crear un
secundario a partir de ese clúster mediante AWS Management Console, la AWS CLI, o la operación
CreateDBCluster API. Los intentos para hacerlo se agotan y no se crea el clúster secundario.
Se recomienda crear clústeres de base de datos secundarios para las bases de datos Aurora globales
utilizando la misma versión del motor de base de datos Aurora que el primario. Para obtener más
información, consulte Creación de una base de datos global de Amazon Aurora (p. 251).
Puede crear una base de datos Aurora global de una de las siguientes maneras:
• Crear una nueva base de datos global de Aurora con nuevos clústeres de base de datos de Aurora e
instancias de base de datos de Aurora – Puede hacerlo mediante los pasos descritos en Creación de
una base de datos global de Amazon Aurora (p. 251). Después de crear el clúster de base de datos
primaria de Aurora, agregue la región secundaria de AWS siguiendo los pasos descritos en Agregar una
región de AWS a una base de datos global de Amazon Aurora (p. 265).
• Utilice un clúster de base de datos de Aurora existente que admita la característica de base de datos
global de Aurora y agregue una región de AWS a ella: solo puede hacerlo si el clúster de base de datos
de Aurora existente utiliza una versión del motor de base de datos que admita el modo global de Aurora
o es compatible con el modo global. Para algunas versiones del motor de base de datos, este modo es
explícito, pero para otros, no lo es.
Verifique si puede elegir Add regiom (Agregar región) para Action (Acción) en la AWS Management
Console cuando se selecciona el clúster de la base de datos de Aurora. Si puede, puede utilizar ese
clúster de base de datos de Aurora para el clúster global Aurora. Para obtener más información, consulte
Agregar una región de AWS a una base de datos global de Amazon Aurora (p. 265).
Antes de crear una base de datos Aurora global, le recomendamos que comprenda todos los requisitos de
configuración.
Temas
• Requisitos de configuración de una base de datos Amazon Aurora global (p. 251)
• Creación de una base de datos global de Amazon Aurora (p. 251)
• Agregar una región de AWS a una base de datos global de Amazon Aurora (p. 265)
• Creación de un clúster de base de datos de Aurora sin pantalla en una región secundaria (p. 269)
• Uso de una instantánea para la base de datos Amazon Aurora global (p. 271)
250
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
Instancias de escritor 1 0
Los clústeres de base de datos Aurora que componen una base de datos Aurora global tienen los
siguientes requisitos específicos:
• Requisitos de clase de instancia de base de datos – Una base de datos Aurora global requiere clases de
instancia de base de datos optimizadas para aplicaciones con uso intensivo de memoria Para obtener
información sobre las clases de instancias de base de datos optimizadas para la memoria, consulte
clases de instancia de base de datos. Recomendamos utilizar una clase de instancia db.r5 o superior.
• Requisitos de región de AWS: una base de datos de Aurora global necesita un clúster de base de datos
primaria de Aurora en una región de AWS y al menos un clúster de base de datos secundaria de Aurora
en una región diferente. Puede crear hasta cinco clústeres de Aurora base de datos secundarios (de solo
lectura) y cada uno debe estar en una región diferente. En otras palabras, no hay dos clústeres de base
de datos de Aurora en una base de datos de Aurora global en la misma región de AWS.
• Requisitos de nomenclatura: los nombres que elija para cada uno de los clústeres de base de datos
de Aurora deben ser únicos, en todas las regiones de AWS. No puede usar el mismo nombre para
diferentes clústeres de base de datos Aurora aunque estén en diferentes regiones.
Antes de poder seguir los procedimientos de esta sección, necesita una cuenta AWS. Complete las tareas
de configuración para trabajar con Amazon Aurora. Para obtener más información, consulte Configuración
del entorno para Amazon Aurora (p. 90). También debe completar otros pasos preliminares para crear
cualquier clúster de base de datos de Aurora. Para obtener más información, consulte Creación de un
clúster de base de datos de Amazon Aurora (p. 136).
251
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
Puede crear una base de datos global de Aurora mediante la AWS Management Console, la AWS CLI o la
API de RDS mediante los pasos que se indican a continuación.
Consola
Los pasos para crear una base de datos de Aurora global comienzan iniciando sesión en una región de
AWS que admita la característica de base de datos de Aurora global. Para ver una lista completa, consulte
Bases de datos globales de Aurora (p. 22).
Uno de los pasos siguientes es elegir una nube virtual privada (VPC) basada en Amazon VPC para su
clúster de base de datos de Aurora. Para utilizar su propia VPC, recomendamos que la cree de antemano
para que esté disponible para que pueda elegir. Al mismo tiempo, cree subredes relacionadas y, según
sea necesario, un grupo de subredes y un grupo de seguridad. Para obtener información sobre cómo
hacerlo, consulte Cómo crear una VPC para su uso con Amazon Aurora.
Para obtener información general acerca de cómo crear un clúster de base de datos Aurora, consulte
Creación de un clúster de base de datos de Amazon Aurora (p. 136).
• Elija Standard Create (Creación estándar) para el método de creación de la base de datos. No elija
la opción Easy Create (Creación sencilla).
• Elija Amazon Aurora para el Engine type en la sección Engine options (Opciones del motor).
A continuación, elija Amazon Aurora with MySQL compatibility (Amazon Aurora compatible con MySQL)
o Amazon Aurora with PostgreSQL compatibility (Amazon Aurora compatible con PostgreSQL) y continúe
con la creación de la base de datos global de Aurora mediante el seguimiento de los pasos de los
procedimientos que se detallan a continuación.
252
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
Temas
• Creación de una base de datos global con Aurora MySQL (p. 253)
• Creación de una base de datos global con Aurora PostgreSQL (p. 257)
Los siguientes pasos se aplican a todas las versiones de Aurora MySQL excepto Aurora MySQL 5.6.10a.
Para utilizar Aurora MySQL 5.6.10a para la base de datos Aurora global, consulte Uso de Aurora MySQL
5.6.10a para una base de datos Aurora global (p. 255).
Para crear una base de datos global de Aurora utilizando Aurora MySQL
a. En Edition (Edición), elija Amazon Aurora with MySQL compatibility (Amazon Aurora con
compatibilidad con MySQL).
b. Elija Provisioned (Aprovisionado) para Capacity type (Tipo de capacidad).
c. Deje Replication features (Características de replicación) establecidas en el valor predeterminado
(replicación de maestro único).
d. Active Show versions that support the global database feature (Mostrar versiones que admiten la
característica de base de datos global).
e. En Versión, elija la versión de Aurora MySQL que desea utilizar para la base de datos Aurora
global.
2. Para Templates (Plantillas), elija Production (Producción). O bien, puede elegir Dev/Test si es
apropiado para su caso de uso. No utilice Dev/Test en entornos de producción.
3. En Settings (Configuración), haga lo siguiente:
253
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
4. Para clase de instancia de base de datos, elija db.r5.large u otra clase de instancia de base de
datos optimizada para memoria. Recomendamos utilizar una clase de instancia db.r5 o superior.
5. Para disponibilidad y durabilidad, recomendamos que se elija Aurora que cree una réplica Aurora en
una zona de disponibilidad (AZ, por sus siglas en inglés) diferente para usted. Si no crea una réplica
Aurora ahora, tendrá que hacerlo más tarde.
6. En Conectivity (Conectividad), elija la nube virtual privada (VPC) basada en Amazon VPC que
defina el entorno de red virtual para esta instancia de base de datos. Puede elegir los valores
predeterminados para simplificar esta tarea.
7. Complete la configuración de Database authentication (Autenticación de base de datos). Para
simplificar el proceso, puede elegir Password authentication (Autenticación de contraseña) ahora y
configurar AWS Identity and Access Management (IAM) más adelante.
8. En Additional configuration (Configuración adicional), haga lo siguiente:
a. Introduzca un nombre para Initial database name (Nombre de la base de datos inicial) para crear
la instancia Aurora de base de datos principal para este clúster. Este es el nodo de escritor del
clúster de base de datos Aurora principal.
254
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
Deje los valores predeterminados seleccionados para el grupo de parámetros de clúster de base
de datos y el grupo de parámetros de base de datos, a menos que tenga sus propios grupos de
parámetros personalizados que desee utilizar.
b. Desmarque la casilla de verificación Enable backtrack (Habilitar búsquedas de datos anteriores)
si está seleccionada. Las bases de datos globales de Aurora no admiten la búsqueda de datos
anteriores. De lo contrario, puede aceptar las demás opciones predeterminadas para Additional
configuration (Configuración adicional).
9. Elija Create database (Crear base de datos).
Aurora puede tardar varios minutos en completar el proceso de creación de la instancia de base de
datos Aurora, su réplica Aurora y el clúster de base de datos Aurora. Puede saber cuándo el clúster de
la base de datos de Aurora está listo para usar como clúster de base de datos principal en una base
de datos global de Aurora por su estado. Cuando eso es así, su estado y el del nodo de escritura y
réplica está Disponible, como se muestra a continuación.
Cuando el clúster de base de datos principal esté disponible, cree la base de datos global de Aurora
agregándole un clúster secundario. Para ello, siga los pasos que se indican en Agregar una región de AWS
a una base de datos global de Amazon Aurora (p. 265).
Uso de Aurora MySQL 5.6.10a para una base de datos Aurora global
Los siguientes pasos se aplican únicamente a la versión 5.6.10a de Aurora MySQL. Para otras versiones
de Aurora MySQL, consulte Creación de una base de datos global con Aurora MySQL (p. 253).
Para crear una base de datos global de Aurora utilizando la Aurora MySQL 5.6.10a
a. En Edition (Edición), elija Amazon Aurora with MySQL compatibility (Amazon Aurora con
compatibilidad con MySQL).
b. Elija Provisioned (Aprovisionado) para Capacity type (Tipo de capacidad).
c. Deje Replication features (Características de replicación) establecidas en el valor predeterminado
(replicación de maestro único).
d. Active Show versions that support the global database feature (Mostrar versiones que admiten la
característica de base de datos global).
e. Elija Aurora (MySQL 5.6) global_10a para Version (Versión).
2. Para Templates (Plantillas), elija Production (Producción).
3. Para la configuración global de la base de datos, haga lo siguiente:
255
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
una para usted. Si elige Auto generate a password (Generar automáticamente una contraseña),
obtendrá la opción de copiar la contraseña.
a. Para clase de instancia de base de datos, elija db.r5.large u otra clase de instancia de base
de datos optimizada para memoria. Recomendamos utilizar una clase de instancia db.r5 o
superior.
b. Para Availability & durability (Disponibilidad y durabilidad), le recomendamos que elija que Aurora
cree una réplica Aurora en una zona de disponibilidad diferente para usted. Si no crea una réplica
Aurora ahora, tendrá que hacerlo más tarde.
c. En Conectivity (Conectividad), elija la nube virtual privada (VPC) basada en Amazon VPC que
defina el entorno de red virtual para esta instancia de base de datos. Puede elegir los valores
predeterminados para simplificar esta tarea.
d. En Encryption key (Clave de cifrado), elija la clave que desea utilizar. Si no seleccionó Encryption
(Cifrado) antes, ignore esta opción.
256
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
Aurora puede tardar varios minutos en completar el proceso de creación de la instancia de base
de datos Aurora, su réplica Aurora y el clúster de base de datos Aurora. Puede saber cuándo el
clúster de la base de datos de Aurora está listo para usar como clúster de base de datos principal
en una base de datos global de Aurora por su estado. Cuando eso es así, su estado y el del nodo
de escritura y réplica está Disponible, como se muestra a continuación.
Esta base de datos Aurora global todavía necesita un clúster de base de datos Aurora secundario. Puede
agregarlo ahora, siguiendo los pasos descritos en Agregar una región de AWS a una base de datos global
de Amazon Aurora (p. 265).
Para crear una base de datos global Aurora utilizando Aurora PostgreSQL
a. En Edition (Edición), seleccione Amazon Aurora with PostgreSQL compatibility (Amazon Aurora
compatible con PostgreSQL).
b. Elija Provisioned (Aprovisionado) para Capacity type (Tipo de capacidad).
c. Active Show versions that support the global database feature (Mostrar versiones que admiten la
característica de base de datos global).
d. En Versión, elija la versión de la Aurora PostgreSQL que desea utilizar para la base de datos
Aurora global.
257
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
2. Para Templates (Plantillas), elija Production (Producción). O bien, puede elegir Dev/Test si es
apropiado. No utilice Dev/Test en entornos de producción.
3. En Settings (Configuración), haga lo siguiente:
4. Para clase de instancia de base de datos, elija db.r5.large u otra clase de instancia de base de
datos optimizada para memoria. Recomendamos utilizar una clase de instancia db.r5 o superior.
258
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
5. Para disponibilidad y durabilidad, le recomendamos que elija Aurora crear una réplica Aurora en una
zona de disponibilidad diferente para usted. Si no crea una réplica Aurora ahora, tendrá que hacerlo
más tarde.
6. En Conectivity (Conectividad), elija la nube virtual privada (VPC) basada en Amazon VPC que
defina el entorno de red virtual para esta instancia de base de datos. Puede elegir los valores
predeterminados para simplificar esta tarea.
7. Complete la configuración de Database authentication (Autenticación de base de datos). Para
simplificar el proceso, puede elegir Password authentication (Autenticación de contraseña) ahora y
configurar IAM o la autenticación de contraseña y Kerberos más adelante.
8. En Additional configuration (Configuración adicional), haga lo siguiente:
a. Introduzca un nombre para Initial database name (Nombre de la base de datos inicial) para crear
la instancia Aurora de base de datos principal para este clúster. Este es el nodo de escritor del
clúster de base de datos Aurora principal.
Deje los valores predeterminados seleccionados para el grupo de parámetros de clúster de base
de datos y el grupo de parámetros de base de datos, a menos que tenga sus propios grupos de
parámetros personalizados que desee utilizar.
b. Acepte todas las demás opciones predeterminadas para Additional configuration (Configuración
adicional), como Monitoring (Monitoreo), Log exports (Exportaciones de registros), etc.
9. Elija Create database (Crear base de datos).
Aurora puede tardar varios minutos en completar el proceso de creación de la instancia de base de
datos Aurora, su réplica Aurora y el clúster de base de datos Aurora. Cuando el clúster está listo para
su uso, el clúster de base de datos de Aurora y sus nodos de escritor y réplica muestran el estado
Available (Disponible). Esto se convierte en el clúster de base de datos principal de la base de datos
Aurora global, después de agregar un secundario.
Cuando se crea el clúster de base de datos principal y está disponible, puede crear uno o más clústeres
secundarios siguiendo los pasos de Agregar una región de AWS a una base de datos global de
Amazon Aurora (p. 265).
259
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
AWS CLI
Los comandos AWS CLI de los procedimientos siguientes realizan las siguientes tareas:
1. Cree una base de datos global de Aurora, asígnele un nombre y especifique el tipo de motor de base de
datos de Aurora que va a utilizar.
2. Cree un clúster de base de datos Aurora para la base de datos Aurora global.
3. Cree la instancia de base de datos Aurora para el clúster.
4. Cree una instancia de base de datos Aurora para el clúster de base de datos Aurora.
5. Cree una segunda instancia de base de datos para clúster de base de datos Aurora. Este es un lector
para completar el clúster de base de datos de Aurora.
6. Cree un segundo clúster de base de datos Aurora en otra región y, a continuación, agréguelo a la base
de datos Aurora global, siguiendo los pasos descritos en Agregar una región de AWS a una base de
datos global de Amazon Aurora (p. 265).
Ejemplos de CLI
• Creación de una base de datos global con Aurora MySQL (p. 182)
• Creación de una base de datos global con Aurora PostgreSQL (p. 183)
Para crear una base de datos global de Aurora utilizando Aurora MySQL
Otras opciones para Aurora MySQL dependen de la versión del motor de base de datos de Aurora
MySQL, como se muestra en la tabla a continuación.
--engine-mode global -
260
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
Para Windows:
Esto crea una base de datos Aurora global “vacía”, con solo un nombre (identificador) y un motor de
base de datos Aurora. La base de datos Aurora global puede tardar unos minutos en estar disponible.
Antes de ir al siguiente paso, utilice el comando describe-global-clusters CLI para ver si está
disponible.
Cuando la base de datos Aurora global está disponible, puede crear su clúster de base de datos
principal Aurora.
2. Para crear un clúster de base de datos Aurora principal, utilice el comando create-db-cluster
CLI. Incluya el nombre de la base de datos Aurora global mediante --global-cluster-
identifier.
Para Windows:
Otras opciones para Aurora MySQL dependen de la versión del motor de base de datos Aurora
MySQL.
261
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
Utilice el comando describe-db-clusters de la AWS CLI para confirmar que el clúster de base
de datos de Aurora está listo. Para individuar un clúster de base de datos Aurora específico, utilice el
parámetro --db-cluster-identifier. O puede dejar fuera el nombre del clúster de base de datos
Aurora en el comando para obtener detalles sobre todos los clústeres de base de datos Aurora en la
región dada.
Cuando se muestra la respuesta "Status": "available" para el clúster, está lista para su uso.
3. Cree la instancia de base de datos para el clúster de base de datos Aurora principal. Para ello, utilice
el comando de CLI create-db-instance. Asigne al comando el nombre de su clúster de Aurora
base de datos y especifique los detalles de configuración de la instancia. No necesita pasar los
parámetros --master-username y --master-user-password en el comando, ya que los obtiene
del clúster de base de datos Aurora.
Para el --db-instance-class, puede usar solo aquellos de clases optimizadas para memoria,
como db.r5.large. Recomendamos utilizar una clase de instancia db.r5 o superior. Para obtener
más información sobre estas clases, consulte clases de instancias de base de datos.
Para Windows:
Cuando el comando devuelve un estado de “disponible”, puede crear otra instancia de base de datos
Aurora para su clúster de base de datos principal. Ésta es la instancia de lector (la réplica Aurora) para
el clúster de base de datos Aurora.
4. Para crear otra instancia de base de datos de Aurora para el clúster, utilice el comando CLI create-
db-instance:
262
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
Para Windows:
Cuando la instancia de base de datos está disponible, la reproducción comienza desde el nodo de escritor
a la réplica. Antes de continuar, compruebe que la instancia de base de datos esté disponible con el
comando describe-db-instances CLI.
En este punto, tiene una base de datos Aurora global con su clúster de base de datos principal Aurora que
contiene una instancia de base de datos de escritor y una réplica Aurora. Ahora puede agregar un clúster
de base de datos Aurora de solo lectura en una región diferente para completar la base de datos Aurora
global. Para ello, siga los pasos que se indican en Agregar una región de AWS a una base de datos global
de Amazon Aurora (p. 265).
Para crear una base de datos global Aurora utilizando Aurora PostgreSQL
Para Windows:
Cuando la base de datos Aurora global está disponible, puede crear su clúster de base de datos
principal Aurora.
263
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
2. Para crear un clúster de base de datos Aurora principal, utilice el comando create-db-cluster
CLI. Incluya el nombre de la base de datos Aurora global mediante --global-cluster-
identifier.
Para Windows:
Compruebe que el clúster de la base de datos Aurora esté listo. Cuando se muestra la respuesta
del siguiente comando "Status": "available" para el clúster de Aurora base de datos, puede
continuar.
3. Cree la instancia de base de datos para el clúster de base de datos Aurora principal. Para ello, utilice
el comando de CLI create-db-instance.
Para el --db-instance-class, puede usar solo aquellos de clases optimizadas para memoria,
como db.r5.large. Recomendamos utilizar una clase de instancia db.r5 o superior. Para
obtener más información sobre estas clases, consulte clases de instancias de base de datos.
Para Windows:
264
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
Si la respuesta muestra que el estado de la instancia de base de datos Aurora está “disponible”, puede
crear otra instancia Aurora de base de datos para su clúster de base de datos principal.
5. Para crear una réplica Aurora para clúster de base de datos Aurora, utilice el comando create-db-
instance CLI.
Para Windows:
Cuando la instancia de base de datos está disponible, la reproducción comienza desde el nodo de escritor
a la réplica. Antes de continuar, compruebe que la instancia de base de datos esté disponible con el
comando describe-db-instances CLI.
Su base de datos Aurora global existe, pero solo tiene su región principal con un clúster de base de datos
Aurora compuesto por una instancia de base de datos de escritor y una réplica Aurora. Ahora puede
agregar un clúster de base de datos Aurora de solo lectura en una región diferente para completar la base
de datos Aurora global. Para ello, siga los pasos que se indican en Agregar una región de AWS a una base
de datos global de Amazon Aurora (p. 265).
API de RDS
Para crear una base de datos de Aurora global con la API de RDS, ejecute la operación
CreateGlobalCluster.
265
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
de datos secundaria que agregue a la base de datos de Aurora global, reduzca el número de réplicas de
Aurora permitidas en el clúster de base de datos principal a una.
Por ejemplo, si la base de datos global de Aurora tiene 5 regiones secundarias, el clúster de la base de
datos principal solo puede tener 10 (en lugar de 15) réplicas de Aurora. Para obtener más información,
consulte Requisitos de configuración de una base de datos Amazon Aurora global (p. 251).
El número de réplicas de Aurora (instancias de lectura) en el clúster de base de datos principal determina
el número de clústeres de base de datos secundarias que puede agregar. El número total de instancias
de lectura en el clúster de base de datos principal más el número de clústeres secundarios no puede ser
mayor de 15. Por ejemplo, si tiene 14 instancias de lectura en el clúster de base de datos principal y 1
clúster secundario, no puede agregar otro clúster secundario a la base de datos global.
Consola
Para agregar una región de AWS a una base de datos global de Aurora
5. En la página Add a region (Añadir una región), seleccione la región AWS secundaria.
No puede elegir una región de AWS que ya tenga un clúster secundario de base de datos de Aurora
para la misma base de datos global de Aurora. Además, no puede ser la misma región que el clúster
principal de la base de datos de Aurora.
266
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
6. Complete los campos restantes para el clúster secundario de Aurora en la nueva región de AWS.
Estas son las mismas opciones de configuración que para cualquier instancia de clúster de base de
datos de Aurora, excepto la siguiente opción solo para bases de datos globales de Aurora basadas en
Aurora MySQL–:
• Habilitar el reenvío de escritura de réplica de lectura – Esta configuración opcional permite que los
clústeres secundarios de la base de datos global de Aurora reenvíen operaciones de escritura al
clúster principal. Para obtener más información, consulte Uso del reenvío de escritura en una base
de datos Amazon Aurora global (p. 279).
7. Agregar región.
Después de terminar de agregar la región a la base de datos de Aurora global, puede verla en la lista de
bases de datos en la AWS Management Console como se muestra en la captura de pantalla.
AWS CLI
Para agregar una región de AWS secundaria a una base de datos Aurora global
• Para una base de datos global de Aurora basada únicamente en Aurora MySQL5.6.10a, utilice los
siguientes parámetros:
267
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
• --engine – aurora
• --engine-mode – global
• --engine-version – 5.6.10a
• Para una base de datos global de Aurora basada en otros motores de base de datos de Aurora,
elija valores específicos para los parámetros --engine y --engine-version. Estos valores son
los mismos que los del clúster principal de base de datos de Aurora de la base de datos global de
Aurora.
4. Para un clúster cifrado, especifique la región AWS principal como --source-region para cifrado.
En el ejemplo siguiente se crea un nuevo clúster de base de datos Aurora y se adjunta a una base de
datos Aurora global como clúster de base de datos Aurora secundario de solo lectura. En el último paso, se
agrega una instancia Aurora de base de datos al nuevo clúster de Aurora base de datos.
Para Windows:
268
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
create-db-instance ^
--db-instance-class instance_class ^
--db-cluster-identifier secondary_cluster_id ^
--db-instance-identifier db_instance_id ^
--engine { aurora | aurora-mysql | aurora-postgresql }
API de RDS
Para agregar una nueva región de AWS a una base de datos de Aurora global con la API de RDS, ejecute
la operación CreateDBCluster. Especifique el identificador de la base de datos global existente utilizando el
parámetro GlobalClusterIdentifier.
Agregue el clúster secundario como lo hace normalmente al crear una base de datos global de Aurora. Sin
embargo, después de que el clúster principal de base de datos de Aurora comience la reproducción en el
secundario, se elimina la instancia de base de datos de Aurora de solo lectura del clúster secundario de
base de datos de Aurora. Ahora, este clúster secundario se considera “sin pantalla” porque ya no tiene una
instancia de base de datos. Sin embargo, el volumen de almacenamiento se mantiene sincronizado con el
clúster principal de base de datos de Aurora.
Warning
Con Aurora PostgreSQL, para crear un clúster sin pantalla en una región de AWS secundaria,
utilice la AWS CLI o la API de RDS a fin de agregar la región de AWS secundaria. Omita el paso
a fin de crear la instancia de base de datos del lector para el clúster secundario. Actualmente, la
creación de un clúster sin pantalla no se admite en la consola de RDS. Para obtener información
sobre los procedimientos de la CLI y la API que se utilizarán, consulte Agregar una región de
AWS a una base de datos global de Amazon Aurora (p. 265).
Crear una instancia de base de datos de lector en una región secundaria y posteriormente
eliminarla podría provocar un problema de vacío de Aurora PostgreSQL en la instancia de base
de datos del escritor de la región principal. Si se produce este problema, reinicie la instancia de
base de datos del escritor de la región principal después de eliminar la instancia de base de datos
del lector de la región secundaria.
Para agregar un clúster secundario de base de datos de Aurora sin pantalla a la base de datos
global de Aurora
269
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
No puede elegir una región de AWS que ya tenga un clúster secundario de base de datos de Aurora
para la misma base de datos global de Aurora. Además, no puede ser la misma región que el clúster
principal de la base de datos de Aurora.
6. Complete los campos restantes para el clúster secundario de Aurora en la nueva región de AWS.
Estas son las mismas opciones de configuración que para cualquier instancia de clúster de base de
datos de Aurora.
Para una base de datos global de Aurora global basada en Aurora MySQL–, omita la opción Enable
read replica write forwarding (Habilitar reenvío de escritura de réplica de lectura). Esta opción no tiene
ninguna función después de eliminar la instancia del lector.
7. Agregar región. Después de terminar de agregar la región a la base de datos de Aurora global, puede
verla en la lista de bases de datos en la AWS Management Console como se muestra en la captura de
pantalla.
8. Verifique el estado del clúster secundario de la base de datos de Aurora y su instancia de lector antes
de continuar, mediante la AWS Management Console o la AWS CLI. Por ejemplo:
El estado de un clúster secundario de la base de datos de Aurora recién agregado puede tardar varios
minutos en cambiar de creating a available. Cuando el clúster de la base de datos de Aurora se
encuentra disponible, puede eliminar la instancia de lector.
9. Seleccione la instancia de lector en el clúster secundario de la base de datos de Aurora y, a
continuación, elija Delete (Eliminar).
270
Amazon Aurora Guía del usuario de Aurora
Introducción a bases de datos globales de Aurora
Después de eliminar la instancia de lector, el clúster secundario sigue siendo parte de la base de datos
global de Aurora. No tiene ninguna instancia asociada con él, como se muestra a continuación.
Puede utilizar este clúster secundario de base de datos de Aurora sin pantalla para recuperar
manualmente la base de datos global de Amazon Aurora de una interrupción no planificada en la región
principal de AWS (p. 300), si se produce una interrupción de este tipo.
La instantánea que utilice puede ser de un clúster de base de datos provisioned o de un clúster de
serverless Aurora base de datos.
271
Amazon Aurora Guía del usuario de Aurora
Administración de una base de datos global de Aurora
Note
No puede crear un clúster de base de datos Aurora aprovisionado a partir de una instantánea
hecha a partir de una base de datos global – basada en Aurora MySQL 5.6.10a. Una instantánea
de una base de datos global – basada en Aurora MySQL 5.6.10a sólo se puede restaurar como
una base de datos Aurora global.
Durante el proceso de restauración, elija el mismo tipo de motor de base de datos que la instantánea. Por
ejemplo, supongamos que desea restaurar una instantánea realizada desde un clúster de base de datos
de Aurora Serverless v1 que ejecute Aurora PostgreSQL. En este caso, se crea un clúster de base de
datos de Aurora PostgreSQL utilizando el mismo motor de base de datos de Aurora y la misma versión.
El clúster de base de datos restaurado asume el rol de clúster principal para la base de datos de Aurora
global cuando se agrega una región de AWS a ella. Todos los datos contenidos en este clúster principal se
replican en cualquier clúster secundario que agregue a la base de datos Aurora global.
El proceso de conmutación por error planificada administrada solo está disponible para objetos de base de
datos global de Aurora, no para un solo clúster de base de datos de Aurora. Para obtener más información,
272
Amazon Aurora Guía del usuario de Aurora
Administración de una base de datos global de Aurora
consulte Conmutación por error planificada administrada para bases de datos globales de Amazon
Aurora (p. 291).
Para recuperar una base de datos global de Aurora de una interrupción no planificada en la región
principal, consulte Recuperación de desastres y base de datos globales de Amazon Aurora (p. 291).
Temas
• Modificación de una base de datos global de Amazon Aurora (p. 273)
• Modificación de parámetros para una base de datos Aurora global (p. 274)
• Eliminación de un clúster de una base de datos global de Amazon Aurora (p. 274)
• Eliminación de una base de datos global de Amazon Aurora (p. 277)
Al realizar cambios en la base de datos Aurora global, tiene la oportunidad de cancelar los cambios, como
se muestra en la siguiente captura de pantalla.
273
Amazon Aurora Guía del usuario de Aurora
Administración de una base de datos global de Aurora
Por ejemplo, utilice la misma configuración de zonas horarias y conjuntos de caracteres para evitar un
comportamiento incoherente si un clúster diferente asume la función del clúster principal.
También puede querer quitar clústeres de base de datos de Aurora porque desea eliminar una base de
datos global de Aurora que ya no necesite. No puede eliminar la base de datos global de Aurora hasta
274
Amazon Aurora Guía del usuario de Aurora
Administración de una base de datos global de Aurora
después de eliminar (desasociar) todos los clústeres de base de datos de Aurora asociados y deje el
principal para lo último. Para obtener más información, consulte Eliminación de una base de datos global
de Amazon Aurora (p. 277).
Cuando un clúster de base de datos de Aurora se desasocia de la base de datos global de Aurora, ya
no se sincroniza con el principal. Se convierte en un clúster de base de datos de Aurora aprovisionado
independiente con capacidades completas de lectura/escritura.
Puede quitar clústeres de base de datos Aurora de la base de datos de Aurora global mediante AWS
Management Console, la AWS CLI o la API de RDS.
Consola
Abra un mensaje para confirmar que desea separar el secundario de la base de datos Aurora global.
4. Elija Remove and promote (Eliminar y promover) para quitar el clúster de la base de datos global.
275
Amazon Aurora Guía del usuario de Aurora
Administración de una base de datos global de Aurora
El clúster de base de datos Aurora ya no sirve como secundario en la base de datos Aurora global y ya
no está sincronizado con el clúster de base de datos principal. Es un clúster de base de datos Aurora
independiente con capacidad completa de lectura/escritura.
Tras eliminar o borrar todos los clústeres secundarios, podrá eliminar el clúster principal del mismo modo.
No puede separar (quitar) el clúster de base de datos Aurora principal de una base de datos Aurora global
hasta después de quitar todos los clústeres secundarios.
La base de datos global de Aurora puede permanecer en la lista Databases (Bases de datos), con cero
regiones y AZ. Puede eliminar si ya no desea utilizar esta base de datos Aurora global. Para obtener más
información, consulte Eliminación de una base de datos global de Amazon Aurora (p. 277).
AWS CLI
Para eliminar un clúster Aurora de una base de datos global de Aurora, ejecute el comando CLI remove-
from-global-cluster con los siguientes parámetros:
Los siguientes comandos eliminan un clúster secundario y, después, el clúster primario de una base de
datos global de Aurora.
Para Windows:
276
Amazon Aurora Guía del usuario de Aurora
Administración de una base de datos global de Aurora
--global-cluster-identifier global_database_id
API de RDS
Para eliminar un clúster de Aurora de una base de datos global de Aurora con la API de RDS, ejecute la
acción RemoveFromGlobalCluster.
• Elimine todos los clústeres de base de datos secundarios de la base de datos Aurora global. Cada
clúster se convierte en un clúster de base de datos Aurora independiente. Para saber cómo hacerlo,
consulte Eliminación de un clúster de una base de datos global de Amazon Aurora (p. 274).
• En cada clúster de base de datos Aurora independiente, elimine todas las réplicas Aurora.
• Elimine el clúster secundario de la base de datos global de Aurora. Esto se convierte en un clúster de
base de datos Aurora independiente.
• Desde el clúster principal de la base de datos de Aurora, primero elimine todas las réplicas Aurora y, a
continuación, elimine la instancia de base de datos del escritor.
La eliminación de la instancia de escritor del clúster de base de datos Aurora recién independiente también
normalmente elimina el clúster de base de datos Aurora y la base de datos Aurora global.
Para obtener más información general, consulte Eliminación de una instancia de base de datos de un
clúster de base de datos de Aurora (p. 515).
Para eliminar una base de datos de Aurora global, puede utilizar la AWS Management Console, la AWS
CLI o la API de RDS.
Consola
Si la base de datos Aurora global contiene clústeres de base de datos Aurora, no puede eliminarla. Si
es necesario, desconecte los clústeres de base de datos Aurora principal y secundaria de la base de
datos Aurora global. Para obtener más información, consulte Eliminación de un clúster de una base de
datos global de Amazon Aurora (p. 274).
4. Elija la base de datos Aurora global en la lista y, a continuación, elija Eliminar en el menú Acciones.
277
Amazon Aurora Guía del usuario de Aurora
Conexión a una base de datos global de Aurora
AWS CLI
Para eliminar una base de datos de Aurora global, ejecute el comando delete-global-cluster de la CLI con
el nombre de la región de AWS y el identificador de base de datos de Aurora global, como se muestra en el
siguiente ejemplo.
Para Windows:
API de RDS
Para eliminar un clúster que forme parte de una base de datos global de Aurora con la API de RDS,
ejecute la operación DeleteGlobalCluster.
• Para solicitudes o consultas de solo lectura, se debe conectar al punto de enlace del lector para el
clúster de Aurora en su región de AWS.
• Para ejecutar instrucciones en lenguaje de manipulación de datos (DML) o lenguaje de definición de
datos (DDL), conecte el punto de enlace del clúster para el clúster principal. Este punto de enlace podría
estar en una región de AWS distinta a su aplicación.
Al ver una base de datos global de Aurora en la consola, puede ver todos los puntos de enlace de uso
general asociados a todos los clústeres. En la siguiente captura de pantalla, se muestra un ejemplo. Hay
un único punto de enlace de clúster, asociado con el clúster principal, que utilizará para las operaciones de
escritura. El clúster principal y cada uno de los clústeres secundarios tienen un punto de enlace de lector,
que utilizará para consultas de solo lectura. Para minimizar la latencia, elija el punto de enlace del lector en
su región de AWS o en la región de AWS que tenga más cerca. A continuación se muestra un ejemplo de
Aurora MySQL.
278
Amazon Aurora Guía del usuario de Aurora
Uso del reenvío de escritura en
una base de datos Aurora global
Temas
• Habilitación del reenvío de escritura (p. 279)
• Comprobación de si un clúster secundario tiene habilitado el reenvío de escritura (p. 281)
• Compatibilidad de las aplicaciones con el reenvío de escritura (p. 282)
• Aislamiento y coherencia del reenvío de escritura (p. 283)
• Ejecutar instrucciones multiparte con reenvío de escritura (p. 286)
• Transacciones con reenvío de escritura (p. 286)
• Parámetros de configuración para el reenvío de escritura (p. 287)
• Métricas de Amazon CloudWatch para el reenvío de escritura (p. 288)
Para habilitar el reenvío de escritura mediante la AWS Management Console, elija la opción Habilitar
reenvío de escritura de réplicas de lectura cuando agregue una región en una base de datos global. Para
un clúster secundario existente, modifique el clúster para utilizar la opción Habilitar reenvío de escritura
de réplicas de lectura . Para desactivar el reenvío de escritura, desactive la casilla de verificación Habilitar
reenvío de escritura de réplicas de lectura al agregar la región o modificar el clúster secundario.
Para habilitar el reenvío de escritura mediante la AWS CLI, utilice la opción --enable-global-write-
forwarding. Esta opción funciona cuando crea un nuevo clúster secundario mediante el comando
create-db-cluster. También funciona cuando modifica un clúster secundario existente mediante
el comando modify-db-cluster. Requiere que la base de datos global utilice una versión de Aurora
que admita el reenvío de escritura. Puede desactivar el reenvío de escritura mediante la opción --no-
enable-global-write-forwarding con estos mismos comandos de la CLI.
279
Amazon Aurora Guía del usuario de Aurora
Uso del reenvío de escritura en
una base de datos Aurora global
Para habilitar el reenvío de escritura mediante la API de Amazon RDS, establezca el parámetro
EnableGlobalWriteForwarding en true. Este parámetro funciona cuando crea un nuevo clúster
secundario mediante la operación CreateDBCluster. También funciona cuando modifica un clúster
secundario existente mediante la operación ModifyDBCluster. Requiere que la base de datos global
utilice una versión de Aurora que admita el reenvío de escritura. Puede desactivar el reenvío de escritura
estableciendo el parámetro EnableGlobalWriteForwarding en false.
Note
Para que una sesión de base de datos utilice el reenvío de escritura, también debe especificar
una configuración para el parámetro aurora_replica_read_consistency de configuración.
Haga esto en cada sesión que utilice la característica de reenvío de escritura. Para obtener
información acerca de este parámetro, consulte Aislamiento y coherencia del reenvío de
escritura (p. 283).
Los siguientes ejemplos de CLI muestran cómo puede configurar una base de datos global de Aurora con
reenvío de escritura habilitado o deshabilitado. Los elementos resaltados representan los comandos y las
opciones que son importantes para especificar y mantener la coherencia al configurar la infraestructura de
una base de datos global de Aurora.
En el siguiente ejemplo se crea una base de datos global de Aurora, un clúster principal y un clúster
secundario con reenvío de escritura habilitado. Sustituya sus propias opciones por el nombre de usuario, la
contraseña y las regiones principales y secundarias de AWS.
# Create primary cluster, in the same AWS Region as the global database.
aws rds create-db-cluster --global-cluster-identifier write-forwarding-test \
--db-cluster-identifier write-forwarding-test-cluster-1 \
--engine aurora-mysql --engine-version 5.7.mysql_aurora.2.08.1 \
--master-username my_user_name --master-user-password my_password \
--region us-east-1
# Create secondary cluster, in a different AWS Region than the global database,
# with write forwarding enabled.
aws rds create-db-cluster --global-cluster-identifier write-forwarding-test \
--db-cluster-identifier write-forwarding-test-cluster-2 \
--engine aurora-mysql --engine-version 5.7.mysql_aurora.2.08.1 \
--region us-east-2 \
--enable-global-write-forwarding
280
Amazon Aurora Guía del usuario de Aurora
Uso del reenvío de escritura en
una base de datos Aurora global
--db-instance-identifier write-forwarding-test-cluster-2-instance-2 \
--db-instance-class db.r5.large \
--engine aurora-mysql --engine-version 5.7.mysql_aurora.2.08.1 \
--region us-east-2
El siguiente ejemplo continúa desde el anterior. Crea un clúster secundario sin el reenvío de escritura
habilitado y, a continuación, habilita el reenvío de escritura. Una vez finalizado este ejemplo, todos los
clústeres secundarios de la base de datos global tendrán habilitado el reenvío de escritura.
# Create secondary cluster, in a different AWS Region than the global database,
# without write forwarding enabled.
aws rds create-db-cluster --global-cluster-identifier write-forwarding-test \
--db-cluster-identifier write-forwarding-test-cluster-2 \
--engine aurora-mysql --engine-version 5.7.mysql_aurora.2.08.1 \
--region us-west-1
En la AWS Management Console, verá Read replica write forwarding en la pestaña Configuration
(Configuración) de la página de detalles del clúster. Para ver el estado de la configuración de reenvío de
escritura global de todos los clústeres, ejecute el siguiente comando de AWS CLI.
Un clúster secundario muestra el valor "enabled" o "disabled" para indicar si el reenvío de escritura
está activado o desactivado. Un valor de null indica que el reenvío de escritura no está disponible para
ese clúster. O el clúster no forma parte de una base de datos global o es el clúster principal en lugar de
un clúster secundario. El valor también puede ser "enabling" o "disabling" si el reenvío de escritura
está en proceso de ser activado o desactivado.
Example
281
Amazon Aurora Guía del usuario de Aurora
Uso del reenvío de escritura en
una base de datos Aurora global
{
"GlobalWriteForwardingStatus": null,
"DBClusterIdentifier": "non-global-cluster"
}
]
Para buscar todos los clústeres secundarios que tienen habilitado el reenvío de escritura global, ejecute
el siguiente comando. Este comando también devuelve el punto de enlace del lector del clúster. Utilice el
punto de enlace del lector del clúster secundario para cuando se utiliza el reenvío de escritura desde el
secundario al primario en la base de datos Aurora global.
Example
Puede utilizar los siguientes tipos de instrucciones SQL con reenvío de escritura:
• Instrucciones de lenguaje de manipulación de datos (DML) como INSERT, DELETE y UPDATE. Existen
algunas restricciones sobre las propiedades de estas instrucciones que puede utilizar con el reenvío de
escritura, como se describe a continuación.
• Instrucciones SELECT ... LOCK IN SHARE MODE y SELECT FOR UPDATE.
• Instrucciones PREPARE y EXECUTE.
Las siguientes restricciones se aplican a las instrucciones SQL que utiliza con el reenvío de escritura. En
algunos casos, puede utilizar las instrucciones en clústeres secundarios con reenvío de escritura habilitado
en el nivel de clúster. Este enfoque funciona si el reenvío de escritura no está activado dentro de la sesión
por el parámetro de configuración aurora_replica_read_consistency. Intentar usar una instrucción
cuando no está permitida por el reenvío de escritura provoca un mensaje de error con el siguiente formato.
ERROR 1235 (42000): This version of MySQL doesn't yet support 'operation with write
forwarding'.
Conéctese al clúster principal para ejecutar las instrucciones de lenguaje de definición de datos.
Actualizar una tabla permanente con datos de una tabla temporal
Puede utilizar tablas temporales en clústeres secundarios con el reenvío de escritura habilitado. Sin
embargo, no puede utilizar una instrucción DML para modificar una tabla permanente si la instrucción
282
Amazon Aurora Guía del usuario de Aurora
Uso del reenvío de escritura en
una base de datos Aurora global
hace referencia a una tabla temporal. Por ejemplo, no puede utilizar una instrucción INSERT ...
SELECT que saque los datos de una tabla temporal. La tabla temporal existe en el clúster secundario y
no está disponible cuando la instrucción se ejecuta en el clúster principal.
Transacciones XA
No puede utilizar las siguientes instrucciones en un clúster secundario cuando el reenvío de escritura
esté activado dentro de la sesión. Puede utilizar estas instrucciones en clústeres secundarios
que no tengan habilitado el reenvío de escritura o en sesiones en las que la configuración
aurora_replica_read_consistency esté vacía. Antes de activar el reenvío de escritura dentro
de una sesión, compruebe si su código utiliza estas instrucciones.
No puede utilizar las siguientes instrucciones en un clúster secundario con reenvío de escritura
habilitado.
Puede cargar datos en una tabla temporal de un clúster secundario. Sin embargo, asegúrese de
ejecutar cualquier instrucción de LOAD que haga referencia a tablas permanentes solo en el clúster
principal.
Instrucciones de complemento
No puede utilizar las siguientes instrucciones en un clúster secundario con reenvío de escritura
habilitado.
Declaraciones SAVEPOINT
No puede utilizar las siguientes instrucciones en un clúster secundario cuando el reenvío de escritura
esté activado dentro de la sesión. Puede utilizar estas instrucciones en clústeres secundarios
que no tengan habilitado el reenvío de escritura o en sesiones en las que la configuración
aurora_replica_read_consistency esté en blanco. Compruebe si su código utiliza estas
instrucciones antes de activar el reenvío de escritura dentro de una sesión.
SAVEPOINT t1_save;
ROLLBACK TO SAVEPOINT t1_save;
RELEASE SAVEPOINT t1_save;
283
Amazon Aurora Guía del usuario de Aurora
Uso del reenvío de escritura en
una base de datos Aurora global
Puede controlar cuál es el grado de coherencia de lectura en un clúster secundario. El nivel de coherencia
de lectura determina cuánto espera el clúster secundario antes de cada operación de lectura para
garantizar que algunos de los cambios o todos los cambios se repliquen desde el clúster principal.
Puede ajustar el nivel de coherencia de lectura para asegurarse de que todas las operaciones de
escritura reenviadas desde la sesión estén visibles en el clúster secundario antes de cualquier consulta
posterior. También puede utilizar esta configuración para asegurarse de que las consultas del clúster
secundario siempre vean las actualizaciones más recientes del clúster principal. Esto es así incluso
para los presentados por otros periodos de sesiones u otros grupos temáticos. Para especificar
este tipo de comportamiento para la aplicación, elija un valor para el parámetro de nivel de sesión
aurora_replica_read_consistency.
Important
A medida que aumenta el nivel de coherencia, la aplicación pasa más tiempo esperando que los cambios
se propaguen entre las regiones de AWS. Puede buscar el equilibrio entre un tiempo de respuesta rápido y
asegurarse de que los cambios realizados en otras ubicaciones estén completamente disponibles antes de
que se ejecuten las consultas.
Con la coherencia de lectura establecida en EVENTUAL, las consultas en una región secundaria de
AWS que utiliza el reenvío de escritura pueden ver datos ligeramente obsoletos debido al retardo de
reproducción. Los resultados de las operaciones de escritura de la misma sesión no son visibles hasta
que la operación de escritura se realiza en la región principal y se replica en la región actual. La consulta
no espera a que los resultados actualizados estén disponibles. Por lo tanto, podría recuperar los datos
antiguos o los datos actualizados, en función del momento de las instrucciones y la cantidad de retardo de
replicación.
Con la coherencia de lectura establecida en SESSION, todas las consultas de una región secundaria
de AWS que utiliza el reenvío de escritura verán los resultados de todos los cambios realizados en
esa sesión. Los cambios son visibles independientemente de si la transacción está confirmada. Si
es necesario, la consulta espera a que los resultados de las operaciones de escritura reenviadas se
repliquen en la región actual. No espera a que se actualicen los resultados de las operaciones de escritura
realizadas en otras regiones o en otras sesiones dentro de la región actual.
Con la coherencia de lectura establecida en GLOBAL, una sesión de una región secundaria de AWS verá
los cambios realizados por esa sesión. También verá todos los cambios confirmados tanto de la región
principal de AWS como de otras regiones secundarias de AWS. Cada consulta puede esperar un tiempo,
que variará en función de la cantidad de retardo de la sesión. La consulta continúa cuando el clúster
secundario está actualizado con todos los datos confirmados del clúster principal, a partir del momento en
que comenzó la consulta.
Para obtener más información sobre todos los parámetros relacionados con el reenvío de escritura,
consulte Parámetros de configuración para el reenvío de escritura (p. 287).
284
Amazon Aurora Guía del usuario de Aurora
Uso del reenvío de escritura en
una base de datos Aurora global
brevemente antes de emitir la instrucción SELECT. O Aurora puede esperar automáticamente hasta que los
resultados terminen de replicarse antes de continuar con SELECT.
En este ejemplo, hay una configuración de coherencia de lectura de eventual. Ejecutar una instrucción
INSERT inmediatamente seguida de una instrucción SELECT todavía devuelve el valor de COUNT(*). Este
valor refleja el número de filas antes de insertar la nueva fila. Al ejecutar el SELECT nuevo poco tiempo
después se devuelve el recuento de filas actualizado. Las instrucciones SELECT no tienen tiempo de
espera.
Con una configuración de coherencia de lectura de session, una instrucción SELECT inmediatamente
después de una instrucción INSERT espera hasta que los cambios de la instrucción INSERT sean visibles.
Las instrucciones SELECT posteriores no tienen tiempo de espera.
Con la configuración de coherencia de lectura todavía establecida en session, al introducir una breve
espera después de realizar una instrucción INSERT, el recuento de filas actualizado estará disponible para
cuando se ejecute la siguiente instrucción SELECT.
285
Amazon Aurora Guía del usuario de Aurora
Uso del reenvío de escritura en
una base de datos Aurora global
mysql> insert into t1 values (6); select sleep(2); select count(*) from t1;
Query OK, 1 row affected (0.07 sec)
+----------+
| sleep(2) |
+----------+
| 0 |
+----------+
1 row in set (2.01 sec)
+----------+
| count(*) |
+----------+
| 8 |
+----------+
1 row in set (0.00 sec)
Con una configuración de coherencia de lectura de global, cada instrucción SELECT espera para
asegurarse de que todos los cambios de datos que se realicen a partir de la hora de inicio de la instrucción
sean visibles antes de realizar la consulta. La cantidad de espera de cada instrucción SELECT varía en
función de la cantidad de retardo de replicación entre los clústeres principal y secundario.
Si una transacción de larga duración no emite ninguna instrucción durante un período de tiempo
significativo, podría exceder el período de tiempo de espera de inactividad. Este período tiene un
286
Amazon Aurora Guía del usuario de Aurora
Uso del reenvío de escritura en
una base de datos Aurora global
valor predeterminado de un minuto. Puede aumentarlo hasta un día. El clúster principal cancela las
transacciones que superan el tiempo de espera de inactividad. La siguiente instrucción que envíe recibirá
un error de tiempo de espera. A continuación, Aurora revertirá la transacción.
Este tipo de error puede producirse en otros casos cuando el reenvío de escritura deja de estar disponible.
Por ejemplo, Aurora cancela cualquier transacción que utilice reenvío de escritura si reinicia el clúster
principal o si desactiva la configuración de reenvío de escritura.
Global
aurora_fwd_master_max_connections_pct entero largo 10 0–90
(Aurora MySQL, versión 2) sin signo
Global
aurora_fwd_writer_max_connections_pct entero largo 10 0–90
(Aurora MySQL, versión 3) sin signo
Para controlar las solicitudes de escritura entrantes de clústeres secundarios, utilice esta configuración en
el clúster principal:
Esta configuración solo se aplica en el clúster principal, cuando uno o más clústeres secundarios
tienen habilitado el reenvío de escritura. Si disminuye el valor, las conexiones existentes no se ven
afectadas. Aurora tendrá en cuenta el nuevo valor de la configuración al intentar crear una nueva
conexión desde un clúster secundario. El valor predeterminado es 10, que representa el 10% del valor
max_connections. Si habilita el reenvío de consultas en cualquiera de los clústeres secundarios, esta
configuración debe tener un valor distinto de cero para que las operaciones de escritura de clústeres
secundarios se realicen correctamente. Si el valor es cero, las operaciones de escritura recibirán el
287
Amazon Aurora Guía del usuario de Aurora
Uso del reenvío de escritura en
una base de datos Aurora global
288
Amazon Aurora Guía del usuario de Aurora
Uso del reenvío de escritura en
una base de datos Aurora global
Las siguientes métricas de CloudWatch se aplican a cada clúster secundario. Estas métricas se miden en
cada instancia de base de datos de lector de un clúster secundario con reenvío de escritura habilitado.
289
Amazon Aurora Guía del usuario de Aurora
Uso del reenvío de escritura en
una base de datos Aurora global
290
Amazon Aurora Guía del usuario de Aurora
Recuperación de desastres y
base de datos globales de Aurora
• Objetivo de tiempo de recuperación (RTO) – El tiempo que tarda un sistema en volver a un estado
operativo después de un desastre. En otras palabras, el RTO mide el tiempo de inactividad. Para una
base de datos global de Aurora, el RTO puede estar en el orden de minutos.
• Objetivo de punto de recuperación (RPO) – La cantidad de datos que se pueden perder (medidos en el
tiempo). Para una base de datos global de Aurora, el RPO se mide normalmente en segundos. Con una
base de datos global basada en Aurora PostgreSQL–, puede utilizar el parámetro rds.global_db_rpo
para establecer y realizar un seguimiento del límite superior de RPO, pero hacerlo podría afectar
al procesamiento de transacciones en el nodo escritor del clúster principal. Para obtener más
información, consulte Administración de RPO para bases de datos globales basadas en Aurora
PostgreSQL– (p. 296).
Con una base de datos global de Aurora, puede elegir entre dos enfoques diferentes para la conmutación
por error.
• Conmutación por error planificada y administrada: esta característica está pensada para entornos
controlados, como el mantenimiento operativo y otros procedimientos operativos planificados. La
conmutación por error planificada administrada permite reubicar el clúster principal de la base de datos
global de Aurora en una de las regiones secundarias. Dado que esta característica sincroniza los
clústeres secundarios de base de datos con el principal antes de realizar cualquier otro cambio, el RPO
es 0 (sin pérdida de datos). El RTO para este proceso automatizado suele ser menor que el del proceso
de conmutación por error “desasociar y promover” porque se gestiona la degradación, promoción y toda
la sincronización para usted. Para obtener más información, consulte Conmutación por error planificada
administrada para bases de datos globales de Amazon Aurora (p. 291).
• Conmutación por error no planificada (“desconectar y promover”): para recuperarse de una interrupción
no planificada o para llevar a cabo pruebas de recuperación de desastres (DR), realice una conmutación
por error entre regiones a uno de los secundarios de su base de datos global de Aurora. El RTO para
este proceso manual depende de la rapidez con la que pueda realizar las tareas enumeradas en
Recuperación de una base de datos global Amazon Aurora de una interrupción no planificada (p. 300).
Normalmente, el RPO se mide en segundos, pero esto depende del retraso de reproducción del
almacenamiento de información de Aurora en la red en el momento de la falla.
Temas
• Conmutación por error planificada administrada para bases de datos globales de Amazon
Aurora (p. 291)
• Administración de RPO para bases de datos globales basadas en Aurora PostgreSQL– (p. 296)
• Recuperación de una base de datos global Amazon Aurora de una interrupción no
planificada (p. 300)
291
Amazon Aurora Guía del usuario de Aurora
Recuperación de desastres y
base de datos globales de Aurora
Mediante la conmutación por error planificada administrada, puede reubicar el clúster de base de datos
primaria global de Aurora en una región de AWS diferente de forma rutinaria. Ser capaz de demostrar
esta capacidad con sus sistemas de producción es un requisito legal para agencias gubernamentales,
instituciones financieras y muchas otras industrias reguladas. Esta característica está pensada para
entornos controlados, como el mantenimiento operativo y otros procedimientos operativos planificados.
Como ejemplo, digamos que una institución financiera con sede en Nueva York tiene sucursales ubicadas
en San Francisco, en el Reino Unido y en Europa. Las principales aplicaciones empresariales de la
organización utilizan una base de datos global de Aurora. Su clúster principal se ejecuta en el Región
EE.UU Este (Ohio), con clústeres secundarios ejecutándose en EE.UU. Oeste (Norte de California),
Región de Europa (Londres) y Región de Europa (Fráncfort). Cada trimestre, reubica el clúster principal de
la región principal (actual) de AWS a la región secundaria designada para esa rotación.
No todas las organizaciones necesitan rotar periódicamente el clúster principal de su base de datos
global de Aurora. Sin embargo, que los reguladores tengan la capacidad de hacerlo durante una auditoría
es un requisito clave para cumplir con los requisitos de recuperación de desastres. Recomendamos la
conmutación por error planificada administrada para organizaciones de todo tipo, como una práctica
recomendada para la preparación de desastres. Esto no solo garantiza que sus procedimientos sean
completos y precisos, sino que lo que es más importante, que el personal esté capacitado para realizar una
conmutación por error de recuperación de desastres antes de que realmente ocurra.
Note
La conmutación por error planificada administrada está diseñada para utilizarse en una base de
datos global de Aurora en buen estado. Para recuperarse de una interrupción no planificada, siga
el proceso de “desasociar y promover” detallado en Recuperación de una base de datos global
Amazon Aurora de una interrupción no planificada (p. 300).
Durante una conmutación por error planificada administrada, el clúster principal se conmuta por error a
la región secundaria que elija mientras se mantiene la topología de reproducción existente de la base
de datos global de Aurora. Antes de que comience el proceso de conmutación por error planificada
administrada, la base de datos global de Aurora sincroniza todos los clústeres secundarios con su
clúster principal. Después de asegurarse de que todos los clústeres están sincronizados, comienza la
conmutación por error administrada. El clúster de base de datos en la región principal se convierte en
solo de lectura. El clúster secundario elegido promueve uno de sus nodos de solo de lectura al estado de
escritor completo, lo que permite que el clúster asuma la función de clúster principal. Dado que todos los
clústeres secundarios se sincronizaron con el principal al principio del proceso, el nuevo principal continúa
las operaciones para la base de datos global de Aurora sin perder ningún dato. La aplicación no estará
disponible durante un corto tiempo, a medida que los clústeres principales y secundarios seleccionados
asumen sus nuevas funciones.
Para optimizar la disponibilidad de las aplicaciones, se recomienda hacer lo siguiente antes de utilizar esta
característica:
• Realice esta operación durante las horas no pico o en otro momento cuando las escrituras en el clúster
principal de base de datos sean mínimas.
• Desconecte las aplicaciones para evitar que se envíen escrituras al clúster principal de la base de datos
global de Aurora.
• Compruebe los tiempos de retraso para todos los clústeres secundarios de base de datos
Aurora de la base de datos global de Aurora. Elija el menor tiempo de retraso general para la
conmutación por error planificada administrada. Utilice Amazon CloudWatch para ver la métrica de
AuroraGlobalDBReplicationLag de todos los clústeres secundarios. Esta métrica indica qué tan
lejos (en milisegundos) está un clúster secundario con respecto al clúster principal de base de datos. Su
valor es directamente proporcional al tiempo que tardará Aurora en completar la conmutación por error.
En otras palabras, cuanto mayor sea el valor de retraso, más extensa será la interrupción, así que es
necesario elegir la región con el menor retraso.
Para obtener más información acerca de las métricas de CloudWatch para Aurora, consulte Métricas de
nivel de clúster para Amazon Aurora (p. 618).
292
Amazon Aurora Guía del usuario de Aurora
Recuperación de desastres y
base de datos globales de Aurora
Durante una conmutación por error planificada administrada, el clúster secundario de base de datos
elegido se promueve a su nueva función como principal. Sin embargo, no hereda las diversas opciones de
configuración del clúster principal de base de datos. Una falta de coincidencia en la configuración puede
provocar problemas de rendimiento, incompatibilidades de carga de trabajo y otros comportamientos
anómalos. Para evitar estos problemas, recomendamos que se resuelvan las diferencias entre los
clústeres de bases de datos globales de Aurora para lo siguiente:
• Configurar grupo de parámetros de clúster de base de datos de Aurora para el nuevo clúster principal,
si es necesario – Puede configurar los grupos de parámetros de clúster de base de datos de Aurora
de forma independiente para cada clúster Aurora de la base de datos global de Aurora. Esto significa
que cuando se promueve un clúster secundario de base de datos para asumir el rol principal, su grupo
de parámetros puede configurarse de manera diferente que para el principal. Si es así, modifique el
grupo de parámetros del clúster secundario de base de datos promocionado para que se ajuste a la
configuración del clúster principal. Para saber cómo hacerlo, consulte Modificación de parámetros para
una base de datos Aurora global (p. 274).
• Configurar herramientas y opciones de monitoreo, como Amazon CloudWatch Events y alarmas –
Configurar el clúster de base de datos promocionado con la misma capacidad de registro, alarmas,
etc. según sea necesario para la base de datos global. Al igual que con los grupos de parámetros,
la configuración de estas características no se hereda del clúster principal durante el proceso de
conmutación por error. Para obtener más información sobre los clústeres de base de datos de Aurora y
el monitoreo, consulte Información general sobre el monitoreo Amazon Aurora.
• Configurar integraciones con otros servicios de AWS: si la base de datos global de Aurora se integra con
servicios de AWS, como AWS Secrets Manager, AWS Identity and Access Management, Amazon S3
y AWS Lambda, debe asegurarse de que están configurados según sea necesario. Para obtener
más información acerca de la integración de bases de datos globales de Aurora con IAM, Amazon
S3 y Lambda, consulte Uso de las bases de datos globales de Amazon Aurora con otros servicios de
AWS (p. 305). Para obtener más información acerca de Secrets Manager, consulte Cómo automatizar
la reproducción de secretos en AWS Secrets Manager en todas las regiones de AWS.
Cuando finaliza el proceso de conmutación por error, el clúster de base de datos de Aurora promocionado
puede manejar operaciones de escritura para la base de datos global de Aurora. Puede cambiar el
punto de enlace de la aplicación para que utilice el nuevo punto de enlace. Si aceptó los nombres
proporcionados al crear la base de datos global de Aurora, puede cambiar el punto de enlace quitando -ro
de la cadena del punto de enlace del clúster promocionado en la aplicación.
Puede conmutar por error la base de datos global de Aurora mediante la AWS Management Console, la
AWS CLI o la API de RDS.
Consola
Para iniciar el proceso de conmutación por error en la base de datos global de Aurora
293
Amazon Aurora Guía del usuario de Aurora
Recuperación de desastres y
base de datos globales de Aurora
a. Elija el clúster secundario de base de datos de Aurora que desea promover a principal. El clúster
secundario de base de datos debe estar disponible. Si tiene más de un clúster secundario de
base de datos, puede comparar la cantidad de retraso para todos los clústeres secundarios y
elegir el que tenga la menor cantidad de retraso.
b. Elija Fail over global database (Base de datos global de conmutación por error) para confirmar la
elección del clúster secundario de base de datos e iniciar el proceso de conmutación por error.
Tip
El proceso de conmutación por error puede tardar algún tiempo en finalizar. Puede
cancelarlo una vez que el proceso esté en marcha, pero puede tardar algún tiempo en
devolver la base de datos global Aurora a su configuración original.
294
Amazon Aurora Guía del usuario de Aurora
Recuperación de desastres y
base de datos globales de Aurora
La columna Status (Estado) de la lista Databases (Bases de datos) muestra el estado de cada
instancia de base de datos de Aurora y clúster de base de datos de Aurora durante el proceso de
conmutación por error.
Elija Cancel failover (Cancelar conmutación por error) si desea cancelar la conmutación por error.
c. Elija Close (Cerrar) para continuar con la conmutación por error y omitir la solicitud.
Cuando finaliza la conmutación por error, puede ver los clústeres de base de datos de Aurora y su estado
actual en la lista Databases (Bases de datos), como se muestra a continuación.
295
Amazon Aurora Guía del usuario de Aurora
Recuperación de desastres y
base de datos globales de Aurora
AWS CLI
Para conmutar por error una base de datos global de Aurora
Utilice el comando CLI failover-global-cluster para conmutar por error la base de datos global de
Aurora. Con el comando, pase valores para los siguientes parámetros.
• --region: especifique la región de AWS en la que se está ejecutando el clúster de la base de datos
primaria de la base de datos global de Aurora.
• --global-cluster-identifier – Especifique el nombre de la base de datos global de Aurora.
• --target-db-cluster-identifier – Especifique el nombre de recurso de Amazon (ARN) del
clúster de base de datos de Auroraque desea promover para que sea el principal de la base de datos
global de Aurora.
Para Windows:
API de RDS
Para conmutar por error una base de datos global de Aurora, ejecute la operación de la API
FailOverGlobalCluster.
Cuando establece un RPO para la base de datos global basada en Aurora PostgreSQL–, Aurora monitorea
el tiempo de retraso de RPO de todos los clústeres secundarios para asegurarse de que al menos un
clúster secundario permanezca dentro de la ventana de RPO de destino. El tiempo de retraso de RPO es
otra métrica basada en tiempo.
296
Amazon Aurora Guía del usuario de Aurora
Recuperación de desastres y
base de datos globales de Aurora
El RPO se utiliza cuando la base de datos reanuda las operaciones en una nueva región de AWS después
de una conmutación por error. Aurora evalúa los tiempos de retraso de RPO y RPO para confirmar (o
bloquear) transacciones en el clúster principal de la siguiente manera:
• Confirma la transacción si al menos un clúster secundario de base de datos tiene un tiempo de retraso
de RPO menor que el RPO.
• Bloquea la transacción si todos los clústeres secundarios de base de datos tienen tiempos de retraso de
RPO mayores que el RPO. También registra el evento en el archivo de registro de PostgreSQL y emite
eventos de “espera” que muestran las sesiones bloqueadas.
En otras palabras, si todos los clústeres secundarios están detrás del RPO fijado, Aurora detiene las
transacciones en el clúster principal hasta que al menos uno de los clústeres secundarios se recupere. Las
transacciones en pausa se reanudan y confirman tan pronto como el tiempo de retraso de al menos un
clúster secundario de base de datos sea menor que el RPO. El resultado es que ninguna transacción se
puede confirmar hasta que se cumpla el RPO.
Si establece este parámetro como se describe a continuación, también puede monitorear las métricas que
genera. Puede hacerlo mediante psql u otra herramienta para consultar el clúster principal de la base de
datos global de Aurora y obtener información detallada sobre las operaciones de la base de datos global
basada en Aurora PostgreSQL–. Para saber cómo hacerlo, consulte Monitoreo de bases de datos globales
de Aurora basadas en Aurora PostgreSQL (p. 303).
Temas
• Establecimiento del objetivo de punto de recuperación (p. 297)
• Visualización del objetivo de punto de recuperación (p. 298)
• Desactivación del objetivo de punto de recuperación (p. 299)
Puede establecer este valor para la base de datos global basada en Aurora PostgreSQL–mediante la AWS
Management Console, la AWS CLI o la API de RDS.
Consola
Los grupos de parámetros no se pueden editar directamente. En su lugar, puede hacer lo siguiente:
297
Amazon Aurora Guía del usuario de Aurora
Recuperación de desastres y
base de datos globales de Aurora
Para obtener más información, consulte Modificación de parámetros de un grupo de parámetros de clúster
de base de datos (p. 381).
AWS CLI
Para establecer el parámetro rds.global_db_rpo, utilice el comando de CLI modify-db-cluster-
parameter-group. En el comando, especifique el nombre del grupo de parámetros del clúster principal y los
valores para el parámetro RPO.
Para Windows:
API de RDS
Para modificar el parámetro rds.global_db_rpo, utilice la operación ModifyDBClusterParameterGroup
de la API de Amazon RDS.
db-name=>show rds.global_db_rpo;
rds.global_db_rpo
-------------------
-1
(1 row)
La siguiente respuesta es de un clúster secundario de base de datos que tiene una configuración de RPO
de 1 minuto.
rds.global_db_rpo
-------------------
60
(1 row)
298
Amazon Aurora Guía del usuario de Aurora
Recuperación de desastres y
base de datos globales de Aurora
También puede utilizar la CLI para obtener valores para averiguar si rds.global_db_rpo está activo en
cualquiera de los clústeres de base de datos de Aurora mediante el uso de la CLI para obtener los valores
de todos los parámetros user del clúster.
Para Windows:
El comando devuelve un resultado similar al siguiente para todos los parámetros user que no son
default-engine o parámetros de clúster de base de datos de system.
{
"Parameters": [
{
"ParameterName": "rds.global_db_rpo",
"ParameterValue": "60",
"Description": "(s) Recovery point objective threshold, in seconds, that blocks
user commits when it is violated.",
"Source": "user",
"ApplyType": "dynamic",
"DataType": "integer",
"AllowedValues": "20-2147483647",
"IsModifiable": true,
"ApplyMethod": "immediate",
"SupportedEngineModes": [
"provisioned"
]
}
]
}
Para obtener más información sobre la visualización de parámetros del grupo de parámetros de clúster,
consulte Visualización de los valores de los parámetros de un grupo de parámetros de clúster de base de
datos (p. 393).
Consola
299
Amazon Aurora Guía del usuario de Aurora
Recuperación de desastres y
base de datos globales de Aurora
6. Elija Restablecer.
7. Cuando la pantalla muestre Restablecer parámetros en el grupo de parámetros de base de datos, elija
Restablecer parámetros.
Para obtener más información sobre cómo restablecer un parámetro con la consola, consulte Modificación
de parámetros de un grupo de parámetros de clúster de base de datos (p. 381).
AWS CLI
Para restablecer el parámetro rds.global_db_rpo, utilice el comando reset-db-cluster-parameter-group.
Para Windows:
API de RDS
Para restablecer el parámetro rds.global_db_rpo, utilice la operación
ResetDBClusterParameterGroup de la API de Amazon RDS.
Para conmutar por error a un clúster secundario después de una interrupción no planificada en la
región principal
1. Detenga la emisión de sentencias DML y otras operaciones de escritura en el clúster principal de base
de datos de Aurora de la región de AWS con la interrupción.
2. Identifique un clúster de base de datos de Aurora de una región de AWS secundaria para utilizarlo
como un nuevo clúster de base de datos primaria. Si tiene dos (o más) regiones de AWS secundarias
en la base de datos global de Aurora, elija el clúster secundario que tenga el menor tiempo de retraso.
3. Desconecte el clúster secundario de la base de datos global de Aurora elegido.
300
Amazon Aurora Guía del usuario de Aurora
Monitoreo de una base de datos global de Aurora
Para obtener más información sobre los pasos para desasociar clústeres, consulte Eliminación de un
clúster de una base de datos global de Amazon Aurora (p. 274).
4. Vuelva a configurar la aplicación para enviar todas las operaciones de escritura a este clúster de
base de datos de Aurora ahora independiente con su nuevo punto de enlace. Si aceptó los nombres
proporcionados al crear la base de datos global de Aurora, puede cambiar el punto de enlace quitando
-ro de la cadena del punto de enlace del clúster en la aplicación.
Este clúster de base de datos de Aurora se convierte en el clúster principal de una nueva base de
datos global de Aurora cuando comienza a agregarle regiones, en el siguiente paso.
5. Agregue una región de AWS al clúster de base de datos. Al hacerlo, comienza el proceso de
reproducción de clúster principal a secundario. Para obtener más información sobre los pasos
para agregar una región, consulte Agregar una región de AWS a una base de datos global de
Amazon Aurora (p. 265).
6. Agregue más regiones de AWS según sea necesario para volver a crear la topología necesaria para
admitir la aplicación.
Asegúrese de que las escrituras de la aplicación se envían al clúster de base de datos de Aurora correcto
antes, durante y después de realizar cambios como estos, para evitar incoherencias de datos entre los
clústeres de la base de datos global de Aurora (problemasde split-brain).
Si ha realizado esta reconfiguración en respuesta a una interrupción en una región de AWS, es posible
que pueda devolver la base de datos global de Aurora a su región de AWS principal original después de
que se resuelva la interrupción mediante el proceso de conmutación por error planificada administrada.
La base de datos global de Aurora debe utilizar una versión de Aurora PostgreSQL o Aurora MySQL que
admita la característica de conmutación por error planificada administrada. Para obtener más información,
consulte Conmutación por error planificada administrada para bases de datos globales de Amazon
Aurora (p. 291).
• Amazon RDS Información sobre rendimiento – Permite el esquema de rendimiento en el motor de base
de datos Aurora subyacente. Para obtener más información sobre la información sobre rendimiento y
bases de datos Aurora globales, consulte Supervisión de una base de datos Amazon Aurora global con
Amazon RDS la información sobre rendimiento (p. 302).
• Supervisión mejorada – Genera métricas para la utilización de procesos o subprocesos en la CPU.
• Amazon CloudWatch Logs – Publica los tipos de registro especificados en CloudWatch Logs. Los
registros de errores se publican de forma predeterminada, pero puede elegir otros registros específicos
del motor de base de datos Aurora.
301
Amazon Aurora Guía del usuario de Aurora
Monitoreo de una base de datos global de Aurora
• Para los clústeres de base de datos Aurora basados en Aurora MySQL–, puede exportar el registro de
auditoría, el registro general y el registro de consulta lenta.
• Para clústeres de base de datos Aurora basados en Aurora PostgreSQL–, puede exportar el registro
de Postgresql.
• Para bases de datos globales basadas en Aurora PostgreSQL–, puede utilizar ciertas funciones para
comprobar el estado de la base de datos Aurora global y sus instancias. Para saber cómo hacerlo,
consulte Monitoreo de bases de datos globales de Aurora basadas en Aurora PostgreSQL (p. 303).
La siguiente captura de pantalla muestra algunas de las opciones disponibles en la pestaña Supervisión de
un clúster de base de datos Aurora principal en una base de datos Aurora global.
Para obtener más información, consulte Monitoreo de un clúster de base de datos de Amazon
Aurora (p. 593).
Los informes creados por la información sobre rendimiento se aplican a cada clúster de la base de datos
global. Cuando agregue una nueva región de AWS secundaria a una base de datos global de Aurora que
ya está utilizando Performance Insights, habilite Performance Insights en el clúster recién agregado. No
hereda la configuración de Performance Insights de la base de datos global existente.
Puede cambiar las regiones de AWS mientras ve la página de Performance Insights para una instancia
de base de datos que está conectada a una base de datos global. Sin embargo, es posible que no vea la
información sobre rendimiento de inmediato después de cambiar regiones de AWS. Aunque las instancias
de base de datos pueden tener nombres idénticos en cada región de AWS, la URL de la información sobre
302
Amazon Aurora Guía del usuario de Aurora
Monitoreo de una base de datos global de Aurora
rendimiento asociada es distinta para cada instancia de base de datos. Después de cambiar regiones de
AWS, elija el nombre de la instancia de base de datos de nuevo en el panel de navegación de información
sobre rendimiento.
Para las instancias de base de datos asociadas a una base de datos global, los factores que afectan al
rendimiento pueden ser distintos en cada región de AWS. Por ejemplo, las instancias de base de datos en
cada región de AWS pueden tener una capacidad diferente.
Para obtener más información sobre el uso de la información sobre rendimiento, consulte Monitoreo de la
carga de base de datos con Información sobre rendimiento en Amazon Aurora (p. 642).
1. Conéctese al punto de enlace del clúster principal de la base de datos global mediante una utilidad
PostgreSQL como psql. Para obtener más información acerca de cómo conectarse, consulte Conexión
a una base de datos global de Amazon Aurora (p. 278).
2. Utilice la función aurora_global_db_status de un comando psql para enumerar los volúmenes
primario y secundario. Esto muestra los tiempos de retraso de los clústeres de bases de datos
secundarios de la base de datos global.
El resultado incluye una fila para cada clúster de base de datos de la base de datos global que
contiene las siguientes columnas:
• aws_region: la región de AWS donde está este clúster de base de datos. Para ver las tablas que
muestran las regiones de AWS por motor, consulte Regiones y zonas de disponibilidad.
• highest_lsn_written: el número de secuencia de registro (LSN) más alto escrito actualmente en este
clúster de base de datos.
Un número de secuencia de registro (LSN) es un número secuencial único que identifica un registro
en el registro de transacciones de la base de datos. Los LSN se ordenan de tal manera que un LSN
más grande representa una transacción posterior.
• durability_lag_in_msec: la diferencia de marca temporal entre el número de secuencia de registro
más alto escrito en un clúster de base de datos secundario (highest_lsn_written) y el
highest_lsn_written del clúster de base de datos principal.
303
Amazon Aurora Guía del usuario de Aurora
Monitoreo de una base de datos global de Aurora
• rpo_lag_in_msec: el retraso del objetivo del punto de recuperación (RPO). Este retraso es la
diferencia de tiempo entre la confirmación de transacción de usuario más reciente almacenada en
un clúster de base de datos secundario y la confirmación de transacción de usuario más reciente
almacenada en el clúster de base de datos principal.
• last_lag_calculation_time: la marca temporal en la que se calcularon por última vez los valores para
durability_lag_in_msec y rpo_lag_in_msec.
• feedback_epoch: la fecha de inicio del clúster de base de datos secundario cuando genera
información en espera en caliente.
En espera en caliente es cuando un clúster de base de datos puede conectarse y realizar consultas
mientras el servidor está en modo de recuperación o espera. La retroalimentación en espera en
caliente es información sobre el clúster de base de datos cuando está en espera en caliente. Para
obtener más información, consulte la documentación de PostgreSQL sobre Hot Standby.
• feedback_xmin: el ID de transacción activa mínima (más antigua) utilizada por el clúster de base de
datos secundario.
3. Utilice la función aurora_global_db_instance_status para enumerar todas las instancias de
base de datos secundarias tanto para el clúster de base de datos principal como para los clústeres de
base de datos secundarios.
server_id | session_id
| aws_region | durable_lsn | highest_lsn_rcvd | feedback_epoch | feedback_xmin |
oldest_read_view_lsn | visibility_lag_in_msec
--------------------------------------------+--------------------------------------
+------------+-------------+------------------+----------------+---------------
+----------------------+------------------------
apg-global-db-rpo-mammothrw-elephantro-1-n1 | MASTER_SESSION_ID |
us-east-1 | 93763985102 | | | |
|
apg-global-db-rpo-mammothrw-elephantro-1-n2 | f38430cf-6576-479a-b296-dc06b1b1964a |
us-east-1 | 93763985099 | 93763985102 | 2 | 3315479243 |
93763985095 | 10
apg-global-db-rpo-elephantro-mammothrw-n1 | 0d9f1d98-04ad-4aa4-8fdd-e08674cbbbfe |
us-west-2 | 93763985095 | 93763985099 | 2 | 3315479243 |
93763985089 | 1017
(3 rows)
El resultado incluye una fila para cada instancia de base de datos de la base de datos global que
contiene las siguientes columnas:
En espera en caliente es cuando una instancia de base de datos puede conectarse y realizar
consultas mientras el servidor está en modo de recuperación o espera. La retroalimentación en
espera en caliente es información sobre la instancia de base de datos cuando está en espera en
304
Amazon Aurora Guía del usuario de Aurora
Uso de las bases de datos globales
de Aurora con otros servicios de AWS
caliente. Para obtener más información, consulte la documentación de PostgreSQL sobre Hot
Standby.
• feedback_xmin: el ID de transacción activo mínimo (más antiguo) utilizado por la instancia de base
de datos.
• oldest_read_view_lsn: el LSN más antiguo utilizado por la instancia de base de datos para leer
desde el almacenamiento.
• visibility_lag_in_msec: hasta qué punto esta instancia de base de datos se está quedando por detrás
de la instancia de base de datos de escritor.
Para ver cómo cambian estos valores con el tiempo, tenga en cuenta el siguiente bloque de transacciones
en el que una inserción de tabla tarda una hora.
psql> BEGIN;
psql> INSERT INTO table1 SELECT Large_Data_That_Takes_1_Hr_To_Insert;
psql> COMMIT;
En algunos casos, puede haber una desconexión de red entre el clúster de base de datos principal y el
clúster de base de datos secundario después de la instrucción BEGIN. En tal caso, el valor del clúster de
base de datos secundario replication_lag_in_msec comienza a aumentar. Al final de la instrucción
INSERT, el valor replication_lag_in_msec es 1 hora. Sin embargo, el valor rpo_lag_in_msec es
0 porque todos los datos de usuario confirmados entre el clúster de base de datos principal y el clúster
de base de datos secundario siguen siendo los mismos. En cuanto se complete la instrucción COMMIT, el
valor rpo_lag_in_msec aumenta.
Los siguientes procedimientos resumen las acciones que se deben realizar para cada AWS servicio.
Para invocar características de AWS Lambda desde una base de datos de Aurora global
1. Para los clústeres de Aurora que componen la base de datos global de Aurora, realice los
procedimientos de Invocación de una función de Lambda desde un clúster de base de datos de
Amazon Aurora MySQL (p. 1093).
2. Para cada clúster de la base de datos Aurora global, establezca el (ARN) de la nueva función IAM
(IAM).
3. Para permitir que los usuarios de una base de datos global de Aurora invoquen funciones Lambda,
asocie el rol que ha creado en Creación de un rol de IAM que permita a Amazon Aurora acceder a los
servicios de AWS (p. 1071) con cada clúster en la base de datos global de Aurora.
4. Configure cada clúster de la base de datos global de Aurora para permitir conexiones salientes hacia
Lambda. Para obtener instrucciones, consulte Habilitación de la comunicación de red de Amazon
Aurora MySQL con otros servicios de AWS (p. 1077).
305
Amazon Aurora Guía del usuario de Aurora
Uso de las bases de datos globales
de Aurora con otros servicios de AWS
1. Para los clústeres de Aurora que componen la base de datos global de Aurora, realice los
procedimientos de Carga de datos en un clúster de base de datos Amazon Aurora MySQL desde
archivos de texto en un bucket de Amazon S3 (p. 1078).
2. Para cada clúster de la base de datos global de Aurora, configure o bien el parámetro del clúster
de la base de datos aurora_load_from_s3_role o el aws_default_s3_role con el Nombre
de recurso de Amazon (ARN) del nuevo rol de IAM. Si no se ha especificado un rol de IAM para
aurora_load_from_s3_role, Aurora utilizará el rol de IAM especificado en el parámetro
aws_default_s3_role.
3. Para permitir que los usuarios de una base de datos global de Aurora accedan a S3, asocie el rol que
ha creado en Creación de un rol de IAM que permita a Amazon Aurora acceder a los servicios de
AWS (p. 1071) con cada clúster de Aurora en la base de datos global.
4. Configure cada clúster de la base de datos global de Aurora para permitir conexiones salientes hacia
S3. Para obtener instrucciones, consulte Habilitación de la comunicación de red de Amazon Aurora
MySQL con otros servicios de AWS (p. 1077).
1. Para los clústeres de Aurora que componen la base de datos global de Aurora, realice los
procedimientos de Grabación de datos desde un clúster de base de datos Amazon Aurora MySQL en
archivos de texto de un bucket de Amazon S3 (p. 1086).
2. Para cada clúster de la base de datos global de Aurora, configure o bien el parámetro del clúster de
la base de datos aurora_select_into_s3_role o el aws_default_s3_role con el Nombre
de recurso de Amazon (ARN) del nuevo rol de IAM. Si no se ha especificado un rol de IAM para
aurora_select_into_s3_role, Aurora utilizará el rol de IAM especificado en el parámetro
aws_default_s3_role.
3. Para permitir que los usuarios de una base de datos global de Aurora accedan a S3, asocie el rol que
ha creado en Creación de un rol de IAM que permita a Amazon Aurora acceder a los servicios de
AWS (p. 1071) con cada clúster de Aurora en la base de datos global.
4. Configure cada clúster de la base de datos global de Aurora para permitir conexiones salientes hacia
S3. Para obtener instrucciones, consulte Habilitación de la comunicación de red de Amazon Aurora
MySQL con otros servicios de AWS (p. 1077).
306
Amazon Aurora Guía del usuario de Aurora
Conexión a un clúster de base de datos
Para los clústeres de Aurora Serverless v1 base de datos, se conecta al punto de enlace de la
base de datos en lugar de a la instancia de base de datos. Puede encontrar el punto de enlace
de la base de datos para un clúster de base de datos de Aurora Serverless v1 en la pestaña
Conectividad y seguridad de AWS Management Console. Para obtener más información, consulte
Uso de Amazon Aurora Serverless v1 (p. 162).
Independientemente del motor de base de datos Aurora y de las herramientas específicas que utilice para
trabajar con el clúster o instancia de base de datos, el punto de enlace debe ser accesible. Los clústeres
de base de datos de Amazon Aurora deben crearse en una nube virtual privada (VPC) basada en el
servicio de Amazon VPC. Esto significa que puede acceder al punto de enlace desde dentro de la VPC o
fuera de la VPC utilizando uno de los siguientes enfoques.
• Acceda al clúster de base de datos Amazon Aurora dentro de la VPC – Habilitar el acceso al clúster
de base de datos Amazon Aurora a través de la VPC. Para ello, edite las reglas entrantes en el grupo
Seguridad de la VPC para permitir el acceso al clúster de Aurora base de datos específico. Para obtener
más información, incluido cómo configurar la VPC para diferentes escenarios de clúster de Aurora base
de datos, consulte Amazon nube virtual privada VPC y Amazon Aurora.
• Acceda al clúster de Amazon Aurora base de datos fuera de la VPC – Para tener acceso a un clúster de
Amazon Aurora base de datos desde fuera de la VPC, utilice la dirección pública del punto de enlace
del clúster de Amazon Aurora base de datos. También puede conectarse a un clúster de base de datos
de Amazon Aurora que se encuentra dentro de una VPC desde una instancia de Amazon EC2 que no
esté en la VPC mediante ClassicLink. Para obtener más información, consulte Acceso a una instancia de
base de datos situada en una VPC desde una instancia EC2 situada en una VPC (p. 1943).
Para obtener más información, consulte Solución de errores de conexión de Aurora (p. 313).
Temas
• Conexión a un clúster de base de datos Amazon Aurora MySQL (p. 307)
• Conexión a un clúster de base de datos Amazon Aurora PostgreSQL (p. 311)
• Solución de errores de conexión de Aurora (p. 313)
307
Amazon Aurora Guía del usuario de Aurora
Conexión a Aurora MySQL
Management (IAM). Para obtener más información sobre el uso de la autenticación con nombre de usuario
y contraseña de MySQL, consulte Control de acceso y administración de cuentas en la documentación
de MySQL. Para obtener más información sobre cómo usar la autenticación de base de datos de IAM,
consulte Autenticación de bases de datos de IAM (p. 1877).
Cuando tenga una conexión a su clúster de base de datos Amazon Aurora con compatibilidad con
la versión 8.0 de MySQL, podrá ejecutar comandos de SQL que sean compatibles con la versión 8.0
de MySQL. La versión mínima compatible es MySQL 8.0.23. Para obtener más información sobre la
sintaxis SQL de MySQL 8.0, consulte MySQL 8.0 Reference Manual. Para obtener información sobre las
limitaciones que se aplican a Aurora MySQL 3, consulte Comparación de Aurora MySQL versión 3 y la
comunidad Aurora MySQL versión 8.0 (p. 812).
Cuando tenga una conexión a su clúster de base de datos Amazon Aurora con compatibilidad con
la versión 5.7 de MySQL, podrá ejecutar comandos de SQL que sean compatibles con la versión 5.7
de MySQL. Para obtener más información sobre la sintaxis SQL de MySQL 5.7, consulte MySQL 5.7
Reference Manual. Para obtener información sobre las limitaciones que se aplican a Aurora MySQL 5.7,
consulte Aurora MySQL versión 2 compatible con MySQL 5.7 (p. 829).
Cuando tenga una conexión a su clúster de base de datos Amazon Aurora con compatibilidad con
la versión 5.6 de MySQL, podrá ejecutar comandos de SQL que sean compatibles con la versión 5.6
de MySQL. Para obtener más información sobre la sintaxis SQL de MySQL 5.6, consulte MySQL 5.6
Reference Manual.
Note
Para obtener una guía detallada y práctica sobre la conexión a un clúster de base de datos de
Amazon Aurora MySQL puede consultar el manual Aurora Connection Management.
En la vista de detalles del clúster de base de datos, puede encontrar el punto de enlace de clúster,
que se puede usar en la cadena de conexión de MySQL. El punto de enlace se compone del nombre
de dominio y el puerto del clúster de base de datos. Por ejemplo, si un valor de punto de enlace es
mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com:3306, debe especificar los
siguientes valores en una cadena de conexión de MySQL:
El punto de enlace de clúster le conecta a la instancia principal del clúster de base de datos. Puede realizar
operaciones de lectura y escritura con el punto de enlace de clúster. El clúster de base de datos también
puede tener hasta 15 réplicas de Aurora que admiten acceso de solo lectura a los datos de su clúster
de base de datos. La instancia principal y cada réplica de Aurora tienen un punto de enlace único que
es independiente del punto de enlace del clúster y que permite establecer conexión directamente con
una instancia de base de datos concreta del clúster. El punto de conexión del clúster apunta siempre a la
instancia principal. Si se produce un error en la instancia principal y se reemplaza, el punto de enlace del
clúster apunta a la nueva instancia principal.
Para ver el punto de enlace del clúster (punto de enlace de escritor), elija Databases (Bases de datos) en
la consola de Amazon RDS y elija el nombre del clúster de base de datos para mostrar sus detalles.
308
Amazon Aurora Guía del usuario de Aurora
Conexión a Aurora MySQL
• Línea de comando: puede conectarse a un clúster de base de datos Amazon Aurora usando
herramientas como la utilidad de línea de comando de MySQL. Para obtener más información acerca del
uso de la utilidad de MySQL, consulte mysql - The MySQL Command Line Tool en la documentación de
MySQL.
• Interfaz gráfica de usuario (GUI): puede usar la utilidad MySQL Workbench para conectarse por medio
de una interfaz de usuario. Para obtener más información, consulte la página Download MySQL
Workbench.
• Aplicaciones: puede usar la utilidad MariaDB Connector/J para conectar sus aplicaciones a su clúster
de base de datos Aurora. Para obtener más información, consulte la página de descargas de MariaDB
Connector/J.
309
Amazon Aurora Guía del usuario de Aurora
Conexión a Aurora MySQL
Note
Si utiliza la utilidad MariaDB Connector/J con un clúster de Aurora Serverless v1, use el prefijo
jdbc:mariadb:aurora// en su cadena de conexión. El parámetro mariadb:aurora
evita el análisis DNS automático para los destinos de conmutación por error. El escaneo no es
necesario con clústeres de Aurora Serverless v1 de base de datos y provoca un retraso en el
establecimiento de la conexión.
Puede utilizar políticas el cifrado SSL en las conexiones a una instancia de base de datos de Aurora
MySQL. Para obtener información, consulte Uso de SSL/TLS con clústeres de base de datos de Aurora
MySQL (p. 832).
Para conectarse al punto de enlace del clúster mediante SSL, la utilidad de conexión del cliente
debe ser compatible con los nombres alternativos de firmante (SAN). Si la utilidad de conexión
del cliente no admite SAN, puede conectarse directamente a las instancias del clúster de base
de datos de Aurora. Para obtener más información acerca de los puntos de enlace de Aurora,
consulte Administración de conexiones de Amazon Aurora (p. 34).
Para conectarse a un clúster de base de datos con SSL a través de la utilidad MySQL
Para obtener más información acerca de cómo descargar certificados, consulte Uso de SSL/TLS para
cifrar una conexión a un clúster de base de datos (p. 1844).
2. Escriba el siguiente comando en un símbolo del sistema para conectarse a la instancia principal de
un clúster de base de datos con SSL a través de la utilidad MySQL. Para el parámetro -h, escriba el
nombre de DNS del punto de enlace de la instancia principal. Para el parámetro -u, sustituya el ID de
usuario de una cuenta de usuario de base de datos. Para el parámetro --ssl-ca, utilice el nombre del
archivo de certificado de SSL que desee. Escriba la contraseña del usuario maestro cuando se le pida.
mysql -h mycluster-primary.123456789012.us-east-1.rds.amazonaws.com -u
admin_user -p --ssl-ca=[full path]rds-combined-ca-bundle.pem --ssl-verify-
server-cert
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Para obtener instrucciones generales sobre la construcción de cadenas de conexión de RDS for MySQL y
encontrar la clave pública para las conexiones SSL, consulte Conexión a una instancia de base de datos
que ejecuta el motor de base de datos de MySQL.
310
Amazon Aurora Guía del usuario de Aurora
Conexión a Aurora PostgreSQL
Esta es la documentación de previsualización del controlador JDBC de Amazon Web Services para
MySQL. Está sujeta a cambios.
El controlador JDBC de AWS para MySQL (previsualización) es un controlador de cliente diseñado para
la alta disponibilidad de Aurora MySQL. El controlador JDBC de AWS para MySQL es compatible con el
controlador MySQL Connector/J.
El controlador JDBC de AWS para MySQL aprovecha al máximo las capacidades de conmutación por error
de Aurora MySQL. El controlador JDBC de AWS para MySQL mantiene completamente una caché de
la topología de clúster de base de datos y el rol de cada instancia de base de datos, ya sea instancia de
base de datos principal o réplica de Aurora. Utiliza esta topología para omitir los retrasos causados por la
resolución DNS, de modo que se establezca una conexión a la nueva instancia de base de datos primaria
lo más rápido posible.
Para obtener más información acerca del controlador JDBC de AWS para MySQL y las instrucciones
completas para usarlo, consulte el repositorio del controlador JDBC de AWS para MySQL GitHub.
Cuando tenga una conexión a una instancia de base de datos de su clúster de base de datos de Amazon
Aurora PostgreSQL, podrá ejecutar cualquier comando de SQL que sea compatible con PostgreSQL.
En la vista de detalles del clúster de base de datos de Aurora PostgreSQL puede encontrar el nombre
del punto de conexión del clúster, el estado, el tipo y el número de puerto. Puede utilizar el punto de
conexión y número de puerto en su cadena de conexión de PostgreSQL. Por ejemplo, si un valor de punto
de conexión es mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com, debe
especificar los siguientes valores en una cadena de conexión de PostgreSQL:
El punto de enlace de clúster le conecta a la instancia principal del clúster de base de datos. Puede realizar
operaciones de lectura y escritura con el punto de enlace de clúster. El clúster de base de datos también
puede tener hasta 15 réplicas de Aurora que admiten acceso de solo lectura a los datos de su clúster de
base de datos. Cada instancia de base de datos en el clúster de Aurora (esto es, la instancia principal y
cada réplica de Aurora) tiene un punto de enlace único independiente del punto de enlace del clúster. Este
punto de conexión le permite conectarse a una instancia de base de datos específica directamente en el
311
Amazon Aurora Guía del usuario de Aurora
Conexión a Aurora PostgreSQL
clúster. El punto de conexión del clúster apunta siempre a la instancia principal. Si se produce un error en
la instancia principal y se reemplaza, el punto de conexión del clúster apunta a la nueva instancia principal.
Para ver el punto de enlace del clúster (punto de enlace de escritor), elija Databases (Bases de datos) en
la consola de Amazon RDS y elija el nombre del clúster de base de datos para mostrar sus detalles.
• Línea de comando: puede conectarse a una instancia de base de datos Amazon Aurora PostgreSQL
usando herramientas como psql, el terminal interactivo de PostgreSQL. Para obtener más información
acerca del uso del terminal interactivo de PostgreSQL, consulte psql en la documentación de
PostgreSQL.
• Interfaz gráfica de usuario (GUI): puede usar la utilidad pgAdmin para conectarse a una instancia
de base de datos PostgreSQL por medio de una interfaz de usuario. Para obtener más información,
consulte la página Download en el sitio web de pgAdmin.
• Aplicaciones: puede usar el controlador PostgreSQL JDBC para conectar sus aplicaciones a su instancia
de base de datos PostgreSQL. Para obtener más información, consulte la página Download en el sitio
web del controlador PostgreSQL JDBC.
312
Amazon Aurora Guía del usuario de Aurora
Solución de problemas de conexiones
Esta es la documentación de previsualización del controlador JDBC de Amazon Web Services para
PostgreSQL. Está sujeta a cambios.
El controlador JDBC para PostgreSQL de AWS aprovecha al máximo las capacidades de conmutación
por error de Aurora PostgreSQL. El controlador JDBC para PostgreSQL de AWS mantiene completamente
una caché de la topología de clúster de base de datos y el rol de cada instancia de base de datos, ya sea
instancia de base de datos principal o réplica de Aurora. Utiliza esta topología para omitir los retrasos
causados por la resolución DNS, de modo que se establezca una conexión a la nueva instancia de base
de datos primaria lo más rápido posible.
Para obtener más información acerca del controlador JDBC de AWS para PostgreSQL y las instrucciones
completas para usarlo, consulte el repositorio del controlador JDBC de AWS para PostgreSQL GitHub.
• El grupo de seguridad de la VPC no permite el acceso – Su VPC necesita permitir conexiones desde el
dispositivo o desde una instancia Amazon EC2 mediante la configuración adecuada del grupo Seguridad
en la VPC. Para resolverlo, modifique las reglas de entrada del grupo de seguridad de la VPC para
permitir conexiones. Para ver un ejemplo, consulte Creación de una VPC y de subredes (p. 1933).
• Puerto bloqueado por reglas de firewall – Compruebe el valor del puerto configurado para el clúster de
Aurora base de datos. Si una regla de firewall bloquea ese puerto, puede volver a crear la instancia
utilizando un puerto diferente.
• Configuración IAM incompleta o incorrecta – Si ha creado la Aurora instancia de base de datos para
utilizar la autenticación IAM–basada, asegúrese de que está configurada correctamente. Para obtener
más información, consulte Autenticación de bases de datos de IAM (p. 1877).
Para obtener más información acerca de cómo solucionar problemas de conexión de base de datos
Aurora, consulte No puede conectarse a la instancia de base de datos de Amazon RDS (p. 1955).
313
Amazon Aurora Guía del usuario de Aurora
Uso de RDS Proxy
RDS Proxy es totalmente compatible con MySQL y PostgreSQL. Puede habilitar RDS Proxy para
la mayoría de las aplicaciones sin cambios de código.
Con el proxy de RDS puede gestionar aumentos imprevistos en el tráfico de base de datos que de lo
contrario es posible que causen problemas debido a la sobresuscripción de conexiones o a la creación
de nuevas conexiones a un ritmo rápido. El proxy de RDS establece un grupo de conexiones de
base de datos y reutiliza las conexiones de este grupo sin la sobrecarga de memoria y de CPU que
supone abrir una nueva conexión de base de datos cada vez. Para proteger la base de datos frente a la
sobresuscripción, puede controlar el número de conexiones de base de datos que se crean.
RDS Proxy pone en cola o limita las conexiones de aplicaciones que no se pueden atender de inmediato
del grupo de conexiones. Aunque las latencias pueden aumentar, la aplicación puede seguir ajustando
la escala sin fallar bruscamente ni sobrecargar la base de datos. Si las solicitudes de conexión superan
los límites especificados, RDS Proxy rechaza las conexiones de aplicación (es decir, se desprende de la
carga). Al mismo tiempo, mantiene un rendimiento predecible para que se pueda atender la carga con la
capacidad disponible.
Puede reducir la sobrecarga para procesar credenciales y establecer una conexión segura para cada
nueva conexión. El proxy de RDS puede gestionar parte de ese trabajo en nombre de la base de datos.
Temas
• Motores compatibles y disponibilidad de regiones para RDS Proxy (p. 314)
• Cuotas y limitaciones de RDS Proxy (p. 315)
• Planificación del lugar de uso de RDS Proxy (p. 316)
• Conceptos y terminología de RDS Proxy (p. 317)
• Introducción al proxy de RDS (p. 321)
• Administración de un RDS Proxy (p. 333)
• Trabajo con puntos de enlace del proxy de Amazon RDS (p. 343)
• Supervisión de las métricas de RDS Proxy con Amazon CloudWatch (p. 353)
• Trabajo con eventos de RDS Proxy (p. 358)
• Ejemplos de línea de comandos del proxy de RDS (p. 359)
• Solución de problemas de RDS Proxy (p. 361)
• Uso del proxy de RDS con AWS CloudFormation (p. 367)
314
Amazon Aurora Guía del usuario de Aurora
Cuotas y limitaciones
• Puede tener hasta 20 proxies para cada ID de cuenta de AWS. Si su aplicación requiere más proxies,
puede solicitar proxies adicionales abriendo un ticket con la organización de AWS Support.
• Cada proxy puede tener hasta 200 secretos de Secrets Manager asociados. Por lo tanto, cada proxy
puede conectarse con hasta 200 cuentas de usuario distintas en un momento dado.
• Puede crear, ver, modificar y eliminar hasta 20 puntos de enlace para cada proxy. Estos puntos de
enlace se suman al punto de enlace predeterminado que se crea automáticamente para cada proxy.
• En un clúster de Aurora, todas las conexiones que utilizan el punto de enlace de proxy predeterminado
se gestionan por la instancia de escritor Aurora. A fin de llevar a cabo el balanceo de carga para cargas
de trabajo de lectura intensiva, puede crear un punto de enlace de solo lectura para un proxy. Ese punto
de enlace pasa las conexiones al punto de enlace del lector del clúster. De esta manera, sus conexiones
de proxy pueden aprovechar la escalabilidad de lectura Aurora. Para obtener más información, consulte
Información general de los puntos de enlace de proxy (p. 343).
Para las instancias de base de datos de RDS en configuraciones de reproducción, solo puede asociar un
proxy con la instancia de base de datos de escritura, no con una réplica de lectura.
• No se puede utilizar RDS Proxy con clústeres de Aurora sin servidor.
• No se puede utilizar el proxy de RDS con clústeres de Aurora que forman parte de una base de datos
global de Aurora.
• Su RDS Proxy debe estar en la misma nube virtual privada (VPC) que la base de datos. Aunque se
puede acceder públicamente a la base de datos, no sucede lo mismo con el proxy. Por ejemplo, si va a
crear prototipos en un host local, no puede conectarse a RDS Proxy, porque el proxy estaría fuera de la
VPC.
Note
Para los clústeres de bases de datos de Aurora, puede activar el acceso entre VPC. Para ello,
cree un punto de conexión adicional para un proxy y especifique una VPC, subredes y grupos
de seguridad diferentes con ese punto de conexión. Para obtener más información, consulte .
Acceso a Aurora y bases de datos de RDS entre VPC (p. 347).
• No se puede utilizar RDS Proxy con una VPC que tenga su tenencia establecida en dedicated.
• Si utiliza RDS Proxy con una instancia de base de datos de RDS o clúster de base de datos de Aurora
que tiene habilitada la autenticación de IAM, asegúrese de que todos los usuarios que se conectan a
través de un proxy se autentican a través de nombres de usuario y contraseñas. Consulte Configuración
de políticas de AWS Identity and Access Management (IAM) (p. 324) para obtener más información
sobre la compatibilidad de IAM en RDS Proxy.
• No se puede usar RDS Proxy con DNS personalizado.
• RDS Proxy está disponible para las familias de motores MySQL y PostgreSQL.
• Cada proxy se puede asociar con una única instancia o clúster de base de datos de destino. Sin
embargo, puede asociar varios proxies con la misma instancia o clúster de base de datos.
315
Amazon Aurora Guía del usuario de Aurora
Planificación del lugar de uso de RDS Proxy
• No se puede usar RDS Proxy con una instancia de base de datos RDS para MySQL que tenga el
parámetro read_only en su grupo de parámetros de base de datos establecido en1.
• Los proxies no admiten el modo comprimido de MySQL. Por ejemplo, no admiten la compresión utilizada
por las opciones --compress o -C del comando mysql.
• Algunas instrucciones y funciones SQL pueden cambiar el estado de conexión sin causar fijación. Para
conocer el comportamiento de asignación más actual, consulte Evitar la asignación (p. 340).
• Cualquier instancia o clúster de base de datos que encuentre errores de "demasiadas conexiones"
es un buen candidato para asociarse con un proxy. El proxy permite a las aplicaciones abrir muchas
conexiones de cliente, mientras que el proxy administra un número menor de conexiones de larga
duración a la instancia o clúster de base de datos.
• Para instancias de base de datos o clústeres que utilizan clases de instancias más pequeñas de AWS,
como T2 o T3, el uso de un proxy puede ayudar a evitar condiciones de falta de memoria. También
puede ayudar a reducir la sobrecarga de CPU para establecer conexiones. Estas condiciones pueden
producirse cuando se trata de un gran número de conexiones.
• Puede monitorear ciertas métricas de Amazon CloudWatch para determinar si una instancia de base de
datos o un clúster se acerca a ciertos tipos de límite. Estos límites son para el número de conexiones y
la memoria asociados a la administración de conexiones. También puede monitorizar ciertas métricas
de CloudWatch para determinar si una instancia de base de datos o clúster está controlando muchas
conexiones de corta duración. Abrir y cerrar tales conexiones puede imponer una sobrecarga de
rendimiento en su base de datos. Para obtener información sobre las métricas que se van a monitorizar,
consulte Supervisión de las métricas de RDS Proxy con Amazon CloudWatch (p. 353).
• AWS LambdaLas funciones de también pueden ser buenas candidatas para usar un proxy. Estas
funciones hacen frecuentes conexiones cortas a la base de datos que aprovechan el grupo de
conexiones que ofrece RDS Proxy. Puede aprovechar cualquier autenticación de IAM que ya tenga para
funciones de Lambda, en lugar de administrar las credenciales de la base de datos en el código de la
aplicación de Lambda.
• Las aplicaciones que usan lenguajes y marcos como PHP y Ruby on Rails son normalmente buenas
candidatas para usar un proxy. Estas aplicaciones suelen abrir y cerrar un gran número de conexiones
de base de datos y no tienen mecanismos integrados de agrupación de conexiones.
• Las aplicaciones que mantienen un gran número de conexiones abiertas durante largos períodos suelen
ser buenas candidatas para usar un proxy. Las aplicaciones en sectores como el software como servicio
(SaaS) o el comercio electrónico a menudo minimizan la latencia de las solicitudes de base de datos al
dejar las conexiones abiertas. Con RDS Proxy, una aplicación puede mantener más conexiones abiertas
que cuando se conecta directamente a la instancia o clúster de base de datos.
• Es posible que no haya adoptado la autenticación IAM y Secrets Manager debido a la complejidad
de configurar dicha autenticación para todas las instancias de base de datos y clústeres. Si es así,
316
Amazon Aurora Guía del usuario de Aurora
Conceptos y terminología de RDS Proxy
puede dejar los métodos de autenticación existentes en su lugar y delegar la autenticación en un proxy.
El proxy puede aplicar las directivas de autenticación para conexiones de cliente para aplicaciones
concretas. Puede aprovechar cualquier autenticación de IAM que ya tenga para funciones de Lambda,
en lugar de administrar las credenciales de la base de datos en el código de la aplicación de Lambda.
• RDS Proxy tiene alta disponibilidad y se implementa en varias zonas de disponibilidad (AZ). Para
garantizar la alta disponibilidad general de la base de datos, implemente la instancia de base de datos
de Amazon RDS o el clúster de Aurora en una configuración Multi-AZ.
RDS Proxy controla el tráfico de red entre la aplicación cliente y la base de datos. Lo hace de una manera
activa, comprendiendo primero el protocolo de base de datos. A continuación, ajusta su comportamiento en
función de las operaciones SQL de la aplicación y los conjuntos de resultados de la base de datos.
RDS Proxy reduce la sobrecarga de memoria y CPU para la administración de conexiones en la base
de datos. La base de datos necesita menos memoria y recursos de CPU cuando las aplicaciones abren
muchas conexiones simultáneas. Tampoco requiere lógica en las aplicaciones para cerrar y volver a abrir
conexiones que permanecen inactivas durante mucho tiempo. Del mismo modo, requiere menos lógica de
aplicación para restablecer conexiones en caso de un problema de base de datos.
La infraestructura para RDS Proxy está altamente disponible e implementada en varias zonas de
disponibilidad (AZ). El cálculo, la memoria y el almacenamiento de RDS Proxy son independientes de las
instancias de base de datos de RDS y los clústeres de base de datos de Aurora. Esta separación ayuda
a reducir la sobrecarga en los servidores de bases de datos, de modo que puedan dedicar sus recursos a
servir cargas de trabajo de base de datos. Los recursos informáticos de RDS Proxy no tienen servidor y se
escalan automáticamente en función de la carga de trabajo de la base de datos.
Temas
• Información general de los conceptos de RDS Proxy (p. 317)
• Grupo de conexiones (p. 318)
• Seguridad de RDS Proxy (p. 318)
• Failover (p. 320)
• Transacciones (p. 321)
Cada proxy gestiona las conexiones a una única instancia de base de datos RDS o clúster de base de
datos de Aurora. El proxy determina automáticamente la instancia de escritor actual para las instancias de
base de datos Multi-AZ de RDS y los clústeres aprovisionados de Aurora. Para clústeres multimaestros de
Aurora, el proxy se conecta a una de las instancias de escritor y utiliza las otras instancias de escritor como
destinos en espera activa.
Las conexiones que un proxy mantiene abiertas y disponibles para que la aplicación de base de datos
pueda utilizar forman el grupo de conexiones.
De forma predeterminada, RDS Proxy puede reutilizar una conexión después de cada transacción en
la sesión. Esta reutilización en el nivel de transacción se denomina multiplexación. Cuando RDS Proxy
elimina temporalmente una conexión del grupo de conexiones para reutilizarla, esa operación se denomina
317
Amazon Aurora Guía del usuario de Aurora
Conceptos y terminología de RDS Proxy
préstamo de la conexión. Cuando sea seguro hacerlo, RDS Proxy devuelve esa conexión al grupo de
conexiones.
En algunos casos, RDS Proxy no puede estar seguro de que sea seguro volver a utilizar una conexión de
base de datos fuera de la sesión actual. En estos casos, mantiene la sesión en la misma conexión hasta
que finalice la sesión. Este comportamiento de reserva se denomina asignación.
Un proxy tiene un punto de enlace predeterminado. Se conecta a este punto de enlace cuando trabaja con
una instancia de base de datos de RDS o clúster de base de datos de Aurora, en lugar de conectarse al
punto de enlace de lectura y escritura que se conecta directamente a la instancia o clúster. Los puntos de
enlace para uso especial de un clúster de Aurora permanecen disponibles para su uso. Para los clústeres
de base de datos de Aurora, también puede crear puntos de enlace de lectura o escritura y de solo lectura
adicionales. Para obtener más información, consulte Información general de los puntos de enlace de
proxy (p. 343).
Por ejemplo, aún puede conectarse al punto de enlace del clúster para conexiones de lectura y escritura
sin agrupación de conexiones. Aún puede conectarse al punto de enlace del lector para conexiones de
solo lectura con equilibrio de carga. Aún puede conectarse a los puntos de enlace de instancia para el
diagnóstico y la solución de problemas de instancias de base de datos específicas dentro de un clúster
de Aurora. Si utiliza otros servicios de AWS como, por ejemplo, AWS Lambda para conectarse a bases
de datos RDS, puede cambiar la configuración de conexión para utilizar el punto de enlace del proxy. Por
ejemplo, especifique el punto de enlace del proxy para permitir que las funciones de Lambda accedan a la
base de datos mientras aprovechan la funcionalidad del RDS Proxy.
Cada proxy contiene un grupo de destino. Este grupo de destino encarna la instancia de base de datos de
RDS o el clúster de base de datos de Aurora al que se puede conectar el proxy. Para un clúster de Aurora,
de forma predeterminada el grupo de destino está asociado a todas las instancias de base de datos de
ese clúster. De esta forma, el proxy puede conectarse a cualquier instancia de base de datos de Aurora
que se promueva para ser la instancia de escritor en el clúster. La instancia de base de datos de RDS
asociada con un proxy o el clúster de base de datos de Aurora y sus instancias, se denominan destinos
de ese proxy. Para mayor comodidad, al crear un proxy a través de la consola, RDS Proxy también crea el
grupo de destino correspondiente y registra los destinos asociados automáticamente.
Una familia de motores es un conjunto relacionado de motores de base de datos que utilizan el mismo
protocolo de base de datos. Elija la familia de motores para cada proxy que cree.
Grupo de conexiones
Cada proxy realiza la agrupación de conexiones para la instancia de escritor de su RDS o base de
datos asociada de Aurora. La agrupación de conexiones es una optimización que reduce la sobrecarga
asociada a la apertura y el cierre de conexiones y al mantenimiento de muchas conexiones abiertas
simultáneamente. Esta sobrecarga incluye la memoria necesaria para gestionar cada nueva conexión.
También implica la sobrecarga de CPU para cerrar cada conexión y abrir una nueva, como el protocolo
de enlace Transport Layer Security/Secure Sockets Layer (TLS/SSL), autenticación, capacidades de
negociación, etc. La agrupación de conexiones simplifica la lógica de la aplicación. No es necesario escribir
código de aplicación para minimizar el número de conexiones abiertas simultáneas.
Cada proxy también realiza multiplexación de conexión, también conocida como reutilización de la
conexión. Con la multiplexación, el proxy de RDS realiza todas las operaciones de una transacción
mediante una conexión de base de datos subyacente y, a luego, puede utilizar una conexión diferente
para la siguiente transacción. Puede abrir muchas conexiones simultáneas al proxy y el proxy mantiene un
número menor de conexiones abiertas a la instancia de base de datos o al clúster. Al hacerlo, se minimiza
aún más la sobrecarga de memoria para las conexiones en el servidor de base de datos. Esta técnica
también reduce la posibilidad de errores de «demasiadas conexiones».
318
Amazon Aurora Guía del usuario de Aurora
Conceptos y terminología de RDS Proxy
seguridad, consulte Seguridad en Amazon Aurora (p. 1836). Si no está familiarizado con la forma en la
que RDS y Aurora trabajan con autenticación, autorización y otras áreas de seguridad, asegúrese primero
de familiarizarse con la forma de trabajo de RDS y Aurora en esas áreas.
RDS Proxy puede actuar como una capa adicional de seguridad entre las aplicaciones cliente y la base
de datos subyacente. Por ejemplo, puede conectarse al proxy mediante TLS 1.2, incluso si la instancia de
base de datos subyacente admite solo TLS 1.0 ó 1.1. Puede conectarse al proxy mediante un rol de IAM,
incluso si el proxy se conecta a la base de datos mediante el método nativo de autenticación de usuario y
contraseña. Mediante esta técnica, puede imponer requisitos de autenticación sólidos para las aplicaciones
de base de datos sin un esfuerzo de migración costoso para las propias instancias de base de datos.
Almacene las credenciales de base de datos utilizadas por el proxy de RDS en AWS Secrets Manager.
Cada usuario de base de datos para la instancia de base de datos de RDS o clúster de base de datos
de Aurora al que se accede un proxy debe tener un secreto correspondiente en Secrets Manager.
También puede configurar la autenticación de IAM para los usuarios de RDS Proxy. Al hacerlo, puede
aplicar la autenticación de IAM para el acceso a la base de datos incluso si las bases de datos utilizan la
autenticación de contraseña nativa. Recomendamos utilizar estas características de seguridad en lugar de
incorporar credenciales de base de datos en el código de la aplicación.
El proxy de RDS utiliza certificados de AWS Certificate Manager (ACM). Si utiliza RDS Proxy,
al rotar el certificado TLS/SSL no es necesario que actualice las aplicaciones que utilizan
conexiones de RDS Proxy.
Para aplicar TLS a todas las conexiones entre el proxy y la base de datos, puede especificar una
configuración Exigir Transport Layer Security al crear o modificar un proxy.
RDS Proxy puede también garantizar que la sesión utiliza TLS/SSL entre el cliente y el punto de enlace de
RDS Proxy. Para que RDS Proxy lo haga, especifique el requisito en el lado del cliente. Las variables de
sesión SSL no están establecidas para las conexiones SSL a una base de datos usando RDS Proxy.
• Para Aurora MySQL y MySQL de RDS, especifique el requisito en el lado del cliente con el parámetro --
ssl-mode cuando ejecute el comando mysql.
• Para PostgreSQL y Aurora PostgreSQL de Amazon RDS, especifique sslmode=require como parte
de la cadena conninfo cuando ejecute el comando psql.
RDS Proxy es compatible con las versiones 1.0, 1.1 y 1.2 del protocolo TLS. Puede conectarse al proxy
mediante una versión de TLS posterior a la que utiliza en la base de datos subyacente.
De forma predeterminada, los programas del cliente establecen una conexión cifrada con RDS Proxy, con
un mayor control disponible gracias a la opción --ssl-mode. Desde el lado del cliente, RDS Proxy es
compatible con todos los modos de SSL.
PREFERRED
No se permite SSL.
REQUIRED
319
Amazon Aurora Guía del usuario de Aurora
Conceptos y terminología de RDS Proxy
VERIFY_CA
RDS Proxy utiliza certificados comodín, que se aplican tanto a un dominio como a sus subdominios. Si
utiliza el cliente mysql para conectarse con el modo SSL VERIFY_IDENTITY, actualmente deberá usar el
comando mysql compatible con MySQL 8.0.
Failover
La conmutación por error es una característica de alta disponibilidad que reemplaza una instancia de base
de datos por otra cuando la instancia original deja de estar disponible. Puede producirse una conmutación
por error debido a un problema con una instancia de base de datos. También es posible que sea parte de
los procedimientos normales de mantenimiento, como durante la actualización de una base de datos. La
conmutación por error se aplica a las instancias de base de datos de RDS en una configuración Multi-AZ y
a los clústeres de base de datos de Aurora con una o más instancias de lector además de la instancia de
escritor.
La conexión a través de un proxy hace que la aplicación sea más resistente a las conmutaciones por error
de la base de datos. Cuando la instancia de base de datos original deja de estar disponible, RDS Proxy se
conecta a la base de datos en espera sin perder las conexiones de aplicaciones inactivas. Esto le ayuda a
acelerar y simplificar el proceso de conmutación por error. El resultado es una conmutación por error más
rápida y menos disruptiva para la aplicación que un problema típico de reinicio o base de datos.
Sin RDS Proxy, una conmutación por error implica una breve interrupción. Durante la interrupción,
no puede realizar operaciones de escritura en esa base de datos. Las conexiones de base de datos
existentes se interrumpen y la aplicación debe volver a abrirlas. La base de datos está disponible para
nuevas conexiones y operaciones de escritura cuando se promociona una instancia de base de datos de
solo lectura para que tome el lugar de la que no está disponible.
Durante las conmutaciones por error de la base de datos, RDS Proxy continúa aceptando conexiones
en la misma dirección IP y dirige automáticamente las conexiones a la nueva instancia de base de datos
primaria. Los clientes que se conectan a través de RDS Proxy no son susceptibles a lo siguiente:
• Retrasos de propagación del sistema de nombres de dominio (DNS) en la conmutación por error.
• Almacenamiento en caché de DNS local.
• Tiempos de espera de conexión.
• Incertidumbre sobre qué instancia de base de datos es el escritor actual.
• Espera a la respuesta de una consulta de un escritor anterior que dejó de estar disponible sin cerrar las
conexiones.
En el caso de las aplicaciones que mantienen su propio grupo de conexiones, pasar por RDS Proxy
significa que la mayoría de las conexiones permanecen activas durante las conmutaciones por error u
otras interrupciones. Solo se cancelan las conexiones que están en medio de una transacción o sentencia
320
Amazon Aurora Guía del usuario de Aurora
Introducción al proxy de RDS
SQL. El proxy de RDS acepta inmediatamente nuevas conexiones. Cuando el escritor de la base de datos
no está disponible, RDS Proxy pone en cola las solicitudes entrantes.
Para aplicaciones que no mantienen sus propios grupos de conexiones, RDS Proxy ofrece velocidades
de conexión más rápidas y conexiones más abiertas. Descarga la costosa sobrecarga de reconexiones
frecuentes de la base de datos. Lo hace reutilizando las conexiones de base de datos que se mantienen
en el grupo de conexiones de RDS Proxy. Este enfoque es especialmente importante para las conexiones
TLS, en las que los costos de instalación son importantes.
Transacciones
Todas las instrucciones dentro de una sola transacción siempre utilizan la misma conexión de base de
datos subyacente. La conexión está disponible para su uso por parte de una sesión diferente cuando
finaliza la transacción. El uso de la transacción como unidad de granularidad tiene las siguientes
consecuencias:
• La reutilización de la conexión puede ocurrir después de cada instrucción individual cuando está
habilitada la configuración de Aurora MySQL autocommit o MySQL de RDS.
• Por el contrario, cuando el parámetro autocommit está deshabilitado, la primera instrucción que emita
en una sesión comienza una nueva transacción. Por lo tanto, si introduce una secuencia de SELECT,
INSERT, UPDATE y otras instrucciones de lenguaje de manipulación de datos (DML), la reutilización de
la conexión no se producirá hasta que emita un COMMIT, ROLLBACK o finalice la transacción.
• La introducción de una instrucción de lenguaje de definición de datos (DDL) hace que la transacción
finalice después de que se complete esa instrucción.
RDS Proxy detecta cuándo finaliza una transacción a través del protocolo de red utilizado por la aplicación
cliente de base de datos. La detección de transacciones no se basa en palabras clave como COMMIT o
ROLLBACK que aparecen en el texto de la instrucción SQL.
En algunos casos, RDS Proxy podría detectar una solicitud de base de datos que hace que sea poco
práctico trasladar la sesión a una conexión diferente. En estos casos, desactiva la multiplexación para
esa conexión el resto de la sesión. La misma regla se aplica si RDS Proxy no puede estar seguro de
que la multiplexación sea práctica para la sesión. Esta operación se denomina asignación. Para obtener
información sobre formas de detectar y minimizar la asignación, consulte Evitar la asignación (p. 340).
Temas
• Configuración de requisitos previos de red (p. 321)
• Configuración de credenciales de base de datos en AWS Secrets Manager (p. 323)
• Configuración de políticas de AWS Identity and Access Management (IAM) (p. 324)
• Creación de un RDS Proxy (p. 326)
• Ver un RDS Proxy (p. 330)
• Conexión a una base de datos mediante RDS Proxy (p. 331)
321
Amazon Aurora Guía del usuario de Aurora
Introducción al proxy de RDS
subredes o compartirlas con otras cuentas. Para obtener más información acerca del uso compartido de
VPC, consulte Trabajar con VPC compartidas. Los recursos de aplicaciones cliente, como Amazon EC2,
Lambda o Amazon ECS, pueden estar en la misma VPC o en una VPC independiente del proxy. Si se ha
conectado correctamente a instancias de base de datos de RDS o a clústeres de base de datos de Aurora,
ya dispone de los recursos de red necesarios.
Si acaba de empezar a utilizar RDS o Aurora, puede obtener información sobre los conceptos básicos de
conectarse a una base de datos siguiendo los procedimientos que hay en Configuración del entorno para
Amazon Aurora (p. 90). También puede seguir el tutorial de Introducción a Amazon Aurora (p. 96).
En el siguiente ejemplo de Linux se muestran comandos de la AWS CLI con que se examinan las VPC
y las subredes que son propiedad de su cuenta de AWS. En particular, se pasan los ID de subred como
parámetros si crea un proxy utilizando la CLI.
En el siguiente ejemplo de Linux, se muestran comandos de la AWS CLI que sirven para determinar
los ID de subred correspondientes a un clúster de base de datos de Aurora o una instancia de base de
datos de RDS determinado. Para un clúster de Aurora, en primer lugar encuentra el ID de una de las
instancias de base de datos asociadas. Puede extraer los ID de subred que utiliza esa instancia de base
de datos examinando los campos anidados que hay dentro de los atributos DBSubnetGroup y Subnets,
en DESCRIBE OUTPUT para la instancia de base de datos. Especifica algunos o todos esos ID de subred
cuando establece un proxy para ese servidor de base de datos.
$ # Optional first step, only needed if you're starting from an Aurora cluster. Find the ID
of any DB instance in the cluster.
$ aws rds describe-db-clusters --db-cluster-identifier my_cluster_id --query '*[].
[DBClusterMembers]|[0]|[0][*].DBInstanceIdentifier' --output text
my_instance_id
instance_id_2
instance_id_3
...
$ # From the DB instance, trace through the DBSubnetGroup and Subnets to find the subnet
IDs.
$ aws rds describe-db-instances --db-instance-identifier my_instance_id --query '*[].
[DBSubnetGroup]|[0]|[0]|[Subnets]|[0]|[*].SubnetIdentifier' --output text
subnet_id_1
subnet_id_2
subnet_id_3
...
Como alternativa, antes puede encontrar el ID de la VPC para la instancia de base de datos. A
continuación, puede examinar la VPC para encontrar sus subredes. En el siguiente ejemplo de Linux se
muestra cómo.
322
Amazon Aurora Guía del usuario de Aurora
Introducción al proxy de RDS
subnet_id_5
subnet_id_6
En Secrets Manager, se crean estos secretos con valores para los campos username y password. Esto
permite que el proxy se conecte a los usuarios de la base de datos correspondientes en las instancias
de base de datos de RDS o clústeres de base de datos de Aurora que asocie al proxy. Para ello, puede
utilizar la configuración Credentials for other database (Credenciales para otra base de datos), Credentials
for RDS database (Credenciales para base de datos RDS) u Other type of secrets (Otro tipo de secretos).
Rellene los valores adecuados para los campos Nombre de usuario y Contraseña y los valores de
marcador de posición para cualquier otro campo requerido. El proxy omite otros campos como Host y
Puerto si están presentes en el secreto. Estos detalles son proporcionados automáticamente por el proxy.
También puede elegir Otro tipo de secretos. En este caso, crea el secreto con claves denominadas
username y password.
Dado que los secretos que utiliza el proxy no están vinculados a un servidor de base de datos específico,
puede reutilizar un secreto en varios proxies si utiliza las mismas credenciales en varios servidores de
base de datos. Por ejemplo, puede usar las mismas credenciales en un grupo de servidores de desarrollo y
prueba.
Para conectarse a través del proxy como un usuario específico, asegúrese de que la contraseña asociada
con un secreto coincide con la contraseña de la base de datos de ese usuario. Si no hay coincidencia,
puede actualizar el secreto asociado en Secrets Manager. En este caso, aún puede conectarse a otras
cuentas en las que coincidan las credenciales secretas y las contraseñas de la base de datos.
Cuando crea un proxy a través de la AWS CLI o API de RDS, especifique los nombres de recursos de
Amazon (ARN) de los secretos correspondientes para todas las cuentas de usuario de base de datos a
las que puede acceder el proxy. En la AWS Management Console, elija los secretos por sus nombres
descriptivos.
Para obtener instrucciones sobre cómo crear secretos en Secrets Manager, consulte la página Creación de
un secreto en la documentación de Secrets Manager. Utilice una de las siguientes técnicas:
Por ejemplo, los siguientes comandos crean secretos de Secrets Manager para dos usuarios de bases de
datos, uno llamado admin y otro llamado app-user.
323
Amazon Aurora Guía del usuario de Aurora
Introducción al proxy de RDS
Para ver los secretos que son propiedad de su cuenta de AWS, utilice un comando como el siguiente.
Si crea un proxy mediante la CLI, se pasan los nombres de recursos de Amazon (ARN) de uno o más
secretos al parámetro --auth. En el siguiente ejemplo de Linux se muestra cómo preparar un informe si
solo se tiene el nombre y el ARN de cada secreto que es propiedad de su cuenta de AWS. En este ejemplo
se utiliza el parámetro --output table, disponible en la versión 2 de la AWS CLI. Si está utilizando la
versión 1 de la AWS CLI, use --output text.
En la salida se debe incluir una línea en que se muestre un valor codificado en JSON como el siguiente.
"SecretString": "{\"username\":\"your_username\",\"password\":\"your_password\"}",
Para crear una política de IAM que acceda a sus secretos de Secrets Manager para su uso con su
proxy
1. Inicie sesión en la consola de IAM. Siga el proceso Create role (Crear función), como se describe en
Creación de roles de IAM. Incluya el paso Add Role to Database (Agregar rol a la base de datos) .
2. Para el nuevo rol, realice el paso Add inline policy (Añadir política en línea). Utilice los mismos
procedimientos generales que en Edición de políticas de IAM. Pegue el siguiente JSON en el cuadro
de texto de JSON. Sustituya su propio ID de cuenta. Sustituya su región de AWS por us-east-2.
Sustituya los nombres de recursos de Amazon (ARN) por los secretos que ha creado. En la acción
kms:Decrypt, sustituya el ARN de la AWS KMS key predeterminada o de su propia clave de KMS en
función de la que se haya utilizado para cifrar los secretos de Secrets Manager.
{
"Version": "2012-10-17",
"Statement": [
{
324
Amazon Aurora Guía del usuario de Aurora
Introducción al proxy de RDS
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "secretsmanager:GetSecretValue",
"Resource": [
"arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1",
"arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2"
]
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "kms:Decrypt",
"Resource": "arn:aws:kms:us-east-2:account_id:key/key_id",
"Condition": {
"StringEquals": {
"kms:ViaService": "secretsmanager.us-east-2.amazonaws.com"
}
}
}
]
}
3. Modifique la política de confianza para este rol de IAM. Pegue el siguiente JSON en el cuadro de texto
de JSON.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "rds.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
PREFIX=choose_an_identifier
325
Amazon Aurora Guía del usuario de Aurora
Introducción al proxy de RDS
"Action":"kms:*","Resource":"*"
},
{
"Sid":"Allow access for Key Administrators",
"Effect":"Allow",
"Principal":
{
"AWS":
["$USER_ARN","arn:aws:iam::account_id:role/Admin"]
},
"Action":
[
"kms:Create*",
"kms:Describe*",
"kms:Enable*",
"kms:List*",
"kms:Put*",
"kms:Update*",
"kms:Revoke*",
"kms:Disable*",
"kms:Get*",
"kms:Delete*",
"kms:TagResource",
"kms:UntagResource",
"kms:ScheduleKeyDeletion",
"kms:CancelKeyDeletion"
],
"Resource":"*"
},
{
"Sid":"Allow use of the key",
"Effect":"Allow",
"Principal":{"AWS":"$ROLE_ARN"},
"Action":["kms:Decrypt","kms:DescribeKey"],
"Resource":"*"
}
]
}
"""
• Proxy identifier (Identificador de proxy. Especifique un nombre que elija, único dentro de su ID de
cuenta de AWS y de la región actual de AWS.
• Engine compatibility (Compatibilidad del motor. Elija MySQL o POSTGRESQL.
326
Amazon Aurora Guía del usuario de Aurora
Introducción al proxy de RDS
• Require Transport Layer Security (Requerir seguridad de capa de transporte. Elija esta
configuración si desea que el proxy aplique TLS/SSL para todas las conexiones de cliente. Cuando
utiliza una conexión cifrada o no cifrada con un proxy, el proxy utiliza la misma configuración de
cifrado cuando realiza una conexión con la base de datos subyacente.
• Idle client connection timeout (Tiempo de espera de inactividad de conexión de cliente. Elija un
período de tiempo en el que una conexión de cliente puede estar inactiva antes de que el proxy
pueda cerrarla. El valor predeterminado es 1800 segundos (30 minutos). Una conexión de cliente se
considera inactiva cuando la aplicación no envía una nueva solicitud dentro del plazo especificado
después de completar la solicitud anterior. La conexión de base de datos subyacente permanece
abierta y se devuelve al grupo de conexiones. Por lo tanto, está disponible para reutilizarla para
nuevas conexiones de cliente.
Considere reducir el tiempo de espera de conexión de cliente inactivo si desea que el proxy
elimine de forma proactiva las conexiones obsoletas. Si la carga de trabajo está aumentando,
considere aumentar el tiempo de espera de la conexión del cliente inactivo para ahorrar el costo del
establecimiento de conexiones.
• Database (Base de datos. Elija una instancia de base de datos de RDS o clúster de base de datos
de Aurora para acceder a través de este proxy. La lista solo incluye instancias de base de datos y
clústeres con motores de base de datos compatibles, versiones de motor y otras configuraciones.
Si la lista está vacía, cree una nueva instancia de base de datos o clúster que sea compatible con
RDS Proxy. Para ello, siga el procedimiento en Creación de un clúster de base de datos de Amazon
Aurora (p. 136). A continuación, intente volver a crear el proxy.
• Connection pool maximum connections (Conexiones máximas de grupo de conexión. Especifique
un valor comprendido entre 1 y 100. Esta configuración representa el porcentaje del valor
max_connections que RDS Proxy se puede utilizar para sus conexiones. Si solo tiene la intención
de utilizar un proxy con esta instancia de base de datos o clúster, puede establecer este valor en
100. Para obtener información detallada sobre cómo utiliza RDS Proxy esta configuración, consulte
MaxConnectionsPercent (p. 339).
• Session pinning filters (Filtros de asignación de sesión. (Opcional) Esta es una configuración
avanzada, para solucionar problemas de rendimiento con aplicaciones particulares. Actualmente,
la única opción es EXCLUDE_VARIABLE_SETS. Elija un filtro solo si es cierto que: la aplicación no
está reutilizando conexiones debido a ciertos tipos de instrucciones SQL y puede comprobar que la
reutilización de conexiones con esas instrucciones SQL no afecta a la corrección de la aplicación.
Para obtener más información, consulte Evitar la asignación (p. 340).
• Connection borrow timeout (Tiempo de espera de préstamo de conexión. En algunos casos, es
posible que espere que el proxy use a veces todas las conexiones de base de datos disponibles.
En esos casos, puede especificar cuánto tiempo espera el proxy a que una conexión a la base de
datos esté disponible antes de devolver un error de tiempo de espera. Puede especificar un periodo
de hasta cinco minutos como máximo. Esta configuración solo se aplica cuando el proxy tiene el
número máximo de conexiones abiertas y todas las conexiones ya están en uso.
• Consutla de inicialización. (Opcional) Puede especificar una o más instrucciones de SQL para que
el proxy se ejecute al abrir cada nueva conexión de base de datos. Normalmente, el ajuste se utiliza
con instrucciones SET para asegurarse de que cada conexión tiene una configuración idéntica,
como zona horaria y conjunto de caracteres. Para varias instrucciones, utilice punto y coma como
separador. Puede incluir también varias variables en una sola instrucción SET, como SET x=1,
y=2. La consulta de inicialización no es compatible actualmente con PostgreSQL.
• Secretos de Secrets Manager. Elija al menos un secreto de Secrets Manager que contenga
credenciales de usuario de base de datos para la instancia de base de datos de RDS o el clúster de
base de datos de Aurora al que intenta acceder con este proxy.
327
Amazon Aurora Guía del usuario de Aurora
Introducción al proxy de RDS
• IAM role (Rol de IAM. Elija un rol de IAM que tenga permiso para acceder a los secretos de Secrets
Manager que eligió anteriormente. También puede elegir la AWS Management Console para crear
un nuevo rol de IAM para usted y usarlo.
• IAM Authentication (Autenticación de IAM. Elija si desea o no permitir la autenticación de IAM para
las conexiones a su proxy. La opción de autenticación de IAM o autenticación de base de datos
nativa se aplica a todos los usuarios de base de datos que acceden a este proxy.
• Subnets (Subredes. Este campo se rellena previamente con todas las subredes asociadas a la VPC.
Puede eliminar las subredes que no necesite para este proxy. Debe dejar al menos dos subredes.
• VPC security group (Grupo de seguridad de VPC. Elija un grupo de seguridad de VPC existente.
También puede elegir la AWS Management Console para crear un nuevo grupo de seguridad para
usted y usarlo.
Note
Este grupo de seguridad debe permitir el acceso a la base de datos a la que se conecta
el proxy. El mismo grupo de seguridad se utiliza para la entrada de las aplicaciones al
proxy y para la salida del proxy a la base de datos. Por ejemplo, supongamos que utiliza
el mismo grupo de seguridad para la base de datos y el proxy. En este caso, asegúrese
de especificar que los recursos de ese grupo de seguridad pueden comunicarse con otros
recursos del mismo grupo de seguridad.
Cuando se utiliza una VPC compartida, no se puede utilizar el grupo de seguridad
predeterminado para la VPC o uno que pertenezca a otra cuenta. Elija un grupo de
seguridad que pertenezca a su cuenta. Si no existe uno, créelo. Para obtener más
información acerca de esta limitación, consulte Trabajar con VPC compartidas.
• Enable enhanced logging (Habilitación de registro optimizado. Puede habilitar esta configuración
para solucionar problemas de compatibilidad de proxy o rendimiento.
Cuando esta configuración está habilitada, RDS Proxy incluye información detallada sobre
sentencias SQL en sus registros. Esta información le ayuda a depurar problemas relacionados con
el comportamiento SQL o el rendimiento y la escalabilidad de las conexiones proxy. La información
de depuración incluye el texto de las instrucciones SQL que se envían a través del proxy. Por lo
tanto, solo habilite esta configuración cuando sea necesario para la depuración y solo cuando
disponga de medidas de seguridad para proteger cualquier información confidencial que aparezca
en los registros.
Para minimizar la sobrecarga asociada con el proxy, RDS Proxy desactiva automáticamente esta
opción 24 horas después de habilitarla. Habilítela temporalmente para solucionar un problema
específico.
5. Elija Create Proxy (Crear proxy).
AWS CLI
Para crear un proxy, utilice el comando de la AWS CLI create-db-proxy. El valor --engine-family
distingue entre mayúsculas y minúsculas.
Example
Para Linux, macOS o Unix:
328
Amazon Aurora Guía del usuario de Aurora
Introducción al proxy de RDS
--db-proxy-name proxy_name \
--engine-family { MYSQL | POSTGRESQL } \
--auth ProxyAuthenticationConfig_JSON_string \
--role-arn iam_role \
--vpc-subnet-ids space_separated_list \
[--vpc-security-group-ids space_separated_list] \
[--require-tls | --no-require-tls] \
[--idle-client-timeout value] \
[--debug-logging | --no-debug-logging] \
[--tags comma_separated_list]
Para Windows:
Tip
Si aún no conoce los ID de subred que utilizar para el parámetro --vpc-subnet-ids, consulte
Configuración de requisitos previos de red (p. 321) para ver ejemplos de cómo encontrar los ID
de subred que puede usar.
Note
Este grupo de seguridad debe permitir el acceso a la base de datos a la que se conecta el proxy.
El mismo grupo de seguridad se utiliza para la entrada de las aplicaciones al proxy y para la salida
del proxy a la base de datos. Por ejemplo, supongamos que utiliza el mismo grupo de seguridad
para la base de datos y el proxy. En este caso, asegúrese de especificar que los recursos de ese
grupo de seguridad pueden comunicarse con otros recursos del mismo grupo de seguridad.
Cuando se utiliza una VPC compartida, no se puede utilizar el grupo de seguridad predeterminado
para la VPC o uno que pertenezca a otra cuenta. Elija un grupo de seguridad que pertenezca a su
cuenta. Si no existe uno, créelo. Para obtener más información acerca de esta limitación, consulte
Trabajar con VPC compartidas.
Para crear la información y las asociaciones necesarias para el proxy, utilice el comando register-db-
proxy-targets también. Especifique el nombre de grupo de destino de default. El proxy de RDS crea
automáticamente un grupo de destino con este nombre cuando crea cada proxy.
API de RDS
Para crear un proxy de RDS, llame a la operación de la API de Amazon RDS CreateDBProxy. Transfiera
un parámetro con la estructura de datos AuthConfig .
329
Amazon Aurora Guía del usuario de Aurora
Introducción al proxy de RDS
El proxy de RDS crea automáticamente un grupo de destino denominado default cuando crea cada
proxy. Se asocia una instancia de base de datos de RDS o un clúster de base de datos de Aurora con el
grupo de destino llamando a la función RegisterDBProxyTargets.
Cualquier aplicación de base de datos que utilice el proxy requiere el punto de enlace del proxy para
utilizar en la cadena de conexión.
CLI
Para consultar el proxy mediante la CLI, utilice el comando describe-db-proxies. De forma predeterminada,
muestra todos los proxies propiedad de su cuenta de AWS. Para ver los detalles de un solo proxy,
especifique su nombre con el parámetro --db-proxy-name.
Para consultar la otra información asociada con el proxy, utilice los comandos que se muestran a
continuación.
Utilice la siguiente secuencia de comandos para ver más detalles acerca de las cosas que están asociadas
con el proxy:
330
Amazon Aurora Guía del usuario de Aurora
Introducción al proxy de RDS
API de RDS
Para ver los proxies mediante la API de RDS, utilice la operación DescribeDBProxies . Devuelve valores
del tipo de datos DBProxy.
Para consultar los detalles de la configuración de conexión del proxy, utilice los identificadores de proxy de
este valor devuelto con la operación DescribeDBProxyTargetGroups. Devuelve valores del tipo de datos
DBProxyTargetGroup.
Para consultar la instancia de RDS o el clúster de base de datos de Aurora asociado con el proxy, utilice la
operación DescribeDBProxyTargets. Devuelve valores del tipo de datos DBProxyTarget.
Temas
• Conexión a un proxy mediante autenticación nativa (p. 331)
• Conexión a un proxy mediante autenticación de IAM (p. 332)
• Consideraciones para conectarse a un proxy con PostgreSQL (p. 332)
1. Buscar el punto de enlace del proxy. En la AWS Management Console, puede encontrar el punto de
enlace en la página de detalles del proxy correspondiente. Con la AWS CLI, puede usar el comando
describe-db-proxies. El siguiente ejemplo muestra cómo.
331
Amazon Aurora Guía del usuario de Aurora
Introducción al proxy de RDS
2. Especifique ese punto de enlace como parámetro host en la cadena de conexión de la aplicación
cliente. Por ejemplo, especifique el punto de enlace del proxy como el valor para la opción mysql -h o
la opción psql -h.
3. Proporcione el mismo nombre de usuario y contraseña de la base de datos como suele hacer.
Para conectarse a RDS Proxy mediante autenticación de IAM, siga el mismo procedimiento general que
para conectarse a una instancia de base de datos de RDS o clúster de Aurora mediante autenticación
de IAM. Para obtener información general sobre el uso de IAM con RDS y Aurora, consulte Seguridad en
Amazon Aurora (p. 1836).
Las principales diferencias en el uso de IAM para RDS Proxy incluyen las siguientes:
• No se configura cada usuario de base de datos individual con un complemento de autorización. Los
usuarios de la base de datos todavía tienen nombres de usuario y contraseñas regulares dentro de la
base de datos. Se configuran los secretos de Secrets Manager que contienen estos nombres de usuario
y contraseñas y se autoriza al RDS Proxy para recuperar las credenciales de Secrets Manager.
En el caso de uso del proxy, proporciona al proxy secretos que contengan el nombre de usuario y
la contraseña de algún usuario (autenticación nativa). A continuación, se conecta al proxy mediante
la autenticación de IAM. Aquí, puede hacerlo al generar un token de autenticación con el punto de
conexión del proxy, no el punto de conexión de la base de datos. También utiliza un nombre de usuario
que coincida con uno de los nombres de usuario de los secretos que proporcionó.
• Asegúrese de que usa Transport Layer Security (TLS)/Capa de sockets seguros (SSL) cuando se
conecte a un proxy mediante la autenticación de IAM.
Puede conceder acceso al proxy a un usuario específico modificando la política de IAM. Ejemplo:
"Resource": "arn:aws:rds-db:us-east-2:1234567890:dbuser:prx-ABCDEFGHIJKL01234/db_user"
Al conectarse a través de un proxy de RDS, el mensaje de inicio puede incluir los siguientes parámetros
reconocidos actualmente:
332
Amazon Aurora Guía del usuario de Aurora
Administración de un RDS Proxy
• user
• database
• replication
El mensaje de inicio también puede incluir los siguientes parámetros de tiempo de ejecución adicionales:
• application_name
• client_encoding
• DateStyle
• TimeZone
• extra_float_digits
Para obtener más información acerca de la mensajería de PostgreSQL, consulte el Protocolo Frontend/
Backend en la documentación de PostgreSQL.
Para obtener más información, consulte Evitar la asignación (p. 340). Para obtener más información
acerca de la conexión mediante JDBC, consulte Conexión a la base de datos en la documentación de
PostgreSQL.
Temas
• Modificación de un RDS Proxy (p. 334)
• Adición de un nuevo usuario de base de datos (p. 338)
• Cambio de la contraseña de un usuario de base de datos (p. 338)
333
Amazon Aurora Guía del usuario de Aurora
Administración de un RDS Proxy
• Proxy identifier (Identificador de proxy: escriba un nuevo identificador para cambiar el nombre del
proxy.
• Require Transport Layer Security (Requerir Transport Layer Security): active o desactive el requisito
de Transport Layer Security (TLS).
• Idle client connection timeout (Tiempo de espera de inactividad de conexión de cliente): especifique
un período de tiempo de espera de conexión de cliente inactiva.
• Secrets Manager secrets (Secretos de Secrets Manager): agregue o elimine secretos de Secrets
Manager. Estos secretos corresponden a nombres de usuario y contraseñas de la base de datos.
• IAM role (Rol de IAM): cambie el rol de IAM utilizado para recuperar los secretos de Secrets
Manager.
• IAM Authentication (Autenticación de IAM): requiera o no permita la autenticación de IAM para las
conexiones al proxy.
• VPC security group (Grupo de seguridad de VPC): agregue o quite grupos de seguridad de VPC
para que los utilice el proxy.
• Enable enhanced logging (Habilitar el registro optimizado): habilite o deshabilite el registro
mejorado.
6. Elija Modify.
Solo puede modificar el grupo de destino desde la página de detalles del proxy, no desde la lista de la
página Proxies.
334
Amazon Aurora Guía del usuario de Aurora
Administración de un RDS Proxy
3. En la página de detalles del grupo de destino default (predeterminado) elija Modify (Modificar).
4. Elija nuevas configuraciones para las propiedades que puede modificar:
• Database (Base de datos): elija una instancia de base de datos de RDS o un clúster de Aurora
diferente.
• Connection pool maximum connections (Conexiones máximas de grupo de conexión): ajuste el
porcentaje de conexiones disponibles máximas que puede utilizar el proxy.
• Session pinning filters (Filtros de fijación de sesión): (opcional) elija un filtro de fijación de sesión.
Esto puede ayudar a reducir los problemas de rendimiento debido a la reutilización insuficiente
del nivel de transacción para las conexiones. El uso de esta configuración requiere comprender el
comportamiento de la aplicación y las circunstancias en las que se RDS Proxy asigna una sesión a
una conexión de base de datos.
• Connection borrow timeout (Tiempo de espera de préstamo de conexión): ajuste el intervalo de
tiempo de espera de préstamo de la conexión. Esta configuración se aplica cuando el número
máximo de conexiones ya se está utilizando para el proxy. La configuración determina cuánto
tiempo espera el proxy a que una conexión esté disponible antes de devolver un error de tiempo de
espera.
• Initialization query (Consulta de inicialización): (opcional) agregue una consulta de inicialización o
modifique la actual. Puede especificar una o más instrucciones de SQL para que el proxy se ejecute
al abrir cada nueva conexión de base de datos. Normalmente, el ajuste se utiliza con instrucciones
SET para asegurarse de que cada conexión tiene una configuración idéntica, como zona horaria
y conjunto de caracteres. Para varias instrucciones, utilice punto y coma como separador. Puede
incluir también varias variables en una sola instrucción SET, como SET x=1, y=2. La consulta de
inicialización no es compatible actualmente con PostgreSQL.
No puede cambiar ciertas propiedades, como el identificador del grupo de destino y el motor de base
de datos.
5. Elija Modify target group (Modificar grupo de destino).
AWS CLI
Para modificar un proxy mediante la AWS CLI, utilice los comandos modify-db-proxy, modify-db-proxy-
target-group, deregister-db-proxy-targets y register-db-proxy-targets.
Para modificar la configuración relacionada con la conexión o cambiar el nombre del grupo de destino,
utilice el comando modify-db-proxy-target-group. Actualmente, todos los proxies tienen un único
grupo de destino denominado default. Cuando se trabaja con este grupo de destino, se especifica el
nombre del proxy y default para el nombre del grupo de destino.
335
Amazon Aurora Guía del usuario de Aurora
Administración de un RDS Proxy
{
"TargetGroups": [
{
"Status": "available",
"UpdatedDate": "2019-11-30T16:49:30.342Z",
"ConnectionPoolConfig": {
"MaxIdleConnectionsPercent": 50,
"ConnectionBorrowTimeout": 120,
"MaxConnectionsPercent": 100,
"SessionPinningFilters": []
},
"TargetGroupName": "default",
"CreatedDate": "2019-11-30T16:49:27.940Z",
"DBProxyName": "the-proxy",
"IsDefault": true
}
]
}
{
"DBProxyTargetGroup": {
"Status": "available",
"UpdatedDate": "2019-12-02T04:09:50.420Z",
"ConnectionPoolConfig": {
"MaxIdleConnectionsPercent": 75,
"ConnectionBorrowTimeout": 120,
"MaxConnectionsPercent": 100,
"SessionPinningFilters": []
},
"TargetGroupName": "default",
"CreatedDate": "2019-11-30T16:49:27.940Z",
"DBProxyName": "the-proxy",
"IsDefault": true
}
}
El ejemplo siguiente comienza con un proxy asociado a un clúster de Aurora MySQL denominado
cluster-56-2020-02-25-1399. El ejemplo muestra cómo cambiar el proxy para que pueda conectarse
a un clúster diferente denominado provisioned-cluster.
Cuando se trabaja con una instancia de base de datos RDS, se especifica la opción --db-instance-
identifier. Cuando se trabaja con un clúster de base de datos de Aurora, se especifica la opción --
db-cluster-identifier en su lugar.
El siguiente ejemplo modifica un proxy Aurora MySQL. Un proxy Aurora PostgreSQL tiene el puerto 5432.
336
Amazon Aurora Guía del usuario de Aurora
Administración de un RDS Proxy
{
"Targets": [
{
"Endpoint": "instance-9814.demo.us-east-1.rds.amazonaws.com",
"Type": "RDS_INSTANCE",
"Port": 3306,
"RdsResourceId": "instance-9814"
},
{
"Endpoint": "instance-8898.demo.us-east-1.rds.amazonaws.com",
"Type": "RDS_INSTANCE",
"Port": 3306,
"RdsResourceId": "instance-8898"
},
{
"Endpoint": "instance-1018.demo.us-east-1.rds.amazonaws.com",
"Type": "RDS_INSTANCE",
"Port": 3306,
"RdsResourceId": "instance-1018"
},
{
"Type": "TRACKED_CLUSTER",
"Port": 0,
"RdsResourceId": "cluster-56-2020-02-25-1399"
},
{
"Endpoint": "instance-4330.demo.us-east-1.rds.amazonaws.com",
"Type": "RDS_INSTANCE",
"Port": 3306,
"RdsResourceId": "instance-4330"
}
]
}
{
"Targets": []
}
{
"DBProxyTargets": [
{
"Type": "TRACKED_CLUSTER",
"Port": 0,
"RdsResourceId": "provisioned-cluster"
},
{
"Endpoint": "gkldje.demo.us-east-1.rds.amazonaws.com",
"Type": "RDS_INSTANCE",
"Port": 3306,
"RdsResourceId": "gkldje"
},
{
"Endpoint": "provisioned-1.demo.us-east-1.rds.amazonaws.com",
"Type": "RDS_INSTANCE",
"Port": 3306,
"RdsResourceId": "provisioned-1"
}
337
Amazon Aurora Guía del usuario de Aurora
Administración de un RDS Proxy
]
}
API de RDS
Para modificar un proxy mediante la API de RDS, utilice las operaciones ModifyDBProxy,
ModifyDBProxyTargetGroup, DeregisterDBProxyTargets y RegisterDBProxyTargets.
338
Amazon Aurora Guía del usuario de Aurora
Administración de un RDS Proxy
IdleClientTimeout
Puede especificar cuánto tiempo puede estar inactiva una conexión de cliente antes de que el proxy pueda
cerrarla. El valor predeterminado es 1800 segundos (30 minutos).
Una conexión de cliente se considera inactiva cuando la aplicación no envía una nueva solicitud dentro del
plazo especificado después de completar la solicitud anterior. La conexión de base de datos subyacente
permanece abierta y se devuelve al grupo de conexiones. Por lo tanto, está disponible para reutilizarla para
nuevas conexiones de cliente. Si desea que el proxy elimine de forma proactiva las conexiones obsoletas,
considere reducir el tiempo de espera de conexión de cliente inactivo. Si la carga de trabajo establece
conexiones frecuentes con el proxy, considere aumentar el tiempo de espera de la conexión del cliente
inactivo para ahorrar el costo del establecimiento de conexiones.
Esta configuración se representa mediante el campo Idle client connection timeout (Tiempo de espera
de la conexión de cliente inactivo) en la consola de RDS y la configuración de IdleClientTimeout
en AWS CLI y la API. Para obtener información sobre cómo cambiar el valor del campo Idle client
connection timeout (Tiempo de espera de la conexión de cliente inactivo) en la consola de RDS, consulte
AWS Management Console (p. 334). Para obtener información sobre cómo cambiar el valor de la
configuración de IdleClientTimeout, consulte el comando de CLI modify-db-proxy o la operación de la
API ModifyDBProxy.
MaxConnectionsPercent
Puede limitar el número de conexiones que una instancia de RDS Proxy puede establecer con la base de
datos. Especifique el límite como porcentaje de las conexiones máximas disponibles para la base de datos.
El proxy no crea todas estas conexiones por adelantado. Esta configuración se reserva el derecho de que
el proxy establezca estas conexiones a medida que la carga de trabajo las necesita.
Por ejemplo, suponga que ha configurado la instancia de RDS Proxy para utilizar el 75 % de las
conexiones máximas para la base de datos que admite un máximo de 1000 conexiones simultáneas. En
ese caso, RDS Proxy puede abrir hasta 750 conexiones de base de datos.
Esta configuración se representa mediante el campo Connection pool maximum connections (Conexiones
máximas de grupo de conexión) en la consola de RDS y la configuración de MaxConnectionsPercent
en AWS CLI o la API. Para obtener información sobre cómo cambiar el valor del campo Connection pool
maximum connections (Conexiones máximas de grupo de conexión) en la consola de RDS, consulte AWS
Management Console (p. 334). Para obtener información sobre cómo cambiar el valor de la configuración
de MaxConnectionsPercent, consulte el comando de CLI modify-db-proxy-target-group o la operación
de la API ModifyDBProxyTargetGroup.
Para obtener información sobre los límites de conexión de base de datos, consulte Número máximo de
conexiones a una instancia de base de datos de Aurora MySQL y Número máximo de conexiones a una
instancia de base de datos de Aurora PostgreSQL.
MaxIdleConnectionsPercent
Puede controlar el número de conexiones de base de datos inactivas que RDS Proxy puede mantener
en el grupo de conexiones. RDS Proxy considera que una conexión de base de datos en su grupo está
inactiva cuando no ha habido actividad en la conexión durante cinco minutos.
Especifique el límite como porcentaje de las conexiones máximas disponibles para la base de datos. El
valor predeterminado es del 50 por ciento y el límite superior es el valor de MaxConnectionsPercent.
Con un valor alto, el proxy deja un alto porcentaje de conexiones de base de datos inactivas abiertas. Con
un valor bajo, el proxy cierra un alto porcentaje de conexiones de base de datos inactivas. Si las cargas
de trabajo son impredecibles, considere establecer un valor alto para MaxIdleConnectionsPercent de
339
Amazon Aurora Guía del usuario de Aurora
Administración de un RDS Proxy
modo que RDS Proxy pueda adaptarse a los aumentos de actividad sin abrir muchas conexiones de base
de datos nuevas.
RDS Proxy cierra las conexiones de base de datos un poco después de 24 horas, cuando ya no
están en uso. El proxy realiza esta acción independientemente del valor de configuración máxima
de conexiones inactivas.
Para obtener información sobre los límites de conexión de base de datos, consulte Número máximo de
conexiones a una instancia de base de datos de Aurora MySQL y Número máximo de conexiones a una
instancia de base de datos de Aurora PostgreSQL.
ConnectionBorrowTimeout
Puede elegir cuánto tiempo espera RDS Proxy a que una conexión a la base de datos del grupo de
conexiones esté disponible para su uso antes de devolver un error de tiempo de espera. El valor
predeterminado es de 120 segundos. Esta configuración se aplica cuando el número de conexiones está
en el máximo, por lo que no hay conexiones disponibles en el grupo de conexiones. También se aplica
si no hay ninguna instancia de base de datos adecuada disponible para manejar la solicitud porque, por
ejemplo, se esté realizando una operación de conmutación por error. Con esta configuración, puede
establecer el mejor periodo de espera para la aplicación sin tener que cambiar el tiempo de espera de la
consulta en el código de la aplicación.
Esta configuración se representa mediante el campo Connection borrow timeout (Tiempo de espera de
préstamo de conexión) en la consola de RDS o en la configuración de ConnectionBorrowTimeout de
DBProxyTargetGroup de AWS CLI o de la API. Para obtener información sobre cómo cambiar el valor
del campo Connection borrow timeout (Tiempo de espera de préstamo de conexión) en la consola de RDS,
consulte AWS Management Console (p. 334). Para obtener información sobre cómo cambiar el valor de
la configuración de ConnectionBorrowTimeout, consulte el comando de CLI modify-db-proxy-target-
group o la operación de la API ModifyDBProxyTargetGroup.
Evitar la asignación
La multiplexación es más eficiente cuando las solicitudes de base de datos no dependen de la información
de estado de solicitudes anteriores. En ese caso, RDS Proxy puede reutilizar una conexión en la
conclusión de cada transacción. Algunos ejemplos de dicha información de estado incluyen la mayoría de
las variables y parámetros de configuración que puede cambiar a través de instrucciones SET o SELECT.
Las transacciones SQL en una conexión de cliente pueden multiplexar entre conexiones de base de datos
subyacentes de forma predeterminada.
Las conexiones al proxy pueden entrar en un estado conocido como asignación. Cuando se fija una
conexión, cada transacción posterior utiliza la misma conexión de base de datos subyacente hasta que
finaliza la sesión. Otras conexiones de cliente tampoco pueden reutilizar esa conexión de base de datos
hasta que finaliza la sesión. La sesión finaliza cuando se interrumpe la conexión del cliente.
RDS Proxy fija automáticamente una conexión de cliente a una conexión de base de datos específica
cuando detecta un cambio de estado de sesión que no es apropiado para otras sesiones. La asignación
reduce la eficacia de la reutilización de la conexión. Si todas o casi todas las conexiones experimentan
asignación, plantéese modificar el código de la aplicación o la carga de trabajo para reducir las condiciones
que provocan la asignación.
Por ejemplo, si la aplicación cambia una variable de sesión o un parámetro de configuración, las
instrucciones posteriores pueden depender de que la nueva variable o parámetro esté en vigor. Por lo
340
Amazon Aurora Guía del usuario de Aurora
Administración de un RDS Proxy
tanto, cuando RDS Proxy procesa solicitudes para cambiar las variables de sesión o los parámetros de
configuración, asigna esa sesión a la conexión de base de datos. De esta forma, el estado de la sesión
permanece en vigor para todas las transacciones posteriores en la misma sesión.
Esta regla no se aplica a todos los parámetros que se pueden establecer. El proxy de RDS realiza un
seguimiento de los cambios en el conjunto de caracteres, la intercalación, la zona horaria, la confirmación
automática, la base de datos actual, el modo SQL y la configuración session_track_schema. Por
lo tanto, RDS Proxy no asigna la sesión cuando los modifica. En ese caso, RDS Proxy solo reutiliza la
conexión para otras sesiones que tengan los mismos valores para esa configuración.
El ajuste del rendimiento para RDS Proxy implica intentar maximizar la reutilización de la conexión en el
nivel de transacción (multiplexación) minimizando la asignación. Para ello, puede hacer lo siguiente:
• Evite las solicitudes de base de datos innecesarias que puedan provocar la fijación.
• Establezca variables y parámetros de configuración de forma coherente en todas las conexiones.
De esta forma, es más probable que las sesiones posteriores reutilicen conexiones que tengan esa
configuración particular.
Por ejemplo, puede definir una consulta de inicialización para un proxy que establezca determinados
parámetros de configuración. A continuación, RDS Proxy aplica esa configuración cada vez que
configura una nueva conexión para ese proxy. Puede eliminar las instrucciones SET correspondientes de
su código de aplicación, para que no interfieran con la multiplexación en el nivel de transacción.
Important
El proxy asigna la sesión a la conexión actual en las siguientes situaciones en las que la multiplexación
podría provocar un comportamiento inesperado:
• Cualquier instrucción con un tamaño de texto superior a 16 KB hace que el proxy asigne la sesión.
• Las instrucciones preparadas hacen que el proxy asigne la sesión. Esta regla se aplica si la instrucción
preparada utiliza texto SQL o el protocolo binario.
• Las instrucciones explícitas de MySQL LOCK TABLE, LOCK TABLES o FLUSH TABLES WITH READ
LOCK hacen que el proxy fije la sesión.
• El establecimiento de una variable de usuario o una variable de sistema (con algunas excepciones)
hace que el proxy asigne la sesión. Si esta situación reduce demasiado la reutilización de la conexión,
puede elegir que las operaciones SET no provoquen la asignación. Para obtener información acerca de
cómo hacerlo estableciendo la propiedad SessionPinningFilters, consulte Creación de un RDS
Proxy (p. 326).
341
Amazon Aurora Guía del usuario de Aurora
Administración de un RDS Proxy
• La creación de una tabla temporal hace que el proxy asigne la sesión. De esta forma, el contenido de la
tabla temporal se conserva a lo largo de la sesión con independencia de los límites de la transacción.
• La llamada a las funciones ROW_COUNT, FOUND_ROWS y LAST_INSERT_ID de MySQL a veces provoca
fijación.
Las circunstancias exactas en las que estas funciones provocan fijación es posible que difieran entre
versiones de Aurora MySQL que son compatibles con MySQL 5.6 y MySQL 5.7.
Para obtener métricas acerca de la frecuencia con la que se produce la fijación de un proxy, consulte
Supervisión de las métricas de RDS Proxy con Amazon CloudWatch (p. 353).
342
Amazon Aurora Guía del usuario de Aurora
Trabajo con puntos de enlace del proxy de RDS
AWS CLI
Para eliminar un proxy de base de datos, utilice el comando de la AWS CLI delete-db-proxy. Para quitar
asociaciones relacionadas, utilice también el comando deregister-db-proxy-targets.
API de RDS
Para eliminar un proxy de base de datos, llame a la función de la API de Amazon RDS
DeleteDBProxy. Para eliminar elementos relacionados y asociaciones, llame también a las funciones
DeleteDBProxyTargetGroup y DeregisterDBProxyTargets.
• Puede utilizar varios puntos de enlace con un proxy para monitorear y solucionar problemas de
conexiones de diferentes aplicaciones de forma independiente.
• Puede usar puntos de enlace del lector con clústeres de base de datos de Aurora a fin de mejorar la
escalabilidad de lectura y la alta disponibilidad para sus aplicaciones que requieren un uso intensivo de
consultas.
• Puede utilizar un punto de enlace entre VPC para permitir el acceso a bases de datos de una VPC
desde recursos como instancias de Amazon EC2 en una VPC diferente.
Temas
• Información general de los puntos de enlace de proxy (p. 343)
• Usar puntos de enlace del lector con los clústeres de Aurora (p. 344)
• Acceso a Aurora y bases de datos de RDS entre VPC (p. 347)
• Creación de un punto de enlace de proxy (p. 348)
• Visualización de puntos de enlace de proxy (p. 350)
• Modificación de un punto de enlace de proxy (p. 351)
• Eliminación de un punto de enlace de proxy (p. 352)
• Límites para puntos de enlace de proxy (p. 353)
343
Amazon Aurora Guía del usuario de Aurora
Trabajo con puntos de enlace del proxy de RDS
De forma predeterminada, el punto de enlace al que se conecta cuando utiliza RDS Proxy con un clúster
de Aurora tiene capacidad de lectura o escritura. Como consecuencia, este punto de enlace envía todas
las solicitudes a la instancia de escritor del clúster y todas esas conexiones cuentan con el valor de
max_connections para la instancia de escritor. Si su proxy está asociado con un clúster de base de
datos de Aurora, puede crear puntos de enlace de lectura o escritura o de solo lectura adicionales para ese
proxy.
Puede utilizar un punto de enlace de solo lectura con su proxy para consultas de solo lectura, de igual
manera que utiliza el punto de enlace del lector para un clúster aprovisionado de Aurora. Esto lo ayuda a
aprovechar la escalabilidad de lectura de un clúster de Aurora con una o más instancias de base de datos
de lector. Puede ejecutar más consultas simultáneas y realizar más conexiones simultáneas mediante un
punto de enlace de solo lectura y el agregado de más instancias de base de datos de lector a su clúster de
Aurora, según sea necesario.
Tip
Cuando crea un proxy para un clúster de Aurora mediante la AWS Management Console, puede
elegir el proxy de RDS para crear un punto de enlace del lector automáticamente. Para obtener
información acerca de los beneficios de un punto de enlace del lector, consulte Usar puntos de
enlace del lector con los clústeres de Aurora (p. 344).
En el caso de un punto de enlace de proxy que cree, también puede asociarlo con una nube privada virtual
(VPC) diferente de la que utiliza el propio proxy. Al hacerlo, puede conectarse al proxy desde una VPC
diferente, por ejemplo, una VPC utilizada por una aplicación diferente dentro de su organización.
Para obtener información acerca de los límites asociados a los puntos de enlace de proxy, consulte Límites
para puntos de enlace de proxy (p. 353).
En los registros de RDS Proxy, cada entrada tiene el prefijo del nombre del punto de enlace de proxy
asociado. Este nombre puede ser el especificado para un punto de enlace definido por el usuario, o
el nombre especial default para solicitudes de lectura o escritura que utilizan el punto de enlace
predeterminado de un proxy.
Cada punto de enlace de proxy tiene su propio conjunto de métricas de CloudWatch. Puede monitorear
las métricas de todos los puntos de enlace de un proxy. También puede monitorear las métricas de un
punto de enlace específico, o de todos los puntos de enlace de lectura y escritura o de solo lectura de un
proxy. Para obtener más información, consulte Supervisión de las métricas de RDS Proxy con Amazon
CloudWatch (p. 353).
Un punto de enlace del proxy utiliza el mismo mecanismo de autenticación que su proxy asociado. El proxy
de RDS configura automáticamente permisos y autorizaciones para el punto de enlace definido por el
usuario, de acuerdo con las propiedades del proxy asociado.
Cuando especifica que un punto de enlace nuevo es de solo lectura, RDS Proxy requiere que el
clúster de Aurora tenga una o más instancias de base de datos de lector. Si cambia el destino del
proxy a un clúster de Aurora que contiene solo un único escritor o varios escritores de clúster de
Aurora, cualquier solicitud al punto de enlace del lector fallará. Las solicitudes también fallan si el
destino del proxy es una instancia de RDS en lugar de un clúster de Aurora.
Si un clúster de Aurora tiene instancias de lector, pero esas instancias no están disponibles, RDS
Proxy espera para enviar la solicitud en lugar de devolver un error inmediatamente. Si no hay
344
Amazon Aurora Guía del usuario de Aurora
Trabajo con puntos de enlace del proxy de RDS
instancias de lector disponibles dentro del periodo de tiempo de espera de préstamo de conexión,
la solicitud fallará.
Si la conexión es multiplexada, RDS Proxy dirige las consultas posteriores a una instancia de base de
datos de lector diferente sin interrupciones en su aplicación. Durante el cambio automático a una instancia
de lector nueva, el proxy de RDS verifica el retraso de reproducción de las instancias de lector antiguas y
nuevas. El proxy de RDS se asegura de que la instancia de lector nueva esté actualizada con los mismos
cambios que la instancia de lector anterior. De esta manera, su aplicación nunca ve datos obsoletos
cuando RDS Proxy cambia de una instancia de base de datos de lector a otra.
Si la conexión está anclada, la siguiente consulta en la conexión devuelve un error. Sin embargo, la
aplicación puede volver a conectarse inmediatamente al mismo punto de enlace. El proxy de RDS enruta
la conexión a una instancia de base de datos de lector diferente que se encuentra en estado available.
Cuando se vuelve a conectar manualmente, RDS Proxy no comprueba el retraso de reproducción entre las
instancias de lector antiguas y nuevas.
Si su clúster de Aurora no tiene instancias de lector disponibles, RDS Proxy comprueba si esta condición
es temporal o permanente. El comportamiento en cada caso es el siguiente:
• Supongamos que su clúster tiene una o más instancias de base de datos de lector, pero ninguna
de ellas está en el estado Available. Por ejemplo, todas las instancias de lector pueden estar
reiniciándose o encontrando problemas. En ese caso, los intentos de conectarse a un punto de
enlace del lector esperan a que una instancia de lector esté disponible. Si no hay instancias de lector
disponibles dentro del periodo de tiempo de espera de préstamo de conexión, se produce un error en
el intento de conexión. Si una instancia de lector está disponible, el intento de conexión se lleva a cabo
correctamente.
• Supongamos que su clúster no tiene instancias de base de datos de lector. En ese caso, RDS Proxy
devuelve un error inmediatamente si intenta conectarse a un punto de enlace del lector. Para resolver
este problema, agregue una o más instancias de lector al clúster antes de conectarse al punto de enlace
del lector.
Cómo los puntos de enlace del lector ayudan a la escalabilidad de las consultas
Los puntos de enlace del lector de un proxy ayudan con la escalabilidad de consulta de Aurora de las
siguientes maneras:
• A medida que agrega instancias de lector a su clúster de Aurora, RDS Proxy puede enrutar conexiones
nuevas a cualquier punto de enlace del lector a las diferentes instancias de lector. De esta forma,
las consultas realizadas con una conexión de punto de enlace de lector no ralentizan las consultas
realizadas con otra conexión de punto de enlace del lector. Las consultas se ejecutan en instancias de
base de datos independientes. Cada instancia de base de datos tiene sus propios recursos informáticos,
caché de búfer y demás.
• Cuando sea práctico, RDS Proxy utiliza la misma instancia de base de datos de lector para todos
los problemas de consultas mediante una conexión de punto de enlace del lector en particular. De
esta manera, un conjunto de consultas relacionadas en las mismas tablas puede aprovechar el
almacenamiento en caché, la optimización del plan y demás, en una instancia de base de datos
particular.
345
Amazon Aurora Guía del usuario de Aurora
Trabajo con puntos de enlace del proxy de RDS
• Si una instancia de base de datos de lector deja de estar disponible, el efecto en la aplicación depende
de si la sesión está multiplexada o anclada. Si la sesión está multiplexada, RDS Proxy enruta las
consultas posteriores a una instancia de base de datos de lector diferente sin acciones por su parte. Si la
sesión está anclada, la aplicación recibe un error y debe volver a conectarse. Puede volver a conectarse
al punto de enlace del lector inmediatamente y RDS Proxy enruta la conexión a una instancia de base
de datos de lector disponible. Para obtener más información acerca de la multiplexación y el anclaje de
sesiones de proxy, consulte Información general de los conceptos de RDS Proxy (p. 317).
• Cuantas más instancias de base de datos de lector tenga en el clúster, más conexiones simultáneas
podrá realizar con los puntos de enlace del lector. Por ejemplo, supongamos que el clúster tiene cuatro
instancias de base de datos de lector, cada una configurada para permitir 200 conexiones simultáneas.
Supongamos que su proxy está configurado para usar el 50 % de las conexiones máximas. Aquí, el
número máximo de conexiones que puede realizar a través de los puntos de enlace del lector en el
proxy es 100 (50 % de 200) para el lector 1. También son 100 para el lector 2, y así sucesivamente, para
un total de 400. Si duplica el número de instancias de base de datos de lector en el clúster a ocho, el
número máximo de conexiones a través de los puntos de enlace del lector también se duplicará a 800.
El siguiente ejemplo muestra cómo la conexión a un punto de enlace del lector de proxy puede seguir
funcionando incluso cuando se elimina la instancia de base de datos del lector. En este ejemplo, el clúster
de Aurora tiene dos instancias de lector, instance-5507 y instance-7448 . La conexión con el punto
de enlace del lector comienza mediante una de las instancias de lector. Durante el ejemplo, esta instancia
de lector se elimina mediante un comando delete-db-instance. Para consultas posteriores, el proxy
de RDS cambia a una instancia de lector diferente.
$ mysql -h reader-demo.endpoint.proxy-demo.us-east-1.rds.amazonaws.com
346
Amazon Aurora Guía del usuario de Aurora
Trabajo con puntos de enlace del proxy de RDS
-u my_user -p
...
mysql> select @@aurora_server_id;
+--------------------+
| @@aurora_server_id |
+--------------------+
| instance-5507 |
+--------------------+
Mientras que la sesión de mysql sigue funcionando, el siguiente comando elimina la instancia de lector a
la que está conectado el punto de enlace del lector.
Las consultas en la sesión de mysql sigue trabajando sin necesidad de volver a conectarse. El proxy de
RDS cambia a una instancia de base de datos de lector diferente automáticamente.
Con RDS Proxy, puede configurar el acceso a un clúster de Aurora o una instancia de RDS en una VPC
a partir de recursos como instancias EC2 en otra VPC. Por ejemplo, la organización puede tener varias
aplicaciones que tengan acceso a los mismos recursos de base de datos. Cada aplicación puede estar en
su propia VPC.
A fin de habilitar el acceso entre VPC, cree un nuevo punto de enlace para el proxy. Si no está
familiarizado con la creación de puntos de enlace en proxy, consulte Trabajo con puntos de enlace del
proxy de Amazon RDS (p. 343) para obtener más detalles. El propio proxy reside en la misma VPC que
347
Amazon Aurora Guía del usuario de Aurora
Trabajo con puntos de enlace del proxy de RDS
el clúster de base de datos Aurora o instancia de RDS. Sin embargo, el punto de enlace en VPC reside en
la otra VPC, junto con otros recursos, como las instancias EC2. El punto de enlace en VPC está asociado
con subredes y grupos de seguridad de la misma VPC que EC2 y otros recursos. Estas asociaciones
permiten conectarse al punto de enlace desde las aplicaciones que, de lo contrario, no pueden acceder a
la base de datos debido a las restricciones de la VPC.
Los siguientes pasos explican cómo crear y acceder a un punto de enlace en VPC a través de RDS Proxy:
1. Cree dos VPC o elija dos VPC que ya utilice para Aurora y el trabajo de RDS. Cada VPC debe tener sus
propios recursos de red asociados, como una gateway de Internet, tablas de enrutamiento, subredes y
grupos de seguridad. Si solo tiene una VPC, puede consultar Introducción a Amazon Aurora (p. 96) para
conocer los pasos a fin de configurar otra VPC para que use Aurora con éxito. También puede examinar
la VPC existente en la consola de Amazon EC2 para ver qué tipos de recursos conectarse entre sí.
2. Cree un proxy de base de datos asociado con el clúster de base de datos de Aurora o instancia de RDS
a la que desea conectarse. Siga el procedimiento indicado en Creación de un RDS Proxy (p. 326).
3. En la página de Details (Detalles) para su proxy en la consola de RDS, en la pestaña de Proxy
endpoints (Puntos de enlace de proxy), elija Create endpoint (Crear punto de enlace). Siga el
procedimiento indicado en Creación de un punto de enlace de proxy (p. 348).
4. Elija si desea que el punto de enlace en VPC sea de lectura y escritura o de solo lectura.
5. En lugar de aceptar el valor predeterminado de la misma VPC que el clúster de base de datos de Aurora
o la instancia de RDS, elija una VPC diferente. Esta VPC debe estar en la misma región de AWS que la
VPC donde reside el proxy.
6. Ahora, en lugar de aceptar los valores predeterminados para subredes y grupos de seguridad de la
misma VPC que el clúster de base de datos de Aurora o la instancia RDS, realice nuevas selecciones.
Estos se basen en las subredes y los grupos de seguridad de la VPC que eligió.
7. No es necesario cambiar las opciones de configuración de los secretos de Secrets Manager. Las
mismas credenciales funcionan para todos los puntos de enlace de proxy, independientemente de la
VPC en la que se encuentre cada punto de enlace.
8. Espere a que el punto de enlace nuevo alcance el estado de Available (Disponible).
9. Anote el nombre completo del punto de enlace. Este es el valor que termina en
Region_name.rds.amazonaws.com que proporciona como parte de la cadena de conexión para la
aplicación de base de datos.
10.Acceda al punto de enlace nuevo desde un recurso en la misma VPC que el punto de enlace. Una forma
sencilla de probar este proceso es crear una instancia EC2 nueva en esta VPC. A continuación, puede
iniciar sesión en la instancia EC2 y ejecutar los comandos mysql o psql para conectarse mediante el
valor de punto de enlace en la cadena de conexión.
Consola
348
Amazon Aurora Guía del usuario de Aurora
Trabajo con puntos de enlace del proxy de RDS
5. Para Proxy endpoint name (Nombre del punto de enlace de proxy), escriba un nombre descriptivo de
su elección.
6. Para Target role (Rol de destino), elija si desea que el punto de enlace sea de lectura o escritura o de
solo lectura.
Las conexiones que utilizan un punto de enlace de lectura o escritura pueden realizar cualquier tipo
de operación: instrucciones de lenguaje de definición de datos (DDL), instrucciones de lenguaje de
manipulación de datos (DML) y consultas. Estos puntos de enlace siempre se conectan a la instancia
principal del clúster de Aurora. Puede utilizar puntos de enlace de lectura o escritura para operaciones
generales de bases de datos cuando solo utiliza un punto de enlace único en la aplicación. También
puede utilizar puntos de enlace de lectura o escritura para operaciones administrativas, aplicaciones
de procesamiento de transacciones en línea (OLTP) y trabajos de extracción, transformación y carga
(ETL).
Las conexiones que utilizan un punto de enlace de solo lectura solo pueden realizar consultas.
Cuando hay varias instancias de lector en el clúster Aurora, RDS Proxy puede utilizar una instancia de
lector diferente para cada conexión al punto de enlace. De esta manera, una aplicación que requiere
un uso intensivo de consultas puede aprovechar la capacidad de clúster de Aurora. Puede agregar
más capacidad de consulta al clúster con la adición de más instancias de base de datos de lector.
Estas conexiones de solo lectura no imponen sobrecargas en la instancia principal del clúster. De
esta manera, sus consultas de informes y análisis no ralentizan las operaciones de escritura de sus
aplicaciones de OLTP.
7. En Virtual Private Cloud (VPC), elija el valor predeterminado si planea acceder al punto de enlace
desde las mismas instancias EC2 u otros recursos en los que normalmente tiene acceso al proxy
o a su base de datos asociada. Si desea configurar el acceso entre VPC para este proxy, elija una
VPC distinta de la predeterminada. Para obtener más información sobre el acceso a través de VPC,
consulte Acceso a Aurora y bases de datos de RDS entre VPC (p. 347).
8. En Subnets (Subredes), RDS Proxy rellena las mismas subredes que el proxy asociado de forma
predeterminada. Si desea restringir el acceso al punto de enlace para que solo una parte del intervalo
de direcciones de la VPC pueda conectarse a él, quite una o varias subredes del conjunto de
opciones.
9. En VPC security group (Grupos de seguridad de la VPC), puede elegir un grupo de seguridad
existente o crear uno nuevo. De forma predeterminada, el proxy de RDS rellena el mismo grupo
o grupos de seguridad que el proxy asociado. Si las reglas entrantes y salientes del proxy son
apropiadas para este punto de enlace, puede dejar la opción predeterminada.
Si decide crear un grupo de seguridad nuevo, especifique un nombre para el grupo de seguridad en
esta página. A continuación, edite la configuración del grupo de seguridad desde la consola de EC2.
10. Elija Create proxy endpoint (Crear punto de enlace de proxy).
AWS CLI
Para crear un punto de enlace de proxy, utilice el comando de AWS CLI create-db-proxy-endpoint.
• --db-proxy-name value
• --db-proxy-endpoint-name value
• --vpc-subnet-ids list_of_ids. Separe los ID de subred con espacios. No se especifica el ID de
la VPC en sí.
349
Amazon Aurora Guía del usuario de Aurora
Trabajo con puntos de enlace del proxy de RDS
que contienen una o más instancias de base de datos de lector. Cuando el proxy está asociado a una
instancia de RDS o con un clúster de Aurora que solo contiene una instancia de base de datos de
escritor, no puede especificar READ_ONLY. Para obtener más información sobre el uso previsto de
puntos de enlace de solo lectura con clústeres de Aurora, consulte Usar puntos de enlace del lector con
los clústeres de Aurora (p. 344).
• --vpc-security-group-ids value. Separe los ID de grupo de seguridad con espacios. Si omite
este parámetro, el proxy de RDS utiliza el grupo de seguridad predeterminado de la VPC. El proxy
de RDS determina la VPC en función de los ID de subred que especifique para el parámetro --vpc-
subnet-ids.
Example
Para Windows:
API de RDS
Para crear un punto de enlace de proxy, utilice la acción de API de RDS CreateProxyEndpoint.
Consola
350
Amazon Aurora Guía del usuario de Aurora
Trabajo con puntos de enlace del proxy de RDS
AWS CLI
Para ver uno o más puntos de enlace de proxy de base de datos, utilice el comando de AWS CLI describe-
db-proxy-endpoints.
• --db-proxy-endpoint-name
• --db-proxy-name
Example
Para Linux, macOS o Unix:
Para Windows:
API de RDS
Para describir uno o más puntos de enlace de proxy, utilice la operación de API de RDS
DescribeDBProxyEndpoints.
Consola
AWS CLI
Para modificar un punto de enlace de proxy de base de datos, utilice el comando de AWS CLI modify-db-
proxy-endpoint con los siguientes parámetros requeridos:
• --db-proxy-endpoint-name
351
Amazon Aurora Guía del usuario de Aurora
Trabajo con puntos de enlace del proxy de RDS
Especifique los cambios en las propiedades del punto de enlace mediante uno o varios de los siguientes
parámetros:
• --new-db-proxy-endpoint-name
• --vpc-security-group-ids. Separe los ID de grupo de seguridad con espacios.
En el ejemplo siguiente se cambia el nombre del punto de enlace de proxy de my-endpoint a new-
endpoint-name.
Example
Para Windows:
API de RDS
Para modificar un punto de enlace de proxy, utilice la operación de API de RDS ModifyDBProxyEndpoint.
No puede eliminar el punto de enlace predeterminado que RDS Proxy crea automáticamente para
cada proxy.
Cuando elimina un proxy, RDS Proxy elimina automáticamente todos los puntos de enlace
asociados.
Consola
AWS CLI
Para eliminar un punto de enlace de proxy, ejecute el comando delete-db-proxy-endpoint con los
siguientes parámetros requeridos:
352
Amazon Aurora Guía del usuario de Aurora
Supervisión de RDS Proxy con CloudWatch
• --db-proxy-endpoint-name
Para Windows:
API de RDS
Para eliminar un punto de enlace de proxy con la API de RDS, ejecute la operación
DeleteDBProxyEndpoint. Especifique el nombre del punto de enlace de proxy para el parámetro
DBProxyEndpointName.
El número máximo de puntos de enlace definidos por el usuario para un proxy es 20. Por lo tanto, un proxy
puede tener hasta 21 puntos de enlace: el punto de enlace predeterminado, más 20 que cree.
Cuando asocia puntos de enlace adicionales con un proxy, RDS Proxy determina automáticamente qué
instancias de base de datos del clúster se utilizarán para cada punto de enlace. No puede elegir instancias
específicas de la manera en que puede con puntos de enlace personalizados de Aurora.
Los puntos de enlace del lector no están disponibles para los clústeres de varios escritores de Aurora.
Puede conectarse a los puntos de enlace de proxy que cree utilizando los modos SSL REQUIRED
y VERIFY_CA. No se puede conectar a un punto de enlace que cree mediante el modo SSL
VERIFY_IDENTITY.
RDS publica estas métricas para cada instancia Amazon EC2 subyacente asociada con un proxy.
Es posible que más de una instancia EC2 sirva un proxy único. Utilice estadísticas de CloudWatch
para agregar los valores de un proxy en todas las instancias asociadas.
Es posible que algunas de estas métricas no estén visibles hasta después de la primera conexión
correcta a través de un proxy.
En los registros de RDS Proxy, cada entrada tiene el prefijo del nombre del punto de enlace de proxy
asociado. Este nombre puede ser el especificado para un punto de enlace definido por el usuario, o
353
Amazon Aurora Guía del usuario de Aurora
Supervisión de RDS Proxy con CloudWatch
el nombre especial default para solicitudes de lectura o escritura que utilizan el punto de enlace
predeterminado de un proxy.
Cada punto de enlace de proxy tiene sus propias métricas de CloudWatch. Puede monitorear el uso de
cada punto de enlace de proxy de forma independiente. Para obtener más información acerca de los
puntos de enlace de proxy, consulte Trabajo con puntos de enlace del proxy de Amazon RDS (p. 343).
Puede agregar los valores de cada métrica mediante uno de los siguientes conjuntos de dimensiones. Por
ejemplo, mediante el uso del conjunto de dimensiones de ProxyName, puede analizar todo el tráfico de un
proxy determinado. Mediante el uso de los otros conjuntos de dimensiones, puede dividir las métricas de
diferentes maneras. Puede dividir las métricas en función de los diferentes puntos de enlace o bases de
datos de destino de cada proxy, o el tráfico de lectura o escritura y de solo lectura a cada base de datos.
El porcentaje de
AvailabilityPercentage 1 minuto Dimension set
tiempo para el que 4 (p. 354)
el grupo de destino
estaba disponible en
el rol indicado por la
dimensión. Se informa
de esta métrica cada
minuto. La estadística
más útil para esta
métrica es Average.
El número de
ClientConnectionsClosed 1 minuto o más Dimension set
conexiones de cliente 1 (p. 354), Dimension
cerradas. La estadística set 2 (p. 354)
más útil para esta
métrica es Sum.
Número actual de
ClientConnectionsNoTLS 1 minuto o más Dimension set
conexiones de cliente 1 (p. 354), Dimension
sin Transport Layer set 2 (p. 354)
Security (TLS). Se
informa de esta métrica
cada minuto. La
estadística más útil para
esta métrica es Sum.
354
Amazon Aurora Guía del usuario de Aurora
Supervisión de RDS Proxy con CloudWatch
El número de solicitudes
ClientConnectionsReceived 1 minuto o más Dimension set
de conexión de cliente 1 (p. 354), Dimension
recibidas. La estadística set 2 (p. 354)
más útil para esta
métrica es Sum.
El número de intentos
ClientConnectionsSetupFailedAuth 1 minuto o más Dimension set
de conexión de cliente 1 (p. 354), Dimension
que produjeron un set 2 (p. 354)
error debido a una
autenticación o TLS
mal configurada. La
estadística más útil para
esta métrica es Sum.
El número de
ClientConnectionsSetupSucceeded 1 minuto o más Dimension set
conexiones de 1 (p. 354), Dimension
cliente establecidas set 2 (p. 354)
correctamente con
cualquier mecanismo de
autenticación con o sin
TLS. La estadística más
útil para esta métrica es
Sum.
El número de solicitudes
DatabaseConnectionRequests 1 minuto o más Dimension set
para crear una conexión 1 (p. 354), Dimension
de base de datos. La set 3 (p. 354),
estadística más útil para Dimension set
esta métrica es Sum. 4 (p. 354)
El número de solicitudes
DatabaseConnectionRequestsWithTLS 1 minuto o más Dimension set
para crear una conexión 1 (p. 354), Dimension
de base de datos con set 3 (p. 354),
TLS. La estadística más Dimension set
útil para esta métrica es 4 (p. 354)
Sum.
355
Amazon Aurora Guía del usuario de Aurora
Supervisión de RDS Proxy con CloudWatch
El tiempo en
DatabaseConnectionsBorrowLatency 1 minuto o más Dimension set
microsegundos que 1 (p. 354), Dimension
tarda el proxy que se set 2 (p. 354)
monitorea en obtener
una conexión de base
de datos. La estadística
más útil para esta
métrica es Average.
El número actual de
DatabaseConnectionsCurrentlyBorrowed 1 minuto Dimension set
conexiones de base 1 (p. 354), Dimension
de datos en estado de set 3 (p. 354),
préstamo. Se informa Dimension set
de esta métrica cada 4 (p. 354)
minuto. La estadística
más útil para esta
métrica es Sum.
El número actual
DatabaseConnectionsCurrentlyInTransaction 1 minuto Dimension set
de conexiones de 1 (p. 354), Dimension
base de datos en una set 3 (p. 354),
transacción. Se informa Dimension set
de esta métrica cada 4 (p. 354)
minuto. La estadística
más útil para esta
métrica es Sum.
El número actual
DatabaseConnectionsCurrentlySessionPinned 1 minuto Dimension set
de conexiones de 1 (p. 354), Dimension
base de datos fijadas set 3 (p. 354),
actualmente debido Dimension set
a operaciones en 4 (p. 354)
solicitudes de cliente
que cambian el estado
de la sesión. Se informa
de esta métrica cada
minuto. La estadística
más útil para esta
métrica es Sum.
El número de solicitudes
DatabaseConnectionsSetupFailed 1 minuto o más Dimension set
de conexión de base de 1 (p. 354), Dimension
datos que produjeron set 3 (p. 354),
un error. La estadística Dimension set
más útil para esta 4 (p. 354)
métrica es Sum.
El número de
DatabaseConnectionsSetupSucceeded 1 minuto o más Dimension set
conexiones de base 1 (p. 354), Dimension
de datos establecidas set 3 (p. 354),
correctamente con o sin Dimension set
TLS. La estadística más 4 (p. 354)
útil para esta métrica es
Sum.
356
Amazon Aurora Guía del usuario de Aurora
Supervisión de RDS Proxy con CloudWatch
El número actual de
DatabaseConnectionsWithTLS 1 minuto Dimension set
conexiones de base 1 (p. 354), Dimension
de datos con TLS. set 3 (p. 354),
Se informa de esta Dimension set
métrica cada minuto. La 4 (p. 354)
estadística más útil para
esta métrica es Sum.
El número máximo de
MaxDatabaseConnectionsAllowed 1 minuto Dimension set
conexiones de base 1 (p. 354), Dimension
de datos permitidas. set 3 (p. 354),
Se informa de esta Dimension set
métrica cada minuto. La 4 (p. 354)
estadística más útil para
esta métrica es Sum.
El tiempo en
QueryDatabaseResponseLatency 1 minuto o más Dimension set
microsegundos que la 1 (p. 354), Dimension
base de datos tardó en set 2 (p. 354),
responder a la consulta. Dimension set
La estadística más útil 3 (p. 354), Dimension
para esta métrica es set 4 (p. 354)
Average.
357
Amazon Aurora Guía del usuario de Aurora
Trabajo con eventos de RDS Proxy
Puede encontrar registros de actividad del proxy de RDS en CloudWatch en la AWS Management
Console. Cada proxy tiene una entrada en la página Log groups (Grupos de registro).
Important
Estos registros están destinados al consumo humano para solucionar problemas y no para
el acceso mediante programación. El formato y el contenido de los registros están sujetos a
cambios.
En particular, los registros más antiguos no contienen prefijos que indiquen el punto de enlace de
cada solicitud. En los registros más recientes, cada entrada tiene el prefijo del nombre del punto
de enlace de proxy asociado. Este nombre puede ser el que especificó para un punto de enlace
definido por el usuario, o el nombre especial default para las solicitudes que utilizan el punto de
enlace predeterminado de un proxy.
Para obtener más información acerca de cómo trabajar con eventos, consulte lo siguiente:
• Para obtener instrucciones acerca de cómo ver los eventos mediante AWS Management Console, AWS
CLI o la API de RDS, consulte Consulta de eventos de Amazon RDS (p. 724).
• Para obtener información sobre cómo configurar Amazon Aurora para enviar eventos a EventBridge,
consulte Creación de una regla que se desencadena en función de un evento Amazon Aurora (p. 744).
358
Amazon Aurora Guía del usuario de Aurora
Ejemplos del RDS Proxy
A continuación, se muestra un ejemplo de un evento de RDS Proxy en formato JSON. El evento muestra
que RDS modificó el punto de conexión denominado my-endpoint de la instancia de RDS Proxy
denominada my-rds-proxy. El ID de evento es RDS-EVENT-0207.
{
"version": "0",
"id": "68f6e973-1a0c-d37b-f2f2-94a7f62ffd4e",
"detail-type": "RDS DB Proxy Event",
"source": "aws.rds",
"account": "123456789012",
"time": "2018-09-27T22:36:43Z",
"region": "us-east-1",
"resources": [
"arn:aws:rds:us-east-1:123456789012:db-proxy:my-rds-proxy"
],
"detail": {
"EventCategories": [
"configuration change"
],
"SourceType": "DB_PROXY",
"SourceArn": "arn:aws:rds:us-east-1:123456789012:db-proxy:my-rds-proxy",
"Date": "2018-09-27T22:36:43.292Z",
"Message": "RDS modified endpoint my-endpoint of DB Proxy my-rds-proxy.",
"SourceIdentifier": "my-endpoint",
"EventID": "RDS-EVENT-0207"
}
}
359
Amazon Aurora Guía del usuario de Aurora
Ejemplos del RDS Proxy
Ejemplos
Example Conservación de las conexiones en una base de datos de MySQL a través de una
conmutación por error
En este ejemplo de MySQL se muestra cómo las conexiones abiertas continúan funcionando durante
una conmutación por error, por ejemplo, cuando se reinicia una base de datos o deja de estar disponible
debido a un problema. En este ejemplo se utiliza un proxy denominado the-proxy y un clúster de base
de datos de Aurora con instancias de base de datos instance-8898 y instance-9814. Cuando el
comando failover-db-cluster se ejecuta desde la línea de comandos de Linux, la instancia de
escritor a la que está conectado el proxy cambia a una instancia de base de datos diferente. Puede ver que
la instancia de base de datos asociada con el proxy cambia mientras la conexión permanece abierta.
mysql>
[1]+ Stopped mysql -h the-proxy.proxy-demo.us-east-1.rds.amazonaws.com -
u admin_user -p
$ # Initially, instance-9814 is the writer.
$ aws rds failover-db-cluster --db-cluster-identifier cluster-56-2019-11-14-1399
JSON output
$ # After a short time, the console shows that the failover operation is complete.
$ # Now instance-8898 is the writer.
$ fg
mysql -h the-proxy.proxy-demo.us.us-east-1.rds.amazonaws.com -u admin_user -p
mysql>
[1]+ Stopped mysql -h the-proxy.proxy-demo.us-east-1.rds.amazonaws.com -
u admin_user -p
$ aws rds failover-db-cluster --db-cluster-identifier cluster-56-2019-11-14-1399
JSON output
$ # After a short time, the console shows that the failover operation is complete.
$ # Now instance-9814 is the writer again.
$ fg
mysql -h the-proxy.proxy-demo.us-east-1.rds.amazonaws.com -u admin_user -p
360
Amazon Aurora Guía del usuario de Aurora
Solución de problemas de RDS Proxy
+--------------------+
1 row in set (0.01 sec)
+---------------+---------------+
| Variable_name | Value |
+---------------+---------------+
| hostname | ip-10-1-3-178 |
+---------------+---------------+
1 row in set (0.02 sec)
export REGION=us-east-1
export CLUSTER_PARAM_GROUP=rds-proxy-mysql-56-max-connections-demo
export CLUSTER_NAME=rds-proxy-mysql-56
361
Amazon Aurora Guía del usuario de Aurora
Solución de problemas de RDS Proxy
En los registros de RDS Proxy, cada entrada tiene el prefijo del nombre del punto de enlace de proxy
asociado. Este nombre puede ser el especificado para un punto de enlace definido por el usuario, o
el nombre especial default para solicitudes de lectura o escritura que utilizan el punto de enlace
predeterminado de un proxy. Para obtener más información acerca de los puntos de enlace de proxy,
consulte Trabajo con puntos de enlace del proxy de Amazon RDS (p. 343).
Temas
• Verificación de la conectividad para un proxy (p. 362)
• Problemas y soluciones comunes (p. 363)
Examine el propio proxy usando el comando describe-db-proxies. Examine también el grupo de destino
asociado mediante describe-db-proxy-target-groups. Compruebe que los detalles de los destinos coinciden
con la instancia de base de datos de RDS o el clúster de base de datos de Aurora que pretende asociar
con el proxy. Utilice comandos como los siguientes.
Para confirmar que el proxy puede conectarse a la base de datos subyacente, examine los destinos
especificados en los grupos de destino mediante el comando describe-db-proxy-targets. Utilice un
comando como el siguiente.
• Un valor State de AVAILABLE indica que el proxy puede conectarse a la instancia de base de datos.
• Un valor State de UNAVAILABLE indica un problema de conexión temporal o permanente. En
este caso, examine los campos Reason y Description. Por ejemplo, si Reason tiene un valor
de PENDING_PROXY_CAPACITY, intente conectarse de nuevo después de que el proxy finalice
su operación de escalado. Si Reason tiene un valor de UNREACHABLE, CONNECTION_FAILED o
AUTH_FAILURE, utilice la explicación del campo Description que le ayudará a diagnosticar el
problema.
• El campo State es posible que tenga un valor de REGISTERING durante un breve tiempo antes de
cambiar a AVAILABLE o UNAVAILABLE.
Si el siguiente comando Necat (nc) se ejecuta correctamente, puede acceder al punto de enlace del proxy
desde la instancia EC2 u otro sistema en el que haya iniciado sesión. Este comando notifica un error si
no está en la misma VPC que el proxy y la base de datos asociada. Es posible que pueda iniciar sesión
directamente en la base de datos sin estar en la misma VPC. Sin embargo, no puede iniciar sesión en el
proxy a menos que esté en la misma VPC.
362
Amazon Aurora Guía del usuario de Aurora
Solución de problemas de RDS Proxy
Puede utilizar los siguientes comandos para asegurarse de que la instancia EC2 tenga las propiedades
requeridas. En particular, la VPC para la instancia EC2 debe ser la misma que la VPC para la instancia de
base de datos de RDS o el clúster de base de datos de Aurora al que se conecta el proxy.
Asegúrese de que el campo SecretString mostrado por get-secret-value está codificado como
una cadena JSON que incluye los campos username y password. En el ejemplo siguiente se muestra el
formato del campo SecretString.
{
"ARN": "some_arn",
"Name": "some_name",
"VersionId": "some_version_id",
"SecretString": '{"username":"some_username","password":"some_password"}',
"VersionStages": [ "some_stage" ],
"CreatedDate": some_timestamp
}
Es posible que encuentre los siguientes problemas al crear un nuevo proxy o al conectarse a un proxy.
403: The security Seleccione un rol de IAM existente en lugar de elegir crear uno nuevo.
token included in
the request is
invalid
ERROR 1040 La tasa de solicitudes de conexión del cliente al proxy ha superado el límite.
(HY000):
Connections rate
limit exceeded
(limit_value)
363
Amazon Aurora Guía del usuario de Aurora
Solución de problemas de RDS Proxy
ERROR 2026 Error en el protocolo de enlace TLS al proxy. Algunas posibles razones
(HY000): SSL incluyen las siguientes:
connection error:
Internal Server • Se requiere SSL, pero el servidor no lo admite.
Error • Se ha producido un error interno del servidor.
• Se ha producido un protocolo de enlace erróneo.
ERROR 9501 Se agotó el tiempo de espera del proxy mientras esperaba a adquirir
(HY000): Timed- una conexión a la base de datos. Algunas posibles razones incluyen las
out waiting to siguientes:
acquire database
connection • El proxy no puede establecer una conexión con la base de datos porque se
ha llegado al máximo de conexiones.
• El proxy no puede establecer una conexión a base de datos porque la base
de datos no está disponible.
364
Amazon Aurora Guía del usuario de Aurora
Solución de problemas de RDS Proxy
This RDS Proxy requires El usuario habilitó la opción Para corregir este error, realice
TLS connections. Exigir Transport Layer Security alguna de las siguientes
pero intentó conectarse con acciones:
sslmode=disable en el cliente
de PostgreSQL. • Desactive la opción del
proxy Exigir Transport Layer
Security.
• Conectarse a la base de datos
mediante la configuración
mínima de sslmode=allow
en el cliente PostgreSQL.
IAM authentication Este error es posible que se deba Para corregir este error, haga lo
failed for user a las siguientes razones: siguiente:
user_name. Check the IAM
token for this user and • El cliente proporcionó el 1. Confirme que existe el usuario
try again. nombre de usuario de IAM de IAM proporcionado.
incorrecto. 2. Confirme que el token
• El cliente proporcionó un de autorización de IAM
token de autorización de IAM pertenece al usuario de IAM
incorrecto para el usuario. proporcionado.
• El cliente está utilizando una 3. Confirme que la política
política de IAM que no tiene los de IAM tiene los permisos
permisos necesarios. adecuados para RDS.
• El cliente proporcionó un 4. Compruebe la validez del
token de autorización de IAM token de autorización de IAM
caducado para el usuario. utilizado.
This RDS proxy has no No hay ningún secreto de Agregue un secreto de Secrets
credentials for the role Secrets Manager para este rol. Manager para este rol.
role_name. Check the
credentials for this
role and try again.
RDS supports only IAM or El cliente de base de datos que Si no está utilizando la
MD5 authentication. se utiliza para conectarse al autenticación de IAM, utilice solo
proxy utiliza un mecanismo de la autenticación de contraseña
autenticación que actualmente no MD5.
admite el proxy, como SCRAM-
SHA-256.
A user name is missing El cliente de base de datos que Asegúrese de definir un nombre
from the connection se utiliza para conectarse al de usuario al configurar una
startup packet. Provide proxy no envía un nombre de conexión con el proxy utilizando
a user name for this usuario al intentar establecer una el cliente PostgreSQL de su
connection. conexión. elección.
365
Amazon Aurora Guía del usuario de Aurora
Solución de problemas de RDS Proxy
Feature not supported: A través del mensaje de inicio, Desactive la opción que se
RDS Proxy currently el cliente PostgreSQL utilizado muestra como no compatible con
doesn't support the para conectarse al proxy solicita el mensaje anterior en el cliente
option option_name. una opción que actualmente no de PostgreSQL que se utiliza
es compatible con el proxy RDS. para conectarse.
The password that was La contraseña de este rol no Compruebe el secreto de este rol
provided for the role coincide con el secreto de en Secrets Manager para ver si
role_name is wrong. Secrets Manager. la contraseña es la misma que
la que se está utilizando en su
cliente PostgreSQL.
IAM is allowed only with Un cliente intentó conectarse Habilite SSL en el cliente
SSL connections. mediante la autenticación PostgreSQL.
de IAM, pero SSL no estaba
habilitado.
366
Amazon Aurora Guía del usuario de Aurora
Uso del proxy de RDS con AWS CloudFormation
Timed-out waiting Se agotó el tiempo de espera Las posibles soluciones son las
to acquire database del proxy mientras esperaba siguientes:
connection. a adquirir una conexión a la
base de datos. Algunas posibles • Compruebe el destino de la
razones incluyen las siguientes: instancia de base de datos de
Aurora de RDS o el estado del
• El proxy no puede establecer clúster de base de datos para
una conexión con la base ver si no está disponible.
de datos porque se ha • Compruebe si hay
alcanzado el número máximo transacciones de larga
de conexiones. duración y/o consultas en
• El proxy no puede establecer ejecución. Pueden usar
una conexión con la base de conexiones de bases de datos
datos porque la base de datos desde el grupo de conexiones
no está disponible. durante mucho tiempo.
En la siguiente descripción, se muestra una plantilla de AWS CloudFormation de ejemplo para el proxy de
RDS.
Resources:
DBProxy:
Type: AWS::RDS::DBProxy
Properties:
DBProxyName: CanaryProxy
EngineFamily: MYSQL
RoleArn:
Fn::ImportValue: SecretReaderRoleArn
Auth:
- {AuthScheme: SECRETS, SecretArn: !ImportValue ProxySecret, IAMAuth: DISABLED}
VpcSubnetIds:
Fn::Split: [",", "Fn::ImportValue": SubnetIds]
ProxyTargetGroup:
367
Amazon Aurora Guía del usuario de Aurora
Uso del proxy de RDS con AWS CloudFormation
Type: AWS::RDS::DBProxyTargetGroup
Properties:
DBProxyName: CanaryProxy
TargetGroupName: default
DBInstanceIdentifiers:
- Fn::ImportValue: DBInstanceName
DependsOn: DBProxy
Para obtener más información acerca de los recursos de Amazon RDS y Aurora que puede crear mediante
AWS CloudFormation, consulte la referencia del tipo de recurso de RDS.
368
Amazon Aurora Guía del usuario de Aurora
Trabajo con los grupos de parámetros
Administra la configuración de la base de datos asociando las instancias de base de datos y los clústeres
de bases de datos de Aurora con grupos de parámetros. Amazon RDS define grupos de parámetros con la
configuración predeterminada.
Important
Puede definir sus propios grupos de parámetros con una configuración personalizada. A
continuación, puede modificar las instancias de bases de datos y clústeres de Aurora para utilizar
sus propios grupos de parámetros.
Para obtener información sobre la modificación de un clúster de base de datos o instancia
de base de datos, consulte Modificación de un clúster de base de datos de Amazon
Aurora (p. 405).
Un grupo de parámetros de base de datos sirve de contenedor para los valores de configuración del motor
que se aplican a una o varias instancias de bases de datos. Los grupos de parámetros de base de datos
de se aplican a instancias de base de datos en Amazon RDS y Aurora. Estos ajustes de configuración se
aplican a propiedades que pueden variar entre las instancias de base de datos dentro de un clúster de
Aurora, como los tamaños de los búferes de memoria.
Un grupo de parámetros del clúster de base de datos funciona como un contenedor para los valores
de configuración del motor que se aplican a cada instancia de base de datos en un clúster de base de
datos de Aurora. Por ejemplo, el modelo de almacenamiento compartido de Aurora requiere que cada
instancia de base de datos en un clúster de Aurora utilice la misma configuración para parámetros, como
innodb_file_per_table. Por lo tanto, los parámetros que afectan al diseño de almacenamiento físico
forman parte del grupo de parámetros del clúster. Los grupos de parámetros de clúster de base de datos
también incluyen valores predeterminados para todos los parámetros de nivel de instancia.
Si crea una instancia de base de datos sin especificar un grupo de parámetros de bases de datos, la
instancia de base de datos utilizará un grupo de parámetros de base de datos predeterminado. Del mismo
modo, si crea un clúster de base de datos de Aurora sin especificar un grupo de parámetros del clúster
de base de datos, el clúster de base de datos utiliza un grupo de parámetros del clúster de base de datos
predeterminado. Cada grupo de parámetros de predeterminado contiene los valores predeterminados
del motor de base de datos y los valores predeterminados del sistema Amazon RDS correspondientes
al motor, la clase de computación y el almacenamiento asignado de la instancia. La configuración de los
parámetros de un grupo de parámetros predeterminado no se puede modificar. En su lugar, cree su propio
grupo de parámetros en el que elija sus propios ajustes de parámetros. No todos los parámetros del motor
de base de datos pueden cambiarse en el grupo de parámetros que cree.
Si desea utilizar su propio grupo de parámetros, cree un nuevo grupo de parámetros y modifique los
parámetros que desee. A continuación, modifique su instancia de base de datos o el clúster de base de
datos para utilizar el nuevo grupo de parámetros. Si actualiza los parámetros en un grupo de parámetros
de base de datos, los cambios se aplican a todas las instancias de base de datos que se asocian a ese
grupo de parámetros. De la misma forma, si actualiza los parámetros en un grupo de parámetros del
clúster de base de datos, los cambios se aplican a todos los clústeres de Aurora que se asocian a ese
grupo de parámetros del clúster de base de datos.
Es posible copiar un grupo de parámetros de base de datos existente con el comando copy-db-parameter-
group de la AWS CLI. Es posible copiar un grupo de parámetros de clúster de base de datos existente
369
Amazon Aurora Guía del usuario de Aurora
Trabajo con los grupos de parámetros
Estos son algunos puntos importantes para utilizar los parámetros de un grupo de parámetros de :
• Los parámetros de base de datos son static (estáticos) o dynamic (dinámicos). Cuando se cambia un
parámetro estático y se guarda el grupo de parámetros de base de datos, el cambio de parámetros se
aplicará después de reiniciar manualmente la instancia de base de datos. Puede reiniciar una instancia
de base de datos mediante la consola RDS, al llamar al comando reboot-db-instance CLI o a la
operación RebootDBInstance API. El requisito de reiniciar la instancia de base de datos asociada
después de cambiar los parámetros estáticos ayuda a mitigar el riesgo de que una configuración errónea
de parámetros afecte a una llamada a la API como, por ejemplo, llamar a ModifyDBInstance para
cambiar la clase de instancia de base de datos o escalar el almacenamiento.
Por ejemplo, si la instancia de base de datos no está utilizando los cambios más recientes del grupo de
parámetros de base de datos asociado, la AWS Management Console muestra el grupo de parámetros
de base de datos con el estado pending-reboot. El estado de los grupos de parámetros pending-reboot
no genera un reinicio automático durante la siguiente ventana de mantenimiento. Para aplicar los
cambios de parámetros más recientes en esa instancia de base de datos, reinicie manualmente la
instancia de base de datos.
• Al asociar un nuevo grupo de parámetros de base de datos con una instancia de base de datos, los
parámetros estáticos y dinámicos modificados se aplican solo después de reiniciar la instancia de base
de datos. Sin embargo, si modifica parámetros dinámicos en el grupo de parámetros de base de datos
recién asociado, dichos cambios se aplican inmediatamente sin reiniciar. Para obtener información sobre
el cambio del grupo de parámetros de base de datos, consulte Modificación de un clúster de base de
datos de Amazon Aurora (p. 405).
Note
370
Amazon Aurora Guía del usuario de Aurora
Trabajo con los grupos de parámetros
Para algunos motores de base de datos, puede cambiar los valores de la intercalación o del conjunto de
caracteres para una base de datos existente mediante el comando ALTER DATABASE; por ejemplo:
Para obtener más información acerca de cómo cambiar el conjunto de caracteres o los valores de
intercalación de una base de datos, consulte la documentación del motor de la base de datos.
• Si se configuran de forma incorrecta los parámetros de un grupo de parámetros , pueden producirse
efectos adversos no deseados, como la degradación del rendimiento y la inestabilidad del sistema.
Realice siempre cualquier modificación de los parámetros de base de datos con cuidado y haga una
copia de seguridad de los datos antes de modificar un grupo de parámetros . Pruebe los cambios de
configuración de los grupos de parámetros en una instancia de base de datos de prueba antes de aplicar
dichos cambios a una instancia de base de datos de producción.
• Para una base de datos global de Aurora, puede especificar distintos ajustes de configuración para los
clústeres de Aurora individuales. Asegúrese de que la configuración sea lo suficientemente similar como
para producir un comportamiento coherente si promueve un clúster secundario para convertirlo en el
principal. Por ejemplo, utilice la misma configuración de zonas horarias y conjuntos de caracteres en
todos los clústeres de una base de datos global de Aurora.
• Para determinar los parámetros compatibles con su motor de base de datos, puede consultar los
parámetros en el grupo de parámetros de base de datos y el grupo de parámetros de clúster de base
de datos utilizado por el clúster de base de datos de de la instancia de base de datos de . Para obtener
más información, consulte Visualización de los valores de los parámetros de un grupo de parámetros de
base de datos (p. 392) y Visualización de los valores de los parámetros de un grupo de parámetros de
clúster de base de datos (p. 393).
Temas
• Parámetros del clúster de base de datos de Amazon Aurora y de instancia de base de datos (p. 372)
• Creación de un grupo de parámetros de base de datos (p. 373)
• Creación de un grupo de parámetros de clúster de base de datos (p. 374)
• Asociación de un grupo de parámetros de base de datos con una instancia de base de datos (p. 376)
• Asociación de un grupo de parámetros de clúster de base de datos con un clúster de base de
datos (p. 377)
• Modificación de parámetros de un grupo de parámetros de base de datos (p. 378)
• Modificación de parámetros de un grupo de parámetros de clúster de base de datos (p. 381)
• Restablecimiento de parámetros de un grupo de parámetros de base de datos a sus valores
predeterminados (p. 382)
• Restablecimiento de parámetros de un grupo de parámetros de clúster de base de datos (p. 385)
• Copia de un grupo de parámetros de base de datos (p. 386)
• Copia de un grupo de parámetros de clúster de base de datos (p. 388)
• Descripción de grupos de parámetros de base de datos (p. 389)
• Descripción de grupos de parámetros de clúster de base de datos (p. 390)
• Visualización de los valores de los parámetros de un grupo de parámetros de base de datos (p. 392)
• Visualización de los valores de los parámetros de un grupo de parámetros de clúster de base de
datos (p. 393)
• Comparación de grupos de parámetros (p. 394)
• Especificación de parámetros de base de datos (p. 395)
371
Amazon Aurora Guía del usuario de Aurora
Parámetros del clúster de base de
datos y la instancia de base de datos
• Los parámetros de un grupo de parámetros de clúster de base de datos se aplican a todas las instancias
de bases de datos de un clúster de base de datos. Sus datos se almacenan en el subsistema de
almacenamiento compartido de Aurora. Debido a esto, todos los parámetros relacionados con el
diseño físico de los datos de tabla deben ser los mismos para todas las instancias de base de datos
en un clúster de Aurora. De igual forma, puesto que las instancias de base de datos de Aurora están
conectadas mediante replicación, todos los parámetros para la configuración de replicación deben ser
idénticos en un clúster de Aurora.
• Los parámetros de un grupo de parámetros de base de datos se aplican a una sola instancia de base
de datos de un clúster de base de datos de Aurora. Estos parámetros están relacionados con aspectos
como el uso de la memoria que puede variar según las instancias de base de datos en el mismo clúster
de Aurora. Por ejemplo, un clúster suele contener instancias de base de datos con diferentes clases de
instancia de AWS.
Cada clúster de Aurora se asocia a un grupo de parámetros del clúster de base de datos. Cada instancia
de base de datos dentro del clúster hereda la configuración de ese grupo de parámetros del clúster
de base de datos y se asocia con un grupo de parámetros de base de datos. Aurora asigna grupos de
parámetros predeterminados cuando crea un clúster o una nueva instancia de base de datos según la
versión y el motor de base de datos especificados. Puede cambiar los grupos de parámetros después a los
que ha creado, donde puede editar los valores de parámetros.
Los grupos de parámetros del clúster de base de datos también incluyen valores predeterminados para
todos los parámetros de nivel de instancia de un grupo de parámetros de base de datos. Estos valores
predeterminados se han creado principalmente para configurar clústeres de Aurora Serverless, que solo
se asocian a los grupos de parámetros de clúster de base de datos, no a grupos de parámetros de base
de datos. Puede modificar la configuración de parámetros de nivel de instancia en el grupo de parámetros
del clúster de base de datos. A continuación, Aurora aplica esos ajustes a cada nueva instancia de base
de datos que se añade a un clúster de Serverless. Para obtener más información sobre los ajustes de
configuración para clústeres de Aurora Serverless y los ajustes que puede modificar, consulte Grupos de
parámetros de Aurora Serverless v1 (p. 171).
Para clústeres sin servidor, los valores de configuración que modifique en el grupo de parámetros de
clúster de base de datos anulan los valores predeterminados en el grupo de parámetros de base de datos.
Si edita los valores correspondientes en el grupo de parámetros de base de datos, dichos valores anulan la
configuración del grupo de parámetros de clúster de base de datos.
Los ajustes de parámetros de base de datos que modifique tienen preferencia sobre los valores de grupo
de parámetros de clúster de base de datos, incluso si devuelve los parámetros de configuración a sus
valores predeterminados. Puede ver qué parámetros se sobrescriben mediante el comando de la CLI
describe-db-parametersAWS CLI o la API de RDS DescribeDBParameters. El campo Source
contiene el valor user si modificó ese parámetro. Para restablecer uno o más parámetros de manera que
el valor del grupo de parámetros de clúster de base de datos tenga preferencia, utilice el comando de la
reset-db-parameter-group AWS CLI o la operación de la API de RDS ResetDBParameterGroup.
Los parámetros de instancia de base de datos y de clúster de base de datos disponible en Aurora varían
en función de la compatibilidad del motor de base de datos.
372
Amazon Aurora Guía del usuario de Aurora
Creación de un grupo de parámetros de base de datos
Consola
Para crear un grupo de parámetros de base de datos
AWS CLI
Para crear un grupo de parámetros de base de datos, utilice el comando create-db-parameter-group
de la AWS CLI. En el siguiente ejemplo se crea un grupo de parámetros de base de datos denominado
mydbparametergroup para MySQL versión 5.6 con la descripción “My new parameter group”.
• --db-parameter-group-name
• --db-parameter-group-family
• --description
Para mostrar todas las familias de grupos de parámetros disponibles, use el siguiente comando:
Note
373
Amazon Aurora Guía del usuario de Aurora
Creación de un grupo de parámetros
de clúster de base de datos
Example
Para Windows:
API de RDS
Para crear un grupo de parámetros de base de datos, utilice la operación CreateDBParameterGroup de
la API de RDS.
• DBParameterGroupName
• DBParameterGroupFamily
• Description
Consola
Para crear un grupo de parámetros de clúster de base de datos
374
Amazon Aurora Guía del usuario de Aurora
Creación de un grupo de parámetros
de clúster de base de datos
7. En el cuadro Description (Descripción), escriba una descripción para el nuevo grupo de parámetros de
clúster de base de datos.
8. Seleccione Create (Crear).
AWS CLI
Para crear un grupo de parámetros de clúster de base de datos, use el comando AWS CLI de create-
db-cluster-parameter-group. En el siguiente ejemplo se crea un grupo de parámetros de clúster
base de datos denominado mydbclusterparametergroup para MySQL versión 5.6 con la descripción “My
new cluster parameter group”.
• --db-cluster-parameter-group-name
• --db-parameter-group-family
• --description
Para mostrar todas las familias de grupos de parámetros disponibles, use el siguiente comando:
Note
Example
Para Linux, macOS o Unix:
Para Windows:
API de RDS
Para crear un grupo de parámetros de clúster de base de datos, use la acción
CreateDBClusterParameterGroup de la API de RDS.
• DBClusterParameterGroupName
375
Amazon Aurora Guía del usuario de Aurora
Asociación de un grupo de parámetros de base
de datos con una instancia de base de datos
• DBParameterGroupFamily
• Description
Para obtener información sobre la creación de un grupo de parámetros de base de datos, consulte
Creación de un grupo de parámetros de base de datos (p. 373). Para obtener más información acerca de
la modificación de una instancia de base de datos , consulte Modificar una instancia de base de datos en
un clúster de base de datos (p. 406).
Note
Al asociar un nuevo grupo de parámetros de base de datos con una instancia de base de datos,
los parámetros estáticos y dinámicos modificados se aplican solo después de reiniciar la instancia
de base de datos. Sin embargo, si modifica parámetros dinámicos en el grupo de parámetros de
base de datos recién asociado, dichos cambios se aplican inmediatamente sin reiniciar.
Consola
Para asociar un grupo de parámetros de base de datos con una instancia de base de datos
O bien, elija Back (Atrás) para editar los cambios o Cancel (Cancelar) para cancelarlos.
AWS CLI
Para asociar un grupo de parámetros de base de datos con una instancia de base de datos, utilice el
comando modify-db-instance de AWS CLI con las siguientes opciones:
• --db-instance-identifier
• --db-parameter-group-name
En el ejemplo siguiente se asocia el mydbpg grupo de parámetros de base de datos con la database-1
instancia de base de datos. Los cambios se aplican inmediatamente mediante --apply-immediately.
Utilícelo --no-apply-immediately para aplicar los cambios durante la siguiente ventana de
mantenimiento.
376
Amazon Aurora Guía del usuario de Aurora
Asociación de un grupo de parámetros de clúster
de base de datos con un clúster de base de datos
Example
Para Linux, macOS o Unix:
Para Windows:
API de RDS
Para asociar un grupo de parámetros de base de datos con una instancia de base de datos, utilice la
operación ModifyDBInstance de la API de RDS con los siguientes parámetros:
• DBInstanceName
• DBParameterGroupName
Para obtener más información acerca de cómo crear un grupo de parámetros de base de datos, consulte
Creación de un grupo de parámetros de clúster de base de datos (p. 374). Para obtener más información
acerca de la creación de un clúster de base de datos, consulte Creación de un clúster de base de datos de
Amazon Aurora (p. 136). Para obtener más información acerca de la modificación de un clúster de base de
datos, consulte Modificación de un clúster de base de datos de Amazon Aurora (p. 405).
Note
Después de cambiar el grupo de parámetros de clúster de base de datos asociado a un clúster
de base de datos, reinicie la instancia de base de datos principal en el clúster para aplicar los
cambios a todas las instancias de base de datos del clúster.
Para determinar si la instancia de base de datos principal de un clúster de base de datos debe
reiniciarse para aplicar los cambios, ejecute el siguiente AWS CLI comando:
aws rds describe-db-clusters --db-cluster-identifier
db_cluster_identifier
Compruebe el DBClusterParameterGroupStatus valor de la instancia de base de datos
principal en la salida. Si el valor es pending-reboot, reinicie la instancia de base de datos
principal del clúster de base de datos.
Consola
Para asociar un grupo de parámetros de clúster de base de datos a un clúster de base de datos
377
Amazon Aurora Guía del usuario de Aurora
Modificación de parámetros de un
grupo de parámetros de base de datos
O bien, elija Back para editar los cambios o Cancel para cancelarlos.
AWS CLI
Para asociar un grupo de parámetros de clúster de base de datos con un clúster de base de datos, utilice
el comando modify-db-cluster de AWS CLI con las siguientes opciones:
• --db-cluster-name
• --db-cluster-parameter-group-name
En el ejemplo siguiente asocia el grupo de parámetros de base de datos de mydbclpg con el clúster de
base de datos de mydbcluster.
Example
Para Windows:
API de RDS
Para asociar un grupo de parámetros de clúster de base de datos con un clúster de base de datos, utilice
la operación ModifyDBCluster de la API de RDS con los siguientes parámetros:
• DBClusterIdentifier
• DBClusterParameterGroupName
378
Amazon Aurora Guía del usuario de Aurora
Modificación de parámetros de un
grupo de parámetros de base de datos
de datos creado por el cliente se aplican a todas las instancias de bases de datos asociadas al grupo de
parámetros de base de datos.
Los cambios en algunos parámetros se aplican a la instancia de base de datos inmediatamente sin
necesidad de reiniciar. Los cambios en otros parámetros se aplican únicamente después de reiniciar la
instancia de base de datos. La consola de RDS muestra el estado del grupo de parámetros de base de
datos asociado a una instancia de base de datos en la pestaña Configuration (Configuración). Por ejemplo,
si la instancia de base de datos no está utilizando los cambios más recientes del grupo de parámetros de
base de datos que tiene asociado, la consola de RDS muestra el grupo de parámetros de base de datos
con el estado pending-reboot. Para aplicar los cambios de parámetros más recientes en esa instancia de
base de datos, reinicie manualmente la instancia de base de datos.
Consola
Para modificar un grupo de parámetros de base de datos
379
Amazon Aurora Guía del usuario de Aurora
Modificación de parámetros de un
grupo de parámetros de base de datos
AWS CLI
Para modificar un grupo de parámetros de base de datos, utilice el AWS CLI modify-db-parameter-
group comando con las siguientes opciones requeridas:
• --db-parameter-group-name
• --parameters
Example
"ParameterName=max_allowed_packet,ParameterValue=1024,ApplyMethod=immediate"
Para Windows:
"ParameterName=max_allowed_packet,ParameterValue=1024,ApplyMethod=immediate"
DBPARAMETERGROUP mydbparametergroup
API de RDS
Para modificar un grupo de parámetros de base de datos, utilice la operación
ModifyDBParameterGroup de la API de RDS con los siguientes parámetros requeridos:
• DBParameterGroupName
• Parameters
380
Amazon Aurora Guía del usuario de Aurora
Modificación de parámetros de un grupo
de parámetros de clúster de base de datos
Consola
Para modificar un grupo de parámetros de clúster de base de datos
AWS CLI
Para modificar un grupo de parámetros de clúster de base de datos, utilice el comando modify-db-
cluster-parameter-group de AWS CLI con los siguientes parámetros obligatorios:
• --db-cluster-parameter-group-name
• --parameters
Example
"ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"
Para Windows:
381
Amazon Aurora Guía del usuario de Aurora
Restablecimiento de parámetros de un
grupo de parámetros de base de datos
--db-cluster-parameter-group-name mydbclusterparametergroup ^
--parameters
"ParameterName=server_audit_logging,ParameterValue=1,ApplyMethod=immediate" ^
"ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"
DBCLUSTERPARAMETERGROUP mydbclusterparametergroup
API de RDS
Para modificar un grupo de parámetros de clúster de base de datos, utilice el comando
ModifyDBClusterParameterGroup de la API de RDS con los siguientes parámetros obligatorios:
• DBClusterParameterGroupName
• Parameters
Cuando utiliza la consola, puede restablecer parámetros específicos a sus valores predeterminados, pero
no puede restablecer fácilmente todos los parámetros del grupo de parámetros de base de datos a la
vez. Cuando utiliza la AWS CLI o la API de RDS, puede restablecer parámetros específicos a sus valores
predeterminados y puede restablecer todos los parámetros del grupo de parámetros de base de datos a la
vez.
Los cambios en algunos parámetros se aplican a la instancia de base de datos inmediatamente sin
necesidad de reiniciar. Los cambios en otros parámetros se aplican únicamente después de reiniciar la
instancia de base de datos. La consola de RDS muestra el estado del grupo de parámetros de base de
datos asociado a una instancia de base de datos en la pestaña Configuration (Configuración). Por ejemplo,
si la instancia de base de datos no está utilizando los cambios más recientes del grupo de parámetros de
base de datos que tiene asociado, la consola de RDS muestra el grupo de parámetros de base de datos
con el estado pending-reboot. Para aplicar los cambios de parámetros más recientes en esa instancia de
base de datos, reinicie manualmente la instancia de base de datos.
382
Amazon Aurora Guía del usuario de Aurora
Restablecimiento de parámetros de un
grupo de parámetros de base de datos
Note
Consola
Para restablecer los parámetros de un grupo de parámetros de base de datos a sus valores
predeterminados
383
Amazon Aurora Guía del usuario de Aurora
Restablecimiento de parámetros de un
grupo de parámetros de base de datos
AWS CLI
Para restablecer algunos o todos los parámetros de un grupo de parámetros de base de datos, utilice
el comando AWS CLI reset-db-parameter-group con la siguiente opción requerida: --db-
parameter-group-name.
Para restablecer todos los parámetros del grupo de parámetros de base de datos, especifique la opción
--reset-all-parameters. Para restablecer parámetros específicos, especifique la opción --
parameters.
En el ejemplo siguiente se restablecen todos los parámetros del grupo de parámetros DB denominado
mydbparametergroup a sus valores predeterminados.
Example
Para Windows:
Example
Para Windows:
DBParameterGroupName mydbparametergroup
384
Amazon Aurora Guía del usuario de Aurora
Restablecimiento de parámetros de un grupo
de parámetros de clúster de base de datos
API de RDS
Para restablecer los parámetros de un grupo de parámetros de base de datos a sus valores
predeterminados, utilice el comando ResetDBParameterGroup API de RDS con el siguiente parámetro
requerido: DBParameterGroupName.
Para restablecer todos los parámetros del grupo de parámetros de base de datos, defina el parámetro
ResetAllParameters en true. Para restablecer parámetros específicos, especifique el parámetro
Parameters.
Consola
Para restablecer los parámetros de un grupo de parámetros de clúster de base de datos a sus
valores predeterminados
AWS CLI
Para restablecer los parámetros de un grupo de parámetros de clúster de base de datos a sus valores
predeterminados, utilice el comando reset-db-cluster-parameter-group de AWS CLI con la
siguiente opción requerida: --db-cluster-parameter-group-name.
Para restablecer todos los parámetros del grupo de parámetros de clúster de base de datos, especifique
la opción --reset-all-parameters. Para restablecer parámetros específicos, especifique la opción --
parameters.
En el ejemplo siguiente se restablecen todos los parámetros del grupo de parámetros DB denominado
mydbparametergroup a sus valores predeterminados.
385
Amazon Aurora Guía del usuario de Aurora
Copia de un grupo de parámetros de base de datos
Example
Para Windows:
Example
Para Windows:
"ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"
DBClusterParameterGroupName mydbclusterparametergroup
API de RDS
Para restablecer los parámetros de un grupo de parámetros de clúster de base de datos a sus valores
predeterminados, utilice el comando API de RDS ResetDBClusterParameterGroup con el siguiente
parámetro requerido: DBClusterParameterGroupName.
Para restablecer todos los parámetros del grupo de parámetros de clúster de base de datos, defina el
parámetro ResetAllParameters en true. Para restablecer parámetros específicos, especifique el
parámetro Parameters.
386
Amazon Aurora Guía del usuario de Aurora
Copia de un grupo de parámetros de base de datos
datos y se desea incluir la mayoría de los parámetros y valores personalizados de ese grupo en un nuevo
grupo de parámetros de base de datos. Puede copiar un grupo de parámetros de base de datos mediante
la AWS Management Console, el comando copy-db-parameter-group de la AWS CLI o la operación
CopyDBParameterGroup de la API de RDS.
Después de copiar un grupo de parámetros de base de datos, espere al menos 5 minutos antes de
crear la primera instancia de base de datos que utilice ese grupo de parámetros de base de datos como
grupo de parámetros predeterminado. Esto permite a Amazon RDS finalizar por completo la acción
de copia antes de que se utilice el grupo de parámetros. Esto es especialmente importante para los
parámetros que son críticos al crear la base de datos predeterminada de una instancia de base de datos.
Un ejemplo es el conjunto de caracteres para la base de datos predeterminada definida por el parámetro
character_set_database. Utilice la opción Parameter Groups (Grupos de parámetros) de la consola
de Amazon RDS o el comando describe-db-parameters para comprobar que se ha creado el grupo de
parámetros de base de datos.
Note
No es posible copiar un grupo de parámetros predeterminado. Sin embargo, puede crear un grupo
de parámetros que se base en uno predeterminado.
Actualmente, no puede copiar un grupo de parámetros en una región de AWS diferente.
Consola
Para copiar un grupo de parámetros de base de datos
AWS CLI
Para copiar un grupo de parámetros de base de datos, utilice el comando AWS CLI de copy-db-
parameter-group con las siguientes opciones requeridas:
• --source-db-parameter-group-identifier
• --target-db-parameter-group-identifier
• --target-db-parameter-group-description
En el siguiente ejemplo se crea un nuevo grupo de parámetros de base de datos denominado mygroup2
que es una copia del grupo de parámetros de base de datos mygroup1.
Example
387
Amazon Aurora Guía del usuario de Aurora
Copia de un grupo de parámetros
de clúster de base de datos
Para Windows:
API de RDS
Para copiar un grupo de parámetros de base de datos, utilice la operación CopyDBParameterGroup de la
API de RDS con los siguientes parámetros obligatorios:
• SourceDBParameterGroupIdentifier
• TargetDBParameterGroupIdentifier
• TargetDBParameterGroupDescription
Después de copiar un grupo de parámetros de clúster de base de datos, espere al menos 5 minutos antes
de crear el primer clúster de base de datos que utilice ese grupo de parámetros de clúster de base de
datos como grupo de parámetros predeterminado. Esto permite a Amazon RDS finalizar por completo la
acción de copia antes de que el grupo de parámetros se use de forma predeterminada para un clúster de
base de datos nueva. Puede utilizar la opción Parameter Groups (Grupos de parámetros) de la consola de
Amazon RDS o el comando describe-db-cluster-parameters para comprobar que se ha creado el grupo de
parámetros de clúster de base de datos.
Note
No es posible copiar un grupo de parámetros predeterminado. Sin embargo, puede crear un grupo
de parámetros que se base en uno predeterminado.
Consola
Para copiar un grupo de parámetros de clúster de base de datos
388
Amazon Aurora Guía del usuario de Aurora
Descripción de grupos de parámetros de base de datos
7. Elija Copy.
AWS CLI
Para copiar un grupo de parámetros de clúster de base de datos, utilice el comando copy-db-cluster-
parameter-group de AWS CLI con los siguientes parámetros obligatorios:
• --source-db-cluster-parameter-group-identifier
• --target-db-cluster-parameter-group-identifier
• --target-db-cluster-parameter-group-description
En el siguiente ejemplo se crea un nuevo grupo de parámetros de clúster de base de datos denominado
mygroup2 que es una copia del grupo de parámetros de clúster de base de datos mygroup1.
Example
Para Windows:
API de RDS
Para copiar un grupo de parámetros de clúster de base de datos, utilice la operación
CopyDBClusterParameterGroup de la API de RDS con los siguientes parámetros obligatorios:
• SourceDBClusterParameterGroupIdentifier
• TargetDBClusterParameterGroupIdentifier
• TargetDBClusterParameterGroupDescription
389
Amazon Aurora Guía del usuario de Aurora
Descripción de grupos de parámetros
de clúster de base de datos
Consola
Para obtener una lista de todos los grupos de parámetros de base de datos de una cuenta de
AWS.
AWS CLI
Para obtener la lista de todos los grupos de parámetros de base de datos para una cuenta de AWS, utilice
el comando AWS CLI describe-db-parameter-groups.
Example
En el siguiente ejemplo se obtiene la lista de todos los grupos de parámetros de base de datos disponibles
en una cuenta de AWS.
Para Windows:
API de RDS
Para obtener la lista de todos los grupos de parámetros de base de datos de una cuenta de AWS, utilice la
operación DescribeDBParameterGroups de la API de RDS.
390
Amazon Aurora Guía del usuario de Aurora
Descripción de grupos de parámetros
de clúster de base de datos
Note
Consola
Para obtener una lista de todos los grupos de parámetros de clúster de base de datos de una
cuenta de AWS
Los grupos de parámetros de clúster de base de datos aparecen en la lista con Grupo de parámetros
de clúster de base de datos para Tipo.
AWS CLI
Para obtener la lista de todos los grupos de parámetros de clúster de base de datos para una cuenta de
AWS, utilice el comando describe-db-cluster-parameter-groups de AWS CLI.
Example
En el siguiente ejemplo, se obtiene la lista de todos los grupos de parámetros de clúster de base de datos
disponibles en una cuenta de AWS.
DBCLUSTERPARAMETERGROUPS arn:aws:rds:us-west-2:1234567890:cluster-
pg:default.aurora5.6 default.aurora5.6 aurora5.6 Default cluster parameter
group for aurora5.6
DBCLUSTERPARAMETERGROUPS arn:aws:rds:us-west-2:1234567890:cluster-
pg:mydbclusterparametergroup mydbclusterparametergroup aurora5.6 My new cluster
parameter group
Para Windows:
391
Amazon Aurora Guía del usuario de Aurora
Visualización de los valores de los parámetros
de un grupo de parámetros de base de datos
DBCLUSTERPARAMETERGROUPS arn:aws:rds:us-west-2:1234567890:cluster-
pg:mydbclusterparametergroup mydbclusterparametergroup aurora5.6 My new cluster
parameter group
API de RDS
Para obtener la lista de todos los grupos de parámetros de clúster de base de datos de una cuenta de
AWS, utilice la acción DescribeDBClusterParameterGroups de la API de RDS.
Consola
Para ver los valores de los parámetros de un grupo de parámetros de base de datos
AWS CLI
Para ver los valores de los parámetros de un grupo de parámetros de base de datos, utilice el comando
describe-db-parameters de la AWS CLI con el siguiente parámetro obligatorio.
• --db-parameter-group-name
Example
En el siguiente ejemplo se obtiene la lista de los parámetros y los valores de los parámetros de un grupo
de parámetros de base de datos denominado mydbparametergroup.
392
Amazon Aurora Guía del usuario de Aurora
Visualización de los valores de los parámetros de
un grupo de parámetros de clúster de base de datos
API de RDS
Para ver los valores de los parámetros de un grupo de parámetros de base de datos, utilice el comando
DescribeDBParameters de la API de RDS con el siguiente parámetro obligatorio.
• DBParameterGroupName
Consola
Para ver los valores de los parámetros de un grupo de parámetros de clúster de base de datos
Los grupos de parámetros de clúster de base de datos aparecen en la lista con Grupo de parámetros
de clúster de base de datos para Tipo.
3. Seleccione el nombre del grupo de parámetros de clúster de base de datos para ver su lista de
parámetros.
AWS CLI
Para ver los valores de los parámetros de un grupo de parámetros de clúster de base de datos, utilice el
comando describe-db-cluster-parameters de AWS CLI con el siguiente parámetro obligatorio.
• --db-cluster-parameter-group-name
Example
En el siguiente ejemplo se obtiene la lista de los parámetros y los valores de los parámetros de un grupo
de parámetros de clúster de base de datos denominado mydbparametergroup, en formato JSON.
{
"Parameters": [
{
"ApplyMethod": "pending-reboot",
"Description": "Controls whether user-defined functions that have only an xxx
symbol for the main function can be loaded",
"DataType": "boolean",
"AllowedValues": "0,1",
"SupportedEngineModes": [
"provisioned"
393
Amazon Aurora Guía del usuario de Aurora
Comparación de grupos de parámetros
],
"Source": "engine-default",
"IsModifiable": false,
"ParameterName": "allow-suspicious-udfs",
"ApplyType": "static"
},
{
"ApplyMethod": "pending-reboot",
"Description": "Enables new features in the Aurora engine.",
"DataType": "boolean",
"IsModifiable": true,
"AllowedValues": "0,1",
"SupportedEngineModes": [
"provisioned"
],
"Source": "engine-default",
"ParameterValue": "0",
"ParameterName": "aurora_lab_mode",
"ApplyType": "static"
},
...
En el siguiente ejemplo se obtiene la lista de los parámetros y los valores de los parámetros de un grupo
de parámetros de clúster de base de datos denominado mydbparametergroup, en formato de texto sin
formato.
API de RDS
Para ver los valores de los parámetros de un grupo de parámetros de clúster de base de datos, utilice el
comando DescribeDBClusterParameters de la API de RDS con el siguiente parámetro obligatorio.
• DBClusterParameterGroupName
394
Amazon Aurora Guía del usuario de Aurora
Especificación de parámetros de base de datos
• Entero
• Booleano
• Cadena
• Long
• Double
• Marca temporal
• Objeto de otros tipos de datos definidos
• Matriz de valores de tipo entero, booleano, en cadena, largos, dobles, temporales o de objeto
Contenido
• Fórmulas de parámetros de base de datos (p. 395)
• Variables de las fórmulas de parámetros de base de datos (p. 395)
• Operadores de las fórmulas de parámetros de base de datos (p. 396)
• Funciones de parámetros de base de datos (p. 396)
• Expresiones de registro de parámetros de base de datos (p. 397)
• Ejemplos de valores de los parámetros de base de datos (p. 397)
Sintaxis
{FormulaVariable}
{FormulaVariable*Integer}
{FormulaVariable*Integer/Integer}
{FormulaVariable/Integer}
395
Amazon Aurora Guía del usuario de Aurora
Especificación de parámetros de base de datos
AllocatedStorage
Devuelve un entero del número de bytes de memoria disponibles para el proceso de base de datos.
Este número se calcula internamente. Para ello, se toma la cantidad total de memoria de la clase de
instancia de base de datos y se resta la memoria reservada del sistema operativo y los procesos de
RDS que administran la instancia. Por lo tanto, el número siempre es un poco inferior al de las cifras
de memoria que se muestran en las tablas de clases de instancia en Clases de instancia de base de
datos Aurora (p. 56). El valor exacto depende de una combinación de clase de instancia, motor de
base de datos y de si aplica a una instancia de RDS o a una instancia que forma parte de un clúster
de Aurora.
EndPointPort
Devuelve un entero que representa el puerto utilizado al conectarse a la instancia de base de datos.
Operador de división: /
Divide el dividendo entre el divisor, y devuelve un cociente entero. Los decimales del cociente se
truncan, no se redondean.
Sintaxis
dividend / divisor
Multiplica las expresiones, devolviendo el producto de las expresiones. Los decimales de las
expresiones se truncan, no se redondean.
Sintaxis
expression * expression
IF
Devuelve un argumento.
Sintaxis
396
Amazon Aurora Guía del usuario de Aurora
Especificación de parámetros de base de datos
Devuelve el segundo argumento si el primer argumento da como resultado true. En caso contrario,
devuelve el tercer argumento.
GREATEST
Devuelve el valor más grande de una lista de números enteros o fórmulas de parámetros.
Sintaxis
GREATEST(argument1, argument2,...argumentn)
Devuelve el valor más pequeño de una lista de números enteros o fórmulas de parámetros.
Sintaxis
LEAST(argument1, argument2,...argumentn)
Sintaxis
SUM(argument1, argument2,...argumentn)
{log(DBInstanceClassMemory/8187281418)*1000}
La función log representa la base de registro 2. En este ejemplo también se utiliza la variable de
fórmula DBInstanceClassMemory. Consulte Variables de las fórmulas de parámetros de base de
datos (p. 395).
397
Amazon Aurora Guía del usuario de Aurora
Especificación de parámetros de base de datos
Warning
LEAST({DBInstanceClassMemory/393040}, 20000)
398
Amazon Aurora Guía del usuario de Aurora
Migración de datos a un clúster de base de datos
Para obtener más información, consulte Migración de datos a un clúster de base de datos de Amazon
Aurora MySQL (p. 839).
Para obtener más información, consulte Migración de datos a Amazon Aurora con compatibilidad con
PostgreSQL (p. 1386).
399
Amazon Aurora Guía del usuario de Aurora
Temas
• Detención e inicio de un clúster de base de datos de Amazon Aurora (p. 401)
• Modificación de un clúster de base de datos de Amazon Aurora (p. 405)
• Adición de réplicas de Aurora a un clúster de base de datos (p. 429)
• Administración del rendimiento y el escalado para clústeres de base de datos Aurora (p. 434)
• Clonación de un volumen de clúster de base de datos de Aurora (p. 440)
• Integración de Aurora con otros servicios de AWS (p. 465)
• Mantenimiento de un clúster de base de datos de Amazon Aurora (p. 483)
• Reinicio de un clúster de base de datos de Amazon Aurora o de una instancia de base de datos de
Amazon Aurora (p. 492)
• Eliminación de clústeres e instancias de base de datos de Aurora (p. 509)
• Etiquetado de recursos de Amazon RDS (p. 517)
• Uso de nombres de recursos de Amazon (ARN) en Amazon RDS (p. 526)
• Actualizaciones de Amazon Aurora (p. 533)
400
Amazon Aurora Guía del usuario de Aurora
Detención e inicio de un clúster
Temas
• Información general de detención e inicio de un clúster de base de datos Aurora (p. 401)
• Limitaciones para la detención e inicio de clústeres de base de datos de Aurora (p. 401)
• Detención de un clúster de base de datos de Aurora (p. 402)
• Posibles operaciones mientras un clúster de base de datos de Aurora está detenido (p. 403)
• Inicio de un clúster de base de datos de Aurora (p. 403)
Mientras su instancia de base de datos esté detenida, solo se le cobrará el almacenamiento del clúster, las
instantáneas manuales y el almacenamiento de la copia de seguridad automática dentro de su intervalo de
retención especificado. No se le cobrarán las horas de ninguna instancia de base de datos. Después de
siete días, Aurora vuelve a iniciar automáticamente el clúster de base de datos para asegurarse de llevar a
cabo las actualizaciones de mantenimiento necesarias.
Para minimizar los cargos de un clúster de Aurora de carga ligera, puede detener el clúster en lugar de
eliminar todas sus réplicas de Aurora. En el caso de clústeres con más de una o dos instancias, eliminar
y volver a crear las instancias de base de datos con frecuencia solo es práctico si se usa la AWS CLI o la
API de Amazon RDS. Una secuencia de operaciones de ese tipo también puede ser difícil de realizar en
el orden correcto, por ejemplo, eliminar todas las réplicas de Aurora antes de eliminar la instancia principal
para evitar activar el mecanismo de conmutación por error.
No use la opción de iniciar y detener si necesita mantener su clúster de base de datos en ejecución pero
tiene más capacidad de la que necesita. Si su clúster es demasiado costoso o no está muy ocupado,
elimine una o varias de las instancias de base de datos o cambie todas las instancias de base de datos a
clase de instancia pequeña. No puede detener una instancia de base de datos Aurora individual.
• No puede detener e iniciar un clúster que forma parte de una base de datos global de Aurora (p. 247).
• Para un clúster que utiliza la característica de consulta paralela de Aurora (p. 948), las versiones de
Aurora MySQL mínimas son 1.23.0 y 2.09.0.
401
Amazon Aurora Guía del usuario de Aurora
Detención de un clúster de base de datos
Si no se puede detener e iniciar un clúster ya existente, la acción Stop (Detener) no está disponible en el
menú Actions (Acciones) de la página Databases (Bases de datos) ni en la página de detalles.
No se puede detener un clúster de base de datos que actúa como destino de replicación para datos de
otro clúster de base de datos, o que actúa como el principal de replicación y transmite los datos a otro
clúster.
No puede detener ciertos tipos especiales de clústeres. En al actualidad, no puede detener un clúster que
sea parte de una base de datos global de Aurora o de un clúster multimaestro.
Console
Para detener un clúster de Aurora
Si no se puede detener e iniciar un clúster ya existente, la acción Stop (Detener) no está disponible
en el menú Actions (Acciones) de la página Databases (Bases de datos) ni en la página de detalles.
Para informarse de los tipos de clústeres que no puede iniciar ni detener, consulte Limitaciones para la
detención e inicio de clústeres de base de datos de Aurora (p. 401).
3. En Actions (Acciones), elija Stop (Detener).
AWS CLI
Para detener una instancia de base de datos con la AWS CLI, llame al comando stop-db-cluster con los
siguientes parámetros:
Example
API de RDS
Para detener una instancia de base de datos con la API de Amazon RDS, llame a la operación
StopDBCluster con el siguiente parámetro:
402
Amazon Aurora Guía del usuario de Aurora
Mientras un clúster de base de datos está detenido
Al detener un clúster de base de datos se eliminan las acciones pendientes, excepto para el grupo
de parámetros de clúster de base de datos o para los grupos de parámetros de base de datos de las
instancias del clúster de base de datos.
Aurora aplica cualquier mantenimiento programado a su clúster detenido después de que se vuelva a
iniciar. Recuerde que después de siete días Aurora inicia automáticamente cualquier clúster detenido para
que no se quede demasiado rezagado en su estado de mantenimiento.
Además, Aurora no realiza copias de seguridad automatizadas porque los datos subyacentes no pueden
cambiar mientras el clúster está detenido. Aurora no extiende el periodo de retención de copia de
seguridad del clúster de base de datos mientras está detenido.
Console
AWS CLI
Para iniciar un clúster de base de datos con la AWS CLI, llame al comando start-db-instance con los
siguientes parámetros:
403
Amazon Aurora Guía del usuario de Aurora
Inicio de un clúster de base de datos
Example
API de RDS
Para iniciar un clúster de base de datos de Aurora con la API de Amazon RDS, llame a la operación
StartDBCluster con el siguiente parámetro:
• DBCluster: el nombre del clúster de Aurora. Este nombre es un identificador de clúster específico que
se elige cuando se crea el clúster o el identificador de la instancia de base de datos que eligió con -
cluster añadido al final.
404
Amazon Aurora Guía del usuario de Aurora
Modificación de un clúster de base de datos de Aurora
Recomendamos que pruebe cualquier cambio en un clúster o una instancia de prueba de una base de
datos antes de modificar un clúster o una instancia de base de datos de producción para que pueda
comprender completamente el impacto de cada cambio. Esto es especialmente importante al actualizar la
versión de la base de datos.
Para Aurora, al modificar un clúster de base de datos, solo los cambios en la configuración DB
cluster identifier (Identificador de clúster de base de datos), IAM DB authentication (Autenticación
de base de datos IAM) y New master password (Nueva contraseña maestra) se ven afectados por
el ajuste Apply Immediately (Aplicar inmediatamente). Todas las demás modificaciones se aplican
de inmediato, con independencia del valor del ajuste aplicar inmediatamente.
Consola
Para modificar un clúster de base de datos
405
Amazon Aurora Guía del usuario de Aurora
Modificar una instancia de base de
datos en un clúster de base de datos
7. En la página de confirmación, revise los cambios. Si son correctos, elija Modify cluster (Modificar
clúster) para guardarlos.
O bien, elija Back para editar los cambios o Cancel para cancelarlos.
AWS CLI
Para modificar un clúster de base de datos mediante la AWS CLI, llame al comando modify-db-cluster.
Especifique el identificador de clúster de bases de datos y los valores de la configuración que desea
modificar. Para obtener más información acerca de cada configuración, consulte Configuración para
Amazon Aurora (p. 408).
Note
Algunos ajustes se aplican únicamente a las instancias de base de datos. Para cambiar dichos
ajustes, siga las instrucciones de Modificar una instancia de base de datos en un clúster de base
de datos (p. 406).
Example
El siguiente comando modifica mydbcluster configurando el periodo de retención de copia de seguridad
en 1 semana (7 días).
Para Windows:
API de RDS
Para modificar un clúster de base de datos mediante la API de Amazon RDS, llame a la operación
ModifyDBCluster. Especifique el identificador de clúster de bases de datos y los valores de la configuración
que desea modificar. Para obtener información acerca de cada parámetro, consulte Configuración para
Amazon Aurora (p. 408).
Note
Algunos ajustes se aplican únicamente a las instancias de base de datos. Para cambiar dichos
ajustes, siga las instrucciones de Modificar una instancia de base de datos en un clúster de base
de datos (p. 406).
Al modificar una instancia de base de datos, puede aplicar los cambios inmediatamente. Para aplicar los
cambios inmediatamente, seleccione la opción Apply Immediately (Aplicar inmediatamente) en la AWS
Management Console, utilice el parámetro --apply-immediately al llamar a la AWS CLI o establezca
el parámetro ApplyImmediately en true cuando utilice la API de Amazon RDS.
406
Amazon Aurora Guía del usuario de Aurora
Modificar una instancia de base de
datos en un clúster de base de datos
Si no elige aplicar cambios inmediatamente, los cambios se aplazarán hasta la siguiente ventana de
mantenimiento. Durante la siguiente ventana de mantenimiento, se aplica cualquiera de estos cambios
diferidos. Si decide aplicar cambios inmediatamente, se aplicarán los cambios nuevos y los cambios
previamente diferidos.
Important
Consola
Para modificar una instancia de base de datos en un clúster de base de datos
Algunos ajustes se aplican a todo el clúster de la base de datos y deben cambiarse a nivel
del clúster. Para cambiar dichos ajustes, siga las instrucciones de Modificación del clúster de
base de datos con la consola, CLI y API (p. 405).
En la AWS Management Console, algunos cambios en el nivel de instancia solo se aplican
a la instancia actual de la base de datos, mientras que otros se aplican a la totalidad del
clúster de base de datos. Para obtener información sobre si una configuración se aplica
a la instancia de base de datos o al clúster de la base de datos, consulte el ámbito de la
configuración en Configuración para Amazon Aurora (p. 408).
5. Cuando haya realizado todos los cambios que desee, elija Continue y compruebe el resumen de las
modificaciones.
6. Para aplicar los cambios inmediatamente, seleccione Apply immediately.
7. En la página de confirmación, revise los cambios. Si son correctos, elija Modify DB Instance para
guardarlos.
O bien, elija Back para editar los cambios o Cancel para cancelarlos.
AWS CLI
Para modificar una instancia de base de datos en un clúster de base de datos mediante la AWS CLI, llame
al comando modify-db-instance. Especifique el identificador de instancias de bases de datos y los valores
de la configuración que desea modificar. Para obtener información acerca de cada parámetro, consulte
Configuración para Amazon Aurora (p. 408).
Note
Algunos ajustes se aplican al clúster de base de datos completo. Para cambiar dichos ajustes,
siga las instrucciones de Modificación del clúster de base de datos con la consola, CLI y
API (p. 405).
407
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Example
El siguiente código modifica mydbinstance al establecer la clase de instancia de base de dato en
db.r4.xlarge. Los cambios se aplican durante el siguiente periodo de mantenimiento si se utiliza
el parámetro --no-apply-immediately. Utilice --apply-immediately para aplicar los cambios
inmediatamente.
Para Windows:
API de RDS
Para modificar una instancia de MySQL mediante la API de Amazon RDS, llame a la operación
ModifyDBInstance. Especifique el identificador de instancias de bases de datos y los valores de la
configuración que desea modificar. Para obtener información acerca de cada parámetro, consulte
Configuración para Amazon Aurora (p. 408).
Note
Algunos ajustes se aplican al clúster de base de datos completo. Para cambiar dichos ajustes,
siga las instrucciones de Modificación del clúster de base de datos con la consola, CLI y
API (p. 405).
408
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Mediante la API
de RDS, realice
una llamada a
ModifyDBInstance y
establezca el parámetro
AutoMinorVersionUpgrade.
409
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
410
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
La ventana de
mantenimiento y la
ventana de copia
de seguridad de la
instancia de base de
datos no se pueden
solapar.
Para obtener
más información,
consulte Backup
window (p. 537).
411
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Mediante la API
de RDS, realice
una llamada a
ModifyDBInstance y
establezca el parámetro
CACertificateIdentifier.
412
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Data API (API de datos Uso de la AWS El clúster de base de No se produce una
Management Console, datos completo interrupción durante
Puede acceder a Modificación del clúster este cambio.
Aurora Serverless de base de datos
con aplicaciones web con la consola, CLI y
basadas en servicios, API (p. 405).
incluidas AWS Lambda
y AWS AppSync. Esta Con la AWS CLI,
configuración solo se ejecute modify-db-
aplica a un clúster de cluster y establezca
base de datos de Aurora la opción --enable-
Serverless. http-endpoint.
413
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
414
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Mediante la API
de RDS, realice
una llamada a
ModifyDBCluster y
establezca el parámetro
Port.
415
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
416
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Mediante la API
de RDS, realice
una llamada a
ModifyDBInstance y
establezca el parámetro
NewDBInstanceIdentifier.
417
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
418
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
419
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Mediante la API
de RDS, realice
una llamada a
ModifyDBCluster y
establezca el parámetro
CloudwatchLogsExportConfiguration.
420
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
421
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Mediante la API
de RDS, realice
una llamada a
ModifyDBCluster y
establezca el parámetro
MasterUserPassword.
422
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
423
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
424
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
Para conectarse a
una instancia de base
de datos desde fuera
de su Amazon VPC,
la instancia de base
de datos debe ser
accesible públicamente,
el acceso debe
concederse mediante
las reglas entrantes del
grupo de seguridad de
la instancia de base de
datos y deben cumplirse
otros requisitos.
Para obtener más
información, consulte
No puede conectarse
a la instancia de base
de datos de Amazon
RDS (p. 1955).
425
Amazon Aurora Guía del usuario de Aurora
Opciones disponibles
426
Amazon Aurora Guía del usuario de Aurora
Configuración no aplicable
Mediante la API
de RDS, realice
una llamada a
ModifyDBCluster y
establezca el parámetro
VpcSecurityGroupIds.
--allocated-storage AllocatedStorage
427
Amazon Aurora Guía del usuario de Aurora
Configuración no aplicable
--allow-major-version-upgrade|--no- AllowMajorVersionUpgrade
allow-major-version-upgrade
--copy-tags-to-snapshot|--no-copy- CopyTagsToSnapshot
tags-to-snapshot
--domain Domain
--db-security-groups DBSecurityGroups
--db-subnet-group-name DBSubnetGroupName
--domain-iam-role-name DomainIAMRoleName
--multi-az|--no-multi-az MultiAZ
--iops Iops
--license-model LicenseModel
--option-group-name OptionGroupName
--processor-features ProcessorFeatures
--storage-type StorageType
--tde-credential-arn TdeCredentialArn
--tde-credential-password TdeCredentialPassword
--use-default-processor-features|--no- UseDefaultProcessorFeatures
use-default-processor-features
428
Amazon Aurora Guía del usuario de Aurora
Adición de réplicas de Aurora
• No se puede crear una réplica de Aurora para un clúster de base de datos Aurora Serverless v1. Aurora
Serverless v1 tiene una única instancia de base de datos que se escala hacia arriba y hacia abajo
automáticamente para admitir todas las operaciones de lectura y escritura de las bases de datos.
• No se pueden crear réplicas Aurora para un clúster de varios maestros Aurora. Por diseño, un clúster de
varios maestros Aurora solo tiene instancias de base de datos de lectura y escritura.
Es recomendable que distribuya la instancia principal y las réplicas de Aurora de su Aurora clúster de base
de datos entre varias zonas de disponibilidad para mejorar la disponibilidad del clúster de base de datos.
Para obtener más información, consulte Disponibilidad por región (p. 12).
Para eliminar una réplica de Aurora de un clúster de base de datos Aurora, elimine la réplica de Aurora
siguiendo las instrucciones de Eliminación de una instancia de base de datos de un clúster de base de
datos de Aurora (p. 515).
Note
Amazon Aurora también admite la replicación con una base de datos de externa o una instancia
de base de datos de RDS La instancia de base de datos de RDS debe estar en la misma región
de AWS que Amazon Aurora. Para obtener más información, consulte Replicación con Amazon
Aurora (p. 74).
Puede agregar réplicas de Aurora a un clúster de base de datos mediante la AWS Management Console,
la AWS CLI o la API de RDS.
Console
Para agregar una réplica de Aurora a un clúster de base de datos
Si el clúster no tiene una instancia primaria, cree una mediante el comando create-db-instance de la
AWS CLI. Esta situación puede surgir si utilizó la CLI para restaurar una instantánea del clúster de
base de datos y, a continuación, ve el clúster en la AWS Management Console.
4. En Actions (Acciones), elija Add reader (Añadir lector).
429
Amazon Aurora Guía del usuario de Aurora
Adición de réplicas de Aurora
Publicly accessible (Accesible Seleccione Yes para asignar a la réplica de Aurora una
públicamente dirección IP pública; de lo contrario, seleccione No. Para
obtener más información acerca del modo de ocultar
réplicas de Aurora del acceso público, consulte Cómo
ocultar una instancia de base de datos en una VPC desde
Internet. (p. 1928).
DB Instance Identifier (Identificador de Ingrese un nombre para la instancia que sea único para su
instancias de bases de datos cuenta en la región de AWS que ha seleccionado. Puede
optar por agregar información al nombre, como la región de
AWS y el motor de base de datos que ha seleccionado, por
ejemplo,aurora-read-instance1.
Database port (Puerto de base de El puerto de una réplica de Aurora coincide con el puerto
datos del clúster de base de datos.
430
Amazon Aurora Guía del usuario de Aurora
Adición de réplicas de Aurora
Auto minor version upgrade Seleccione Enable auto minor version upgrade (Habilitar
(Actualización automática de actualización automática a versiones secundarias) si desea
versiones secundarias habilitar su clúster de base de datos de Aurora para recibir
actualizaciones de las versiones secundarias del motor de
base de datos automáticamente cuando estén disponibles.
AWS CLI
Para crear una réplica de Aurora en un clúster de base de datos, ejecute el comando create-db-instance
de la AWS CLI. Incluya el nombre del clúster de base de datos como opción de --db-cluster-
431
Amazon Aurora Guía del usuario de Aurora
Adición de réplicas de Aurora
identifier. Si lo desea, puede especificar una zona de disponibilidad para la réplica de Aurora usando
el parámetro --availability-zone, como se muestra en los siguientes ejemplos.
Por ejemplo, el comando siguiente crea una nueva réplica de Aurora compatible con MySQL 5.7 llamada
sample-instance-us-west-2a.
Para Windows:
El comando siguiente crea una nueva réplica de Aurora compatible con MySQL 5.6 llamada sample-
instance-us-west-2a.
Para Windows:
El comando siguiente crea una nueva réplica de Aurora compatible con PostgreSQL llamada sample-
instance-us-west-2a.
Para Windows:
API de RDS
Para crear una réplica de Aurora en su clúster de base de datos, realice una llamada a la
operación CreateDBInstance. Incluya el nombre del clúster de base de datos como parámetro
432
Amazon Aurora Guía del usuario de Aurora
Adición de réplicas de Aurora
433
Amazon Aurora Guía del usuario de Aurora
Administración del rendimiento y el escalado
Temas
• Escalado del almacenamiento (p. 434)
• Escalado de instancia (p. 438)
• Escalado de lectura (p. 438)
• Administración de conexiones (p. 439)
• Administración de planes de ejecución de consultas (p. 439)
El tamaño del volumen de clúster se evalúa cada hora para determinar los costos de almacenamiento.
Para obtener información sobre los precios, consulte la página de precios de Aurora.
Aunque un volumen de clúster de Aurora puede aumentar en tamaño a muchos tebibytes, solo se le
cobrará el espacio que utilice en el volumen. El mecanismo para determinar el espacio de almacenamiento
facturado depende de la versión del clúster de Aurora.
• Cuando se eliminan datos de Aurora del volumen del clúster, el espacio facturado general disminuye
en una cantidad comparable. Este comportamiento dinámico de cambio de tamaño ocurre cuando los
archivos de base de datos subyacentes se eliminan o reorganizan para requerir menos espacio. Por lo
tanto, puede reducir los cargos de almacenamiento eliminando tablas, índices, bases de datos, etc. que
ya no necesite. El cambio de tamaño dinámico se aplica a ciertas versiones de Aurora. Las siguientes
son las versiones de Aurora en las que el volumen del clúster cambia de tamaño dinámicamente a
medida que se eliminan los datos:
• Aurora MySQL 3 (compatible con MySQL 8.0), todas las versiones secundarias
• Aurora MySQL 2.09 (compatible con MySQL 5.7) y versiones posteriores
• Aurora MySQL versión 1.23 (compatible con MySQL 5.6) y versiones posteriores
• Todas las versiones de Aurora PostgreSQL 13
• Aurora PostgreSQL versión 12.4 y posteriores
• Aurora PostgreSQL versión 11.8 y posteriores
• Aurora PostgreSQL versión 10.13 y posteriores
• En versiones de Aurora inferiores a las de la lista anterior, el volumen del clúster puede reutilizar el
espacio liberado al eliminar datos, pero el volumen en sí nunca disminuye de tamaño.
• Esta característica se está implementando por fases en las regiones de AWS donde está disponible
Aurora. Dependiendo de la región donde se encuentre el clúster, es posible que esta característica no
esté disponible todavía.
434
Amazon Aurora Guía del usuario de Aurora
Escalado del almacenamiento
El cambio de tamaño dinámico se aplica a operaciones que eliminan o redimensionan físicamente los
archivos de datos dentro del volumen del clúster. Por lo tanto, se aplica a sentencias SQL como DROP
TABLE, DROP DATABASE, TRUNCATE TABLE y ALTER TABLE ... DROP PARTITION. No se aplica
a la eliminación de filas utilizando la instrucción DELETE. Si elimina un gran número de filas de una
tabla, puede ejecutar la instrucción OPTIMIZE TABLE de Aurora MySQL o utilizar después la extensión
pg_repack de Aurora PostgreSQL para reorganizar la tabla y cambiar dinámicamente el volumen del
clúster.
Note
Estas versiones de Aurora también tienen un límite de almacenamiento mayor para el volumen del clúster
que las versiones inferiores. Por lo tanto, puede plantearse actualizar a una de estas versiones si está a
punto de exceder el tamaño de volumen original de 64 TiB.
Puede comprobar cuánto espacio de almacenamiento está utilizando un clúster monitoreando la métrica
VolumeBytesUsed en CloudWatch.
• En la AWS Management Console, puede ver esta cifra en un gráfico consultando la pestaña
Monitoring en la página de detalles del clúster.
• Con la AWS CLI, puede ejecutar un comando similar al siguiente ejemplo de Linux. Sustituya sus propios
valores por las horas de inicio y finalización y el nombre del clúster.
{
"Label": "VolumeBytesUsed",
"Datapoints": [
{
"Timestamp": "2020-08-04T21:25:00+00:00",
"Average": 182871982080.0,
"Minimum": 182871982080.0,
"Maximum": 182871982080.0,
"Unit": "Bytes"
}
]
}
Los siguientes ejemplos muestran cómo puede realizar un seguimiento del uso de almacenamiento
de un clúster de Aurora a lo largo del tiempo mediante comandos de AWS CLI en un sistema Linux.
Los parámetros --start-time y --end-time definen el intervalo de tiempo general como un día. El
parámetro --period solicita las mediciones a intervalos de una hora. No tiene sentido elegir un valor de
--period pequeño, porque las métricas se recopilan a intervalos, no de forma continua. Además, las
operaciones de almacenamiento de Aurora a veces continúan durante algún tiempo en segundo plano
después de que finalice la instrucción SQL pertinente.
435
Amazon Aurora Guía del usuario de Aurora
Escalado del almacenamiento
El primer ejemplo devuelve la salida en el formato JSON predeterminado. Los puntos de datos se
devuelven en orden arbitrario, no ordenados por marca de tiempo. Puede importar estos datos JSON en
una herramienta de gráficos para ordenar y visualizar.
Este ejemplo devuelve los mismos datos que el anterior. El parámetro --output representa los datos
en formato de texto no cifrado compacto. El comando aws cloudwatch canaliza su salida al comando
sort. El parámetro -k del comando sort ordena la salida por el tercer campo, que es la marca de hora
en formato UTC (Tiempo universal coordinado).
436
Amazon Aurora Guía del usuario de Aurora
Escalado del almacenamiento
La salida ordenada muestra cuánto almacenamiento se utilizó al inicio y al final del período de monitoreo.
También puede encontrar los puntos durante ese período cuando Aurora asigna más almacenamiento
para el clúster. En el siguiente ejemplo se utilizan comandos Linux para volver a dar formato a los valores
VolumeBytesUsed inicial y final como gigabytes (GB) y como gibibytes (GiB). Los gigabytes representan
unidades medidas en potencias de 10 y se utilizan comúnmente en explicaciones sobre el almacenamiento
de discos duros rotacionales. Gibibytes representan unidades medidas en potencias de 2. Las mediciones
y los límites de almacenamiento de Aurora se indican normalmente en las unidades de potencia de 2,
como gibibytes y tebibytes.
$ GiB=$((1024*1024*1024))
$ GB=$((1000*1000*1000))
$ echo "Start: $((182872522752/$GiB)) GiB, End: $((206833664000/$GiB)) GiB"
Start: 170 GiB, End: 192 GiB
$ echo "Start: $((182872522752/$GB)) GB, End: $((206833664000/$GB)) GB"
Start: 182 GB, End: 206 GB
Para un clúster que ejecute Aurora MySQL versión 1.23 o 2.09 y superior, o Aurora PostgreSQL 3.3.0 o
2.6.0 o superior, el tamaño libre notificado por VolumeBytesUsed aumenta cuando se agregan datos y
disminuye cuando se eliminan datos. El siguiente ejemplo muestra cómo. Este informe muestra el tamaño
máximo y mínimo de almacenamiento de un clúster a intervalos de 15 minutos a medida que se crean
y eliminan tablas con datos temporales. El informe muestra el valor máximo antes del valor mínimo. Por
lo tanto, para comprender cómo cambió el uso del almacenamiento dentro del intervalo de 15 minutos,
interprete los números de derecha a izquierda.
437
Amazon Aurora Guía del usuario de Aurora
Escalado de instancia
VolumeBytesUsed
DATAPOINTS 14545305600.0 14545305600.0 2020-08-05T20:49:00+00:00 Bytes
DATAPOINTS 14545305600.0 14545305600.0 2020-08-05T21:19:00+00:00 Bytes
DATAPOINTS 22022176768.0 14545305600.0 2020-08-05T21:49:00+00:00 Bytes
DATAPOINTS 22022176768.0 22022176768.0 2020-08-05T22:19:00+00:00 Bytes
DATAPOINTS 22022176768.0 22022176768.0 2020-08-05T22:49:00+00:00 Bytes
DATAPOINTS 22022176768.0 15614263296.0 2020-08-05T23:19:00+00:00 Bytes
DATAPOINTS 15614263296.0 15614263296.0 2020-08-05T23:49:00+00:00 Bytes
DATAPOINTS 15614263296.0 15614263296.0 2020-08-06T00:19:00+00:00 Bytes
En el ejemplo siguiente se muestra cómo con un clúster que ejecuta Aurora MySQL versión 1.23
o 2.09 y superior, o Aurora PostgreSQL 3.3.0 o 2.6.0 o superior, el tamaño libre notificado por
AuroraVolumeBytesLeftTotal refleja el límite de tamaño de 128 TiB más alto.
Escalado de instancia
Puede escalar el clúster de base de datos de Aurora como considere necesario modificando la clase
de instancia de base de datos para cada instancia de base de datos del clúster de base de datos.
Aurora admite varias clases de instancia de base de datos optimizadas para Aurora, dependiendo de la
compatibilidad del motor de base de datos.
MySQL de Amazon Aurora Consulte Escalado de las instancias de base de datos Aurora
MySQL (p. 874)
PostgreSQL de Amazon Aurora Consulte Escalado de las instancias de base de datos Aurora
PostgreSQL (p. 1466)
Escalado de lectura
Puede realizar el escalado de lectura de su clúster de base de datos Aurora creando un máximo de 15
réplicas de Aurora en un clúster de base de datos que emplea un modelo de replicación maestro único.
Cada réplica de Aurora devuelve los mismos datos desde el volumen de clúster con un retardo de réplica
mínimo, normalmente mucho menos de 100 milisegundos una vez que la instancia principal ha escrito una
438
Amazon Aurora Guía del usuario de Aurora
Administración de conexiones
actualización. A medida que el tráfico de lectura aumenta, puede crear réplicas de Aurora adicionales y
conectarlas directamente para distribuir la carga de lectura del clúster de base de datos. Las réplicas de
Aurora no tienen que ser de la misma clase de instancia de base de datos que la instancia principal.
Para obtener más información acerca de la adición de réplicas de Aurora a un clúster de base de datos,
consulte Adición de réplicas de Aurora a un clúster de base de datos (p. 429).
Administración de conexiones
El número máximo de conexiones permitidas a una instancia de base de datos Aurora viene determinado
por el parámetro max_connections del grupo de parámetros de nivel de instancia para la instancia de
base de datos. El valor predeterminado de dicho parámetro varía en función de la clase de instancia de
base de datos utilizada para la instancia de base de datos y la compatibilidad del motor de base de datos.
MySQL de Amazon Aurora Consulte Número máximo de conexiones a una instancia de base de
datos Aurora MySQL (p. 875)
PostgreSQL de Amazon Aurora Consulte Número máximo de conexiones a una instancia de base de
datos Aurora PostgreSQL (p. 1466)
Si sus aplicaciones abren y cierran conexiones con frecuencia, o tienen conexiones de larga duración que
se aproximan o superan los límites especificados, le recomendamos utilizar Amazon RDS Proxy. El RDS
Proxy es un proxy de base de datos totalmente administrado y de alta disponibilidad que utiliza agrupación
de conexiones para compartir conexiones de base de datos de forma segura y eficiente. Para obtener más
información acerca de RDS Proxy, consulte Uso de Amazon RDS Proxy (p. 314).
439
Amazon Aurora Guía del usuario de Aurora
Clonación de un volumen de
clúster de base de datos de Aurora
Aurora admite muchos tipos diferentes de clonación. Puede crear un clon aprovisionado de Aurora desde
un clúster de base de datos de Aurora aprovisionado. Puede crear un clon de Aurora Serverless v1
desde un clúster de base de datos de Aurora Serverless v1. Pero también puede crear clones de Aurora
Serverless v1 de clústeres de base de datos de Aurora aprovisionados así como clones aprovisionados
de clústeres de base de datos de Aurora Serverless v1. Cuando crea un clon con una configuración de
implementación diferente a la de origen, el clon se crea con la versión secundaria más reciente del motor
de base de datos Aurora.
Un clúster de base de datos de Aurora Serverless clonado tiene el mismo comportamiento y limitaciones
que cualquier clúster de base de datos de Aurora Serverless v1. Para obtener más información, consulte
Uso de Amazon Aurora Serverless v1 (p. 162).
Cuando crea clones desde sus clústeres de base de datos de Aurora, los clones se crean en su cuenta
de AWS: la misma cuenta que posee el clúster de base de datos de Aurora de origen. Sin embargo,
también puede compartir clústeres y clones de base de datos de Aurora aprovisionados con otras
cuentas de AWS. Para obtener más información, consulte Clonación entre cuentas con AWS RAM y
Amazon Aurora (p. 453)..
Temas
• Información general de la clonación de Aurora (p. 440)
• Limitaciones de la clonación de Aurora (p. 441)
• Cómo funciona la clonación de Aurora (p. 441)
• Creación de un clon de Amazon Aurora (p. 444)
• Clonación entre cuentas con AWS RAM y Amazon Aurora (p. 453)
La clonación de Aurora es especialmente útil para configurar rápidamente entornos de prueba mediante
sus datos de producción, sin riesgo de corrupción de datos. Puede utilizar clones para muchos tipos de
aplicaciones de corta duración, como las siguientes:
• Experimente con cambios potenciales (por ejemplo, cambios de esquema y cambios de grupo de
parámetros) para evaluar todos los impactos.
440
Amazon Aurora Guía del usuario de Aurora
Limitaciones de la clonación de Aurora
• Realice operaciones intensivas de carga de trabajo, como exportar datos o ejecutar consultas analíticas
en el clon.
• Cree una copia del clúster de base de datos de producción para desarrollo, pruebas u otros fines.
Puede crear más de un clon desde el mismo clúster de base de datos de Aurora. También puede crear
varios clones desde otro clon.
Después de crear un clon de Aurora, puede configurar las instancias de base de datos de Aurora de forma
diferente al clúster de base de datos de Aurora de origen. Por ejemplo, es posible que no necesite un clon
con fines de desarrollo para cumplir con los mismos requisitos de alta disponibilidad que el clúster de base
de datos Aurora de producción de origen. En este caso, puede configurar el clon con una única instancia
de base de datos de Aurora en lugar de las múltiples instancias de base de datos utilizadas por el clúster
de base de datos de Aurora.
Cuando termine de utilizar el clon para realizar pruebas, desarrollo u otros fines, puede eliminarlo.
• No se puede crear un clon en una región de AWS distinta a la del clúster de base de datos de Aurora de
origen.
• No se puede crear un clon de Aurora Serverless v1 desde un clúster de base de datos de Aurora
aprovisionado no cifrado.
• No se puede crear un clon de Aurora Serverless v1 desde un clúster aprovisionado compatible con
MySQL 5.6 o un clon aprovisionado de un clúster de Aurora Serverless v1 compatible con MySQL 5.6.
• No se pueden crear más de 15 clones basados en una copia o en otro clon. Después de crear 15 clones,
sólo puede crear copias. Ahora bien, puede crear hasta 15 clones de cada copia.
• No se puede crear un clon desde un clúster de base de datos de Aurora sin la característica de consulta
paralela a un clúster que utiliza consulta paralela. Para llevar datos a un clúster que utiliza la consulta
paralela, cree una instantánea del clúster original y restáurela al clúster donde está habilitada la
característica de consulta paralela.
• No se puede crear un clon desde un clúster de base de datos de Aurora que no tiene instancias de
base de datos. Solo se pueden clonar clústeres de base de datos de Aurora que tengan al menos una
instancia de base de datos.
• Se puede crear un clon en una Virtual Private Cloud (VPC) diferente de la del clúster de base de datos
de Aurora. Sin embargo, las subredes de esas VPC deben estar asignadas al mismo conjunto de zonas
de disponibilidad.
Temas
• Descripción del protocolo de copia en escritura (p. 442)
• Eliminación de un volumen del clúster de origen (p. 444)
441
Amazon Aurora Guía del usuario de Aurora
Cómo funciona la clonación de Aurora
Por ejemplo, en el siguiente diagrama puede encontrar un clúster de base de datos de Aurora (A) que tiene
cuatro páginas de datos, 1, 2, 3 y 4. Imagine que un clon, B, se crea desde del clúster de base de datos de
Aurora. Cuando se crea el clon, no se copian datos. Más bien, el clon apunta al mismo conjunto de páginas
que el clúster de base de datos de Aurora de origen.
En los diagramas siguientes, puede encontrar un ejemplo del protocolo de copia en escritura en acción
utilizando el mismo clúster A y su clon B, como se muestra anteriormente. Supongamos que realiza un
cambio en su clúster de base de datos de Aurora (A) que da lugar a un cambio en los datos almacenados
en la página 1. En lugar de escribir en la página original 1, Aurora crea una nueva página 1 [A]. El volumen
del clúster de base de datos de Aurora para el clúster (A) ahora apunta a la página 1 [A], 2, 3 y 4, mientras
que el clon (B) sigue haciendo referencia a las páginas originales.
442
Amazon Aurora Guía del usuario de Aurora
Cómo funciona la clonación de Aurora
443
Amazon Aurora Guía del usuario de Aurora
Creación de un clon de Aurora
A medida que se producen más cambios a lo largo del tiempo en el clon y el volumen del clúster de base
de datos de Aurora de origen, necesitará cada vez más almacenamiento para capturar y almacenar los
cambios.
Para permitir que otra cuenta de AWS cree un clon o comparta un clon con otra cuenta de AWS, utilice los
procedimientos en Clonación entre cuentas con AWS RAM y Amazon Aurora (p. 453).
Al utilizar la clonación de Aurora, puede realizar los siguientes tipos de operaciones de clonación:
• Puede crear un clon aprovisionado de base de datos de Aurora desde un clúster de base de datos de
Aurora aprovisionado.
• Puede crear un clon de clúster de Aurora Serverless v1 desde un clúster de base de datos de Aurora
Serverless v1.
• Puede crear un clon de clúster de base de datos de Aurora Serverless v1 desde un clúster de base de
datos de Aurora aprovisionado.
444
Amazon Aurora Guía del usuario de Aurora
Creación de un clon de Aurora
• Puede crear un clon de clúster de base de datos de Aurora aprovisionado desde un clúster de base de
datos de Aurora Serverless v1.
Aurora Serverless v1Los clústeres de base de datos de están siempre cifrados. Cuando clona un clúster
de base de datos de de Aurora Serverless v1 en un clúster de base de datos de Aurora aprovisionado, el
clúster de de base de datos de Aurora aprovisionado está cifrado. Puede elegir la clave de cifrado, pero
no puede desactivar el cifrado. Puede crear un clon aprovisionado de base de datos de Aurora desde un
clúster de base de datos de Aurora aprovisionado de Aurora Serverless v1 cluster, you need .
Console
El siguiente procedimiento describe cómo clonar un clúster de base de datos de Aurora mediante la AWS
Management Console.
Al crear un clon con la AWS Management Console resulta en un clúster de base de datos de Aurora con
una instancia de base de datos de Aurora.
Estas instrucciones se aplican a los clústeres de base de datos que pertenecen a la misma AWS cuenta
que crea la clonación. Si el clúster de base de datos es propiedad de otra AWS cuenta, consulte Clonación
entre cuentas con AWS RAM y Amazon Aurora (p. 453) en su lugar.
Para crear un clon de un clúster de base de datos propiedad de la AWS cuenta mediante el
comando AWS Management Console
Se abre la página Create clon (Crear clon) donde puede configurar Instance specifications
(Especificaciones de la instancia),Connectivity (Conectividad) y otras opciones para el clon del clúster
de base de datos de Aurora.
4. En la sección Instance specifications (Especificaciones de la instancia), haga lo siguiente:
a. Para el identificador de clúster de base de datos, ingrese el nombre que desea dar a su clúster de
base de datos de Aurora clonado.
445
Amazon Aurora Guía del usuario de Aurora
Creación de un clon de Aurora
b. Para Capacity type (Tipo de capacidad), elija Provisioned (Aprovisionada) o Serverless (Sin
servidor) según sea necesario para su caso de uso.
Puede elegir Serverless (Sin servidor) solo si el clúster de base de datos de Aurora de origen es
una clúster de base de datos de Aurora Serverless v1 o es un clúster de base de datos de Aurora
aprovisionado que está cifrado.
Puede aceptar la configuración proporcionada o puede usar una clase de instancia de base de
datos diferente para su clon.
446
Amazon Aurora Guía del usuario de Aurora
Creación de un clon de Aurora
Algunas de las opciones mostradas dependen del tipo de clon que está creando. Por ejemplo,
Aurora Serverless no es compatible con Amazon RDS Performance Insights, por lo que esa
opción no se muestra en este caso.
Al crear un clon de Aurora Serverless desde un clúster de base de datos de Aurora Serverless,
puede elegir una clave diferente para el clon.
447
Amazon Aurora Guía del usuario de Aurora
Creación de un clon de Aurora
d. Termine de ingresar todos los ajustes para su clon de clúster de base de datos de Aurora. Para
obtener más información sobre la configuración del clúster y de la instancia de base de datos de
Aurora, consulte Creación de un clúster de base de datos de Amazon Aurora (p. 136).
5. Seleccione Create clon (Crear clon) para lanzar el clon de Aurora del clúster de base de datos de
Aurora elegido.
Cuando se crea el clon, aparece junto con los otros clústeres de base de datos de Aurora en la sección
Databases (Bases de datos) de la consola y muestra su estado actual. Su clon está listo para utilizar
cuando su estado es Available (Disponible).
AWS CLI
El uso de la AWS CLI para clonar su clúster de base de datos de Aurora implica un par de pasos.
Los siguientes comandos suponen que la AWS CLI está configurada con su región de AWS como valor
predeterminado. Este enfoque le ahorra pasar el nombre de --region en cada uno de los comandos.
Para obtener más información, consulte Configuración de la AWS CLI. También puede especificar la --
region en cada uno de los comandos de CLI que siguen.
Temas
• Creación del clon (p. 449)
• Comprobar el estado y obtener detalles del clon (p. 451)
• Crear la instancia de base de datos de Aurora para su clon (p. 452)
• Parámetros para utilizar durante la clonación (p. 452)
448
Amazon Aurora Guía del usuario de Aurora
Creación de un clon de Aurora
Utilice el siguiente procedimiento para crear una de clon de Aurora Serverless desde un clúster de base de
datos de Aurora Serverless, o para crear un clon de Aurora aprovisionado desde de un clúster de base de
datos de Aurora.
Para crear un clon del mismo modo de motor que el clúster de base de datos de Aurora de origen
El siguiente ejemplo crea un clon del clúster de denominado my-clone desde un clúster denominado my-
source-cluster.
Para Windows:
El comando devuelve el objeto JSON que contiene detalles del clon. Compruebe que su clúster de base
de datos clonado está disponible antes de intentar crear la instancia de base de datos para su clon. Para
obtener más información, consulte Comprobar el estado y obtener detalles del clon (p. 451).
Para crear un clon en un modo de motor distinto al del clúster de base de datos de Aurora de
origen.
449
Amazon Aurora Guía del usuario de Aurora
Creación de un clon de Aurora
• --engine-mode: utilice este parámetro sólo para crear clones que sean de un tipo diferente al del
clúster de base de datos de Aurora de origen. Elija el valor con el que se va a pasar --engine-
mode de la siguiente manera:
• Utilice provisioned para crear un clon de clúster de base de datos de Aurora aprovisionado
desde un clúster de base de datos de Aurora Serverless.
• Utilice serverless para crear un clon de clúster de base de datos de Aurora Serverless desde
un clúster de base de datos de Aurora aprovisionado. Cuando se especifica el modo de motor
serverless, también puede elegir --scaling-configuration.
• --restore-type: utilice copy-on-write para crear un clon del clúster de base de datos de
origen. Sin este parámetro, restore-db-cluster-to-point-in-time restaura el clúster de
base de datos de Aurora en lugar de crear un clon.
• --scaling-configuration: (opcional) utilizar sólo con --engine-mode serverless para
configurar la capacidad mínima y máxima del clon. Si no utiliza este parámetro, Aurora crea el clon
con una capacidad mínima de 1. Utiliza una capacidad máxima que coincide con la capacidad del
clúster de base de datos Aurora aprovisionado de origen.
• --source-db-cluster-identifier: utilice el nombre del clúster de base de datos de Aurora
de origen que desea clonar.
• --use-latest-restorable-time: este valor apunta a los datos de volumen restaurables más
recientes para el clon.
El siguiente ejemplo crea una de clon de Aurora Serverless (my-clone) desde un clúster de base de
datos de Aurora aprovisionado llamado my-source-cluster. El clúster de base de datos de Aurora
aprovisionado está cifrado.
Para Windows:
Estos comandos devuelven el objeto JSON que contiene detalles del clon que necesita para crear la
instancia de base de datos. No puede hacer eso hasta que el estado del clon (el clúster vacío de base de
datos de Aurora) tenga el estado Available (Disponible).
Note
El comando restore-db-cluster-to-point-in-time de la CLI de AWS solo restaura el clúster de la
base de datos, no las instancias de base de datos dicho clúster. Debe invocar el comando create-
db-instance para crear instancias de base de datos para el clúster de base de datos restaurado,
especificando el identificador de dicho clúster de base de datos restaurado en --db-cluster-
identifier. Solo puede crear instancias de base de datos después de que se haya completado
el comando restore-db-cluster-to-point-in-time y de que el clúster de base de datos
esté disponible.
450
Amazon Aurora Guía del usuario de Aurora
Creación de un clon de Aurora
Por ejemplo, supongamos que tiene un clúster llamado tpch100g que desea clonar. En el siguiente
ejemplo de Linux se crea un clúster clonado denominado tpch100g-clone y una instancia primaria
denominada tpch100g-clone-instance para el nuevo clúster. No es necesario proporcionar algunos
parámetros, como --master-username reinvent y --master-user-password. Aurora determina
automáticamente los parámetros del clúster original. Es necesario especificar el motor de base de datos
que se va a utilizar. Por lo tanto, el ejemplo prueba el nuevo clúster para determinar el valor correcto a
utilizar para el parámetro --engine.
Puede utilizar el siguiente comando para verificar el estado del clúster de base de datos vacío recién
creado.
O puede obtener el estado y los otros valores que necesita paracrear la instancia de base de datos para su
clon (p. 452) mediante el uso de la siguiente consulta de la AWS CLI.
Para Windows:
[
{
"Status": "available",
"Engine": "aurora-mysql",
"EngineVersion": "5.7.mysql_aurora.2.09.1",
"EngineMode": "provisioned"
}
451
Amazon Aurora Guía del usuario de Aurora
Creación de un clon de Aurora
Llame al comando create-db-instance de la CLI para crear la instancia de base de datos para su clon.
Para Windows:
Para un clon de Aurora Serverless creado desde un clúster de base de datos de Aurora Serverless, sólo se
especifican algunos parámetros. La instancia de base de datos hereda las propiedades --engine-mode,
--master-username y --master-user-password del clúster de base de datos de origen. Puede
cambiar el --scaling-configuration.
Para Windows:
Parámetro Descripción
--source-db-cluster- Utilice el nombre del clúster de base de datos de Aurora de origen que desea
identifier clonar.
--db-cluster-identifier Elija un nombre significativo para su clon. Asigne un nombre a su clon con el
comando restore-db-cluster-to-point-in-time. A continuación,
pase este nombre al comando create-db-instance.
452
Amazon Aurora Guía del usuario de Aurora
Clonación entre cuentas
Parámetro Descripción
--engine-mode Utilice este parámetro para crear clones que sean de un tipo diferente al del
clúster de base de datos de Aurora de origen. Elija el valor con el que se va a
pasar --engine-mode de la siguiente manera:
--use-latest-restorable- Este valor apunta a los datos de volumen restaurables más recientes para el
time clon.
Por ejemplo, puede que necesite compartir regularmente un clon de su base de datos financiera con el
equipo de auditoría interna de su organización. En este caso, su equipo de auditoría tiene su propia cuenta
de AWS para las aplicaciones que utiliza. Puede darle permiso al equipo de auditoría de la cuenta de AWS
para acceder a su clúster de base de datos de Aurora y clonarlo según sea necesario.
Por otro lado, si un proveedor externo audita sus datos financieros, es posible que prefiera crear el clon
usted mismo. Luego, conceda al proveedor externo acceso solo al clon.
También puede utilizar la clonación entre cuentas para admitir muchos de los mismos casos de uso para
la clonación dentro de la misma cuenta de AWS, como desarrollo y pruebas. Por ejemplo, su organización
podría utilizar diferentes cuentas de AWS para la producción, el desarrollo, las pruebas, etc. Para obtener
más información, consulte Información general de la clonación de Aurora (p. 440).
Por lo tanto, podría ser necesario compartir un clon con otra cuenta de AWS o permitirle a otra cuenta
de AWS crear clones de los clústeres de base de datos de Aurora. En cualquier caso, comience por usar
AWS RAM para crear un objeto compartido. Para obtener información completa sobre cómo compartir
recursos de AWS entre cuentas de AWS, consulte la guía del usuario de AWS RAM.
La creación de un clon entre cuentas requiere acciones de la cuenta de AWS propietaria del clúster original
y la cuenta de AWS que crea el clon. En primer lugar, el propietario modifica el clúster para permitir que
453
Amazon Aurora Guía del usuario de Aurora
Clonación entre cuentas
una o más cuentas lo clonen. Si alguna de las cuentas está en una organización de AWS diferente, AWS
genera una invitación para compartir. La otra cuenta debe aceptar la invitación antes de continuar. A
continuación, cada cuenta autorizada puede clonar el clúster. En todo este proceso, el clúster se identifica
mediante su nombre de recurso de Amazon (ARN) único.
Al igual que con la clonación dentro de la misma cuenta de AWS, el espacio de almacenamiento adicional
solo si el origen o el clon realizan cambios a los datos. Los cargos por almacenamiento se aplican
entonces en ese momento. Si se borra el clúster de origen, los costes de almacenamiento se distribuyen
por igual entre el resto de clústeres clonados.
Temas
• Limitaciones de la clonación entre cuentas (p. 454)
• Permitir a otras cuentas de AWS clonar su clúster (p. 454)
• Clonar un clúster que es propiedad de otra cuenta de AWS (p. 457)
Para que los procedimientos compartan recursos de su propiedad en la consola de AWS RAM, consulte
Compartir recursos de su propiedad en la guía del usuario de AWS RAM.
Temas
• Conceder permisos a otras cuentas de AWS para clonar su clúster (p. 455)
• Verificar si un clúster de su propiedad se comparte con otras cuentas de AWS (p. 457)
454
Amazon Aurora Guía del usuario de Aurora
Clonación entre cuentas
Para hacer esto, primero tiene que agregar la cuenta externa (usuario raíz) a la política de claves de KMS
a través de AWS KMS. No se añaden los usuarios o roles de IAM individuales a la política de claves, solo
la cuenta externa que los posee. Solo puede compartir una clave de KMS que cree, no la clave de servicio
de RDS predeterminada. Para obtener más información sobre el control de acceso de las claves de KMS,
consulte Autenticación y control de acceso de AWS KMS.
Console
En algunos casos, es posible que desee una cuenta que no esté en la misma organización
de AWS que su cuenta para clonar un clúster. En estos casos, por razones de seguridad la
consola no notifica el propietario de ese ID de cuenta o si existe la cuenta.
Tenga cuidado de introducir números de cuenta que no estén en la misma organización de
AWS que su cuenta de AWS. Verifique inmediatamente que ha compartido con la cuenta
pretendida.
5. En la página de confirmación, verifique que el ID de cuenta que ha especificado sea correcto.
Introduzca share en el cuadro de confirmación para confirmar.
En la página Details (Detalles), aparece una entrada que muestra el ID de cuenta de AWS
especificado en Accounts that this DB cluster is shared with (Cuentas con las que se comparte
este clúster de base de datos). La columna Status (Estado) inicialmente muestra el estado Pending
(Pendiente).
6. Póngase en contacto con el propietario de la otra cuenta de AWS o inicie sesión en dicha cuenta si es
propietario de ambas. Pida al propietario de la otra cuenta que acepte la invitación de uso compartido
y clone el clúster de base de datos, como se describe a continuación.
AWS CLI
455
Amazon Aurora Guía del usuario de Aurora
Clonación entre cuentas
--region region \
--resource-arns cluster_arn \
--principals other_account_ids
Para Windows:
Para incluir varios ID de cuenta para el parámetro --principals, separe los ID entre sí con
espacios. Para especificar si los ID de cuenta permitidos pueden estar fuera de la organización
de AWS, incluya el parámetro --allow-external-principals o --no-allow-external-
principals para create-resource-share.
AWS RAMAPI de
Si el clúster cifrado que desea compartir utiliza la clave predeterminada de RDS, asegúrese de volver a
crear el clúster. Para ello, cree una instantánea manual del clúster de base de datos, utilice una AWS KMS
key y, a continuación, restaure el clúster a un clúster nuevo. A continuación, comparta el nuevo clúster.
Para ello, siga estos pasos:
Para volver a crear un clúster cifrado que utiliza la clave de RDS predeterminada
456
Amazon Aurora Guía del usuario de Aurora
Clonación entre cuentas
Para que los procedimientos compartan recursos utilizando la consola de AWS RAM, consulte Compartir
recursos de su propiedad en la guía del usuario de AWS RAM.
AWS CLI
AWS RAMAPI de
• Llame a la operación ListPrincipals de la API de AWS RAM. Utilice su ID de cuenta como el propietario
del recurso y el ARN de su clúster como el ARN del recurso.
También puede comprobar si un clúster de su propiedad es un clon de un clúster propiedad de una cuenta
de AWS diferente.
Para que funcionen los procedimientos con recursos que son propiedad de otros en la consola de AWS
RAM, consulte Acceso a los recursos compartidos con usted en la guía del usuario de AWS RAM.
Temas
• Visualización de invitaciones para clonar clústeres propiedad de otras cuentas de AWS (p. 457)
• Aceptación de invitaciones para compartir clústeres propiedad de otras cuentas de AWS (p. 458)
• Clonar un clúster de Aurora que es propiedad de otra cuenta de AWS (p. 459)
• Comprobar si un clúster de base de datos es un clon entre cuentas (p. 462)
Para que funcionen los procedimientos con invitaciones en la consola de AWS RAM, consulte Acceso a los
recursos compartidos con usted en la guía del usuario de AWS RAM.
457
Amazon Aurora Guía del usuario de Aurora
Clonación entre cuentas
AWS CLI
Para ver invitaciones para clonar clústeres propiedad de otras cuentas de AWS
Los resultados del comando anterior muestran todas las invitaciones para clonar clústeres, incluidas
las que ya haya aceptado o rechazado.
2. (Opcional) Filtre la lista de forma que vea solo las invitaciones que requieren una acción por
su parte. Para hacerlo, añada el parámetro --query 'resourceShareInvitations[?
status==`PENDING`]'.
AWS RAMAPI de
Para ver invitaciones para clonar clústeres propiedad de otras cuentas de AWS
Para que funcionen los procedimientos con invitaciones en la consola de AWS RAM, consulte Acceso a los
recursos compartidos con usted en la guía del usuario de AWS RAM.
Console
Para aceptar una invitación para compartir un clúster desde otra cuenta de AWS
Para Windows:
458
Amazon Aurora Guía del usuario de Aurora
Clonación entre cuentas
Console
En la parte superior de la lista de bases de datos, debe ver uno o más elementos con un valor de
Role (Role) de Shared from account #account_id. Por razones de seguridad, solo puede ver
información limitada sobre los clústeres originales. Las propiedades que puede ver son las de motor
de base de datos y versión que deben ser las mismas en su clúster clonado.
3. Elija el clúster que pretende clonar.
4. En Actions (Acciones), elija Create alias (Crear alias).
5. Siga el procedimiento de Console (p. 445) para finalizar la configuración del clúster clonado.
6. Según sea necesario, habilite el cifrado del clúster clonado. Si el clúster que esté clonando está
cifrado, debe habilitar el cifrado del clúster clonado. La cuenta de AWS que compartió el clúster con
usted también debe compartir la clave de KMS que se utilizó para cifrar el clúster. Puede utilizar la
misma clave de KMS para cifrar el clon, o bien puede utilizar su propia clave de KMS. No puede crear
un clon entre cuentas para un clúster que esté cifrado con la clave de KMS predeterminada.
La cuenta que posee la clave de cifrado debe conceder permiso a la cuenta de destino para utilizar
la clave mediante una política de claves. Este proceso es similar al utilizado para compartir las
instantáneas cifradas, utilizando una política de claves que otorga permiso a la cuenta de destino para
utilizar la clave.
AWS CLI
1. Acepte la invitación de otra cuenta de AWS propiedad del clúster de base de datos, como se ha
mostrado anteriormente.
2. Clone el clúster especificando el ARN completo del clúster de origen en el parámetro source-db-
cluster-identifier del comando restore-db-cluster-to-point-in-time de la CLI de
RDS, como se muestra a continuación.
459
Amazon Aurora Guía del usuario de Aurora
Clonación entre cuentas
Para Windows:
3. Si el clúster que está clonando está cifrado, cifre su clúster clonado incluyendo un parámetro kms-
key-id. Este valor kms-key-id puede ser el mismo que el utilizado para cifrar el clúster de base
de datos original o su propia clave de KMS. Su cuenta debe tener permiso para utilizar dicha clave de
cifrado.
Para Windows:
La cuenta que posee la clave de cifrado debe conceder permiso a la cuenta de destino para utilizar
la clave mediante una política de claves. Este proceso es similar al utilizado para compartir las
instantáneas cifradas, utilizando una política de claves que otorga permiso a la cuenta de destino para
utilizar la clave. A continuación se incluye una política de claves.
{
"Id": "key-policy-1",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {"AWS": [
"arn:aws:iam::account_id:user/KeyUser",
"arn:aws:iam::account_id:root"
]},
"Action": [
"kms:CreateGrant",
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt",
460
Amazon Aurora Guía del usuario de Aurora
Clonación entre cuentas
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
},
{
"Sid": "Allow attachment of persistent resources",
"Effect": "Allow",
"Principal": {"AWS": [
"arn:aws:iam::account_id:user/KeyUser",
"arn:aws:iam::account_id:root"
]},
"Action": [
"kms:CreateGrant",
"kms:ListGrants",
"kms:RevokeGrant"
],
"Resource": "*",
"Condition": {"Bool": {"kms:GrantIsForAWSResource": true}}
}
]
}
Note
API de RDS
1. Acepte la invitación de otra cuenta de AWS propiedad del clúster de base de datos, como se ha
mostrado anteriormente.
2. Clone el clúster especificando el ARN completo del clúster de origen en el parámetro
SourceDBClusterIdentifier de la operación RestoreDBClusterToPointInTime de la API de
RDS.
Al clonar un volumen, la cuenta de destino debe tener permiso para utilizar la clave de cifrado
utilizada para cifrar el clúster de origen. Aurora cifra el nuevo clúster clonado con la clave de cifrado
especificada en KmsKeyId.
La cuenta que posee la clave de cifrado debe conceder permiso a la cuenta de destino para utilizar
la clave mediante una política de claves. Este proceso es similar al utilizado para compartir las
instantáneas cifradas, utilizando una política de claves que otorga permiso a la cuenta de destino para
utilizar la clave. A continuación se incluye una política de claves.
461
Amazon Aurora Guía del usuario de Aurora
Clonación entre cuentas
{
"Id": "key-policy-1",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {"AWS": [
"arn:aws:iam::account_id:user/KeyUser",
"arn:aws:iam::account_id:root"
]},
"Action": [
"kms:CreateGrant",
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
},
{
"Sid": "Allow attachment of persistent resources",
"Effect": "Allow",
"Principal": {"AWS": [
"arn:aws:iam::account_id:user/KeyUser",
"arn:aws:iam::account_id:root"
]},
"Action": [
"kms:CreateGrant",
"kms:ListGrants",
"kms:RevokeGrant"
],
"Resource": "*",
"Condition": {"Bool": {"kms:GrantIsForAWSResource": true}}
}
]
}
Note
462
Amazon Aurora Guía del usuario de Aurora
Clonación entre cuentas
AWS CLI
El siguiente ejemplo muestra cómo los clústeres de base de datos de clonación entre cuentas reales
o potenciales aparece en la salida de describe-db-clusters. Para clústeres existentes propiedad
de su cuenta de AWS, el campo CrossAccountClone indica si el clúster es un clon de un clúster de
base de datos propiedad de otra cuenta de AWS.
En algunos casos, una entrada podría tener un número de cuenta de AWS diferente al suyo en
el campo DBClusterArn. En este caso, dicha entrada representa un clúster propiedad de una
cuenta de AWS diferente y que se puede clonar. Dichas entradas tienen pocos cambios aparte de
DBClusterArn. Al crear el clúster clonado, especifique los mismos valores de StorageEncrypted,
Engine y EngineVersion que el clúster original.
API de RDS
El siguiente ejemplo muestra un valor de devolución que demuestra los clústeres clonados tanto
reales como potenciales.
463
Amazon Aurora Guía del usuario de Aurora
Clonación entre cuentas
"DBClusters": [
{
"EarliestRestorableTime": "2019-05-01T21:17:54.106Z",
"Engine": "aurora",
"EngineVersion": "5.6.10a",
"CrossAccountClone": false,
...
},
{
"EarliestRestorableTime": "2019-04-09T16:01:07.398Z",
"Engine": "aurora",
"EngineVersion": "5.6.10a",
"CrossAccountClone": true,
...
},
{
"StorageEncrypted": false,
"DBClusterArn": "arn:aws:rds:us-east-1:12345678:cluster:cluster-abcdefgh",
"Engine": "aurora",
"EngineVersion": "5.6.10a"
}
]
}
464
Amazon Aurora Guía del usuario de Aurora
Integración con los servicios de AWS
Temas
• Integración de los servicios de AWS con Amazon Aurora MySQL (p. 465)
• Integración de los servicios de AWS con Amazon Aurora PostgreSQL (p. 465)
• Uso de Auto Scaling de Amazon Aurora con réplicas de Aurora (p. 466)
• Uso de las capacidades de Machine Learning (ML) con Amazon Aurora (p. 482)
• Invoque de forma síncrona o asíncrona una función de AWS Lambda mediante las funciones nativas
lambda_sync o lambda_async. O bien invoque de forma asíncrona una función de AWS Lambda con
el procedimiento mysql.lambda_async.
• Cargar datos desde archivos de texto o XML almacenados en un bucket de Amazon S3 en el clúster de
base de datos mediante el comando LOAD DATA FROM S3 o LOAD XML FROM S3.
• Guardar datos en archivos de texto almacenados en un bucket de Amazon S3 desde su clúster de base
de datos usando el comando SELECT INTO OUTFILE S3.
• Añada o quite de forma automática réplicas de Aurora con Auto Scaling de aplicaciones. Para obtener
más información, consulte Uso de Auto Scaling de Amazon Aurora con réplicas de Aurora (p. 466).
Para obtener más información acerca de la integración de Aurora MySQL con otros servicios de AWS,
consulte Integración de Amazon Aurora MySQL con otros servicios de AWS (p. 1064).
• Recopilar, ver y evaluar rápidamente el desempeño en las cargas de trabajo de la base de datos
relacional con Performance Insights.
• Añada o quite de forma automática réplicas de Aurora con Aurora Auto Scaling. Para obtener más
información, consulte Uso de Auto Scaling de Amazon Aurora con réplicas de Aurora (p. 466).
Para obtener más información acerca de la integración de Aurora PostgreSQL con otros servicios de AWS,
consulte Integración de Amazon Aurora PostgreSQL con otros servicios de AWS (p. 1547).
465
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
Puede definir y aplicar una política de escalado a un clúster de base de datos Aurora. La política de
escalado define el número mínimo y máximo de réplicas de Aurora que Auto Scaling de Aurora puede
administrar. En función de la política, Auto Scaling de Aurora aumenta o reduce el número de réplicas
de Aurora en respuesta a las cargas de trabajo reales, determinadas mediante las métricas de Amazon
CloudWatch y los valores de destino.
Puede usar la AWS Management Console para aplicar una política de escalado en función de una métrica
predefinida. También puede utilizar la API de Auto Scaling de AWS CLI o Aurora para aplicar una política
de escalado basada en una métrica predefinida o personalizada.
Temas
• Antes de empezar (p. 466)
• Políticas de Auto Scaling de Aurora (p. 467)
• Adición de una política de escalado (p. 468)
• Edición de una política de escalado (p. 477)
• Eliminación de una política de escalado (p. 480)
• Identificadores y etiquetado de instancias de base de datos (p. 481)
Antes de empezar
Antes de que pueda usar Auto Scaling de Aurora con un clúster de base de datos Aurora, primero debe
crear un clúster de base de datos Aurora con una instancia principal y al menos una réplica de Aurora.
Aunque Auto Scaling de Aurora administra réplicas de Aurora, el clúster de base de datos Aurora debe
comenzar con al menos una réplica de Aurora. Para obtener más información acerca de la creación
de un clúster de base de datos Aurora, consulte Creación de un clúster de base de datos de Amazon
Aurora (p. 136).
Auto Scaling de Aurora solo escala un clúster de base de datos si todas las réplicas de Aurora en un
clúster de base de datos están en un estado disponible. Si alguna de las réplicas de Aurora está en otro
estado distinto de disponible, Auto Scaling de Aurora espera hasta que todo el clúster de base de datos
esté disponible para el escalado.
Cuando Auto Scaling de Aurora añade una nueva réplica de Aurora, la nueva réplica de Aurora es la
misma clase de instancia de base de datos que la usada por la instancia principal. Para obtener más
información acerca de las clases de instancias de bases de datos, consulte Clases de instancia de base
de datos Aurora (p. 56). Además, la capa de promoción para las nuevas réplicas de Aurora se establecen
en la última prioridad, que es 15 de forma predeterminada. Eso significa que durante una conmutación por
error, una réplica con una mejor prioridad, como una creada manualmente, se promocionaría primero. Para
obtener más información, consulte Tolerancia a errores para un clúster de base de datos de Aurora (p. 73).
Auto Scaling de Aurora solo quita las réplicas de Aurora que ha creado.
Para poder beneficiarse de Auto Scaling de Aurora, sus aplicaciones deben admitir conexiones a nuevas
réplicas de Aurora. Y para hacerlo, recomendamos que utilice el punto de enlace de lector de Aurora.
466
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
Para Aurora MySQL puede usar un controlador como la utilidad MariaDB Connector/J. Para obtener más
información, consulte . Conexión a un clúster de base de datos Amazon Aurora (p. 307).
Note
Las bases de datos globales Aurora actualmente no admiten Aurora Auto Scaling para clústeres
de bases de datos secundarios.
Métrica de destino
En este tipo de política, una métrica predefinida o personalizada y un valor de destino de la métrica
se especifica en una configuración de la política de escalado de seguimiento de destino. Auto Scaling
de Aurora crea y administra las alarmas de CloudWatch que desencadenan la política de escalado y
calcula el ajuste de escalado en función de la métrica y el valor objetivo. La política de escalado amplía o
reduce las réplicas de Aurora en función de las necesidades para mantener la métrica en el valor objetivo
especificado o en un valor próximo. Además de mantener la métrica próxima al valor de destino, la política
de escalado de seguimiento de destino también se ajusta a las fluctuaciones de la métrica producidas por
una carga de trabajo en constante cambio. Esta política también minimiza las fluctuaciones rápidas del
número de réplicas de Aurora disponibles de su clúster de base de datos.
Por ejemplo, adopte una política de escalado que use la métrica de utilización de la CPU media
predefinida. Esta política puede mantener la utilización de la CPU en el porcentaje de utilización
especificado o en un valor próximo, como el 40 por ciento.
Note
Para cada clúster de base de datos Aurora, puede crear solo una política de Auto Scaling para
cada métrica de destino.
También puede especificar el número mínimo de réplicas de Aurora que Auto Scaling de aplicaciones va
a administrar. Este valor debe establecerse en 0–15 y debe ser igual o inferior al valor especificado para el
número máximo de réplicas de Aurora.
467
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
Note
La capacidad mínima y máxima se establece para un clúster de base de datos Aurora. Los
valores especificados se aplican a todas las políticas asociadas al clúster de base de datos
Aurora.
Periodo de recuperación
Puede ajustar la capacidad de respuesta de una política de escalado de seguimiento de destino añadiendo
periodos de recuperación que afecten a la ampliación o reducción de su clúster de base de datos Aurora.
Un periodo de recuperación bloquea solicitudes de escalado descendente o ascendente posteriores hasta
que vence el periodo. Estos bloques ralentizan las eliminaciones de réplicas de Aurora en su clúster de
base de datos Aurora para solicitudes de escalado descendente y la creación de réplicas de Aurora para
solicitudes de escalado ascendente.
• Una actividad de escalado descendente reduce el número de réplicas de Aurora en su clúster de base
de datos Aurora. Un periodo de recuperación de escalado descendente especifica la cantidad de tiempo,
en segundos, tras completarse una actividad de escalado descendente antes de que pueda comenzar
otra actividad de escalado descendente.
• Una actividad de escalado ascendente incrementa el número de réplicas de Aurora en su clúster de
base de datos Aurora. Un periodo de recuperación de escalado ascendente especifica la cantidad de
tiempo, en segundos, tras completarse una actividad de escalado ascendente antes de que pueda
comenzar otra actividad de escalado ascendente.
Las actividades de escalado ascendente siempre se habilitan de modo que la política de escalado
pueda crear réplicas de Aurora según sea necesario.
Para ver un ejemplo que agrega una política de escalado mediante AWS CloudFormation,
consulte Declaración de una política de escalado para un clúster de base de datos de Aurora en la
Guía del usuario de AWS CloudFormation.
Temas
• Adición de una política de escalado mediante la AWS Management Console (p. 469)
• Adición de una política de escalado utilizando AWS CLI o la API de Auto Scaling de
aplicaciones (p. 471)
468
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
Para añadir una política de Auto Scaling a un clúster de base de datos Aurora
Aparecerá el cuadro de diálogo Add Auto Scaling policy (Añadir política de Auto Scaling).
6. En Policy name (Nombre de la política), escriba un nombre para la política.
7. Para la métrica de destino, elija una de las siguientes opciones:
• Average CPU utilization of Aurora Replicas (Utilización media de CPU de réplicas de Aurora) para
crear una política basada en el uso medio de la CPU.
• Average connections of Aurora Replicas (Promedio de conexiones de réplicas de Aurora) para crear
una política basada en el número medio de conexiones a réplicas de Aurora.
8. Para el valor de destino, escriba una de las siguientes opciones:
• Si eligió Average CPU utilization of Aurora Replicas (Utilización media de CPU de réplicas de
Aurora) en el paso anterior, escriba el porcentaje de utilización de CPU que desea mantener en las
réplicas de Aurora.
• Si eligió Average connections of Aurora Replicas (Promedio de conexiones de réplicas de Aurora)
en el paso anterior, escriba el número de conexiones que desea mantener.
Las réplicas de Aurora se añaden o quitan para mantener la métrica en un valor próximo al
especificado.
9. (Opcional) Abra Additional Configuration (Configuración adicional) para crear un periodo de
recuperación de escalado descendente o ascendente.
10. Para Minimum capacity (Capacidad mínima), escriba el número mínimo de réplicas de Aurora que
debe mantener la política de Auto Scaling de Aurora.
11. Para Maximum capacity (Capacidad máxima), escriba el número máximo de réplicas de Aurora que
debe mantener la política de Auto Scaling de Aurora.
12. Elija Add policy (Agregar política).
El siguiente cuadro de diálogo crea una política de Auto Scaling basada en un uso medio de la CPU del 40
por ciento. En la política se especifica un mínimo de 5 réplicas de Aurora y un máximo de 15 réplicas de
Aurora.
469
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
En el siguiente cuadro de diálogo se crea una política de Auto Scaling basada en un número medio de
conexiones de 100. En la política se especifica un mínimo de dos réplicas de Aurora y un máximo de ocho
réplicas de Aurora.
470
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
Adición de una política de escalado utilizando AWS CLI o la API de Auto Scaling
de aplicaciones
Puede aplicar una política de escalado en función de una métrica predefinida o una personalizada. Para
ello, puede usar AWS CLI o la API de Auto Scaling de aplicaciones. El primer paso consiste en registrar su
clúster de base de datos Aurora con Auto Scaling de aplicaciones.
Antes de que pueda usar Auto Scaling de Aurora con un clúster de base de datos Aurora, puede registrar
su clúster de base de datos Aurora con Auto Scaling de aplicaciones. Esto se hace para definir la
471
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
dimensión y los límites de escalado que se van a aplicar a ese clúster. La aplicación Auto Scaling escala
dinámicamente el clúster de base de datos de Aurora a lo largo de la rds:cluster:ReadReplicaCount
dimensión escalable, que representa el número de réplicas de Aurora.
Para registrar su clúster de base de datos Aurora, puede usar la AWS CLI o la API de Auto Scaling de
aplicaciones.
AWS CLI
Example
Para Windows:
API de RDS
Para registrar un clúster de base de datos de Aurora con Auto Scaling de aplicaciones, use la operación
RegisterScalableTarget de la API de Auto Scaling de aplicaciones con los siguientes parámetros:
472
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
Example
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
"ServiceNamespace": "rds",
"ResourceId": "cluster:myscalablecluster",
"ScalableDimension": "rds:cluster:ReadReplicaCount",
"MinCapacity": 1,
"MaxCapacity": 8
}
Una configuración de la política de escalado de seguimiento de destino está representada por un bloque
JSON en el que se definen las métricas y los valores de destino. Puede guardar una configuración de la
política de escalado como bloque JSON en un archivo de texto. Puede utilizarr ese archivo de texto al
invocar AWS CLI o la API de Auto Scaling de aplicaciones. Para obtener más información acerca de la
sintaxis de configuración de la política, consulte TargetTrackingScalingPolicyConfiguration en
la referencia de la API de Auto Scaling de aplicaciones.
Las siguientes opciones están disponibles para definir una configuración de la política de escalado de
seguimiento de destino.
Temas
• Uso de una métrica predefinida (p. 474)
• Uso de una métrica personalizada (p. 474)
• Uso de periodos de recuperación (p. 475)
• Desactivación de actividad de escalado descendente (p. 475)
473
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
Actualmente, Aurora admite las siguientes métricas predefinidas en Auto Scaling de Aurora:
Para usar una métrica predefinida en su política de escalado, puede crear una configuración
de seguimiento de destino para su política de escalado. Esta configuración debe incluir
PredefinedMetricSpecification para la métrica predefinida y TargetValue para el valor de
destino de esa métrica.
Example
En el siguiente ejemplo se describe una configuración de la política típica para el escalado de seguimiento
de destino de un clúster de base de datos Aurora. En esta configuración, la métrica predefinida
RDSReaderAverageCPUUtilization se usa para ajustar el clúster de base de datos Aurora en función
del uso medio de la CPU del 40 por ciento en todas las réplicas de Aurora.
{
"TargetValue": 40.0,
"PredefinedMetricSpecification":
{
"PredefinedMetricType": "RDSReaderAverageCPUUtilization"
}
}
No todas las métricas de Aurora funcionan para el seguimiento de destino. La métrica debe ser una
métrica de utilización válida y describir el nivel de actividad de una instancia. El valor de la métrica debe
aumentar o reducirse en proporción al número de réplicas de Aurora del clúster de base de datos Aurora.
Este aumento o reducción proporcionales son necesarios para usar los datos de las métricas a fin de
ampliar o reducir proporcionalmente el número de réplicas de Aurora.
Example
En el siguiente ejemplo se describe una configuración de seguimiento de destino para una política de
escalado. En esta configuración, una métrica personalizada ajusta un clúster de base de datos Aurora
en función de un uso medio de la CPU del 50 % en todas las réplicas de Aurora de un clúster de base de
datos Aurora denominado my-db-cluster.
{
"TargetValue": 50,
"CustomizedMetricSpecification":
{
"MetricName": "CPUUtilization",
474
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
"Namespace": "AWS/RDS",
"Dimensions": [
{"Name": "DBClusterIdentifier","Value": "my-db-cluster"},
{"Name": "Role","Value": "READER"}
],
"Statistic": "Average",
"Unit": "Percent"
}
}
Example
En el siguiente ejemplo se describe una configuración de seguimiento de destino para una política de
escalado. En esta configuración, la métrica predefinida RDSReaderAverageCPUUtilization se
usa para ajustar un clúster de base de datos de Aurora en función del uso promedio de la CPU del 40
por ciento en todas las réplicas de Aurora de ese clúster de base de datos de Aurora. La configuración
proporciona un periodo de recuperación de escalado descendente de 10 minutos y un periodo de
recuperación de escalado ascendente de 5 minutos.
{
"TargetValue": 40.0,
"PredefinedMetricSpecification":
{
"PredefinedMetricType": "RDSReaderAverageCPUUtilization"
},
"ScaleInCooldown": 600,
"ScaleOutCooldown": 300
}
Puede especificar un valor booleano para que DisableScaleIn habilite o deshabilite la actividad de
escalado descendente para su clúster de base de datos Aurora. Para obtener más información acerca de
DisableScaleIn, consulte TargetTrackingScalingPolicyConfiguration en la referencia de la
API de Auto Scaling de aplicaciones.
Example
En el siguiente ejemplo se describe una configuración de seguimiento de destino para una política de
escalado. En esta configuración, la métrica predefinida RDSReaderAverageCPUUtilization ajusta
un clúster de base de datos Aurora en función del uso medio de la CPU del 40 % en todas las réplicas
de Aurora de ese clúster de base de datos Aurora. La configuración deshabilita la actividad de escalado
descendente para la política de escalado.
475
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
"TargetValue": 40.0,
"PredefinedMetricSpecification":
{
"PredefinedMetricType": "RDSReaderAverageCPUUtilization"
},
"DisableScaleIn": true
}
AWS CLI
Para aplicar una política de escalado a un clúster de base de datos de Aurora, use el comando put-
scaling-policy de AWS CLI con los siguientes parámetros:
Example
En el siguiente ejemplo, aplica una política de escalado de seguimiento de destino denominada
myscalablepolicy a un clúster de base de datos Aurora llamado myscalablecluster con Auto
Scaling de aplicaciones. Para ello, puede usar una configuración de la política guardada en un archivo
denominado config.json.
Para Windows:
476
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
API de RDS
Para aplicar una política de escalado a un clúster de base de datos de Aurora con la API de Auto Scaling
de aplicaciones, utilice la operación PutScalingPolicy de la API de Auto Scaling de aplicaciones con
los siguientes parámetros:
Example
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
"PolicyName": "myscalablepolicy",
"ServiceNamespace": "rds",
"ResourceId": "cluster:myscalablecluster",
"ScalableDimension": "rds:cluster:ReadReplicaCount",
"PolicyType": "TargetTrackingScaling",
"TargetTrackingScalingPolicyConfiguration": {
"TargetValue": 40.0,
"PredefinedMetricSpecification":
{
"PredefinedMetricType": "RDSReaderAverageCPUUtilization"
}
}
}
477
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
Para editar una política de Auto Scaling para un clúster de base de datos Aurora
A continuación, se muestra un cuadro de diálogo Edit Auto Scaling policy (Editar política de Auto Scaling)
de ejemplo.
478
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
Edición de una política de escalado utilizando AWS CLI o la API de Auto Scaling
de aplicaciones
Puede utilizar AWS CLI o la API de Auto Scaling de aplicaciones para editar una política de escalado de la
misma forma que aplica una política de escalado:
479
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
• Al usar la AWS CLI, especifique el nombre de la política que desea editar en el parámetro --policy-
name. Especifique nuevos valores para los parámetros que desea cambiar.
• Al usar la API de Auto Scaling de aplicaciones, especifique el nombre de la política que desea editar en
el parámetro PolicyName. Especifique nuevos valores para los parámetros que desea cambiar.
Para obtener más información, consulte Aplicación de una política de escalado a un clúster de base de
datos Aurora (p. 476).
Para eliminar una política de Auto Scaling para un clúster de base de datos Aurora
AWS CLI
Para eliminar una política de escalado de su clúster de base de datos de Aurora, use el comando delete-
scaling-policy de AWS CLI con los siguientes parámetros:
Example
En el siguiente ejemplo, elimina una política de escalado de seguimiento de destino denominada
myscalablepolicy de un clúster de base de datos Aurora llamado myscalablecluster.
480
Amazon Aurora Guía del usuario de Aurora
Uso de Auto Scaling con réplicas de Aurora
--policy-name myscalablepolicy \
--resource-id cluster:myscalablecluster \
--service-namespace rds \
--scalable-dimension rds:cluster:ReadReplicaCount \
Para Windows:
API de RDS
Para eliminar una política de escalado de su clúster de base de datos Aurora, use la operación
DeleteScalingPolicy de la API de Auto Scaling de aplicaciones con los siguientes parámetros:
Example
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.DeleteScalingPolicy
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
"PolicyName": "myscalablepolicy",
"ServiceNamespace": "rds",
"ResourceId": "cluster:myscalablecluster",
"ScalableDimension": "rds:cluster:ReadReplicaCount"
}
481
Amazon Aurora Guía del usuario de Aurora
Uso de Machine Learning con Aurora
Tag Valor
application-autoscaling:resourceId cluster:mynewcluster-cluster
Para obtener más información acerca de las etiquetas de recursos Amazon RDS, consulte Etiquetado de
recursos de Amazon RDS (p. 517).
Esta característica es adecuada para muchos tipos de predicciones rápidas. Entre los ejemplos se incluyen
casos de uso de baja latencia y en tiempo real, como la detección del fraude, la publicidad dirigida a un
público específico y las recomendaciones de productos. Las consultas transfieren los datos del perfil del
cliente, del historial de compras y del catálogo de productos a un modelo de SageMaker. A continuación, la
aplicación obtiene recomendaciones de productos devueltas como resultados de la consulta.
Para utilizar esta característica, resulta útil que la organización cuente ya con los modelos de ML
pertinentes, los blocs de notas, etc. disponibles en los servicios de Amazon Machine Learning. Puede
dividir los conocimientos de las bases de datos y los conocimientos del ML entre los miembros de su
equipo. Los desarrolladores de bases de datos pueden centrarse en el lado de SQL y de la base de
datos de su aplicación. La característica de Machine Learning de Aurora permite que la aplicación utilice
procesamiento de ML a través de la interfaz conocida de la base de datos de llamadas a las funciones
almacenadas.
Temas
• Uso del Machine Learning (ML) con Aurora MySQL (p. 1103)
• Uso del machine learning (ML) con Aurora PostgreSQL (p. 1608)
482
Amazon Aurora Guía del usuario de Aurora
Mantenimiento de un clúster de base de datos de Aurora
Algunos elementos de mantenimiento necesitan que Amazon RDS desconecte su clúster de base de
datos durante un breve plazo de tiempo. Entre los elementos de mantenimiento que requieren que un
recurso esté desconectado están el sistema operativo necesario o la aplicación de parches a la base
de datos. Los parches obligatorios que tienen que ver con la seguridad y la fiabilidad de la instancia son
los únicos que se programan automáticamente. La aplicación de estos parches tiene lugar con poca
frecuencia (normalmente, una vez cada varios meses) y suele requerir tan solo una fracción de la ventana
de mantenimiento.
Las modificaciones de la instancia y clúster de base de datos diferidas que haya decidido no aplicar
inmediatamente se aplican durante el periodo de mantenimiento. Por ejemplo, puede elegir cambiar
clases de instancia de base de datos o grupos de parámetros de clúster o base de datos durante el
periodo de mantenimiento. Las modificaciones que especifique mediante la configuración de reinicio
pendiente no se muestran en la lista Mantenimiento pendiente. Para obtener más información acerca de
la modificación de un clúster de base de datos, consulte Modificación de un clúster de base de datos de
Amazon Aurora (p. 405).
Si no hay ninguna actualización de mantenimiento disponible para un clúster de base de datos, el valor de
columna es none (ninguno).
Si una actualización de mantenimiento está disponible para un clúster, son posibles los siguientes valores
de columna:
483
Amazon Aurora Guía del usuario de Aurora
Vista de mantenimiento pendiente
• Si el valor de mantenimiento es next window (siguiente periodo), aplace los elementos de mantenimiento
eligiendo defer upgrade (aplazar actualización) en Actions (Acciones). No puede aplazar una acción de
mantenimiento si ya se ha iniciado.
• Aplicar inmediatamente los elementos de mantenimiento.
• Programar los elementos de mantenimiento para que se inicien en la siguiente ventana de
mantenimiento.
• No realice ninguna acción.
Note
Determinadas actualizaciones del sistema operativo se marcan como required (obligatorio).
Si aplaza una actualización obligatoria, Amazon RDS le indicará cuándo se ejecutará la
actualización. Otras actualizaciones se marcan como available (disponible) y puede diferir de
forma indefinida.
Para realizar una acción, elija el clúster para mostrar sus detalles y, a continuación, elija Maintenance &
backups (Mantenimiento y copias de seguridad). Aparecerán los elementos de mantenimiento pendientes.
El periodo de mantenimiento determina el momento en que comienzan las operaciones pendientes, pero
no limita su tiempo de ejecución total. No existen garantías de que las operaciones de mantenimiento
finalicen antes de que termine el periodo de mantenimiento, de modo que pueden continuar más allá de la
hora de finalización establecida. Para obtener más información, consulte La ventana de mantenimiento de
Amazon RDS (p. 488).
Para obtener información acerca de actualizaciones de motores de Amazon Aurora e instrucciones para
actualizarlos y aplicarles parches, consulte Actualizaciones del motor de base de datos de Amazon Aurora
MySQL (p. 1170) y Actualizaciones de Amazon Aurora PostgreSQL (p. 1721).
484
Amazon Aurora Guía del usuario de Aurora
Vista de mantenimiento pendiente
Para ver si hay disponible una actualización de mantenimiento para un clúster de base de datos, puede
ejecutar el comando describe-pending-maintenance-actions de AWS CLI.
485
Amazon Aurora Guía del usuario de Aurora
Aplicación de actualizaciones
Consola
Para administrar la actualización de un clúster de base de datos
AWS CLI
Para aplicar una actualización pendiente a un clúster de base de datos, use el comando apply-pending-
maintenance-action de AWS CLI.
Example
Para Linux, macOS o Unix:
Para Windows:
Note
486
Amazon Aurora Guía del usuario de Aurora
Aplicación de actualizaciones
Para cancelar una acción de mantenimiento, ejecute el comando de la AWS CLI modify-db-
instance y especifique --no-auto-minor-version-upgrade.
Para obtener una lista de los recursos con al menos una actualización pendiente, use el comando
describe-pending-maintenance-actions de la AWS CLI.
Example
Para Windows:
También puede obtener una lista de recursos de un clúster de base de datos mediante la especificación
del parámetro --filters del comando describe-pending-maintenance-actions de AWS CLI. El
formato del comando --filters es Name=filter-name,Value=resource-id,....
Los valores aceptados para el parámetro Name de un filtro son los siguientes:
Por ejemplo, en el ejemplo siguiente se obtienen las operaciones de mantenimiento pendientes para los
clústeres de base de datos sample-cluster1 y sample-cluster2.
Example
Para Windows:
API de RDS
Para aplicar una actualización a un clúster de base de datos, llame a la operación
ApplyPendingMaintenanceAction de la API de Amazon RDS.
Para obtener una lista de los recursos con al menos una actualización pendiente, llame a la operación
DescribePendingMaintenanceActions de la API Amazon RDS.
487
Amazon Aurora Guía del usuario de Aurora
La ventana de mantenimiento de
RDS consumirá algunos de los recursos de su clúster de base de datos mientras se aplica el
mantenimiento. Es posible que observe un efecto mínimo en el desempeño. Para una instancia de base de
datos, en raras ocasiones puede ser necesaria una conmutación por error Multi-AZ para que se complete
una actualización de mantenimiento.
A continuación, puede encontrar los bloques de horas de cada región desde los que se asignan las
ventanas predeterminadas de mantenimiento.
488
Amazon Aurora Guía del usuario de Aurora
Ajuste de la ventana de mantenimiento
para un clúster de base de datos
Consola
O bien, elija Back para editar los cambios o Cancel para cancelarlos.
489
Amazon Aurora Guía del usuario de Aurora
Actualizaciones de versiones secundarias automáticas
para clústeres de base de datos de Aurora
AWS CLI
Para ajustar la ventana de mantenimiento preferida del clúster de base de datos, use el comando AWS CLI
de la modify-db-cluster con los siguientes parámetros:
• --db-cluster-identifier
• --preferred-maintenance-window
Example
En el siguiente ejemplo de código, el periodo de mantenimiento se define para los martes de 4:00 a 4:30
AM UTC.
Para Windows:
API de RDS
Para ajustar el periodo de mantenimiento preferida del clúster de base de datos, use la operación
ModifyDBCluster de la API de Amazon RDS con los siguientes parámetros:
• DBClusterIdentifier
• PreferredMaintenanceWindow
Esta configuración está activada de forma predeterminada. Para cada nuevo clúster, elija el valor
adecuado para esta configuración en función de su importancia, duración prevista y la cantidad de
pruebas de verificación que realice después de cada actualización.
Para obtener instrucciones sobre cómo activar o desactivar esta configuración, consulte Configuración
para Amazon Aurora (p. 408). En particular, asegúrese de aplicar la misma configuración a todas las
instancias de base de datos del clúster. Si alguna instancia de base de datos del clúster tiene esta
configuración desactivada, el clúster no se actualiza automáticamente.
Para obtener más información acerca de las actualizaciones de motor de Aurora PostgreSQL, consulte
Actualizaciones de Amazon Aurora PostgreSQL (p. 1721).
490
Amazon Aurora Guía del usuario de Aurora
Selección de frecuencia de actualizaciones
de mantenimiento de Aurora MySQL
Para obtener más información acerca de la configuración de Auto minor version upgrade (Actualización
automática de la versión secundaria) para Aurora MySQL, consulte Activación de actualizaciones
automáticas entre versiones secundarias de Aurora MySQL (p. 1175). Para obtener más información
general acerca de las actualizaciones del motor de Aurora MySQL, consulte Actualizaciones del motor de
base de datos de Amazon Aurora MySQL (p. 1170).
Podría elegir actualizar un clúster de Aurora MySQL rara vez si se aplican algunas o todas las condiciones
siguientes:
• El ciclo de prueba de su aplicación tarda mucho tiempo para cada actualización al motor de base de
datos de Aurora MySQL.
• Tiene muchos clústeres de base de datos o muchas aplicaciones ejecutándose en la misma versión de
Aurora MySQL. Prefiere actualizar todos sus clústeres de base de datos y aplicaciones asociadas al
mismo tiempo.
• Usa Aurora MySQL y RDS para MySQL, y prefiere mantener los clústeres de Aurora MySQL e instancias
de base de datos de RDS para MySQL compatibles con el mismo nivel de MySQL.
• Su aplicación de Aurora MySQL está en producción o bien es crítica para la empresa. No puede
permitirse períodos de inactividad para actualizaciones fuera de los raros casos para parches críticos.
• Su aplicación de Aurora MySQL no está limitada por problemas de rendimiento o falta de características
que se resuelven en versiones siguientes de Aurora MySQL.
Si los factores anteriores son aplicables a su caso, puede limitar el número de actualizaciones forzadas
para un clúster de base de datos de Aurora MySQL. Lo hace eligiendo una versión de Aurora MySQL
específica conocida como versión de «Soporte a largo plazo» (LTS) al crear o actualizar dicho clúster
de base de datos. Al hacerlo se minimiza el número de ciclos de actualización, ciclos de prueba e
interrupciones relacionadas con actualizaciones para dicho clúster de base de datos.
Podría elegir actualizar un clúster de Aurora MySQL frecuentemente si se aplican algunas o todas las
condiciones siguientes:
Si se aplican los factores anteriores a su situación, puede habilitar Aurora para aplicar actualizaciones
importantes con mayor frecuencia actualizando un clúster de base de datos de Aurora MySQL a una
versión de Aurora MySQL más reciente que la versión LTS. Al hacerlo las últimas mejoras de rendimiento,
correcciones de errores y características disponibles están disponibles para usted más rápidamente.
491
Amazon Aurora Guía del usuario de Aurora
Reinicio de un clúster o de una
instancia de base de datos de Aurora
El tiempo necesario para reiniciar cada instancia de base de datos del clúster depende de la actividad de
la base de datos en el momento del reinicio. También depende del proceso de recuperación del motor de
base de datos específico. Si resulta práctico, reduzca la actividad de la base de datos para esa instancia
en particular antes de iniciar el proceso de reinicio. Al hacerlo, se puede reducir el tiempo necesario para
reiniciar la base de datos.
Solo puede reiniciar cada instancia de base de datos del clúster cuando esté disponible. Una instancia
de base de datos puede no estar disponible por varios motivos. Estos incluyen el estado de detención del
clúster, una modificación que se aplica a la instancia y una acción de tiempo de mantenimiento, como, por
ejemplo, una actualización de versión.
Cuando se reinicia una instancia de base de datos, se reinicia el proceso del motor de la base de datos.
Al reiniciar una instancia de base de datos, se produce una interrupción momentánea, durante la cual su
estado se establece en rebooting.
Note
Por ejemplo, si la instancia de base de datos no está utilizando los cambios más recientes del
grupo de parámetros de base de datos asociado, la AWS Management Console muestra el
grupo de parámetros de base de datos con el estado pending-reboot. El estado de los grupos
de parámetros pending-reboot no genera un reinicio automático durante la siguiente ventana de
mantenimiento. Para aplicar los cambios de parámetros más recientes en esa instancia de base
de datos, reinicie manualmente la instancia de base de datos. Para obtener más información
acerca de los grupos de parámetros, consulte Trabajo con los grupos de parámetros de base de
datos y grupos de parámetros de clúster de base de datos (p. 369).
Temas
• Reinicio de una instancia de base de datos dentro de un clúster de Aurora (p. 492)
• Reinicio de un clúster de Aurora(Aurora PostgreSQL y Aurora MySQL antes de la versión
2.10) (p. 493)
• Reinicio de un clúster de Aurora MySQL (versión 2.10 y posteriores) (p. 494)
• Verificación del tiempo de actividad de clústeres e instancias de Aurora (p. 495)
• Ejemplos de operaciones de reinicio de Aurora (p. 497)
492
Amazon Aurora Guía del usuario de Aurora
Reinicio de un clúster de Aurora(Aurora PostgreSQL
y Aurora MySQL antes de la versión 2.10)
Console
Para reiniciar una instancia de base de datos
AWS CLI
Para reiniciar una instancia de base de datos mediante la AWS CLI, llame al comando reboot-db-
instance.
Example
Para Linux, macOS o Unix:
Para Windows:
API de RDS
Para reiniciar una instancia de base de datos mediante la Amazon RDS API, llame a la
RebootDBInstance operación.
Al reiniciar la instancia de base de datos del escritor, también se reinicia cada instancia de base de datos
del lector del clúster. De esta forma, los cambios de parámetros de todo el clúster se aplican a todas las
instancias de base de datos al mismo tiempo. Sin embargo, el reinicio de todas las instancias de base
de datos provoca una breve interrupción del clúster. Las instancias de base de datos del lector siguen
sin estar disponibles hasta que la instancia de base de datos del escritor termine de reiniciarse y esté
disponible.
En la consola de RDS, la instancia de base de datos del escritor tiene el valorWriter (Escritor) en
la columna Role (Rol) de la página Databases (Bases de datos). En la CLI de RDS, el resultado
del comando describe-db-clusters incluye una sección DBClusterMembers. El elemento
493
Amazon Aurora Guía del usuario de Aurora
Reinicio de un clúster de Aurora
MySQL (versión 2.10 y posteriores)
DBClusterMembers que representa la instancia de base de datos del escritor tiene un valor true para el
campo IsClusterWriter.
Important
Antes de Aurora MySQL 2.10, reiniciar la instancia principal provocaba el reinicio de cada instancia del
lector al mismo tiempo. Si el clúster de Aurora MySQL ejecuta una versión anterior, utilice el procedimiento
de reinicio descrito en Reinicio de un clúster de Aurora(Aurora PostgreSQL y Aurora MySQL antes de la
versión 2.10) (p. 493) en su lugar.
Important
Con frecuencia, reinicia el clúster después de realizar cambios en los grupos de parámetros del clúster.
Puede realizar cambios en los parámetros siguiendo los procedimientos descritos en Trabajo con los
grupos de parámetros de base de datos y grupos de parámetros de clúster de base de datos (p. 369).
Supongamos que reinicia la instancia de base de datos del escritor en un clúster de Aurora MySQL para
aplicar cambios a los parámetros del clúster. Es posible que algunas o todas las instancias de base
de datos del lector sigan utilizando la configuración de parámetros anterior. Sin embargo, las distintas
configuraciones de parámetros no afectan la integridad de los datos del clúster. Los parámetros de
clúster que afectan a la organización de los archivos de datos solo se utilizan por la instancia de base
de datos del escritor. Por ejemplo, puede actualizar los parámetros del clúster, como binlog_format y
innodb_purge_threads en la instancia del escritor antes de las instancias del lector. Solo la instancia
del escritor escribe registros binarios y purga registros de deshacer.
Para los parámetros que cambian la forma en que las consultas interpretan las instrucciones SQL o la
salida de las consultas, es posible que deba reiniciar inmediatamente las instancias del lector. Esto se
hace para evitar un comportamiento inesperado de la aplicación durante las consultas. Por ejemplo,
supongamos que cambia el parámetro lower_case_table_names y reinicia la instancia del escritor. En
este caso, es posible que las instancias del lector no puedan acceder a una tabla recién creada hasta que
se reinicien todas.
Para obtener una lista de todos los parámetros de clúster de Aurora MySQL, consult Parámetros de nivel
de clúster (p. 1128).
494
Amazon Aurora Guía del usuario de Aurora
Verificación del tiempo de actividad
de clústeres e instancias de Aurora
Tip
Aurora MySQL podría reiniciar algunas de las instancias del lector junto con la instancia del
escritor si el clúster tiene una carga de trabajo en proceso con un alto rendimiento.
La reducción en el número de reinicios se aplica también durante las operaciones de conmutación
por error. Aurora reinicia solo la instancia de base de datos del escritor y el destino de
conmutación por error durante una conmutación por error. Otras instancias de base de datos del
lector en el clúster siguen disponibles para continuar el procesamiento de consultas mediante
conexiones con el punto de enlace del lector. Por lo tanto, puede mejorar la disponibilidad durante
una conmutación por error si tiene más de una instancia de base de datos del lector en un clúster.
También puede examinar la métrica EngineUptime a nivel de clúster. Las dimensiones Minimum y
Maximum indican los valores de tiempo de actividad máximos y mínimos de todas las instancias de base
de datos del clúster. Para verificar la última vez en que se reinició cualquier instancia del lector de un
clúster normalmente o por otro motivo, monitoree la métrica de nivel de clúster mediante la dimensión
Minimum. Para verificar qué instancia del clúster duró más tiempo sin reiniciarse, monitoree la métrica de
nivel de clúster mediante la dimensión Maximum. Por ejemplo, puede que desee confirmar que todas las
instancias de base de datos del clúster se reiniciaron tras un cambio de configuración.
Tip
En los siguientes ejemplos de la CLI, se muestra cómo examinar la métrica EngineUptime de las
instancias del escritor y del lector de un clúster. En los ejemplos, se utiliza un clúster denominado
tpch100g. Este clúster tiene una instancia de base de datos del escritor instance-1234. También tiene
dos instancias de base de datos del lector: instance-7448 y instance-6305.
En primer lugar, el comando reboot-db-instance reinicia una de las instancias del lector. El comando
wait espera que la instancia termine de reiniciarse.
495
Amazon Aurora Guía del usuario de Aurora
Verificación del tiempo de actividad
de clústeres e instancias de Aurora
El tiempo de actividad mínimo del clúster se restablece a cero porque se reinició una de las instancias del
clúster. El tiempo de actividad máximo del clúster no se restablece porque al menos una de las instancias
de base de datos del clúster permaneció disponible.
A continuación, otro comando reboot-db-instance reinicia la instancia del escritor del clúster. Otro
comando wait realiza una pausa hasta que la instancia del escritor termine de reiniciarse.
Ahora, la métrica EngineUptime de la instancia del escritor muestra que la instancia instance-1234 se
reinició recientemente. La instancia del lector instance-6305 también se reinició automáticamente junto
con la instancia del escritor. Este clúster ejecuta la versión 2.09 de Aurora MySQL, lo que no mantiene las
instancias del lector en ejecución mientras se reinicia la instancia del escritor.
496
Amazon Aurora Guía del usuario de Aurora
Ejemplos de operaciones de reinicio de Aurora
Temas
• Búsqueda de instancias del escritor y del lector de un clúster de Aurora (p. 497)
• Reinicio de una única instancia del lector (p. 498)
• Reinicio de la instancia del escritor (p. 498)
• Reiniciar las instancias del lector y del escritor de forma independiente (p. 499)
• Aplicación de un cambio de parámetro de clúster a un clúster de Aurora MySQL versión 2.10 (p. 503)
Antes de comenzar con los ejemplos de reinicio, la instancia del escritor tiene un tiempo de actividad de
aproximadamente una semana. La consulta SQL de este ejemplo muestra una forma específica de MySQL
de verificar el tiempo de actividad. Puede utilizar esta técnica en una aplicación de base de datos. Para
obtener información sobre otra técnica que utiliza la AWS CLI y funciona para ambos motores de Aurora,
consulte Verificación del tiempo de actividad de clústeres e instancias de Aurora (p. 495).
497
Amazon Aurora Guía del usuario de Aurora
Ejemplos de operaciones de reinicio de Aurora
El reinicio de la instancia del lector no afectó al tiempo de actividad de la instancia del escritor. Aún tiene
un tiempo de actividad de aproximadamente una semana.
498
Amazon Aurora Guía del usuario de Aurora
Ejemplos de operaciones de reinicio de Aurora
Un comando wait realiza una pausa hasta que finaliza el reinicio. Ahora, el tiempo de actividad de esa
instancia se restablece a cero. Es posible que una operación de reinicio demore tiempos significativamente
diferentes para las instancias de base de datos del escritor y del lector. Las instancias de base de datos del
escritor y del lector realizan diferentes tipos de operaciones de limpieza en función de sus roles.
Tras el reinicio de la instancia de base de datos del escritor, también se restablece el tiempo de actividad
de ambas instancias de base de datos del lector. Reiniciar la instancia del escritor también reinicia las
instancias del lector. Este comportamiento se aplica a los clústeres de Aurora PostgreSQL y a los clústeres
de Aurora MySQL anteriores a la versión 2.10.
499
Amazon Aurora Guía del usuario de Aurora
Ejemplos de operaciones de reinicio de Aurora
También puede reiniciar las instancias del lector de una a la vez. De esta forma, al menos una instancia del
lector siempre estará disponible para el tráfico de consultas de la aplicación.
La verificación del valor del uptime de cada instancia de base de datos mediante el comando mysql
muestra que cada una tiene aproximadamente el mismo tiempo de actividad. Por ejemplo, aquí está el
tiempo de actividad de instance-5138.
Ahora, reiniciamos una de las instancias del lecto, instance-5138. Esperamos que la instancia vuelva
a estar disponible tras el reinicio. Ahora, el monitoreo del tiempo de actividad durante un periodo de cinco
500
Amazon Aurora Guía del usuario de Aurora
Ejemplos de operaciones de reinicio de Aurora
minutos muestra que el tiempo de actividad se restableció a cero durante ese tiempo. El valor de tiempo de
actividad más reciente se midió cinco segundos después de que finalizó el reinicio.
A continuación, ejecutamos un reinicio para la instancia del escrito, instance-9404. Comparamos los
valores de tiempo de actividad de la instancia del escritor y de una de las instancias del lector. Al hacerlo,
podemos ver que reiniciar el escritor no provocó un reinicio de los lectores. En versiones anteriores a la
2.10 de Aurora MySQL, los valores de tiempo de actividad de todos los lectores se restablecían al mismo
tiempo que el escritor.
Para asegurarse de que todas las instancias del lector tengan los mismos cambios en los parámetros
de configuración que la instancia del escritor, reinicie todas las instancias del lector después del escritor.
501
Amazon Aurora Guía del usuario de Aurora
Ejemplos de operaciones de reinicio de Aurora
En este ejemplo, se reinician todos los lectores y luego se espera que todos estén disponibles antes de
continuar.
Ahora podemos ver que la instancia de base de datos del escritor tiene el mayor tiempo de actividad.
El valor de tiempo de actividad de esta instancia aumentó constantemente durante todo el periodo de
monitoreo. Las instancias de base de datos del lector se reiniciaron después del lector. Podemos ver
el punto dentro del periodo de monitoreo en el que se reinició cada lector y su tiempo de actividad se
restableció a cero.
502
Amazon Aurora Guía del usuario de Aurora
Ejemplos de operaciones de reinicio de Aurora
En este ejemplo, se muestra cómo determinar las instancias del escritor y del lector del clúster al examinar
el atributo IsClusterWriter de cada instancia. El clúster se denomina cluster-2393. El clúster tiene
una instancia del escritor denominada instance-9404. Las instancias del lector del clúster se denominan
instance-5138 y instance-2470.
Para demostrar los efectos de cambiar el parámetro lower_case_table_names, definimos dos grupos
de parámetros de clúster de base de datos. El grupo de parámetros lower-case-table-names-0 tiene
este parámetro establecido en 0. El grupo de parámetros lower-case-table-names-1 tiene este grupo
de parámetros establecido en 1.
503
Amazon Aurora Guía del usuario de Aurora
Ejemplos de operaciones de reinicio de Aurora
--db-cluster-parameter-group-name lower-case-table-names-0 \
--parameters ParameterName=lower_case_table_names,ParameterValue=0,ApplyMethod=pending-
reboot
{
"DBClusterParameterGroupName": "lower-case-table-names-0"
}
504
Amazon Aurora Guía del usuario de Aurora
Ejemplos de operaciones de reinicio de Aurora
A continuación, asociamos el grupo de parámetros de base de datos con el clúster para establecer el
parámetro lower_case_table_names en 1. Este cambio solo tiene efecto después de reiniciar cada
instancia de base de datos.
El primer reinicio que ejecutamos es para la instancia de base de datos del escritor. Luego, esperamos
que la instancia vuelva a estar disponible. En ese momento, nos conectamos al punto de enlace del
escritor y verificamos que la instancia del escritor tenga el valor del parámetro modificado. El comando
SHOW TABLES confirma que la base de datos contiene las tres tablas diferentes. Sin embargo, todas las
consultas que hacen referencia a tablas denominadas foo, Foo o FOO acceden a la tabla cuyo nombre
está en minúsculas, foo.
Ahora, las consultas que utilizan el punto de enlace del clúster muestran los efectos del cambio de
parámetros. Ya sea que el nombre de la tabla de la consulta está en mayúsculas, minúsculas o ambas, la
instrucción SQL accederá a la tabla cuyo nombre está en minúsculas.
505
Amazon Aurora Guía del usuario de Aurora
Ejemplos de operaciones de reinicio de Aurora
+--------------------------+
| Lowercase table name foo |
+--------------------------+
En el siguiente ejemplo, se muestran las mismas consultas que la anterior. En este caso, las consultas
utilizan el punto de enlace del lector y se ejecutan en una de las instancias de base de datos del lector.
Todavía no se reiniciaron esas instancias. Por lo tanto, aún tienen la configuración original para el
parámetro lower_case_table_names. Esto significa que las consultas pueden acceder a cada una de
las tablas foo, Foo y FOO.
A continuación, reiniciamos una de las instancias del lector y esperamos que vuelva a estar disponible.
Mientras está conectado al punto de enlace de la instancia para instance-2470, una consulta muestra
que el nuevo parámetro está activo.
En este punto, las dos instancias del lector del clúster se ejecutan con diferentes configuraciones
lower_case_table_names. Por lo tanto, cualquier conexión con el punto de enlace del lector del clúster
506
Amazon Aurora Guía del usuario de Aurora
Ejemplos de operaciones de reinicio de Aurora
utiliza un valor para esta configuración que es impredecible. Es importante reiniciar inmediatamente la otra
instancia del lector para que ambas tengan una configuración coherente.
En el siguiente ejemplo se confirma que todas las instancias del lector tienen la misma configuración
para el parámetro lower_case_table_names. Los comandos verifican el valor de configuración de
lower_case_table_names para cada instancia del lector. A continuación, el mismo comando que utiliza
el punto de enlace del lector demuestra que cada conexión al punto de enlace del lector utiliza una de las
instancias del lector, pero no se puede predecir cuál de ellas.
$ mysql -h instance-5138.a12345.us-east-1.rds.amazonaws.com \
-u my-user -p -e 'select @@aurora_server_id, @@lower_case_table_names'
+--------------------------+--------------------------+
| @@aurora_server_id | @@lower_case_table_names |
+--------------------------+--------------------------+
| instance-5138 | 1 |
+--------------------------+--------------------------+
$ mysql -h instance-2470.a12345.us-east-1.rds.amazonaws.com \
-u my-user -p -e 'select @@aurora_server_id, @@lower_case_table_names'
+--------------------------+--------------------------+
| @@aurora_server_id | @@lower_case_table_names |
+--------------------------+--------------------------+
| instance-2470 | 1 |
+--------------------------+--------------------------+
$ mysql -h cluster-2393.cluster-ro-a12345.us-east-1.rds.amazonaws.com \
-u my-user -p -e 'select @@aurora_server_id, @@lower_case_table_names'
+--------------------------+--------------------------+
| @@aurora_server_id | @@lower_case_table_names |
+--------------------------+--------------------------+
| instance-5138 | 1 |
+--------------------------+--------------------------+
$ mysql -h cluster-2393.cluster-a12345.us-east-1.rds.amazonaws.com \
-u my-user -p -e 'select @@aurora_server_id, @@lower_case_table_names'
+--------------------------+--------------------------+
| @@aurora_server_id | @@lower_case_table_names |
+--------------------------+--------------------------+
| instance-9404 | 1 |
+--------------------------+--------------------------+
Con el cambio de parámetros aplicado en todas partes, podemos ver el efecto de la configuración
lower_case_table_names=1. Si la tabla se denomina foo, Foo o FOO, la consulta convierte el nombre
a foo y accede a la misma tabla en cada caso.
507
Amazon Aurora Guía del usuario de Aurora
Ejemplos de operaciones de reinicio de Aurora
| s |
+--------------------------+
| Lowercase table name foo |
+--------------------------+
508
Amazon Aurora Guía del usuario de Aurora
Eliminación de clústeres e instancias de Aurora
También se pueden eliminar instancias de base de datos de un clúster y, al mismo tiempo, mantener el
clúster en sí y los datos que contiene. Hacer esto puede ayudarle a reducir los cargos si el clúster no está
ocupado y no necesita la capacidad de cálculo de varias instancias de base de datos.
Temas
• Eliminación de un clúster de base de datos de Aurora (p. 509)
• Protección contra eliminación para clústeres de Aurora (p. 514)
• Eliminación de un clúster detenido de Aurora (p. 514)
• Eliminación de clústeres de Aurora MySQL que son réplicas de lectura (p. 514)
• La instantánea final al eliminar un clúster (p. 515)
• Eliminación de una instancia de base de datos de un clúster de base de datos de Aurora (p. 515)
Utilice el siguiente procedimiento general para eliminar todas las instancias de base de datos de un clúster
y, a continuación, elimine el clúster en sí.
1. Elimine todas las instancias de lector del clúster. Utilice el procedimiento en Eliminación de una
instancia de base de datos de un clúster de base de datos de Aurora (p. 515). Si el clúster tiene
alguna una instancia, al eliminar una de las instancias se reduce la capacidad de cálculo del mismo. Si
primero se eliminan las instancias de lector, se garantiza que el clúster permanezca disponible durante
todo el procedimiento y no realice operaciones de conmutación por error innecesarias.
2. Elimine la instancia de escritor del clúster. Utilice nuevamente el procedimiento en Eliminación de una
instancia de base de datos de un clúster de base de datos de Aurora (p. 515).
Si utiliza la AWS Management Console, este es el paso final. La eliminación de la instancia de base de
datos final en un clúster de base de datos a través de la consola elimina automáticamente el clúster de
base de datos y los datos del volumen del clúster. En este punto, Aurora le pide que cree opcionalmente
una instantánea antes de eliminar el clúster. Aurora también requiere que confirme que tiene intención
de eliminar el clúster.
3. Solo CLI y API: si elimina las instancias de base de datos utilizando la AWS CLI o la API de RDS,
el clúster y su volumen del clúster asociado permanecerán incluso después de eliminar todas las
instancias de base de datos. Para eliminar el clúster en sí, debe ejecutar el comando delete-db-
cluster de la CLI o a la operación DeleteDBCluster de la API cuando el clúster no tenga instancias
de base de datos asociadas. En este punto, puede elegir si desea crear una instantánea del volumen
del clúster. Si lo hace, se conservarán los datos del clúster si es posible que los necesite más adelante.
509
Amazon Aurora Guía del usuario de Aurora
Eliminación de un clúster de base de datos de Aurora
Temas
• Eliminación de un clúster de Aurora vacío (p. 510)
• Eliminación de un clúster de Aurora con una única instancia de base de datos (p. 510)
• Eliminación de un clúster Aurora con varias instancias de base de datos (p. 511)
Puede mantener un clúster sin instancias de base de datos para conservar los datos sin incurrir
en cargos por CPU por el clúster. Puede volver a utilizar rápidamente el clúster si crea una o más
instancias de base de datos nuevas para el clúster. Puede realizar operaciones administrativas
específicas de Aurora en el clúster siempre y cuando no tenga ninguna instancia de base de datos
asociada. No puede acceder a los datos ni realizar ninguna operación que requiera conectarse a
una instancia de base de datos.
Para eliminar un clúster de base de datos de Aurora vacío mediante la AWS CLI, llame al comando delete-
db-cluster.
Para eliminar un clúster de base de datos de Aurora vacío mediante la API de Amazon RDS, llame a la
operación DeleteDBInstance.
510
Amazon Aurora Guía del usuario de Aurora
Eliminación de un clúster de base de datos de Aurora
Para eliminar un clúster con varias instancias de base de datos de lector, primero debe eliminar las
instancias de lector y, luego, la instancia de escritor. Si utiliza la AWS Management Console, la eliminación
de la instancia de escritor elimina automáticamente el clúster más adelante. Si utiliza la AWS CLI o la API
511
Amazon Aurora Guía del usuario de Aurora
Eliminación de un clúster de base de datos de Aurora
de RDS, la eliminación de la instancia de escritor deja el clúster y sus datos en su lugar. En ese caso, debe
eliminar el clúster a través de un comando independiente o una operación de la API.
• Para ver el procedimiento para eliminar una instancia de base de datos de Aurora, consulte Eliminación
de una instancia de base de datos de un clúster de base de datos de Aurora (p. 515).
• Para ver el procedimiento para eliminar la instancia de base de datos de escritor en un clúster de Aurora,
consulte Eliminación de un clúster de Aurora con una única instancia de base de datos (p. 510).
• Para ver el procedimiento para eliminar un clúster vacío de Aurora, consulte Eliminación de un clúster de
Aurora vacío (p. 510).
En este ejemplo se muestra cómo eliminar un clúster que contiene una instancia de base de datos de
escritor y una única instancia de base de datos de lector. El resultado describe-db-clusters muestra
que instance-7384 es la instancia de escritor y instance-1039 es la instancia de lector. En el ejemplo
se elimina primero la instancia de lector, ya que eliminar la instancia de escritor mientras todavía existe
una instancia de lector provocaría una operación de conmutación por error. No tiene sentido promover la
instancia de lector a una de escritor si planea eliminar esa instancia también. Supongamos nuevamente
que estas instancias db.t2.small solo se utilizan para el desarrollo y la prueba, por lo que la operación
de eliminación omite la instantánea final.
En el siguiente ejemplo se muestra cómo eliminar un clúster de base de datos que contiene una instancia
de base de datos de escritor y varias instancias de base de datos de lector. Utiliza un resultado conciso
del comando describe-db-clusters para obtener un informe de las instancias de escritor y lector.
Nuevamente, eliminamos todas las instancias de base de datos de lector antes de eliminar la instancia
de base de datos de escritor. No importa el orden en que se eliminan las instancias de base de datos de
512
Amazon Aurora Guía del usuario de Aurora
Eliminación de un clúster de base de datos de Aurora
lector. Supongamos que este clúster con varias instancias de base de datos contiene datos que vale la
pena conservar. Por lo tanto, el comando delete-db-cluster de este ejemplo incluye los parámetros
--no-skip-final-snapshot y --final-db-snapshot-identifier para especificar los detalles de
la instantánea que se creará.
En el siguiente ejemplo se muestra cómo confirmar que Aurora creó la instantánea solicitada. Puede
solicitar detalles de la instantánea específica especificando su identificador deleteme-multiple-
readers-snapshot-11-7087. También puede obtener un informe de todas las instantáneas del
clúster que se eliminó especificando el identificador del clúster deleteme-multiple-readers. Ambos
comandos devuelven información sobre la misma instantánea.
513
Amazon Aurora Guía del usuario de Aurora
Protección contra eliminación para clústeres de Aurora
"AvailabilityZones": [],
"DBClusterSnapshotIdentifier": "deleteme-multiple-readers-snapshot-11-7087",
"DBClusterIdentifier": "deleteme-multiple-readers",
"SnapshotCreateTime": "11T01:40:07.354000+00:00",
"Engine": "aurora-mysql",
...
La protección contra eliminación se habilita de forma predeterminada cuando crea un clúster de base de
datos de producción con la AWS Management Console. Sin embargo, la protección contra eliminación está
deshabilitada de forma predeterminada si crea un clúster con la AWS CLI o la API. Habilitar o deshabilitar
la protección contra eliminación no provoca una interrupción. Para poder eliminar el clúster, modifique el
clúster y deshabilite la protección contra eliminación. Para obtener más información sobre la activación y
desactivación de la protección contra contraseña, consulte Modificación del clúster de base de datos con la
consola, CLI y API (p. 405).
Tip
Incluso si se eliminan todas las instancias de base de datos, puede acceder a los datos creando
una nueva instancia de base de datos en el clúster.
• El clúster de base de datos es una réplica de lectura de otro clúster de base de datos de Aurora.
• La instancia de base de datos es la única instancia en el clúster de base de datos.
Para eliminar una instancia de base de datos en este caso, primero promocione el clúster de bases de
datos para que deje de ser una réplica de lectura. Una vez finalizada la promoción, puede eliminar la
514
Amazon Aurora Guía del usuario de Aurora
La instantánea final al eliminar un clúster
instancia final de la base de datos en el clúster de bases de datos. Para obtener más información, consulte
Reproducción de clústeres de base de datos de Amazon Aurora MySQL entre regiones de AWS (p. 993).
Para eliminar una instancia de base de datos, debe especificar el nombre de la instancia.
Puede eliminar una instancia de base de datos mediante la consola de AWS Management Console, la
AWS CLI o la API de RDS.
Para los clústeres de base de datos de Aurora, eliminar una instancia de base de datos no necesariamente
elimina todo el clúster. Puede eliminar una instancia de base de datos de Aurora de un clúster para
reducir la capacidad de cómputo y los cargos asociados cuando el clúster no está ocupado. Para obtener
información acerca de las circunstancias especiales de los clústeres de Aurora que tienen una instancia de
base de datos o no tienen instancias de base de datos, consulte Eliminación de un clúster de Aurora con
una única instancia de base de datos (p. 510) y Eliminación de un clúster de Aurora vacío (p. 510).
Note
No se puede eliminar un clúster de base de datos cuando tiene habilitada la protección contra
eliminación. Para obtener más información, consulte Protección contra eliminación para clústeres
de Aurora (p. 514).
Puede deshabilitar la protección contra eliminación modificando el clúster de base de datos.
Para obtener más información, consulte Modificación de un clúster de base de datos de Amazon
Aurora (p. 405).
Console
Para eliminar una instancia de base de datos
515
Amazon Aurora Guía del usuario de Aurora
Eliminación de una instancia de base de datos
de un clúster de base de datos de Aurora
AWS CLI
Para eliminar una instancia de base de datos mediante la AWS CLI, llame al comando delete-db-instance y
especifique el valor --db-instance-identifier.
Example
Para Windows:
API de RDS
Para eliminar una instancia de base de datos con la API de Amazon RDS, llame a la operación
DeleteDBInstance y especifique el parámetro DBInstanceIdentifier.
Note
516
Amazon Aurora Guía del usuario de Aurora
Etiquetado de recursos de RDS
En particular, puede utilizar estas etiquetas con políticas de IAM para administrar el acceso a Amazon
RDS los recursos y controlar qué acciones se pueden aplicar a Amazon RDS ellos. También puede utilizar
estas etiquetas para realizar un seguimiento de los costos al agrupar los gastos de recursos etiquetados de
forma similar.
Note
Actualmente, no puede etiquetar los proxies de RDS y los puntos de conexión de RDS Proxy
mediante AWS Management Console.
Temas
• Información general de las etiquetas de recursos de Amazon RDS (p. 517)
• Uso de etiquetas para el control de acceso con IAM (p. 518)
• Uso de etiquetas para producir informes de facturación detallados (p. 519)
• Agregar, publicar y eliminar etiquetas (p. 519)
• Uso del editor de etiquetas de AWS (p. 522)
• Copia de etiquetas a instantáneas de clúster de base de datos (p. 522)
• Tutorial: Uso de etiquetas para especificar qué clústeres de base de datos de Aurora se deben
detener (p. 523)
517
Amazon Aurora Guía del usuario de Aurora
Uso de etiquetas para el control de acceso con IAM
puede usar etiquetas para asignar información arbitraria a un recurso de Amazon RDS. Puede usar claves
de etiqueta, por ejemplo, para definir una categoría, y el valor de la etiqueta puede ser un elemento dentro
de esa categoría. Por ejemplo, puede definir una clave de etiqueta "proyecto" y un valor de etiqueta "Salix"
para indicar que el recurso de Amazon RDS va asignado al proyecto Salix. Asimismo, puede utilizar
etiquetas para designar recursos de Amazon RDS para pruebas o para producción mediante una clave
como environment=test o environment=production. Se recomienda utilizar un conjunto coherente
de claves de etiqueta que facilite el seguimiento de los metadatos asociados a los recursos de Amazon
RDS.
Además, puede utilizar las condiciones de sus políticas de IAM para controlar el acceso a los recursos
de AWS en función de las etiquetas de ese recurso. Para ello, puede utilizar la clave de condición
aws:ResourceTag/tag-key global. Para obtener más información, consulte Control del acceso a
recursos de AWS en la Guía del usuario de AWS Identity and Access Management.
Cada recurso de Amazon RDS tiene un conjunto de etiquetas con todas las etiquetas asignadas a ese
recurso de Amazon RDS. Un conjunto de etiquetas puede contener hasta 50 etiquetas, y también puede
estar vacío. Si agrega una etiqueta a un recurso de Amazon RDS con la misma clave que una etiqueta
existente en el recurso, el nuevo valor sobrescribirá al antiguo.
AWS no aplica ningún significado semántico a las etiquetas, que se interpretan estrictamente como
cadenas de caracteres. Amazon RDS puede definir etiquetas en una instancia de base de datos u otros
recursos de Amazon RDS, según la configuración utilizada al crear el recurso. Por ejemplo, Amazon RDS
podría agregar una etiqueta en la que se indica que una instancia de base de datos es para producción o
para la realización de pruebas.
• La clave de la etiqueta es el nombre obligatorio de la etiqueta. El valor de la cadena puede tener una
longitud de entre 1 y 128 caracteres Unicode y no puede llevar el prefijo aws: ni rds:. La cadena puede
contener únicamente el conjunto de letras, dígitos y espacio en blanco, '_', '.', ':', '/', '=', '+', '-', '@' (Java
regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
• El valor de etiqueta es un valor de cadena optativo en la etiqueta. El valor de la cadena puede tener
una longitud de entre 1 y 256 caracteres Unicode y no puede llevar el prefijo aws:. La cadena puede
contener únicamente el conjunto de letras, dígitos y espacio en blanco, '_', '.', ':', '/', '=', '+', '-', '@' (Java
regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
Los valores no deben ser únicos dentro de un conjunto de etiquetas y también pueden ser nulos. Por
ejemplo, es posible tener en un conjunto de etiquetas los pares clave-valor project=Trinity y cost-
center=Trinity.
Puede utilizar la AWS Management Console, la interfaz de línea de comandos o la API de Amazon RDS
para agregar, enumerar y eliminar etiquetas de recursos de Amazon RDS. Si utiliza la interfaz de línea
de comandos o la API de Amazon RDS, deberá proporcionar el nombre de recurso de Amazon (ARN)
correspondiente al recurso de Amazon RDS con el que desee trabajar. Para obtener más información
sobre cómo crear un ARN, consulte Creación de un nombre ARN para Amazon RDS (p. 526).
Las etiquetas se almacenan en caché con fines de autorización. Por este motivo, cuando se actualizan o
se agregan valores a las etiquetas de recursos de Amazon RDS, pueden tardar varios minutos en estar
disponibles.
Para obtener más información sobre la administración del acceso a recursos etiquetados con políticas de
IAM, consulte Identity and access management en Amazon Aurora (p. 1857).
518
Amazon Aurora Guía del usuario de Aurora
Uso de etiquetas para producir
informes de facturación detallados
Puede usar etiquetas para organizar la factura de AWS de modo que refleje su propia estructura de
costos. Para ello, inscríbase para obtener una factura de la cuenta de AWS que incluya valores de clave
de etiquetas. A continuación, para ver los costos de los recursos combinados, organice la información
de facturación de acuerdo con los recursos con los mismos valores de clave de etiquetas. Por ejemplo,
puede etiquetar varios recursos con un nombre de aplicación específico y luego organizar su información
de facturación para ver el costo total de la aplicación en distintos servicios. Para obtener más información,
consulte Uso de etiquetas de asignación de costos en la Guía del usuario de AWS Billing and Cost
Management.
Note
Puede añadir una etiqueta a una instantánea, pero la factura no reflejará esta agrupación.
Consola
El proceso para etiquetar un recurso de Amazon RDS es similar para todos los recursos. El siguiente
procedimiento muestra cómo etiquetar una instancia de base de datos de Amazon RDS.
Para filtrar la lista de instancias de base de datos en el panel Databases (Bases de datos),
escriba una cadena de texto para Filter databases (Filtrar bases de datos). Solo aparecen
instancias de base de datos que contienen la cadena.
3. Seleccione el nombre de la instancia de base de datos que desea etiquetar para mostrar sus detalles.
4. En la sección de detalles, desplácese hasta la sección Tags (Etiquetas).
5. Elija Add (Añadir). Aparece la ventana Add tags (Añadir etiquetas).
519
Amazon Aurora Guía del usuario de Aurora
Agregar, publicar y eliminar etiquetas
Para filtrar la lista de instancias de base de datos en el panel Databases (Bases de datos),
escriba una cadena de texto en el cuadro Filter databases (Filtrar bases de datos). Solo
aparecen instancias de base de datos que contienen la cadena.
3. Seleccione el nombre de la instancia de base de datos para mostrar sus detalles.
4. En la sección de detalles, desplácese hasta la sección Tags (Etiquetas).
5. Elija la etiqueta desea eliminar.
6. Elija Delete (Eliminar) y después elija (Eliminar) en la ventana Delete tags (Eliminar etiquetas).
520
Amazon Aurora Guía del usuario de Aurora
Agregar, publicar y eliminar etiquetas
AWS CLI
Puede utilizar la para agregar, listar o eliminar etiquetas de una instancia de base de dato AWS CLI.
• Para agregar una o más etiquetas a un recurso de Amazon RDS, utilice el comando add-tags-to-
resource de la AWS CLI.
• Para ver una lista de las etiquetas de un recurso de Amazon RDS, utilice el comando list-tags-for-
resource de la AWS CLI.
• Para eliminar una o más etiquetas de un recurso de Amazon RDS, utilice el comando remove-tags-
from-resource de la AWS CLI.
Para obtener más información acerca de cómo crear el ARN requerido, consulte Creación de un nombre
ARN para Amazon RDS (p. 526).
API de RDS
Puede utilizar la API de Amazon RDS para agregar, listar o eliminar etiquetas de una instancia de base de
datos.
• Para añadir una etiqueta a un recurso de Amazon RDS, utilice la operación AddTagsToResource.
• Para ver una lista de las etiquetas asignadas a un recurso de Amazon RDS, utilice
ListTagsForResource.
• Para eliminar etiquetas de un recurso de Amazon RDS, utilice la operación
RemoveTagsFromResource.
Para obtener más información acerca de cómo crear el ARN requerido, consulte Creación de un nombre
ARN para Amazon RDS (p. 526).
Cuando se trabaja con XML mediante la API de Amazon RDS, las etiquetas utilizan el esquema siguiente:
<Tagging>
<TagSet>
<Tag>
<Key>Project</Key>
<Value>Trinity</Value>
</Tag>
<Tag>
<Key>User</Key>
<Value>Jones</Value>
</Tag>
</TagSet>
</Tagging>
La tabla siguiente proporciona una lista de las etiquetas XML permitidas y sus características. Los
valores de clave y de valor distinguen entre mayúsculas y minúsculas. Por ejemplo, proyecto=Trinity y
PROYECTO=Trinity son dos etiquetas diferentes.
Tag Las etiquetas son pares clave-valor que define el usuario. En un conjunto de
etiquetas puede haber entre 1 y 50 etiquetas.
521
Amazon Aurora Guía del usuario de Aurora
Uso del editor de etiquetas de AWS
Las claves deben ser únicas dentro de un conjunto de etiquetas. Por ejemplo,
en un conjunto de etiquetas no puede haber claves iguales pero con valores
diferentes, como proyecto/Trinity y proyecto/Xanadu.
Puede especificar que las etiquetas se copien en las instantáneas de base de datos para las siguientes
acciones:
Note
Si incluye un valor para el --tag-key parámetro del AWS CLI comando create-db-cluster-
snapshot (o proporciona al menos una etiqueta a la operación de API CreateDBClusterSnapshot
), RDS no copia etiquetas del clúster de base de datos de origen a la nueva base de datos
instantánea. Esta funcionalidad se aplica incluso si el clúster de base de datos de origen tiene
habilitada la opción --copy-tags-to-snapshot (CopyTagsToSnapshot). Si adopta este
enfoque, puede crear una copia de un clúster de base de datos a partir de una instantánea de
clúster de base de datos y evitar agregar etiquetas que no se apliquen al nuevo clúster de base de
522
Amazon Aurora Guía del usuario de Aurora
Tutorial: Uso de etiquetas para especificar qué
clústeres de base de datos de Aurora se deben detener
datos. Una vez que haya creado la instantánea de clúster de base de datos mediante el comando
create-db-cluster-snapshot de la AWS CLI (o la operación CreateDBSClusternapshot
de la API de Amazon RDS), puede agregar etiquetas como se describe más adelante en este
tema.
Los comandos y las API para etiquetar funcionan con los ARN. De esta forma, pueden funcionar
sin problemas en regiones de AWS, cuentas de AWS y diferentes tipos de recursos que pueden
tener nombres cortos idénticos. Puede especificar el ARN en lugar del ID de clúster en los comandos
CLI que operan en clústeres. Sustituya el nombre de su propio clúster por dev-test-cluster.
En comandos posteriores que utilicen parámetros ARN, sustituya el ARN de su propio clúster. El
ARN incluye el propio ID de cuenta de AWS y el nombre de la región de AWS donde se encuentra el
clúster.
Usted elige el nombre de esta etiqueta. El uso de una etiqueta como esta es una alternativa a la
concepción de una convención de nomenclatura que codifica toda la información relevante en el
nombre del clúster, instancia de base de datos, etc. Dado que en este ejemplo se trata la etiqueta
como un atributo presente o ausente, se omite la Value= parte del --tags parámetro.
Estos comandos recuperan la información de etiqueta para el clúster en formato JSON y en texto
plano separado por tabulaciones.
523
Amazon Aurora Guía del usuario de Aurora
Tutorial: Uso de etiquetas para especificar qué
clústeres de base de datos de Aurora se deben detener
"Value": ""
}
]
}
$ aws rds list-tags-for-resource \
--resource-name arn:aws:rds:us-east-1:123456789:cluster:dev-test-cluster --output
text
TAGLIST stoppable
4. Para detener todos los clústeres designados como stoppable, prepare una lista de todos los
clústeres. Recorra la lista y compruebe si cada clúster está etiquetado con el atributo correspondiente.
Este ejemplo de Linux utiliza scripts shell a fin de guardar la lista de las ARN de clúster en un archivo
temporal y, a continuación, ejecutar comandos de CLI para cada clúster.
Puede ejecutar un script como este al final de cada día para asegurarse de que los clústeres no esenciales
se detienen. También puede programar un trabajo al usar una utilidad como cron para realizar dicha
comprobación cada noche, en caso de que algunos clústeres siguieran en ejecución por error. En
ese caso, puede ajustar el comando que prepara la lista de clústeres para comprobar. El siguiente
comando produce una lista de los clústeres, pero sólo los que están en available estado. La secuencia
de comandos puede ignorar los clústeres que ya están detenidos, porque tendrán valores de estado
diferentes, como stopped o stopping.
524
Amazon Aurora Guía del usuario de Aurora
Tutorial: Uso de etiquetas para especificar qué
clústeres de base de datos de Aurora se deben detener
Tip
525
Amazon Aurora Guía del usuario de Aurora
Uso de ARN
arn:aws:rds:<region>:<account number>:<resourcetype>:<name>
rds-fips.us-east-2.amazonaws.com HTTPS
rds-fips.us-east-1.amazonaws.com HTTPS
rds-fips.us-west-1.amazonaws.com HTTPS
rds-fips.us-west-2.amazonaws.com HTTPS
526
Amazon Aurora Guía del usuario de Aurora
Creación de un nombre ARN
rds-fips.ca-central-1.amazonaws.com HTTPS
527
Amazon Aurora Guía del usuario de Aurora
Creación de un nombre ARN
En la siguiente tabla se muestra el formato que debe utilizar al crear un ARN para un tipo de recurso
concreto de Amazon RDS.
Por ejemplo:
arn:aws:rds:us-east-2:123456789012:db:my-mysql-instance-1
Por ejemplo:
arn:aws:rds:us-east-2:123456789012:cluster:my-aurora-
cluster-1
Por ejemplo:
arn:aws:rds:us-east-2:123456789012:es:my-subscription
arn:aws:rds:us-east-2:123456789012:pg:my-param-enable-logs
arn:aws:rds:us-east-2:123456789012:cluster-pg:my-cluster-
param-timezone
528
Amazon Aurora Guía del usuario de Aurora
Obtención de un ARN existente
arn:aws:rds:us-east-2:123456789012:ri:my-reserved-
postgresql
arn:aws:rds:us-east-2:123456789012:secgrp:my-public
arn:aws:rds:us-east-2:123456789012:snapshot:rds:my-mysql-
db-2019-07-22-07-23
arn:aws:rds:us-east-2:123456789012:cluster-snapshot:rds:my-
aurora-cluster-2019-07-22-16-16
arn:aws:rds:us-east-2:123456789012:snapshot:my-mysql-db-
snap
arn:aws:rds:us-east-2:123456789012:cluster-snapshot:my-
aurora-cluster-snap
arn:aws:rds:us-east-2:123456789012:subgrp:my-subnet-10
529
Amazon Aurora Guía del usuario de Aurora
Obtención de un ARN existente
Consola
Para obtener un ARN desde la AWS Management Console, vaya al recurso cuyo ARN desea obtener y
consulte los detalles de ese recurso. Por ejemplo, puede obtener el ARN de una instancia de base de
datos desde la pestaña Configuration (Configuración) de los detalles de la instancia de base de datos,
como se muestra a continuación.
AWS CLI
Para obtener el ARN de un recurso concreto de RDS desde la AWS CLI, se utiliza el comando describe
con dicho recurso. En la siguiente tabla se muestran los distintos comandos de AWS CLI, junto con la
propiedad ARN que se utiliza con el comando para obtener un ARN.
530
Amazon Aurora Guía del usuario de Aurora
Obtención de un ARN existente
describe-event-subscriptions EventSubscriptionArn
describe-certificates CertificateArn
describe-db-parameter-groups DBParameterGroupArn
describe-db-cluster-parameter-groups DBClusterParameterGroupArn
describe-db-instances DBInstanceArn
describe-db-security-groups DBSecurityGroupArn
describe-db-snapshots DBSnapshotArn
describe-events SourceArn
describe-reserved-db-instances ReservedDBInstanceArn
describe-db-subnet-groups DBSubnetGroupArn
describe-db-clusters DBClusterArn
describe-db-cluster-snapshots DBClusterSnapshotArn
Por ejemplo, el siguiente comando de la AWS CLI obtiene el ARN de una instancia de base de datos.
Example
Para Windows:
[
{
"DBInstanceArn": "arn:aws:rds:us-west-2:account_id:db:instance_id",
"DBInstanceIdentifier": "instance_id"
}
]
API de RDS
Para obtener el ARN de un recurso concreto de RDS, puede llamar a las siguientes operaciones de la API
de RDS y utilizar las propiedades ARN que se muestran a continuación.
531
Amazon Aurora Guía del usuario de Aurora
Obtención de un ARN existente
DescribeEventSubscriptions EventSubscriptionArn
DescribeCertificates CertificateArn
DescribeDBParameterGroups DBParameterGroupArn
DescribeDBClusterParameterGroups DBClusterParameterGroupArn
DescribeDBInstances DBInstanceArn
DescribeDBSecurityGroups DBSecurityGroupArn
DescribeDBSnapshots DBSnapshotArn
DescribeEvents SourceArn
DescribeReservedDBInstances ReservedDBInstanceArn
DescribeDBSubnetGroups DBSubnetGroupArn
DescribeDBClusters DBClusterArn
DescribeDBClusterSnapshots DBClusterSnapshotArn
532
Amazon Aurora Guía del usuario de Aurora
Actualizaciones de Aurora
MySQL de Amazon Aurora Consulte Actualizaciones del motor de base de datos de Amazon
Aurora MySQL (p. 1170)
PostgreSQL de Amazon Aurora Consulte Actualizaciones de Amazon Aurora PostgreSQL (p. 1721)
Una instancia de base de datos de Aurora tiene dos números de versión: el número de versión de Aurora y
el número de versión del motor de la base de datos de Aurora: Los números de versión de Aurora usan el
siguiente formato.
Para obtener el número de versión de Aurora a partir de una instancia de base de datos de Aurora
mediante un motor de base de datos determinado, use una de las siguientes consultas.
SHOW @@aurora_version;
533
Amazon Aurora Guía del usuario de Aurora
Identificación de su versión de Amazon Aurora
534
Amazon Aurora Guía del usuario de Aurora
Temas
• Información general de copias de seguridad y restauración de un clúster de base de datos
Aurora (p. 536)
• Descripción del uso de almacenamiento de copias de seguridad en Aurora (p. 540)
• Creación de una instantánea de clúster de base de datos (p. 542)
• Restauración de una instantánea de clúster de base de datos (p. 545)
• Copia de una instantánea de clúster de base de datos (p. 548)
• Compartir una instantánea de clúster de base de datos (p. 559)
• Exportación de datos de instantáneas de bases de datos a Amazon S3 (p. 568)
• Restauración de un clúster de base de dato a un momento indicado (p. 588)
• Eliminación de una instantánea de clúster de base de datos (p. 591)
535
Amazon Aurora Guía del usuario de Aurora
Información general de copias de seguridad y restauración
Copias de seguridad
Aurora crea copias de seguridad del volumen de clúster automáticamente y retiene los datos de
restauración durante la duración del periodo de retención de copia de seguridad. Las copias de seguridad
de Aurora son continuas y progresivas para que se pueda restaurar con rapidez a cualquier punto durante
el periodo de retención de copia de seguridad. No se produce ningún impacto en el desempeño ni ninguna
interrupción del servicio de base de datos durante la escritura de los datos de copia de seguridad. Puede
especificar un periodo de retención de copia de seguridad de 1 a 35 días cuando cree o modifique un
clúster de base de datos. Las copias de seguridad de Aurora se almacenan en Amazon S3.
Si desea conservar una copia de seguridad más allá del periodo de retención de copia de seguridad,
también puede crear un snapshot de los datos del volumen de clúster. Como Aurora conserva datos de
restauración incrementales durante todo el periodo de retención de copia de seguridad, solo tiene que
crear un snapshot para los datos que desee conservar más allá del periodo de retención de copia de
seguridad. Puede crear un nuevo clúster de base de datos a partir de la instantánea.
Note
• Para todos los clústeres de base de datos de Amazon Aurora, el periodo de retención de copia
de seguridad predeterminado es de un día con independencia del procedimiento empleado para
crear el clúster.
• No es posible desactivar las copias de seguridad automatizadas en Aurora. El clúster de base
de datos administra el período de retención de copia de seguridad para Aurora.
También puede utilizar AWS Backup para administrar copias de seguridad de clústeres de
base de datos de Amazon Aurora. Las copias de seguridad administradas por AWS Backup se
consideran instantáneas del clúster de base de datos manuales, pero no se cuentan para la
cuota de instantáneas del clúster de base de datos para Aurora. Las copias de seguridad que
se crearon con AWS Backup tienen nombres que terminan en awsbackup:AWS-Backup-job-
536
Amazon Aurora Guía del usuario de Aurora
Backup window
number. Para obtener más información AWS Backup, consulte la Guía del desarrolladorAWS de
copiasde seguridad.
Backup window
Los backups automatizados se producen a diario durante la ventana de copia de seguridad preferida. Si la
la copia de seguridad requiere más tiempo del asignado a la ventana de copia de seguridad, la copia de
seguridad continúa cuando finaliza la ventana hasta que se completa. El periodo de copia de seguridad no
se puede solapar con el periodo de mantenimiento semanal del clúster de base de datos.
Las copias de seguridad Aurora son continuas e incrementales, pero la ventana de copia de seguridad
se utiliza para crear una copia de seguridad diaria del sistema que se conserva dentro del período de
retención de la copia de seguridad. Puede copiarlo para conservarlo fuera del período de retención.
Note
Cuando crea un clúster de base de datos mediante AWS Management Console, no puede
especificar una ventana de copia de seguridad. Sin embargo, puede especificar una ventana de
copia de seguridad al crear un clúster de base de datos mediante la API AWS CLI o RDS.
Si no especifica un período de copia de seguridad preferido al crear el clúster de base de datos, Aurora
asigna un período de copia de seguridad predeterminado de 30 minutos. Este periodo se selecciona al
azar dentro de un bloque de 8 horas por cada región de AWS. En la tabla siguiente se enumeran los
bloques de tiempo para cada AWS región desde la que se asignan las ventanas de copia de seguridad
predeterminadas.
537
Amazon Aurora Guía del usuario de Aurora
Restauración de datos
Restauración de datos
Puede recuperar sus datos creando un nuevo clúster de base de datos Aurora a partir de los datos de
copias de seguridad conservados por Aurora; o de una instantánea de clúster de base de datos que haya
guardado. Puede restaurar rápidamente una nueva copia del clúster de base de datos creada a partir de
los datos de backup de cualquier momento dado durante el periodo de retención de copia de seguridad.
La naturaleza continua e incremental de las copias de seguridad de Aurora durante el periodo de retención
de copia de seguridad implica que no es necesario realizar instantáneas de los datos con demasiada
frecuencia para mejorar los tiempos de restauración.
Para determinar el primer o el último momento para el que se puede restaurar un clúster de base de datos,
busque los valores Latest restore time o Earliest restorable time en la consola de RDS.
Para obtener más información acerca de cómo ver estos valores, consulte Visualización de un clúster de
base de datos de Amazon Aurora (p. 599). El último momento que se puede restaurar para un clúster
de base de datos es el punto más reciente en el que se puede restaurar dicho clúster, normalmente en
los cinco minutos previos a la hora actual. El momento más antiguo que se puede restaurar especifica el
primer momento del periodo de retención de copia de seguridad para el que se puede restaurar el volumen
del clúster.
Para obtener más información acerca la restauración de un clúster de base de datos a un momento
especificado, consulte Restauración de un clúster de base de dato a un momento indicado (p. 588).
538
Amazon Aurora Guía del usuario de Aurora
Backtrack
Backtrack
Aurora MySQL ahora admite "rebobinar" un clúster de base de datos a un momento específico, sin
restaurar datos desde una copia de seguridad. Para obtener más información, consulte Búsqueda de datos
anteriores de un clúster de base de datos de Aurora (p. 878).
539
Amazon Aurora Guía del usuario de Aurora
Almacenamiento de copia de seguridad
Para controlar los costos, puede monitorizar la cantidad de almacenamiento consumido por las copias
de seguridad continuas y las instantáneas manuales que persistan más allá del periodo de retención. A
continuación, puede reducir el intervalo de retención de copia de seguridad y eliminar las instantáneas
manuales cuando ya no las necesite.
Puede monitorear los clústeres de Aurora y crear informes que utilicen las métricas de CloudWatch con la
consola de CloudWatch. Para obtener más información acerca de cómo usar las métricas de CloudWatch,
consulte Disponibilidad de métricas de Aurora en la consola de Amazon RDS. (p. 637).
La configuración de búsqueda de datos anteriores para un clúster de base de datos de Aurora no afecta
el volumen de datos de copias de seguridad para ese clúster. Amazon factura el almacenamiento para
540
Amazon Aurora Guía del usuario de Aurora
Almacenamiento de copia de seguridad
datos de búsquedas anteriores por separado. También encontrará la información de precios de búsquedas
anteriores en la página Precios de Amazon Aurora.
Si comparte una instantánea con otro usuario, seguirá siendo el propietario de ella. Los costos de
almacenamiento se aplican al propietario de la instantánea. Si elimina una instantánea compartida de su
propiedad, nadie podrá acceder a ella. Para mantener el acceso a una instantánea compartida propiedad
de otra persona, puede copiar la contraseña. Este procedimiento lo convierte en el propietario de la nueva
contraseña. Los costos de almacenamiento para la instantánea copiada se aplican a su cuenta.
541
Amazon Aurora Guía del usuario de Aurora
Creación de una instantánea de clúster de base de datos
A diferencia de las copias de seguridad automatizadas, las instantáneas manuales no están sujetas al
periodo de retención de copia de seguridad. Las instantáneas no caducan.
Para copias de seguridad a largo plazo, se recomienda exportar datos de instantáneas a Amazon S3. Si
la versión principal de su motor de base de datos ya no es compatible, no puede restaurar a esa versión
desde una instantánea. Para obtener más información, consulte Exportación de datos de instantáneas de
bases de datos a Amazon S3 (p. 568).
Puede crear una instantánea de clúster de base de datos usando la AWS Management Console, la AWS
CLI o la API de RDS.
Consola
Para crear una instantánea de clúster de base de datos
542
Amazon Aurora Guía del usuario de Aurora
Creación de una instantánea de clúster de base de datos
AWS CLI
Cuando se crea una instantánea de un clúster de base de datos con la AWS CLI, se debe identificar el
clúster de base de datos cuya copia de seguridad se va a realizar y, a continuación, se debe asignar un
nombre a la instantánea del clúster de base de datos para poder restaurarla posteriormente. Puede hacerlo
utilizando el comando AWS CLI de la create-db-cluster-snapshot con los siguientes parámetros:
• --db-cluster-identifier
• --db-cluster-snapshot-identifier
Example
Para Windows:
API de RDS
Cuando se crea una instantánea de un clúster de base de datos con la API de Amazon RDS, se debe
identificar el clúster de base de datos cuya copia de seguridad se va a realizar y, a continuación, se debe
asignar un nombre a la instantánea del clúster de base de datos para poder restaurarla posteriormente.
543
Amazon Aurora Guía del usuario de Aurora
Determinación de si la instantánea está disponible
Para ello, use el comando CreateDBClusterSnapshot de la API de Amazon RDS con los siguientes
parámetros:
• DBClusterIdentifier
• DBClusterSnapshotIdentifier
544
Amazon Aurora Guía del usuario de Aurora
Restauración de una instantánea
de clúster de base de datos
Puede usar el clúster de la de base de datos restaurados tan pronto como su estado sea available. La
instancia de base de datos continúa cargando datos en segundo plano.
Puede usar AWS CloudFormation para restaurar un clúster de base de datos desde una instantánea
de clúster de base de datos. Para obtener más información, consulte AWS::RDS::DBCluster en la AWS
CloudFormationGuía del usuario.
Note
Si se comparte una instantánea manual de un clúster de base de datos, ya sea cifrada o sin cifrar,
las cuentas autorizadas de AWS podrán restaurar directamente un clúster de base de datos
a partir de la instantánea en lugar de hacer una copia de ella y restaurarla. Para obtener más
información, consulte Compartir una instantánea de clúster de base de datos (p. 559).
Para obtener más información acerca de los grupos de parámetros de base de datos y grupos de
parámetros de clúster de base de datos, consulte Trabajo con los grupos de parámetros de base de datos
y grupos de parámetros de clúster de base de datos (p. 369).
• Si utiliza la consola de Amazon RDS, puede especificar un grupo de seguridad de VPC personalizado
para asociarlo con el clúster o crear un nuevo grupo de seguridad de la VPC.
• Si utiliza AWS CLI, puede especificar un grupo de seguridad de VPC personalizado para asociarlo con
el clúster. Para ello, incluya la opción --vpc-security-group-ids en el comando restore-db-
cluster-from-snapshot.
• Si está utilizando la API de Amazon RDS, puede incluir el parámetro
VpcSecurityGroupIds.VpcSecurityGroupId.N en la acción
VpcSecurityGroupIds.VpcSecurityGroupId.N.
545
Amazon Aurora Guía del usuario de Aurora
Consideraciones sobre Aurora
En cuanto finalice la restauración y su nuevo cluster de base de datos esté disponible, también puede
cambiar la configuración de la VPC mediante la modificación de cluster de base de datos. Para obtener
más información, consulte Modificación de un clúster de base de datos de Amazon Aurora (p. 405).
Con Aurora MySQL y Aurora PostgreSQL, puede restaurar una instantánea de un clúster de base de
datos en un clúster de base de datos de Aurora Serverless. Para obtener más información, consulte .
Restauración de un clúster de base de datos de Aurora Serverless v1 (p. 183).
Con Aurora MySQL, puede restaurar una instantánea de clúster de base de datos desde un clúster sin
una consulta paralela a un clúster con consulta paralela. Debido a que la consulta paralela generalmente
se usa con tablas muy grandes, el mecanismo de instantáneas es la forma más rápida de ingerir grandes
volúmenes de datos en un clúster habilitado para consultas paralelas de Aurora MySQL. Para obtener más
información, consulte Trabajar con consultas paralelas de Amazon Aurora MySQL (p. 948).
Consola
Para restaurar un clúster de base de datos desde una instantánea de clúster de base de datos
AWS CLI
Para restaurar un clúster de base de datos desde una instantánea de clúster de base de datos, use el
comando restore-db-cluster-from-snapshot de la AWS CLI.
En este ejemplo, se restaura a partir de una instantánea de clúster de base de datos creada previamente
con el nombre mydbclustersnapshot. Restaura a un clúster de base de datos nuevo con el nombre
mynewdbcluster.
Example
546
Amazon Aurora Guía del usuario de Aurora
Restauración a partir de una instantánea
Para Windows:
Una vez restaurado el clúster de base de datos, debe añadirlo al grupo de seguridad que utilizaba el
clúster de base de datos empleado para crear la instantánea de base de datos si desea tener la misma
funcionalidad del clúster de base de datos anterior.
Important
Si usa la consola para restaurar un clúster de base de datos, Amazon RDS crea automáticamente
la instancia principal (de escritura) del clúster de base de datos. Si usa la AWS CLI para restaurar
un clúster de base de datos, debe crear expresamente la instancia principal del clúster de base de
datos. La instancia principal es la primera instancia que se crea en un clúster de base de datos.
Llame al comando create-db-instance de la AWS CLI para crear la instancia principal del clúster
de base de datos. Incluya el nombre del clúster de base de datos como valor de la opción --db-
cluster-identifier.
API de RDS
Para restaurar un clúster de base de datos desde una instantánea de clúster de base de datos, llame a la
operación de API RDS RestoreDBClusterFromSnapshot con los parámetros siguientes:
• DBClusterIdentifier
• SnapshotIdentifier
Important
Si usa la consola para restaurar un clúster de base de datos, Amazon RDS crea automáticamente
la instancia principal (de escritura) del clúster de base de datos. Si usa la API de RDS para
restaurar un clúster de base de datos, debe crear expresamente la instancia principal del clúster
de base de datos. La instancia principal es la primera instancia que se crea en un clúster de base
de datos. Llame a la operación de API de RDS CreateDBInstance para crear la instancia principal
para el clúster de base de datos. Incluya el nombre del clúster de base de datos como valor del
parámetro DBClusterIdentifier.
547
Amazon Aurora Guía del usuario de Aurora
Copia de una instantánea
Puede copiar una instantánea en la misma AWS región, entre AWS regiones y puede copiar instantáneas
compartidas.
No puede copiar una instantánea de clúster de base de datos entre regiones y cuentas en un solo paso.
Lleve a cabo un paso para cada una de estas acciones de copia. Como alternativa a la copia, también
puede compartir instantáneas manuales con otras cuentas de AWS. Para obtener más información,
consulte Compartir una instantánea de clúster de base de datos (p. 559).
Note
Limitaciones
A continuación se indican algunas limitaciones al copiar instantáneas:
• No puede copiar una instantánea en o desde las siguientes regiones China (Pekín) o China (Ningxia).
• Puede copiar una instantánea entre AWS GovCloud (EE. UU. Este) y AWS GovCloud (EE. UU. Oeste).
Sin embargo, no puede copiar una instantánea entre estas regiones de AWS GovCloud (US) y las
regiones comerciales de AWS.
• Si elimina una instantánea de origen antes de que la instantánea de destino esté disponible, la copia
de la instantánea podría generar un error. Compruebe que la instantánea de destino tiene el estado
AVAILABLE antes de eliminar una instantánea de origen.
• Puede tener hasta cinco solicitudes de copia de instantánea en curso en una única región de destino por
cuenta.
• Dependiendo de las AWS regiones implicadas y de la cantidad de datos que se vayan a copiar, una
copia de instantánea entre regiones puede tardar horas en completarse. En algunos casos, puede
haber un gran número de solicitudes de copia de instantáneas entre regiones desde una región. En
estos casos, Amazon RDS puede poner nuevas solicitudes de copia entre regiones desde esa región
de origen en una cola hasta que alguna de las copias en curso se complete. No se muestra ninguna
información de progreso sobre las solicitudes de copia mientras están en la cola. La información de
progreso se muestra cuando comienza la copia.
Retención de instantáneas
Amazon RDS elimina copias de seguridad automatizadas en varias situaciones:
548
Amazon Aurora Guía del usuario de Aurora
Copia de instantáneas compartidas
Si desea conservar una copia de seguridad automatizada durante un periodo más largo, cópiela para
crear una instantánea manual que se conservará hasta que la elimine. Es posible que los costos de
almacenamiento de Amazon RDS se apliquen a las instantáneas manuales si exceden el espacio de
almacenamiento predeterminado.
Para obtener más información acerca de los costos de almacenamiento de copias de seguridad, consulte
Precios de Amazon RDS.
Solo puede copiar una instantánea de clúster de base de datos compartidos, cifrada o no, en la misma
región de AWS. Para obtener más información, consulte Cómo compartir instantáneas cifradas (p. 560).
Si copia una instantánea cifrada entre regiones, debe especificar una clave de KMS valida en la región de
AWS de destino. Puede ser una clave de KMS específica de la región o una clave de varias regiones. Para
obtener más información sobre las claves de varias regiones, consulte Uso de claves de varias regiones en
AWS KMS.
La instantánea de origen permanece cifrada durante todo el proceso de copia. Para obtener
más información, consulte Limitaciones de clústeres de Amazon Aurora con cifrado de bases de
datos (p. 1843).
Note
Para instantáneas del clúster de base de datos Amazon Aurora, no es posible cifrar una
instantánea del clúster de base de datos sin cifrar al copiar la instantánea.
La copia de instantáneas de clúster de base de datos entre regiones no se admite en las siguientes AWS
regiones:
549
Amazon Aurora Guía del usuario de Aurora
Grupos de parámetros
Dependiendo de las AWS regiones implicadas y de la cantidad de datos que se vayan a copiar, una copia
de instantánea entre regiones puede tardar horas en completarse.
En algunos casos, puede haber un gran número de solicitudes de copia de instantáneas entre regiones
desde una AWS región. En estos casos, Amazon RDS puede poner nuevas solicitudes de copia entre
regiones desde esa región de origen de AWS en una cola hasta que alguna de las copias en curso se
complete. No se muestra ninguna información de progreso sobre las solicitudes de copia mientras están en
la cola. La información de progreso se muestra cuando comienza la copia.
1. En la región AWS de destino, cree un grupo de parámetros del clúster de base de datos con la misma
configuración que de base de datos. Si ya existe uno en la nueva región AWS, puede usarlo.
2. Después de restaurar la instantánea en la región AWS de destino, modifique de instancia de base de
datos y agregue el grupo de parámetros nuevo o ya existente del paso anterior.
Para cada cuenta AWS, puede copiar hasta cinco instantáneas de clúster de base de datos a la vez de
una región AWS a otra. Puede copiar instantáneas de clúster de base de datos cifradas y sin cifrar. Si
copia una instantánea de clúster de base de datos en otra región AWS crea una instantánea de clúster
de base de datos manual que se conserva en esa región AWS. Al copiar una instantánea de clúster de
base de datos fuera de la región de AWS de origen, se producen cargos por transferencia de datos de
Amazon RDS.
Para obtener más información acerca de los precios de las transferencias de datos, consulte Precios de
Amazon RDS.
Una vez que la copia de la instantánea de clúster de base de datos se ha creado en la nueva región AWS,
se comporta como los demás instantáneas de clúster de base de datos de esa región AWS.
Consola
Este procedimiento sirve para copiar instantáneas de clúster de base de datos cifradas o sin cifrar, en la
misma región AWS o entre regiones.
Para cancelar una operación de copia una vez que está en curso, elimine la instantánea del clúster de
base de datos de destino mientras está en el estado copying.
550
Amazon Aurora Guía del usuario de Aurora
Copia de una instantánea de clúster de base de datos
5. (Opcional) Para copiar la instantánea de clúster de base de datos en una región AWS diferente, elija
esa región AWS en Destination Region (Región de destino).
6. Escriba el nombre de la copia de la instantánea del clúster de base de datos en New DB Snapshot
Identifier (Nuevo identificador de instantánea de base de datos).
7. Para copiar las etiquetas y los valores de la instantánea en la copia de la instantánea, elija Copy Tags.
8. Elija Copy Snapshot.
Para cancelar una operación de copia una vez que está en curso, elimine la instantánea del clúster
de base de datos de destino identificado por --target-db-cluster-snapshot-identifier o
TargetDBClusterSnapshotIdentifier mientras está en el estado copying.
551
Amazon Aurora Guía del usuario de Aurora
Copia de una instantánea de clúster de base de datos
AWS CLI
Para copiar una instantánea de clúster de base de datos, utilice el comando AWS CLI de la copy-db-
cluster-snapshot. Si desea copiar la instantánea en otra región AWS , ejecute el comando en la región
AWS en la que se va a copiar la instantánea.
Las siguientes opciones se usan para copiar una instantánea de clúster de base de datos sin cifrar:
El código siguiente crea una copia de la instantánea del clúster de base de datos arn:aws:rds:us-
east-1:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20130805 llamado
myclustersnapshotcopy en la región AWS en la que se ejecuta el comando. Cuando se crea la copia,
todas las etiquetas de la instantánea original se copian en la copia de la instantánea.
Example
Para Windows:
API de RDS
Para copiar una instantánea de clúster de base de datos, utilice la operación CopyDBClusterSnapshot
de la API de Amazon RDS. Si desea copiar la instantánea en otra región AWS, lleve a cabo la acción en la
región AWS en la que se va a copiar la instantánea.
Los siguientes parámetros se usan para copiar una instantánea de clúster de base de datos sin cifrar:
552
Amazon Aurora Guía del usuario de Aurora
Copia de una instantánea de clúster de base de datos
Example
https://rds.us-west-1.amazonaws.com/
?Action=CopyDBClusterSnapshot
&CopyTags=true
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&SourceDBSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-east-1%3A123456789012%3Acluster-
snapshot%3Aaurora-cluster1-snapshot-20130805
&TargetDBSnapshotIdentifier=myclustersnapshotcopy
&Version=2013-09-09
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20140429/us-west-1/rds/aws4_request
&X-Amz-Date=20140429T175351Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2
Para cancelar una operación de copia una vez que está en curso, elimine la instantánea del clúster
de base de datos de destino identificado por --target-db-cluster-snapshot-identifier o
TargetDBClusterSnapshotIdentifier mientras está en el estado copying.
AWS CLI
Para copiar una instantánea de clúster de base de datos, utilice el comando AWS CLI de la copy-db-
cluster-snapshot. Si desea copiar la instantánea en otra región AWS , ejecute el comando en la región
AWS en la que se va a copiar la instantánea.
Las siguientes opciones se usan para copiar una instantánea de clúster de base de datos cifrada:
Si desea copiar la instantánea en otra región AWS y no especifica source-region, debe especificar
en su lugar la opción pre-signed-url. El valor de pre-signed-url debe ser una URL que contenga
una solicitud firmada de Signature Version 4 para la acción CopyDBClusterSnapshot que se debe
llamar en la región AWS de origen desde la que se va a copiar la instantánea de clúster de base de
datos. Para obtener más información acerca de pre-signed-url, consulte copy-db-cluster-
snapshot.
• --source-db-cluster-snapshot-identifier: identificador de la instantánea del clúster de
base de datos cifrada que se va a copiar. Si desea copiar la instantánea en otra región AWS, este
identificador debe estar en el formato de ARN para la región AWS de origen. En ese caso, la región
AWS especificada en source-db-cluster-snapshot-identifier debe coincidir con la región
AWS especificada para --source-region.
• --target-db-cluster-snapshot-identifier: identificador de la nueva copia de la instantánea
de clúster de base de datos cifrada.
• --kms-key-id: identificador de la clave de KMS que se va a utilizar para cifrar la copia de la
instantánea del clúster de base de datos.
Puede utilizar esta opción si la instantánea del clúster de base de datos está cifrada, si la instantánea
se va a copiar en la misma región de AWS y si desea especificar una nueva clave de KMS para cifrar la
copia. De lo contrario, la copia de la instantánea del clúster de base de datos se cifra con la misma clave
de KMS que la instantánea del clúster de base de datos de origen.
553
Amazon Aurora Guía del usuario de Aurora
Copia de una instantánea de clúster de base de datos
Debe usar esta opción si la instantánea del clúster de base de datos está cifrada y va a copiar la
instantánea en otra región AWS. En ese caso, debe especificar una clave de KMS para la región de
AWS de destino.
El siguiente ejemplo de código copia la instantánea del clúster de base de datos cifrada de la región
EE.UU. Oeste (Oregón) a la región US East (N. Virginia). El comando se llama en la región US East (N.
Virginia).
Example
Para Windows:
API de RDS
Para copiar una instantánea de clúster de base de datos, utilice la operación CopyDBClusterSnapshot
de la API de Amazon RDS. Si desea copiar la instantánea en otra región AWS, lleve a cabo la acción en la
región AWS en la que se va a copiar la instantánea.
Los siguientes parámetros se usan para copiar una instantánea de clúster de base de datos cifrada:
Puede utilizar este parámetro si la instantánea del clúster de base de datos está cifrada, si la instantánea
se va a copiar en la misma región de AWS y si desea especificar una nueva clave de KMS que se
utilizará para cifrar la copia. De lo contrario, la copia de la instantánea del clúster de base de datos se
cifra con la misma clave de KMS que la instantánea del clúster de base de datos de origen.
Debe usar este parámetro si la instantánea del clúster de base de datos está cifrada y va a copiar la
instantánea en otra región AWS. En ese caso, debe especificar una clave de KMS para la región de
AWS de destino.
• PreSignedUrl: si desea copiar la instantánea en otra región de AWS, debe especificar el parámetro
de PreSignedUrl. El valor de PreSignedUrl debe ser una URL que contenga una solicitud firmada
554
Amazon Aurora Guía del usuario de Aurora
Copia de una instantánea de clúster de base de datos
de Signature Version 4 para la acción CopyDBClusterSnapshot que se debe llamar en la región AWS
de origen desde la que se va a copiar la instantánea de clúster de base de datos. Para obtener más
información acerca del uso de una URL prefirmada, consulte CopyDBClusterSnapshot.
Para generar una URL prefirmada de forma automática y no manual, use el comando AWS CLI de la
copy-db-cluster-snapshot con la opción --source-region.
El siguiente ejemplo de código copia la instantánea del clúster de base de datos cifrada de la región
EE.UU. Oeste (Oregón) a la región US East (N. Virginia). La acción se llama en la región US East (N.
Virginia).
Example
https://rds.us-east-1.amazonaws.com/
?Action=CopyDBClusterSnapshot
&KmsKeyId=my-us-east-1-key
&PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F
%253FAction%253DCopyDBClusterSnapshot
%2526DestinationRegion%253Dus-east-1
%2526KmsKeyId%253Dmy-us-east-1-key
%2526SourceDBClusterSnapshotIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-
west-2%25253A123456789012%25253Acluster-snapshot%25253Aaurora-cluster1-snapshot-20161115
%2526SignatureMethod%253DHmacSHA256
%2526SignatureVersion%253D4
%2526Version%253D2014-10-31
%2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256
%2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds
%252Faws4_request
%2526X-Amz-Date%253D20161117T215409Z
%2526X-Amz-Expires%253D3600
%2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-
content-sha256%253Bx-amz-date
%2526X-Amz-Signature
%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&SourceDBClusterSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-
west-2%3A123456789012%3Acluster-snapshot%3Aaurora-cluster1-snapshot-20161115
&TargetDBClusterSnapshotIdentifier=myclustersnapshotcopy
&Version=2014-10-31
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request
&X-Amz-Date=20161117T221704Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=da4f2da66739d2e722c85fcfd225dc27bba7e2b8dbea8d8612434378e52adccf
555
Amazon Aurora Guía del usuario de Aurora
Copia de una instantánea de clúster de base de datos
2. (Si la instantánea está cifrada) Con la cuenta A, actualice la política de claves para la clave de KMS.
Para ello, añada primero el ARN de la cuenta B como Principal y a continuación permita la acción
kms:CreateGrant.
3. (Si la instantánea está cifrada) Con la cuenta B, elija o cree un usuario de IAM y asocie a ese usuario
una política de IAM que le permita copiar una instantánea de clúster de base de datos cifrada usando la
clave de KMS.
4. Con la cuenta B, llame a CopyDBClusterSnapshot y use el parámetro
SourceDBClusterSnapshotIdentifier para especificar el ARN de la instantánea del clúster de
base de datos que se va a copiar, que debe incluir el ID de la cuenta A.
Para ver una lista de todas las AWS cuentas con permiso para restaurar una instantánea de clúster de
base de datos, use la operación DescribeDBSnapshotAttributes or DescribeDBClusterSnapshotAttributes
de la API.
Para eliminar el permiso de uso compartido de una cuenta AWS, utilice la acción
ModifyDBSnapshotAttribute o ModifyDBClusterSnapshotAttribute con AttributeName
definido como restore y el ID de la cuenta que desea eliminar en el parámetro ValuesToRemove.
Copia de una instantánea de clúster de base de datos sin cifrar en otra cuenta
Use el siguiente procedimiento para copiar una instantánea de clúster de base de datos sin cifrar en otra
cuenta de la misma región AWS.
La ejecución del siguiente ejemplo con la cuenta 987654321 permite que dos identificadores de
cuenta AWS, 123451234512 y 123456789012, restauren la instantánea de clúster de base de datos
llamada manual-snapshot1.
https://rds.us-west-2.amazonaws.com/
?Action=ModifyDBClusterSnapshotAttribute
&AttributeName=restore
&DBClusterSnapshotIdentifier=manual-snapshot1
&SignatureMethod=HmacSHA256&SignatureVersion=4
&ValuesToAdd.member.1=123451234512
&ValuesToAdd.member.2=123456789012
&Version=2014-10-31
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20150922/us-west-2/rds/aws4_request
&X-Amz-Date=20150922T220515Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=ef38f1ce3dab4e1dbf113d8d2a265c67d17ece1999ffd36be85714ed36dddbb3
La ejecución del siguiente ejemplo con la cuenta 123451234512 copia la instantánea del clúster
de base de datos aurora-cluster1-snapshot-20130805 de la cuenta 987654321 y crea una
instantánea de clúster de base de datos llamado dbclustersnapshot1.
https://rds.us-west-2.amazonaws.com/
?Action=CopyDBClusterSnapshot
&CopyTags=true
&SignatureMethod=HmacSHA256
&SignatureVersion=4
556
Amazon Aurora Guía del usuario de Aurora
Copia de una instantánea de clúster de base de datos
&SourceDBClusterSnapshotIdentifier=arn:aws:rds:us-west-2:987654321:cluster-
snapshot:aurora-cluster1-snapshot-20130805
&TargetDBClusterSnapshotIdentifier=dbclustersnapshot1
&Version=2013-09-09
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20150922/us-west-2/rds/aws4_request
&X-Amz-Date=20140429T175351Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2
La ejecución del siguiente ejemplo con la cuenta 987654321 permite que dos identificadores de
cuenta AWS, 123451234512 y 123456789012, restauren la instantánea de clúster de base de datos
llamada manual-snapshot1.
https://rds.us-west-2.amazonaws.com/
?Action=ModifyDBClusterSnapshotAttribute
&AttributeName=restore
&DBClusterSnapshotIdentifier=manual-snapshot1
&SignatureMethod=HmacSHA256&SignatureVersion=4
&ValuesToAdd.member.1=123451234512
&ValuesToAdd.member.2=123456789012
&Version=2014-10-31
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20150922/us-west-2/rds/aws4_request
&X-Amz-Date=20150922T220515Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=ef38f1ce3dab4e1dbf113d8d2a265c67d17ece1999ffd36be85714ed36dddbb3
2. En la cuenta de origen de la instantánea del clúster de base de datos, actualice la política de claves
para la clave de KMS. Para ello, añada primero el ARN de la cuenta de destino como Principal y, a
continuación permita la acción kms:CreateGrant. Para obtener más información, consulte . Permitir
el acceso a una AWS KMS key (p. 561).
3. En la cuenta de destino, elija o cree un usuario de IAM y asocie a ese usuario una política de IAM
que le permita copiar una instantánea de clúster de base de datos cifrada usando la clave de KMS.
Para obtener más información, consulte . Creación de una política de IAM para permitir la copia de la
instantánea cifrada (p. 562).
4. En la cuenta de destino, llame a CopyDBClusterSnapshot y use el parámetro
SourceDBClusterSnapshotIdentifier para especificar el ARN de la instantánea del clúster de
base de datos que se va a copiar, que debe incluir el ID de la cuenta de origen.
La ejecución del siguiente ejemplo con la cuenta 123451234512 copia la instantánea del clúster
de base de datos aurora-cluster1-snapshot-20130805 de la cuenta 987654321 y crea una
instantánea de clúster de base de datos llamado dbclustersnapshot1.
https://rds.us-west-2.amazonaws.com/
?Action=CopyDBClusterSnapshot
&CopyTags=true
&SignatureMethod=HmacSHA256
&SignatureVersion=4
557
Amazon Aurora Guía del usuario de Aurora
Copia de una instantánea de clúster de base de datos
&SourceDBClusterSnapshotIdentifier=arn:aws:rds:us-west-2:987654321:cluster-
snapshot:aurora-cluster1-snapshot-20130805
&TargetDBClusterSnapshotIdentifier=dbclustersnapshot1
&Version=2013-09-09
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20150922/us-west-2/rds/aws4_request
&X-Amz-Date=20140429T175351Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2
558
Amazon Aurora Guía del usuario de Aurora
Uso compartido de una instantánea
• Al compartir una instantánea manual de clúster de base de datos, ya sea cifrada o no cifrada, habilita a
las cuentas autorizadas de AWS a copiar la instantánea.
• Si se comparte una instantánea manual de un clúster de base de datos, ya sea cifrada o sin cifrar, las
cuentas autorizadas de AWS podrán restaurar directamente un clúster de base de datos a partir de la
instantánea en lugar de hacer una copia de ella y restaurarla.
Note
Para compartir una instantánea automatizada de clúster de base de datos, cree una instantánea
manual de clúster de base de datos al copiar la instantánea automatizada y, a continuación,
comparta esa copia. Este proceso también se aplica a los recursos generados por Backup de
AWS.
Para obtener más información acerca de la copia de instantáneas, consulte Copia de una instantánea
de clúster de base de datos (p. 548). Para obtener más información sobre cómo restaurar una instancia
de base de datos desde una instantánea de clúster de base de datos, consulte Restauración de una
instantánea de clúster de base de datos (p. 545).
Para obtener más información acerca de cómo restaurar un clúster de base de datos a partir de una
instantánea de clúster de base de datos, consulte Información general de copias de seguridad y
restauración de un clúster de base de datos Aurora (p. 536).
Cuando se comparten con otras cuentas de AWS, se aplican las restricciones siguientes:
• Cuando se restaura un clúster de base de datos a partir de una instantánea compartida mediante la
AWS Command Line Interface (AWS CLI) o la API de Amazon RDS, se debe especificar el nombre de
recurso de Amazon (ARN) de la instantánea compartida como identificador de instantánea.
Cuando una instantánea se comparte públicamente, da todos los permisos de cuentas de AWS tanto para
copiar la instantánea como para crear los clústeres de las de base de datos de ella.
559
Amazon Aurora Guía del usuario de Aurora
Cómo compartir instantáneas cifradas
Solo puede eliminar las instantáneas públicas de su propiedad. Para eliminar una instantánea compartida
o pública, debe iniciar sesión en la cuenta de AWS propietaria de la instantánea.
Aparecen las instantáneas públicas. Puede ver qué cuenta posee una instantánea pública en la
columna Owner (Propietario).
Note
Es posible que tenga que modificar las preferencias de la página, seleccionando el icono de
engranaje en la parte superior derecha de la lista Public snapshots (Instantáneas públicas),
para ver esta columna.
"DBClusterSnapshotArn": "arn:aws:rds:us-west-2:123456789012:cluster-
snapshot:myclustersnapshot1",
"DBClusterSnapshotArn": "arn:aws:rds:us-west-2:123456789012:cluster-
snapshot:myclustersnapshot2",
1. Comparta la AWS KMS key que se utilizó para cifrar la instantánea con las cuentas que desea que
tengan acceso a la instantánea.
Puede compartir las claves de KMS con otra cuenta de AWS. Para ello, agregue la otra cuenta a la
política de claves de KMS. Para obtener información detallada sobre cómo actualizar una política de
claves, consulte Políticas de claves en la Guía para desarrolladores de AWS KMS. Para ver un ejemplo
de cómo crear una política de claves, consulte Permitir el acceso a una AWS KMS key (p. 561) más
adelante en este tema.
560
Amazon Aurora Guía del usuario de Aurora
Cómo compartir instantáneas cifradas
2. Utilice la AWS Management Console, la AWS CLI, o la API de Amazon RDS para compartir la
instantánea cifrada con las otras cuentas.
Para permitir que otra cuenta de AWS tenga acceso a una clave de KMS, actualice la política de clave de
la clave de KMS. Esta puede actualizarse con el nombre de recurso de Amazon (ARN) de la cuenta de
AWS con la que va a compartir como Principal en la política de clave de KMS. A continuación, permita
la acción kms:CreateGrant.
Una vez que una cuenta de AWS accede a la clave de KMS, para poder copiar la instantánea cifrada,
dicha cuenta de AWS debe crear un rol de AWS Identity and Access Management (IAM), si todavía no lo
tiene. Además, dicha cuenta de AWS también debe asociar a ese usuario o rol de IAM una política de IAM
que permita al usuario o al rol copiar una instantánea de un clúster de base de datos cifrada con la clave
de KMS. La cuenta debe ser un usuario de IAM y no puede ser una identidad raíz de la cuenta de AWS
debido a las restricciones de seguridad de AWS KMS.
{
"Id": "key-policy-1",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {"AWS": [
"arn:aws:iam::111122223333:user/KeyUser",
"arn:aws:iam::444455556666:root"
]},
"Action": [
"kms:CreateGrant",
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
},
{
"Sid": "Allow attachment of persistent resources",
"Effect": "Allow",
"Principal": {"AWS": [
"arn:aws:iam::111122223333:user/KeyUser",
561
Amazon Aurora Guía del usuario de Aurora
Cómo compartir instantáneas cifradas
"arn:aws:iam::444455556666:root"
]},
"Action": [
"kms:CreateGrant",
"kms:ListGrants",
"kms:RevokeGrant"
],
"Resource": "*",
"Condition": {"Bool": {"kms:GrantIsForAWSResource": true}}
}
]
}
En el siguiente ejemplo, se muestra una política que se puede asociar a un usuario de IAM de la cuenta de
AWS 444455556666 que permite al usuario de IAM copiar una instantánea compartida desde la cuenta
de AWS 111122223333 cifrada con la clave de KMS c989c1dd-a3f2-4a5d-8d96-e793d082ab26 en
la región us-west-2.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowUseOfTheKey",
"Effect": "Allow",
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey",
"kms:CreateGrant",
"kms:RetireGrant"
],
"Resource": ["arn:aws:kms:us-west-2:111122223333:key/c989c1dd-a3f2-4a5d-8d96-
e793d082ab26"]
},
{
"Sid": "AllowAttachmentOfPersistentResources",
"Effect": "Allow",
"Action": [
"kms:CreateGrant",
"kms:ListGrants",
"kms:RevokeGrant"
],
"Resource": ["arn:aws:kms:us-west-2:111122223333:key/c989c1dd-a3f2-4a5d-8d96-
e793d082ab26"],
"Condition": {
"Bool": {
"kms:GrantIsForAWSResource": true
}
}
}
]
}
562
Amazon Aurora Guía del usuario de Aurora
Uso compartido de una instantánea
Para obtener información detallada sobre cómo actualizar una política de claves, consulte Políticas de
claves en la Guía para desarrolladores de AWS KMS.
Consola
Con la consola de Amazon RDS, puede compartir una instantánea manual de un clúster de base de datos
con un máximo de 20 cuentas de AWS. También puede utilizar la consola para dejar de compartir una
instantánea manual con una o varias cuentas.
Para compartir una instantánea manual de clúster de base de datos mediante la consola de
Amazon RDS
• Si el origen está sin cifrar, elija Public (Pública) para permitir que todas las cuentas de AWS
restauren un clúster de base de datos a partir de la instantánea de clúster de base de datos
manual, o elija Private (Privada) para permitir que únicamente las cuentas de AWS que especifique
restauren un clúster de base de datos a partir de una instantánea de clúster de base de datos
manual.
Warning
Si comete un error al añadir un identificador de cuenta de AWS a la lista de cuentas permitidas, puede
eliminarlo de la lista seleccionando Delete (Eliminar) a la derecha del identificador incorrecto de la
cuenta de AWS.
563
Amazon Aurora Guía del usuario de Aurora
Uso compartido de una instantánea
7. Después de añadir los identificadores de todas las cuentas de AWS a las que desea permitir la
restauración de la instantánea manual, elija Save (Guardar) para guardar los cambios.
Para dejar de compartir una instantánea manual de clúster de base de datos con una cuenta de
AWS
564
Amazon Aurora Guía del usuario de Aurora
Uso compartido de una instantánea
AWS CLI
Para compartir una instantánea de clúster de base de datos, use el comando aws rds modify-db-
cluster-snapshot-attribute . Use el parámetro --values-to-add para añadir la lista de los ID de
las cuentas de AWS que tienen autorización para restaurar la instantánea manual.
Para Windows:
565
Amazon Aurora Guía del usuario de Aurora
Uso compartido de una instantánea
Para Windows:
Note
Al utilizar el símbolo del sistema de Windows, debe aplicar escape con comillas dobles (") en
código JSON al ponerlas como prefijo con una barra invertida (\).
Para Windows:
Para enumerar las cuentas de AWS habilitadas para restaurar una instantánea, utilice el comando
describe-db-cluster-snapshot-attributes de AWS CLI.
API de RDS
También puede compartir una instantánea manual de clúster de base de datos con
otras cuentas de AWS mediante la API de Amazon RDS. Para ello, llame a la operación
ModifyDBClusterSnapshotAttribute. Especifique restore en AttributeName y utilice el
parámetro ValuesToAdd para añadir la lista de los ID de las cuentas de AWS que tienen autorización
para restaurar la instantánea manual.
Para hacer que una instantánea manual sea pública y puedan restaurarla todas las cuentas de AWS,
utilice el valor all. Sin embargo, tenga cuidado de no añadir el valor all para las instantáneas manuales
566
Amazon Aurora Guía del usuario de Aurora
Uso compartido de una instantánea
que contienen información confidencial que no desea que esté disponible para todas las cuentas de AWS.
Además, tampoco especifique all para las instantáneas cifradas, ya que dichas instantáneas no pueden
hacerse públicas.
Para eliminar el permiso de uso compartido de una cuenta de AWS, utilice la operación
ModifyDBClusterSnapshotAttribute con AttributeName establecido en restore y el parámetro
ValuesToRemove. Para marcar una instantánea manual como privada, elimine el valor all de la lista de
valores del atributo restore.
Para ver una lista de todas las cuentas de AWS que tienen permiso para restaurar una instantánea, utilice
la operación DescribeDBClusterSnapshotAttributes de la API.
567
Amazon Aurora Guía del usuario de Aurora
Exportación de datos de instantáneas a Amazon S3
Al exportar una instantánea de base de datos, Amazon Aurora extrae los datos de la instantánea y los
almacena en un bucket de Amazon S3. Los datos se almacenan en formato Apache Parquet comprimido y
consistente.
Después de exportar los datos, puede analizar los datos exportados directamente con herramientas como
Amazon Athena o Amazon Redshift Spectrum. Para obtener más información sobre cómo utilizar Athena
para leer los datos de Parquet, consulte Parquet SerDe en Guía del usuario de Amazon Athena. Para
obtener más información sobre cómo utilizar Redshift Spectrum para leer datos de Parquet, vea COPIAR
de formatos de datos en columnas en Amazon Redshift Database Developer Guide.
Amazon RDS admite la exportación de instantáneas en todas las regiones de AWS, excepto en las
siguientes:
En la siguiente tabla se muestran las versiones del motor de Aurora MySQL que se admiten para exportar
datos de instantáneas a Amazon S3. Para obtener más información acerca de las versiones de motor de
Aurora MySQL, consulte Actualizaciones del motor de base de datos de Amazon Aurora MySQL (p. 1170).
En la siguiente tabla se muestran las versiones del motor de Aurora PostgreSQL que se admiten para
exportar datos de instantáneas a Amazon S3. Para obtener más información acerca de las versiones
de motor de Aurora PostgreSQL, consulte Versiones de Amazon Aurora PostgreSQL y versiones del
motor (p. 1722).
568
Amazon Aurora Guía del usuario de Aurora
Limitaciones
Temas
• Limitaciones (p. 569)
• Información general acerca de la exportación de datos de instantáneas (p. 569)
• Configuración del acceso a un bucket de Amazon S3 (p. 570)
• Uso de una AWS KMS key en diversas cuentas para cifrar las exportaciones de Amazon S3 (p. 573)
• Exportación de una instantánea a un bucket de Amazon S3 (p. 574)
• Monitoreo de las exportaciones de instantáneas (p. 576)
• Cancelación de una tarea de exportación de instantáneas (p. 578)
• Mensajes de error para tareas de exportación de Amazon S3 (p. 579)
• Solución de problemas de errores de permisos de PostgreSQL (p. 580)
• Convención de nomenclatura de archivos (p. 580)
• Conversión de datos al exportar a un bucket de Amazon S3 (p. 581)
Limitaciones
Exportar datos de instantáneas de base de datos a Amazon S3 tiene las siguientes limitaciones:
• Si una base de datos, esquema o tabla tiene caracteres en su nombre distintos del siguiente, no se
admite la exportación parcial. Sin embargo, puede exportar toda la instantánea de base de datos.
• Letras latinas (A–Z)
• Dígitos (0–9)
• Símbolo de dólar ($)
• Guion bajo (_)
• No se admiten espacios ( ) ni determinados caracteres en los nombres de columna de las tablas de
bases de datos. Las tablas con los siguientes caracteres en los nombres de columna se omiten durante
la exportación:
, ; { } ( ) \n \t = (space)
• Si los datos contienen un objeto grande, como un BLOB o CLOB, cercano o superior a 500 MB, se
producirá un error en la exportación.
• Si una tabla contiene una fila grande cercana o superior a 2 GB, la tabla se omite durante la exportación.
Utilice una instantánea automática o manual ya existente, o bien cree una instantánea manual de una
instancia de base de datos.
2. Configure el acceso al bucket de Amazon S3.
569
Amazon Aurora Guía del usuario de Aurora
Configuración del acceso a un bucket de S3
La clave KMS también se utiliza para el cifrado de disco local en reposo de Amazon EC2. Además,
si tiene una instrucción deny en la política de claves de KMS, asegúrese de excluir explícitamente la
entidad principal del servicio de AWS export.rds.amazonaws.com.
Puede utilizar una clave de KMS en su cuenta de AWS o puede utilizar una clave KMS en diversas
cuentas. Para obtener más información, consulte . Uso de una AWS KMS key en diversas cuentas
para cifrar las exportaciones de Amazon S3 (p. 573).
4. Exporte la instantánea a Amazon S3 mediante la consola o el comando start-export-task de la
CLI. Para obtener más información, consulte . Exportación de una instantánea a un bucket de Amazon
S3 (p. 574).
5. Para obtener acceso a los datos exportados al bucket de Amazon S3, consulte Carga, descarga y
administración de objetos en la Guía del usuario de Amazon Simple Storage Service.
Temas
• Identificación del bucket de Amazon S3 para exportación (p. 570)
• Proporcionar acceso a un bucket de Amazon S3 mediante un rol de IAM (p. 571)
• Uso de un bucket de Amazon S3 en diversas cuentas (p. 572)
Para obtener más información acerca de cómo trabajar con buckets de Amazon S3, consulte lo siguiente
en Guía del usuario de Amazon Simple Storage Service:
570
Amazon Aurora Guía del usuario de Aurora
Configuración del acceso a un bucket de S3
Para ello, cree una política de IAM que proporcione acceso al bucket de . Luego cree un rol de IAM
y asocie la política a dicho rol. Más adelante, asignará el rol de IAM a la tarea de exportación de
instantáneas.
Important
Si prevé utilizar la AWS Management Console para exportar la instantánea, puede elegir crear la
política de IAM y el rol automáticamente al exportar la instantánea. Para obtener instrucciones,
consulte Exportación de una instantánea a un bucket de Amazon S3 (p. 574).
1. Cree una política de IAM. Esta política proporciona los permisos de bucket y objeto que permiten a la
tarea de exportación de instantáneas obtener acceso a Amazon S3.
Incluya en la política las siguientes acciones obligatorias para permitir transferir archivos desde
Amazon Aurora a un bucket de S3:
• s3:PutObject*
• s3:GetObject*
• s3:ListBucket
• s3:DeleteObject*
• s3:GetBucketLocation
Incluya los siguientes recursos en la política para identificar el bucket de S3 y los objetos incluidos en
este. En la siguiente lista de recursos se muestra el formato de nombre de recurso de Amazon (ARN)
para obtener acceso a Amazon S3.
• arn:aws:s3:::your-s3-bucket
• arn:aws:s3:::your-s3-bucket/*
Para obtener más información sobre cómo crear una política de IAM para Amazon Aurora, consulte
Creación y uso de una política de IAM para el acceso a bases de datos de IAM (p. 1880). Consulte
también el Tutorial: Crear y asociar su primera política administrada por el cliente en la Guía del
usuario de IAM.
El siguiente comando de la AWS CLI crea una política de IAM denominada ExportPolicy con estas
opciones. Otorga acceso a un bucket llamado your-s3-bucket.
Note
Después de crear la política, apunte el ARN de esta. Cuando asocia la política a un rol de
IAM, necesita el ARN para realizar un paso posterior.
571
Amazon Aurora Guía del usuario de Aurora
Configuración del acceso a un bucket de S3
"Action": [
"s3:PutObject*",
"s3:ListBucket",
"s3:GetObject*",
"s3:DeleteObject*",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::your-s3-bucket",
"arn:aws:s3:::your-s3-bucket/*"
]
}
]
}'
2. Cree un rol de IAM. Este paso lo ejecuta para que Aurora pueda asumir este rol de IAM en su nombre
para obtener acceso a los buckets de Amazon S3. Para obtener más información, consulte Creación
de un rol para delegar permisos a un usuario de IAM en la Guía del usuario de IAM.
En el siguiente ejemplo se muestra cómo se usa el comando de la AWS CLI para crear un rol
denominado rds-s3-export-role.
El siguiente comando de la AWS CLI asocia la política creada anteriormente al rol denominado rds-
s3-export-role. Sustituya your-policy-arn por el ARN de la política que ha apuntado en el
paso anterior.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:role/Admin"
572
Amazon Aurora Guía del usuario de Aurora
Uso de una clave KMS en diversas cuentas
},
"Action": [
"s3:PutObject*",
"s3:ListBucket",
"s3:GetObject*",
"s3:DeleteObject*",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::mycrossaccountbucket",
"arn:aws:s3:::mycrossaccountbucket/*"
]
}
]
}
{
"Sid": "Allow an external account to use this KMS key",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::444455556666:role/ExampleRole",
"arn:aws:iam::444455556666:user/ExampleUser"
]
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:CreateGrant",
"kms:DescribeKey",
"kms:RetireGrant"
],
"Resource": "*"
}
La siguiente política de IAM de ejemplo permite a la entidad principal utilizar la clave KMS en la cuenta
123456789012 para operaciones criptográficas. Para conceder este permiso a ExampleRole y
ExampleUser de la cuenta 444455556666, adjunte la política en esa cuenta.
573
Amazon Aurora Guía del usuario de Aurora
Exportación de una instantánea a un bucket de S3
La exportación de instantáneas de RDS puede tardar un tiempo en función del tipo y tamaño de
la base de datos. La tarea de exportación primero restaura y escala toda la base de datos antes
de extraer los datos a Amazon S3. El progreso de la tarea durante esta fase se muestra como
Starting (Iniciándose). Cuando la tarea cambia a exportar datos a S3, el progreso se muestra
como In progress (En curso).
El tiempo que tarda la exportación en completarse depende de los datos almacenados en la
base de datos. Por ejemplo, las tablas con columnas de índice o claves primarias numéricas bien
distribuidas se exportarán más rápido. Las tablas que no contienen una columna adecuada para
la partición y las tablas con un solo índice en una columna basada en cadenas tardarán más
tiempo. Este tiempo de exportación más prolongado se produce porque la exportación utiliza un
proceso de subproceso único más lento.
Puede exportar una instantánea de base de datos a Amazon S3 mediante la AWS Management Console,
la AWS CLI o la API de RDS.
Si utiliza una función Lambda para exportar una instantánea, agregue la acción kms:DescribeKey a la
política de la función Lambda. Para obtener más información, consulte Permisos de AWS Lambda.
Consola
La opción de la consola Export to Amazon S3 (Exportar a Amazon S3) solo aparece para las instantáneas
que se pueden exportar a Amazon S3. Es posible que una instantánea no esté disponible para la
exportación debido a las siguientes razones:
574
Amazon Aurora Guía del usuario de Aurora
Exportación de una instantánea a un bucket de S3
Por ejemplo:
8. Para el S3 bucket (Bucket de S3), elija el bucket al que desee realizar la exportación.
Para asignar los datos exportados a la ruta de una carpeta en el bucket de S3, escriba la ruta opcional
para el S3 prefix (Prefijo de S3).
9. Para el rol de IAM, elija un rol que le conceda acceso de escritura al bucket de S3 elegido o cree un
nuevo rol.
• Si ha creado un rol siguiendo los pasos indicados en Proporcionar acceso a un bucket de Amazon
S3 mediante un rol de IAM (p. 571), elija dicho rol.
• Si no ha creado un rol que le conceda acceso de escritura al bucket de S3 elegido, elija Crear un
nuevo rol para crear el rol automáticamente. A continuación, escriba un nombre para el rol en el
Nombre del rol de IAM.
10. En AWS KMS key, ingrese el ARN de la clave que debe utilizarse para cifrar los datos exportados.
11. Elija Export to Amazon S3 (Exportar a Amazon S3).
AWS CLI
Para exportar una instantánea de base de datos a Amazon S3 mediante la AWS CLI, ejecute el comando
start-export-task con las siguientes opciones obligatorias:
• --export-task-identifier
• --source-arn
• --s3-bucket-name
• --iam-role-arn
• --kms-key-id
575
Amazon Aurora Guía del usuario de Aurora
Monitoreo de las exportaciones de instantáneas
Example
Para Windows:
{
"Status": "STARTING",
"IamRoleArn": "iam-role",
"ExportTime": "2019-08-12T01:23:53.109Z",
"S3Bucket": "my-export-bucket",
"PercentProgress": 0,
"KmsKeyId": "my-key",
"ExportTaskIdentifier": "my-snapshot-export",
"TotalExtractedDataInGB": 0,
"TaskStartTime": "2019-11-13T19:46:00.173Z",
"SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:snapshot-name"
}
Para proporcionar la ruta de una carpeta del bucket S3 para la exportación de instantáneas, incluya la
opción --s3-prefix en el comando start-export-task.
API de RDS
Para exportar una instantánea de base de datos a Amazon S3 con la API de Amazon RDS, ejecute la
operación StartExportTask con los siguientes parámetros obligatorios:
• ExportTaskIdentifier
• SourceArn
• S3BucketName
• IamRoleArn
• KmsKeyId
576
Amazon Aurora Guía del usuario de Aurora
Monitoreo de las exportaciones de instantáneas
Consola
Para monitorear las exportaciones de instantáneas de bases de datos
AWS CLI
Para monitorear exportaciones de instantáneas de bases de datos mediante la AWS CLI, ejecute el
comando describe-export-tasks .
En el ejemplo siguiente se muestra cómo mostrar la información actual acerca de todas las exportaciones
de instantáneas.
Example
{
"ExportTasks": [
{
"Status": "CANCELED",
"TaskEndTime": "2019-11-01T17:36:46.961Z",
"S3Prefix": "something",
"ExportTime": "2019-10-24T20:23:48.364Z",
"S3Bucket": "examplebucket",
"PercentProgress": 0,
"KmsKeyId": "arn:aws:kms:AWS_Region:123456789012:key/K7MDENG/
bPxRfiCYEXAMPLEKEY",
"ExportTaskIdentifier": "anewtest",
"IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3",
"TotalExtractedDataInGB": 0,
"TaskStartTime": "2019-10-25T19:10:58.885Z",
"SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:parameter-groups-
test"
},
{
"Status": "COMPLETE",
"TaskEndTime": "2019-10-31T21:37:28.312Z",
"WarningMessage": "{\"skippedTables\":[],\"skippedObjectives\":[],\"general\":
[{\"reason\":\"FAILED_TO_EXTRACT_TABLES_LIST_FOR_DATABASE\"}]}",
"S3Prefix": "",
"ExportTime": "2019-10-31T06:44:53.452Z",
"S3Bucket": "examplebucket1",
"PercentProgress": 100,
"KmsKeyId": "arn:aws:kms:AWS_Region:123456789012:key/2Zp9Utk/
h3yCo8nvbEXAMPLEKEY",
"ExportTaskIdentifier": "thursday-events-test",
"IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3",
"TotalExtractedDataInGB": 263,
"TaskStartTime": "2019-10-31T20:58:06.998Z",
"SourceArn":
"arn:aws:rds:AWS_Region:123456789012:snapshot:rds:example-1-2019-10-31-06-44"
},
{
577
Amazon Aurora Guía del usuario de Aurora
Cancelación de una exportación de instantáneas
"Status": "FAILED",
"TaskEndTime": "2019-10-31T02:12:36.409Z",
"FailureCause": "The S3 bucket edgcuc-export isn't located in the current AWS
Region. Please, review your S3 bucket name and retry the export.",
"S3Prefix": "",
"ExportTime": "2019-10-30T06:45:04.526Z",
"S3Bucket": "examplebucket2",
"PercentProgress": 0,
"KmsKeyId": "arn:aws:kms:AWS_Region:123456789012:key/2Zp9Utk/
h3yCo8nvbEXAMPLEKEY",
"ExportTaskIdentifier": "wednesday-afternoon-test",
"IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3",
"TotalExtractedDataInGB": 0,
"TaskStartTime": "2019-10-30T22:43:40.034Z",
"SourceArn":
"arn:aws:rds:AWS_Region:123456789012:snapshot:rds:example-1-2019-10-30-06-45"
}
]
}
Para mostrar información sobre una exportación de instantáneas específica, incluya la opción --export-
task-identifier con el comando describe-export-tasks. Para filtrar la salida, incluya la opción
--Filters. Para obtener más opciones, consulte el comando describe-export-tasks.
API de RDS
Para mostrar información sobre las exportaciones de instantáneas de bases de datos mediante la API de
Amazon RDS, ejecute la operación DescribeExportTasks.
Para realizar un seguimiento del flujo de trabajo de exportación o para activar otro flujo de trabajo, puede
suscribirse a temas de Amazon Simple Notification Service. Para obtener más información sobre Amazon
SNS, consulte Uso de las notificaciones de eventos de Amazon RDS (p. 725).
Consola
Para cancelar una tarea de exportación de una instantánea
578
Amazon Aurora Guía del usuario de Aurora
Mensajes de error
AWS CLI
Para cancelar una tarea de exportación de instantáneas mediante la AWS CLI, ejecute el comando cancel-
export-task . El comando requiere la opción --export-task-identifier.
Example
API de RDS
Para cancelar una tarea de exportación de instantáneas mediante la API de Amazon RDS, ejecute la
operación CancelExportTask con el parámetro ExportTaskIdentifier.
La exportación de RDS no pudo escribir La tarea de exportación asume el rol de IAM para validar si
los metadatos de la tarea de exportación está permitido escribir metadatos en el bucket de S3. Si la
porque no puede asumir el rol de IAM tarea no puede asumir su rol de IAM, muestra un error.
[ARN de rol].
La exportación de RDS no pudo escribir Faltan uno o más permisos, por lo que la tarea de
los metadatos de la tarea de exportación exportación no puede acceder al bucket de S3. Este
en el bucket de S3 [nombre del bucket] mensaje de error aparece cuando se recibe uno de los
que utiliza el rol de IAM [ARN de rol] con la siguientes elementos:
clave KMS [ID de clave]. Código de error:
[código de error] • AWSSecurityTokenServiceException con el código
de error AccessDenied
• AmazonS3Exception con el código de
error NoSuchBucket, AccessDenied,
579
Amazon Aurora Guía del usuario de Aurora
Solución de problemas de errores
de permisos de PostgreSQL
El rol de IAM [ARN de rol] no está La política de IAM está mal configurada. Falta el permiso
autorizado para llamar a [acción de S3] para la acción específica de S3 en el bucket de S3. Esto
en el bucket de S3 [nombre del bucket]. ocasiona un error en la tarea de exportación.
Revise sus permisos y vuelva a intentar la
exportación.
Para obtener más información sobre los privilegios de superusuario, consulte Privilegios de la cuenta de
usuario maestro (p. 1920).
export_identifier/database_name/schema_name.table_name/
580
Amazon Aurora Guía del usuario de Aurora
Conversión de datos
Por ejemplo:
export-1234567890123-459/rdststdb/rdststdb.DataInsert_7ADB5D19965123A2/
Hay dos convenciones para la forma en que se denominan los archivos. La convención actual es la
siguiente:
partition_index/part-00000-random_uuid.format-based_extension
Por ejemplo:
1/part-00000-c5a881bb-58ff-4ee6-1111-b41ecff340a3-c000.gz.parquet
2/part-00000-d7a881cc-88cc-5ab7-2222-c41ecab340a4-c000.gz.parquet
3/part-00000-f5a991ab-59aa-7fa6-3333-d41eccd340a7-c000.gz.parquet
part-partition_index-random_uuid.format-based_extension
Por ejemplo:
part-00000-c5a881bb-58ff-4ee6-1111-b41ecff340a3-c000.gz.parquet
part-00001-d7a881cc-88cc-5ab7-2222-c41ecab340a4-c000.gz.parquet
part-00002-f5a991ab-59aa-7fa6-3333-d41eccd340a7-c000.gz.parquet
La convención de nomenclatura de archivos está sujeta a cambios. Por lo tanto, cuando lea tablas de
destino, recomendamos que lea todo lo que hay dentro del prefijo base de la tabla.
Parquet almacena todos los datos como uno de los siguientes tipos primitivos:
• BOOLEANO
• INT32
• INT64
• INT96
• FLOAT
• DOUBLE
• BYTE_ARRAY: matriz de bytes de longitud variable, también conocida como binario.
• FIXED_LEN_BYTE_ARRAY. matriz de bytes de longitud fija utilizada cuando los valores tienen un
tamaño constante.
Los tipos de datos Parquet son pocos para reducir la complejidad de leer y escribir el formato. Parquet
proporciona tipos lógicos para ampliar los tipos primitivos. Un tipo lógico se implementa como una
anotación con los datos en un campo de metadatos LogicalType. La anotación de tipo lógico explica
cómo interpretar el tipo primitivo.
581
Amazon Aurora Guía del usuario de Aurora
Conversión de datos
Cuando el tipo lógico STRING anota un tipo BYTE_ARRAY, indica que la matriz de bytes debe interpretarse
como una cadena de caracteres codificada UTF-8. Cuando se complete la tarea de exportación, Amazon
Aurora le notificará si se ha producido alguna conversión de cadena. Los datos subyacentes exportados
siempre son los mismos que los datos del origen. Sin embargo, debido a la diferencia de codificación en
UTF-8, algunos caracteres pueden parecer diferentes a los del origen cuando se leen en herramientas
como Athena.
Para obtener más información, consulte Definiciones de tipos lógicos de Parquet en la documentación de
Parquet.
Temas
• Mapeo del tipo de datos MySQL con Parquet (p. 582)
• Mapeo de tipos de datos PostgreSQL con Parquet (p. 584)
Tipo de datos de origen Tipo primitivo de Anotación de tipo lógico Notas de conversión
Parquet
BIGINT INT64
BIT BYTE_ARRAY
FIXED_LEN_BYTE_ARRAY(N)
DECIMAL (p,s) Si el valor de origen
63
es 2 o superior,
se almacena como
FIXED_LEN_BYTE_ARRAY(N).
582
Amazon Aurora Guía del usuario de Aurora
Conversión de datos
Tipo de datos de origen Tipo primitivo de Anotación de tipo lógico Notas de conversión
Parquet
DOUBLE DOUBLE
FLOAT DOUBLE
INT INT32
MEDIUMINT INT32
MEDIUMINT INT64
UNSIGNED
SMALLINT INT32
TINYINT INT32
BINARY BYTE_ARRAY
BLOB BYTE_ARRAY
CHAR BYTE_ARRAY
LINESTRING BYTE_ARRAY
LONGBLOB BYTE_ARRAY
583
Amazon Aurora Guía del usuario de Aurora
Conversión de datos
Tipo de datos de origen Tipo primitivo de Anotación de tipo lógico Notas de conversión
Parquet
MEDIUMBLOB BYTE_ARRAY
MULTILINESTRING BYTE_ARRAY
TINYBLOB BYTE_ARRAY
VARBINARY BYTE_ARRAY
YEAR INT32
GEOMETRY BYTE_ARRAY
GEOMETRYCOLLECTIONBYTE_ARRAY
MULTIPOINT BYTE_ARRAY
MULTIPOLYGON BYTE_ARRAY
POINT BYTE_ARRAY
POLYGON BYTE_ARRAY
584
Amazon Aurora Guía del usuario de Aurora
Conversión de datos
BIGINT INT64
BIGSERIAL INT64
Esta conversión se
realiza para evitar
complicaciones debidas
a la precisión de los
datos y los valores de
datos que no son un
número (NaN).
INTEGER INT32
REAL FLOAT
SERIAL INT32
Esta conversión se
realiza para evitar
complicaciones debido
a la precisión de los
datos, valores de datos
que no son un número
(NaN) y valores de
datos de tiempo.
BYTEA BINARY
585
Amazon Aurora Guía del usuario de Aurora
Conversión de datos
BOOLEANO BOOLEANO
586
Amazon Aurora Guía del usuario de Aurora
Conversión de datos
587
Amazon Aurora Guía del usuario de Aurora
Recuperación a un momento dado
Cuando restaure un clúster de base de datos a un momento específico en el tiempo, puede elegir el grupo
de seguridad de nube virtual privada (VPC) predeterminado. O bien, puede aplicar un grupo de seguridad
de VPC personalizado al clúster de base de datos.
Las clústeres de base de datos restaurados se asocian automáticamente con los grupos de opciones
y parámetros de base de datos predeterminados. Sin embargo, puede aplicar grupos de parámetros
personalizados especificándolos durante una restauración.
Amazon RDS carga los registros de transacciones de los clústeres de base de datos en Amazon S3 de
forma continua. Para ver la última hora restaurable para un clúster de base de datos, utilice el comando
describe-db-clusters de la AWS CLI y observe el valor devuelto en el campo LatestRestorableTime
para el clúster de base de datos.
Puede restaurar a cualquier punto en el tiempo dentro del periodo de retención de copia de seguridad.
Para ver la hora restaurable más temprana para un clúster de base de datos, utilice el comando describe-
db-clusters de la AWS CLI y observe el valor devuelto en el campo EarliestRestorableTime para el
clúster de base de datos.
Note
La información de este tema se aplica a Amazon Aurora. Para obtener información sobre la
restauración de una instancia de base de datos de Amazon RDS, consulte Restauración de una
instancia de base de datos a un momento especificado.
Para obtener más información sobre la realización de copia de seguridad y restauración de
un clúster de base de datos de Aurora, consulte Información general de copias de seguridad y
restauración de un clúster de base de datos Aurora (p. 536).
Para Aurora MySQL, puede restaurar un clúster de base de datos aprovisionado en un clúster de
base de datos de Aurora Serverless. Para obtener más información, consulte . Restauración de un
clúster de base de datos de Aurora Serverless v1 (p. 183).
Puede restaurar un clúster de base de datos a un momento dado mediante AWS Management Console,
AWS CLI o la API de RDS.
Consola
Para restaurar un clúster de base de datos a un momento indicado
Si elige Custom (Personalizar), ingrese la fecha y hora a la que quiere restaurar el clúster.
588
Amazon Aurora Guía del usuario de Aurora
Recuperación a un momento dado
Note
Las horas se muestran en su zona horaria local, que se indica mediante una diferencia de la
hora universal coordinada (UTC). Por ejemplo, UTC-5 es la hora estándar del Este/horario de
verano central.
6. En Identificador de instancias de bases de datos, ingrese el nombre del clúster de base de datos
restaurado de destino. El nombre debe ser único.
7. Elija otras opciones según sea necesario, como la clase y el almacenamiento de la instancia de base
de datos.
8. Elija Restore to point in time (Restaurar a un momento dado).
AWS CLI
Para restaurar un clúster de base de datos a un momento indicado, use el comando restore-db-
cluster-to-point-in-time de AWS CLI para crear un nuevo clúster de base de datos.
Example
Para Linux, macOS o Unix:
Para Windows:
Important
Si usa la consola para restaurar un clúster de base de datos, Amazon RDS crea automáticamente
la instancia primaria (de escritura) del clúster de base de datos. Si usa la AWS CLI para restaurar
un clúster de base de datos, debe crear expresamente la instancia primaria del clúster de base de
datos. La instancia principal es la primera instancia que se crea en un clúster de base de datos.
Para crear la instancia primaria del clúster de base de datos, llame al comando create-db-instance
de AWS CLI. Incluya el nombre del clúster de base de datos como valor de la opción --db-
cluster-identifier.
API de RDS
Para restaurar un clúster de base de datos a un momento especificado, llame a la operación
RestoreDBClusterToPointInTime de la API de Amazon RDS con los siguientes parámetros:
• SourceDBClusterIdentifier
• DBClusterIdentifier
• RestoreToTime
Important
Si usa la consola para restaurar un clúster de base de datos, Amazon RDS crea automáticamente
la instancia primaria (de escritura) del clúster de base de datos. Si usa la API de RDS para
589
Amazon Aurora Guía del usuario de Aurora
Recuperación a un momento dado
590
Amazon Aurora Guía del usuario de Aurora
Eliminación de una instantánea
Para eliminar copias de seguridad administradas por AWS Backup, utilice la consola de AWS
Backup. Para obtener más información sobre AWS Backup, consulte la Guía para desarrolladores
de AWS Backup.
Para eliminar una instantánea compartida o pública, debe iniciar sesión en la cuenta de AWS propietaria
de la instantánea.
Console
Para eliminar una instantánea de clúster de base de datos, realice el siguiente procedimiento:
AWS CLI
Puede eliminar una instantánea de clúster de base de datos con el comando de la AWS CLI delete-db-
snapshot.
Las siguientes opciones se usan para eliminar una instantánea de clúster de base de datos.
Example
Para Windows:
591
Amazon Aurora Guía del usuario de Aurora
Eliminación de una instantánea de clúster de base de datos
API de RDS
Puede eliminar una instantánea de clúster de base de datos mediante la operación de la API de Amazon
RDS DeleteDBClusterSnapshot.
Los siguientes parámetros se usan para eliminar una instantánea de clúster de base de datos.
592
Amazon Aurora Guía del usuario de Aurora
Temas
• Información general del monitoreo de Amazon Aurora. (p. 594)
• Visualización de información clave de supervisión (p. 598)
• Monitoreo de métricas de Amazon Aurora con Amazon CloudWatch (p. 618)
• Monitoreo de la carga de base de datos con Información sobre rendimiento en Amazon
Aurora (p. 642)
• Análisis de anomalías de rendimiento con DevOps Guru for RDS (p. 705)
• Monitoreo de las métricas del SO mediante la monitorización mejorada (p. 709)
• Trabajar con eventos de Amazon RDS (p. 721)
• Trabajo con archivos de registro de base de datos (p. 747)
• Uso de AWS CloudTrail y Amazon RDS (p. 764)
• Monitoreo de Amazon Aurora mediante los flujos de actividad de la base de datos (p. 768)
593
Amazon Aurora Guía del usuario de Aurora
Información general del monitoreo
Plan de monitoreo
Antes de comenzar la monitorización Amazon Aurora, cree un plan de monitorización. El plan debe
responder a las siguientes preguntas:
Referencia de rendimiento
Para lograr sus objetivos de monitoreo, debe establecer una referencia. Para ello, mida el rendimiento
bajo distintas condiciones de carga en diferentes momentos en su entorno de Amazon Aurora. Puede
monitorear métricas como las siguientes:
• Network throughput
• Conexiones de clientes
• E/S para operaciones de lectura, escritura o metadatos
• Saldos de crédito de ráfagas para sus instancias de base de datos
Le recomendamos que almacene datos históricos de rendimiento para Amazon Aurora. Utilizando los
datos almacenados, puede comparar el rendimiento actual frente a las tendencias anteriores. También
puede distinguir los patrones de rendimiento normales de las anomalías y diseñar técnicas para solucionar
problemas.
Directrices de rendimiento
En general, los valores aceptables para las métricas de rendimiento dependen de lo que hace la aplicación
respecto a la referencia. Investigue las variaciones coherentes o de las tendencias con respecto a la
referencia. Las siguientes métricas suelen ser la fuente de problemas de rendimiento:
• Consumo elevado de CPU o RAM: unos valores elevados de consumo de CPU o RAM es posible que
sean si se ajustan a los objetivos de su aplicación (de rendimiento o simultaneidad, por ejemplo) y son
los esperados.
• Consumo de espacio en disco: investigue el consumo de espacio en el disco si el espacio utilizado está
por sistema alrededor o por encima del 85 % del espacio total disponible en el disco. Compruebe si es
posible eliminar datos de la instancia o archivar los datos en un sistema diferente para liberar espacio.
• Tráfico de red: para el tráfico de red, hable con el administrador de su sistema para saber cuál es el
rendimiento esperado para la red de su dominio y para su conexión a Internet. Investigue el tráfico de
red si el rendimiento es por sistema inferior al esperado.
594
Amazon Aurora Guía del usuario de Aurora
Herramientas de monitoreo
• Conexiones a bases de datos: si ve que hay un alto número de conexiones de usuarios además de una
reducción en el rendimiento y el tiempo de respuesta de la instancia, valore la posibilidad de restringir
las conexiones a las bases de datos. El mejor número de conexiones de usuarios para su instancia de
base de datos varía en función de la clase de instancia y de la complejidad de las operaciones que se
estén llevando a cabo. Para determinar el número de conexiones a bases de datos, asocie la instancia
de base de datos con un grupo de parámetros en el que el parámetro User Connections se haya
establecido en un valor distinto de 0 (ilimitado). Puede utilizar un grupo de parámetros existente o crear
uno nuevo. Para obtener más información, consulte Trabajo con los grupos de parámetros de base de
datos y grupos de parámetros de clúster de base de datos (p. 369).
• Métricas de IOPS: los valores esperados para las métricas de IOPS dependen de la especificación del
disco y la configuración del servidor, así que debe usar su referencia para conocer los valores típicos.
Investigue si los valores son por sistema diferentes de los de la referencia. Para un rendimiento óptimo
de IOPS, asegúrese de que el conjunto de trabajo típico se ajuste a la memoria para minimizar las
operaciones de lectura y escritura.
Cuando el rendimiento está fuera del punto de referencia establecido, es posible que tenga que realizar
cambios para optimizar la disponibilidad de la base de datos para la carga de trabajo. Por ejemplo, es
posible que necesite cambiar la clase de instancia de su instancia de base de datos. O es posible que
necesite cambiar el número de instancias de base de datos y réplicas de lectura disponibles para los
clientes.
Herramientas de monitoreo
AWS proporciona varias herramientas que puede usar para monitorear Amazon Aurora. Puede configurar
algunas de estas herramientas para que monitoreen por usted y otras herramientas requieren intervención
manual.
• Estado del clúster de Amazon Aurora: vea los detalles sobre el estado actual de su clúster mediante la
consola de Amazon RDS, el comando AWS de la CLI o la API de RDS.
• Amazon Aurora recomendaciones — Responder a recomendaciones automatizadas para recursos de
base de datos, como instancias de base de datos, clústeres de base de datos, y grupos de parámetros
de clúster de base de datos. Para obtener más información, consulte Visualización Amazon Aurora de
recomendaciones (p. 610).
• Amazon RDS Performance Insights: evalúa la carga en su base de datos y determina cuándo y dónde
realizar acciones. Para obtener más información, consulte Monitoreo de la carga de base de datos con
Información sobre rendimiento en Amazon Aurora (p. 642).
• Monitorización mejorada de Amazon RDS: examine métricas en tiempo real para el sistema operativo.
Para obtener más información, consulte Monitoreo de las métricas del SO mediante la monitorización
mejorada (p. 709).
• Eventos de Amazon RDS: suscríbase a los eventos de Amazon RDS si desea recibir una notificación
cuando se produzcan cambios en una instancia de base de datos, un clúster de base de datos, , una
instantánea de clúster de base de datos, un grupo de parámetros de base de datos o un grupo de
seguridad de base de datos. Para obtener más información, consulte Uso de las notificaciones de
eventos de Amazon RDS (p. 725).
• Amazon RDS registros de base de datos – Ver, descargar o visualizar archivos de registro de base
de datos mediante la Amazon RDS consola o las operaciones de Amazon RDS API. También puede
595
Amazon Aurora Guía del usuario de Aurora
Herramientas de monitoreo
consultar algunos archivos de registro de bases de datos que están cargados en las tablas de bases
de datos. Para obtener más información, consulte Trabajo con archivos de registro de base de
datos (p. 747).
• Amazon CloudWatch: este servicio monitorea sus recursos de AWS y las aplicaciones que ejecuta en
AWS en tiempo real. Puede utilizar las siguientes características de Amazon CloudWatch con Amazon
Aurora:
• Métricas de Amazon CloudWatch–Amazon Aurora envía métricas automáticamente a CloudWatch
cada minuto para cada base de datos activos. No se cobran cargos adicionales por métricas
de Amazon RDS en CloudWatch. Para obtener más información, consulte Métricas de Amazon
Aurora (p. 618).
• Alarmas de Amazon CloudWatch–: puede ver una sola Amazon Auroramétrica 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.
• Amazon CloudWatch Logs: la mayoría de motores de base de datos permiten monitorizar, almacenar
y obtener acceso a los archivos de registro de base de datos en CloudWatch Logs. Para obtener más
información, consulte la guía del usuario de Amazon CloudWatch logs.
• Amazon EventBridge: es un bus de eventos sin servidor que facilita la conexión de sus aplicaciones con
datos de varias fuentes. EventBridge proporciona un flujo de datos en tiempo real desde sus propias
aplicaciones, aplicaciones de software como servicio (SaaS) y servicios de AWS y, luego, dirige dichos
datos a destinos como Lambda. Esto le permite monitorear los eventos que ocurren en los servicios y
crear arquitecturas basadas en eventos. Para obtener más información, consulte Creación de una regla
que se desencadena en función de un evento Amazon Aurora (p. 744).
• AWS CloudTrail: proporciona un registro de las acciones que realiza un usuario, un rol o un servicio de
AWS en Amazon Aurora. CloudTrail captura las llamadas a la API de Amazon Aurora como eventos.
Estas capturas incluyen llamadas desde la consola de Amazon RDS y desde llamadas de código a las
operaciones de la API de Amazon RDS. Si crea un registro de seguimiento, puede habilitar la entrega
continua de eventos de CloudTrail a un bucket de Amazon S3, incluidos los eventos para Amazon
Aurora. Si no configura un registro de seguimiento, puede ver los eventos más recientes en la consola
de CloudTrail en el Event history (Historial de eventos). Para obtener más información, consulte Uso de
AWS CloudTrail y Amazon RDS (p. 764).
• Secuencias de actividad de base de datos – Una secuencia de actividad de base de datos se envía
desde Amazon Aurora a una secuencia de datos de Amazon Kinesis creada en nombre del Amazon
Aurora clúster de la base de datos. Si integra secuencias de actividades de la base de datos con
herramientas de monitoreo, podrá monitorear y auditar la actividad de la base de datos.
• En la consola de Amazon RDS, puede monitorizar los siguientes elementos para sus recursos:
• Número de conexiones a una instancia de base de datos
• La cantidad de operaciones de lectura y escritura de una instancia de base de datos
• La cantidad de almacenamiento que utiliza actualmente una instancia de base de datos
• La cantidad de memoria y de CPU que se utiliza para una instancia de base de datos
596
Amazon Aurora Guía del usuario de Aurora
Herramientas de monitoreo
Para obtener más información acerca de estas comprobaciones, consulte Prácticas recomendadas de
Trusted Advisor (verificaciones).
• La página de inicio de CloudWatch muestra:
• Alarmas y estado actual
• Gráficos de alarmas y recursos
• Estado de los servicios
597
Amazon Aurora Guía del usuario de Aurora
Visualización de información clave de supervisión
Temas
• Visualización de un clúster de base de datos de Amazon Aurora (p. 599)
• Ver el estado del clúster de base de datos (p. 605)
• Visualización de una instancia de base de datos (p. 607)
• Visualización Amazon Aurora de recomendaciones (p. 610)
• Visualización de métricas de una instancia de base de datos (p. 615)
598
Amazon Aurora Guía del usuario de Aurora
Visualización de un clúster de base de datos
• Puede ver clústeres e instancias de base de datos en la consola de Amazon RDS eligiendo Databases
(Bases de datos) en el panel de navegación.
• Puede obtener información de los clústeres e instancias de base de datos con la AWS Command Line
Interface (AWS CLI).
• Puede obtener información de los clústeres e instancias de base de datos con la API de Amazon RDS.
Consola
En la consola de Amazon RDS, puede ver la información sobre un clúster de base de datos si elige
Databases (Bases de datos) desde el panel de navegación de la consola. También puede ver los detalles
sobre las instancias de base de datos que son miembros de un clúster de base de datos de Amazon
Aurora en la página Databases (Bases de datos).
La lista Databases (Bases de datos) muestra todos los clústeres de base de datos para su cuenta de AWS.
Al elegir un clúster de base de datos se muestra información sobre él y también una lista con las instancias
de base de datos que son miembros de ese clúster. Puede elegir el identificador de una instancia de base
de datos en la lista para ir directamente a su página de detalles en la consola de RDS.
Para ver la página de detalles de un clúster de base de datos, elija Databases (Bases de datos) en el panel
de navegación y, a continuación, elija el nombre del clúster de base de datos.
Puede modificar el clúster de base de datos si elige Databases (Bases de datos) en el panel de
navegación de la consola para ir a la lista Databases (Bases de datos). Para modificar un clúster de base
de datos, selecciónelo en la lista Databases (Bases de datos) y, a continuación, elija Modify (Modificar).
Para modificar una instancia de base de datos miembro de un clúster de base de datos, elija Databases
(Bases de datos) en el panel de navegación de la consola para dirigirse a la lista Databases (Bases de
datos).
Por ejemplo, la siguiente imagen muestra la página de detalles para el clúster llamado aurora-test.
El clúster de base de datos tiene cuatro instancias de base de datos mostradas en la lista DB identifier
(identificador de base de datos). La instancia de base de datos del escritor, dbinstance4, es la instancia
de base de datos principal para el clúster de base de datos.
599
Amazon Aurora Guía del usuario de Aurora
Visualización de un clúster de base de datos
Al hacer clic en el enlace del identificador de instancias de bases de datos dbinstance4, la consola de
Amazon RDS le muestra la página de detalles de la instancia de base de datos dbinstance4, como se
muestra en la imagen siguiente.
600
Amazon Aurora Guía del usuario de Aurora
Visualización de un clúster de base de datos
AWS CLI
Para ver información de un clúster de base de datos con la AWS CLI utilice el comando describe-db-
clusters. Por ejemplo, el comando de la AWS CLI siguiente muestra información del clúster de base de
datos todos los clústeres de base de datos la región us-east-1 para la cuenta de AWS configurada.
Si la AWS CLI está configurada para salida JSON, el comando devuelve lo siguiente.
{
"DBClusters": [
{
"Status": "available",
"Engine": "aurora",
"Endpoint": "sample-cluster1.cluster-123456789012.us-east-1.rds.amazonaws.com"
"AllocatedStorage": 1,
"DBClusterIdentifier": "sample-cluster1",
"MasterUsername": "mymasteruser",
"EarliestRestorableTime": "2016-03-30T03:35:42.563Z",
601
Amazon Aurora Guía del usuario de Aurora
Visualización de un clúster de base de datos
"DBClusterMembers": [
{
"IsClusterWriter": false,
"DBClusterParameterGroupStatus": "in-sync",
"DBInstanceIdentifier": "sample-replica"
},
{
"IsClusterWriter": true,
"DBClusterParameterGroupStatus": "in-sync",
"DBInstanceIdentifier": "sample-primary"
}
],
"Port": 3306,
"PreferredBackupWindow": "03:34-04:04",
"VpcSecurityGroups": [
{
"Status": "active",
"VpcSecurityGroupId": "sg-ddb65fec"
}
],
"DBSubnetGroup": "default",
"StorageEncrypted": false,
"DatabaseName": "sample",
"EngineVersion": "5.6.10a",
"DBClusterParameterGroup": "default.aurora5.6",
"BackupRetentionPeriod": 1,
"AvailabilityZones": [
"us-east-1b",
"us-east-1c",
"us-east-1d"
],
"LatestRestorableTime": "2016-03-31T20:06:08.903Z",
"PreferredMaintenanceWindow": "wed:08:15-wed:08:45"
},
{
"Status": "available",
"Engine": "aurora",
"Endpoint": "aurora-sample.cluster-123456789012.us-east-1.rds.amazonaws.com",
"AllocatedStorage": 1,
"DBClusterIdentifier": "aurora-sample-cluster",
"MasterUsername": "mymasteruser",
"EarliestRestorableTime": "2016-03-30T10:21:34.826Z",
"DBClusterMembers": [
{
"IsClusterWriter": false,
"DBClusterParameterGroupStatus": "in-sync",
"DBInstanceIdentifier": "aurora-replica-sample"
},
{
"IsClusterWriter": true,
"DBClusterParameterGroupStatus": "in-sync",
"DBInstanceIdentifier": "aurora-sample"
}
],
"Port": 3306,
"PreferredBackupWindow": "10:20-10:50",
"VpcSecurityGroups": [
{
"Status": "active",
"VpcSecurityGroupId": "sg-55da224b"
}
],
"DBSubnetGroup": "default",
"StorageEncrypted": false,
"DatabaseName": "sample",
"EngineVersion": "5.6.10a",
602
Amazon Aurora Guía del usuario de Aurora
Visualización de un clúster de base de datos
"DBClusterParameterGroup": "default.aurora5.6",
"BackupRetentionPeriod": 1,
"AvailabilityZones": [
"us-east-1b",
"us-east-1c",
"us-east-1d"
],
"LatestRestorableTime": "2016-03-31T20:00:11.491Z",
"PreferredMaintenanceWindow": "sun:03:53-sun:04:23"
}
]
}
API de RDS
Para ver información de un clúster de base de datos con la API de Amazon RDS, utilice la operación
DescribeDBClusters. Por ejemplo, el siguiente comando de la API de Amazon RDS muestra información
de todos los clústeres de base de datos la región us-east-1.
https://rds.us-east-1.amazonaws.com/
?Action=DescribeDBClusters
&MaxRecords=100
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Version=2014-10-31
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20140722/us-east-1/rds/aws4_request
&X-Amz-Date=20140722T200807Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=2d4f2b9e8abc31122b5546f94c0499bba47de813cb875f9b9c78e8e19c9afe1b
<DescribeDBClustersResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">
<DescribeDBClustersResult>
<DBClusters>
<DBCluster>
<Engine>aurora5.6</Engine>
<Status>available</Status>
<BackupRetentionPeriod>0</BackupRetentionPeriod>
<DBSubnetGroup>my-subgroup</DBSubnetGroup>
<EngineVersion>5.6.10a</EngineVersion>
<Endpoint>sample-cluster2.cluster-cbfvmgb0y5fy.us-east-1.rds.amazonaws.com</
Endpoint>
<DBClusterIdentifier>sample-cluster2</DBClusterIdentifier>
<PreferredBackupWindow>04:45-05:15</PreferredBackupWindow>
<PreferredMaintenanceWindow>sat:05:56-sat:06:26</PreferredMaintenanceWindow>
<DBClusterMembers/>
<AllocatedStorage>15</AllocatedStorage>
<MasterUsername>awsuser</MasterUsername>
</DBCluster>
<DBCluster>
<Engine>aurora5.6</Engine>
<Status>available</Status>
<BackupRetentionPeriod>0</BackupRetentionPeriod>
<DBSubnetGroup>my-subgroup</DBSubnetGroup>
<EngineVersion>5.6.10a</EngineVersion>
<Endpoint>sample-cluster3.cluster-cefgqfx9y5fy.us-east-1.rds.amazonaws.com</
Endpoint>
<DBClusterIdentifier>sample-cluster3</DBClusterIdentifier>
<PreferredBackupWindow>07:06-07:36</PreferredBackupWindow>
<PreferredMaintenanceWindow>tue:10:18-tue:10:48</PreferredMaintenanceWindow>
<DBClusterMembers>
603
Amazon Aurora Guía del usuario de Aurora
Visualización de un clúster de base de datos
<DBClusterMember>
<IsClusterWriter>true</IsClusterWriter>
<DBInstanceIdentifier>sample-cluster3-master</DBInstanceIdentifier>
</DBClusterMember>
<DBClusterMember>
<IsClusterWriter>false</IsClusterWriter>
<DBInstanceIdentifier>sample-cluster3-read1</DBInstanceIdentifier>
</DBClusterMember>
</DBClusterMembers>
<AllocatedStorage>15</AllocatedStorage>
<MasterUsername>awsuser</MasterUsername>
</DBCluster>
</DBClusters>
</DescribeDBClustersResult>
<ResponseMetadata>
<RequestId>d682b02c-1383-11b4-a6bb-172dfac7f170</RequestId>
</ResponseMetadata>
</DescribeDBClustersResponse>
604
Amazon Aurora Guía del usuario de Aurora
Ver el estado del clúster de base de datos
Aurora también usa otro estado llamado estado de mantenimiento, que se muestra en la columna
Maintenance (Mantenimiento) de la consola de Amazon RDS. Este valor indica el estado de
los parches de mantenimiento que se deben aplicar a un clúster de base de datos. El estado
de mantenimiento es independiente del estado del clúster de base de datos. Para obtener más
información acerca del estado de mantenimiento, consulte Aplicación de actualizaciones a un
clúster de base de datos o clúster de base de datos (p. 486).
Encuentre los valores de estado posibles para clústeres de base de datos en la siguiente tabla.
605
Amazon Aurora Guía del usuario de Aurora
Ver el estado del clúster de base de datos
606
Amazon Aurora Guía del usuario de Aurora
Visualización de una instancia de base de datos
Amazon RDS también usa otro estado llamado estado de mantenimiento, que se muestra en
la columna Maintenance (Mantenimiento) de la consola de Amazon RDS. Este valor indica el
estado de los parches de mantenimiento que se deben aplicar a una instancia de base de datos.
El estado de mantenimiento es independiente del estado de la instancia de base de datos.
Para obtener más información acerca del estado de mantenimiento, consulte Aplicación de
actualizaciones a un clúster de base de datos o clúster de base de datos (p. 486).
Encuentre los valores de estado posibles para instancias de base de datos en la siguiente tabla. Esta tabla
le muestra si se le facturará la instancia de base de datos y el almacenamiento, si se le facturará solo el
almacenamiento o si no se le facturará. Para todos los estados de instancia de base de datos, se le factura
siempre el uso de copia de seguridad.
607
Amazon Aurora Guía del usuario de Aurora
Visualización de una instancia de base de datos
inaccessible-encryption- No No se puede obtener acceso a la AWS KMS key utilizada para cifrar
credentials facturadoo descifrar la instancia de base de datos.
608
Amazon Aurora Guía del usuario de Aurora
Visualización de una instancia de base de datos
609
Amazon Aurora Guía del usuario de Aurora
Visualización Amazon Aurora de recomendaciones
610
Amazon Aurora Guía del usuario de Aurora
Visualización Amazon Aurora de recomendaciones
611
Amazon Aurora Guía del usuario de Aurora
Visualización Amazon Aurora de recomendaciones
612
Amazon Aurora Guía del usuario de Aurora
Visualización Amazon Aurora de recomendaciones
• Active (Activas): muestra las recomendaciones actuales que puede aplicar, descartar o programar.
• Dismissed (Descartadas): muestra las recomendaciones que se han descartado. Al elegir Dismissed
(Descartadas), puede aplicar estas recomendaciones descartadas.
• Scheduled (Programadas): muestra las recomendaciones que están programadas, pero no se
han aplicado aún. Estas recomendaciones se aplicarán en el siguiente periodo de mantenimiento
programado.
• Applied (Aplicadas): muestra las recomendaciones que se aplican actualmente.
En cualquier lista de recomendaciones, puede abrir una sección para ver las recomendaciones de esa
sección.
Para configurar las preferencias a la hora de mostrar las recomendaciones en cada sección, elija el
icono Preferences (Preferencias).
613
Amazon Aurora Guía del usuario de Aurora
Visualización Amazon Aurora de recomendaciones
a. Elija Active (Activas) y abra una o varias secciones para ver las recomendaciones en ellas.
b. Elija una o varias recomendaciones y seleccione Apply now (Aplicar ahora) (para aplicarlas
inmediatamente), Schedule (Programar) (para aplicarlas en el siguiente periodo de
mantenimiento) o Dismiss (Descartar).
Si aparece el botón Apply now (Aplicar ahora) para una recomendación, pero no está disponible
(aparece atenuado), la instancia de base de datos tampoco lo estará. Solo podrá aplicar
recomendaciones inmediatamente si el estado de la instancia de base de datos es available
(disponible). Por ejemplo, no podrá aplicar recomendaciones inmediatamente a la instancia de
base de datos si su estado es modifying (modificando). En este caso, espere a que la instancia de
base de datos esté disponible y, a continuación, aplique la recomendación.
Si no aparece el botón Apply now (Aplicar ahora) para una recomendación, no podrá aplicar
la recomendación con la página Recommendations (Recomendaciones). Puede modificar la
instancia de base de datos para aplicar la recomendación manualmente.
Para obtener más información sobre la modificación de un clúster de base de datos, consulte
Modificación de un clúster de base de datos de Amazon Aurora (p. 405).
Note
Al elegir Apply now (Aplicar ahora), puede producirse una breve interrupción de instancia
de base de datos.
614
Amazon Aurora Guía del usuario de Aurora
Visualización de métricas de una instancia de base de datos
A continuación, puede encontrar detalles sobre cómo consultar las métricas de su instancia de base de
datos mediante la consola de RDS y CloudWatch. Para obtener información acerca del monitoreo de
métricas para el sistema operativo de su instancia de base de datos en tiempo real mediante CloudWatch
Logs, consulte Monitoreo de las métricas del SO mediante la monitorización mejorada (p. 709).
Para ver métricas de base de datos y de sistema operativo para una instancia de base de datos
615
Amazon Aurora Guía del usuario de Aurora
Visualización de métricas de una instancia de base de datos
Tip
Para elegir el intervalo de tiempo de las métricas representadas por los gráficos puede utilizar
la lista de intervalos de tiempo.
Para obtener una vista más detallada, puede elegir cualquier gráfico. También puede aplicar
filtros específicos de métrica a los datos.
Para ver una lista completa de las métricas de Amazon RDS, vaya a Dimensiones y métricas de Amazon
RDS en la Guía del usuario de Amazon CloudWatch.
616
Amazon Aurora Guía del usuario de Aurora
Visualización de métricas de una instancia de base de datos
StartTime y EndTime proporcionados en este ejemplo son solo ilustrativos. Sustituya los
valores de hora de inicio y finalización adecuados para su instancia de base de datos.
Para ver las estadísticas de uso y desempeño de una instancia de base de datos
Los valores de StartTime y EndTime proporcionados en este ejemplo son solo ilustrativos. Sustituya los
valores de hora de inicio y finalización adecuados para su instancia de base de datos.
Para ver las estadísticas de uso y desempeño de una instancia de base de datos
• Statistics.member.1 = Average
• Namespace = AWS/RDS
• StartTime = 2009-10-16T00:00:00
• EndTime = 2009-10-16T00:02:00
• Period = 60
• MeasureName = FreeStorageSpace
617
Amazon Aurora Guía del usuario de Aurora
Monitorización de Aurora con CloudWatch
Si utiliza la Información sobre rendimiento de Amazon RDS, hay métricas adicionales disponibles.
Para obtener más información, consulte . Métricas de Información sobre rendimiento publicadas
en Amazon CloudWatch (p. 701).
Temas
• Métricas de Amazon Aurora (p. 618)
• Dimensiones de Aurora (p. 637)
• Disponibilidad de métricas de Aurora en la consola de Amazon RDS. (p. 637)
• Consulta de métricas de Aurora en la consola de Amazon RDS (p. 640)
Para consultar las métricas de base de datos globales de Aurora, consulte Métricas de Amazon
CloudWatch para el reenvío de escritura (p. 288). Para obtener métricas de consulta paralelas de Aurora,
consulte Monitoreo de Consultas en paralelo (p. 966).
Temas
• Métricas de nivel de clúster para Amazon Aurora (p. 618)
• Métricas de nivel de instancia para Amazon Aurora (p. 625)
Aurora Global DB
AuroraGlobalDBDataTransferBytes En una base de datos Aurora Bytes
Data Transfer Bytes global de Aurora, la MySQL
(Bytes) (Bytes de cantidad de datos de y Aurora
transferencia de registros de rehacer PostgreSQL
datos de base de transferida desde la región
datos global de de AWS maestra a una
Aurora [Bytes]) región de AWS secundaria.
618
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
Aurora Global DB
AuroraGlobalDBReplicatedWriteIO En una base de datos Aurora Recuento
Replicated Write IO global de Aurora, el MySQL
(E/S de escritura número de operaciones de y Aurora
replicada de base E/S de escritura replicadas PostgreSQL
de datos global de desde la región de AWS
Aurora) principal al volumen de
clúster en una región de
AWS secundaria. Los
cálculos de facturación
para las regiones de AWS
secundarias en una base
de datos global utilizan
VolumeWriteIOPS
para tener en cuenta
las escrituras realizadas
dentro del clúster. Los
cálculos de facturación
para la región de AWS
principal en una base
de datos global utilizan
VolumeWriteIOPS
para tener en cuenta la
actividad de escritura
dentro de dicho clúster y
AuroraGlobalDBReplicatedWriteIO
para tener en cuenta la
replicación entre regiones
dentro de la base de datos
global.
Aurora Global DB
AuroraGlobalDBReplicationLag Para una base de datos Aurora Milisegundos
Replication Lag global de Aurora, el retardo MySQL
(Milliseconds) que se da cuando la y Aurora
(Retardo de replicación actualiza desde PostgreSQL
replicación de la región de AWS principal.
base de datos
global de Aurora
[milisegundos])
619
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
Si desea detectar si su
clúster de Aurora se acerca
al límite de tamaño de 128
tebibytes (TiB), este valor
es más simple y de más
confianza para monitorear
que VolumeBytesUsed.
AuroraVolumeBytesLeftTotal
tiene en cuenta el
almacenamiento
utilizado para la
organización interna y
otras asignaciones que no
afectan a la facturación del
almacenamiento.
620
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
Backtrack Change
BacktrackChangeRecordsCreationRate El número de registros de Aurora Recuento
Records Creation cambios en el seguimiento MySQL cada 5
Rate (Count) [Tasa de datos anteriores que se minutos
de creación de crean a lo largo de cinco
registros de cambio minutos en su clúster de
de búsqueda de base de datos.
datos anteriores
(Recuento)
Backtrack Change
BacktrackChangeRecordsStored El número de registros Aurora Recuento
Records Stored de cambios de datos MySQL
(Count) (Registros de anteriores que se han
cambio de búsqueda utilizado en el clúster de
de datos anteriores base de datos.
almacenados
[Recuento])
Backup Retention
BackupRetentionPeriodStorageUsed La cantidad total de Aurora Bytes
Period Storage almacenamiento de copias MySQL
Used (GiB) de seguridad utilizada para y Aurora
(Almacenamiento permitir la característica PostgreSQL
del periodo de de restauración a un
retención de copia de momento dado dentro del
seguridad utilizado periodo de retención de
[GiB]) copias de seguridad del
clúster de base de datos
de Aurora. Esta cantidad
se incluye en el total
notificado por la métrica
TotalBackupStorageBilled.
Se calcula de forma
independiente para cada
clúster de Aurora. Para
obtener instrucciones,
consulte Descripción del
uso de almacenamiento
de copias de seguridad en
Aurora (p. 540).
621
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
622
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
623
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
624
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
Si su clúster de
Aurora MySQL
utiliza consulta
en paralelo, es
posible que vea
un aumento
en los valores
VolumeReadIOPS.
Las consultas en
paralelo no utilizan
el grupo de búfer.
Por lo tanto, si
bien las consultas
son rápidas, este
procesamiento
optimizado
puede dar como
resultado un
aumento de las
operaciones
de lectura y los
cargos asociados.
625
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
626
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
627
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
628
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
• Sesiones que ya no
tienen conexión de red,
pero que la base de
datos no ha limpiado.
• Sesiones creadas por el
motor de base de datos
para sus propios fines.
• Sesiones creadas por
las capacidades de
ejecución paralela del
motor de base de datos.
• Sesiones creadas por el
programador de trabajos
del motor de base de
datos.
• Conexiones de Amazon
Aurora
629
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
630
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
631
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
632
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
MaximumUsedTransactionIDs
MaximumUsedTransactionIDs La antigüedad del ID de Aurora Recuento
transacción sin vaciar más PostgreSQL
antiguo, en transacciones.
Si este valor alcanza
2 146 483 648 (2^31 -
1 000 000), la base de
datos se fuerza en modo
de solo lectura, a fin
de evitar el reinicio de
los ID de transacción.
Para obtener más
información, consulte
Preventing Transaction
ID Wraparound Failures
en la documentación de
PostgreSQL.
Rendimiento de la
NetworkTransmitThroughput El rendimiento de red Aurora Bytes por
transmisión de red (MB/ enviado a los clientes por MySQL segundo
segundo) cada instancia del clúster y Aurora (la consola
de base de datos de PostgreSQL muestra
Aurora. Este desempeño megabytes
no incluye el tráfico de red por
entre las instancias del segundo)
clúster de base de datos
de y el volumen de clúster.
633
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
634
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
Rendimiento de
StorageNetworkReceiveThroughput El rendimiento de red Aurora Bytes por
recepción de red (MB/ recibido del subsistema de MySQL segundo
segundo) almacenamiento de Aurora y Aurora
por cada instancia del PostgreSQL
clúster de base de datos.
Rendimiento de la
StorageNetworkTransmitThroughput El rendimiento de red Aurora Bytes por
transmisión de red (MB/ enviado al subsistema de MySQL segundo
segundo) almacenamiento de Aurora y Aurora
por cada instancia del PostgreSQL
clúster de base de datos
de Aurora MySQL.
635
Amazon Aurora Guía del usuario de Aurora
Métricas de Aurora
636
Amazon Aurora Guía del usuario de Aurora
Dimensiones de Aurora
Dimensiones de Aurora
Los datos de las métricas de Aurora se pueden filtrar usando cualesquiera de las dimensiones de la tabla
siguiente:
DatabaseClass Todas las instancias de una clase de base de datos. Por ejemplo,
puede agregar métricas para todas las instancias que pertenezcan a
la clase de base de datos db.r5.large.
EngineName Sólo el nombre del motor identificado. Por ejemplo, puede agregar
métricas para todas las instancias que tengan el nombre de motor
mysql.
Temas
• Vista de métricas más recientes (p. 637)
• Métricas de Aurora disponibles en casos específicos (p. 638)
• Métricas de Aurora que no están disponibles (p. 639)
Categoría Métricas
SQL ActiveTransactions
637
Amazon Aurora Guía del usuario de Aurora
Disponibilidad de métricas de Aurora
en la consola de Amazon RDS.
Categoría Métricas
BlockedTransactions
BufferCacheHitRatio
CommitLatency
CommitThroughput
DatabaseConnections
DDLLatency
DDLThroughput
Deadlocks
DMLLatency
DMLThroughput
LoginFailures
ResultSetCacheHitRatio
SelectLatency
SelectThroughput
AuroraReplicaLagMaximum
AuroraReplicaLagMinimum
CPUCreditBalance
CPUCreditUsage
CPUUtilization
FreeableMemory
FreeLocalStorage
NetworkReceiveThroughput
Implementación AuroraReplicaLag
BufferCacheHitRatio
ResultSetCacheHitRatio
SelectThroughput
638
Amazon Aurora Guía del usuario de Aurora
Disponibilidad de métricas de Aurora
en la consola de Amazon RDS.
• Las métricas CPUCreditBalance y CPUCreditUsage se muestran solo para las clases de instancia
de Aurora MySQL db.t2 y para las clases de instancia de Aurora PostgreSQL db.t3.
• Las siguientes métricas se muestran con nombres diferentes, como se indica en la lista:
DDLThroughput DDL
• Las siguientes métricas se aplican a un clúster de base de datos Aurora completo, pero se muestran
solo al ver instancias de base de datos para un clúster de base de datos Aurora en la consola de
Amazon RDS:
• VolumeBytesUsed
• VolumeReadIOPs
• VolumeWriteIOPs
• Las siguientes métricas se muestran en megabytes y no en bytes en la consola de Amazon RDS:
• FreeableMemory
• FreeLocalStorage
• NetworkReceiveThroughput
• NetworkTransmitThroughput
• AuroraBinlogReplicaLag
• DeleteLatency
• DeleteThroughput
• EngineUptime
• InsertLatency
• InsertThroughput
• NetworkThroughput
• Queries
• UpdateLatency
• UpdateThroughput
639
Amazon Aurora Guía del usuario de Aurora
Consulta de métricas en la consola de Aurora
640
Amazon Aurora Guía del usuario de Aurora
Consulta de métricas en la consola de Aurora
641
Amazon Aurora Guía del usuario de Aurora
Supervisión con información sobre rendimiento
Temas
• Información general de Información sobre rendimiento (p. 642)
• Activación y desactivación de Información sobre rendimiento (p. 647)
• Habilitar Performance Schema para Performance Insights en Aurora MySQL (p. 650)
• Configuración de directivas de acceso para información sobre rendimiento (p. 653)
• Análisis de métricas mediante el panel de Información sobre rendimiento (p. 656)
• Adición de métricas de contador al panel de Información sobre rendimiento (p. 679)
• Recuperación de métricas con la API de Performance Insights (p. 687)
• Métricas de Información sobre rendimiento publicadas en Amazon CloudWatch (p. 701)
• Registro de llamadas de Información sobre rendimiento mediante el uso de AWS CloudTrail (p. 702)
Temas
• Carga de base de datos (p. 642)
• Máximo de la CPU (p. 645)
• El motor de base de datos de Amazon Aurora admite Información sobre rendimiento (p. 646)
• AWSSoporte de región de para Información sobre rendimiento (p. 646)
• Costo de Información sobre rendimiento (p. 646)
Temas
• Sesiones activas (p. 643)
• Sesiones activas promedio (p. 643)
• Ejecuciones activas promedio (p. 643)
• Dimensiones (p. 644)
642
Amazon Aurora Guía del usuario de Aurora
Información general de Información sobre rendimiento
Sesiones activas
Una sesión de base de datos representa el diálogo de una aplicación con una base de datos relacional.
Una sesión activa es una conexión que ha enviado trabajo al motor de base de datos y está esperando
una respuesta.
Una sesión está activa cuando se ejecuta en la CPU o a la espera de que un recurso esté disponible para
que pueda continuar. Por ejemplo, una sesión activa puede esperar a que se lea una página en la memoria
y, a continuación, consumir CPU mientras lee los datos de la página.
1 2 2 2 sesiones/1 muestra
2 0 1 2 sesiones/2 muestras
3 4 2 6 sesiones/3 muestras
4 0 1.5 6 sesiones/4 muestras
5 4 2 10 sesiones/5 muestras
En el ejemplo anterior, la carga de base de datos para el intervalo de tiempo es de 2 AAS. Esta medición
significa que, en promedio, 2 sesiones estuvieron activas a la vez durante el plazo en que se tomaron las 5
muestras.
Una analogía para la carga de base de datos es la actividad en un almacén. Supongamos que el
almacén da trabajo a 100 empleados. Si entra 1 pedido, 1 empleado cumple el pedido mientras los
demás empleados están inactivos. Si entran 100 pedidos, los 100 empleados llevan a cabo los pedidos
simultáneamente. Si hace un muestreo periódico de cuántos empleados están activos durante un plazo
determinado, puede calcular el número medio de empleados activos. El cálculo muestra que, en promedio,
N empleados están ocupados cumpliendo pedidos en un momento dado. Si el promedio fue de 50
empleados ayer y 75 empleados hoy, aumentó el nivel de actividad en el almacén. Del mismo modo, la
carga de base de datos aumenta a medida que aumenta la actividad de la sesión.
643
Amazon Aurora Guía del usuario de Aurora
Información general de Información sobre rendimiento
60 120 2 120 segundos de
ejecución/60 segundos
transcurridos
En la mayoría de los casos, el AAS y el AAE de una consulta dan aproximadamente lo mismo. Sin
embargo, dado que las entradas de los cálculos son diferentes orígenes de datos, los cálculos suelen
variar ligeramente.
Dimensiones
La métrica db.load es distinta de las demás métricas de series temporales porque puede desglosarla en
subcomponentes llamados dimensiones. Las dimensiones son una especie de categorías “dividir por” de
las diferentes características de la métrica DBLoad.
Cuando se diagnostican problemas de rendimiento, las siguientes dimensiones suelen ser las más útiles:
Temas
• Eventos de espera (p. 644)
• SQL principal (p. 645)
Para obtener una lista completa de las dimensiones de los motores de Aurora, consulte Carga de base de
datos dividida por dimensiones (p. 659).
Eventos de espera
Un evento de espera hace que una instrucción SQL espere a que ocurra un evento específico antes de
que pueda continuar ejecutándose. Los eventos de espera son una dimensión o categoría importante de la
carga de base de datos, porque indican dónde se ve obstaculizado el trabajo.
Cada sesión activa se ejecuta en la CPU o en espera. Por ejemplo, las sesiones consumen CPU cuando
buscan memoria para un búfer, llevan a cabo un cálculo o ejecutan código de procedimiento. Cuando las
sesiones no consumen CPU, pueden estar en espera de que se libere un búfer de memoria, se lea un
archivo de datos o se escriba un registro. Cuanto más tiempo espere una sesión por los recursos, menos
tiempo se ejecutará en la CPU.
Cuando ajusta una base de datos, a menudo intenta averiguar los recursos que esperan las sesiones. Por
ejemplo, dos o tres eventos de espera podrían representar el 90 por ciento de la carga de base de datos.
644
Amazon Aurora Guía del usuario de Aurora
Información general de Información sobre rendimiento
Esta medida significa que, en promedio, las sesiones activas pasan la mayor parte del tiempo en espera
de un pequeño número de recursos. Si puede averiguar la causa de estas esperas, puede intentar una
solución.
• Para ver una lista de los eventos de espera de Aurora MySQL que se utilizan con más frecuencia,
consulte Eventos de espera de Aurora MySQL (p. 1149). Para obtener información sobre cómo ajustar
con estos eventos de espera, consulte Ajuste de Aurora MySQL con eventos de espera y estados de
subprocesos (p. 902).
• Para obtener más información sobre todos los MySQL, consulte Wait Event Summary Tables (Tablas de
resumen de eventos de espera) en la documentación de MySQL.
• Para ver una lista de los eventos de espera de Aurora PostgreSQL que se utilizan con más frecuencia,
consulte Eventos de espera de Amazon Aurora PostgreSQL (p. 1691). Para obtener información
sobre cómo ajustar con estos eventos de espera, consulte Ajuste con eventos de espera de Aurora
PostgreSQL (p. 1482).
• Para obtener más información sobre todos los eventos de espera de PostgreSQL, consulte PostgreSQL
Wait Events en la documentación de PostgreSQL.
SQL principal
Mientras que los eventos de espera muestran los cuellos de botella, la dimensión SQL principal indica qué
consultas contribuyen más a la carga de base de datos. Por ejemplo, es posible que, aunque haya muchas
consultas ejecutándose actualmente en la base de datos, una de ellas consuma el 99 % de la carga de
base de datos. En este caso, es posible que la carga alta indique un problema con la consulta.
Máximo de la CPU
En el panel, el gráfico de Carga de base de datos recopila, agrega y muestra información de la sesión.
Para ver si las sesiones activas superan el máximo de la CPU, observe su relación con la línea Máximo de
la CPU virtual. El valor Máximo de la CPU virtual se determina por el número de núcleos de vCPU (CPU
virtual) de la instancia de base de datos. Para Aurora Serverless v2, Max vCPU (vCPU máximo) representa
el número estimado de vCPU.
Si la carga de base de datos suele estar por encima de la línea Máximo de la CPU virtual y el estado de
espera principal es CPU, la CPU del sistema está sobrecargada. En este caso, quizá sea conveniente
limitar las conexiones con la instancia, ajustar las consultas SQL con una carga de CPU alta o pensar
en la posibilidad de usar una clase de instancia de mayor tamaño. Si hay instancias altas y uniformes en
cualquier estado de espera, eso indica que es posible que haya problemas de contención de recursos o
cuellos de botella que hay que resolver. Esto puede ser así aunque la carga de base de datos no cruce la
línea de Máximo de la CPU virtual.
645
Amazon Aurora Guía del usuario de Aurora
Información general de Información sobre rendimiento
Note
646
Amazon Aurora Guía del usuario de Aurora
Activación y desactivación de Información sobre rendimiento
Si utiliza Performance Insights junto con la base de datos global de Aurora, debe habilitar Performance
Insights de forma individual en las instancias de base de datos de cada región de AWS. Para obtener
más información, consulte Supervisión de una base de datos Amazon Aurora global con Amazon RDS la
información sobre rendimiento (p. 302).
El agente Performance Insights consume CPU y memoria limitadas en el host de base de datos. Cuando la
carga de la base de datos es alta, el agente limita el impacto en el rendimiento mediante la recopilación de
datos con menos frecuencia.
Consola
En la consola, puede activar o desactivar Información sobre rendimiento al crear o modificar una nueva
instancia de base de datos.
Cuando cree una nueva instancia de base de datos, active Información sobre rendimiento con la opción
Enable Performance Insights (Activar Información sobre rendimiento) de la sección Performance Insights
(Información sobre rendimiento). También puede elegir Disable Performance Insights (Desactivar
Información sobre rendimiento).
Para crear una instancia de base de datos, siga las instrucciones del motor de base de datos específico
que se indican en Creación de un clúster de base de datos de Amazon Aurora (p. 136).
647
Amazon Aurora Guía del usuario de Aurora
Activación y desactivación de Información sobre rendimiento
Si elige Enable Performance Insights (Activar Información sobre rendimiento), dispondrá de las siguientes
opciones:
• Retention (Retención): el número de días durante los que se conservan los datos de Performance
Insights. Elija entre 7 días (el valor predeterminado) o 2 años.
• AWS KMS key – especifique su AWS KMS key. Performance Insights cifra todos los datos
potencialmente confidenciales con su propia clave de KMS. Las datos se cifran en reposo y en tránsito.
Para obtener más información, consulte Configuración de una política de AWS KMS para Performance
Insights (p. 655).
Para activar o desactivar Información sobre rendimiento en una instancia de base de datos a
través de la consola
Si elige Enable Performance Insights (Activar Información sobre rendimiento), dispondrá de las
siguientes opciones:
• Retention (Retención): el número de días durante los que se conservan los datos de Performance
Insights. Elija entre 7 días (el valor predeterminado) o 2 años. Si eligió Long Term Retention (2
years) (Retención a largo plazo [2 años]) al habilitar Información sobre rendimiento, All (Todos)
muestra 2 años de datos. Si en su lugar eligió Default (7 days) (Predeterminado [7 días]), All (Todo)
muestra solo la semana pasada.
648
Amazon Aurora Guía del usuario de Aurora
Activación y desactivación de Información sobre rendimiento
• AWS KMS key – especifique su clave de KMS. Performance Insights cifra todos los datos
potencialmente confidenciales con su propia clave de KMS. Las datos se cifran en reposo y en
tránsito. Para obtener más información, consulte Cifrado de recursos de Amazon Aurora (p. 1840).
5. Elija Continue.
6. En Scheduling of Modifications (Programación de modificaciones), elija Apply immediately (Aplicar
inmediatamente). Si elige Apply during the next scheduled maintenance window (Aplicar durante la
próxima ventana de mantenimiento programada), la instancia ignora esta configuración y habilita de
inmediato Información sobre rendimiento.
7. Elija Modify instance (Modificar instancia).
AWS CLI
Cuando utilice el comando create-db-instance de AWS CLI, active Información sobre rendimiento
especificando --enable-performance-insights. También puede desactivar Información sobre
rendimiento especificando --no-enable-performance-insights.
Estos valores también pueden especificarse con los siguientes comandos de AWS CLI:
• create-db-instance-read-replica
• modify-db-instance
• restore-db-instance-from-s3
Para activar o desactivar Información sobre rendimiento en una instancia de base de datos a
través de AWS CLI
Para Windows:
Cuando habilita Performance Insights, puede especificar, si lo desea, la cantidad de tiempo en días que se
conservan los datos de Performance Insights con la opción --performance-insights-retention-
period. Los valores válidos son 7 (predeterminado) o 731 (2 años).
649
Amazon Aurora Guía del usuario de Aurora
Habilitar el Performance Schema para Aurora MySQL
El ejemplo siguiente habilita Performance Insights para sample-db-instance y especifica que los datos
de Performance Insights se conserven durante dos años.
Para Windows:
API de RDS
Si crea una nueva instancia de base de datos utilizando la operación CreateDBInstance de la API de
Amazon RDS, active Información sobre rendimiento estableciendo EnablePerformanceInsights en
True. Para desactivar Información sobre rendimiento, establezca EnablePerformanceInsights en
False.
• ModifyDBInstance
CreateDBInstanceReadReplica
• RestoreDBInstanceFromS3
Temas
• Información general de Performance Schema (p. 650)
• Opciones para habilitar Performance Schema (p. 651)
• Configuración del Esquema de rendimiento para administración automática (p. 652)
650
Amazon Aurora Guía del usuario de Aurora
Habilitar el Performance Schema para Aurora MySQL
Cuando Performance Schema está habilitado para Aurora MySQL, Performance Insights proporciona
información más detallada. Por ejemplo, Performance Insights muestra la carga de la base de datos
categorizada por eventos de espera detallados. Puede utilizar eventos de espera para identificar cuellos
de botella. Sin Performance Schema, Performance Insights informa estados de usuario, como insertar y
enviar, que no lo ayudan a identificar cuellos de botella.
• Permita que la Información sobre rendimiento gestione automáticamente los parámetros requeridos del
Esquema de rendimiento.
Cuando crea una instancia de base de datos de Aurora MySQL con Información sobre rendimiento
habilitada, también se habilita el Esquema de rendimiento. En este caso, la Información sobre
rendimiento administra automáticamente sus parámetros de Esquema de rendimiento.
Para que la Información sobre rendimiento muestre los eventos de espera, debe establecer todos los
parámetros de Esquema de rendimiento como se muestra en la tabla siguiente.
performance-schema-consumer-events-waits- ON
current
performance-schema-instrument wait/%=ON
performance-schema-consumer-global- ON
instrumentation
performance-schema-consumer-thread- ON
instrumentation
651
Amazon Aurora Guía del usuario de Aurora
Habilitar el Performance Schema para Aurora MySQL
Note
Para obtener más información, consulte Opciones de comando de esquema de rendimiento y Opción de
esquema de rendimiento y referencia de variable en la documentación de MySQL.
performance_schema es 0 or 1 performance_schema es 0
652
Amazon Aurora Guía del usuario de Aurora
Políticas de información sobre rendimiento
Para obtener información sobre cómo modificar los parámetros de la instancia de base de datos, consulte
Modificación de parámetros de un grupo de parámetros de base de datos (p. 378). Para obtener más
información acerca del panel, consulte Análisis de métricas mediante el panel de Información sobre
rendimiento (p. 656). Para obtener más información sobre el esquema de rendimiento de MySQL,
consulte el Manual de referencia de MySQL 8.0.
Además, si especificó una clave administrada por el cliente al activar Performance Insights, asegúrese de
que los usuarios de su cuenta tengan los permisos kms:Decrypt y kms:GenerateDataKey sobre la
clave de KMS.
• Concede acceso a los servicios relacionados utilizados por la consola de Amazon RDS. Por ejemplo,
esta directiva concede acceso a notificaciones de eventos mediante Amazon SNS.
• Otorga los permisos necesarios para usar la información sobre rendimiento.
653
Amazon Aurora Guía del usuario de Aurora
Políticas de información sobre rendimiento
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "pi:*",
"Resource": "arn:aws:pi:us-east-1:111122223333:metrics/rds/*"
},
{
"Effect": "Allow",
"Action": "rds:DescribeDBInstances",
"Resource": "*"
}
]
}
654
Amazon Aurora Guía del usuario de Aurora
Políticas de información sobre rendimiento
Amazon RDS utiliza la Clave administrada por AWS para su nueva instancia de base de datos. Amazon
RDS crea una Clave administrada por AWS para su cuenta de AWS. Su cuenta de AWS tiene una Clave
administrada por AWS diferente para Amazon RDS para cada región de AWS.
• Elija una clave administrada por el cliente.
Si especifica una clave administrada por el cliente, los usuarios de su cuenta que llamen a la API de
Performance Insights necesitarán los permisos kms:Decrypt y kms:GenerateDataKey sobre la clave
de KMS. Puede configurar estos permisos a través de directivas de IAM. Sin embargo, le recomendamos
que administre estos permisos a través de su directiva de clave KMS. Para obtener más información,
consulte Uso de políticas clave en AWS KMS.
Example
La siguiente política de clave de ejemplo muestra cómo agregar instrucciones a la clave de KMS. Estas
instrucciones permiten el acceso a la información sobre rendimiento. Dependiendo de cómo utilice la clave
KMS, es posible que desee cambiar algunas restricciones. Antes de agregar sentencias a la directiva,
elimine todos los comentarios.
{
"Version" : "2012-10-17",
"Id" : "your-policy",
"Statement" : [ {
//This represents a statement that currently exists in your policy.
}
....,
655
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
//Starting here, add new statement to your policy for Performance Insights.
//We recommend that you add one new statement for every RDS instance
{
"Sid" : "Allow viewing RDS Performance Insights",
"Effect": "Allow",
"Principal": {
"AWS": [
//One or more principals allowed to access Performance Insights
"arn:aws:iam::444455556666:role/Role1"
]
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey"
],
"Resource": "*",
"Condition" : {
"StringEquals" : {
//Restrict access to only RDS APIs (including Performance Insights).
//Replace region with your AWS Region.
//For example, specify us-west-2.
"kms:ViaService" : "rds.region.amazonaws.com"
},
"ForAnyValue:StringEquals": {
//Restrict access to only data encrypted by Performance Insights.
"kms:EncryptionContext:aws:pi:service": "rds",
"kms:EncryptionContext:service": "pi",
656
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
1. Métricas de contador: muestra los datos para métricas de contador de rendimiento específicas.
2. Gráfico de carga de base de datos: muestra cómo se compara la carga de base de datos con la
capacidad de instancia de base de datos representada por la línea de vCPU máximas.
3. Principales elementos: muestra las dimensiones principales que contribuyen a la carga de la base de
datos.
Temas
• Gráfico Counter metrics (Métricas de contador) (p. 657)
• Gráfico Database load (Carga de base de datos) (p. 659)
• Tabla de dimensiones principales (p. 661)
657
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Para cambiar los contadores de rendimiento, elija Manage Metrics (Administrar métricas). Puede
seleccionar varias métricas del sistema operativo o métricas de la base de datos, como se muestra en la
siguiente captura de pantalla. Para ver los detalles de cualquier métrica, sitúe el cursor sobre el nombre de
la métrica.
Para obtener más información, consulte . Adición de métricas de contador al panel de Información sobre
rendimiento (p. 679).
658
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Puede elegir ver la carga como sesiones activas agrupadas por cualquier dimensión admitida. En la tabla
siguiente se muestran las dimensiones admitidas para los distintos motores.
Host Sí Sí
SQL Sí Sí
Usuario Sí Sí
Esperas Sí Sí
Aplicación Sí No
Base de datos Sí Sí
Tipo de sesión Sí No
En la imagen siguiente, se muestran las dimensiones de una instancia de base de datos de PostgreSQL.
659
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Para consultar los detalles de un elemento de carga de base de datos dentro de una dimensión, pase el
cursor sobre el nombre de elemento. En la imagen siguiente, se muestran los detalles de una instrucción
de SQL.
Para consultar los detalles de cualquier elemento para el periodo de tiempo seleccionado en la leyenda,
coloque el cursor sobre ese elemento.
660
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
661
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Para obtener más información sobre cómo analizar las consultas mediante la pestaña Top SQL (SQL
principal), consulte Información general sobre la pestaña Top SQL (SQL principal) (p. 665).
En instancias de base de datos con Performance Insights habilitado, también puede acceder al panel
eligiendo el elemento Sessions (Sesiones) en la lista de instancias de base de datos. En Current
activity (Actividad actual), el elemento Sessions (Sesiones) muestra la carga de la base de datos en
el como promedio de sesiones activas en los últimos cinco minutos. La barra muestra gráficamente
la carga. Cuando la barra está vacía, la instancia de base de datos está inactiva. Conforme aumenta
la carga, la barra se va completando en azul. Cuando la carga supera el número de CPU virtuales
(vCPU) en la clase de instancia de base de datos, la barra cambia a rojo, lo cual indica un posible
cuello de botella.
4. (Opcional) Elija un intervalo de tiempo diferente seleccionando un botón en la parte superior derecha.
Por ejemplo, para cambiar el intervalo a 5 horas, seleccione 5h.
662
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
La carga de base de datos agrupada por esperas y principales consultas de SQL es la vista
predeterminada del panel de Performance Insights. Esta combinación normalmente ofrece la máxima
información sobre problemas de desempeño. La carga de la base de datos agrupada por esperas indica si
hay algún cuello de botella de simultaneidad o recursos en la base de datos. En este caso, la pestaña SQL
de la tabla de elementos de carga principales indica qué consultas están contribuyendo a esa carga.
1. Revise el gráfico Database load (Carga de base de datos) para ver si hay algún incidente de carga de
base de datos que sobrepase la línea Max CPU (Máximo de CPU).
2. De ser así, fíjese en el gráfico Database load (Carga de base de datos) e identifique qué estado o
estados de espera son los principales responsables.
663
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
3. Para identificar las consultas de resumen que están provocando la carga, consulte qué consultas de la
pestaña SQL de la tabla de elementos de carga principales están contribuyendo más a esos estados de
espera. Para identificarlas, utilice la columna DB Load by Wait (Carga de base de datos por espera).
4. Elija una de estas consultas de resumen en la pestaña SQL para ampliarla y ver las consultas
secundarias que contiene.
Temas
• Información general sobre la pestaña Top SQL (SQL principal) (p. 665)
• Análisis de consultas en ejecución en Aurora MySQL (p. 669)
• Análisis de consultas en ejecución en Aurora PostgreSQL (p. 672)
664
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Temas
• Estadísticas de SQL (p. 665)
• Load by waits (AAS) (Carga por esperas [AAS]) (p. 666)
• Información de SQL (p. 666)
• Preferencias (p. 667)
Estadísticas de SQL
Las estadísticas de SQL son métricas relacionadas con el rendimiento de las consultas SQL. Por ejemplo,
Información sobre rendimiento podría mostrar ejecuciones por segundo o filas procesadas por segundo.
Información sobre rendimiento recopila estadísticas solo para las consultas más comunes. Normalmente,
coinciden con las consultas principales por carga mostradas en el panel de Información sobre rendimiento.
Un resumen de SQL es un compuesto de múltiples consultas reales que son similares en estructura, pero
que pueden tener diferentes valores literales. El resumen reemplaza los valores codificados por un signo
de interrogación. Por ejemplo, un resumen podría ser SELECT * FROM emp WHERE lname= ?. Este
resumen podría incluir las siguientes consultas secundarias:
Todas las líneas de la tabla Top SQL (SQL principal) muestra estadísticas relevantes de la instrucción o
resumen de SQL, como se muestra en el ejemplo siguiente.
Para ver las instrucciones SQL literales de un resumen, seleccione la consulta y, a continuación, elija el
símbolo más (+). En la siguiente captura de pantalla, la consulta seleccionada es un resumen.
665
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Note
Un resumen SQL agrupa sentencias SQL similares, pero no redacta información confidencial.
En Top SQL (SQL principal), la columna Load by waits (AAS) (Carga por espera [AAS]) ilustra el
porcentaje de carga de la base de datos asociada con cada elemento de carga principal. Esta columna
refleja la carga de ese elemento por cualquier agrupación que se haya seleccionado actualmente en el
gráfico de carga de base de datos.
Por ejemplo, es posible que pueda agrupar el gráfico DB load (Carga de base de datos) por estados de
espera. Puede examinar consultas SQL en la tabla de elementos de carga principal. En este caso, la barra
DB Load by Waits (Carga de base de datos por esperas) estaría dimensionada, segmentada y dividida por
colores para mostrar en qué proporción contribuye esa consulta a un estado de espera. También muestra
qué estados de espera afectan a la consulta seleccionada.
Información de SQL
En la tabla Top SQL (SQL principal), puede abrir una instrucción para consultar su información. La
información aparece en el panel inferior.
666
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
• Support SQL ID (Compatibilidad con ID SQL): un valor hash del ID de SQL. Este valor sirve solo para
hacer referencia a un ID de SQL al trabajar con AWS Support. AWS Support no tiene acceso a sus ID de
SQL y texto SQL reales.
• Support Digest ID (Compatibilidad con ID de resumen): un valor hash del ID de resumen. Este valor
sirve solo para hacer referencia a un ID de resumen al trabajar con AWS Support. AWS Support no tiene
acceso a sus ID de resumen y texto SQL reales.
Preferencias
Para controlar las estadísticas mostradas en la pestaña Top SQL (SQL principal), puede elegir el icono
Preferences (Preferencias).
667
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Para habilitar las estadísticas que desea que estén visibles en la pestaña Top SQL (SQL principal), utilice
el ratón para desplazarse hasta la parte inferior de la ventana y, a continuación, elija Continue (Continuar).
668
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Temas
• Tabla de resumen en Aurora MySQL (p. 669)
• Estadísticas por segundo de Aurora MySQL (p. 669)
• Estadísticas por llamada de Aurora MySQL (p. 670)
• Visualización de las estadísticas de SQL de Aurora MySQL (p. 670)
Esta tabla no tiene una política de expulsión. Cuando la tabla está llena, se muestra el siguiente mensaje
en la AWS Management Console:
Performance Insights is unable to collect SQL Digest statistics on new queries because the
table events_statements_summary_by_digest is full.
Please truncate events_statements_summary_by_digest table to clear the issue. Check the
User Guide for more details.
En esta situación, Aurora MySQL no lleva a cabo un seguimiento de las consultas SQL. Para solucionar
este problema, la Información sobre rendimiento trunca automáticamente la tabla de resumen cuando se
cumplen estas dos condiciones:
Métrica Unidad
db.sql_tokenized.stats.sum_select_range_check_per_sec
Control de rango de seleccionar por segundo
669
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Métrica Unidad
db.sql_tokenized.stats.sum_sort_merge_passes_per_sec
Pases de fusión de clasificación por segundo
db.sql_tokenized.stats.sum_created_tmp_disk_tables_per_sec
Tablas de disco temporales creadas por segundo
db.sql_tokenized.stats.sum_created_tmp_tables_per_sec
Tablas temporales creadas por segundo
Métrica Unidad
db.sql_tokenized.stats.sum_select_range_check_per_call
Control de rango de s por llamada
db.sql_tokenized.stats.sum_sort_merge_passes_per_call
Pases de fusión de clasificación por llamada
db.sql_tokenized.stats.sum_created_tmp_disk_tables_per_call
Tablas de disco temporales creadas por llamada
db.sql_tokenized.stats.sum_created_tmp_tables_per_call
Tablas temporales creadas por llamada
670
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
4.
Seleccione qué estadísticas mostrar seleccionando el icono de engranaje de la esquina superior derecha
del gráfico.
La siguiente captura de pantalla muestra las preferencias para las instancias de base de datos de Aurora
MySQL de .
671
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Temas
• Estadísticas de resumen de Aurora PostgreSQL: (p. 672)
• Estadísticas de resumen por segundo de Aurora PostgreSQL (p. 673)
• Estadísticas de resumen por llamada de Aurora PostgreSQL (p. 673)
• Visualización de estadísticas de SQL de Aurora PostgreSQL (p. 674)
Para ver las estadísticas de resumen de SQL, debe cargar la biblioteca de pg_stat_statements. La
biblioteca se carga de forma predeterminada para los clústeres de base de datos de Aurora PostgreSQL
compatibles con PostgreSQL 10. Esta biblioteca se habilita manualmente para los clústeres de base de
datos de Aurora PostgreSQL compatibles con PostgreSQL 9.6. Para habilitarlo de forma manual, añada
pg_stat_statements a shared_preload_libraries en el grupo de parámetros de base de datos
asociado a la instancia de base de datos. Después, reinicie la instancia de base de datos. Para obtener
más información, consulte Trabajo con los grupos de parámetros de base de datos y grupos de parámetros
de clúster de base de datos (p. 369).
Note
Con Información sobre rendimiento solo se pueden recopilar estadísticas para consultas en
pg_stat_activity que no estén truncadas. De forma predeterminada, las bases de datos de
672
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Las siguientes estadísticas de resumen de SQL se encuentran disponibles para las instancias de base de
datos de Aurora PostgreSLQ.
Métrica Unidad
Las siguientes métricas ofrecen estadísticas por llamada para una instrucción SQL.
Métrica Unidad
673
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Métrica Unidad
Para obtener más información acerca de estas métricas, consulte pg_stat_statements en la documentación
de PostgreSQL.
Las estadísticas están disponibles en la pestaña Top SQL (SQL principal) del gráfico Database load (Carga
de base de datos).
674
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
675
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Puede copiar el texto que se muestra en el tablero de mandos. Si ve una instrucción SQL secundaria,
también puede elegir Descargar.
Aurora PostgreSQL maneja el texto de manera diferente. Con el panel de Información sobre rendimiento,
puede ver y descargar hasta 500 bytes. Para acceder a más de 500 bytes, establezca el límite de tamaño
con el parámetro de instancia de base de datos track_activity_query_size. El valor máximo es
102 400 bytes. Para ver o descargar texto de más de 500 bytes, utilice la AWS Management Console y no
la CLI o API de Información sobre rendimiento. Para obtener más información, consulte Ajuste del limite de
texto SQL para las instancias de base de datos de Aurora PostgreSQL (p. 677).
676
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Las instrucciones SQL con texto superior a 500 bytes son similares a las que se indican en la siguiente
imagen.
El panel de Performance Insights puede mostrar hasta 4096 bytes por cada instrucción SQL.
5. (Opcional) Elija Copiar para copiar la instrucción SQL mostrada o elija Descargar para descargar la
instrucción SQL para consultar el texto SQL hasta el límite del motor de base de datos.
Note
Ajuste del limite de texto SQL para las instancias de base de datos de Aurora
PostgreSQL
Para las instancias de base de datos de Aurora PostgreSQL, puede controlar el límite de texto SQL que se
puede mostrar en el panel de Información sobre rendimiento.
677
Amazon Aurora Guía del usuario de Aurora
Análisis de métricas mediante el panel
de Información sobre rendimiento
Puede aumentar el número de bytes para aumentar el tamaño del texto SQL visible en el panel de
Performance Insights. El límite del parámetro es 102.400 bytes. Para obtener más información sobre el
parámetro de instancia de base de datos track_activity_query_size, consulte Run-time Statistics
(Estadísticas de tiempo de ejecución) en la documentación de PostgreSQL.
Para modificar el parámetro, cambie el ajuste en el grupo de parámetros asociado a la instancia de base
de datos de Aurora PostgreSQL.
1. Cree un nuevo grupo de parámetros de instancia de base de datos para el motor de base de datos y la
versión del motor de base de datos adecuados.
2. Establezca el parámetro en el nuevo grupo de parámetros.
3. Asocie el nuevo grupo de parámetros a la instancia de base de datos.
Para obtener más información sobre configurar un parámetro de instancia de base de datos, consulte
Modificación de parámetros de un grupo de parámetros de base de datos (p. 378).
En la interfaz de Performance Insights, se puede seleccionar una pequeña parte del gráfico de carga y
ampliarlo para ver los detalles.
Para ampliar una parte del gráfico de carga, elija la hora de inicio y arrastre el ratón hasta el final del
período que desee. Al hacer esto, el área seleccionada queda resaltada. Cuando suelte el ratón, el gráfico
de carga amplía la región de AWS seleccionada y se vuelve a calcular la tabla de Elementos principales.
678
Amazon Aurora Guía del usuario de Aurora
Adición de métricas de contador al panel
Temas
• Contadores de sistemas operativos de Información sobre rendimiento (p. 679)
• Contadores de Performance Insights para Aurora MySQL (p. 682)
• Contadores de Información sobre rendimiento para Aurora PostgreSQL (p. 685)
679
Amazon Aurora Guía del usuario de Aurora
Adición de métricas de contador al panel
680
Amazon Aurora Guía del usuario de Aurora
Adición de métricas de contador al panel
in swap os.swap.in
rx network os.network.rx
tx network os.network.tx
681
Amazon Aurora Guía del usuario de Aurora
Adición de métricas de contador al panel
Temas
• Contadores nativos para Aurora MySQL (p. 682)
• Contadores no nativos para Aurora MySQL (p. 683)
682
Amazon Aurora Guía del usuario de Aurora
Adición de métricas de contador al panel
683
Amazon Aurora Guía del usuario de Aurora
Adición de métricas de contador al panel
innodb_buffer_pool_hit_rate
Caché db.Cache.innoDB_buffer_pool_hit_rate
El porcentaje de lecturas 100 *
que InnoDB podría innodb_buffer_pool_read_request
cumplir del grupo de (innodb_buffer_pool_read_reques
búferes. +
innodb_buffer_pool_reads)
innodb_buffer_pool_usageCaché db.Cache.innoDB_buffer_pool_usage
El porcentaje del grupo de Innodb_buffer_pool_pages_data /
búferes de InnoDB que Innodb_buffer_pool_pages_total
contiene datos (páginas). * 100.0
Note
Al usar tablas
comprimidas,
este valor puede
variar. Para
obtener más
información,
consulte la
información
acerca de
Innodb_buffer_pool_pages_data
y
Innodb_buffer_pool_pages_total
en Server
Status Variables
(Variables
de estado de
servidor) en la
documentación
de MySQL.
active_transactions Transacciones
db.Transactions.active_transactions
Las transacciones activas SELECT COUNT(1) AS
totales. active_transactions
FROM
INFORMATION_SCHEMA.INNODB_TRX
684
Amazon Aurora Guía del usuario de Aurora
Adición de métricas de contador al panel
Temas
• Contadores nativos para Aurora PostgreSQL (p. 685)
• Contadores no nativos para Aurora PostgreSQL (p. 686)
685
Amazon Aurora Guía del usuario de Aurora
Adición de métricas de contador al panel
checkpoint_sync_latency
Punto de db.Checkpoint.checkpoint_sync_latency
La cantidad de tiempo checkpoint_sync_time /
comprobación invertido en la parte del (checkpoints_timed +
procesamiento del punto checkpoints_req)
de comprobación en la
que los archivos se han
sincronizado en el disco.
686
Amazon Aurora Guía del usuario de Aurora
Recuperación de métricas con
la API de Performance Insights
checkpoint_write_latency
Punto de db.Checkpoint.checkpoint_write_latency
La cantidad de tiempo checkpoint_write_time /
comprobación invertido en la parte del (checkpoints_timed +
procesamiento del punto de checkpoints_req)
comprobación en la que los
archivos se han escrito en el
disco.
Con Información sobre rendimiento se ofrece una vista propia del dominio de la carga de la base de datos
entendida como el promedio de sesiones activas (AAS). Esta métrica aparece para los consumidores de
API como conjunto de datos de serie temporal bidimensional. La dimensión temporal de los datos ofrece
datos de carga de base de datos para cada punto temporal del intervalo de tiempo consultado. Cada punto
temporal descompone la carga global en relación con las dimensiones solicitadas, tales como SQL, Wait-
event, User o Host, medidas en ese punto temporal.
La información sobre rendimiento de Amazon RDS monitorea el Amazon Aurora para poder analizar y
solucionar los problemas de desempeño de la base de datos. Una forma de ver los datos de Performance
Insights es a través de la AWS Management Console. Performance Insights además ofrece una API
pública, para poder consultar en sus propios datos. Puede utilizar la API para hacer lo siguiente:
Para utilizar la API de Performance Insights, habilite Performance Insights en una de sus instancias de
base de datos de Amazon RDS. Para obtener información sobre la habilitación de Performance Insights,
consulte Activación y desactivación de Información sobre rendimiento (p. 647). Para obtener información
sobre la API de Información sobre rendimiento, consulte la Referencia de la API de Información sobre
rendimiento de Amazon RDS.
687
Amazon Aurora Guía del usuario de Aurora
Recuperación de métricas con
la API de Performance Insights
ListAvailableResourceDimensions
aws pi list-available- Recupere las dimensiones que se
resource-dimensions pueden consultar para cada tipo de
métrica especificado en una instancia
especificada.
Temas
• AWS CLI de Performance Insights (p. 688)
• Recuperación de métricas de series temporales (p. 689)
• AWS CLIEjemplos de para Información sobre rendimiento (p. 690)
688
Amazon Aurora Guía del usuario de Aurora
Recuperación de métricas con
la API de Performance Insights
aws pi help
Si no tiene instalada AWS CLI, consulte Instalación de la interfaz de línea de comandos de AWS en la
Guía del usuario de AWS CLI para obtener información sobre cómo instalarla.
Por ejemplo, la AWS Management Console usa GetResourceMetrics para completar el gráfico Counter
Metrics (Métricas de contador) y el gráfico Database Load (Carga de la base de datos), como se muestra
en la siguiente imagen.
Todas las métricas que devuelve GetResourceMetrics son métricas de series temporales estándar con
la excepción de db.load. Esta métrica se muestra en el gráfico Database Load (Carga de base de datos).
La métrica db.load es distinta de las demás métricas de series temporales porque puede desglosarla en
subcomponentes llamados dimensiones. En la imagen anterior, db.load está desglosado y agrupado por
los estados de espera que forman el db.load.
Note
Para obtener información sobre las métricas de contador devueltas por GetResourceMetrics, consulte
Adición de métricas de contador al panel de Información sobre rendimiento (p. 679).
• Media: el valor medio de la métrica durante un período de tiempo. Añada .avg al nombre de la métrica.
• Mínimo: el valor mínimo de la métrica durante un período de tiempo. Añada .min al nombre de la
métrica.
• Máximo: el valor máximo de la métrica durante un período de tiempo. Añada .max al nombre de la
métrica.
689
Amazon Aurora Guía del usuario de Aurora
Recuperación de métricas con
la API de Performance Insights
• Suma: la suma de los valores de la métrica durante un periodo de tiempo. Añada .sum al nombre de la
métrica.
• Número de muestras: El número de veces que se recopiló la métrica durante un período de tiempo.
Añada .sample_count al nombre de la métrica.
Supongamos, por ejemplo, que una métrica se recopila durante 300 segundos (5 minutos) y que la
métrica se recopila una vez cada minuto. Los valores para cada minuto son 1, 2, 3, 4 y 5. En este caso, se
devuelven los siguientes cálculos:
• Media: 3
• Mínimo: 1
• Máximo: 5
• Suma: 15
• Número de muestras: 5
Para obtener información acerca del uso del comando get-resource-metrics de la AWS CLI, consulte
get-resource-metrics.
Para la opción --metric-queries, especifique una o más consultas para las que desea obtener
resultados. Cada consulta consta de un parámetro Metric obligatorio y de parámetros opcionales
GroupBy y Filter. A continuación, se muestra un ejemplo de una especificación de opción --metric-
queries.
{
"Metric": "string",
"GroupBy": {
"Group": "string",
"Dimensions": ["string", ...],
"Limit": integer
},
"Filter": {"string": "string"
...}
Temas
• Recuperación de métricas de contador (p. 690)
• Recuperación del promedio de carga de base de datos para los eventos de espera
principales (p. 693)
• Recuperación del promedio de carga de base de datos para las instrucciones SQL
principales (p. 695)
• Recuperación del promedio de carga de base de datos filtrado por SQL (p. 697)
• Recuperación del texto completo de una instrucción SQL (p. 700)
690
Amazon Aurora Guía del usuario de Aurora
Recuperación de métricas con
la API de Performance Insights
El siguiente ejemplo muestra cómo recopilar los mismos datos que utiliza la AWS Management Console
para generar los dos gráficos de métricas de contador.
aws pi get-resource-metrics \
--service-type RDS \
--identifier db-ID \
--start-time 2018-10-30T00:00:00Z \
--end-time 2018-10-30T01:00:00Z \
--period-in-seconds 60 \
--metric-queries '[{"Metric": "os.cpuUtilization.user.avg" },
{"Metric": "os.cpuUtilization.idle.avg"}]'
Para Windows:
aws pi get-resource-metrics ^
--service-type RDS ^
--identifier db-ID ^
--start-time 2018-10-30T00:00:00Z ^
--end-time 2018-10-30T01:00:00Z ^
--period-in-seconds 60 ^
--metric-queries '[{"Metric": "os.cpuUtilization.user.avg" },
{"Metric": "os.cpuUtilization.idle.avg"}]'
También puede hacer que un comando sea más fácil de leer especificando un archivo para la opción --
metrics-query. El siguiente ejemplo utiliza un archivo llamado query.json para la opción. El archivo
tiene el siguiente contenido.
[
{
"Metric": "os.cpuUtilization.user.avg"
},
{
"Metric": "os.cpuUtilization.idle.avg"
}
]
691
Amazon Aurora Guía del usuario de Aurora
Recuperación de métricas con
la API de Performance Insights
aws pi get-resource-metrics \
--service-type RDS \
--identifier db-ID \
--start-time 2018-10-30T00:00:00Z \
--end-time 2018-10-30T01:00:00Z \
--period-in-seconds 60 \
--metric-queries file://query.json
Para Windows:
aws pi get-resource-metrics ^
--service-type RDS ^
--identifier db-ID ^
--start-time 2018-10-30T00:00:00Z ^
--end-time 2018-10-30T01:00:00Z ^
--period-in-seconds 60 ^
--metric-queries file://query.json
El nombre de la métrica utiliza puntos para clasificar la métrica en categorías útiles y el elemento final es
una función. En el ejemplo, la función es avg para cada consulta. Al igual que con Amazon CloudWatch,
las funciones admitidas son min, max, total y avg.
{
"Identifier": "db-XXX",
"AlignedStartTime": 1540857600.0,
"AlignedEndTime": 1540861200.0,
"MetricList": [
{ //A list of key/datapoints
"Key": {
"Metric": "os.cpuUtilization.user.avg" //Metric1
},
"DataPoints": [
//Each list of datapoints has the same timestamps and same number of items
{
"Timestamp": 1540857660.0, //Minute1
"Value": 4.0
},
{
"Timestamp": 1540857720.0, //Minute2
"Value": 4.0
},
{
"Timestamp": 1540857780.0, //Minute 3
692
Amazon Aurora Guía del usuario de Aurora
Recuperación de métricas con
la API de Performance Insights
"Value": 10.0
}
//... 60 datapoints for the os.cpuUtilization.user.avg metric
]
},
{
"Key": {
"Metric": "os.cpuUtilization.idle.avg" //Metric2
},
"DataPoints": [
{
"Timestamp": 1540857660.0, //Minute1
"Value": 12.0
},
{
"Timestamp": 1540857720.0, //Minute2
"Value": 13.5
},
//... 60 datapoints for the os.cpuUtilization.idle.avg metric
]
}
] //end of MetricList
} //end of response
La MetricList en la respuesta tiene una serie de entradas, cada una con una entrada Key y una entrada
DataPoints. Cada DataPoint tiene un Timestamp y un Value. Cada lista de Datapoints tiene 60
puntos de datos porque las consultas son datos por minuto sobre una hora, con Timestamp1/Minute1,
Timestamp2/Minute2 y así sucesivamente, hasta Timestamp60/Minute60.
Como la consulta es para dos métricas de contador distintas, hay dos elementos en la respuesta
MetricList.
[
{
"Metric": "db.load.avg",
"GroupBy": { "Group": "db.wait_event", "Limit": 7 }
}
]
aws pi get-resource-metrics \
--service-type RDS \
--identifier db-ID \
--start-time 2018-10-30T00:00:00Z \
--end-time 2018-10-30T01:00:00Z \
693
Amazon Aurora Guía del usuario de Aurora
Recuperación de métricas con
la API de Performance Insights
--period-in-seconds 60 \
--metric-queries file://query.json
Para Windows:
aws pi get-resource-metrics ^
--service-type RDS ^
--identifier db-ID ^
--start-time 2018-10-30T00:00:00Z ^
--end-time 2018-10-30T01:00:00Z ^
--period-in-seconds 60 ^
--metric-queries file://query.json
{
"Identifier": "db-XXX",
"AlignedStartTime": 1540857600.0,
"AlignedEndTime": 1540861200.0,
"MetricList": [
{ //A list of key/datapoints
"Key": {
//A Metric with no dimensions. This is the total db.load.avg
"Metric": "db.load.avg"
},
"DataPoints": [
//Each list of datapoints has the same timestamps and same number of items
{
"Timestamp": 1540857660.0, //Minute1
"Value": 0.5166666666666667
},
{
"Timestamp": 1540857720.0, //Minute2
"Value": 0.38333333333333336
},
{
"Timestamp": 1540857780.0, //Minute 3
"Value": 0.26666666666666666
}
//... 60 datapoints for the total db.load.avg key
]
},
{
"Key": {
//Another key. This is db.load.avg broken down by CPU
"Metric": "db.load.avg",
"Dimensions": {
"db.wait_event.name": "CPU",
"db.wait_event.type": "CPU"
}
},
"DataPoints": [
{
"Timestamp": 1540857660.0, //Minute1
"Value": 0.35
},
{
"Timestamp": 1540857720.0, //Minute2
"Value": 0.15
694
Amazon Aurora Guía del usuario de Aurora
Recuperación de métricas con
la API de Performance Insights
},
//... 60 datapoints for the CPU key
]
},
//... In total we have 8 key/datapoints entries, 1) total, 2-8) Top Wait Events
] //end of MetricList
} //end of response
En esta respuesta, hay ocho entradas en la MetricList. Hay una entrada para el db.load.avg total
y siete entradas para el db.load.avg divididas según uno de los siete eventos de espera principales. A
diferencia del primer ejemplo, como había una dimensión de agrupación, debe haber una clave para cada
agrupación de la métrica. No puede haber solo una clave para cada métrica, como en el caso de uso de
métrica de contador básica.
• db.sql – la instrucción SQL completa, como select * from customers where customer_id =
123
• db.sql_tokenized – la instrucción SQL tokenizada, como select * from customers where
customer_id = ?
Al analizar el desempeño de la base de datos, puede resultar útil tener en cuenta instrucciones SQL
que solo se diferencien en sus parámetros como un elemento de lógica. Así pues, puede utilizar
db.sql_tokenized al consultar. Sin embargo, sobre todo cuando le interese explicar planes, a veces
es más útil examinar instrucciones SQL completas con parámetros y consultar agrupando por db.sql.
Existe una relación principal-secundaria entre instrucciones SQL tokenizadas y completas, con varias
instrucciones SQL completas (secundarias) agrupadas bajo la misma instrucción SQL tokenizada
(principal).
El comando en este ejemplo es similar al comando en Recuperación del promedio de carga de base
de datos para los eventos de espera principales (p. 693). Sin embargo, el archivo query.json tiene los
elementos indicados a continuación.
[
{
"Metric": "db.load.avg",
"GroupBy": { "Group": "db.sql_tokenized", "Limit": 10 }
}
]
aws pi get-resource-metrics \
--service-type RDS \
--identifier db-ID \
--start-time 2018-10-29T00:00:00Z \
--end-time 2018-10-30T00:00:00Z \
--period-in-seconds 3600 \
--metric-queries file://query.json
Para Windows:
695
Amazon Aurora Guía del usuario de Aurora
Recuperación de métricas con
la API de Performance Insights
aws pi get-resource-metrics ^
--service-type RDS ^
--identifier db-ID ^
--start-time 2018-10-29T00:00:00Z ^
--end-time 2018-10-30T00:00:00Z ^
--period-in-seconds 3600 ^
--metric-queries file://query.json
Este ejemplo consulta durante 24 horas, con un periodo de una hora en segundos.
{
"AlignedStartTime": 1540771200.0,
"AlignedEndTime": 1540857600.0,
"Identifier": "db-XXX",
Esta respuesta tiene 11 entradas en la MetricList (1 total, 10 SQL tokenizadas principales) y cada
entrada tiene 24 DataPoints por hora.
Para consultas SQL tokenizadas, hay tres entradas en cada lista de dimensiones:
696
Amazon Aurora Guía del usuario de Aurora
Recuperación de métricas con
la API de Performance Insights
Al realizar consultas, puede ser conveniente especificar un Group en GroupBy. Sin embargo, para un
control de más precisión sobre los datos que se devuelven, especifique la lista de dimensiones. Por
ejemplo, si todo lo que se necesita es db.sql_tokenized.statement, entonces se puede añadir un
atributo Dimensions al archivo query.json.
[
{
"Metric": "db.load.avg",
"GroupBy": {
"Group": "db.sql_tokenized",
"Dimensions":["db.sql_tokenized.statement"],
"Limit": 10
}
}
]
La imagen anterior muestra que se ha seleccionado una consulta concreta y el gráfico de línea de área
apilada de principales sesiones activas promedio se limita a esa consulta. Aunque se siguen consultando
los siete eventos de espera generales principales, se filtra el valor de la respuesta. El filtro hace que solo
tenga en cuenta las sesiones que coinciden con el filtro concreto.
La consulta de API correspondiente en este ejemplo es similar al comando en Recuperación del promedio
de carga de base de datos para las instrucciones SQL principales (p. 695). Sin embargo, el archivo
query.json tiene los elementos indicados a continuación.
697
Amazon Aurora Guía del usuario de Aurora
Recuperación de métricas con
la API de Performance Insights
[
{
"Metric": "db.load.avg",
"GroupBy": { "Group": "db.wait_event", "Limit": 5 },
"Filter": { "db.sql_tokenized.id": "AKIAIOSFODNN7EXAMPLE" }
}
]
aws pi get-resource-metrics \
--service-type RDS \
--identifier db-ID \
--start-time 2018-10-30T00:00:00Z \
--end-time 2018-10-30T01:00:00Z \
--period-in-seconds 60 \
--metric-queries file://query.json
Para Windows:
aws pi get-resource-metrics ^
--service-type RDS ^
--identifier db-ID ^
--start-time 2018-10-30T00:00:00Z ^
--end-time 2018-10-30T01:00:00Z ^
--period-in-seconds 60 ^
--metric-queries file://query.json
{
"Identifier": "db-XXX",
"AlignedStartTime": 1556215200.0,
"MetricList": [
{
"Key": {
"Metric": "db.load.avg"
},
"DataPoints": [
{
"Timestamp": 1556218800.0,
"Value": 1.4878117913832196
},
{
"Timestamp": 1556222400.0,
"Value": 1.192823803967328
}
]
},
{
"Key": {
"Metric": "db.load.avg",
"Dimensions": {
"db.wait_event.type": "io",
"db.wait_event.name": "wait/io/aurora_redo_log_flush"
}
},
"DataPoints": [
{
"Timestamp": 1556218800.0,
"Value": 1.1360544217687074
698
Amazon Aurora Guía del usuario de Aurora
Recuperación de métricas con
la API de Performance Insights
},
{
"Timestamp": 1556222400.0,
"Value": 1.058051341890315
}
]
},
{
"Key": {
"Metric": "db.load.avg",
"Dimensions": {
"db.wait_event.type": "io",
"db.wait_event.name": "wait/io/table/sql/handler"
}
},
"DataPoints": [
{
"Timestamp": 1556218800.0,
"Value": 0.16241496598639457
},
{
"Timestamp": 1556222400.0,
"Value": 0.05163360560093349
}
]
},
{
"Key": {
"Metric": "db.load.avg",
"Dimensions": {
"db.wait_event.type": "synch",
"db.wait_event.name": "wait/synch/mutex/innodb/
aurora_lock_thread_slot_futex"
}
},
"DataPoints": [
{
"Timestamp": 1556218800.0,
"Value": 0.11479591836734694
},
{
"Timestamp": 1556222400.0,
"Value": 0.013127187864644107
}
]
},
{
"Key": {
"Metric": "db.load.avg",
"Dimensions": {
"db.wait_event.type": "CPU",
"db.wait_event.name": "CPU"
}
},
"DataPoints": [
{
"Timestamp": 1556218800.0,
"Value": 0.05215419501133787
},
{
"Timestamp": 1556222400.0,
"Value": 0.05805134189031505
}
]
},
{
699
Amazon Aurora Guía del usuario de Aurora
Recuperación de métricas con
la API de Performance Insights
"Key": {
"Metric": "db.load.avg",
"Dimensions": {
"db.wait_event.type": "synch",
"db.wait_event.name": "wait/synch/mutex/innodb/lock_wait_mutex"
}
},
"DataPoints": [
{
"Timestamp": 1556218800.0,
"Value": 0.017573696145124718
},
{
"Timestamp": 1556222400.0,
"Value": 0.002333722287047841
}
]
}
],
"AlignedEndTime": 1556222400.0
} //end of response
En esta respuesta, todos los valores se filtran según la contribución del SQL tokenizado
AKIAIOSFODNN7EXAMPLE especificado en el archivo query.json. Las claves también podrían seguir un
orden distinto de una consulta sin un filtro, porque el SQL filtrado afectaba a los cinco eventos de espera
principales.
aws pi get-dimension-key-details \
--service-type RDS \
--identifier db-10BCD2EFGHIJ3KL4M5NO6PQRS5 \
--group db.sql \
--group-identifier my-sql-id \
--requested-dimensions statement
Para Windows:
aws pi get-dimension-key-details ^
--service-type RDS ^
--identifier db-10BCD2EFGHIJ3KL4M5NO6PQRS5 ^
--group db.sql ^
--group-identifier my-sql-id ^
--requested-dimensions statement
En este ejemplo, los detalles de las dimensiones están disponibles. Por lo tanto, Performance Insights
recupera el texto completo de la instrucción SQL, sin truncarlo.
{
"Dimensions":[
{
700
Amazon Aurora Guía del usuario de Aurora
Métricas publicadas en CloudWatch
Métrica Descripción
Note
Estas métricas se publican en CloudWatch solo si hay una carga en la instancia de base de datos.
Puede examinar estas métricas mediante la consola de CloudWatch, la AWS CLI o la API de CloudWatch.
Por ejemplo, puede obtener las estadísticas para la métrica DBLoad ejecutando el comando get-metric-
statistics.
{
"Datapoints": [
701
Amazon Aurora Guía del usuario de Aurora
Registro de llamadas de Información sobre
rendimiento mediante el uso de AWS CloudTrail
{
"Timestamp": "2018-07-19T21:30:00Z",
"Unit": "None",
"Average": 2.1
},
{
"Timestamp": "2018-07-19T21:34:00Z",
"Unit": "None",
"Average": 1.7
},
{
"Timestamp": "2018-07-19T21:35:00Z",
"Unit": "None",
"Average": 2.8
},
{
"Timestamp": "2018-07-19T21:31:00Z",
"Unit": "None",
"Average": 1.5
},
{
"Timestamp": "2018-07-19T21:32:00Z",
"Unit": "None",
"Average": 1.8
},
{
"Timestamp": "2018-07-19T21:29:00Z",
"Unit": "None",
"Average": 3.0
},
{
"Timestamp": "2018-07-19T21:33:00Z",
"Unit": "None",
"Average": 2.4
}
],
"Label": "DBLoad"
}
Para obtener más información acerca de CloudWatch, consulte ¿Qué es Amazon CloudWatch? en la Guía
del usuario de Amazon CloudWatch.
Para obtener más información acerca de CloudTrail, consulte la Guía del usuario de AWS CloudTrail.
702
Amazon Aurora Guía del usuario de Aurora
Registro de llamadas de Información sobre
rendimiento mediante el uso de AWS CloudTrail
Para mantener un registro continuo de los eventos de su cuenta de AWS, incluidos los eventos de
Información sobre rendimiento, cree un registro de seguimiento. Un registro de seguimiento permite a
CloudTrail enviar archivos de registro a un bucket de Amazon S3. De forma predeterminada, cuando se
crea un registro de seguimiento en la consola, el registro de seguimiento se aplica a todas las regiones
de AWS. El seguimiento registra los eventos de todas las regiones de AWS en la partición de AWS y
envía los archivos de registro al bucket de Amazon S3 especificado. También es posible configurar otros
servicios de AWS para analizar en profundidad y actuar en función de los datos de eventos recopilados
en los registros de CloudTrail. Para obtener más información, consulte los siguientes temas en la guía del
usuario de AWS CloudTrail:
CloudTrail registra todas las operaciones de Información sobre rendimiento que se documentan en la
Referencia de la API de Información sobre rendimiento. Por ejemplo, las llamadas a las operaciones
DescribeDimensionKeys y GetResourceMetrics generan entradas en los archivos de registro de
CloudTrail.
Cada entrada de registro o evento contiene información acerca de quién generó la solicitud. La información
de identidad del usuario le ayuda a determinar lo siguiente:
En el ejemplo que sigue se muestra una entrada de registro de CloudTrail que ilustra la operación
GetResourceMetrics.
703
Amazon Aurora Guía del usuario de Aurora
Registro de llamadas de Información sobre
rendimiento mediante el uso de AWS CloudTrail
"eventVersion": "1.05",
"userIdentity": {
"type": "IAMUser",
"principalId": "AKIAIOSFODNN7EXAMPLE",
"arn": "arn:aws:iam::123456789012:user/johndoe",
"accountId": "123456789012",
"accessKeyId": "AKIAI44QH8DHBEXAMPLE",
"userName": "johndoe"
},
"eventTime": "2019-12-18T19:28:46Z",
"eventSource": "pi.amazonaws.com",
"eventName": "GetResourceMetrics",
"awsRegion": "us-east-1",
"sourceIPAddress": "72.21.198.67",
"userAgent": "aws-cli/1.16.240 Python/3.7.4 Darwin/18.7.0 botocore/1.12.230",
"requestParameters": {
"identifier": "db-YTDU5J5V66X7CXSCVDFD2V3SZM",
"metricQueries": [
{
"metric": "os.cpuUtilization.user.avg"
},
{
"metric": "os.cpuUtilization.idle.avg"
}
],
"startTime": "Dec 18, 2019 5:28:46 PM",
"periodInSeconds": 60,
"endTime": "Dec 18, 2019 7:28:46 PM",
"serviceType": "RDS"
},
"responseElements": null,
"requestID": "9ffbe15c-96b5-4fe6-bed9-9fccff1a0525",
"eventID": "08908de0-2431-4e2e-ba7b-f5424f908433",
"eventType": "AwsApiCall",
"recipientAccountId": "123456789012"
}
704
Amazon Aurora Guía del usuario de Aurora
Análisis de rendimiento con DevOps Guru for RDS
DevOps Guru detecta, analiza y hace recomendaciones para problemas operativos para todos los motores
de base de datos de Amazon RDS. Para extender esta capacidad, Amazon DevOps Guru for RDS aplica
el machine learning a las métricas de Información sobre rendimiento para las bases de datos de Amazon
Aurora. Estas funciones de monitoreo permiten a DevOps Guru for RDS detectar y diagnosticar cuellos de
botella en el rendimiento y recomendar acciones correctivas específicas. Para obtener más información,
consulte Overview of DevOps Guru for RDS en la Guía del usuario de Amazon DevOps Guru.
Temas
• Beneficios de DevOps Guru for RDS (p. 705)
• Cómo funciona DevOps Guru for RDS (p. 706)
• Configuración de DevOps Guru for RDS (p. 706)
Obtiene las siguientes ventajas del análisis detallado de DevOps Guru for RDS:
Diagnóstico rápido
DevOps Guru for RDS monitorea y analiza continuamente la telemetría de bases de datos.
Información sobre rendimiento, Monitoreo mejorado y Amazon CloudWatch recopilan datos de
telemetría para su clúster de base de datos. DevOps Guru for RDS utiliza técnicas estadísticas y de
machine learning para extraer estos datos y detectar anomalías. Para obtener más información acerca
de los datos de telemetría, consulte Monitoring DB load with Performance Insights on Amazon Aurora
(Monitoreo de la carga de base de datos con información sobre rendimiento en Amazon Aurora)
y Monitoring the OS by using Enhanced Monitoring (Monitoreo de las métricas del SO mediante
monitoreo mejorado) en la Guía del usuario de Amazon Aurora.
Resolución rápida
Cada anomalía identifica el problema del rendimiento y sugiere vías de investigación o medidas
correctivas. Por ejemplo, DevOps Guru for RDS podría recomendar investigar eventos de espera
específicos. O podría recomendarle que ajuste la configuración del grupo de aplicaciones para limitar
el número de conexiones de base de datos. Según estas recomendaciones, puede resolver los
problemas de rendimiento más rápido que mediante la solución de problemas de forma manual.
Conocimiento profundo de los ingenieros de Amazon
Para detectar problemas de rendimiento y ayudarle a resolver los cuellos de botella, DevOps
Guru for RDS se basa en el machine learning (ML). Los ingenieros de bases de datos de Amazon
contribuyeron al desarrollo de DevOps Guru para los hallazgos de RDS, que encapsulan muchos años
705
Amazon Aurora Guía del usuario de Aurora
Cómo funciona DevOps Guru for RDS
Insights
La información es un conjunto de anomalías relacionadas que detecta DevOps Guru. Si DevOps Guru for
RDS detecta problemas de rendimiento en las instancias de bases de datos de Amazon Aurora, publica
información en el panel de DevOps Guru. Para obtener más información acerca de la información, consulte
Trabajar con insights en DevOps Guru en la Guía del usuario de Amazon DevOps Guru.
Anomalías
En DevOps Guru for RDS, una anomalía es un patrón que se desvía de lo que se considera un rendimiento
normal para la base de datos de Amazon Aurora.
Anomalías causales
Una anomalía causal es una anomalía de nivel superior dentro de la información. Database load (DB load)
(Carga de base de datos) es la anomalía causal de DevOps Guru for RDS.
Para medir el impacto del rendimiento, una anomalía asigna un nivel de gravedad de Alto, Mediano o Bajo.
Para obtener más información, consulte Conceptos clave de DevOps Guru for RDS en la Guía del usuario
de Amazon DevOps Guru.
Si DevOps Guru detecta una anomalía en la instancia de base de datos, se le avisará en la página
Databases (Bases de datos) de la consola de RDS. Para ir a la página de anomalías desde la consola de
RDS, elija el enlace del mensaje de alerta. La consola de RDS también le avisa en la página del clúster de
Amazon Aurora.
Anomalías contextuales
Una anomalía contextual es un hallazgo dentro de Database load (DB load) (Carga de base de datos).
Cada anomalía contextual describe un problema de rendimiento específico de Amazon Aurora que
requiere investigación. Por ejemplo, DevOps Guru for RDS podría recomendar que considere aumentar la
capacidad de la CPU o investigar los eventos de espera que contribuyen a la carga de la base de datos.
Versiones de Amazon Aurora (p. 5)
Important
Recomendamos que pruebe cualquier cambio en una instancia de prueba antes de modificar una
instancia de producción para que pueda comprender completamente el impacto de cada cambio.
De esta forma, comprende el impacto del cambio.
Para obtener más información, consulte Analyzing anomalies in Amazon Aurora clusters en la Guía del
usuario de Amazon DevOps Guru.
706
Amazon Aurora Guía del usuario de Aurora
Configuración de DevOps Guru for RDS
Temas
• Activación de Información sobre rendimiento para sus instancias de bases de datos de Amazon
Aurora (p. 707)
• Configuración de políticas de acceso para DevOps Guru for RDS (p. 707)
• Agregar recursos de Amazon Aurora a la cobertura de DevOps Guru (p. 707)
Al crear o modificar una instancia de base de datos, puede activar Información sobre rendimiento. Para
obtener más información, consulte Activación y desactivación de Información sobre rendimiento (p. 647).
Para obtener más información, consulte Configuración de directivas de acceso para información sobre
rendimiento (p. 653).
Para permitir que DevOps Guru for RDS genere anomalías para las instancias de bases de datos
de Amazon Aurora, especifique las instancias que desea cubrir. De forma predeterminada, DevOps
Guru analiza todos los recursos compatibles de AWS en su Región de AWS y cuenta. También puede
especificar recursos individuales mediante pilas AWS CloudFormation o aplicación de etiquetas. Para
obtener más información, consulte Adding Amazon Aurora resources to your DevOps Guru coverage en
la Guía del usuario de Amazon DevOps Guru.
3. Identifique los temas de Amazon SNS.
Utilice uno o dos temas de Amazon SNS para generar notificaciones sobre DevOps Guru importantes
para eventos de RDS. Un ejemplo es cuando se crea información para una instancia de base de datos
de Amazon Aurora. De esta forma, conoce los problemas que DevOps Guru for RDS encuentra lo antes
posible. Para obtener más información, consulte Identify your Amazon SNS notifications topic en la Guía
del usuario de Amazon DevOps Guru.
707
Amazon Aurora Guía del usuario de Aurora
Configuración de DevOps Guru for RDS
Para obtener más información, consulte Configuración de Amazon DevOps Guru en la Guía del usuario de
Amazon DevOps Guru.
708
Amazon Aurora Guía del usuario de Aurora
Supervisión de métricas del SO
Temas
• Descripción general de la supervisión mejorada (p. 709)
• Configuración y habilitación del monitoreo mejorado (p. 715)
• Visualización de métricas OS en la consola de RDS (p. 718)
• Visualización de métricas del sistema operativo mediante CloudWatch Logs (p. 720)
RDS entrega las métricas de la monitorización mejorada a su cuenta de Amazon CloudWatch Logs.
Puede crear filtros de métricas en CloudWatch desde CloudWatch Logs y mostrar los gráficos en el panel
de CloudWatch. Además, puede consumir la salida JSON de monitorización mejorada desde Amazon
CloudWatch Logs en un sistema de monitoreo de su elección. Para obtener más información, consulte
Monitorización mejorada en las preguntas frecuentes de Amazon RDS.
Temas
• Descripción de métricas de Enhanced Monitoring (p. 709)
• Diferencias entre métricas de monitoreo mejorado y CloudWatch (p. 714)
• Retención de métricas de supervisión mejorada (p. 714)
• Costo de la monitorización mejorada (p. 714)
Temas
• Métricas de Aurora (p. 709)
Métricas de Aurora
709
Amazon Aurora Guía del usuario de Aurora
Descripción general de la supervisión mejorada
No aplicable
instanceResourceID Un identificador inmutable para la instancia de base de
datos que es exclusivo de una región de AWS, también
utilizado como identificador de secuencia de registro.
version No aplicable La versión del formato JSON del flujo de la métrica del SO.
cpuUtilization
guest CPU Guest El porcentaje de CPU utilizado por programas invitados.
total CPU Total El porcentaje total de CPU utilizado. Este valor incluye el
valor nice.
diskIO avgQueueLen Avg Queue El número de solicitudes que espera en la cola del
Size dispositivo de E/S.
710
Amazon Aurora Guía del usuario de Aurora
Descripción general de la supervisión mejorada
Read
readThroughput La cantidad de rendimiento de red utilizada por las
Throughput solicitudes al clúster de base de datos, en bytes por
segundo.
Write
writeThroughput La cantidad de rendimiento de red utilizada por las
Throughput respuestas del clúster de base de datos, en bytes por
segundo.
fileSys maxFiles Max Inodes El número máximo de archivos que se pueden crear para
el sistema de archivos.
Used %
usedFilePercent El porcentaje de archivos disponibles en uso.
711
Amazon Aurora Guía del usuario de Aurora
Descripción general de la supervisión mejorada
loadAverageMinute
fifteen Load Avg 15 El número de procesos que solicitan tiempo de la CPU en
min los últimos 15 minutos.
Huge Pages
hugePagesFree El número de páginas de gran tamaño libres. Las páginas
Free de gran tamaño son una característica del kernel de Linux.
Huge Pages
hugePagesRsvd El número de páginas de gran tamaño confirmadas.
Rsvd
Huge Pages
hugePagesSize El tamaño de cada unidad de páginas de gran tamaño, en
Size kilobytes.
Huge Pages
hugePagesSurp El número de páginas de gran tamaño sobrantes
Surp disponibles con respecto al total.
Huge Pages
hugePagesTotal El número total de páginas enormes.
Total
712
Amazon Aurora Guía del usuario de Aurora
Descripción general de la supervisión mejorada
network interface No aplicable El identificador para la interfaz de red que se utiliza para la
instancia de base de datos.
713
Amazon Aurora Guía del usuario de Aurora
Descripción general de la supervisión mejorada
Podría encontrar diferencias entre CloudWatch y las medidas de supervisión mejorada, porque la capa del
hipervisor realiza una pequeña cantidad de trabajo. Las diferencias pueden ser mayores si sus instancias
de base de datos utilizan clases de instancia más pequeñas. En este escenario, es probable que la capa
de hipervisor administre más máquinas virtuales (VM) en una única instancia física.
Para modificar la cantidad de tiempo que se almacenan las métricas en CloudWatch Logs, cambie
la retención del grupo de registros RDSOSMetrics en la consola de CloudWatch. Para obtener más
información, consulte Cambiar la retención de datos de registro en CloudWatch Logs en la Amazon
CloudWatch Logs User Guide.
• Se le cobrará por la monitorización mejorada solo si supera el nivel gratuito que proporciona Amazon
CloudWatch Logs. Los cargos se basan en las tasas de transferencia de datos y almacenamiento de
CloudWatch Logs.
• La cantidad de información transferida para una instancia de RDS es directamente proporcional a la
granularidad definida para la función de monitorización mejorada. Un intervalo de monitorización más
corto deriva en informes más frecuentes de métricas del SO y aumenta el costo de la monitorización.
Para administrar los costos, establezca diferentes granularidades para diferentes instancias en sus
cuentas.
• Los costos de uso de la monitorización mejorada se aplican en cada instancia de base de datos para la
que está habilitada dicha monitorización. Monitorizar un gran números de instancias de base de datos es
más costoso que monitorizar tan solo unas cuantas.
• Las instancias de base de datos que admiten una carga de trabajo con computación más intensiva
tienen más actividad de proceso de SO de la que informar y costos más elevados de monitorización
mejorada.
Para obtener más información acerca de los precios, consulte Precios de Amazon CloudWatch.
714
Amazon Aurora Guía del usuario de Aurora
Configuración y habilitación del monitoreo mejorado
Temas
• Creación del rol de IAM cuando habilita el monitoreo mejorado (p. 715)
• Creación del rol de IAM antes de habilitar el monitoreo mejorado (p. 715)
Se debe conceder al usuario que habilite la monitorización mejorada el permiso PassRole. A fin de
obtener más información, consulte el Ejemplo 2 en Concesión de permisos a un usuario para transferir un
rol a un servicio de AWS en la Guía del usuario de IAM.
715
Amazon Aurora Guía del usuario de Aurora
Configuración y habilitación del monitoreo mejorado
Consola
Puede habilitar el monitoreo mejorado cuando crea un clúster de base de datos o réplica de lectura, o
cuando modifica un clúster de base de datos. Si modifica una instancia de base de datos para habilitar la
monitorización mejorada, no es necesario reiniciar dicha instancia para que el cambio tenga efecto.
Puede habilitar la supervisión mejorada en la consola de RDS cuando realiza una de las siguientes
acciones en la página Databases (Bases de datos).
• Crear un clúster de base de datos. Elija Create database (Crear base de datos).
• Crear una réplica de lectura. Elija Actions (Acciones) y, luego, Create read replica (Crear una réplica de
lectura).
• Modificar una instancia de base de datos. Elija Modify (Modificar).
Note
AWS CLI
Para habilitar el monitoreo mejorado mediante la AWS CLI, en los siguientes comandos, establezca la
opción --monitoring-interval en un valor distinto de 0 y establezca la opción --monitoring-
role-arn en el rol que haya creado en Creación de un rol de IAM para el monitoreo mejorado (p. 715).
• create-db-instance
• create-db-instance-read-replica
716
Amazon Aurora Guía del usuario de Aurora
Configuración y habilitación del monitoreo mejorado
• modify-db-instance
Para desactivar la supervisión mejorada mediante AWS CLI, establezca la opción --monitoring-
interval en 0 de los siguientes comandos.
Example
El siguiente ejemplo activa la supervisión mejorada para una instancia de base de datos:
Para Windows:
API de RDS
• CreateDBInstance
• CreateDBInstanceReadReplica
• ModifyDBInstance
717
Amazon Aurora Guía del usuario de Aurora
Visualización de métricas OS en la consola de RDS
Para limitar los permisos al recurso que Amazon RDS puede dar a otro servicio, se recomienda utilizar
las claves de contexto de condición global de aws:SourceArn y aws:SourceAccount en una política
de confianza para el rol de supervisión mejorada. Si utiliza ambas claves de contexto de condición global,
deben usar el mismo ID de cuenta.
La forma más eficaz de protegerse contra el problema del suplente confuso es utilizar la clave de contexto
de condición global de aws:SourceArn con el ARN completo del recurso. Para Amazon RDS, establezca
aws:SourceArn en arn:aws:rds:Region:my-account-id:db/dbname.
En los siguientes ejemplos se utilizan las claves de contexto de condición global de aws:SourceArn y
aws:SourceAccount en una política de confianza para evitar el problema del suplente confuso.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "rds.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringLike": {
"aws:SourceArn": "arn:aws:rds:Region:my-account-id:db/dbname"
},
"StringEquals": {
"aws:SourceAccount": "my-account-id"
}
}
}
]
}
718
Amazon Aurora Guía del usuario de Aurora
Visualización de métricas OS en la consola de RDS
Si desea ver detalles para los procesos que se ejecutan en su instancia de base de datos, elija OS process
list (Lista de procesos del SO) para Monitoring (Monitorización).
La métrica de monitorización mejorada que se muestra en la vista Process list (Lista de procesos) se
organiza de la siguiente manera:
• RDS child processes (Procesos secundarios de RDS): muestra un resumen de los procesos de RDS
que admiten la instancia de base de datos, por ejemplo aurora para clústeres de base de datos de
Amazon Aurora. Los subprocesos aparecen anidados debajo del proceso principal. Los subprocesos
solo muestran el uso de la CPU, ya que otras métricas son iguales para todos los subprocesos. La
consola muestra un máximo de 100 procesos y subprocesos. Los resultados son una combinación de
los principales procesos y subprocesos que consumen memoria y CPU. Si hay más de 50 procesos y
más de 50 subprocesos, la consola muestra los 50 consumidores principales de cada categoría. Esta
pantalla le ayuda a identificar qué procesos están teniendo mayor impacto en el desempeño.
• Procesos de RDS: muestra un resumen de los recursos utilizados por el agente de administración de
RDS, los procesos de monitoreo de diagnóstico y otros procesos de AWS que son necesarios para
admitir instancias de base de datos de RDS.
• OS processes (Procesos de SO)–: muestra un resumen del kernel y de los procesos del sistema, que
por lo general tienen un impacto mínimo en el rendimiento.
Los datos de monitorización que se muestran en la consola de RDS se obtienen de Amazon CloudWatch
Logs. También puede obtener la métrica para una instancia de base de datos en forma de flujo de registro
de CloudWatch Logs. Para obtener más información, consulte Visualización de métricas del sistema
operativo mediante CloudWatch Logs (p. 720).
719
Amazon Aurora Guía del usuario de Aurora
Visualización de métricas del sistema
operativo mediante CloudWatch Logs
La métrica de monitorización mejorada se devuelve al reiniciar una instancia de base de datos porque solo
se reinicia el motor de la base de datos. Se sigue informando de la métrica correspondiente al sistema
operativo.
720
Amazon Aurora Guía del usuario de Aurora
Trabajar con eventos de Amazon RDS
Temas
• Información general de los eventos para Aurora (p. 721)
• Consulta de eventos de Amazon RDS (p. 724)
• Uso de las notificaciones de eventos de Amazon RDS (p. 725)
• Creación de una regla que se desencadena en función de un evento Amazon Aurora (p. 744)
Amazon RDS emite eventos de la mejor forma posible. Recomendamos que evite escribir
programas que dependan del orden o de la existencia de eventos de notificación, ya que pueden
faltar o no estar ordenados.
Amazon RDS registra los eventos relacionados con los clústeres de base de datos, las instancias de base
de datos, las instantáneas de clústeres de base de datos y los grupos de parámetros de base de datos. La
información incluye lo siguiente:
Temas
• Ejemplo de evento de clúster de base de datos (p. 721)
• Ejemplo de evento de instancia de base de datos (p. 722)
• Ejemplo de evento de grupo de parámetros de base de datos (p. 722)
• Ejemplo de evento de instantánea de clúster de base de datos (p. 723)
{
"version": "0",
"id": "844e2571-85d4-695f-b930-0153b71dcb42",
"detail-type": "RDS DB Cluster Event",
"source": "aws.rds",
"account": "123456789012",
"time": "2018-10-06T12:26:13Z",
"region": "us-east-1",
"resources": [
721
Amazon Aurora Guía del usuario de Aurora
Información general de los eventos para Aurora
"arn:aws:rds:us-east-1:123456789012:cluster:my-db-cluster"
],
"detail": {
"EventCategories": [
"notification"
],
"SourceType": "CLUSTER",
"SourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:my-db-cluster",
"Date": "2018-10-06T12:26:13.882Z",
"Message": "Database cluster has been patched",
"SourceIdentifier": "rds:my-db-cluster",
"EventID": "RDS-EVENT-0173"
}
}
{
"version": "0",
"id": "68f6e973-1a0c-d37b-f2f2-94a7f62ffd4e",
"detail-type": "RDS DB Instance Event",
"source": "aws.rds",
"account": "123456789012",
"time": "2018-09-27T22:36:43Z",
"region": "us-east-1",
"resources": [
"arn:aws:rds:us-east-1:123456789012:db:my-db-instance"
],
"detail": {
"EventCategories": [
"failover"
],
"SourceType": "DB_INSTANCE",
"SourceArn": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance",
"Date": "2018-09-27T22:36:43.292Z",
"Message": "A Multi-AZ failover has completed.",
"SourceIdentifier": "rds:my-db-instance",
"EventID": "RDS-EVENT-0049"
}
}
{
"version": "0",
"id": "844e2571-85d4-695f-b930-0153b71dcb42",
"detail-type": "RDS DB Parameter Group Event",
"source": "aws.rds",
"account": "123456789012",
"time": "2018-10-06T12:26:13Z",
"region": "us-east-1",
"resources": [
"arn:aws:rds:us-east-1:123456789012:pg:my-db-param-group"
722
Amazon Aurora Guía del usuario de Aurora
Información general de los eventos para Aurora
],
"detail": {
"EventCategories": [
"configuration change"
],
"SourceType": "DB_PARAM",
"SourceArn": "arn:aws:rds:us-east-1:123456789012:pg:my-db-param-group",
"Date": "2018-10-06T12:26:13.882Z",
"Message": "Updated parameter time_zone to UTC with apply method immediate",
"SourceIdentifier": "rds:my-db-param-group",
"EventID": "RDS-EVENT-0037"
}
}
{
"version": "0",
"id": "844e2571-85d4-695f-b930-0153b71dcb42",
"detail-type": "RDS DB Cluster Snapshot Event",
"source": "aws.rds",
"account": "123456789012",
"time": "2018-10-06T12:26:13Z",
"region": "us-east-1",
"resources": [
"arn:aws:rds:us-east-1:123456789012:cluster-snapshot:rds:my-db-cluster-snapshot"
],
"detail": {
"EventCategories": [
"backup"
],
"SourceType": "CLUSTER_SNAPSHOT",
"SourceArn": "arn:aws:rds:us-east-1:123456789012:cluster-snapshot:rds:my-db-cluster-
snapshot",
"Date": "2018-10-06T12:26:13.882Z",
"SourceIdentifier": "rds:my-db-cluster-snapshot",
"Message": "Creating manual cluster snapshot",
"EventID": "RDS-EVENT-0074"
}
}
723
Amazon Aurora Guía del usuario de Aurora
Consulta de eventos de Amazon RDS
Si necesita almacenar eventos durante periodos de tiempo más largos, puede enviar eventos de
Amazon RDS a CloudWatch Events. Para obtener más información, consulte Creación de una
regla que se desencadena en función de un evento Amazon Aurora (p. 744)
Consola
Para ver todos los eventos de las instancias de Amazon RDS de las últimas 24 horas
AWS CLI
Para ver todos los eventos de las instancias de Amazon RDS de los últimos 7 días, llame al comando
describe-events de la AWS CLI y establezca el parámetro --duration en 10080.
API
Puede ver todos los eventos de las instancias de Amazon RDS de los últimos 14 días llamando a la
operación DescribeEvents de la API de RDS y estableciendo el parámetro Duration en 20160.
724
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
Temas
• Información general de las notificaciones de eventos de Amazon RDS (p. 725)
• Categorías y mensajes de eventos de Amazon RDS (p. 726)
• Suscripción a notificaciones de eventos de Amazon RDS (p. 734)
• Descripción de suscripciones a notificaciones de eventos de Amazon RDS (p. 737)
• Modificación de una suscripción a notificaciones de eventos de Amazon RDS (p. 738)
• Agregar un identificador de origen a una suscripción de notificación de eventos de Amazon
RDS (p. 740)
• Quitar un identificador de origen de una suscripción de notificación de eventos de Amazon
RDS (p. 741)
• Descripción de la lista de categorías de notificaciones de eventos de Amazon RDS (p. 742)
• Eliminar una suscripción de notificación de eventos de Amazon RDS (p. 743)
Por ejemplo, si se suscribe a la categoría de copia de seguridad de una instancia de base de datos
determinada, recibirá una notificación cada vez que se produzca un evento relacionado con las copias
de seguridad que afecte a la instancia de base de datos. Si se suscribe a la categoría de cambio de
configuración de un grupo de seguridad de base de datos, recibirá una notificación cada vez que se
modifique un grupo de seguridad de base de datos. También recibirá una notificación cuando cambie una
suscripción de notificación de eventos.
Es posible que desee crear varias suscripciones diferentes. Por ejemplo, puede crear una suscripción
que reciba todas las notificaciones de eventos y otra que incluya únicamente los eventos críticos para las
instancias de bases de datos de producción.
725
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
1. Cree una suscripción de notificación de eventos de Amazon RDS mediante la consola de Amazon RDS,
la AWS CLI o la API.
Amazon RDS utiliza el ARN de un tema de Amazon SNS para identificar cada suscripción. La consola
de Amazon RDS crea el ARN automáticamente cuando se crea la suscripción. Cree el ARN a través de
la consola de Amazon SNS, la AWS CLI o la API de Amazon SNS.
2. Amazon RDS envía un mensaje de correo electrónico o SMS de aprobación a las direcciones que envió
con la suscripción. Para confirmar la suscripción, elija el enlace de la notificación que reciba.
3. Cuando confirme la suscripción, el estado de la suscripción se actualizará en la sección My Event
Subscriptions (Mis suscripciones a eventos) de la consola de Amazon RDS.
4. Seguidamente, empezará a recibir notificaciones de eventos.
Para obtener información acerca de Identity and access management cuando se utilice Amazon SNS,
consulte Identity and access management en Amazon SNS en la Guía para desarrolladores de Amazon
Simple Notification Service.
Puede utilizar AWS Lambda para procesar notificaciones de eventos desde una instancia de base de
datos. Para obtener más información, consulte Uso de AWS Lambda con Amazon RDS en la Guía para
desarrolladores de AWS Lambda.
Amazon RDS no garantiza el orden de los eventos enviados en una secuencia de eventos. El
orden de los eventos está sujeto a cambio.
Cuando Amazon SNS envía una notificación a un punto de enlace HTTP o HTTPS suscrito, el cuerpo del
mensaje POST enviado al punto de enlace contiene un documento JSON. Para obtener más información,
consulte Formatos de mensaje y JSON de Amazon SNS en la Guía para desarrolladores de Amazon
Simple Notification Service.
Puede configurar SNS para que le notifique con mensajes de texto. Para obtener más información,
consulte Mensajería de texto móvil (SMS) en la Guía para desarrolladores de Simple Notification Service.
Para desactivar las notificaciones sin eliminar una suscripción, elija No en Enabled (Habilitado) en la
consola de Amazon RDS. O bien, puede establecer el parámetro Enabled en false mediante la AWS
CLI o la API de Amazon RDS.
Temas
726
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
727
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
728
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
729
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
730
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
No existen categorías de evento para Aurora Serverless en cuanto al tipo de evento de clúster
de base de datos. Los eventos de Aurora sin servidor van desde RDS-EVENT-0141 hasta RDS-
EVENT-0149.
731
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
Conmutación por RDS-EVENT-0187 Error en la conmutación por error global del clúster de
error global la base de datos.
732
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
733
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
Puede especificar el tipo de origen sobre el que desea recibir notificaciones y el origen de Amazon RDS
que inicia el evento. Se especifican mediante los parámetros SourceType y SourceIdentifier (el origen de
Amazon RDS que genera el evento). Por ejemplo, SourceType puede ser SourceType = db-instance,
734
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
Consola
AWS CLI
Para suscribirse a notificaciones de eventos de RDS, utilice el comando AWS CLI de la create-event-
subscription. Incluya los siguientes parámetros obligatorios:
735
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
• --subscription-name
• --sns-topic-arn
Example
Para Windows:
API
Para suscribirse a notificaciones de eventos de Amazon RDS, llame a la función de la API de Amazon RDS
CreateEventSubscription. Incluya los siguientes parámetros obligatorios:
• SubscriptionName
• SnsTopicArn
736
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
Consola
Pasos mostrar las sus suscripciones actuales de notificación de eventos de Amazon RDS
AWS CLI
Para obtener una lista de sus suscripciones a notificaciones de eventos de Amazon RDS, utilice el
comando describe-event-subscriptions de la AWS CLI.
Example
API
Para obtener una lista de sus suscripciones actuales a notificaciones de eventos de Amazon RDS, llame a
la acción DescribeEventSubscriptions de la API de Amazon RDS.
737
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
Consola
AWS CLI
Para modificar una suscripción a notificaciones de eventos de Amazon RDS, utilice el comando modify-
event-subscription de la AWS CLI. Incluya el siguiente parámetro obligatorio:
• --subscription-name
Example
El siguiente código activa myeventsubscription.
Para Windows:
API
Para modificar un evento de Amazon RDS, llame a la operación de la API de Amazon RDS
ModifyEventSubscription. Incluya el siguiente parámetro obligatorio:
• SubscriptionName
738
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
739
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
Consola
Puede añadir o eliminar fácilmente identificadores de origen mediante la consola de Amazon RDS
activándolos o desactivándolos al modificar una suscripción. Para obtener más información, consulte
Modificación de una suscripción a notificaciones de eventos de Amazon RDS (p. 738).
AWS CLI
• --subscription-name
• --source-identifier
Example
Para Windows:
API
Para añadir un identificador de origen a una suscripción a notificaciones de eventos de Amazon RDS,
llame a la acción de la API de Amazon RDS AddSourceIdentifierToSubscription. Incluya los
siguientes parámetros obligatorios:
• SubscriptionName
• SourceIdentifier
740
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
Consola
Puede añadir o eliminar fácilmente identificadores de origen mediante la consola de Amazon RDS
activándolos o desactivándolos al modificar una suscripción. Para obtener más información, consulte
Modificación de una suscripción a notificaciones de eventos de Amazon RDS (p. 738).
AWS CLI
Para eliminar un identificador de origen de una suscripción a notificaciones de eventos de Amazon RDS,
utilice el comando remove-source-identifier-from-subscription de la AWS CLI. Incluya los
siguientes parámetros obligatorios:
• --subscription-name
• --source-identifier
Example
Para Windows:
API
Para eliminar un identificador de origen de una suscripción a notificaciones de eventos de Amazon RDS,
utilice el comando RemoveSourceIdentifierFromSubscription de la API de Amazon RDS. Incluya
los siguientes parámetros obligatorios:
• SubscriptionName
• SourceIdentifier
741
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
Consola
Cuando se crea o modifica una suscripción a notificaciones de eventos, las categorías de eventos se
muestran en la consola de Amazon RDS. Para obtener más información, consulte Modificación de una
suscripción a notificaciones de eventos de Amazon RDS (p. 738).
AWS CLI
Para obtener la lista de categorías de notificaciones de eventos de Amazon RDS, utilice el comando
describe-event-categories de la AWS CLI. Este comando no tiene parámetros obligatorios.
Example
API
Para obtener la lista de categorías de notificaciones de eventos de Amazon RDS, utilice el comando
DescribeEventCategories de la API de Amazon RDS. Este comando no tiene parámetros obligatorios.
742
Amazon Aurora Guía del usuario de Aurora
Uso de las notificaciones de eventos de Amazon RDS
Consola
AWS CLI
Para eliminar una suscripción a notificaciones de eventos de Amazon RDS, utilice el comando delete-
event-subscription de la AWS CLI. Incluya el siguiente parámetro obligatorio:
• --subscription-name
Example
API
Para eliminar una suscripción a notificaciones de eventos de Amazon RDS, utilice el comando
DeleteEventSubscription de la API de RDS. Incluya el siguiente parámetro obligatorio:
• SubscriptionName
743
Amazon Aurora Guía del usuario de Aurora
Creación de una regla que se desencadena
en función de un evento Amazon Aurora
Temas
• Tutorial: registrar el estado de una instancia con EventBridge (p. 744)
En este tutorial, registrará cualquier cambio de estado de una instancia de base de datos de RDS
existente. En el tutorial se asume que tiene una pequeña instancia de prueba en ejecución que puede
apagar temporalmente.
Important
console.log('Loading function');
744
Amazon Aurora Guía del usuario de Aurora
Creación de una regla que se desencadena
en función de un evento Amazon Aurora
745
Amazon Aurora Guía del usuario de Aurora
Creación de una regla que se desencadena
en función de un evento Amazon Aurora
9. Elija el nombre del flujo de registro para ver los datos proporcionados por la función para la instancia
que ha lanzado. Debería recibir un resultado similar al siguiente:
{
"version": "0",
"id": "12a345b6-78c9-01d2-34e5-123f4ghi5j6k",
"detail-type": "RDS DB Instance Event",
"source": "aws.rds",
"account": "111111111111",
"time": "2021-03-19T19:34:09Z",
"region": "us-east-1",
"resources": [
"arn:aws:rds:us-east-1:111111111111:db:testdb"
],
"detail": {
"EventCategories": [
"notification"
],
"SourceType": "DB_INSTANCE",
"SourceArn": "arn:aws:rds:us-east-1:111111111111:db:testdb",
"Date": "2021-03-19T19:34:09.293Z",
"Message": "DB instance stopped",
"SourceIdentifier": "testdb",
"EventID": "RDS-EVENT-0087"
}
}
10. (Opcional) Cuando haya terminado, puede abrir la consola de Amazon RDS y comenzar la instancia
que ha lanzado.
746
Amazon Aurora Guía del usuario de Aurora
Trabajar con registros de bases de datos
En algunos casos, los registros contienen datos ocultos. Por tanto, la AWS Management Console
podría mostrar contenido en un archivo de registro, pero el archivo de registro podría estar vacío
cuando lo descarga.
Temas
• Visualización y descripción de archivos de registro de base de datos (p. 747)
• Descarga de un archivo de registro de base de datos (p. 748)
• Ver un archivo de registro de base de datos (p. 749)
• Publicación de registros de base de datos en Amazon CloudWatch Logs (p. 749)
• Lectura del contenido del archivo de registro mediante REST (p. 750)
• Archivos de registro de base de datos de Aurora MySQL (p. 752)
• Archivos de registro de base de datos de PostgreSQL (p. 759)
Consola
Para ver un archivo de registro de base de datos
AWS CLI
Para ver los archivos de registro de base de datos disponibles para una instancia de base de datos, use el
comando AWS CLI de la describe-db-log-files.
El siguiente ejemplo devuelve una lista de los archivos de registro de una instancia de base de datos
denominada my-db-instance.
Example
747
Amazon Aurora Guía del usuario de Aurora
Descarga de un archivo de registro de base de datos
API de RDS
Para ver los archivos de registro de base de datos de una instancia de base de datos, use la acción
DescribeDBLogFiles de la API de Amazon RDS.
Consola
Para descargar un archivo de registro de base de datos
AWS CLI
Para descargar un archivo de registro de base de datos, use el comando AWS CLI de la download-
db-log-file-portion. De forma predeterminada, este comando solo descarga la última porción de
un archivo de registro. Sin embargo, puede descargar un archivo entero especificando el parámetro --
starting-token 0.
En el siguiente ejemplo se muestra cómo descargar todo el contenido de un archivo de registro llamado
log/ERROR.4 y almacenarlo en un archivo local denominado errorlog.txt.
Example
748
Amazon Aurora Guía del usuario de Aurora
Ver un archivo de registro de base de datos
--db-instance-identifier myexampledb \
--starting-token 0 --output text \
--log-file-name log/ERROR.4 > errorlog.txt
Para Windows:
API de RDS
Para descargar un archivo de registro de base de datos, use la acción DownloadDBLogFilePortion de
la API de Amazon RDS.
Consola
Para monitorizar un archivo de registro de base de datos
Temas
• Configuración de la integración con CloudWatch Logs (p. 749)
• Información de registro específica del motor (p. 750)
749
Amazon Aurora Guía del usuario de Aurora
Lectura del contenido del archivo de registro mediante REST
Para publicar archivos de registro de base de datos en CloudWatch Logs, elija los registros que desea
publicar. Realice esta selección en la sección Advanced Settings al crear una instancia de base de datos
nueva. También puede modificar una instancia de base de datos existente para comenzar la publicación.
Una vez habilitada la publicación, Amazon Aurora transfiere continuamente todos los registros de la
instancia de base de datos a un grupo de registros. Por ejemplo, hay un grupo de registros /aws/rds/
cluster/cluster_name/log_type para cada tipo de registro que se publica. Este grupo de registros
se encuentra en la misma región de AWS que la instancia de base de datos que genera el registro.
Después de publicar los registros, puede utilizar CloudWatch Logs para buscar y filtrar los registros. Para
obtener más información sobre la búsqueda y el filtrado registros, consulte Búsqueda y filtrado de datos
de registros. Para ver un tutorial que explique cómo monitorear los registros de RDS, consulte Crear un
monitoreo proactivo de bases de datos para Amazon RDS con Amazon CloudWatch Logs, AWS Lambda y
Amazon SNS.
• the section called “Publicación de registros de Aurora MySQL en CloudWatch Logs” (p. 1099)
• the section called “Publicación de registros de Aurora PostgreSQL en CloudWatch Logs” (p. 1600)
La sintaxis es la siguiente:
750
Amazon Aurora Guía del usuario de Aurora
Lectura del contenido del archivo de registro mediante REST
La respuesta incluye el contenido del archivo de registro solicitado como una secuencia.
Si especifica una instancia de base de datos no existente, la respuesta consta del error siguiente:
751
Amazon Aurora Guía del usuario de Aurora
Archivos de registro de base de datos de MySQL
Para obtener más información acerca de la visualización, descarga y vigilancia de los registros de bases
de datos basados en archivos, consulte Trabajo con archivos de registro de base de datos (p. 747).
Temas
• Información general de los registros de bases de datos de Aurora MySQL (p. 752)
• Publicación de registros de Aurora MySQL en Amazon CloudWatch Logs (p. 755)
• Administración de registros de Aurora MySQL basados en tablas (p. 755)
• Configuración del registro binario de Aurora MySQL (p. 755)
• Acceso a los registros binarios de MySQL (p. 756)
• REGISTRO DE ERRORES
• Registro de consultas lentas
• Registro general
• Registro de auditoría
El registro de errores de Aurora MySQL se genera de forma predeterminada. Puede generar la consulta
lenta y los registros generales estableciendo parámetros en su grupo de parámetros de base de datos.
Temas
• Registros de errores de Aurora MySQL (p. 752)
• Registros generales y de consultas lentas de Aurora MySQL (p. 753)
• Rotación y retención de registros (p. 754)
• Límites de tamaño en BLOBs (p. 754)
Aurora MySQL solo escribe en el registro de errores durante el inicio, el cierre y cuando encuentra errores.
Una instancia de base de datos puede pasar horas o días sin que se escriban nuevas entradas en el
registro de errores. Si no hay entradas recientes, se debe a que el servidor no ha encontrado ningún error
que genere una entrada en el registro.
Aurora MySQL escribe mysql-error.log en disco cada 5 minutos. MySQL agrega el contenido del
registro a mysql-error-running.log.
752
Amazon Aurora Guía del usuario de Aurora
Archivos de registro de base de datos de MySQL
Aurora MySQL rota el archivo mysql-error-running.log cada hora. Aurora MySQL elimina los
registros de auditoría, generales, de consultas lentas y de SDK después de 24 horas o cuando se ha
consumido el 15 % del almacenamiento.
Note
Tenga en cuenta que el periodo de retención es diferente entre Amazon RDS y Aurora.
Puede controlar lo que registra Aurora MySQL con los parámetros de esta lista:
• slow_query_log: para crear el registro de consultas lentas, use el valor 1. El valor predeterminado es
0.
• general_log: para crear el registro general, use el valor 1. El valor predeterminado es 0.
• long_query_time: para evitar que se registren consultas rápidas en el registro de consultas lentas,
especifique el valor del tiempo de ejecución mínimo de una consulta, en segundos, para que se registre.
El valor predeterminado es 10 segundos y el mínimo es 0. Si log_output = FILE, puede especificar un
valor de punto flotante que llega a una resolución de microsegundos. Si log_output = TABLE, debe
especificar un valor entero con resolución de segundos. Solo se registran las consultas cuyo tiempo de
ejecución exceda el valor de long_query_time. Por ejemplo, si configura long_query_time como
0,1, evitará que se registren las consultas que tarden menos de 100 milisegundos en ejecutarse.
• log_queries_not_using_indexes: para incluir en el registro de consultas lentas todas las consultas
que no usen un índice, use el valor 1. El valor predeterminado es 0. Las consultas que no usen un índice
se registran incluso si su tiempo de ejecución es inferior al valor del parámetro long_query_time.
• log_output option: puede especificar una de las opciones siguientes para el parámetro
log_output.
• TABLE : las consultas generales se escriben en la tabla mysql.general_log y las consultas lentas
en la tabla mysql.slow_log.
• FILE: tanto los registros de las consultas generales como los de las consultas lentas se escriben en el
sistema de archivos. Los archivos de registro se rotan cada hora.
• NONE: deshabilitar registro.
Para Aurora MySQL 5.6, el valor predeterminado para log_output es TABLE. Para Aurora MySQL 5.7,
el valor predeterminado para log_output es FILE.
Cuando el registro está habilitado, Amazon Aurora rota los registros de las tablas o elimina los archivos
de registro a intervalos regulares. Esta medida es una precaución para reducir el riesgo de que un archivo
de registro grande bloquee el uso de la base de datos o afecte al rendimiento. El registro con las opciones
FILE y TABLE emplea la rotación y eliminación del modo siguiente:
• Cuando se FILE habilita el registro, los archivos de registro se examinan cada hora y se eliminan
los archivos de registro de más de y30 días de antigüedad. En algunos casos, el tamaño restante del
archivo de registro combinado después de la eliminación puede superar el umbral del 2 por ciento
del espacio asignado a una instancia de base de datos. En estos casos, los archivos de registro más
antiguos se eliminan hasta que el tamaño del archivo de registro no sobrepase el umbral.
• Cuando el registro de tipo TABLE está habilitado, en algunos casos, las tablas de registro se rotan cada
24 horas. Esta rotación de produce cuando el espacio ocupado por los registros de tabla es superior
753
Amazon Aurora Guía del usuario de Aurora
Archivos de registro de base de datos de MySQL
al 20% del espacio de almacenamiento asignado o si el tamaño de todos los registros combinados es
superior a 10 GB. Si la cantidad de espacio utilizada para una instancia de base de datos es superior al
90% del espacio de almacenamiento asignado a la instancia de base de datos, se reducen los umbrales
de la rotación de registros. En este caso las tablas de registro rotan cuando el espacio ocupado por
los registros es superior al 10% del almacenamiento asignado o si el tamaño de todos los registros
combinados es superior a 5 GB. Puede suscribirse al evento low_free_storage para recibir una
notificación cuando roten las tablas de registro para liberar espacio. Para obtener más información,
consulte Uso de las notificaciones de eventos de Amazon RDS (p. 725).
Cuando se rotan las tablas de registro, la tabla de registro actual se copia en una tabla de
registro de copia de seguridad y las entradas de la tabla de registro actual se eliminan. Si la
tabla de registro de copia de seguridad ya existe, se elimina antes de copiar la tabla del registro
actual en la copia de seguridad. Puede consultar la tabla de registro de copia de seguridad si
es necesaria. La tabla de registro de copia de seguridad para la tabla mysql.general_log se
llama mysql.general_log_backup. La tabla de registro de copia de seguridad para la tabla
mysql.slow_log se llama mysql.slow_log_backup.
Los registros de tabla se rotan durante una actualización de la versión de la base de datos.
Para trabajar con los registros desde la consola de Amazon RDS, la API de Amazon RDS, la CLI de
Amazon RDS o los SDK de AWS, configure el parámetro log_output en FILE. Al igual que el registro de
errores de MySQL, estos archivos de registro rotan cada hora. Los archivos de registro que se generaron
durante las anteriores30 días se conservan. Tenga en cuenta que el periodo de retención es diferente
entre Amazon RDS y Aurora.
Para obtener más información sobre la el registro de consultas lentas y el registro general, consulte los
siguientes temas de la documentación de MySQL:
754
Amazon Aurora Guía del usuario de Aurora
Archivos de registro de base de datos de MySQL
Tanto el registro general como los registros de consultas lentas están deshabilitados de manera
predeterminada. Para habilitar el registro en tablas, también debe asignar a los parámetros general_log
y slow_query_log del servidor el valor 1.
Las tablas de registro seguirán creciendo hasta que las actividades de registro respectivas se desactiven
cambiando el valor del parámetro a 0. A menudo, se acumula una gran cantidad de datos, lo que puede
consumir un porcentaje elevado del espacio de almacenamiento asignado. Amazon Aurora no permite
truncar las tablas de registro, pero sí mover su contenido. Al rotar una tabla, su contenido se guarda en
una tabla de copia de seguridad y se crea una nueva tabla de registro vacía. Puede aplicar manualmente
la rotación de las tablas de registro con los procedimientos de línea de comandos siguientes, en los que el
símbolo del sistema se representa por PROMPT>:
Para eliminar por completo los datos antiguos y recuperar el espacio del disco, llame al procedimiento
correspondiente dos veces consecutivas.
• Eventos que describen cambios en la base de datos, como la creación de tablas o las modificaciones de
filas.
• Información sobre la duración de cada instrucción que actualizó los datos.
• Eventos para instrucciones que podrían haber actualizado datos, pero que no lo hicieron.
El registro binario registra las instrucciones que se envían durante la replicación. También es necesario
para algunas operaciones de recuperación. Para obtener más información, consulte The Binary Log
(Registro binario) y Binary Log Overview (Información general del registro binario) en la documentación de
MySQL.
MySQL en Amazon Aurora admite los formatos de registro binario basados en filas, basados en
instrucciones y mixtos para las versiones 5.6 y posteriores de MySQL. El formato de registro binario
755
Amazon Aurora Guía del usuario de Aurora
Archivos de registro de base de datos de MySQL
predeterminado es el mixto. Para obtener información detallada acerca de los formatos de registro binarios
de Aurora MySQL, consulte Binary logging formats (Formatos de registro binario) en la documentación de
MySQL.
Si tiene pensado utilizar la replicación, el formato de registro binario es importante porque determina el
registro de los cambios de datos que se registra en la fuente y se envía a los objetivos de replicación. Para
obtener más información acerca de las ventajas y desventajas de distintos tipos de formatos de registro
binarios para la replicación, consulte Advantages and Disadvantages of Statement-Based and Row-Based
Replication en la documentación de MySQL.
Important
La configuración del formato de registro binario como basado en filas puede generar archivos de
registro binario muy grandes. Los archivos de registro binario grandes reducen la cantidad de
almacenamiento disponible para el clúster de de base de datos y pueden incrementar la cantidad
de tiempo necesaria para llevar a cabo la operación de restauración del clúster de una de base de
datos.
La replicación basada en instrucciones puede causar incoherencias entre el clúster de la de base
de datos de origen y la réplica de lectura. Para obtener más información, consulte Determination
of Safe and Unsafe Statements in Binary Logging en la documentación de MySQL.
Para obtener más información acerca de los grupos de parámetros, consulte Trabajo con los grupos
de parámetros de base de datos y grupos de parámetros de clúster de base de datos (p. 369).
4. En Parameter group actions (Acciones de grupos de parámetros), seleccione Edit (Editar).
5. Establezca el parámetro binlog_format en el formato de registro binario de su elección (ROW,
STATEMENT o MIXED). También puede utilizar el valor OFF para desactivar el registro binario.
6. Elija Save Changes (Guardar cambios) para guardar los cambios realizados en el grupo de
parámetros del clúster de la base de datos.
Important
El cambio de un grupo de parámetros de clúster de base de datos afecta a todos los clústeres de
base de datos que utilizan ese grupo de parámetros. Si desea especificar diferentes formatos de
registro binario para diferentes clústeres de base de datos de Aurora MySQL en una región de
AWS, los clústeres de base de datos deben utilizar diferentes grupos de parámetros de clúster
de base de datos. Estos grupos de parámetros identifican diferentes formatos de registro. Asigne
el grupo de parámetros de clúster de base de datos apropiado a cada clúster de base de datos.
Para obtener más información acerca de los parámetros Aurora MySQL, consulte Parámetros de
configuración de Aurora MySQL (p. 1128).
756
Amazon Aurora Guía del usuario de Aurora
Archivos de registro de base de datos de MySQL
Para ejecutar la utilidad mysqlbinlog en una instancia de Amazon RDS, use las siguientes opciones:
Para obtener más información acerca de las opciones de mysqlbinlog, consulte mysqlbinlog - Utility for
Processing Binary Log Files.
mysqlbinlog \
--read-from-remote-server \
--host=MySQL56Instance1.cg034hpkmmjt.region.rds.amazonaws.com \
--port=3306 \
--user ReplUser \
--password \
--raw \
--result-file=/tmp/ \
binlog.00098
Para Windows:
mysqlbinlog ^
--read-from-remote-server ^
--host=MySQL56Instance1.cg034hpkmmjt.region.rds.amazonaws.com ^
--port=3306 ^
--user ReplUser ^
--password ^
--raw ^
--result-file=/tmp/ ^
binlog.00098
Normalmente, Amazon RDS limpia un registro binario lo antes posible, pero el registro binario debe seguir
estando disponible en la instancia para que mysqlbinlog pueda obtener acceso a él. Para especificar
el número de horas que RDS debe retener los archivos binarios, utilice el procedimiento almacenado
mysql.rds_set_configuration y especifique un periodo lo bastante largo como para descargar
los registros. Una vez que haya definido el periodo de retención, monitorice el uso del almacenamiento
para la instancia de base de datos con el fin de asegurarse de que los registros binarios conservados no
consuman demasiado almacenamiento.
Note
757
Amazon Aurora Guía del usuario de Aurora
Archivos de registro de base de datos de MySQL
call mysql.rds_show_configuration;
758
Amazon Aurora Guía del usuario de Aurora
Archivos de registro de base de datos de PostgreSQL
Para ver, descargar y ver los registros de bases de datos basados en archivos, consulte Trabajo con
archivos de registro de base de datos (p. 747).
Temas
• Descripción general de los registros de PostgreSQL (p. 759)
• Configuración de periodo de retención de registros (p. 760)
• Configuración de la rotación del archivo de registro (p. 760)
• Configuración del formato del mensaje (p. 761)
• Habilitar el registro de consultas (p. 761)
• Errores de consulta
• Errores de inicio de sesión
• Errores graves del servidor
• Interbloqueos
Para identificar problemas con la aplicación, puede utilizar los mensajes de error anteriores. Por ejemplo, si
ha convertido una aplicación heredada de Oracle a Aurora PostgreSQL, es posible que algunas consultas
no se conviertan correctamente. Estas consultas con formato incorrecto generan mensajes de error en los
registros, que puede utilizar para identificar el código problemático.
Puede modificar los parámetros de registro de PostgreSQL para capturar información adicional, que
incluye lo siguiente:
• Conexiones y desconexiones
• Puntos de control
• Consultas de modificación de esquema
• Consultas en espera de bloqueos
• Consultas que consumen almacenamiento temporal en disco
• Proceso autovacuum del backend que consumen recursos
759
Amazon Aurora Guía del usuario de Aurora
Archivos de registro de base de datos de PostgreSQL
Grupos de parámetros
Cada instancia de Aurora PostgreSQL está asociada a un grupo de parámetros que contiene las
configuraciones específicas del motor. Las configuraciones del motor también incluyen varios parámetros
que controlan el comportamiento de registro de PostgreSQL. AWS proporciona a los grupos de parámetros
los valores de configuración predeterminados que se utilizarán para las instancias. Sin embargo, para
cambiar la configuración predeterminada, debe crear un clon del grupo de parámetros predeterminado,
modificarlo y adjuntarlo a la instancia.
Para establecer parámetros de registro para una instancia de base de datos, establezca los parámetros
en un grupo de parámetros de base de datos y asocie ese grupo de parámetros a la instancia de base de
datos. Para obtener más información, consulte Trabajo con los grupos de parámetros de base de datos y
grupos de parámetros de clúster de base de datos (p. 369).
Warning: local storage for PostgreSQL log files is critically low for
this Aurora PostgreSQL instance, and could lead to a database outage.
Note
The oldest PostgreSQL log files were deleted due to local storage constraints.
Para conservar registros antiguos, publíquelos en Amazon CloudWatch Logs. Para obtener más
información, consulte Publicación de registros de Aurora PostgreSQL en Amazon CloudWatch
Logs (p. 1600). Después de configurar la publicación en CloudWatch, Aurora no elimina los registros hasta
que se publiquen en CloudWatch Logs.
Los nombres de archivo de registro se basan en el patrón de nombre de archivo del parámetro
log_filename. Por ejemplo, para proporcionar nombres de archivos de registro con un grado de detalle
inferior a una hora, establezca log_filename en el formato de minutos: postgresql.log.%Y-%m-
%d-%H%M. El grado de detalle de menos de una hora solo se admite para PostgreSQL versión 10 y
superior. Para utilizar un grado de detalle de horas para nombres de archivos de registro, establezca
log_filename en el formato de hora: postgresql.log.%Y-%m-%d-%H.
760
Amazon Aurora Guía del usuario de Aurora
Archivos de registro de base de datos de PostgreSQL
Para controlar la rotación del archivo de registro en función del tiempo, establezca el parámetro
log_rotation_age en cualquier punto de 1 minuto a 1440 minutos (24 horas). El valor de
log_rotation_age predeterminado es 60 minutos. Si establece el parámetro log_rotation_age en
menos de 60 minutos, establezca también el parámetro log_filename en el formato de minutos.
Para controlar la rotación del archivo de registro en función del tamaño, establezca el parámetro
log_rotation_size en cualquier punto de 50 000 a 1 000 000 KB. El valor predeterminado es
100 000 KB. Se recomienda que también establezca el parámetro log_filename en el formato de
minutos. Al hacerlo, se garantiza que pueda crear un nuevo archivo de registro en menos de una hora si el
parámetro log_rotation_age es de 60 minutos o más.
%t:%r:%u@%d:[%p]:t
Por ejemplo, el siguiente mensaje de error resulta de consultar una columna utilizando un nombre
incorrecto.
Para especificar el formato de los registros de salida, utilice el parámetro log_destination. Para que la
instancia genere archivos de salida estándar y CSV, establezcalog_destination como csvlog en el
grupo de parámetros de instancia. Para obtener información sobre los registros de PostgreSQL, consulte
Trabajando con registros de RDS y Aurora PostgreSQL: parte 1.
• Cifre la información confidencial en el lado del cliente y utilice las opciones ENCRYPTED y
UNENCRYPTED de las instrucciones CREATE y ALTER.
• Restrinja el acceso a los registros CloudWatch.
761
Amazon Aurora Guía del usuario de Aurora
Archivos de registro de base de datos de PostgreSQL
1. Defina el parámetro log_statement como all. En el siguiente ejemplo se muestra la información que
se escribe en el archivo postgres.log.
Cuando se ejecuta una consulta que supera el límite establecido en el parámetro de duración, se
escribe información adicional en el archivo postgres.log. En el siguiente ejemplo se muestra el tipo
de información que se escribe en el archivo después de una consulta.
762
Amazon Aurora Guía del usuario de Aurora
Archivos de registro de base de datos de PostgreSQL
763
Amazon Aurora Guía del usuario de Aurora
Uso de AWS CloudTrail y Amazon RDS
Para obtener información completa sobre CloudTrail, consulte la guía del usuario de AWS CloudTrail.
Eventos de CloudTrail
CloudTrail captura las llamadas a la API de Amazon RDS como eventos. Un evento representa una
solicitud específica realizada desde un origen y contiene información sobre la acción solicitada, la fecha
y la hora de la acción, los parámetros de la solicitud, etc. Los eventos incluyen las llamadas a las API de
Amazon RDS realizadas desde la consola de Amazon RDS y desde las llamadas del código.
La actividad de Amazon RDS se registra en un evento de CloudTrail del historial de eventos. Puede
utilizar la consola de CloudTrail para ver los últimos 90 días de actividad y eventos de API registrados en
una región de AWS. Para obtener más información, consulte Visualización de eventos con el historial de
eventos de CloudTrail.
Si no configura un registro de seguimiento, puede ver los eventos más recientes en la consola de
CloudTrail en el Event history (Historial de eventos).
Puede crear dos tipos de registros de seguimiento en una cuenta de AWS : uno que se aplique a todas
las regiones o uno que se aplique a una región específica. De forma predeterminada, cuando se crea un
registro de seguimiento en la consola, el registro de seguimiento se aplica a todas las regiones.
También es posible configurar otros servicios de AWS para analizar en profundidad y actuar en función de
los datos de eventos recopilados en los registros de CloudTrail. Para obtener más información, consulte:
764
Amazon Aurora Guía del usuario de Aurora
Entradas de archivos de registro de Amazon RDS
En el ejemplo siguiente, se muestra una entrada de registro de CloudTrail que ilustra la acción
CreateDBInstance.
{
"eventVersion": "1.04",
"userIdentity": {
"type": "IAMUser",
"principalId": "AKIAIOSFODNN7EXAMPLE",
"arn": "arn:aws:iam::123456789012:user/johndoe",
"accountId": "123456789012",
"accessKeyId": "AKIAI44QH8DHBEXAMPLE",
"userName": "johndoe"
},
"eventTime": "2018-07-30T22:14:06Z",
"eventSource": "rds.amazonaws.com",
"eventName": "CreateDBInstance",
"awsRegion": "us-east-1",
"sourceIPAddress": "192.0.2.0",
"userAgent": "aws-cli/1.15.42 Python/3.6.1 Darwin/17.7.0 botocore/1.10.42",
"requestParameters": {
"enableCloudwatchLogsExports": [
"audit",
"error",
"general",
"slowquery"
],
"dBInstanceIdentifier": "test-instance",
"engine": "mysql",
"masterUsername": "myawsuser",
"allocatedStorage": 20,
"dBInstanceClass": "db.m1.small",
"masterUserPassword": "****"
},
"responseElements": {
"dBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance",
"storageEncrypted": false,
"preferredBackupWindow": "10:27-10:57",
"preferredMaintenanceWindow": "sat:05:47-sat:06:17",
"backupRetentionPeriod": 1,
"allocatedStorage": 20,
"storageType": "standard",
"engineVersion": "5.6.39",
"dbInstancePort": 0,
"optionGroupMemberships": [
{
"status": "in-sync",
"optionGroupName": "default:mysql-5-6"
}
],
"dBParameterGroups": [
{
"dBParameterGroupName": "default.mysql5.6",
"parameterApplyStatus": "in-sync"
}
],
"monitoringInterval": 0,
"dBInstanceClass": "db.m1.small",
"readReplicaDBInstanceIdentifiers": [],
"dBSubnetGroup": {
"dBSubnetGroupName": "default",
"dBSubnetGroupDescription": "default",
"subnets": [
{
"subnetAvailabilityZone": {"name": "us-east-1b"},
765
Amazon Aurora Guía del usuario de Aurora
Entradas de archivos de registro de Amazon RDS
"subnetIdentifier": "subnet-cbfff283",
"subnetStatus": "Active"
},
{
"subnetAvailabilityZone": {"name": "us-east-1e"},
"subnetIdentifier": "subnet-d7c825e8",
"subnetStatus": "Active"
},
{
"subnetAvailabilityZone": {"name": "us-east-1f"},
"subnetIdentifier": "subnet-6746046b",
"subnetStatus": "Active"
},
{
"subnetAvailabilityZone": {"name": "us-east-1c"},
"subnetIdentifier": "subnet-bac383e0",
"subnetStatus": "Active"
},
{
"subnetAvailabilityZone": {"name": "us-east-1d"},
"subnetIdentifier": "subnet-42599426",
"subnetStatus": "Active"
},
{
"subnetAvailabilityZone": {"name": "us-east-1a"},
"subnetIdentifier": "subnet-da327bf6",
"subnetStatus": "Active"
}
],
"vpcId": "vpc-136a4c6a",
"subnetGroupStatus": "Complete"
},
"masterUsername": "myawsuser",
"multiAZ": false,
"autoMinorVersionUpgrade": true,
"engine": "mysql",
"cACertificateIdentifier": "rds-ca-2015",
"dbiResourceId": "db-ETDZIIXHEWY5N7GXVC4SH7H5IA",
"dBSecurityGroups": [],
"pendingModifiedValues": {
"masterUserPassword": "****",
"pendingCloudwatchLogsExports": {
"logTypesToEnable": [
"audit",
"error",
"general",
"slowquery"
]
}
},
"dBInstanceStatus": "creating",
"publiclyAccessible": true,
"domainMemberships": [],
"copyTagsToSnapshot": false,
"dBInstanceIdentifier": "test-instance",
"licenseModel": "general-public-license",
"iAMDatabaseAuthenticationEnabled": false,
"performanceInsightsEnabled": false,
"vpcSecurityGroups": [
{
"status": "active",
"vpcSecurityGroupId": "sg-f839b688"
}
]
},
"requestID": "daf2e3f5-96a3-4df7-a026-863f96db793e",
766
Amazon Aurora Guía del usuario de Aurora
Entradas de archivos de registro de Amazon RDS
"eventID": "797163d3-5726-441d-80a7-6eeb7464acd4",
"eventType": "AwsApiCall",
"recipientAccountId": "123456789012"
}
Tal y como se muestra en el elemento userIdentity del ejemplo anterior, cada evento o entrada del
registro contiene información sobre quién generó la solicitud. La información de identidad del usuario le
ayuda a determinar lo siguiente:
Para obtener más información sobre userIdentity, consulte Elemento userIdentity de CloudTrail. Para
obtener más información acerca de CreateDBInstance y otras acciones de Amazon RDS, consulte la
referencia de la API de Amazon RDS.
767
Amazon Aurora Guía del usuario de Aurora
Uso de secuencias de actividades de la base de datos
Temas
• Información general sobre flujos de actividad de la base de datos (p. 768)
• Requisitos previos de red para flujos de actividad de la base de datos de Aurora MySQL (p. 771)
• Inicio de una secuencia de actividades de la base de datos (p. 772)
• Obtención del estado de un flujo de actividad de la base de datos (p. 774)
• Detención de un flujo de actividad de la base de datos (p. 775)
• Monitoreo de secuencias de actividades de la base de datos (p. 776)
• Administración del acceso a secuencias de actividades de base de datos (p. 799)
Las amenazas de seguridad son tanto externas como internas. Para protegerse contra amenazas internas,
puede controlar el acceso del administrador a los flujos de datos mediante los flujos de actividad de la base
de datos. los administradores de bases de datos (DBA) no tienen acceso a la recopilación, transmisión,
almacenamiento ni procesamiento de los flujos.
Temas
• Cómo funcionan los flujos de actividad de la base de datos (p. 768)
• Modo asincrónico y sincrónico (p. 769)
• Requisitos para flujos de actividad de la base de datos (p. 770)
Los flujos de actividad de la base de datos son una característica gratuita, pero Amazon Kinesis
cobra por un flujo de datos. Para obtener más información, consulte los Precios de
Amazon Kinesis Data Streams.
Las aplicaciones también pueden utilizar el flujo de actividad para administrar la conformidad. Para
Aurora PostgreSQL, las aplicaciones de conformidad incluyen Security Guardium de IBM y SecureSphere
768
Amazon Aurora Guía del usuario de Aurora
Información general
Database Audit and Protection de Imperva. Esas aplicaciones pueden utilizar el flujo para generar alertas y
auditar la actividad de los clústeres de base de datos de Aurora.
En el gráfico siguiente, se muestra un clúster de Aurora configurado con Amazon Kinesis Data Firehose.
• Modo asíncrono: cuando una sesión de la base de datos genere un evento de flujo de actividad,
la sesión volverá de inmediato a las actividades normales. En segundo plano, el evento de flujo de
actividad se convertirá en un registro permanente. Si se produce un error en la tarea en segundo plano,
se enviará un evento RDS. Dicho evento marca el principio y el fin de todo período de tiempo en el que
podrían haberse perdido registros de eventos de la secuencia de actividades.
El modo asíncrono está disponible tanto para Aurora PostgreSQL como para Aurora MySQL.
• Modo síncrono: cuando una sesión de la base de datos genera un evento de flujo de actividad, la
sesión bloquea otras actividades hasta que el evento sea permanente. Si, por algún motivo, no se
puede conseguir que el evento sea permanente, la sesión de la base de datos volverá a las actividades
769
Amazon Aurora Guía del usuario de Aurora
Información general
normales. Sin embargo, se enviará un evento RDS para indicar que podrían haberse perdido registros
de la secuencia de actividades durante algún tiempo. Cuando el estado del sistema vuelva a ser bueno,
se enviará otro evento RDS.
El modo sincrónico está disponible para Aurora PostgreSQL. No puede usar el modo sincrónico
con Aurora MySQL.
Temas
• Versiones admitidas del motor de Aurora (p. 770)
• Clases de instancia de base de datos compatibles (p. 770)
• AWSCompatibilidad de regiones de (p. 771)
• Requisitos diversos (p. 771)
Para obtener más información acerca de las versiones de Aurora PostgreSQL, consulte Versiones de
Amazon Aurora PostgreSQL y versiones del motor (p. 1722).
Para Aurora MySQL, las secuencias de actividades de base de datos se admiten para la versión 2.08 o
superior, que es compatible con la versión 5.7 de MySQL.
Note
• db.r6g
• db.r5
• db.r4
• db.r3
• db.x2g
770
Amazon Aurora Guía del usuario de Aurora
Requisitos previos de red de Aurora MySQL
Para Aurora PostgreSQL, puede usar flujos de actividad de la base de datos con las siguientes clases de
instancia de base de datos:
• db.r6g
• db.r5
• db.r4
• db.x2g
AWSCompatibilidad de regiones de
Los flujos de actividad de la base de datos no se admiten en todas las regiones de AWS, con excepción de
las siguientes:
Requisitos diversos
• Las secuencias de actividades de la base de datos requieren el uso de AWS Key Management Service
(AWS KMS). AWS KMS es necesario porque las secuencias de actividades siempre están cifradas.
• Los flujos de actividad de la base de datos requieren el uso de Amazon Kinesis.
Temas
• Requisitos previos para los puntos de enlace de AWS KMS (p. 771)
• Requisitos previos para la disponibilidad pública (p. 772)
• Requisitos previos para la disponibilidad privada (p. 772)
771
Amazon Aurora Guía del usuario de Aurora
Inicio de una secuencia de actividades de la base de datos
• Publicly Accessible (Accesible públicamente) debe estar configurado en Yes (Sí) en la página de detalles
del clúster de AWS Management Console.
• El clúster de base de datos debe encontrarse en una subred pública de una Amazon VPC. Para obtener
más información acerca de las instancias de bases de datos con acceso público, consulte Uso de
una instancia de base de datos en una VPC (p. 1926). Para obtener más información acerca de las
subredes de Amazon VPC públicas, consulte VPC y subredes.
• Configurar la traducción de direcciones de red (NAT) en la VPC. Para obtener más información, consulte
Puerta de enlace NAT.
• Crear un punto de enlace de AWS KMS en la VPC. Se recomienda esta opción porque su configuración
es más sencilla.
Para obtener más información acerca de la configuración de puntos de enlace de la VPC, consulte Puntos
de enlace de la VPC.
Cuando inicie un flujo de actividad , todos los eventos de actividad de la base de datos, como un cambio
o un acceso, generarán un evento en el flujo de actividad. Los eventos de acceso se generan a partir de
comandos SQL como CONNECT y SELECT. Los eventos de cambio se generan a partir de comandos SQL
como CREATE y INSERT.
772
Amazon Aurora Guía del usuario de Aurora
Inicio de una secuencia de actividades de la base de datos
Consola
Aparecerá la ventana Start database activity stream: name (Iniciar el flujo de actividad de la base de
datos: nombre), donde name (nombre) equivale a su clúster de base de datos.
5. Ingrese la siguiente configuración:
• En AWS KMS key, seleccione una clave de la lista de AWS KMS keys.
Note
Si el clúster de Aurora MySQL no puede acceder a las claves de KMS, siga las
instrucciones de Requisitos previos de red para flujos de actividad de la base de datos de
Aurora MySQL (p. 771) para habilitar primero dicho acceso.
Aurora utiliza la clave de KMS para cifrar la clave que, a su vez, cifrará la actividad de la base de
datos. Elija una clave de KMS distinta de la clave predeterminada. Para obtener más información
sobre las claves de cifrado y AWS KMS, consulte ¿Qué es AWS Key Management Service? en la
guía para desarrolladores de AWS Key Management Service.
• En Database activity stream mode (Modo de secuencia de actividades de base de datos), elija
Asynchronous (Asíncrono) o Synchronous (Síncrono).
Note
Esta opción solo se aplica a Aurora PostgreSQL. Para Aurora MySQL, solo puede usar el
modo asíncrono.
• Elija Immediately (De inmediato).
Cuando elige Immediately (De inmediato), el clúster de base de datos se reinicia de inmediato.
Si elige During the next maintenance window (Durante el siguiente periodo de mantenimiento), el
clúster de base de datos no se reinicia de inmediato. En este caso, la secuencia de actividades de la
base de datos no se inicia hasta la siguiente ventana de mantenimiento.
Cuando acabe de ingresar la configuración, elija Start database activity stream (Inicie el flujo de
actividad de la base de datos).
El estado del clúster de base de datos muestra que el flujo de actividad se está iniciando.
AWS CLI
Para iniciar el flujo de actividad de la base de datos de un clúster de base de datos , configure el clúster de
base de datos mediante el comando start-activity-stream de AWS CLI.
• --kms-key-id key: especifica el identificador de clave KMS para cifrar mensajes en el flujo de
actividad de la base de datos. El identificador de clave de KMS AWS es el ARN clave, el ID de clave, el
ARN de alias o el nombre de alias de la AWS KMS key.
• --resource-arn arn: especifica el nombre de recurso de Amazon (ARN) del clúster de base de
datos.
• --region: identifica la región de AWS para la instancia de base de datos.
773
Amazon Aurora Guía del usuario de Aurora
Obtención de estado de secuencia de actividades
• --mode sync-or-async: especifica el modo síncrónico (sync) o asíncrono (async). Para Aurora
PostgreSQL, puede elegir cualquiera de los valores. Para Aurora MySQL, especifique async.
• --apply-immediately: aplica el cambio de inmediato. Este parámetro es opcional. Si no especifica
este parámetro, el flujo de actividad de la base de datos se inicia en el siguiente intervalo de
mantenimiento.
Para Windows:
API de RDS
Para iniciar el flujo de actividad de la base de datos de un clúster de base de datos, configure el clúster
mediante la operación StartActivityStream.
• Region
• Mode
• ApplyImmediately
Consola
Obtención del estado de un flujo de actividad de la base de datos
AWS CLI
Puede usar la configuración del flujo de actividad en un clúster de base de datos como la respuesta
a una solicitud describe-db-clusters de CLI. En el ejemplo siguiente, consulte los valores de
774
Amazon Aurora Guía del usuario de Aurora
Detención de un flujo de actividad de la base de datos
La solicitud es la siguiente:
La respuesta incluye los elementos siguientes para una secuencia de actividades de la base de datos:
El ejemplo siguiente muestra una respuesta JSON. Estos campos son los mismos para Aurora
PostgreSQL y Aurora MySQL, excepto que ActivityStreamMode siempre es async para Aurora
MySQL, mientras que para Aurora PostgreSQL, podría ser sync o async.
{
"DBClusters": [
{
"DBClusterIdentifier": "my-cluster",
...
"ActivityStreamKinesisStreamName": "aws-rds-das-cluster-
A6TSYXITZCZXJHIRVFUBZ5LTWY",
"ActivityStreamStatus": "starting",
"ActivityStreamKmsKeyId": "12345678-abcd-efgh-ijkl-bd041f170262",
"ActivityStreamMode": "async",
"DbClusterResourceId": "cluster-ABCD123456"
...
}
]
}
API de RDS
Puede usar la configuración del flujo de actividad en un clúster de base de datos como la respuesta a una
operación DescribeDBClusters .
Consola
Para desactivar una secuencia de actividades
Cuando elige Immediately (De inmediato), el clúster de base de datos se reinicia de inmediato.
Si elige During the next maintenance window (Durante el siguiente periodo de mantenimiento), el
clúster de base de datos no se reinicia de inmediato. En este caso, el flujo de actividad de la base
de datos no se detiene hasta el siguiente periodo de mantenimiento.
775
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
b. Elija Continue.
AWS CLI
Para detener flujos de actividad de la base de datos de su clúster de base de datos, configure el clúster
de base de datos ejecutando el comando stop-activity-stream de AWS CLI. Identifique la región de AWS
del clúster de base de datos mediante el parámetro --region. El parámetro --apply-immediately es
opcional.
Para Windows:
API de RDS
Para detener los flujos de actividad de la base de datos de su clúster de base de datos, configure el clúster
de base de datos mediante la operación StopActivityStream. Identifique la región de AWS del clúster de
base de datos mediante el parámetro Region. El parámetro ApplyImmediately es opcional.
• Comandos SQL: todos los comandos SQL se auditan, así como las sentencias preparadas, las
funciones integradas y las funciones en lenguaje de procedimientos para SQL (PL/SQL). Las llamadas a
procedimientos almacenados se auditan. Cualquier instrucción SQL emitida dentro de procedimientos o
funciones almacenados también se auditan.
776
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
• Otra información de la base de datos: la actividad monitoreada incluye la instrucción SQL completa,
el recuento de las filas afectadas de los comandos DML, los objetos a los que se accede y el nombre
único de la base de datos. Para Aurora PostgreSQL, los flujos de actividad de la base de datos también
monitorean las variables de enlace y los parámetros del procedimiento almacenados.
Important
El texto SQL completo de cada instrucción está visible en el registro de auditoría de secuencia
de actividades, incluida la información confidencial. Sin embargo, las contraseñas de usuario de
base de datos se redactan siAurora las puede determinar a partir del contexto, tal y como pasa
con la siguiente sentencia SQL.
Si un flujo de actividad tiene un error mientras monitorea una instancia de base de datos, se lo notificará
mediante eventos RDS.
Temas
• Acceso a una secuencia de actividades desde Kinesis (p. 777)
• Auditoría de contenido de registros y ejemplos (p. 778)
• Procesamiento de un flujo de actividad de la base de datos mediante SDK de AWS (p. 793)
aws-rds-das-cluster-NHVOV4PCLWHGF52NP
A fin de utilizar la consola de Amazon RDS para encontrar el ID de recurso del clúster de base
de datos, elija su clúster de base de datos de la lista de bases de datos y, luego, elija la pestaña
Configuration (Configuración).
Para utilizar AWS CLI con el fin de encontrar el nombre completo del flujo de Kinesis de
un flujo de actividad, utilice una solicitud describe-db-clusters de CLI y anote el valor de
ActivityStreamKinesisStreamName en la respuesta.
3. Elija Monitoring (Monitorización) para empezar a observar la actividad de la base de datos.
Para obtener más información acerca del uso de Amazon Kinesis, consulte ¿Qué es Amazon Kinesis Data
Streams?.
777
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
Temas
• Ejemplos de un registro de auditoría de flujo de actividad de la base de datos (p. 778)
• Objeto JSON DatabaseActivityMonitoringRecords (p. 784)
• Objeto JSON databaseActivityEvents (p. 784)
• Matriz de JSON databaseActivityEventList (p. 786)
Después, se muestra un registro de evento de actividad de un inicio de sesión que utiliza una sentencia
SQL CONNECT (command) de un psql client (clientApplication).
{
"type":"DatabaseActivityMonitoringRecords",
"version":"1.1",
"databaseActivityEvents":
{
"type":"DatabaseActivityMonitoringRecord",
"clusterId":"cluster-4HNY5V4RRNPKKYB7ICFKE5JBQQ",
"instanceId":"db-FZJTMYKCXQBUUZ6VLU7NW3ITCM",
"databaseActivityEventList":[
{
"startTime": "2019-10-30 00:39:49.940668+00",
"logTime": "2019-10-30 00:39:49.990579+00",
"statementId": 1,
"substatementId": 1,
"objectType": null,
"command": "CONNECT",
"objectName": null,
"databaseName": "postgres",
"dbUserName": "rdsadmin",
"remoteHost": "172.31.3.195",
"remotePort": "49804",
"sessionId": "5ce5f7f0.474b",
"rowCount": null,
"commandText": null,
"paramList": [],
"pid": 18251,
"clientApplication": "psql",
"exitCode": null,
"class": "MISC",
"serverVersion": "2.3.1",
"serverType": "PostgreSQL",
"serviceName": "Amazon Aurora PostgreSQL-Compatible edition",
"serverHost": "172.31.3.192",
"netProtocol": "TCP",
"dbProtocol": "Postgres 3.0",
778
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
"type": "record",
"errorMessage": null
}
]
},
"key":"decryption-key"
}
Example Registro de evento de actividad de una instrucción SQL CONNECT de Aurora MySQL
A continuación se muestra un registro de evento de actividad de un inicio de sesión que usa una
instrucción SQL CONNECT (command) de un cliente mysql (clientApplication).
{
"type":"DatabaseActivityMonitoringRecord",
"clusterId":"cluster-some_id",
"instanceId":"db-some_id",
"databaseActivityEventList":[
{
"logTime":"2020-05-22 18:07:13.267214+00",
"type":"record",
"clientApplication":null,
"pid":2830,
"dbUserName":"rdsadmin",
"databaseName":"",
"remoteHost":"localhost",
"remotePort":"11053",
"command":"CONNECT",
"commandText":"",
"paramList":null,
"objectType":"TABLE",
"objectName":"",
"statementId":0,
"substatementId":1,
"exitCode":"0",
"sessionId":"725121",
"rowCount":0,
"serverHost":"master",
"serverType":"MySQL",
"serviceName":"Amazon Aurora MySQL",
"serverVersion":"MySQL 5.7.12",
"startTime":"2020-05-22 18:07:13.267207+00",
"endTime":"2020-05-22 18:07:13.267213+00",
"transactionId":"0",
"dbProtocol":"MySQL",
"netProtocol":"TCP",
"errorMessage":"",
"class":"MAIN"
}
]
}
{
"type":"DatabaseActivityMonitoringRecords",
"version":"1.1",
"databaseActivityEvents":
{
779
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
"type":"DatabaseActivityMonitoringRecord",
"clusterId":"cluster-4HNY5V4RRNPKKYB7ICFKE5JBQQ",
"instanceId":"db-FZJTMYKCXQBUUZ6VLU7NW3ITCM",
"databaseActivityEventList":[
{
"startTime": "2019-05-24 00:36:54.403455+00",
"logTime": "2019-05-24 00:36:54.494235+00",
"statementId": 2,
"substatementId": 1,
"objectType": null,
"command": "CREATE TABLE",
"objectName": null,
"databaseName": "postgres",
"dbUserName": "rdsadmin",
"remoteHost": "172.31.3.195",
"remotePort": "34534",
"sessionId": "5ce73c6f.7e64",
"rowCount": null,
"commandText": "create table my_table (id serial primary key, name
varchar(32));",
"paramList": [],
"pid": 32356,
"clientApplication": "psql",
"exitCode": null,
"class": "DDL",
"serverVersion": "2.3.1",
"serverType": "PostgreSQL",
"serviceName": "Amazon Aurora PostgreSQL-Compatible edition",
"serverHost": "172.31.3.192",
"netProtocol": "TCP",
"dbProtocol": "Postgres 3.0",
"type": "record",
"errorMessage": null
}
]
},
"key":"decryption-key"
}
{
"type":"DatabaseActivityMonitoringRecord",
"clusterId":"cluster-some_id",
"instanceId":"db-some_id",
"databaseActivityEventList":[
{
"logTime":"2020-05-22 18:07:12.250221+00",
"type":"record",
"clientApplication":null,
"pid":2830,
"dbUserName":"master",
"databaseName":"test",
"remoteHost":"localhost",
"remotePort":"11054",
"command":"QUERY",
780
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
{
"type":"DatabaseActivityMonitoringRecord",
"clusterId":"cluster-some_id",
"instanceId":"db-some_id",
"databaseActivityEventList":[
{
"logTime":"2020-05-22 18:07:12.247182+00",
"type":"record",
"clientApplication":null,
"pid":2830,
"dbUserName":"master",
"databaseName":"test",
"remoteHost":"localhost",
"remotePort":"11054",
"command":"CREATE",
"commandText":"test1",
"paramList":null,
"objectType":"TABLE",
"objectName":"test1",
"statementId":65459278,
"substatementId":2,
"exitCode":"",
"sessionId":"725118",
"rowCount":0,
"serverHost":"master",
"serverType":"MySQL",
"serviceName":"Amazon Aurora MySQL",
"serverVersion":"MySQL 5.7.12",
"startTime":"2020-05-22 18:07:12.226384+00",
"endTime":"2020-05-22 18:07:12.247182+00",
"transactionId":"0",
"dbProtocol":"MySQL",
"netProtocol":"TCP",
"errorMessage":"",
"class":"AUX"
}
]
}
781
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
{
"type":"DatabaseActivityMonitoringRecords",
"version":"1.1",
"databaseActivityEvents":
{
"type":"DatabaseActivityMonitoringRecord",
"clusterId":"cluster-4HNY5V4RRNPKKYB7ICFKE5JBQQ",
"instanceId":"db-FZJTMYKCXQBUUZ6VLU7NW3ITCM",
"databaseActivityEventList":[
{
"startTime": "2019-05-24 00:39:49.920564+00",
"logTime": "2019-05-24 00:39:49.940668+00",
"statementId": 6,
"substatementId": 1,
"objectType": "TABLE",
"command": "SELECT",
"objectName": "public.my_table",
"databaseName": "postgres",
"dbUserName": "rdsadmin",
"remoteHost": "172.31.3.195",
"remotePort": "34534",
"sessionId": "5ce73c6f.7e64",
"rowCount": 10,
"commandText": "select * from my_table;",
"paramList": [],
"pid": 32356,
"clientApplication": "psql",
"exitCode": null,
"class": "READ",
"serverVersion": "2.3.1",
"serverType": "PostgreSQL",
"serviceName": "Amazon Aurora PostgreSQL-Compatible edition",
"serverHost": "172.31.3.192",
"netProtocol": "TCP",
"dbProtocol": "Postgres 3.0",
"type": "record",
"errorMessage": null
}
]
},
"key":"decryption-key"
}
{
"type":"DatabaseActivityMonitoringRecord",
"clusterId":"cluster-some_id",
"instanceId":"db-some_id",
"databaseActivityEventList":[
{
"logTime":"2020-05-22 18:29:57.986467+00",
"type":"record",
"clientApplication":null,
"pid":2830,
782
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
"dbUserName":"master",
"databaseName":"test",
"remoteHost":"localhost",
"remotePort":"11054",
"command":"QUERY",
"commandText":"SELECT * FROM test1 WHERE id < 28",
"paramList":null,
"objectType":"TABLE",
"objectName":"test1",
"statementId":65469218,
"substatementId":1,
"exitCode":"0",
"sessionId":"726571",
"rowCount":2,
"serverHost":"master",
"serverType":"MySQL",
"serviceName":"Amazon Aurora MySQL",
"serverVersion":"MySQL 5.7.12",
"startTime":"2020-05-22 18:29:57.986364+00",
"endTime":"2020-05-22 18:29:57.986467+00",
"transactionId":"0",
"dbProtocol":"MySQL",
"netProtocol":"TCP",
"errorMessage":"",
"class":"MAIN"
}
]
}
{
"type":"DatabaseActivityMonitoringRecord",
"instanceId":"db-some_id",
"databaseActivityEventList":[
{
"logTime":"2020-05-22 18:29:57.986399+00",
"type":"record",
"clientApplication":null,
"pid":2830,
"dbUserName":"master",
"databaseName":"test",
"remoteHost":"localhost",
"remotePort":"11054",
"command":"READ",
"commandText":"test1",
"paramList":null,
"objectType":"TABLE",
"objectName":"test1",
"statementId":65469218,
"substatementId":2,
"exitCode":"",
"sessionId":"726571",
"rowCount":0,
"serverHost":"master",
"serverType":"MySQL",
"serviceName":"Amazon Aurora MySQL",
"serverVersion":"MySQL 5.7.12",
"startTime":"2020-05-22 18:29:57.986364+00",
"endTime":"2020-05-22 18:29:57.986399+00",
"transactionId":"0",
"dbProtocol":"MySQL",
"netProtocol":"TCP",
"errorMessage":"",
"class":"AUX"
783
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
}
]
}
databaseActivityEvents (p.
string
784) Un objeto JSON que contiene los eventos de actividad.
key string Una clave de cifrado que se utiliza para descifrar la matriz JSON
databaseActivityEventList (p. 786)databaseActivityEventList.
type
Este campo representa la versión del protocolo o contrato de datos del flujo de actividad de la base de
datos. Define los campos que están disponibles.
La versión 1.0 representa el soporte de secuencias de actividades de datos originales para Aurora
PostgreSQL versiones 10.7 y 11.4. La versión 1.1 representa el soporte de secuencias de actividades
784
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
de datos para Aurora PostgreSQL versiones 10.10 y posteriores y Aurora PostgreSQL 11.5 y
posteriores. La versión 1.1 incluye los campos adicionales errorMessage y startTime. La versión
1.2 representa el soporte de secuencias de actividad de datos para Aurora MySQL 2.08 y superior. La
versión 1.2 incluye los campos adicionales endTime y transactionId.
databaseActivityEvents
Una cadena cifrada que representa uno o más eventos de actividad. Se representa como una matriz
de bytes base64. Al descifrar la cadena, el resultado es un registro en formato JSON con campos, tal y
como se muestra en los ejemplos de esta sección.
key
Clave de datos cifrada utilizada para cifrar la cadena databaseActivityEvents. Esta es la misma
AWS KMS key que proporcionó cuando inició la secuencia de actividades de la base de datos.
{
"type":"DatabaseActivityMonitoringRecords",
"version":"1.1",
"databaseActivityEvents":"encrypted audit records",
"key":"encrypted key"
}
1. Descifrar el valor en el campo JSON key mediante la clave de KMS que proporcionó al iniciar la
secuencia de actividades de la base de datos. Al hacerlo, se devuelve la clave de cifrado de datos en
texto sin cifrar.
2. Decodifique en base64 el valor en el campo JSON databaseActivityEvents para obtener el texto
cifrado, en formato binario, de la carga útil de auditoría.
3. Descifrar el texto cifrado binario con la clave de cifrado de datos que decodificó en el primer paso.
4. Descomprimir la carga útil descifrada.
• La carga cifrada está en el campo databaseActivityEvents.
• El campo databaseActivityEventList contiene una matriz de registros de auditoría. Los
campos type de la matriz pueden ser record o heartbeat.
Un registro de evento de actividad de registro de auditoría es un objeto JSON que contiene la información
siguiente.
clusterId string Identificador del recurso del clúster de base de datos. Corresponde
al atributo del clúster de base de datos DbClusterResourceId.
databaseActivityEventList
string
(p. 786) Una matriz de registros de auditoría de actividad o mensajes de
latido.
785
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
La estructura de los eventos está sujeta a cambio. Aurora podría agregar nuevos campos a
eventos de actividad en el futuro. En las aplicaciones que analizan los datos JSON, asegúrese
de que el código puede ignorar o tomar las acciones adecuadas para nombres de campo
desconocidos.
class string Clase de evento de actividad. Los valores válidos para Aurora
PostgreSQL son los siguientes:
• ALL
• CONNECT: evento de conexión o desconexión.
• DDL: instrucción DDL que no está incluida en la lista de
instrucciones de la clase ROLE.
• FUNCTION: llamada de función o bloque DO.
• MISC: comando variado como, por ejemplo, DISCARD, FETCH,
CHECKPOINT o VACUUM.
• NONE
• READ: instrucción SELECT o COPY donde el origen es una
relación o una consulta.
• ROLE: instrucción relacionada con roles y privilegios como
GRANT, REVOKE y CREATE/ALTER/DROP ROLE.
• WRITE: instrucción INSERT, UPDATE, DELETE, TRUNCATE o
COPY cuando el destino es una relación.
command string Nombre del comando SQL sin ningún detalle del comando.
commandText string Instrucción SQL real que el usuario ha pasado. Para Aurora
PostgreSQL, el valor es idéntico a la instrucción SQL original.
Este campo se usa para todo tipo de registros, salvo para
registros de conexión o desconexión, en cuyo caso el valor es
nulo.
Important
786
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
errorMessage string Si hubo algún error, este campo se rellena con el mensaje de
error que habría generado el servidor de base de datos. El valor
(solo registros de errorMessage es nulo para las declaraciones normales que no
actividad de la dieron lugar a un error.
base de datos de la
versión 1.1) Un error se define como cualquier actividad que produzca un
evento de registro de errores de PostgreSQL visible para el
cliente en un nivel de gravedad de ERROR o superior. Para
obtener más información, consulte Niveles de gravedad de
mensajes de PostgreSQL. Por ejemplo, los errores de sintaxis y
las cancelaciones de consultas generan un mensaje de error.
objectName string Nombre del objeto de base de datos si la instrucción SQL opera
en uno. Este campo solo se usa cuando la instrucción SQL
funciona en un objeto de base de datos. Si la instrucción SQL no
opera en un objeto, este valor es nulo.
787
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
objectType string Tipo de objeto de base de datos como mesa, índice, vista, etc.
Este campo solo se usa cuando la instrucción SQL funciona en
un objeto de base de datos. Si la instrucción SQL no opera en un
objeto, este valor es nulo. Entre los valores válidos se incluyen los
siguientes:
• COMPOSITE TYPE
• FOREIGN TABLE
• FUNCTION
• INDEX
• MATERIALIZED VIEW
• SEQUENCE
• TABLE
• TOAST TABLE
• VIEW
• UNKNOWN
serverVersion string La versión del servidor de base de datos, por ejemplo 2.3.1 para
Aurora PostgreSQL.
788
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
type string Tipo de evento. Los valores válidos son record o heartbeat.
789
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
commandText string Para los eventos con un valor class de MAIN, este campo
representa la instrucción SQL real que el usuario ha pasado. Este
campo se usa para todo tipo de registros, salvo para registros de
conexión o desconexión, en cuyo caso el valor es nulo.
790
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
errorMessage string Si hubo algún error, este campo se rellena con el mensaje de
error que habría generado el servidor de base de datos. El valor
(solo registros de errorMessage es nulo para las declaraciones normales que no
actividad de la dieron lugar a un error.
base de datos de la
versión 1.1) Un error se define como cualquier actividad que produciría un
evento de registro de errores de MySQL visible para el cliente
en un nivel de gravedad de ERROR o superior. Para obtener más
información, consulte The Error Log en el Manual de referencia de
MySQL. Por ejemplo, los errores de sintaxis y las cancelaciones
de consultas generan un mensaje de error.
objectName string Nombre del objeto de base de datos si la instrucción SQL opera
en uno. Este campo solo se usa cuando la instrucción SQL
funciona en un objeto de base de datos. Si la instrucción SQL
no opera en un objeto, este valor es nulo. Para crear el nombre
completo del objeto, combine databaseName y objectName. Si
la consulta implica a varios objetos, este campo puede ser una
lista de nombres separados por comas.
objectType string El tipo de objeto de base de datos como tabla, índice, vista, etc.
Este campo solo se usa cuando la instrucción SQL funciona en
un objeto de base de datos. Si la instrucción SQL no opera en un
objeto, este valor es nulo.
• INDEX
• TABLE
• UNKNOWN
paramList string Este campo no se utiliza para Aurora MySQL y siempre es nulo.
791
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
rowCount int Número de filas de tabla que la instrucción SQL recupera o a las
que afecta. Este campo se usa únicamente para instrucciones
SQL que son instrucciones de lenguaje de manipulación de datos
(DML). Si la instrucción SQL no es una instrucción DML, este
valor es nulo.
serverVersion string Versión del servidor de base de datos. Actualmente, este valor es
siempre MySQL 5.7.12 para Aurora MySQL.
(solo registros de
actividad de la
base de datos de la
versión 1.2)
792
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
type string Tipo de evento. Los valores válidos son record o heartbeat.
Java
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.Security;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.zip.GZIPInputStream;
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.SecretKeySpec;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.encryptionsdk.AwsCrypto;
import com.amazonaws.encryptionsdk.CryptoInputStream;
import com.amazonaws.encryptionsdk.jce.JceMasterKey;
import com.amazonaws.services.kinesis.clientlibrary.exceptions.InvalidStateException;
import com.amazonaws.services.kinesis.clientlibrary.exceptions.ShutdownException;
import com.amazonaws.services.kinesis.clientlibrary.exceptions.ThrottlingException;
import com.amazonaws.services.kinesis.clientlibrary.interfaces.IRecordProcessor;
import
com.amazonaws.services.kinesis.clientlibrary.interfaces.IRecordProcessorCheckpointer;
import
com.amazonaws.services.kinesis.clientlibrary.interfaces.IRecordProcessorFactory;
import
com.amazonaws.services.kinesis.clientlibrary.lib.worker.InitialPositionInStream;
import
com.amazonaws.services.kinesis.clientlibrary.lib.worker.KinesisClientLibConfiguration;
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.ShutdownReason;
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.Worker;
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.Worker.Builder;
import com.amazonaws.services.kinesis.model.Record;
import com.amazonaws.services.kms.AWSKMS;
import com.amazonaws.services.kms.AWSKMSClientBuilder;
import com.amazonaws.services.kms.model.DecryptRequest;
import com.amazonaws.services.kms.model.DecryptResult;
import com.amazonaws.util.Base64;
import com.amazonaws.util.IOUtils;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
793
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
import com.google.gson.annotations.SerializedName;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
class Activity {
String type;
String version;
String databaseActivityEvents;
String key;
}
class ActivityEvent {
@SerializedName("class") String _class;
String clientApplication;
String command;
String commandText;
String databaseName;
String dbProtocol;
String dbUserName;
String endTime;
String errorMessage;
String exitCode;
String logTime;
String netProtocol;
String objectName;
String objectType;
List<String> paramList;
String pid;
String remoteHost;
String remotePort;
String rowCount;
String serverHost;
String serverType;
String serverVersion;
String serviceName;
String sessionId;
String startTime;
String statementId;
String substatementId;
String transactionId;
String type;
}
class ActivityRecords {
String type;
String clusterId;
794
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
String instanceId;
List<ActivityEvent> databaseActivityEventList;
}
@Override
public void initialize(String shardId) {
}
@Override
public void processRecords(final List<Record> records, final
IRecordProcessorCheckpointer checkpointer) {
for (final Record record : records) {
processSingleBlob(record.getData());
}
@Override
public void shutdown(IRecordProcessorCheckpointer checkpointer, ShutdownReason
reason) {
if (reason == ShutdownReason.TERMINATE) {
checkpoint(checkpointer);
}
}
// Base64.Decode
final byte[] decoded = Base64.decode(activity.databaseActivityEvents);
final byte[] decodedDataKey = Base64.decode(activity.key);
795
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
// Decrypt
final DecryptRequest decryptRequest = new DecryptRequest()
.withCiphertextBlob(ByteBuffer.wrap(decodedDataKey)).withEncryptionContext(context);
final DecryptResult decryptResult = KMS.decrypt(decryptRequest);
final byte[] decrypted = decrypt(decoded,
getByteArray(decryptResult.getPlaintext()));
// GZip Decompress
final byte[] decompressed = decompress(decrypted);
// JSON $ActivityRecords
final ActivityRecords activityRecords = GSON.fromJson(new
String(decompressed, StandardCharsets.UTF_8), ActivityRecords.class);
796
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
} catch (InterruptedException e) {
System.out.println("Interrupted sleep" + e);
}
}
}
}
kinesisClientLibConfiguration.withInitialPositionInStream(InitialPositionInStream.LATEST);
kinesisClientLibConfiguration.withRegionName(REGION_NAME);
final Worker worker = new Builder()
.recordProcessorFactory(new RecordProcessorFactory())
.config(kinesisClientLibConfiguration)
.build();
try {
worker.run();
} catch (Throwable t) {
System.err.println("Caught throwable while processing data.");
t.printStackTrace();
System.exit(1);
}
System.exit(0);
}
Python
import base64
import json
import zlib
import aws_encryption_sdk
from aws_encryption_sdk import CommitmentPolicy
from aws_encryption_sdk.internal.crypto import WrappingKey
from aws_encryption_sdk.key_providers.raw import RawMasterKeyProvider
797
Amazon Aurora Guía del usuario de Aurora
Monitoreo de secuencias de actividades
enc_client =
aws_encryption_sdk.EncryptionSDKClient(commitment_policy=CommitmentPolicy.REQUIRE_ENCRYPT_ALLOW_DE
class MyRawMasterKeyProvider(RawMasterKeyProvider):
provider_id = "BC"
materials_manager=aws_encryption_sdk.materials_managers.default.DefaultCryptoMaterialsManager(mast
return decrypted_plaintext
def main():
session = boto3.session.Session()
kms = session.client('kms', region_name=REGION_NAME)
kinesis = session.client('kinesis', region_name=REGION_NAME)
response = kinesis.describe_stream(StreamName=STREAM_NAME)
shard_iters = []
for shard in response['StreamDescription']['Shards']:
shard_iter_response = kinesis.get_shard_iterator(StreamName=STREAM_NAME,
ShardId=shard['ShardId'],
ShardIteratorType='LATEST')
shard_iters.append(shard_iter_response['ShardIterator'])
798
Amazon Aurora Guía del usuario de Aurora
Administración del acceso a secuencias de actividades
data_key_decrypt_result = kms.decrypt(CiphertextBlob=data_key_decoded,
EncryptionContext={'aws:rds:dbc-
id': RESOURCE_ID})
print decrypt_decompress((payload_decoded,
data_key_decrypt_result['Plaintext']))
if 'NextShardIterator' in response:
next_shard_iters.append(response['NextShardIterator'])
shard_iters = next_shard_iters
if __name__ == '__main__':
main()
Establezca el acceso a las secuencias de actividades de base de datos mediante políticas IAM. Para
obtener más información acerca de la autenticación de Aurora, consulte Identity and access management
en Amazon Aurora (p. 1857). Para obtener más información sobre la creación de políticas de IAM,
consulte Creación y uso de una política de IAM para el acceso a bases de datos de IAM (p. 1880).
Para dar a los usuarios un acceso detallado con el fin de modificar flujos de actividad, utilice
las claves de contexto de operación específica del servicio rds:StartActivityStream y
rds:StopActivityStream de una política de IAM. En el siguiente ejemplo de política de IAM el usuario
o rol pueden configurar secuencias de actividades.
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"ConfigureActivityStreams",
"Effect":"Allow",
"Action": [
"rds:StartActivityStream",
"rds:StopActivityStream"
],
"Resource":"*",
}
]
}
En el siguiente ejemplo de política de IAM el usuario o rol pueden iniciar secuencias de actividades.
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AllowStartActivityStreams",
799
Amazon Aurora Guía del usuario de Aurora
Administración del acceso a secuencias de actividades
"Effect":"Allow",
"Action":"rds:StartActivityStream",
"Resource":"*"
}
]
}
En el siguiente ejemplo de política de IAM el usuario o rol pueden detener secuencias de actividades.
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AllowStopActivityStreams",
"Effect":"Allow",
"Action":"rds:StopActivityStream",
"Resource":"*"
}
]
}
En el siguiente ejemplo de política de IAM se evita que un usuario o rol inicie secuencias de actividades.
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"DenyStartActivityStreams",
"Effect":"Deny",
"Action":"rds:StartActivityStream",
"Resource":"*"
}
]
}
En el siguiente ejemplo de política de IAM se evita que un usuario o rol detenga secuencias de actividades.
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"DenyStopActivityStreams",
"Effect":"Deny",
"Action":"rds:StopActivityStream",
"Resource":"*"
}
]
}
800
Amazon Aurora Guía del usuario de Aurora
Información general de Aurora MySQL
Temas
• Información general de Amazon Aurora MySQL (p. 801)
• Seguridad con Amazon Aurora MySQL (p. 830)
• Actualización de aplicaciones para la conexión a los clústeres de base de datos de MySQL de Aurora
con los nuevos certificados SSL/TLS (p. 835)
• Migración de datos a un clúster de base de datos de Amazon Aurora MySQL (p. 839)
• Administración de Amazon Aurora MySQL (p. 874)
• Ajuste de Aurora MySQL con eventos de espera y estados de subprocesos (p. 902)
• Trabajar con consultas paralelas de Amazon Aurora MySQL (p. 948)
• Uso de auditorías avanzadas con un clúster de base de datos de Amazon Aurora MySQL (p. 985)
• Modelo de replicación maestro único con Amazon Aurora MySQL (p. 988)
• Uso de clústeres multimaestros de Aurora (p. 1035)
• Integración de Amazon Aurora MySQL con otros servicios de AWS (p. 1064)
• Modo lab de Amazon Aurora MySQL (p. 1116)
• Prácticas recomendadas con Amazon Aurora MySQL (p. 1117)
• Referencia de Amazon Aurora MySQL (p. 1127)
• Actualizaciones del motor de base de datos de Amazon Aurora MySQL (p. 1170)
Temas
• Mejoras del rendimiento de Amazon Aurora MySQL (p. 801)
• Amazon Aurora MySQL y los datos espaciales (p. 802)
• Aurora MySQL versión 3 compatible con MySQL 8.0 (p. 803)
• Aurora MySQL versión 2 compatible con MySQL 5.7 (p. 829)
801
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL y los datos espaciales
Inserción rápida
La inserción rápida acelera las inserciones paralelas ordenadas por clave principal y se aplica
específicamente a las declaraciones LOAD DATA e INSERT INTO ... SELECT .... La inserción rápida
almacena en caché la posición de un cursor en un recorrido del índice mientras se ejecuta la declaración.
Esto evita tener que recorrer el índice de nuevo sin necesidad.
Puede monitorizar las siguientes métricas para determinar la eficacia de la inserción rápida para su clúster
de base de datos:
Puede recuperar el valor actual de las métricas de inserción rápida con el siguiente comando:
+---------------------------------+-----------+
| Variable_name | Value |
+---------------------------------+-----------+
| Aurora_fast_insert_cache_hits | 3598300 |
| Aurora_fast_insert_cache_misses | 436401336 |
+---------------------------------+-----------+
• Aurora MySQL admite los mismos tipos de datos espaciales y funciones de relaciones espaciales que
MySQL 5.6. Para obtener más información sobre estos tipos de datos y funciones, consulte Tipos de
datos espaciales y Funciones de relaciones espaciales en la documentación de MySQL 5.6.
• Aurora MySQL admite los mismos tipos de datos espaciales y funciones de relaciones espaciales que
MySQL 5.7. Para obtener más información sobre estos tipos de datos y funciones, consulte Tipos de
datos espaciales y Funciones de relaciones espaciales en la documentación de MySQL 5.7.
• Aurora MySQL 3.x admite los mismos tipos de datos espaciales y funciones de relaciones espaciales
que MySQL 8.0. Para obtener más información sobre estos tipos de datos y funciones, consulte Tipos de
datos espaciales y Funciones de relaciones espaciales en la documentación de MySQL 8.0.
• Aurora MySQL admite la indexación espacial en tablas InnoDB. La indexación espacial mejora el
desempeño de las consultas en conjuntos de datos grandes, para consultas sobre datos espaciales.
En MySQL, la indexación espacial para tablas InnoDB no está disponible en MySQL 5.6, pero está
disponible en MySQL 5.7 y 8.0. Aurora MySQL usa una estrategia de indexación espacial diferente
a MySQL para un alto rendimiento con consultas espaciales. La implementación del índice espacial
de Aurora utiliza una curva de relleno de espacio en un árbol B, que está destinada a proporcionar un
rendimiento mayor para los escaneos de rango espacial que un árbol R.
Las siguientes declaraciones en el lenguaje de definición de datos (DDL) se admiten para crear índices en
columnas que usan tipos de datos espaciales.
802
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
CREATE TABLE
Puede usar las palabras clave SPATIAL INDEX en una declaración CREATE TABLE para añadir un índice
espacial a una columna en una tabla nueva. A continuación se muestra un ejemplo.
ALTER TABLE
Puede usar las palabras clave SPATIAL INDEX en una declaración ALTER TABLE para añadir un índice
espacial a una columna en una tabla existente. A continuación se muestra un ejemplo.
CREATE INDEX
Puede usar la palabra clave SPATIAL en una declaración CREATE INDEX para añadir un índice espacial a
una columna en una tabla existente. A continuación se muestra un ejemplo.
Temas
• Características de la comunidad MySQL 8.0 (p. 803)
• Nuevas optimizaciones de consultas paralelas (p. 804)
• Notas de la versión 3 de Aurora MySQL (p. 804)
• Comparación de Aurora MySQL versión 2 y Aurora MySQL versión 3 (p. 804)
• Comparación de Aurora MySQL versión 3 y la comunidad Aurora MySQL versión 8.0 (p. 812)
• Actualización a Aurora MySQL versión 3 (p. 816)
• Funciones JSON. Para obtener más información, consulte Funciones JSON en el Manual de referencia
de MySQL.
• Funciones de ventana. Para obtener más información, consulte Funciones de ventana en el Manual de
referencia de MySQL.
• Expresiones de tabla comunes (CTE), utilizando la cláusula WITH. Para obtener más información,
consulte WITH (expresiones de tabla comunes) en el Manual de referencia de MySQL.
• Cláusulas ADD COLUMN y RENAME COLUMN optimizadas para la instrucción ALTER TABLE. Estas
optimizaciones se denominan “DDL instantáneo”. Aurora MySQL versión 3 es compatible con la
803
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
característica DDL instantánea de la comunidad MySQL. No se usa la antigua característica DDL rápida
de Aurora. Para obtener información de uso de DDL instantáneo, consulte DDL instantáneo (Aurora
MySQL versión 3) (p. 897).
• Índices descendentes, funcionales e invisibles. Para obtener más información, consulte Índices
invisibles, Índices descendentes, e Instrucción CREATE INDEX en el Manual de referencia de MySQL.
• Privilegios basados en roles controlados mediante instrucciones SQL. Para obtener más información
sobre los cambios en el modelo de privilegios, consulte Modelo de privilegios basado en roles (p. 813).
• Cláusulas NOWAIT y SKIP LOCKED con la instrucción SELECT ... FOR SHARE. Estas cláusulas evitan
esperar a que otras transacciones liberen bloqueos de fila. Para obtener más información, consulte
Lecturas de bloqueo en el Manual de referencia de MySQL Reference.
• Mejoras en la replicación del registro binario (binlog). Para obtener información detallada sobre Aurora
MySQL, consulte Reproducción de registros binarios (p. 811). En particular, puede realizar una
replicación filtrada. Para obtener información de uso sobre la replicación filtrada, consulte Cómo evalúan
los servidores las reglas de filtrado de replicación en el Manual de referencia de MySQL.
• Sugerencias. Algunas de las sugerencias compatibles con MySQL 8.0 ya estaban respaldadas en
Aurora MySQL versión 2. Para obtener información sobre el uso de las sugerencias con Aurora MySQL,
consulte Consejos de Aurora MySQL (p. 1161). Para obtener lista completa de sugerencias en la
comunidad MySQL 8.0, consulte Sugerencias del optimizador en el Manual de referencia de MySQL.
Para obtener la lista completa de funciones añadidas a la edición de la comunidad MySQL 8.0, consulte la
entrada del blog Lista completa de las nuevas características de MySQL 8.0.
Aurora MySQL versión 3 también incluye cambios en las palabras clave para un lenguaje inclusivo,
respaldado desde la comunidad MySQL 8.0.26. Para obtener más detalles acerca de estos cambios,
consulte Cambios de idioma inclusivos para Aurora MySQL versión 3 (p. 807).
• La consulta paralela se aplica ahora a las tablas que contienen los tipos de datos TEXT, BLOB, JSON,
GEOMETRY, y VARCHAR y CHAR de más de 768 bytes.
• La consulta paralela puede optimizar las consultas que implican tablas particionadas.
• Las consultas paralelas pueden optimizar consultas que implican llamadas a funciones agregadas en la
lista de selección y en la cláusula HAVING.
Para obtener más información acerca de estas mejoras, consulte Actualización de clústeres de
consultas en paralelo para la versión 3 de Aurora MySQL (p. 961). Para obtener información general
sobre la consulta paralela de Aurora, consulte Trabajar con consultas paralelas de Amazon Aurora
MySQL (p. 948).
Temas
804
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
• Backtrack no está disponible para clústeres de Aurora MySQL versión 3. Tenemos la intención de que
esta característica esté disponible en una versión secundaria posterior.
Si tiene un clúster de Aurora MySQL versión 2 que utiliza backtrack, actualmente no puede utilizar el
método de restauración de instantáneas para actualizar a Aurora MySQL versión 3. Esta limitación
se aplica a todos los clústeres que utilizan clústeres de backtrack, independientemente de si la
configuración de backtrack está activada. Para obtener información acerca de los procedimientos de
actualización, consulte Actualización a Aurora MySQL versión 3 (p. 816).
• No puede usar Aurora MySQL versión 3 para clústeres de Aurora Serverless v1. Aurora MySQL versión
3 funciona con Aurora Serverless v2, que se encuentra actualmente en versión preliminar.
• El modo lab no se aplica a Aurora MySQL versión 3. No hay funciones de modo lab en Aurora MySQL
versión 3. DDL instantáneo sustituye a la característica rápida DDL en línea que antes estaba disponible
en modo lab. Para ver un ejemplo, consulte DDL instantáneo (Aurora MySQL versión 3) (p. 897).
• La caché de consultas se elimina de la comunidad MySQL 8.0 y también de Aurora MySQL versión 3.
• Aurora MySQL versión 3 es compatible con la característica de unión hash de la comunidad MySQL.
No se utiliza la implementación específica de Aurora de uniones hash en Aurora MySQL versión 2. Para
obtener información sobre el uso de combinaciones hash con una consulta paralela de Aurora, consulte
Activación de una combinación hash para clústeres de consultas paralelas (p. 960) y Consejos de
Aurora MySQL (p. 1161). Para obtener información general de uso sobre las uniones hash, consulte
Optimización de combinaciones hash en el Manual de referencia de MySQL.
• Actualmente, no puede restaurar una copia de seguridad física desde la herramienta Percona
XtraBackup a un clúster Aurora MySQL versión 3. Tenemos la intención de admitir esta característica en
una versión secundaria posterior.
• El procedimiento almacenado mysql.lambda_async que quedó obsoleto en Aurora MySQL versión 2
se elimina en la versión 3. Para la versión 3, utilice la función asíncrona lambda_async en su lugar.
• El conjunto de caracteres predeterminado en Aurora MySQL versión 3 es utf8mb4. En Aurora MySQL
versión 2, el conjunto de caracteres predeterminado era latin1. Para obtener información sobre este
conjunto de caracteres, consulte El conjunto de caracteres utf8mb4 (codificación Unicode UTF-8 de 4
bytes) en el Manual de referencia de MySQL.
• El parámetro de configuración innodb_flush_log_at_trx_commit no se puede modificar. El valor
predeterminado de 1 siempre se aplica.
Algunas funciones de Aurora MySQL están disponibles para ciertas combinaciones de versión del
motor de base de datos y región AWS. Para obtener más información, consulte Funciones admitidas en
Amazon Aurora por la región de AWS y el motor de base de datos de Aurora (p. 20).
805
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
• Para instancias más grandes, puede utilizar las clases de instancias modernas, como db.r5, db.r6g, y
db.x2g.
• Para instancias más pequeñas, puede utilizar las clases de instancias modernas, como db.t3 y
db.t4g.
Las siguientes clases de instancia de Aurora MySQL versión 2 no están disponibles para Aurora MySQL
versión 3:
• db.r4
• db.r3
• db.t3.small
• db.t2
Verifique las secuencias de comandos de administración en busca de sentencias CLI que crean instancias
de base de datos Aurora MySQL y nombres de clase de instancia codificada que no estén disponibles
para Aurora MySQL versión 3. Si es necesario, modifique los nombres de las clases de instancia a los que
admite Aurora MySQL versión 3.
Tip
Para verificar las clases de instancias que puede utilizar para una combinación específica de
la versión de Aurora MySQL y la región AWS, utilice el comando describe-orderable-db-
instance-options AWS CLI.
Para obtener más detalles acerca de las clases de instancia Aurora, consulte Clases de instancia de base
de datos Aurora (p. 56).
Para obtener una lista de todos los parámetros de clúster de Aurora MySQL, consulte Parámetros de nivel
de clúster (p. 1128). La tabla cubre todos los parámetros de Aurora MySQL versiones 1, 2 y 3. La tabla
incluye notas que muestran qué parámetros son nuevos en Aurora MySQL versión 3 o se eliminaron de
Aurora MySQL versión 3.
Para obtener la lista completa de los parámetros de instancia de Aurora MySQL, consulte Parámetros
de nivel de instancia (p. 1134). La tabla cubre todos los parámetros de Aurora MySQL versiones 1,
2 y 3. La tabla incluye notas que muestran qué parámetros son nuevos en Aurora MySQL versión 3 y
806
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
qué parámetros se eliminaron de Aurora MySQL versión 3. También incluye notas que muestran qué
parámetros eran modificables en versiones anteriores, pero no en Aurora MySQL versión 3.
Para obtener información sobre los nombres de parámetros que han cambiado, consulte Cambios de
idioma inclusivos para Aurora MySQL versión 3 (p. 807).
Variables de estado
Para obtener información sobre las variables de estado que no se aplican a Aurora MySQL, consulte
Variables de estado de MySQL que no se aplican a Aurora MySQL (p. 1148).
Las siguientes métricas de Amazon CloudWatch tienen nuevos nombres en Aurora MySQL versión 3.
En Aurora MySQL versión 3, solo están disponibles los nuevos nombres de métricas. Asegúrese de
actualizar las alarmas u otra automatización que se basa en nombres de métricas cuando actualice a
Aurora MySQL versión 3.
ForwardingMasterDMLLatency ForwardingWriterDMLLatency
ForwardingMasterOpenSessions
ForwardingWriterOpenSessions
AuroraDMLRejectedMasterFullAuroraDMLRejectedWriterFull
ForwardingMasterDMLThroughput
ForwardingWriterDMLThroughput
Las siguientes variables de estado tienen nombres nuevos en Aurora MySQL versión 3.
Para obtener compatibilidad, puede utilizar cualquiera de los dos nombres en la versión inicial de Aurora
MySQL versión 3. Los nombres de variables de estado anteriores se eliminarán en una próxima versión.
Aurora_fwd_master_dml_stmt_duration
Aurora_fwd_writer_dml_stmt_duration
Aurora_fwd_master_dml_stmt_count
Aurora_fwd_writer_dml_stmt_count
Aurora_fwd_master_select_stmt_duration
Aurora_fwd_writer_select_stmt_duration
Aurora_fwd_master_select_stmt_count
Aurora_fwd_writer_select_stmt_count
Aurora_fwd_master_errors_session_timeout
Aurora_fwd_writer_errors_session_timeout
Aurora_fwd_master_open_sessions
Aurora_fwd_writer_open_sessions
Aurora_fwd_master_errors_session_limit
Aurora_fwd_writer_errors_session_limit
Aurora_fwd_master_errors_rpc_timeout
Aurora_fwd_writer_errors_rpc_timeout
807
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
Los siguientes parámetros de configuración tienen nombres nuevos en Aurora MySQL versión 3.
Para obtener compatibilidad, puede verificar los valores de los parámetros en el cliente mysql mediante
cualquiera de los dos nombres de la versión inicial de Aurora MySQL versión 3. Solo puede modificar los
valores de un grupo de parámetros personalizado utilizando los nuevos nombres. Los nombres de los
parámetros anteriores se eliminarán en una próxima versión.
aurora_fwd_master_idle_timeout
aurora_fwd_writer_idle_timeout
aurora_fwd_master_max_connections_pct
aurora_fwd_writer_max_connections_pct
master_verify_checksum source_verify_checksum
sync_master_info sync_source_info
init_slave init_replica
rpl_stop_slave_timeout rpl_stop_replica_timeout
log_slow_slave_statements log_slow_replica_statements
slave_max_allowed_packet replica_max_allowed_packet
slave_compressed_protocol replica_compressed_protocol
slave_exec_mode replica_exec_mode
slave_type_conversions replica_type_conversions
slave_sql_verify_checksum replica_sql_verify_checksum
slave_parallel_type replica_parallel_type
slave_preserve_commit_orderreplica_preserve_commit_order
log_slave_updates log_replica_updates
slave_allow_batching replica_allow_batching
slave_load_tmpdir replica_load_tmpdir
slave_net_timeout replica_net_timeout
sql_slave_skip_counter sql_replica_skip_counter
slave_skip_errors replica_skip_errors
slave_checkpoint_period replica_checkpoint_period
slave_checkpoint_group replica_checkpoint_group
slave_transaction_retries replica_transaction_retries
slave_parallel_workers replica_parallel_workers
slave_pending_jobs_size_maxreplica_pending_jobs_size_max
pseudo_slave_mode pseudo_replica_mode
Los siguientes procedimientos almacenados tienen nombres nuevos en Aurora MySQL versión 3.
808
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
Para obtener compatibilidad, puede utilizar cualquiera de los dos nombres en la versión inicial de Aurora
MySQL versión 3. Los nombres de procedimientos antiguos se eliminarán en una próxima versión.
mysql.rds_set_master_auto_position
mysql.rds_set_source_auto_position
mysql.rds_set_external_master
mysql.rds_set_external_source
mysql.rds_set_external_master_with_auto_position
mysql.rds_set_external_source_with_auto_position
mysql.rds_reset_external_master
mysql.rds_reset_external_source
mysql.rds_next_master_log mysql.rds_next_source_log
Valores de AUTO_INCREMENT
En Aurora MySQL versión 3, Aurora conserva el valor AUTO_INCREMENT para cada tabla cuando
reinicia cada instancia de base de datos. En Aurora MySQL versión 2, no se ha conservado el valor
AUTO_INCREMENT después de un reinicio.
El valor AUTO_INCREMENT no se conserva cuando configura un nuevo clúster al restaurar desde una
instantánea, realizar una recuperación a un momento dado y clonar un clúster. En estos casos, el valor
AUTO_INCREMENT se inicializa en el valor basándose en el valor de columna más grande de la tabla en el
momento de crear la instantánea. Este comportamiento es diferente al de RDS for MySQL 8.0, donde el
valor AUTO_INCREMENT se conserva durante estas operaciones.
El error que recibe difiere en función de si utiliza una simple instrucción CREATE TEMPORARY TABLE o
variante CREATE TEMPORARY TABLE AS SELECT. Los siguientes ejemplos muestran los diferentes tipos
de errores.
Este comportamiento de tabla temporal solo se aplica a instancias de solo lectura. Este primer ejemplo
confirma que ese es el tipo de instancia a la que está conectada la sesión.
Para instrucciones CREATE TEMPORARY TABLE simples, la instrucción falla cuando el modo SQL
NO_ENGINE_SUBSTITUTION está activado. Es correcta cuando se desactiva el modo SQL.
809
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
Para instrucciones CREATE TEMPORARY TABLE AS SELECT, la instrucción falla cuando ya sea que
el modo SQL NO_ENGINE_SUBSTITUTION esté activado o no. La edición de la comunidad MySQL no
admite la sustitución de motores de almacenamiento con instrucciones CREATE TABLE AS SELECT o
CREATE TEMPORARY TABLE AS SELECT. Para esas declaraciones, elimine la cláusula ENGINE=InnoDB
del código SQL.
Con el motor de almacenamiento TempTable, puede tomar una opción adicional sobre cómo manejar
ciertos datos. Los datos afectados desbordan el grupo de memoria que contiene todas las tablas
temporales internas de la instancia de base de datos.
Estas opciones pueden influir en el rendimiento de las consultas que generan grandes volúmenes de datos
temporales, por ejemplo, al realizar agregaciones tales como GROUP BY sobre tablas grandes.
Tip
Si la carga de trabajo incluye consultas que generan tablas temporales internas, confirme cómo
funciona su aplicación con este cambio ejecutando puntos de referencia y monitoreando las
métricas relacionadas con el rendimiento.
En algunos casos, la cantidad de datos temporales se ajusta al grupo de memoria TempTable o
solo desborda el grupo de memoria en una pequeña cantidad. En estos casos, le recomendamos
que utilice la configuración TempTable para tablas temporales internas y archivos asignados por
memoria para contener los datos de desbordamiento. Esta es la configuración predeterminada.
Si se desborda una cantidad sustancial de datos temporales, el grupo de memoria TempTable, le
recomendamos que utilice el motor de almacenamiento MEMORY para tablas temporales internas.
O bien, puede elegir TempTable para tablas temporales internas y tablas InnoDB para contener
datos de desbordamiento.
810
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
de memoria por tabla. El tamaño de este grupo de memoria se especifica mediante el parámetro
temptable_max_ram. El valor predeterminado es 1 GB en instancias de base de datos con 16 GB o más
de memoria y 16 MB en instancias de base de datos con menos de 16 GB de memoria. El tamaño del
grupo de memoria influye en el consumo de memoria a nivel de sesión.
Si utiliza el motor de almacenamiento TempTable y los datos temporales superan el tamaño del grupo de
memoria, Aurora MySQL almacena los datos de desbordamiento mediante un mecanismo secundario.
Aurora MySQL almacena los datos de desbordamiento de forma diferente según el destino de
desbordamiento de datos que elija y si la consulta se ejecuta en una instancia de base de datos de escritor
o lector:
• En la instancia de escritor, los datos que se desbordan en las tablas temporales internas de InnoDB se
almacenan en el volumen del clúster de Aurora.
• En la instancia del escritor, los datos que se desbordan a archivos temporales asignados a memoria
residen en el almacenamiento local de la instancia de Aurora MySQL versión 3.
• En las instancias de lector, los datos de desbordamiento siempre residen en los archivos temporales
asignados a memoria del almacenamiento local. Esto se debe a que las instancias de solo lectura no
pueden almacenar datos en el volumen del clúster de Aurora.
Note
Los parámetros de configuración relacionados con las tablas temporales internas se aplican de
forma diferente a las instancias de escritor y lector del clúster. Para las instancias de lectores,
Aurora MySQL siempre utiliza el motor de almacenamiento TempTable y un valor de 1 para
temptable_use_mmap. El tamaño de temptable_max_mmap tiene un valor predeterminado
de 1 GB, tanto para las instancias de escritor como de lector, independientemente del tamaño
de la memoria de la instancia de base de datos. Puede ajustar este valor de la misma forma
que en la instancia de escritor, excepto que no se puede especificar un valor de cero para
temptable_max_mmap en instancias de lectores.
Aurora admite la replicación de registros binarios desde un origen compatible con MySQL 5.7 a Aurora
MySQL versión 3. El sistema de origen puede ser un clúster de base de datos de Aurora MySQL, una
instancia de base de datos de RDS for MySQL o una instancia de MySQL local.
Al igual que la comunidad MySQL, Aurora MySQL admite la replicación desde un origen que ejecuta una
versión específica en un destino que ejecuta la misma versión principal o una versión principal superior.
Por ejemplo, no se admite la replicación desde un sistema compatible con MySQL 5.6 a Aurora MySQL
811
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
versión 3. No se admite la replicación de Aurora MySQL versión 3 a un sistema compatible con MySQL 5.7
o compatible con MySQL 5.6. Para obtener más detalles acerca de cómo utilizar replicación de registros
binarios, consulte Replicación entre Aurora y MySQL o entre Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario) (p. 1005).
Aurora MySQL versión 3 incluye mejoras en la replicación de registros binarios en la comunidad MySQL
8.0, como la replicación filtrada. Para obtener más información sobre las mejoras de MySQL 8.0 de la
comunidad, consulte Cómo evalúan los servidores las reglas de filtrado de replicación en el Manual de
referencia de MySQL.
Con Aurora MySQL versión 3, Aurora MySQL admite la replicación de múltiples subprocesos. Para obtener
más información, consulte Replicación de registros binarios de múltiples procesos (Aurora MySQL versión
3 y posteriores) (p. 1025).
Note
Para obtener información de uso sobre la compresión de registros binarios, consulte Compresión de
transacciones de registros binarios en el Manual de referencia de MySQL.
Las siguientes limitaciones se aplican a la compresión de registros binarios en Aurora MySQL versión 3:
• Las transacciones cuyos datos de registro binario superan el tamaño máximo permitido del paquete no
se comprimen, independientemente de si la configuración de compresión de registro binario de Aurora
MySQL está activada. Estas transacciones se replican sin comprimirse.
• Si utiliza un conector para la captura de datos de cambios (CDC) que aún no admite MySQL 8.0, no
puede utilizar esta característica. Le recomendamos que pruebe exhaustivamente cualquier conector
de terceros con compresión de registro binario antes de activar la compresión binlog en sistemas que
utilizan replicación binlog para CDC.
En general, Aurora MySQL versión 3 admite el conjunto de características de la comunidad MySQL 8.0.23.
Algunas características nuevas de la edición de la comunidad MySQL 8.0 no se aplican a Aurora MySQL.
Algunas de esas funciones no son compatibles con algún aspecto de Aurora, como la arquitectura de
almacenamiento Aurora. No se necesitan otras funciones porque el servicio de administración de Amazon
RDS proporciona una funcionalidad equivalente. Las siguientes características de la comunidad MySQL
8.0 no son compatibles o funcionan de forma diferente en Aurora MySQL versión 3.
Para ver las notas de todas las versiones de Aurora MySQL versión 3, consulte Actualizaciones del motor
de base de datos de Amazon Aurora MySQL versión 3 (p. 1195).
Temas
• Las funciones de MySQL 8.0 no están disponibles en Aurora MySQL versión 3 (p. 813)
• Modelo de privilegios basado en roles (p. 813)
• Autenticación (p. 815)
812
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
• Los grupos de recursos y las instrucciones SQL asociadas no son compatibles con Aurora MySQL.
• La arquitectura de almacenamiento de Aurora significa que no tiene que administrar manualmente los
archivos y el almacenamiento subyacente de la base de datos. En particular, Aurora gestiona el espacio
de tabla de deshacer de forma diferente que la comunidad MySQL. Esta diferencia con respecto a la
comunidad MySQL tiene las siguientes consecuencias:
• Aurora MySQL no admite espacios de tabla con nombre.
• La configuración de innodb_undo_log_truncate está desactivada y no se puede activar. Aurora
tiene su propio mecanismo para recuperar espacio de almacenamiento.
• Aurora MySQL no tiene las instrucciones CREATE UNDO TABLESPACE, ALTER UNDO
TABLESPACE ... SET INACTIVE y DROP UNDO TABLESPACE.
• Aurora establece el número de espacios de tabla de deshacer automáticamente y administra esos
espacios por usted.
• La versión 3 de Aurora MySQL no admite TLS 1.3.
• La variable de estado aurora_hot_page_contention no está disponible. La característica de
contención de páginas activas no es compatible. Para obtener la lista completa de variables de estado
no disponibles en Aurora MySQL versión 3, consulte Variables de estado (p. 807).
• No puede modificar la configuración de ningún complemento de MySQL.
• El complemento X no es compatible.
En algunos casos, la aplicación puede utilizar accesos directos para crear usuarios u otros objetos
insertándolos en las tablas de mysql. Si es así, cambie el código de la aplicación para utilizar las
declaraciones correspondientes, como CREATE USER.
Para exportar metadatos para usuarios de bases de datos durante la migración desde una base de datos
MySQL externa, puede utilizar el comando mysqlpump en lugar de mysqldump. Utilice la siguiente
sintaxis.
Esta instrucción vuelca todas las bases de datos, excepto las tablas en la base de datos del sistema de
mysql. También incluye las instrucciones CREATE USER y GRANT para reproducir todos los usuarios de
MySQL de la base de datos migrada. También puede utilizar la herramienta pt-show-grants en el sistema
de origen para enumerar las instrucciones CREATE USER y GRANT para reproducir todos los usuarios de la
base de datos.
Para simplificar la administración de permisos para muchos usuarios o aplicaciones, puede utilizar la
instrucción CREATE ROLE para crear un rol que tenga un conjunto de permisos. A continuación, puede
utilizar las instrucciones GRANT y SET ROLE y la función current_role para asignar roles a usuarios o
aplicaciones, cambiar el rol actual y verificar qué roles están en vigor. Para obtener más información sobre
el sistema de permisos basado en roles de MySQL 8.0, consulte Uso de roles en el Manual de referencia
de MySQL.
813
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
Aurora MySQL versión 3 incluye un rol especial que tiene todos los siguientes privilegios. El rol se
denomina rds_superuser_role. El usuario administrativo principal de cada clúster ya tiene asignada
este rol. El rol rds_superuser_role incluye los siguientes privilegios para todos los objetos de base de
datos:
• ALTER
• APPLICATION_PASSWORD_ADMIN
• ALTER ROUTINE
• CONNECTION_ADMIN
• CREATE
• CREATE ROLE
• CREATE ROUTINE
• CREATE TABLESPACE
• CREATE TEMPORARY TABLES
• CREATE USER
• CREATE VIEW
• DELETE
• DROP
• DROP ROLE
• EVENT
• EXECUTE
• INDEX
• INSERT
• LOCK TABLES
• PROCESS
• REFERENCES
• RELOAD
• REPLICATION CLIENT
• REPLICATION SLAVE
• ROLE_ADMIN
• SET_USER_ID
• SELECT
• SHOW DATABASES
• SHOW VIEW
• TRIGGER
• UPDATE
• XA_RECOVER_ADMIN
La definición de rol también incluye WITH GRANT OPTION para que un usuario administrativo pueda
conceder ese rol a otros usuarios. En particular, el administrador debe conceder los privilegios necesarios
para realizar la replicación de registros binarios con el clúster Aurora MySQL como destino.
Tip
Para ver todos los detalles de los permisos, ingrese las siguientes instrucciones.
814
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
Aurora MySQL versión 3 también incluye roles que puede utilizar para acceder a otros servicios de AWS.
Puede establecer estos roles como alternativa a las instrucciones GRANT. Por ejemplo, especifica GRANT
AWS_LAMBDA_ACCESS TO user en lugar de GRANT INVOKE LAMBDA ON *.* TO user. Para ver los
procedimientos de acceso a otros servicios de AWS, consulte Integración de Amazon Aurora MySQL con
otros servicios de AWS (p. 1064). Aurora MySQL versión 3 incluye los siguientes roles relacionados con el
acceso a otros servicios de AWS:
• El rol AWS_LAMBDA_ACCESS, como alternativa al privilegio INVOKE LAMBDA. Para obtener más
información de uso, consulte ., Invocación de una función de Lambda desde un clúster de base de datos
de Amazon Aurora MySQL (p. 1093).
• El rol AWS_LOAD_S3_ACCESS, como alternativa al privilegio LOAD FROM S3. Para obtener más
información, consulte Carga de datos en un clúster de base de datos Amazon Aurora MySQL desde
archivos de texto en un bucket de Amazon S3 (p. 1078).
• El rol AWS_SELECT_S3_ACCESS, como alternativa al privilegio SELECT INTO S3. Para obtener más
información, consulte Grabación de datos desde un clúster de base de datos Amazon Aurora MySQL en
archivos de texto de un bucket de Amazon S3 (p. 1086).
• El rol AWS_SAGEMAKER_ACCESS, como alternativa al privilegio INVOKE SAGEMAKER. Para obtener más
información, consulte Uso del Machine Learning (ML) con Aurora MySQL (p. 1103).
• El rol AWS_COMPREHEND_ACCESS, como alternativa al privilegio INVOKE COMPREHEND. Para obtener
más información, consulte Uso del Machine Learning (ML) con Aurora MySQL (p. 1103).
Cuando concede acceso mediante roles en Aurora MySQL versión 3, también activa el rol mediante la
instrucción SET ROLE role_name o SET ROLE ALL. El siguiente ejemplo muestra cómo. Sustituya el
nombre de rol apropiado por AWS_SELECT_S3_ACCESS.
# Check the current roles for your user. In this case, the AWS_SELECT_S3_ACCESS role has
not been activated.
# Only the rds_superuser_role is currently in effect.
mysql> SELECT CURRENT_ROLE();
+--------------------------+
| CURRENT_ROLE() |
+--------------------------+
| `rds_superuser_role`@`%` |
+--------------------------+
1 row in set (0.00 sec)
# Activate all roles associated with this user using SET ROLE.
# You can activate specific roles or all roles.
# In this case, the user only has 2 roles, so we specify ALL.
mysql> SET ROLE ALL;
Query OK, 0 rows affected (0.00 sec)
Autenticación
En la comunidad MySQL 8.0, el complemento de autenticación predeterminado
es caching_sha2_password. Aurora MySQL versión 3 sigue utilizando el
complemento mysql_native_password. No se puede cambiar la configuración de
default_authentication_plugin.
815
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
• Para actualizar un clúster de Aurora MySQL versión 2 a la versión 3, cree una instantánea del clúster
de la versión 2 y restablezca la instantánea para crear un nuevo clúster de la versión 3. Siga el
procedimiento indicado en Restauración de una instantánea de clúster de base de datos (p. 545).
Actualmente, la actualización in situ no está disponible desde Aurora MySQL versión 2 a Aurora MySQL
versión 3.
• Para actualizar desde Aurora MySQL versión 1, primero realice una actualización intermedia a Aurora
MySQL versión 2. Para realizar la actualización a Aurora MySQL versión 2, utilice cualquiera de los
métodos de actualización de Actualización de clústeres de base Amazon Aurora MySQL (p. 1174). A
continuación, utilice la técnica de restauración de instantáneas para actualizar de Aurora MySQL versión
2 a Aurora MySQL versión 3. La restauración de instantáneas no está disponible desde los clústeres de
Aurora MySQL versión 1 (compatible con MySQL 5.6) a Aurora MySQL versión 3.
• Actualmente, no puede clonar un clúster de Aurora compatible con MySQL 5.7 en un clúster de Aurora
compatible con MySQL 8.0. Utilice la técnica de restauración de instantáneas en su lugar.
• Si tiene un clúster de Aurora MySQL versión 2 que utiliza backtrack, actualmente no puede
utilizar el método de restauración de instantáneas para actualizar a Aurora MySQL versión 3.
Esta limitación se aplica a todos los clústeres que utilizan backtrack, independientemente de si la
configuración de backtrack está activada. En este caso, realice un volcado lógico y una restauración
mediante una herramienta como el comando mysqldump. Para obtener más información acerca
del uso de mysqldump para Aurora MySQL, consulte Migración de MySQL a Amazon Aurora con
mysqldump (p. 856).
Tip
Temas
• Planificación de actualizaciones para Aurora MySQL versión 3 (p. 816)
• Ejemplo de actualización de Aurora MySQL versión 2 a la versión 3 (p. 817)
• Ejemplo de actualización de Aurora MySQL versión 1 a la versión 3 (p. 819)
• Solución de problemas de actualización con Aurora MySQL versión 3 (p. 821)
• Limpieza posterior a la actualización para Aurora MySQL versión 3 (p. 829)
• Si va a convertir desde RDS for MySQL 8.0 o la comunidad MySQL 8.0, consulte Comparación de
Aurora MySQL versión 3 y la comunidad Aurora MySQL versión 8.0 (p. 812).
• Si va a actualizar desde Aurora MySQL versión 2, RDS for MySQL 5.7 o la comunidad MySQL 5.7,
consulte Comparación de Aurora MySQL versión 2 y Aurora MySQL versión 3 (p. 804).
• Cree nuevas versiones compatibles con MySQL 8.0 de cualquier grupo de parámetros personalizados.
Aplique los valores de parámetros personalizados necesarios a los nuevos grupos de parámetros.
816
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
Consulte Cambios de parámetros para Aurora MySQL versión 3 (p. 806) para obtener más información
sobre los cambios de parámetros.
Note
Para la mayoría de las configuraciones de parámetros, puede elegir el grupo de parámetros
personalizado al crear el clúster o asociar el grupo de parámetros al clúster más
adelante. Sin embargo, si utiliza una configuración no predeterminada para el parámetro
lower_case_table_names, debe configurar el grupo de parámetros personalizado con esta
configuración de antemano. A continuación, especifique el grupo de parámetros durante la
restauración de instantáneas para la creación de clúster. Cualquier cambio en el parámetro
lower_case_table_names no tiene efecto después de crear el clúster.
También puede encontrar más consideraciones y sugerencias sobre la actualización específica de MySQL
en Cambios en MySQL 8.0 en el Manual de referencia de MySQL. Por ejemplo, puede usar el comando
mysqlcheck --check-upgrade para analizar las bases de datos Aurora MySQL existentes e identificar
posibles problemas de actualización.
Actualmente, la ruta de actualización principal de versiones anteriores de Aurora MySQL a Aurora MySQL
versión 3 es restaurando una instantánea para crear un nuevo clúster. Puede restaurar una instantánea de
un clúster que ejecuta cualquier versión secundaria de Aurora MySQL versión 2 (compatible con MySQL
5.7) a Aurora MySQL versión 3. Para actualizar desde Aurora MySQL versión 1, utilice un proceso de
dos pasos. En primer lugar, restablezca una instantánea en un clúster de Aurora MySQL versión 2 y, a
continuación, haga una instantánea de ese clúster y restablezca en un clúster de Aurora MySQL versión
3. Para obtener información sobre el procedimiento de actualización de Aurora MySQL versión 1 o 2,
consulte Actualización a Aurora MySQL versión 3 (p. 816). Para obtener información general acerca de
la actualización al restaurar una instantánea, consulte Actualización de clústeres de base Amazon Aurora
MySQL (p. 1174).
Una vez finalizada la actualización, puede seguir los procedimientos posteriores a la actualización en
Limpieza posterior a la actualización para Aurora MySQL versión 3 (p. 829). Por último, pruebe la
funcionalidad y el rendimiento de su aplicación.
Si va a convertir desde RDS desde MySQL o la comunidad MySQL, siga el procedimiento de migración
que se explica en Migración de datos a un clúster de base de datos de Amazon Aurora MySQL (p. 839).
En algunos casos, puede utilizar la replicación de registros binarios para sincronizar los datos con un
clúster Aurora MySQL versión 3 como parte de la migración. Si es así, el sistema de origen debe ejecutar
una versión compatible con MySQL 5.7 o una versión compatible con MySQL 8.0 que sea 8.0.23 o inferior.
El primer paso consiste en determinar la versión del clúster que desea actualizar. El siguiente comando de
AWS CLI muestra cómo. El resultado confirma que el clúster original es compatible con MySQL 5.7 que
ejecuta Aurora MySQL versión 2.09.2.
Este clúster tiene al menos una instancia de base de datos. Para que el proceso de actualización funcione
correctamente, este clúster original requiere una instancia de escritor.
El siguiente comando muestra cómo verificar qué rutas de actualización están disponibles
desde una versión específica. En este caso, el clúster original está ejecutando la versión
5.7.mysql_aurora.2.09.2. El resultado muestra que esta versión se puede actualizar a Aurora
MySQL versión 3.
817
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
Si el clúster original utiliza un número de versión demasiado bajo para actualizar a Aurora MySQL versión
3, la actualización requiere un paso adicional. En primer lugar, restaure la instantánea para crear un nuevo
clúster que podría actualizarse a Aurora MySQL versión 3. A continuación, haga una instantánea de ese
clúster intermedio. Por último, restablezca la instantánea del clúster intermedio para crear un nuevo clúster
Aurora MySQL versión 3.
El siguiente comando crea una instantánea del clúster para actualizar a Aurora MySQL versión 3. El clúster
original permanece intacto. Más tarde creará un nuevo clúster Aurora MySQL versión 3 a partir de la
instantánea.
El siguiente comando restaura la instantánea en un nuevo clúster que ejecuta Aurora MySQL versión 3.
Es posible que tenga scripts de administración que crean instancias de base de datos utilizando
clases de instancias anteriores como db.r3, db.r4, db.t2 o db.t3. Si es así, modifique los scripts
para utilizar una de las clases de instancia compatibles con Aurora MySQL versión 3. Para
obtener información sobre las clases de instancias que puede utilizar con Aurora MySQL versión
3, consulte Compatibilidad con clases de instancia (p. 806).
818
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
"DBClusterIdentifier": "cluster-80-restored",
"DBInstanceClass": "db.r5.xlarge",
"EngineVersion": "8.0.mysql_aurora.3.01.0",
"DBInstanceStatus": "creating"
}
Una vez finalizada la actualización, puede verificar el número de versión específico de Aurora del clúster
mediante la AWS CLI.
También puede verificar la versión específica de MySQL del motor de base de datos llamando a la función
version.
El clúster de Aurora MySQL versión 1 con el que iniciamos se llama aurora-mysql-v1-to-v2. Ejecuta
Aurora MySQL versión 1.23.4. Tiene al menos una instancia de base de datos en el clúster.
En este ejemplo se comprueba qué versiones de Aurora MySQL versión 2 se pueden actualizar a la
8.0.mysql_aurora.3.01.0 para utilizarla en el clúster actualizado. Para este ejemplo, elegimos la
versión 2.10.0 como versión intermedia.
En el siguiente ejemplo se verifica que Aurora MySQL versión 1.23.4 a 2.10.0 sea una ruta de
actualización disponible. Por lo tanto, la versión de Aurora MySQL que estamos ejecutando se puede
actualizar a 2.10.0. A continuación, ese clúster se puede actualizar a 3.01.0.
819
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
En el ejemplo siguiente se crea el clúster intermedio de Aurora MySQL versión 2 a partir de la instantánea
de la versión 1. Este clúster intermedio se denomina aurora-mysql-v2-to-v3. Ejecuta Aurora MySQL
versión 2.10.0.
En el ejemplo también se crea una instancia de escritor para el clúster. Para que el proceso de
actualización funcione correctamente, este clúster intermedio requiere una instancia de escritor.
En el ejemplo siguiente se crea una instantánea a partir del clúster intermedio de Aurora MySQL versión 2.
Esta instantánea se denomina aurora-mysql-v2-to-v3-snapshot. Esta es la instantánea que se va a
restaurar para crear el clúster de Aurora MySQL versión 3.
820
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
--db-cluster-snapshot-id aurora-mysql-v2-to-v3-snapshot
{
"DBClusterSnapshotIdentifier": "aurora-mysql-v2-to-v3-snapshot",
"DBClusterIdentifier": "aurora-mysql-v2-to-v3"
}
El siguiente comando crea el clúster de Aurora MySQL versión 3. Este clúster se denomina aurora-
mysql-v3-fully-upgraded.
Ahora que se ha creado el clúster Aurora MySQL versión 3, en el siguiente ejemplo se crea una instancia
de base de datos de escritor para él. Cuando el clúster y la instancia de escritor estén disponibles, podrá
conectarse al clúster y comenzar a utilizarlo. Todos los datos del clúster original se conservan en cada una
de las etapas de la instantánea.
En primer lugar, creamos un nuevo clúster compatible con MySQL 5.7 llamado problematic-57-80-
upgrade. Como su nombre indica, este clúster contiene al menos un objeto de esquema que provoca un
problema durante una actualización a una versión compatible con MySQL 8.0.
821
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
En el clúster que pretendemos actualizar, introducimos una tabla problemática. Crear un índice FULLTEXT
para después eliminarlo deja algunos metadatos que provocan un problema durante la actualización.
$ mysql -u my_username -p \
-h problematic-57-80-upgrade.cluster-example123.us-east-1.rds.amazonaws.com
En este ejemplo se intenta llevar a cabo el procedimiento de actualización. Tomamos una instantánea
del clúster original y esperamos a que se complete la creación de instantáneas. Luego, restauramos la
instantánea, y especificamos el número de versión compatible con MySQL 8.0. También creamos una
instancia de escritor para el clúster. Ese es el punto en el que se produce realmente el procesamiento de la
actualización. A continuación, esperamos que la instancia de escritor esté disponible. Ese es el punto en el
que el proceso de actualización finaliza, tanto si se completó correctamente como si no.
Tip
822
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
"DBClusterIdentifier": "problematic-57-80-upgrade",
"Engine": "aurora-mysql",
"EngineVersion": "5.7.mysql_aurora.2.10.0"
}
Ahora, examinamos el clúster recién creado y la instancia asociada para verificar si la actualización se
llevó a cabo correctamente. El clúster y la instancia aún ejecutan una versión compatible con MySQL 5.7.
Esto significa que no se pudo actualizar. Cuando no se puede actualizar, Aurora solo deja la instancia
del escritor para que el usuario pueda examinar los archivos de registro. No se puede reiniciar el proceso
de actualización con ese clúster recién creado. Después de corregir el problema mediante cambios en el
clúster original, debe volver a ejecutar los pasos de actualización: haga una nueva instantánea del clúster
original y restáurela en otro clúster compatible con MySQL 8.0.
Para obtener un resumen de lo ocurrido durante el proceso de actualización, obtenemos una lista de los
eventos de la instancia de escritor recién creada. En este ejemplo, enumeramos los eventos de los últimos
600 minutos para cubrir todo el intervalo de tiempo del proceso de actualización. Los eventos de la lista
823
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
Para diagnosticar la causa exacta del problema, examine los registros de la base de datos de la instancia
de escritor recién creada. Cuando no se puede actualizar a una versión compatible con 8.0, la instancia
contiene un archivo de registro con el nombre de archivo upgrade-prechecks.log. En este ejemplo
se muestra cómo detectar la presencia de ese registro y, luego, descargarlo en un archivo local para su
análisis.
824
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
$ cat upgrade-prechecks.log
{
"serverAddress": "/tmp%2Fmysql.sock",
"serverVersion": "5.7.12",
"targetVersion": "8.0.23",
"auroraServerVersion": "2.10.0",
"auroraTargetVersion": "3.01.0",
"outfilePath": "/rdsdbdata/tmp/PreChecker.log",
"checksPerformed": [
{
"id": "oldTemporalCheck",
"title": "Usage of old temporal type",
"status": "OK",
"detectedProblems": []
},
{
"id": "removedSysLogVars",
"title": "Removed system variables for error logging to the system log configuration",
"status": "CONFIGURATION_ERROR",
"description": "To run this check requires full path to MySQL server
configuration file to be specified at 'configPath' key of options dictionary",
"documentationLink": "https://dev.mysql.com/doc/relnotes/mysql/8.0/en/
news-8-0-13.html#mysqld-8-0-13-logging"
},
Esta advertencia sobre los tipos de datos de fecha y hora obsoletos se produce si la configuración de
SQL_MODE del grupo de parámetros se deja en el valor predeterminado. Es posible que la base de datos
contenga columnas con los tipos afectados o no.
{
"id": "zeroDatesCheck",
"title": "Zero Date, Datetime, and Timestamp values",
"status": "OK",
"description": "Warning: By default zero date/datetime/timestamp
values are no longer allowed in MySQL, as of 5.7.8 NO_ZERO_IN_DATE and
NO_ZERO_DATE are included in SQL_MODE by default. These modes should be used
with strict mode as they will be merged with strict mode in a future release.
If you do not include these modes in your SQL_MODE setting, you are able to
insert date/datetime/timestamp values that contain zeros. It is strongly
advised to replace zero values with valid ones, as they may not work
correctly in the future.",
"documentationLink": "https://lefred.be/content/mysql-8-0-and-wrong-dates/",
"detectedProblems": [
{
"level": "Warning",
"dbObject": "global.sql_mode",
825
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
Cuando el campo detectedProblems contiene entradas con un valor level de Error, significa que no
se puede actualizar correctamente hasta que se corrijan esos problemas.
{
"id": "getDanglingFulltextIndex",
"title": "Tables with dangling FULLTEXT index reference",
"status": "OK",
"description": "Error: The following tables contain dangling
FULLTEXT index which is not supported. It is recommended to rebuild the
table before upgrade.",
"detectedProblems": [
{
"level": "Error",
"dbObject": "problematic_upgrade.dangling_fulltext_index",
"description": "Table `problematic_upgrade.dangling_fulltext_index` contains
dangling FULLTEXT index. Kindly recreate the table before upgrade."
}
]
},
Tip
Para resumir todos esos errores y mostrar los campos de objeto y descripción asociados, puede
ejecutar el comando grep -A 2 '"level": "Error"' en el contenido del archivo upgrade-
prechecks.log. Al hacerlo, se muestran cada línea de error y las dos líneas posteriores que
contienen el nombre del objeto de base de datos correspondiente e instrucciones sobre cómo
corregir el problema.
{
"id": "defaultAuthenticationPlugin",
"title": "New default authentication plugin considerations",
"description": "Warning: The new default authentication plugin
'caching_sha2_password' offers more secure password hashing than previously
used 'mysql_native_password' (and consequent improved client connection
...
"documentationLink": "https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-
series.html#upgrade-caching-sha2-password-compatibility-issues\nhttps://dev.mysql.com/
doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password-
replication"
}
Al final del archivo upgrade-prechecks.log se resume cuántas verificaciones encontraron cada tipo de
problema menor o grave. Un campo errorCount distinto de cero indica que no se pudo actualizar.
826
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
],
"errorCount": 1,
"warningCount": 2,
"noticeCount": 0,
"Summary": "1 errors were found. Please correct these issues before
upgrading to avoid compatibility issues."
}
En la siguiente secuencia de ejemplos se muestra cómo solucionar este problema en particular y volver a
ejecutar el proceso de actualización. Esta vez, la actualización se hace correctamente.
Primero, volvemos al clúster original y creamos una nueva tabla con la misma estructura y contenido que la
que tiene metadatos defectuosos. En la práctica, probablemente cambiaría el nombre de esta tabla por el
nombre de la tabla original después de la actualización.
$ mysql -u my_username -p \
-h problematic-57-80-upgrade.cluster-example123.us-east-1.rds.amazonaws.com
Ahora, pasamos por el mismo proceso que antes: crear una instantánea del clúster original, restaurar
la instantánea en un nuevo clúster compatible con MySQL 8.0 y crear una instancia de escritor para
completar el proceso de actualización.
827
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 3 compatible con MySQL 8.0
--db-cluster-snapshot-id problematic-57-80-upgrade-snapshot-2
{
"DBClusterSnapshotIdentifier": "problematic-57-80-upgrade-snapshot-2",
"DBClusterIdentifier": "problematic-57-80-upgrade",
"Engine": "aurora-mysql",
"EngineVersion": "5.7.mysql_aurora.2.10.0"
}
Esta vez, al verificar la versión una vez finalizada la actualización, se confirma que el número de versión
cambió para reflejar la versión 3 de Aurora MySQL. Podemos conectarnos a la base de datos y confirmar
que la versión del motor de MySQL es compatible con la 8.0. Confirmamos que el clúster actualizado
contiene la versión corregida de la tabla que causó el problema de actualización original.
$ mysql -h cluster-80-attempt-2.cluster-example123.us-east-1.rds.amazonaws.com \
-u my_username -p
828
Amazon Aurora Guía del usuario de Aurora
Aurora MySQL versión 2 compatible con MySQL 5.7
| Database |
+---------------------+
| information_schema |
| mysql |
| performance_schema |
| problematic_upgrade |
| sys |
+---------------------+
5 rows in set (0.00 sec)
• Cree nuevas versiones compatibles con MySQL 8.0 de cualquier grupo de parámetros personalizados.
Aplique los valores de parámetros personalizados necesarios a los nuevos grupos de parámetros.
• Actualice las alarmas de CloudWatch, los scripts de configuración, etc. para utilizar los nuevos nombres
para cualquier métrica cuyos nombres se hayan visto afectados por cambios de idioma inclusivos. Para
ver una lista de estas métricas, consulte Cambios de idioma inclusivos para Aurora MySQL versión
3 (p. 807).
• Actualice cualquier plantilla AWS CloudFormation para utilizar los nuevos nombres para cualquier
parámetro de configuración cuyos nombres se hayan visto afectados por cambios de idioma inclusivos.
Para obtener una lista completa de estos parámetros, consulte Cambios de idioma inclusivos para
Aurora MySQL versión 3 (p. 807).
Índices espaciales
Después de actualizar a Aurora MySQL versión 3, verifique si necesita eliminar o volver a crear objetos e
índices relacionados con los índices espaciales. Antes de MySQL 8.0, Aurora podía optimizar las consultas
espaciales utilizando índices que no contenían un identificador de recursos espaciales (SRID). Aurora
MySQL versión 3 solo utiliza índices espaciales que contienen SRID. Durante una actualización, Aurora
elimina automáticamente cualquier índice espacial sin SRID e imprime mensajes de advertencia en el
registro de la base de datos. Si observa estos mensajes de advertencia, cree nuevos índices espaciales
con SRID después de la actualización. Para obtener más información sobre los cambios en las funciones
espaciales y los tipos de datos de MySQL 8.0, consulte Cambios en MySQL 8.0 en el Manual de referencia
de MySQL.
829
Amazon Aurora Guía del usuario de Aurora
Seguridad con Aurora MySQL
Para obtener más información sobre estas características, consulte la documentación de MySQL 5.7.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Puede invocar de forma
asíncrona las funciones de AWS Lambda desde Aurora MySQL 5.7. Para obtener más información,
consulte Invocación de una función de Lambda con una función nativa de Aurora MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
Actualmente, Aurora MySQL 5.7 no admite las características añadidas en Aurora MySQL versión
1.16 y posteriores. Para obtener información acerca de la versión 1.16 de Aurora MySQL, consulte
Actualizaciones del motor de base de datos de Aurora MySQL (11/12/2017) (p. 1320).
El esquema de rendimiento no está disponible para las versiones anteriores de Aurora MySQL 5.7.
Actualice a Aurora 2.03 o posteriores para obtener compatibilidad con el esquema de rendimiento.
Si usa IAM para acceder a la consola de Amazon RDS, primero tiene que iniciar sesión en la AWS
Management Console con sus credenciales de usuario de IAM. Abra la consola de Amazon RDS en
https://console.aws.amazon.com/rds/.
• Los clústeres de base de datos Aurora MySQL se deben crear en una Amazon Virtual Private Cloud
(VPC). Para controlar qué dispositivos e instancias Amazon EC2 pueden abrir conexiones al punto de
enlace y al puerto de la instancia de base de datos los clústeres de base de datos Aurora MySQL en una
VPC, debe usar un grupo de seguridad de VPC. Las conexiones con el punto de enlace y el puerto se
830
Amazon Aurora Guía del usuario de Aurora
Privilegios de la cuenta de usuario
maestro con Aurora MySQL.
pueden realizar por medio de la Capa de conexión segura (SSL). Además, las reglas del firewall de su
compañía pueden controlar si los dispositivos que se ejecutan en ella pueden abrir conexiones a una
instancia de base de datos. Para obtener más información acerca de las VPC, consulte VPC Amazon
Virtual Private Cloud y Amazon Aurora (p. 1926).
La tenencia de VPC admitida depende de la clase de instancia de base de datos que utilicen los
clústeres de base de datos de Aurora MySQL. En el caso de la tenencia de VPC default, la VPC se
ejecuta en hardware compartido. En el caso de la tenencia de una VPC dedicated, la VPC se ejecuta
en una instancia de hardware dedicada. Las clases de instancia de base de datos de rendimiento
ampliable solo admiten el arrendamiento de VPC predeterminado. Las clases de instancia de base de
datos de rendimiento ampliable incluyen las clases de instancia de base de datos db.t2, db.t3 y db.t4g.
Todas las demás clases de instancia de base de datos de Aurora MySQL admiten la tenencia de VPC
predeterminada y dedicada.
Para obtener más información sobre las clases de instancias, consulte Clases de instancia de base
de datos Aurora (p. 56). Para obtener más información acerca de la tenencia de VPC default y
dedicated, consulte Instancias dedicadas en la Guía del usuario de Amazon Elastic Compute Cloud.
• Para autenticar el inicio de sesión y los permisos de un clúster de base de datos de Amazon Aurora
MySQL, puede usar cualquiera de los siguientes procedimientos o una combinación de ellos:
• Puede seguir el mismo procedimiento que con una instancia independiente de MySQL.
Los comandos como CREATE USER, RENAME USER, GRANT, REVOKE y SET PASSWORD funcionan de
la misma forma que en las bases de datos locales, al igual que la modificación directa de las tablas
de los esquemas de las bases de datos. Para obtener más información, consulte Control de acceso y
administración de cuentas en la documentación de MySQL.
• También puede utilizar la autenticación de base de datos de IAM.
Con la autenticación de bases de datos de IAM, se autentica en el clúster de base de datos con un
usuario o un rol de IAM y un token de autenticación. Un token de autenticación es un valor único que
se genera utilizando el proceso de firma Signature Version 4. Mediante la autenticación de base de
datos de IAM, puede utilizar las mismas credenciales para controlar el acceso a AWS los recursos
y a las bases de datos. Para obtener más información, consulte Autenticación de bases de datos de
IAM (p. 1877).
Note
Para obtener más información, consulte Seguridad en Amazon Aurora (p. 1836).
• ALTER
• ALTER ROUTINE
• CREATE
• CREATE ROUTINE
• CREATE TEMPORARY TABLES
• CREATE USER
• CREATE VIEW
• DELETE
• DROP
831
Amazon Aurora Guía del usuario de Aurora
Uso de SSL/TLS con clústeres de
base de datos de Aurora MySQL
• EVENT
• EXECUTE
• GRANT OPTION
• INDEX
• INSERT
• LOAD FROM S3
• LOCK TABLES
• PROCESS
• REFERENCES
• RELOAD
• REPLICATION CLIENT
• REPLICATION SLAVE
• SELECT
• SHOW DATABASES
• SHOW VIEW
• TRIGGER
• UPDATE
Para proporcionar servicios de administración para cada clúster de base de datos, se crea el usuario
rdsadmin cuando se crea el clúster de base de datos. Al intentar borrar, cambiar de nombre, modificar la
contraseña o cambiar los privilegios de la cuenta rdsadmin, se producirá un error.
Para la administración del clúster de base de datos Aurora MySQL, los comandos estándar kill
y kill_query se han restringido. En su lugar, use los comandos de Amazon RDS rds_kill y
rds_kill_query para terminar las consultas o las sesiones de usuario en las instancias de base de
datos Aurora MySQL.
Note
Amazon RDS crea un certificado de SSL/TLS e instala el certificado en la instancia de base de datos
cuando Amazon RDS aprovisiona la instancia. Estos certificados están firmados por una autoridad de
certificación. El certificado SSL/TLS incluye el punto de enlace de la instancia de base de datos como
nombre común (CN) que el certificado de SSL/TLS debe proteger frente a los ataques de suplantación.
Como resultado, solo puede usar el punto de enlace de clúster de base de datos para conectarse a un
clúster de base de datos con SSL/TLS si su cliente admite nombres alternativos de firmante (SAN). De lo
contrario, tendrá que usar el punto de enlace de la instancia de una instancia de escritor.
Para obtener más información acerca de cómo descargar certificados, consulte Uso de SSL/TLS para cifrar
una conexión a un clúster de base de datos (p. 1844).
832
Amazon Aurora Guía del usuario de Aurora
Uso de SSL/TLS con clústeres de
base de datos de Aurora MySQL
Recomendamos MariaDB Connector/J como cliente que admite SAN con SSL. Para obtener más
información, consulte la página de descargas de MariaDB Connector/J.
Temas
• Requerir una conexión SSL/TLS a un clúster de base de datos de Aurora MySQL (p. 833)
• Versiones de TLS para Aurora MySQL (p. 833)
• Cifrado de conexiones a un clúster de base de datos de Aurora MySQL (p. 834)
MySQL Error 3159 (HY000): Connections using insecure transport are prohibited while --
require_secure_transport=ON.
Aurora MySQL versión 1 Soportado Compatible con Aurora Compatible con Aurora
MySQL 1.23.1 y MySQL 1.23.1 y
superior superior
Aunque la edición comunitaria de MySQL 8.0 admite TLS 1.3, Aurora MySQL versión 3 compatible con
MySQL 8.0 actualmente no admite TLS 1.3.
833
Amazon Aurora Guía del usuario de Aurora
Uso de SSL/TLS con clústeres de
base de datos de Aurora MySQL
Para un clúster de base de datos Aurora MySQL 5.7, puede utilizar el parámetro de clúster de base de
datos de tls_version para indicar las versiones de protocolo permitidas. Existen parámetros de cliente
similares para la mayoría de las herramientas de cliente o controladores de base de datos. Es posible que
algunos clientes anteriores no admitan las versiones de TLS más recientes. De forma predeterminada,
el clúster de base de datos intenta utilizar la versión más reciente del protocolo TLS permitida por la
configuración del servidor y del cliente.
Establezca el parámetro de clúster de base de datos de tls_version en uno de los siguientes valores:
• TLSv1.2: solo se permite el protocolo TLS versión 1.2 para conexiones cifradas.
• TLSv1.1: los protocolos TLS versión 1.1 y 1.2 están permitidos para conexiones cifradas.
• TLSv1: los protocolos TLS versión 1.0, 1.1 y 1.2 están permitidos para conexiones cifradas.
Si el parámetro no se establece, se permiten los protocolos TLS versión 1.0, 1.1 y 1.2 para las conexiones
cifradas.
Para obtener información acerca de cómo modificar parámetros en un clúster de base de datos o un grupo
de parámetros de base de datos, consulte Modificación de parámetros de un grupo de parámetros de
clúster de base de datos (p. 381). Si utiliza la AWS CLI para modificar el parámetro de clúster de base de
datos tls_version, ApplyMethod se debe establecer en pending-reboot. Cuando el método de
aplicación es pending-reboot, los cambios en los parámetros se aplican después de detener y reiniciar
los clústeres de base de datos asociados al grupo de parámetros.
Note
mysql -h myinstance.123456789012.rds-us-east-1.amazonaws.com
--ssl-ca=full_path_to_CA_certificate --ssl-mode=VERIFY_IDENTITY
mysql -h myinstance.123456789012.rds-us-east-1.amazonaws.com
--ssl-ca=full_path_to_CA_certificate --ssl-verify-server-cert
Puede exigir conexiones SSL/TLS para determinadas cuentas de usuarios. Por ejemplo, puede utilizar una
de las siguientes declaraciones, dependiendo de su versión de MySQL, para exigir el uso de conexiones
SSL/TLS en la cuenta de usuario encrypted_user.
834
Amazon Aurora Guía del usuario de Aurora
Actualización de aplicaciones
para nuevos certificados SSL/TLS
Cuando utiliza un proxy de RDS, se conecta al punto de enlace del proxy en lugar del punto de enlace del
clúster habitual. Puede hacer que SSL/TLS sea obligatorio u opcional para las conexiones al proxy, de la
misma manera que para las conexiones directamente al clúster de base de datos de Aurora. Para obtener
información sobre el uso del proxy de RDS, consulte Uso de Amazon RDS Proxy (p. 314).
Note
Para obtener más información acerca de las conexiones SSL/TLS con MySQL, consulte la
documentación de MySQL.
Este tema puede ayudarle a determinar las aplicaciones de cualquier cliente utilizan SSL/TLS para
conectarse a sus clústeres de base de datos. Si lo hacen, puede comprobar de manera adicional si esas
aplicaciones precisan una verificación de certificados para conectarse.
Note
Algunas aplicaciones están configuradas para conectarse a los clústeres de base de datos de
MySQL de Aurora solo si pueden verificar con éxito el certificado del servidor.
Para esas aplicaciones, debe actualizar los almacenes de confianza de la aplicación de su cliente
para incluir los nuevos certificados de CA.
Para obtener más información acerca de la rotación de certificados, consulte Rotar certificados SSL/
TLS (p. 1846). Para obtener más información acerca de cómo descargar certificados, consulte Uso de
SSL/TLS para cifrar una conexión a un clúster de base de datos (p. 1844). Para obtener información sobre
el uso de SSL/TLS con los clústeres de base de datos de MySQL de Aurora, consulte Uso de SSL/TLS con
clústeres de base de datos de Aurora MySQL (p. 832).
Temas
• Determinación de si alguna aplicación se conecta a su clúster de base de datos de MySQL de Aurora
mediante SSL (p. 836)
• Determinación de si un cliente necesita una verificación de certificados para conectarse (p. 836)
• Actualización del almacén de confianza de su aplicación (p. 837)
835
Amazon Aurora Guía del usuario de Aurora
Determinación de si alguna aplicación
se conecta a su clúster de base de datos
de MySQL de Aurora mediante SSL
• Ejemplo de código Java para el establecimiento de conexiones SSL (p. 838)
En estos resultados de ejemplo, puede ver que su propia sesión (admin) y una aplicación con sesión
iniciada como webapp1 utilizan SSL.
+----+-----------------+------------------+-----------------+
| id | user | host | connection_type |
+----+-----------------+------------------+-----------------+
| 8 | admin | 10.0.4.249:42590 | SSL/TLS |
| 4 | event_scheduler | localhost | NULL |
| 10 | webapp1 | 159.28.1.1:42189 | SSL/TLS |
+----+-----------------+------------------+-----------------+
3 rows in set (0.00 sec)
Si utiliza la versión 1 de MySQL de Aurora (compatible con MySQL 5.6), no puede determinar desde el
lado del servidor si las aplicaciones se conectan con o sin SSL. Para esas versiones, puede determinar si
se utilizó SSL examinando el método de conexión de la aplicación. Puede encontrar más información sobre
la examinación de la configuración de la conexión del cliente en la siguiente sección.
JDBC
El siguiente ejemplo con el conector de MySQL/J 8.0 muestra una manera de comprobar las propiedades
de conexión de JDBC de una aplicación para determinar si las conexiones exitosas precisan un certificado
válido. Para obtener más información sobre todas las opciones de conexión de JDBC para MySQL,
consulte Propiedades de la configuración en la documentación de MySQL.
Al utilizar el conector de MySQL/J 8.0, una conexión precisa una verificación frente al certificado
de CA del servidor si sus propiedades de conexión han configurado sslMode como VERIFY_CA o
VERIFY_IDENTITY, como en el siguiente ejemplo.
836
Amazon Aurora Guía del usuario de Aurora
Actualización del almacén de confianza de su aplicación
Note
Si utiliza MySQL Java Connector v5.1.38 o posterior, o MySQL Java Connector v8.0.9 o
posterior para conectarse a sus bases de datos, incluso si no ha configurado explícitamente sus
aplicaciones para usar SSL/TLS al conectarse a sus bases de datos, estos controladores cliente
utilizan de forma predeterminada SSL/TLS. Además, al utilizar SSL/TLS, realizan una verificación
parcial del certificado y producen un error al conectarse si el certificado del servidor de base de
datos ha caducado.
MySQL
Los siguientes ejemplos con el cliente de MySQL muestran dos maneras de comprobar la conexión a
MySQL de un script para determinar si las conexiones exitosas precisan un certificado válido. Para obtener
más información sobre todas las opciones de conexión con el cliente de MySQL, consulte Configuración
del lado del cliente para las conexiones cifradas en la documentación de MySQL.
Al utilizar el cliente de MySQL 5.7 o 8.0, una conexión SSL precisa una verificación frente al certificado de
CA del servidor si para la opción de --ssl-mode especifica VERIFY_CA o VERIFY_IDENTITY, como en
el siguiente ejemplo.
Al utilizar el cliente de MySQL 5.6, una conexión SSL precisa una verificación frente al certificado de CA
del servidor si especifica la opción --ssl-verify-server-cert, como en el siguiente ejemplo.
Cuando actualice el almacén de confianza, puede retener certificados antiguos además de añadir
los nuevos certificados.
1. Descargue el certificado raíz de 2019 que funciona con todas las regiones de AWS y coloque el
archivo en el directorio del almacén de confianza.
Para obtener información sobre la descarga del certificado raíz, consulte Uso de SSL/TLS para cifrar
una conexión a un clúster de base de datos (p. 1844).
2. Convierta el certificado al formato .der con el siguiente comando.
837
Amazon Aurora Guía del usuario de Aurora
Ejemplo de código Java para el
establecimiento de conexiones SSL
rds-root,date, trustedCertEntry,
Certificate fingerprint (SHA1):
D4:0D:DB:29:E3:75:0D:FF:A6:71:C3:14:0B:BF:5F:47:8D:1C:80:96
# This fingerprint should match the output from the below command
openssl x509 -fingerprint -in rds-ca-2019-root.pem -noout
Si utiliza el controlador de JDBC de MySQL en una aplicación, establezca las siguientes propiedades en la
aplicación.
System.setProperty("javax.net.ssl.trustStore", certs);
System.setProperty("javax.net.ssl.trustStorePassword", "password");
java -Djavax.net.ssl.trustStore=/path_to_truststore/MyTruststore.jks -
Djavax.net.ssl.trustStorePassword=my_truststore_password com.companyName.MyApplication
System.setProperty("javax.net.ssl.trustStore", KEY_STORE_FILE_PATH);
System.setProperty("javax.net.ssl.trustStorePassword", KEY_STORE_PASS);
838
Amazon Aurora Guía del usuario de Aurora
Migración de datos a Aurora MySQL
properties.setProperty("sslMode", "VERIFY_IDENTITY");
properties.put("user", DB_USER);
properties.put("password", DB_PASSWORD);
return;
}
}
Important
Después de que haya determinado que sus conexiones de base de datos utilizan SSL/TLS y
ha actualizado el almacén de confianza de su aplicación, puede actualizar su base de datos
para utilizar los certificados de rds-ca-2019. Para obtener instrucciones, consulte el paso 3 en
Actualización del certificado de entidad de certificación modificando la instancia de base de
datos (p. 1847).
Existen dos tipos de trabajos distintos de migración: física y lógica. La migración física supone que las
copias físicas de archivos de base de datos se utilizan para migrar la base de datos. La migración lógica
supone que la migración se lleva a cabo aplicando cambios lógicos en la base de datos, tales como
inserciones, actualizaciones y eliminaciones.
• La migración física es más rápida que la migración lógica, especialmente para bases de datos grandes.
• El desempeño de la base de datos no sufre cuando se toma un backup para migración física.
• La migración física puede migrar todo en la base de datos origen, incluidos componentes de base de
datos complejos.
839
Amazon Aurora Guía del usuario de Aurora
Migración de datos a Aurora MySQL
• Puede migrar subconjuntos de la base de datos, tales como tablas específicas o partes de una tabla.
• Los datos se pueden migrar con independencia de la estructura de almacenamiento físico.
En la siguiente tabla se describen sus opciones y el tipo de migración para cada opción.
Una base de datos MySQL Lógica Puede crear un volcado de los datos con
externa a Amazon RDS la utilidad mysqldump y, a continuación,
importar esos datos a un clúster de base
de datos de Amazon Aurora MySQL.
Para obtener más información, consulte
Migración de MySQL a Amazon Aurora con
mysqldump (p. 856).
Una base de datos MySQL Física Puede copiar los archivos de copia de
externa a Amazon RDS seguridad de la base de datos en un
bucket de Amazon Simple Storage Service
(Amazon S3) y, a continuación, restaurar
840
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
Una base de datos MySQL Lógica Puede guardar los datos de la base de
externa a Amazon RDS datos como archivos de texto y copiar
esos archivos en un bucket de Amazon
S3. A continuación, puede cargar esos
datos en un clúster de base de datos de
Aurora MySQL con el comando LOAD
DATA FROM S3 de MySQL. Para obtener
más información, consulte Carga de datos
en un clúster de base de datos Amazon
Aurora MySQL desde archivos de texto en
un bucket de Amazon S3 (p. 1078).
Una bases de datos que no Lógica Puede utilizar AWS Database Migration
sea compatible con MySQL Service (AWS DMS) para migrar datos
desde una base de datos que no sea
compatible con MySQL. Para obtener
más información acerca de AWS DMS,
consulte ¿Qué es AWS Database Migration
Service?
Note
• Si está migrando una base de datos de MySQL externa a Amazon RDS, las opciones de
migración descritas en la tabla solo se admiten si su base de datos admite los espacios de tabla
InnoDB o MyISAM.
• Si la base de datos MySQL que va a migrar a Aurora MySQL usa memcached, quite
memcached antes de migrarla.
• Puede crear un volcado de los datos con la utilidad mysqldump y, a continuación, importar esos datos
a un clúster de base de datos de Amazon Aurora MySQL. Para obtener más información, consulte
Migración de MySQL a Amazon Aurora con mysqldump (p. 856).
• Puede copiar los archivos de copia de seguridad completos e incrementales de la base de datos en
un bucket de Amazon S3 y, a continuación, restaurar un clúster de base de datos de Amazon Aurora
MySQL a partir de dichos archivos. Esta opción puede ser bastante más rápida que migrar los datos con
mysqldump. Para obtener más información, consulte Migración de datos desde MySQL con un bucket
de Amazon S3 (p. 842).
841
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
Esta opción puede ser bastante más rápida que migrar datos mediante mysqldump, ya que mysqldump
repite todos los comandos para volver a crear el esquema y los datos a partir de la base de datos origen en
el nuevo clúster de base de datos de Aurora MySQL. Al copiar los archivos de datos de MySQL de origen,
Aurora MySQL puede utilizar inmediatamente esos archivos como datos para el clúster de base de datos
de Aurora MySQL.
Note
El bucket de Amazon S3 y el clúster de base de datos de Amazon Aurora MySQL deben estar en
la misma región de AWS.
Aurora MySQL no restaura todo lo que contiene la base de datos. Debe guardar el esquema y los valores
de la base de datos correspondientes a los siguientes elementos de la base de datos MySQL de origen y
añadirlos al clúster de base de datos de Aurora MySQL restaurado una vez creado:
• Cuentas de usuario
• Funciones
• Procedimientos almacenados
• Información de zona horaria. Esta información se carga desde el sistema operativo local del clúster de
base de datos de Amazon Aurora MySQL. Para obtener más información, consulte Zona horaria local
para los clústeres de base de datos de Amazon Aurora (p. 16).
No puede restaurar desde una base de datos de origen cifrada, pero puede cifrar los datos que se están
migrando. También puede dejar los datos sin cifrar durante el proceso de migración.
No puede migrar de una base de datos de origen que tenga tablas definidas fuera del directorio de datos
de MySQL predeterminado.
Además, decida si desea reducir el tiempo de inactividad mediante el uso de la replicación de logs binarios
durante el proceso de migración. Si usa la replicación de logs binarios, la base de datos MySQL externa
permanece abierta a las transacciones mientras se migran los datos al clúster de base de datos de Aurora
MySQL. Una vez creado el clúster de base de datos de Aurora MySQL, se usa la replicación de registros
binarios para sincronizar el clúster de base de datos de Aurora MySQL con las transacciones que han
tenido lugar después de la copia de seguridad. Cuando el clúster de base de datos de Aurora MySQL DB
esté sincronizado con la base de datos MySQL, se termina la migración y se produce el cambio al clúster
de base de datos de Aurora MySQL para las nuevas transacciones.
Temas
• Antes de empezar (p. 842)
• Copia de seguridad de archivos para restaurarlos como un clúster de base de datos de Amazon Aurora
MySQL (p. 844)
• Restauración de un clúster de base de datos de Amazon Aurora MySQL desde un bucket de Amazon
S3 (p. 846)
• Sincronización del clúster de base de datos de Amazon Aurora MySQL con la base de datos MySQL
mediante replicación (p. 850)
Antes de empezar
Antes de copiar los datos en un bucket de Amazon S3 y restaurar un clúster de base de datos a partir de
esos archivos, debe hacer lo siguiente:
842
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
Amazon Aurora puede restaurar un clúster de base de datos a partir de archivos creados con Percona
XtraBackup. Puede instalar Percona XtraBackup desde el artículo sobre cómo descargar Percona
XtraBackup.
Note
Para la migración de MySQL 5.7, debe usar Percona XtraBackup 2.4. Para versiones anteriores
de MySQL, utilice Percona XtraBackup 2.3 o 2.4.
Permisos necesarios
Para migrar los datos de MySQL a un clúster de base de datos de Amazon Aurora MySQL, se requieren
varios permisos:
• El usuario que solicita que Aurora cree un nuevo clúster a partir de un bucket de Amazon S3 debe
tener permiso para mostrar los buckets de su cuenta de AWS. Puede conceder este permiso al usuario
mediante una política de AWS Identity and Access Management (IAM).
• Aurora requiere permiso para realizar acciones en su nombre y acceder al bucket de Amazon S3 en
el que se almacenan los archivos utilizados para crear el clúster de base de datos de Amazon Aurora
MySQL. Puede conceder los permisos necesarios a Aurora mediante un rol de servicio de IAM.
• El usuario que realiza la solicitud también debe tener permiso para enumerar los roles de IAM para la
cuenta de AWS.
• Si el usuario que ha realizado la solicitud va a crear la función del servicio de IAM o va a solicitar que
Aurora cree la función del servicio de IAM (mediante la consola), el usuario debe tener permiso para
crear un rol de IAM para la cuenta de AWS.
• Si tiene previsto cifrar los datos durante el proceso de migración, actualice la política de IAM del
usuario que va a realizar la migración para conceder a RDS acceso a las AWS KMS keys para cifrar
los backups. Para obtener instrucciones, consulte Creación de una política de IAM para acceder a los
recursos de AWS KMS (p. 1071).
Por ejemplo, la siguiente política de IAM concede a un usuario los permisos mínimos necesarios para
que pueda utilizar la consola para mostrar los roles de IAM, crear un rol de IAM, mostrar los buckets de
Amazon S3 de la cuenta y mostrar las claves de KMS.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:ListRoles",
"iam:CreateRole",
"iam:CreatePolicy",
"iam:AttachRolePolicy",
"s3:ListBucket",
"kms:ListKeys"
],
"Resource": "*"
}
]
}
843
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
Además, para que un usuario pueda asociar un rol de IAM a un bucket de Amazon S3, el usuario de IAM
debe disponer del permiso iam:PassRole para ese rol de IAM. Este permiso hace que un administrador
pueda restringir los roles de IAM que un usuario puede asociar a buckets de Amazon S3.
Por ejemplo, la siguiente política de IAM permite a un usuario asociar el rol denominado S3Access a un
bucket de Amazon S3.
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AllowS3AccessRole",
"Effect":"Allow",
"Action":"iam:PassRole",
"Resource":"arn:aws:iam::123456789012:role/S3Access"
}
]
}
Para obtener más información sobre los permisos de usuario de IAM, consulte Administración de acceso
mediante políticas (p. 1859).
Puede hacer que la AWS Management Console cree un rol para usted eligiendo la opción Create a New
Role (Crear una función) (se explica más adelante en este tema). Si selecciona esta opción y especifica
un nombre para el nuevo rol, Aurora crea el rol de servicio de IAM necesario para que Aurora acceda al
bucket de Amazon S3 con el nombre que usted indique.
Para crear un rol de IAM para que Aurora pueda acceder a Amazon S3
1. Realice los pasos que se indican en Creación de una política de IAM para acceder a los recursos de
Amazon S3 (p. 1066).
2. Realice los pasos que se indican en Creación de un rol de IAM que permita a Amazon Aurora acceder
a los servicios de AWS (p. 1071).
3. Realice los pasos que se indican en Asociación de un rol de IAM con un clúster de base de datos
Amazon Aurora MySQL (p. 1072).
Para crear una copia de seguridad completa de los archivos de la base de datos MySQL que se puedan
restaurar desde Amazon S3 para crear un clúster de base de datos de Amazon Aurora MySQL, use la
utilidad Percona XtraBackup (xtrabackup) para realizar una copia de seguridad de la base de datos.
Por ejemplo, el siguiente comando crea un backup de una base de datos MySQL y almacena los archivos
en la carpeta /on-premises/s3-restore/backup.
844
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
Si desea comprimir su backup en un solo archivo (que se puede dividir si es necesario), puede utilizar la
opción --stream para guardar el backup en uno de los siguientes formatos:
• Gzip (.gz)
• tar (.tar)
• Percona xbstream (.xbstream)
El siguiente comando crea una copia de seguridad de la base de datos MySQL dividido en varios archivos
Gzip.
El siguiente comando crea una copia de seguridad de la base de datos MySQL dividido en varios archivos
tar.
El siguiente comando crea una copia de seguridad de la base de datos MySQL dividido en varios archivos
xbstream.
Una vez realizado el backup de la base de datos MySQL con la utilidad Percona XtraBackup, ya podrá
copiar los directorios y los archivos del backup en un bucket de Amazon S3.
Para obtener más información acerca de cómo crear y cargar un archivo en un bucket de Amazon S3,
consulte Introducción a Amazon Simple Storage Service en la Guía de introducción a Amazon S3.
Cuando copie los archivos de backup completos o incrementales en un bucket de Amazon S3, debe
copiar repetidamente el contenido del directorio base. Esos contenidos incluyen el backup completo y
también todos los directorios y archivos del backup incremental. Esta copia debe mantener la estructura
de directorios en el bucket de Amazon S3. Aurora realiza iteraciones por todos los archivos y directorios.
Aurora utiliza el archivo xtrabackup-checkpoints incluido con cada copia de seguridad progresiva
para identificar el directorio base y ordenar las copias de seguridad progresivas por rango del número de
secuencia del registro (LSN).
Para obtener más información acerca de cómo crear y cargar un archivo en un bucket de Amazon S3,
consulte Introducción a Amazon Simple Storage Service en la Guía de introducción a Amazon S3.
845
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
Cuando carga un archivo en un bucket de Amazon S3, puede usar el cifrado del lado del servidor para
cifrar los datos. Luego, puede restaurar un clúster de base de datos de Amazon Aurora MySQL a partir de
estos archivos cifrados. Amazon Aurora MySQL puede restaurar un clúster de base de datos con archivos
cifrados mediante los siguientes tipos de cifrado del lado del servidor:
• Cifrado en el servidor con claves de cifrado administradas por Amazon S3 (SSE-S3): cada objeto está
cifrado con una clave exclusiva que utiliza un cifrado multifactor seguro.
• Cifrado en el servidor con claves administradas por AWS KMS (SSE-KMS): similar a SSE-S3, pero tiene
la opción de crear y administrar usted mismo las claves de cifrado, así como otras diferencias.
Para obtener información sobre cómo usar el cifrado en el servidor al cargar archivos en un bucket
de Amazon S3, consulte Protección de datos con el cifrado del lado del servidor en la Guía para
desarrolladores de Amazon S3.
Amazon S3 limita el tamaño de un archivo cargado en un bucket de Amazon S3 a 5 TB. Si los datos del
backup de su base de datos superan los 5 TB, use el comando split para dividir los archivos de backup
en varios archivos que ocupen menos de 5 TB.
Aurora consume sus archivos de copia de seguridad en función del nombre de archivo. Asegúrese de
asignar la extensión de archivo adecuada a los archivos de copia de seguridad según el formato de
archivo: por ejemplo, .xbstream para archivos almacenados con el formato xbstream de Percona.
Aurora consume sus archivos de backup en orden alfabético, así como según la numeración natural. Utilice
siempre la opción split al ejecutar el comando xtrabackup para asegurarse de que la escritura y la
asignación de nombre de sus archivos de backup se realice en el orden correcto.
Aurora no admite copias de seguridad parciales creados con Percona XtraBackup. No puede utilizar
las siguientes opciones para crear una copia de seguridad parcial al realizar copias de seguridad de
los archivos de origen de su base de datos: --tables, --tables-exclude, --tables-file, --
databases, --databases-exclude o --databases-file.
Para obtener más información acerca de cómo realizar una copia de seguridad de su base de datos con
Percona XtraBackup, consulte la documentación de Percona XtraBackup y el artículo sobre el archivo
binario xtrabackup en el sitio web de Percona.
Aurora admite copias de seguridad incrementales creadas con Percona XtraBackup. Para obtener más
información acerca de la creación de copias de seguridad incrementales con Percona XtraBackup,
consulte el artículo acerca de la copia de seguridad incremental.
Para restaurar un clúster de base de datos de Amazon Aurora MySQL a partir de los archivos de
un bucket de Amazon S3
846
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
Aparecerá la página Create database by restoring from S3 (Crear base de datos restaurando desde
S3).
847
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
848
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
Si no especifica un prefijo, RDS creará su instancia de base de datos con todos los archivos y
carpetas de la carpeta raíz del bucket de S3. Si especifica un prefijo, RDS creará su instancia
de base de datos con los archivos y carpetas del bucket de S3 cuya ruta completa del archivo
empieza con el prefijo especificado.
Por ejemplo, suponga que almacena los archivos de backup en S3 en una subcarpeta
denominada copias de seguridad y que tiene varios conjuntos de archivos de backup, cada
uno en su propio directorio (gzip_backup1, gzip_backup2, etc.). En este caso, debe especificar
un prefijo de backups/gzip_backup1 para restaurar a partir de los archivos de la carpeta
gzip_backup1.
6. En Engine options (Opciones del motor):
La AWS Management Console crea una política de IAM que permite a Aurora descifrar los
datos.
Para obtener más información, consulte Protección de datos con el cifrado del lado del servidor en
la Guía para desarrolladores de Amazon S3.
9. Elija la configuración del clúster de base de datos, como el identificador de clúster de base de datos
y las credenciales de inicio de sesión. Para obtener más información acerca de cada ajuste, consulte
Configuración de clústeres de bases de datos de Aurora (p. 149).
10. Personalice la configuración adicional del clúster de base de datos Aurora MySQL según sea
necesario.
11. Elija Create database (Crear base de datos) para iniciar la instancia de base de datos Aurora.
En la consola de Amazon RDS, la nueva instancia de base de datos aparece en la lista de instancias de
base de datos. La instancia de la base de datos tendrá el estado creating hasta que se cree la instancia y
esté lista para el uso. Cuando el estado cambie a available, podrá conectarse a la instancia principal de su
clúster de base de datos. Dependiendo de la clase de instancia de base de datos y del almacenamiento
asignado, es posible que la nueva instancia tarde varios minutos en estar disponible.
849
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
Para ver el clúster que acaba de crear, elija la vista Databases (Bases de datos) en la consola de Amazon
RDS y elija el clúster de base de datos. Para obtener más información, consulte Visualización de un clúster
de base de datos de Amazon Aurora (p. 599).
Anote el puerto y el punto de enlace del escritor del clúster de base de datos. Utilice el punto de enlace del
escritor y el puerto del clúster de base de datos en sus cadenas de conexión JDBC y ODBC para cualquier
aplicación que realice operaciones de lectura o escritura.
850
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
permite al clúster de base de datos ponerse al día con las transacciones de la base de datos MySQL que
se produjeron durante la migración. Cuando el clúster de base de datos esté totalmente sincronizado,
puede detener la replicación y terminar la migración a Aurora MySQL.
Temas
• Configuración de la base de datos MySQL externa y el clúster de base de datos de Aurora MySQL
para la replicación cifrada (p. 851)
• Sincronización del clúster de base de datos de Amazon Aurora MySQL con la base de datos MySQL
externa (p. 852)
Configuración de la base de datos MySQL externa y el clúster de base de datos de Aurora MySQL
para la replicación cifrada
Para replicar los datos de forma segura, puede usar la replicación cifrada.
Note
Si no necesita usar la replicación cifrada, puede omitir estos pasos y pasar a las instrucciones
de Sincronización del clúster de base de datos de Amazon Aurora MySQL con la base de datos
MySQL externa (p. 852).
• La capa de conexión segura (SSL) debe estar habilitada en la base de datos principal de MySQL
externa.
• Debe disponerse de una clave cliente y un certificado cliente para el clúster de base de datos de Aurora
MySQL.
Durante la replicación cifrada, el clúster de base de datos Aurora MySQL actúa como un cliente en el
servidor de base de datos MySQL. Los certificados y las claves del cliente de Aurora MySQL son archivos
con formato .pem.
Para configurar su base de datos MySQL externa y su clúster de base de datos de Aurora MySQL
para la replicación cifrada
• Si no tiene SSL habilitado en la base de datos principal de MySQL externa y no dispone de una
clave cliente ni de un certificado cliente, habilite SSL en el servidor de base de datos de MySQL y
genere la clave cliente y el certificado cliente necesarios.
• Si SSL está habilitado en el primario externo, proporcione una clave cliente y un certificado cliente
para el clúster de base de datos de Aurora MySQL. Si no los tiene, genere una nueva clave y
certificado para el clúster de base de datos Aurora MySQL. Para firmar el certificado cliente, debe
tener la clave de la entidad de certificación que usó para configurar SSL en la base de datos
primaria de MySQL externa.
Para obtener más información, consulte Creating SSL Certificates and Keys Using openssl en la
documentación de MySQL.
Para obtener información acerca de la conexión a un clúster de base de datos Aurora MySQL con
SSL, consulte Uso de SSL/TLS con clústeres de base de datos de Aurora MySQL (p. 832).
3. Ejecute el procedimiento almacenado mysql.rds_import_binlog_ssl_material para importar
la información de SSL en el clúster de base de datos Aurora MySQL.
851
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
Para el parámetro ssl_material_value, inserte la información de los archivos con formato .pem
para el clúster de base de datos Aurora MySQL en la carga JSON correcta.
call mysql.rds_import_binlog_ssl_material(
'{"ssl_ca":"-----BEGIN CERTIFICATE-----
AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
-----END CERTIFICATE-----\n","ssl_cert":"-----BEGIN CERTIFICATE-----
AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
-----END CERTIFICATE-----\n","ssl_key":"-----BEGIN RSA PRIVATE KEY-----
AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
-----END RSA PRIVATE KEY-----\n"}');
Sincronización del clúster de base de datos de Amazon Aurora MySQL con la base de datos
MySQL externa
Puede sincronizar su clúster de base de datos de Amazon Aurora MySQL con la base de datos MySQL
mediante replicación.
Para sincronizar su clúster de base de datos de Aurora MySQL con la base de datos MySQL
mediante replicación
1. Asegúrese de que el archivo /etc/my.cnf de la base de datos MySQL externa tenga las entradas
pertinentes.
Si no se requiere la replicación cifrada, asegúrese de que la base de datos MySQL externa se inicia
con los logs binarios (binlogs) habilitados y SSL deshabilitado. A continuación se indican las entradas
pertinentes en el archivo /etc/my.cnf para los datos sin cifrar.
log-bin=mysql-bin
server-id=2133421
innodb_flush_log_at_trx_commit=1
sync_binlog=1
852
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
Si se requiere la replicación cifrada, asegúrese de que la base de datos MySQL externa se inicia
con SSL y los binlogs habilitados. Las entradas del archivo /etc/my.cnf incluyen las ubicaciones del
archivo .pem para el servidor de base de datos MySQL.
log-bin=mysql-bin
server-id=2133421
innodb_flush_log_at_trx_commit=1
sync_binlog=1
# Setup SSL.
ssl-ca=/home/sslcerts/ca.pem
ssl-cert=/home/sslcerts/server-cert.pem
ssl-key=/home/sslcerts/server-key.pem
+~-~-~-~-~-~-~-~-~-~-~-~-~-~--+~-~-~-~-~-~--+
| Variable_name | Value |
+~-~-~-~-~-~-~-~-~-~-~-~-~-~--+~-~-~-~-~-~--+
| have_ssl | YES |
+~-~-~-~-~-~-~-~-~-~-~-~-~-~--+~-~-~-~-~-~--+
1 row in set (0.00 sec)
2. Determine la posición del registro binario inicial para la replicación: Especificará la posición para iniciar
la replicación en un paso posterior.
853
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
También puede obtener el nombre y la posición del archivo binlog llamando al comando describe-
events desde la AWS CLI. El siguiente es un ejemplo del comando describe-events.
El usuario requiere los privilegios REPLICATION CLIENT y REPLICATION SLAVE. Conceda estos
privilegios al usuario.
Si necesita usar la replicación cifrada, exija conexiones SSL al usuario de la replicación. Por ejemplo,
puede utilizar la siguiente declaración para exigir el uso de conexiones SSL en la cuenta de usuario
<user_name>.
Note
Es posible que también necesite configurar su red local para permitir las conexiones desde la dirección
IP de su clúster de base de datos de Aurora MySQL con el fin de que se pueda comunicar con la
base de datos MySQL externa. Para encontrar la dirección IP del clúster de base de datos de Aurora
MySQL, use el comando host.
host <db_cluster_endpoint>
El nombre de host es el nombre DNS del punto de enlace del clúster de base de datos de Aurora
MySQL.
5. Habilite la replicación de registros binarios ejecutando el mysql.rds_set_external_master
(Aurora MySQL, versiones 1 y 2) o mysql.rds_set_external_source (Aurora MySQL versión 3 y
versiones posteriores) almacenado. Este procedimiento almacenado tiene la siguiente sintaxis.
CALL mysql.rds_set_external_master (
host_name
, host_port
, replication_user_name
854
Amazon Aurora Guía del usuario de Aurora
Migración de una base de datos
MySQL externa a Aurora MySQL
, replication_user_password
, mysql_binary_log_file_name
, mysql_binary_log_file_location
, ssl_encryption
);
CALL mysql.rds_set_external_source (
host_name
, host_port
, replication_user_name
, replication_user_password
, mysql_binary_log_file_name
, mysql_binary_log_file_location
, ssl_encryption
);
Si los datos del clúster de base de datos de Aurora MySQL no están cifrados, el parámetro
ssl_encryption debe establecerse en 0. Si los datos están cifrados, el parámetro
ssl_encryption debe establecerse en 1.
El siguiente ejemplo ejecuta el procedimiento para un clúster de base de datos de Aurora MySQL que
tiene datos cifrados.
CALL mysql.rds_set_external_master(
'Externaldb.some.com',
3306,
'repl_user'@'mydomain.com',
'password',
'mysql-bin.000010',
120,
1);
CALL mysql.rds_set_external_source(
'Externaldb.some.com',
3306,
'repl_user'@'mydomain.com',
'password',
'mysql-bin.000010',
120,
1);
Este procedimiento almacenado establece los parámetros que el clúster de base de datos de Aurora
MySQL usa para conectarse a una base de datos MySQL externa y leer su log binario. Si los datos
están cifrados, también descarga el certificado de la entidad de certificación de SSL, el certificado
cliente y la clave cliente en el disco local.
6. Inicie la replicación de logs binarios ejecutando el procedimiento almacenado
mysql.rds_start_replication.
CALL mysql.rds_start_replication;
855
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
7. Monitorice qué retardo tiene el clúster de base de datos de Aurora MySQL con respecto a la base de
datos principal de replicación de MySQL. Para ello, conéctese al clúster de base de datos de Aurora
MySQL y ejecute el siguiente comando.
En la salida del comando, el campo Seconds Behind Master muestra cuánto retardo tiene el
clúster de base de datos de Aurora MySQL con respecto al MySQL principal. Cuando este valor es
0 (cero), el clúster de base de datos de Aurora MySQL se ha sincronizado con el principal y puede
continuar con el siguiente paso para detener la replicación.
8. Conéctese a la base de datos principal de replicación MySQL y detenga la replicación. Para ello,
ejecute el siguiente comando.
CALL mysql.rds_stop_replication;
Para consultar un debate sobre cómo hacerlo con bases de datos de MySQL de tamaño muy grande,
consulte Importación de datos a una instancia de base de datos de MySQL o MariaDB con tiempo de
inactividad reducido. En el caso de bases de datos de MySQL con menores cantidades de datos, consulte
Importación de datos de una base de datos de MySQL o MariaDB a una instancia de base de datos de
MySQL o MariaDB.
Temas
• Migración de una instantánea de RDS for MySQL a Aurora (p. 857)
• Migración de datos desde una instancia de base de datos MySQL a un clúster de base de datos de
Amazon Aurora MySQL con una réplica de lectura de Aurora (p. 863)
Note
Dado que Amazon Aurora MySQL es compatible con MySQL, puede migrar datos desde la base
de datos MySQL configurando la replicación entre la base de datos MySQL y un clúster de base
de datos de Amazon Aurora MySQL. Si quiere utilizar la replicación para migrar datos desde la
856
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
base de datos MySQL, le recomendamos ejecutar la versión 5.5 o posterior de la base de datos
MySQL. Para obtener más información, consulte Replicación con Amazon Aurora (p. 74).
Puede migrar una instantánea de base de datos manual o automatizada. Una vez creado el clúster de
base de datos, podrá crear réplicas de Aurora opcionales.
Cuando la instancia de base de datos MySQL y el clúster de base de datos de Aurora estén ejecutando la
misma versión de MySQL, puede restaurar la instantánea de MySQL directamente en el clúster de base
de datos de Aurora. Por ejemplo, puede restaurar una instantánea de la versión 5.6 de MySQL a la versión
5.6 de Aurora MySQL, pero no puede restaurar una instantánea de la versión 5.6 de MySQL directamente
a Aurora MySQL versión 5.7.
Si desea migrar una instantánea de la versión 5.6 de MySQL a la versión 5.7 de Aurora MySQL, puede
realizar la migración de una de las siguientes maneras:
• Migre una instantánea de la versión 5.6 de MySQL a la versión 5.6 de Aurora MySQL, tome una
instantánea del clúster de la base de datos la versión 5.6 de Aurora MySQL y, a continuación, restaure la
instantánea de la versión 5.6 de Aurora MySQL a la versión 5.7 de Aurora MySQL.
• Actualice la instantánea de la versión 5.6 de MySQL a la versión 5.7 de MySQL, tome una instantánea
de la instancia de la base de datos de la versión 5.7 de MySQL y, a continuación, restaure la instantánea
de la versión 5.7 de MySQL; a la versión 5.7 de Aurora MySQL.
Note
También puede migrar una instancia de base de datos MySQL a un clúster de base de datos de
Aurora MySQL creando una réplica de lectura de Aurora de su instancia de base de datos MySQL
de origen. Para obtener más información, consulte Migración de datos desde una instancia de
base de datos MySQL a un clúster de base de datos de Amazon Aurora MySQL con una réplica
de lectura de Aurora (p. 863).
No puede migrar una instantánea de la versión 5.7 de MySQL a la versión 5.6 de Aurora MySQL.
1. Determine la cantidad de espacio que desea aprovisionar para el clúster de base de datos de Aurora
MySQL. Para obtener más información, consulte ¿Cuánto espacio necesito? (p. 858)
2. Utilice la consola para crear la instantánea en la región de AWS en la que se encuentra la instancia de
Amazon RDS MySQL. Para obtener más información acerca de la creación de una instantánea de base
de datos, consulte Creación de una instantánea de base de datos.
3. Si la instantánea de base de datos no se encuentra en la misma región de AWS que su clúster de
base de datos, utilice la consola de Amazon RDS; para copiar la instantánea de base de datos en esa
región de AWS. Para obtener más información acerca de la copia de una instantánea de base de datos,
consulte Copia de una instantánea de base de datos.
4. Utilice la consola para migrar la instantánea de base de datos y crear un clúster de base de datos de
Aurora MySQL con las mismas bases de datos que la instancia de base de datos original de MySQL.
Warning
Amazon RDS limita cada cuenta de AWS a una copia de la instantánea en cada región de AWS
en un momento dado.
857
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
Las tablas que no son MyISAM y no están comprimidas pueden alcanzar un tamaño de 16 TB. Si tiene
tablas MyISAM, Aurora deberá utilizar espacio adicional en el volumen para convertir las tablas con el fin
de que sean compatibles con MySQL de Aurora. Si hay tablas comprimidas, Aurora tendrá que utilizar
espacio adicional en el volumen para ampliar esas tablas antes de almacenarlas en el volumen del clúster
de Aurora. Debido a este requisito de espacio adicional, debe asegurarse de que ninguna de las tablas
MyISAM y de las tablas comprimidas que se van a migrar desde su instancia de base de datos MySQL
tiene un tamaño superior a 8 TB.
Puede realizar los siguientes cambios para mejorar el proceso de migración de una base de datos a
Amazon Aurora.
Important
Asegúrese de realizar estas actualizaciones en una instancia de base de datos nueva restaurada
a partir de un snapshot de una base de datos de producción y no a partir de una instancia de
producción. A continuación, puede migrar los datos de la instantánea de la nueva instancia de
base de datos al clúster de base de datos de Aurora para evitar las interrupciones de servicio en
la base de datos de producción.
Tablas MyISAM Aurora MySQL solo admite tablas InnoDB. Si hay tablas MyISAM
en la base de datos, tendrá que convertirlas antes de migrarlas a
Aurora MySQL. El proceso de conversión requiere más espacio para
la conversión de MyISAM a InnoDB durante el procedimiento de
migración.
Tablas comprimidas Aurora MySQL no admite tablas comprimidas (es decir, tablas creadas
con ROW_FORMAT=COMPRESSED).
858
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
Puede utilizar el siguiente script de SQL en su instancia de base de datos MySQL para obtener una lista de
las tablas MyISAM o comprimidas de su base de datos.
859
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
);
El script genera una salida similar a la del siguiente ejemplo. El ejemplo muestra dos tablas que se
deben convertir de MyISAM a InnoDB. La salida también incluye el tamaño aproximado de cada tabla en
megabytes (MB).
+---------------------------------+------------------+
| ==> MyISAM or Compressed Tables | Approx size (MB) |
+---------------------------------+------------------+
| test.name_table | 2102.25 |
| test.my_table | 65.25 |
+---------------------------------+------------------+
2 rows in set (0.01 sec)
Consola
Puede migrar una instantánea de base de datos de una instancia de base de datos de RDS for MySQL
para crear un clúster de base de datos de MySQL Aurora. El nuevo clúster de base de datos Aurora
MySQL se rellena con los datos de la instancia de base de datos de RDS for MySQL original. La
instantánea de base de datos debe haberse obtenido a partir de una instancia de base de datos de
Amazon RDS que ejecute MySQL versión 5.6 o 5.7. Para obtener más información acerca de la creación
de una instantánea de base de datos, consulte Creación de una instantánea de base de datos.
Si la instantánea de base de datos no se encuentra en la región de AWS en la que desea ubicar sus datos,
utilice la consola de Amazon RDS para copiar la instantánea de base de datos en esa región de AWS.
Para obtener más información acerca de la copia de una instantánea de base de datos, consulte Copia de
una instantánea de base de datos.
Al migrar la instantánea de base de datos con la AWS Management Console, esta realiza las acciones
necesarias para crear tanto el clúster de base de datos como la instancia principal.
También puede elegir que el nuevo clúster de base de datos de Aurora MySQL se cifre en reposo
mediante una AWS KMS key.
Para migrar una instantánea de base de datos MySQL con la AWS Management Console
860
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
• DB Engine Version (Versión de motor de base de datos): seleccione la versión del motor de base de
datos para el clúster de base de datos de Aurora MySQL.
• Clase de instancia de base de datos: elija una clase de instancia de base de datos que tenga el
almacenamiento y la capacidad requeridos para la base de datos, por ejemplo db.r3.large. Los
volúmenes de clúster de Aurora crecen automáticamente a medida que se incrementa la cantidad
de datos de la base de datos. Un volumen de clúster de Aurora puede aumentar hasta un tamaño
máximo de 128 tebibytes (TiB). Por lo tanto, solo tiene que seleccionar una clase de instancia de
base de datos que se adapte a sus necesidades actuales de almacenamiento. Para obtener más
información, consulte Información general del almacenamiento de Aurora (p. 68).
• DB Instance Identifier (Identificador de instancias de bases de datos): escriba un nombre para el
clúster de base de datos que sea único para su cuenta en la región de AWS que ha seleccionado.
Este identificador se utiliza en las direcciones de punto de enlace para las instancias del clúster de
base de datos. Puede optar por agregar al nombre información como la región de AWS y el motor
de base de datos que ha seleccionado, por ejemplo, aurora-cluster1.
De lo contrario, puede elegir que Aurora cree una VPC automáticamente seleccionando Create a
new VPC (Crear una nueva VPC).
• Subnet group (Grupo de subredes): si dispone de un grupo de subredes existente, puede utilizarlo
con el clúster de base de datos de MySQL de Aurora si selecciona el identificador del grupo de
subredes, por ejemplo, gs-subnet-group1.
En este caso, proporcione un valor de puerto permitido por el firewall corporativo. Recuerde
el valor del puerto cuando se conecte más adelante al clúster de base de datos de Aurora
MySQL.
• Encryption (Cifrado): elija Enable Encryption (Habilitar cifrado) para que el nuevo clúster de base de
datos de Aurora MySQL se cifre en reposo. Si elige Enable encryption (Habilitar cifrado), debe elegir
una clave de KMS como valor de AWS KMS key.
Si la instantánea de base de datos no está cifrada, especifique una clave de cifrado para cifrar el
clúster de base de datos en reposo.
Si la instantánea de base de datos está cifrada, especifique una clave de cifrado para cifrar el
clúster de base de datos en reposo con la clave de cifrado especificada. Puede especificar la clave
de cifrado utilizada por la instantánea de base de datos o una clave distinta. No puede crear un
clúster de base de datos sin cifrar a partir de una instantánea de base de datos cifrada.
• Auto Minor Version Upgrade (Actualización automática a versiones secundarias): este ajuste no se
aplica a los clústeres de base de datos Aurora MySQL.
Para obtener más información acerca de las actualizaciones de motor de Aurora MySQL, consulte
Actualizaciones del motor de base de datos de Amazon Aurora MySQL (p. 1170).
4. Elija Migrate (Migrar) para migrar la instantánea de base de datos.
5. Elija Instances y, a continuación, seleccione el icono de flecha para mostrar la información detallada
del clúster de base de datos y monitorizar el progreso de la migración. En la página de detalles,
encontrará el punto de enlace del clúster que se utiliza para conectar a la instancia principal del clúster
de base de datos. Para obtener más información acerca de la conexión a un clúster de base de datos
de Aurora MySQL, consulte Conexión a un clúster de base de datos Amazon Aurora (p. 307).
AWS CLI
Puede migrar una instantánea de base de datos de una instancia de base de datos de RDS for MySQL
para crear un clúster de base de datos de Aurora. A continuación, el nuevo clúster de base de datos se
rellena con los datos de la instantánea de base de datos. La instantánea de base de datos debe proceder
de una instancia de base de datos de Amazon RDS que ejecute MySQL versión 5.6 o 5.7. Para obtener
más información, consulte Creación de una instantánea de base de datos.
Si la instantánea de base de datos no se encuentra en la región de AWS en la que desea ubicar sus datos,
copie la instantánea de base de datos en dicha región de AWS. Para obtener más información, consulte
Copia de una instantánea de base de datos.
Puede crear un clúster de base de datos de Aurora desde una instantánea de base de datos de una
instancia de base de datos de RDS for MySQL con el comando restore-db-cluster-from-snapshot
y los siguientes parámetros:
• --db-cluster-identifier
La AWS KMS key para cifrar, si lo desea, el clúster de base de datos en función de si la instantánea de
base de datos está cifrada o no.
• Si la instantánea de base de datos no está cifrada, especifique una clave de cifrado para cifrar el
clúster de base de datos en reposo. De lo contrario, el clúster no estará cifrado.
• Si la instantánea de base de datos está cifrada, especifique una clave de cifrado para cifrar el clúster
de base de datos en reposo con la clave de cifrado especificada. De lo contrario, el clúster de base de
datos se cifrará en reposo con la clave de cifrado de la instantánea de base de datos.
862
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
Note
No puede crear un clúster de base de datos sin cifrar a partir de una instantánea de base de
datos cifrada.
• --snapshot-identifier
El nombre de recurso de Amazon (ARN) de la instantánea de base de datos que se va a migrar. Para
obtener más información sobre los ARN de Amazon RDS, consulte Amazon Relational Database Service
(Amazon RDS).
En este ejemplo, va a crear un clúster de base de datos compatible con MySQL 5.7 denominado
mydbcluster a partir de una instantánea de base de datos con un ARN definido en mydbsnapshotARN.
Para Windows:
En este ejemplo, va a crear un clúster de base de datos compatible con MySQL 5.6 denominado
mydbcluster a partir de una instantánea de base de datos con un ARN definido en mydbsnapshotARN.
Para Windows:
863
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
instancia de base de datos MySQL de origen. Las actualizaciones realizadas en la instancia de base de
datos MySQL de origen se replican de forma asíncrona en la réplica de lectura de Aurora.
Es recomendable usar esta funcionalidad para migrar desde una instancia de base de datos MySQL a
un clúster de base de datos de Aurora MySQL creando una réplica de lectura de Aurora de la instancia
de base de datos MySQL de origen. Cuando el retardo de la réplica entre la instancia de base de datos
MySQL y la réplica de lectura de Aurora sea 0, podrá dirigir las aplicaciones cliente a la réplica de lectura
de Aurora y detener después la replicación para convertir la réplica de lectura de Aurora en un clúster de
base de datos de Aurora MySQL independiente. Esta migración puede tardar un tiempo considerable,
aproximadamente varias horas por tebibyte (TiB) de datos.
Para obtener una lista de las regiones en las que está disponible Aurora, consulte Amazon Aurora en la
referencia general de AWS.
Cuando se crea una réplica de lectura de Aurora de una instancia de base de datos MySQL, Amazon RDS
crea una instantánea de base de datos de la instancia de base de datos MySQL de origen (privada para
Amazon RDS y sin cargo). Después, Amazon RDS migra los datos de la instantánea de base de datos
a la réplica de lectura de Aurora. Una vez que los datos de la instantánea de base de datos se hayan
migrado al nuevo clúster de base de datos de Aurora MySQL, Amazon RDS comenzará la replicación entre
la instancia de base de datos MySQL y el clúster de base de datos de Aurora MySQL. Si la instancia de
base de datos MySQL contiene tablas que usen motores de almacenamiento distintos de InnoDB o que
usen el formato de filas comprimidas, puede acelerar el proceso de creación de una réplica de lectura de
Aurora modificando esas tablas para que usen el motor de almacenamiento de InnoDB y el formato de filas
dinámicas antes de crear la réplica de lectura de Aurora. Para obtener más información acerca del proceso
de copia de una instantánea de base de datos MySQL en un clúster de base de datos de Aurora MySQL,
consulte Migración de datos desde una instancia de base de datos MySQL a un clúster de base de datos
de Amazon Aurora MySQL con una instantánea de base de datos (p. 856).
Solo puede tener una réplica de lectura de Aurora para una instancia de base de datos MySQL.
Note
Para obtener más información sobre las réplicas de lectura de MySQL, consulte Trabajo con réplicas de
lectura de instancias de base de datos MariaDB, MySQL y PostgreSQL.
Consola
Para crear una réplica de lectura de Aurora a partir de una instancia de base de datos MySQL
864
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
Opción Descripción
DB instance class Elija una clase de instancia de base de datos que defina
los requisitos de procesamiento y memoria para la
instancia principal del clúster de base de datos. Para
obtener más información acerca de las opciones de
clases de instancia de base de datos, consulte Clases de
instancia de base de datos Aurora (p. 56).
Virtual Private Cloud (VPC) Seleccione la VPC que alojará el clúster de base de datos.
Seleccione Create new VPC (Crear nueva VPC) para que
Aurora cree una VPC automáticamente. Para obtener más
información, consulte Requisitos previos de clúster de base
de datos (p. 136).
865
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
Opción Descripción
Public accessibility (Accesibilidad Seleccione Yes para asignar al clúster de base de datos
pública una dirección IP pública; de lo contrario, seleccione No.
Las instancias del clúster de base de datos pueden ser
una combinación de instancias de base de datos públicas
y privadas. Para obtener más información acerca del modo
de ocultar instancias al acceso público, consulte Cómo
ocultar una instancia de base de datos en una VPC desde
Internet. (p. 1928).
Grupos de seguridad de la VPC Seleccione Create new VPC security group (Crear nuevo
grupo de seguridad de VPC) para que Aurora cree un
grupo de seguridad de VPC automáticamente. Seleccione
Select existing VPC security groups (Seleccionar grupos
de seguridad de VPC existentes) para especificar uno
o varios grupos de seguridad de VPC para proteger el
acceso de red al clúster de base de datos. Para obtener
más información, consulte Requisitos previos de clúster de
base de datos (p. 136).
Database port (Puerto de base de Especifique el puerto que deben usar las aplicaciones
datos y las utilidades para obtener acceso a la base de datos.
Los clústeres de base de datos de Aurora MySQL usan
el puerto 3306 de MySQL de forma predeterminada. Los
firewalls de algunas compañías bloquean las conexiones a
este puerto. Si el firewall de su compañía bloquea el puerto
predeterminado, elija otro puerto para el nuevo clúster de
base de datos.
866
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
Opción Descripción
867
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
Opción Descripción
Auto minor version upgrade Esta configuración no se aplica a los clústeres de base de
(Actualización automática de datos Aurora MySQL.
versiones secundarias
Para obtener más información acerca de las
actualizaciones de motor de Aurora MySQL, consulte
Actualizaciones del motor de base de datos de Amazon
Aurora MySQL (p. 1170).
AWS CLI
Para crear una réplica de lectura de Aurora a partir de una instancia de base de datos de MySQL de
origen, utilice los comandos create-db-cluster y create-db-instance de AWS CLI para crear
un nuevo clúster de base de datos de Aurora MySQL. Cuando llame al comando create-db-cluster,
incluya el parámetro --replication-source-identifier para identificar el Nombre de recurso de
Amazon (ARN) de la instancia de base de datos MySQL de origen. Para obtener más información sobre
los ARN de Amazon RDS, consulte Amazon Relational Database Service (Amazon RDS).
Para Windows:
868
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
Si utiliza la consola para crear una réplica de lectura de Aurora, Aurora crea automáticamente la instancia
principal para la réplica de lectura de Aurora del clúster de base de datos. Si usa la AWS CLI para crear
una réplica de lectura de Aurora, debe crear expresamente la instancia primaria del clúster de base de
datos. La instancia principal es la primera instancia que se crea en un clúster de base de datos.
Puede crear una instancia principal para el clúster de base de datos con el comando create-db-
instance de la AWS CLI y los siguientes parámetros.
• --db-cluster-identifier
El nombre de la clase de instancia de base de datos que se va a utilizar para la instancia principal.
• --db-instance-identifier
En este ejemplo, va a crear una instancia principal llamada myreadreplicainstance para el clúster de
base de datos llamado myreadreplicacluster con la clase de instancia de base de datos especificada
en myinstanceclass.
Example
Para Windows:
API de RDS
Para crear una réplica de lectura de Aurora a partir de una instancia de base de datos MySQL de origen,
use los comandos CreateDBCluster y CreateDBInstance de la API de Amazon RDS para crear una
instancia principal y un nuevo clúster de base de datos de Aurora. No especifique el nombre de usuario
maestro, la contraseña maestra o el nombre de la base de datos, ya que la réplica de lectura de Aurora
usa el mismo nombre de usuario maestro, la misma contraseña maestra y el mismo nombre de base de
datos que la instancia de base de datos MySQL de origen.
Puede crear un nuevo clúster de base de datos de Aurora para una réplica de lectura de Aurora a partir
de una instancia de base de datos MySQL de origen con el comando CreateDBCluster de la API de
Amazon RDS y los siguientes parámetros:
869
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
• DBClusterIdentifier
El nombre del grupo de subredes de la base de datos que desea asociar con este clúster de base de
datos.
• Engine=aurora
• KmsKeyId
La AWS KMS key para cifrar, si lo desea, el clúster de base de datos en función de si la instancia de
base de datos MySQL está cifrada o no.
• Si la instancia de base de datos MySQL no está cifrada, especifique una clave de cifrado para cifrar el
clúster de base de datos en reposo. De lo contrario, el clúster de base de datos se cifrará en reposo
con la clave de cifrado predeterminada para la cuenta.
• Si la instancia de base de datos MySQL está cifrada, especifique una clave de cifrado para cifrar el
clúster de base de datos en reposo con la clave de cifrado especificada. De lo contrario, el clúster de
base de datos se cifrará en reposo con la clave de cifrado de la instancia de base de datos MySQL.
Note
No puede crear un clúster de base de datos sin cifrar a partir de una instancia de base de
datos MySQL cifrada.
• ReplicationSourceIdentifier
El nombre de recurso de Amazon (ARN) de la instancia de base de datos MySQL de origen. Para
obtener más información sobre los ARN de Amazon RDS, consulte Amazon Relational Database Service
(Amazon RDS).
• VpcSecurityGroupIds
La lista de grupos de seguridad de VPC de EC2 que se va a asociar con este clúster de base de datos.
En este ejemplo, se crea un clúster de base de datos llamado myreadreplicacluster a partir de una
instancia de base de datos MySQL principal con un ARN definido en mysqlmasterARN, asociado con
un grupo de subredes de base de datos llamado mysubnetgroup y un grupo de seguridad de la VPC
llamado mysecuritygroup.
Example
https://rds.us-east-1.amazonaws.com/
?Action=CreateDBCluster
&DBClusterIdentifier=myreadreplicacluster
&DBSubnetGroupName=mysubnetgroup
&Engine=aurora
&ReplicationSourceIdentifier=mysqlprimaryARN
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Version=2014-10-31
&VpcSecurityGroupIds=mysecuritygroup
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20150927/us-east-1/rds/aws4_request
&X-Amz-Date=20150927T164851Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=6a8f4bd6a98f649c75ea04a6b3929ecc75ac09739588391cd7250f5280e716db
Si utiliza la consola para crear una réplica de lectura de Aurora, Aurora crea automáticamente la instancia
principal para la réplica de lectura de Aurora del clúster de base de datos. Si usa la AWS CLI para crear
870
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
una réplica de lectura de Aurora, debe crear expresamente la instancia primaria del clúster de base de
datos. La instancia principal es la primera instancia que se crea en un clúster de base de datos.
Puede crear una instancia principal para el clúster de base de datos con el comando CreateDBInstance
de la API de Amazon RDS y los siguientes parámetros:
• DBClusterIdentifier
El nombre de la clase de instancia de base de datos que se va a utilizar para la instancia principal.
• DBInstanceIdentifier
En este ejemplo, va a crear una instancia principal llamada myreadreplicainstance para el clúster de
base de datos llamado myreadreplicacluster con la clase de instancia de base de datos especificada
en myinstanceclass.
Example
https://rds.us-east-1.amazonaws.com/
?Action=CreateDBInstance
&DBClusterIdentifier=myreadreplicacluster
&DBInstanceClass=myinstanceclass
&DBInstanceIdentifier=myreadreplicainstance
&Engine=aurora
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Version=2014-09-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20140424/us-east-1/rds/aws4_request
&X-Amz-Date=20140424T194844Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=bee4aabc750bf7dad0cd9e22b952bd6089d91e2a16592c2293e532eeaab8bc77
Consola
Para ver la instancia de base de datos MySQL principal para una réplica de lectura de Aurora
871
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
AWS CLI
Para ver las relaciones de replicación de MySQL con Aurora MySQL de los clústeres de base de datos
de Aurora MySQL mediante AWS CLI, utilice los comandos describe-db-clusters y describe-db-
instances.
Para determinar qué instancia de base de datos MySQL es la instancia principal, utilice describe-db-
clusters y especifique el identificador de clúster de la réplica de lectura de Aurora para la opción --db-
cluster-identifier. Consulte el elemento ReplicationSourceIdentifier de la salida para ver el
ARN de la instancia de base de datos que es la replicación principal.
Para determinar qué clúster de base de datos es la réplica de lectura de Aurora, utilice describe-db-
instances y especifique el identificador de la instancia de base de datos MySQL para la opción --db-
instance-identifier. Consulte el elemento ReadReplicaDBClusterIdentifiers de la salida
para ver el identificador del clúster de base de datos la réplica de lectura de Aurora.
872
Amazon Aurora Guía del usuario de Aurora
Migración desde una instancia de base
de datos MySQL a Aurora MySQL
Example
Para Windows:
Puede comenzar escribiendo en la réplica de lectura de Aurora cuando las transacciones de escritura en
el principal se hayan detenido y el retardo de la réplica sea 0. Si escribe en la réplica de lectura de Aurora
antes de esto y modifica tablas que también se están modificando en el MySQL principal, se arriesga a
interrumpir la replicación en Aurora. Si ocurre esto, tendrá que eliminar y volver a crear la réplica de lectura
de Aurora.
Consola
Para promover una réplica de lectura de Aurora a un clúster de base de datos Aurora
873
Amazon Aurora Guía del usuario de Aurora
Administración de Aurora MySQL
Una vez que se haya completado la promoción, la instancia de base de datos MySQL principal y la réplica
de lectura de Aurora se desvincularán y podrá eliminar sin riesgo la instancia de base de datos si lo desea.
AWS CLI
Para promocionar una réplica de lectura de Aurora a un clúster de base de datos independiente, utilice el
comando promote-read-replica-db-cluster de la AWS CLI.
Example
Para Linux, macOS o Unix:
Para Windows:
Temas
• Administración del rendimiento y el escalado para Amazon Aurora MySQL (p. 874)
• Búsqueda de datos anteriores de un clúster de base de datos de Aurora (p. 878)
• Pruebas de Amazon Aurora por medio de consultas de inserción de errores (p. 894)
• Modificación de las tablas de Amazon Aurora con operaciones DDL rápidas (p. 897)
• Visualización del estado del volumen para un clúster de base de datos de Aurora MySQL (p. 901)
Para escalar el clúster de base de datos de Aurora MySQL, modifique la clase de instancia de base de
datos para cada instancia de base de datos del clúster de base de datos. Aurora MySQL admite varias
874
Amazon Aurora Guía del usuario de Aurora
Administración del rendimiento y el
escalado para Amazon Aurora MySQL
clases de instancia de base de datos optimizadas para Aurora. No utilice las clases de instancia db.t2 o
db.t3 con clústeres de Aurora que tengan más de 40 TB. Para obtener especificaciones de las clases de
instancia de base de datos admitidas por Aurora MySQL, consulte Clases de instancia de base de datos
Aurora (p. 56).
db.t2.small 45
db.t2.medium 90
db.t3.small 45
db.t3.medium 90
db.t3.large 135
db.t4g.medium 90
db.t4g.large 135
db.r3.large 1 000
db.r3.xlarge 2000
db.r3.2xlarge 3 000
db.r3.4xlarge 4000
db.r3.8xlarge 5000
db.r4.large 1 000
db.r4.xlarge 2000
db.r4.2xlarge 3 000
db.r4.4xlarge 4000
db.r4.8xlarge 5000
db.r4.16xlarge 6000
875
Amazon Aurora Guía del usuario de Aurora
Administración del rendimiento y el
escalado para Amazon Aurora MySQL
db.r5.large 1 000
db.r5.xlarge 2000
db.r5.2xlarge 3 000
db.r5.4xlarge 4000
db.r5.8xlarge 5000
db.r5.12xlarge 6000
db.r5.16xlarge 6000
db.r5.24xlarge 7000
db.r6g.large 1 000
db.r6g.xlarge 2000
db.r6g.2xlarge 3 000
db.r6g.4xlarge 4000
db.r6g.8xlarge 5000
db.r6g.12xlarge 6000
db.r6g.16xlarge 6000
db.x2g.large 2000
db.x2g.xlarge 3 000
db.x2g.2xlarge 4000
db.x2g.2xlarge 5000
db.x2g.8xlarge 6000
db.x2g.12xlarge 7000
db.x2g.16xlarge 7000
Si crea un nuevo grupo de parámetros para personalizar su propio límite de conexión predeterminado,
verá que el límite de conexión predeterminado se obtiene mediante una fórmula basada en el valor
DBInstanceClassMemory. Como se muestra en la tabla anterior, la fórmula produce límites de conexión
que aumentan en 1000 a medida que la memoria se duplica entre instancias R3, R4 y R5 cada vez más
grandes, y en 45 para diferentes tamaños de memoria de instancias T2 y T3.
876
Amazon Aurora Guía del usuario de Aurora
Administración del rendimiento y el
escalado para Amazon Aurora MySQL
Las instancias de base de datos de RDS for MySQL y Aurora MySQL tienen distintas cantidades de
sobrecarga de memoria. Por lo tanto, el valor max_connections puede ser diferente para las instancias
de base de datos de RDS for MySQL y Aurora MySQL que utilizan la misma clase de instancia. Los
valores de la tabla sólo se aplican a instancias de base de datos de Aurora MySQL.
Los límites de conectividad mucho más bajos para las instancias T2 y T3 se deben a que en Aurora esas
clases de instancias están pensadas solo para escenarios de desarrollo y pruebas, no para cargas de
trabajo de producción.
Los límites de conexión predeterminados se ajustan para los sistemas que utilizan los valores
predeterminados para otros consumidores de memoria importantes, como el grupo del búfer y la caché
de consultas. Si cambia esas otras configuraciones para el clúster, considere ajustar el límite de conexión
para tener en cuenta el aumento o la disminución de la memoria disponible en las instancias de base de
datos.
En la siguiente tabla se muestra la cantidad máxima de almacenamiento temporal disponible para cada
clase de instancia de base de datos de Aurora MySQL.
db.x2g.16xlarge 1 280
db.x2g.12xlarge 960
db.x2g.8xlarge 640
db.x2g.2xlarge 320
db.x2g.2xlarge 160
db.x2g.xlarge 80
db.x2g.large 40
db.r6g.16xlarge 1 280
db.r6g.12xlarge 960
db.r6g.8xlarge 640
db.r6g.4xlarge 320
db.r6g.2xlarge 160
db.r6g.xlarge 80
db.r6g.large 32
db.r5.24xlarge 1920
db.r5.16xlarge 1 280
877
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
db.r5.12xlarge 960
db.r5.8xlarge 640
db.r5.4xlarge 320
db.r5.2xlarge 160
db.r5.xlarge 80
db.r5.large 32
db.r4.16xlarge 1 280
db.r4.8xlarge 640
db.r4.4xlarge 320
db.r4.2xlarge 160
db.r4.xlarge 80
db.r4.large 32
db.t4g.large 16
db.t4g.medium 16
db.t3.large 32
db.t3.medium 32
db.t3.small 32
db.t2.medium 32
db.t2.small 32
Important
878
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
• Puede deshacer errores con facilidad. Si lleva a cabo una acción destructiva por error, por ejemplo
DELETE sin una cláusula WHERE, puede realizar una búsqueda de datos anteriores del clúster de base
de datos a un momento anterior a la acción destructiva con una interrupción de servicio mínima.
• Puede realizar una búsqueda de datos anteriores en un clúster de base de datos rápidamente. La
restauración de un clúster de base de datos a un momento determinado lanza un nuevo clúster de base
de datos y lo restaura a partir de datos de backup o de una instantánea de clúster de base de datos, lo
que puede tardar horas. La búsqueda de datos anteriores de un clúster de base de datos no requiere un
nuevo clúster de base de datos y rebobina el clúster de base de datos en cuestión de minutos.
• Puede explorar cambios de datos anteriores. Puede realizar búsqueda de datos anteriores de un clúster
de base de datos repetidamente adelante y atrás en el tiempo para ayudar a determinar cuándo se
produjo un cambio de datos particular. Por ejemplo, puede realizar una búsqueda de datos anteriores
de un clúster de base de datos de hace tres horas y, a continuación, realizar la búsqueda de datos
anteriores hacia adelante en el tiempo una hora. En este caso, el tiempo de búsqueda de datos
anteriores es dos horas antes de la hora original.
Note
• La ventana de búsqueda de datos anteriores de destino es la cantidad de tiempo que desea poder
realizar búsqueda de datos anteriores en su clúster de base de datos. Cuando habilita la búsqueda
de datos anteriores, especifica una ventana de búsqueda de datos anteriores de destino. Por ejemplo,
podría especificar una ventana de búsqueda de datos anteriores de 24 horas si desea poder realizar la
búsqueda de datos anteriores del clúster de base de datos un día.
• La ventana de búsqueda de datos anteriores real es la cantidad de tiempo real en la que puede realizar
búsqueda de datos anteriores en su clúster de base de datos, que puede ser inferior a la de la ventana
de búsqueda de datos anteriores de destino. La ventana de búsqueda de datos anteriores real se basa
en su carga de trabajo y en el almacenamiento disponible para información de almacenamiento sobre
cambios de base de datos, denominados registros de cambio.
A medida que actualiza su clúster de base de datos de Aurora con la búsqueda de datos anteriores
habilitada, genera registros de cambios. Aurora mantiene los registros de cambios del periodo de
búsqueda de datos anteriores de destino y paga una tarifa por hora para almacenarlos. Tanto la ventana
de búsqueda de datos anteriores de destino como la carga de trabajo de su clúster de base de datos
determinan el número de registros de cambio que puede almacenar. La carga de trabajo es el número de
cambios que realiza en su clúster de base de datos en un período de tiempo dado. Si la carga de trabajo
es pesada, almacena más registros de cambio en su ventana de búsqueda de datos anteriores de la que
tendría si la carga de trabajo fuera ligera.
Puede entender la ventana de búsqueda de datos anteriores de destino como el objetivo para la cantidad
de tiempo máxima que desea poder realizar la búsqueda de datos anteriores en su clúster de base de
879
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
datos. En la mayoría de los casos, puede realizar una búsqueda de datos anteriores del período de
tiempo máximo que haya especificado. No obstante, en algunos casos, el clúster de base de datos no
puede almacenar suficientes registros de cambio para realizar la búsqueda de datos anteriores durante el
período de tiempo máximo y la ventana de búsqueda de datos anteriores real es inferior a la de destino.
Normalmente, la ventana de búsqueda de datos anteriores real es más pequeña que el destino cuando se
tiene una carga de trabajo extremadamente pesada en el clúster de base de datos. Cuando la ventana de
búsqueda de datos anteriores real es inferior al destino, le enviamos una notificación.
Cuando la búsqueda de datos anteriores está habilitada para un clúster de base de datos y elimina una
tabla almacenada en el clúster de base de datos, Aurora mantiene dicha tabla en los registros de cambio
de búsqueda de datos anteriores. Lo hace para que pueda volver a un momento anterior a la eliminación
de la tabla. Si no tiene espacio suficiente en su ventana de búsqueda de datos anteriores para almacenar
la tabla, la tabla podría acabar por eliminarse de los registros de cambios de búsqueda de datos anteriores.
880
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
borra las lecturas y escrituras sin confirmar. A continuación, espera a que se complete la operación de
búsqueda de datos anteriores.
• La operación de búsqueda de datos anteriores no es compatible con las siguientes regiones de AWS:
• Africa (Cape Town)
• China (Ningxia)
• Asia Pacific (Hong Kong)
• Europe (Milan)
• Europe (Stockholm)
• Middle East (Bahrain)
• América del Sur (São Paulo)
• No puede restaurar una instantánea entre regiones de un clúster habilitado para una búsqueda de datos
anteriores en una región de AWS que no admita una búsqueda de datos anteriores.
• No puede utilizar Blacktrack con clústeres multimaestro de Aurora.
• Si realiza una actualización en el lugar para un clúster habilitado para la búsqueda de datos anteriores
desde la versión 1 Aurora MySQL a la versión 2, no podrá realizar un retroceso a un punto en el tiempo
anterior a la actualización.
• Solo puede restaurar una instantánea del clúster de base de datos de Aurora MySQL 1.* con una versión
compatible con la búsqueda de datos anteriores de Aurora MySQL 2.*.
• Solo puede realizar una recuperación a un momento dado en el clúster de base de datos de Aurora
MySQL 1.* para restaurarla a una versión compatible con la búsqueda de datos anteriores de Aurora
MySQL 2.*.
Estos requisitos de actualización se siguen aplicando incluso si desactiva la búsqueda de datos anteriores
para el clúster de Aurora MySQL 1.*.
Para el periodo de búsqueda de datos anteriores de destino, especifique la cantidad de tiempo que
desea poder rebobinar la base de datos mediante la búsqueda de datos anteriores. Aurora intenta retener
suficientes registros de cambio para admitir ese periodo.
Consola
Puede utilizar la consola para configurar la búsqueda de datos anteriores cuando se crea un nuevo clúster
de base de datos. También puede modificar un clúster de base de datos para cambiar la ventana de
retroceso de un clúster habilitado para backtrack. Si desactiva el seguimiento de retroceso completo para
881
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
un clúster al establecer la ventana de retroceso en 0, no podrá volver a habilitar el retroceso para ese
clúster.
Temas
• Configuración de la búsqueda de datos anteriores con la consola al crear un clúster de base de
datos (p. 882)
• Configuración de la búsqueda de datos anteriores con la consola al modificar un clúster de base de
datos (p. 882)
Para crear un clúster de base de datos, siga las instrucciones en Creación de un clúster de base de
datos de Amazon Aurora (p. 136). La imagen siguiente muestra la sección Backtrack (Búsqueda de datos
anteriores).
Cuando se crea un nuevo clúster de base de datos, Aurora no tiene ningún dato para la carga de trabajo
del clúster de base de datos. Por tanto, no puede estimar un costo específicamente para el nuevo clúster
de base de datos. En lugar de ello, la consola presenta un costo de usuario típico para la ventana de
búsqueda de datos anteriores de destino basado en una carga de trabajo típica. El costo típico tiene como
objetivo proporcionar una referencia general para el costo de la característica de búsqueda de datos
anteriores.
Important
El costo real podría no coincidir con el costo típico, ya que el costo real se basa en la carga de
trabajo de su clúster de base de datos.
882
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
Note
Actualmente, puede modificar el backtracking solo para un clúster de base de datos que tenga
habilitada la característica Backtrack. La sección Backtrack no aparece para un clúster de base de
datos creado con la característica Backtrack deshabilitada o si la característica Backtrack se ha
deshabilitado para el clúster de base de datos.
La consola muestra el costo estimado para la cantidad de tiempo que ha especificado en función de la
carga de trabajo pasada del clúster de base de datos:
• Apply during the next scheduled maintenance window (Aplicar durante la próxima ventana
de mantenimiento programada): espere para aplicar la modificación de Target Backtrack
window (Ventana de búsqueda de datos anteriores de destinos) hasta la próxima ventana de
mantenimiento.
• Apply immediately (Aplicar inmediatamente): aplique la modificación de Target Backtrack window
(Ventana de búsqueda de datos anteriores de destino) lo antes posible.
7. Elija Modify Cluster (Modificar clúster).
883
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
AWS CLI
Cuando se crea un nuevo clúster de base de datos de Aurora MySQL con el comando create-db-cluster
de la CLI de AWS, la búsqueda de datos anteriores se configura cuando se especifica un valor --
backtrack-window mayor que cero. El valor --backtrack-window especifica la ventana de búsqueda
de datos anteriores de destino. Para obtener más información, consulte Creación de un clúster de base de
datos de Amazon Aurora (p. 136).
También puede especificar el valor --backtrack-window con los siguientes comandos de la CLI de
AWS:
• modify-db-cluster
• restore-db-cluster-from-s3
• restore-db-cluster-from-snapshot
• restore-db-cluster-to-point-in-time
El siguiente procedimiento describe cómo modificar la ventana de búsqueda de datos anteriores de destino
para un clúster de base de datos utilizando la AWS CLI.
Para modificar la ventana de búsqueda de datos anteriores de destino para un clúster de base de
datos utilizando la AWS CLI
Para Windows:
Note
Actualmente, puede habilitar la búsqueda de datos anteriores solo para un clúster de base de
datos que se creó con la característica de búsqueda de datos anteriores habilitada.
API de RDS
Cuando se crea un nuevo clúster de base de datos de Aurora MySQL utilizando la operación
CreateDBCluster de la API de Amazon RDS, la búsqueda de datos anteriores se configura cuando se
884
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
También puede especificar el valor BacktrackWindow utilizando las siguientes operaciones de la API:
• ModifyDBCluster
• RestoreDBClusterFromS3
• RestoreDBClusterFromSnapshot
• RestoreDBClusterToPointInTime
Note
Actualmente, puede habilitar la búsqueda de datos anteriores solo para un clúster de base de
datos que se creó con la característica de búsqueda de datos anteriores habilitada.
En caso contrario, se suele producir un error. Además, si intenta realizar una búsqueda de datos anteriores
en un clúster de base de datos para el que está habilitado el registro binario, suele producirse un error
normalmente, a menos que haya elegido forzar la búsqueda de datos anteriores. El forzado de una
búsqueda de datos anteriores puede interferir con otras operaciones que utilicen el registro binario.
Important
La búsqueda de datos anteriores no genera entradas de log binario para los cambios que realiza.
Si tiene habilitado el registro binario para el clúster de base de datos, la búsqueda de datos
anteriores podría no ser compatible con la implementación de log binario.
Note
Para los clones de base de datos, no puede realizar una búsqueda de datos anteriores del clúster
de base de datos antes de la fecha y hora en la que se creó el clon. Para obtener más información
acerca de la clonación de la base de datos, consulte Clonación de un volumen de clúster de base
de datos de Aurora (p. 440).
Consola
El siguiente procedimiento describe cómo realizar una operación de búsqueda de datos anteriores para un
clúster de base de datos utilizando la consola.
885
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
6. Elija Backtrack DB cluster (Realizar búsqueda de datos anteriores en clúster de base de datos).
AWS CLI
El siguiente procedimiento describe cómo realizar una búsqueda de datos anteriores en un clúster de base
de datos usando la AWS CLI.
Para realizar una búsqueda de datos anteriores de un clúster de base de datos utilizando la AWS
CLI
El siguiente ejemplo realiza una búsqueda de datos anteriores en el clúster de base de datos
sample-cluster el 19 de marzo de 2018 a las 10:00 h.
Para Windows:
886
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
API de RDS
Para realizar una búsqueda de datos anteriores en un clúster de base de datos utilizando la API de
Amazon RDS, utilice la acción BacktrackDBCluster. Esta acción realiza una búsqueda de datos anteriores
en el clúster de base de datos especificado en el valor DBClusterIdentifier a la hora especificada.
Consola
Cuando la búsqueda de datos anteriores está habilitada, está disponible la información siguiente:
• Target window (Ventana de destino): la cantidad de tiempo actual especificada para la ventana de
búsqueda de datos anteriores de destino. El objetivo es la cantidad de tiempo máxima que puede
realizar la búsqueda de datos anteriores si hay suficiente almacenamiento.
• Actual window (Ventana real): la cantidad de tiempo real que puede realizar la búsqueda de
datos anteriores, que puede ser inferior a la ventana de búsqueda de datos anteriores de
destino. La ventana de búsqueda de datos anteriores real se basa en su carga de trabajo y en
el almacenamiento disponible para mantener los registros de cambio de búsqueda de datos
anteriores.
• Earliest backtrack time (Tiempo de búsqueda de datos anteriores más temprano): el tiempo de
búsqueda de datos anteriores más temprano posible para el clúster de base de datos. No puede
realizar una búsqueda de datos anteriores de un clúster de base de datos de un momento anterior
al tiempo mostrado.
4. Realice lo siguiente para ver las métricas de búsqueda de datos anteriores del clúster de base de
datos:
887
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
b. Elija el nombre de la instancia principal del clúster de base de datos para mostrar sus detalles.
c. En la sección CloudWatch, escriba Backtrack en el recuadro CloudWatch para mostrar solo las
métricas de búsqueda de datos anteriores.
• Backtrack Change Records Creation Rate (Count) [Tasa de creación de registros de cambio
de búsqueda de datos anteriores (Recuento)]: esta métrica muestra el número de registros
de cambio de búsqueda de datos anteriores creados durante cinco minutos para su clúster
de base de datos. Puede utilizar esta métrica para estimar el costo de búsqueda de datos
anteriores de su ventana de búsqueda de datos anteriores de destino.
• [Billed] Backtrack Change Records Stored (Count) ([Facturado] Registros de cambio de
búsqueda de datos anteriores almacenados [Recuento]): esta métrica muestra el número real
de registros de cambio de búsqueda de datos anteriores utilizados por su clúster de base de
datos.
• Backtrack Window Actual (Minutes) [Ventana de búsqueda de datos anteriores real (Minutos)]:
esta métrica muestra si hay una diferencia entre la ventana de búsqueda de datos anteriores
de destino y la ventana de búsqueda de datos anteriores real. Por ejemplo, si su ventana de
búsqueda de datos anteriores de destino es de 2 horas (120 minutos) y esta métrica muestra
888
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
que la ventana de búsqueda de datos anteriores real es de 100 minutos, entonces la ventana
de búsqueda de datos anteriores real es inferior al destino.
• Backtrack Window Alert (Count) [Alerta de ventana de búsqueda de datos anteriores
(Recuento)]: esta métrica muestra con qué frecuencia la ventana de búsqueda de datos
anteriores real es inferior a la ventana de búsqueda de datos anteriores de destino para un
período de tiempo dado.
Note
AWS CLI
El siguiente procedimiento describe cómo ver la información de búsqueda de datos anteriores para un
clúster de base de datos utilizando la AWS CLI.
Para ver la información de búsqueda de datos anteriores de un clúster de base de datos utilizando
AWS CLI
Para Windows:
API de RDS
Para ver la información de búsqueda de datos anteriores para un clúster de base de datos
utilizando la API de Amazon RDS, utilice la operación DescribeDBClusters. Esta acción devuelve la
información de búsqueda de datos anteriores para el clúster de base de datos especificado en el valor
DBClusterIdentifier.
889
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
890
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
891
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
AWS CLI
El siguiente procedimiento describe cómo recuperar las búsquedas de datos anteriores existentes para un
clúster de base de datos utilizando la AWS CLI.
Para Windows:
API de RDS
Para recuperar información sobre las búsquedas de datos anteriores para un clúster de base de datos
utilizando la API de Amazon RDS, utilice la operación DescribeDBClusterBacktracks. Esta acción devuelve
la información acerca de las búsquedas de datos anteriores para el clúster de base de datos especificado
en el valor DBClusterIdentifier.
892
Amazon Aurora Guía del usuario de Aurora
Búsqueda de datos anteriores
de un clúster de base de datos
Consola
Puede deshabilitar la búsqueda de datos anteriores de un clúster de base de datos utilizando la consola.
Después de desactivar el seguimiento de retroceso completo para un clúster, no podrá volver a habilitarlo
para ese clúster.
• Apply during the next scheduled maintenance window (Aplicar durante la próxima ventana de
mantenimiento programada): espere para aplicar la modificación hasta la próxima ventana de
mantenimiento.
• Apply immediately (Aplicar inmediatamente): aplique la modificación lo antes posible.
7. Elija Modify Cluster (Modificar clúster).
AWS CLI
Para modificar la ventana de búsqueda de datos anteriores de destino para un clúster de base de
datos utilizando la AWS CLI
Para Windows:
893
Amazon Aurora Guía del usuario de Aurora
Pruebas de Amazon Aurora por medio
de consultas de inserción de errores
--backtrack-window 0
API de RDS
Para deshabilitar la característica de búsqueda de datos anteriores de un clúster de base de
datos utilizando la API de Amazon RDS, utilice la operación ModifyDBCluster. Establezca el
valor BacktrackWindow en 0 (cero) y especifique el clúster de base de datos en el valor
DBClusterIdentifier. Después de desactivar el seguimiento de retroceso completo para un clúster, no
podrá volver a habilitarlo para ese clúster.
Cuando una consulta de inserción de errores especifica un bloqueo, fuerza un bloqueo de la instancia de
base de datos de Aurora. Las otras consultas de inserción de errores producen simulaciones de eventos
de error, pero no hacen que el evento ocurra. Cuando se envía una consulta de inserción de errores, se
especifica también la cantidad de tiempo que debe durar la simulación del evento de error.
Puede enviar una consulta de inserción de errores a una de las instancias de réplica de Aurora
conectándose al punto de enlace de la réplica de Aurora. Para obtener más información, consulte
Administración de conexiones de Amazon Aurora (p. 34).
En esta consulta de inserción de errores no se produce una conmutación por error. Si quiere probar una
conmutación por error, puede elegir la acción de instancia Failover (Conmutación por error) para el clúster
de base de datos en la consola de RDS o usar el comando failover-db-cluster de AWS CLI o la operación
FailoverDBCluster de la API de RDS.
Sintaxis
ALTER SYSTEM CRASH [ INSTANCE | DISPATCHER | NODE ];
Opciones
La consulta de inserción de errores toma uno de los siguientes tipos de bloqueos:
• INSTANCE — se simula un bloqueo de la base de datos compatible con MySQL para la instancia de
Amazon Aurora.
• DISPATCHER — se simula un bloqueo del distribuidor de la instancia de escritor del clúster de base de
datos de Aurora. El distribuidor escribe actualizaciones en el volumen de clúster de un clúster de base
de datos Amazon Aurora.
894
Amazon Aurora Guía del usuario de Aurora
Pruebas de Amazon Aurora por medio
de consultas de inserción de errores
• NODE — se simula un bloqueo de la base de datos compatible con MySQL y del distribuidor para la
instancia de Amazon Aurora. En esta simulación de inserción de errores también se elimina la caché.
Un error de réplica de Aurora bloqueará todas las solicitudes realizadas a una réplica de Aurora o a todas
las réplicas de Aurora del clúster de base de datos durante un intervalo de tiempo especificado. Cuando se
complete el intervalo de tiempo, las réplicas de Aurora afectadas se sincronizarán automáticamente con la
instancia maestra.
Sintaxis
Opciones
Esta consulta de inserción de errores toma los siguientes parámetros:
Debe tener cuidado al especificar el intervalo de tiempo del evento de error de la réplica de
Aurora. Si especifica un intervalo de tiempo demasiado largo y la instancia de escritor escribe
una gran cantidad de datos durante el evento de error, su clúster de base de datos de Aurora es
posible que asuma que la réplica de Aurora se ha bloqueado y reemplazarla.
Durante la simulación de un error de disco, el clúster de base de datos de Aurora marca de forma aleatoria
los segmentos de disco como defectuosos. Las solicitudes que lleguen a esos segmentos se bloquearán
mientras dure la simulación.
Sintaxis
895
Amazon Aurora Guía del usuario de Aurora
Pruebas de Amazon Aurora por medio
de consultas de inserción de errores
Opciones
Esta consulta de inserción de errores toma los siguientes parámetros:
• percentage_of_failure — el porcentaje del disco que se debe marcar como defectuoso durante el
evento de error. Puede ser un valor doble entre 0 y 100. Si se especifica 0, ninguna parte del disco se
marca como defectuosa. Si se especifica 100, todo el disco se marca como defectuoso.
• DISK index — un bloque lógico de datos concreto para el que se debe simular el evento de error. Si se
sobrepasa el rango de bloques de datos lógicos disponibles, aparece un error que indica el valor máximo
del índice que se puede especificar. Para obtener más información, consulte Visualización del estado del
volumen para un clúster de base de datos de Aurora MySQL (p. 901).
• NODE index — un nodo de almacenamiento concreto para el que se debe simular el evento de error.
Si se sobrepasa el rango de nodos de almacenamiento disponibles, aparece un error que indica el valor
máximo del índice que se puede especificar. Para obtener más información, consulte Visualización del
estado del volumen para un clúster de base de datos de Aurora MySQL (p. 901).
• quantity — la cantidad de tiempo que debe durar la simulación del error de disco. El intervalo es
una cantidad seguida por una unidad de tiempo. La simulación durará esa cantidad de la unidad
especificada. Por ejemplo, 20 MINUTE hará que la simulación se ejecute durante 20 minutos.
Durante la simulación de congestión del disco, el clúster de base de datos de Aurora marca de forma
aleatoria los segmentos de disco como congestionados. Las solicitudes que lleguen a esos segmentos se
retrasarán entre el mínimo especificado y el tiempo de demora máximo mientras dure la simulación.
Sintaxis
Opciones
Esta consulta de inserción de errores toma los siguientes parámetros:
• percentage_of_failure — el porcentaje del disco que se debe marcar como congestionado durante
el evento de error. Puede ser un valor doble entre 0 y 100. Si se especifica 0, ninguna parte del disco se
marca como congestionada. Si se especifica 100, todo el disco se marca como congestionado.
• DISK index o NODE index: un disco o nodo concreto para el que se debe simular el evento de error.
Si se sobrepasa el rango de índices para el disco o el nodo, aparece un error que indica el valor máximo
del índice que se puede especificar.
• minimum y maximum: la cantidad mínima y máxima de demora de la congestión en milisegundos. Los
segmentos de disco marcados como congestionados se retrasarán una cantidad de tiempo aleatoria del
rango comprendido entre la cantidad mínima y máxima de milisegundos mientras dure la simulación.
• quantity — la cantidad de tiempo durante la que se debe simular la congestión del disco. El intervalo
es una cantidad seguida por una unidad de tiempo. La simulación durará esa cantidad de la unidad de
tiempo especificada. Por ejemplo, 20 MINUTE hará que la simulación se ejecute durante 20 minutos.
896
Amazon Aurora Guía del usuario de Aurora
Modificación de las tablas de Amazon
Aurora con operaciones DDL rápidas
Aurora MySQL versión 3 es compatible con la característica de MySQL 8.0 llamada DDL instantáneo. Las
versiones 1 y 2 de Aurora MySQL utilizan una implementación diferente denominada DDL rápida.
Temas
• DDL instantáneo (Aurora MySQL versión 3) (p. 897)
• DDL rápido (Aurora MySQL versiones 1 y 2) (p. 898)
Aurora MySQL versión 3 es compatible con el DDL instantáneo de la comunidad MySQL 8.0. Realice una
operación DDL instantánea mediante la cláusula ALGORITHM=INSTANT con la instrucción ALTER TABLE.
Para obtener información sobre la sintaxis y el uso de DDL instantáneo, consulte ALTER TABLE (Modificar
tabla) y Online DDL Operations (Operaciones DDL en línea) en la documentación de MySQL.
En los siguientes ejemplos se muestra la característica DDL instantánea. Las instrucciones ALTER TABLE
crean y eliminan índices, agregan columnas y cambian los valores de columnas predeterminados. Los
ejemplos incluyen columnas regulares y virtuales, así como tablas regulares y particionadas. En cada
paso, puede ver los resultados, para ello, emita las instrucciones SHOW CREATE TABLE y DESCRIBE.
mysql> ALTER TABLE t1 DROP KEY b, ADD KEY b(b) USING BTREE, ALGORITHM = INSTANT;
Query OK, 0 rows affected (0.01 sec)
mysql> ALTER TABLE t2 ALTER COLUMN b SET DEFAULT 100, ALGORITHM = INSTANT;
Query OK, 0 rows affected (0.00 sec)
mysql> ALTER TABLE t2 ADD COLUMN c ENUM('a', 'b', 'c'), ALGORITHM = INSTANT;
Query OK, 0 rows affected (0.01 sec)
mysql> ALTER TABLE t2 MODIFY COLUMN c ENUM('a', 'b', 'c', 'd', 'e'), ALGORITHM = INSTANT;
Query OK, 0 rows affected (0.01 sec)
mysql> ALTER TABLE t2 ADD COLUMN (d INT GENERATED ALWAYS AS (a + 1) VIRTUAL), ALGORITHM =
INSTANT;
Query OK, 0 rows affected (0.02 sec)
897
Amazon Aurora Guía del usuario de Aurora
Modificación de las tablas de Amazon
Aurora con operaciones DDL rápidas
mysql> ALTER TABLE t3 ALTER COLUMN a SET DEFAULT 20, ALTER COLUMN b SET DEFAULT 200,
ALGORITHM = INSTANT;
Query OK, 0 rows affected (0.01 sec)
/* Sub-partitioning example */
mysql> CREATE TABLE ts (id INT, purchased DATE, a INT, b INT)
-> PARTITION BY RANGE( YEAR(purchased) )
-> SUBPARTITION BY HASH( TO_DAYS(purchased) )
-> SUBPARTITIONS 2 (
-> PARTITION p0 VALUES LESS THAN (1990),
-> PARTITION p1 VALUES LESS THAN (2000),
-> PARTITION p2 VALUES LESS THAN MAXVALUE
-> );
Query OK, 0 rows affected (0.10 sec)
En MySQL, muchas operaciones de lenguaje de definición de datos (DDL) tienen un impacto considerable
en el desempeño.
Por ejemplo, supongamos que usa una operación ALTER TABLE para agregar una columna a una tabla.
En función del algoritmo especificado para la operación, esta puede incluir los siguientes pasos:
La optimización realizada por Aurora MySQL versiones 1 y 2 para mejorar la eficiencia de algunas
operaciones de DDL se denomina DDL rápido.
En Aurora MySQL versión 3, Aurora utiliza la característica de MySQL 8.0 llamada DDL instantáneo. Las
versiones 1 y 2 de Aurora MySQL utilizan una implementación diferente denominada DDL rápida.
898
Amazon Aurora Guía del usuario de Aurora
Modificación de las tablas de Amazon
Aurora con operaciones DDL rápidas
Important
Actualmente, el modo lab de Aurora debe estar habilitado para usar el lenguaje DDL rápido para
Aurora MySQL. No recomendamos utilizar el lenguaje DDL rápido para los clústeres de base
de datos de producción. Para obtener información sobre cómo habilitar el modo lab de Aurora,
consulte Modo lab de Amazon Aurora MySQL (p. 1116).
• El DDL rápido solo admite la adición de columnas que puedan contener valores nulos, sin valores
predeterminados, al final de una tabla existente.
• El DDL rápido no funciona para tablas particionadas.
• El DDL rápido no funciona para las tablas de InnoDB que usan el formato de fila REDUNDANT.
• El DDL rápido no funciona para las tablas con índices de búsqueda de texto completo.
• Si el tamaño máximo posible de registro para la operación DDL es demasiado grande, no se utiliza el
lenguaje DDL rápido. Un tamaño de registro es demasiado grande si es superior a la mitad del tamaño
de la página. El tamaño máximo de un registro se computa sumando los tamaños máximos de todas las
columnas. Para columnas de tamaño variable, según estándares de InnoDB, los bytes externos no se
incluyen para computación.
Note
Debe especificar una definición de columna que pueda tener valores nulos sin un valor
predeterminado. De lo contrario, no se usa el lenguaje DDL rápido.
En este ejemplo se utiliza la tabla ORDERS del punto de referencia TPC-H, que contiene 150 millones de
filas. Este clúster utiliza intencionalmente una clase de instancia relativamente pequeña, para demostrar
cuánto tiempo pueden tomar las instrucciones ALTER TABLE cuando no se puede usar DDL rápido. En
el ejemplo se crea un clon de la tabla original que contiene datos idénticos. Al comprobar la configuración
aurora_lab_mode se confirma que el clúster no puede usar DDL rápido, ya que el modo de laboratorio
899
Amazon Aurora Guía del usuario de Aurora
Modificación de las tablas de Amazon
Aurora con operaciones DDL rápidas
no está habilitado. A continuación, las instrucciones ALTER TABLE ADD COLUMN tardan mucho tiempo en
agregar nuevas columnas al final de la tabla.
Este ejemplo realiza la misma preparación de una tabla grande que el ejemplo anterior. Sin embargo,
no puede simplemente habilitar el modo de laboratorio dentro de una sesión SQL interactiva. Esa
configuración debe estar habilitada en un grupo de parámetros personalizado. Para ello, es necesario salir
de la mysql sesión y ejecutar algunos AWS comandos de la CLI o utilizar el AWS Management Console.
Habilitar el modo de laboratorio para el clúster requiere algo de trabajo con un grupo de parámetros. En
este ejemplo de la CLI de AWS, se utiliza un grupo de parámetros de clúster a fin de asegurarse de que
todas las instancias de base de datos del clúster utilicen el mismo valor para la configuración del modo de
laboratorio.
# Assign the custom parameter group to the cluster that's going to use fast DDL.
$ aws rds modify-db-cluster --db-cluster-identifier tpch100g \
--db-cluster-parameter-group-name lab-mode-enabled-56
{
"DBClusterIdentifier": "tpch100g",
"DBClusterParameterGroup": "lab-mode-enabled-56",
900
Amazon Aurora Guía del usuario de Aurora
Visualización del estado del volumen para
un clúster de base de datos de Aurora
"Engine": "aurora",
"EngineVersion": "5.6.mysql_aurora.1.22.2",
"Status": "available"
}
En el ejemplo siguiente se muestran los pasos restantes después de que surta efecto el cambio de grupo
de parámetros. Prueba la configuración aurora_lab_mode para asegurarse de que el clúster puede usar
DDL rápido. Luego ejecuta las instrucciones ALTER TABLE para agregar columnas al final de otra tabla
grande. Esta vez, las instrucciones terminan muy rápidamente.
Los datos de cada grupo de protección se replican en seis dispositivos de almacenamiento físicos
denominados nodos de almacenamiento. Estos nodos de almacenamiento se distribuyen entre tres zonas
de disponibilidad (AZ) en la región de AWS en la que reside el clúster de base de datos. A su vez, cada
nodo de almacenamiento contiene uno o varios bloques lógicos de datos para el volumen del clúster
de base de datos. Para obtener más información acerca de los grupos de protección y los nodos de
almacenamiento, consulte Introducing the Aurora Storage Engine en el Blog de base de datos de AWS.
Puede simular el error de un nodo de almacenamiento completo o de un único bloque lógico de datos
de un nodo de almacenamiento. Para ello, use la instrucción de inserción de errores ALTER SYSTEM
SIMULATE DISK FAILURE. Para la instrucción, especifique el valor del índice de un bloque lógico de
datos o nodo de almacenamiento concreto. Sin embargo, si especifica un valor de índice mayor que
el número de bloques lógicos de datos o los nodos de almacenamiento utilizados por el volumen de
901
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos
de espera y estados de subprocesos
clúster de base de datos, la instrucción devuelve un error. Para obtener más información acerca de las
consultas de inserción de errores, vea Pruebas de Amazon Aurora por medio de consultas de inserción de
errores (p. 894).
Puede evitar ese error usando la instrucción SHOW VOLUME STATUS. La instrucción devuelve dos
variables de estado de servidor, Disks y Nodes. Estas variables representan el número total de bloques
lógicos de datos y nodos de almacenamiento, respectivamente, para el volumen de clúster de base de
datos.
Note
La instrucción SHOW VOLUME STATUS está disponible para las versiones 1.12 y posteriores
de Aurora. Para obtener más información acerca de las versiones de Aurora, consulte
Actualizaciones del motor de base de datos de Amazon Aurora MySQL (p. 1170).
Sintaxis
SHOW VOLUME STATUS
Ejemplo
El ejemplo siguiente muestra un resultado típico de SHOW VOLUME STATUS.
Los eventos de espera y los estados de subprocesos de esta sección son específicos de Aurora
MySQL. Utilice la información de este capítulo solo para ajustar Amazon Aurora, no Amazon RDS
for MySQL.
Algunos eventos de espera de este capítulo no tienen un equivalente en las versiones de código
abierto de estos motores de base de datos. Otros eventos de espera tienen los mismos nombres
que los eventos en los motores de código abierto, pero se comportan de forma diferente. Por
ejemplo, el almacenamiento de Amazon Aurora funciona de forma diferente al almacenamiento
de código abierto, por lo que los eventos de espera relacionados con el almacenamiento indican
condiciones de recursos diferentes.
Temas
• Conceptos esenciales para el ajuste de Aurora MySQL (p. 903)
902
Amazon Aurora Guía del usuario de Aurora
Conceptos esenciales para el ajuste de Aurora MySQL
Temas
• Eventos de espera de Aurora MySQL (p. 903)
• Estados del subproceso Aurora MySQL (p. 903)
• Memoria de Aurora MySQL (p. 904)
• Procesos de Aurora MySQL (p. 904)
• Acceso de subproceso único a un búfer, por ejemplo, cuando una sesión intenta modificar un búfer
• Una fila bloqueada actualmente por otra sesión
• Lectura de un archivo de datos
• Escritura de un archivo de registro
Por ejemplo, para satisfacer una consulta, la sesión podría hacer un escaneo de tabla completo. Si los
datos ya no están en la memoria, la sesión espera a que se complete la E/S del disco. Cuando los búferes
se leen en la memoria, es posible que la sesión tenga que esperar porque otras sesiones tienen acceso
a los mismos búferes. La base de datos registra las esperas mediante un evento de espera predefinido.
Estos eventos se agrupan en categorías.
Un evento de espera no muestra por sí solo un problema de rendimiento. Por ejemplo, si los datos
solicitados no están en memoria, es necesario leer los datos del disco. Si una sesión bloquea una fila para
una actualización, otra sesión espera a que se desbloquee la fila para poder actualizarla. Una confirmación
requiere un tiempo de espera para que se complete la escritura en un archivo de registro. Las esperas
forman parte del funcionamiento normal de una base de datos.
Un gran número de eventos de espera suele mostrar un problema de rendimiento. En estos casos, se
pueden utilizar los datos de los eventos de espera para determinar en qué se gastan las sesiones. Por
ejemplo, si un informe que normalmente se ejecuta en minutos ahora se ejecuta durante horas, puede
identificar los eventos de espera que más contribuyen al tiempo total de espera. Si puede determinar las
causas de los principales eventos de espera, a veces puede hacer cambios que mejoren el rendimiento.
Por ejemplo, si la sesión se encuentra a la espera de una fila que ha sido bloqueada por otra sesión, puede
terminar la sesión de bloqueo.
903
Amazon Aurora Guía del usuario de Aurora
Conceptos esenciales para el ajuste de Aurora MySQL
Puede utilizar estados de subprocesos para ajustar Aurora MySQL de forma similar a la forma en que
utiliza los eventos de espera. Por ejemplo, apariciones frecuentes de sending data suelen indicar que
una consulta no utiliza un índice. Para obtener más información acerca de los estados de los subprocesos,
consulte Estados generales de subprocesos en el Manual de referencia de MySQL.
• Performance Schema activado: Aurora MySQL muestra los eventos de espera en lugar del estado de
subprocesos.
• Performance Schema desactivado: Aurora MySQL muestra los estados de subprocesos.
Temas
• Grupo de búferes (p. 904)
Grupo de búferes
El grupo de búferes es el área de memoria compartida en la que Aurora MySQL almacena en caché los
datos de tabla e índice. Las consultas pueden acceder a los datos de uso frecuente directamente desde la
memoria sin leer desde el disco.
El grupo de búferes está estructurado como una lista vinculada de páginas. Una página puede contener
varias filas. Aurora MySQL utiliza un algoritmo menos usado recientemente (LRU) para determinar cuáles
son las páginas del grupo más antiguas.
Para obtener más información, consulte Buffer Pool (Grupo de búferes) en el Manual de referencia de
MySQL.
Temas
• Servidor MySQL (mysqld) (p. 904)
• Threads (p. 905)
• Grupo de subprocesos (p. 905)
Cuando se inicia el servidor MySQL, escucha las conexiones de red de los clientes de MySQL. Cuando un
cliente se conecta a la base de datos, mysqld abre un subproceso.
904
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Threads
Los subprocesos del administrador de conexiones asocian cada conexión de cliente con un subproceso
dedicado. Este subproceso administra la autenticación, ejecuta instrucciones y devuelve los resultados al
cliente. El administrador de conexiones crea nuevos subprocesos cuando es necesario.
Grupo de subprocesos
El grupo de subprocesos consta de varios grupos de subprocesos. Cada grupo administra un conjunto
de conexiones de clientes. Cuando un cliente se conecta a la base de datos, el grupo de subprocesos
asigna las conexiones a los grupos de subprocesos de forma rotativa. El grupo de subprocesos separa
las conexiones y los subprocesos. No existe una relación fija entre las conexiones y los subprocesos que
ejecutan las instrucciones que se reciben de esas conexiones.
cpu (p. 906) Este evento ocurre cuando un subproceso está activo
en la CPU o espera por la CPU.
io/aurora_redo_log_flush (p. 909) Este evento se produce cuando una sesión escribe
datos persistentes en el almacenamiento de Aurora.
905
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
synch/mutex/innodb/fil_system_mutex (p. 935) Este evento se produce cuando una sesión está a la
espera para acceder a la memoria caché de memoria
del espacio de tabla.
synch/mutex/innodb/trx_sys_mutex (p. 937) Este evento se produce cuando hay una elevada
actividad de la base de datos con un gran número de
transacciones.
synch/sxlock/innodb/hash_table_locks (p. 941) Este evento se produce cuando se deben leer desde un
archivo páginas que no se encuentran en el grupo de
búferes.
cpu
El evento de espera de cpu ocurre cuando un subproceso se encuentra activo en la CPU o en espera de
la misma.
Temas
• Versiones del motor admitidas (p. 906)
• Contexto (p. 906)
• Causas probables del aumento de las esperas (p. 907)
• Acciones (p. 907)
Contexto
Una conexión puede ejecutar trabajos en esta CPU para cada vCPU. En determinadas situaciones, el
número de conexiones activas que están listas para ejecutarse es mayor que el número de vCPU. Este
desequilibrio provoca conexiones a la espera de recursos de CPU. Si el número de conexiones activas
permanece es constantemente superior al número de vCPUs, la instancia experimenta contención de CPU.
La contención hace que se produzca el evento de espera cpu.
Note
Las métricas del sistema operativo de Información sobre rendimiento proporcionan información detallada
sobre la utilización de la CPU. Por ejemplo, puede mostrar las siguientes métricas:
• os.cpuUtilization.nice.avg
• os.cpuUtilization.total.avg
906
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
• os.cpuUtilization.wait.avg
• os.cpuUtilization.idle.avg
Información sobre rendimiento informa del uso de la CPU por parte del motor de base de datos como
os.cpuUtilization.nice.avg.
• Consultas analíticas
• Transacciones altamente concurrentes
• Transacciones de larga duración
• Aumento repentino del número de conexiones, conocido como tormenta de inicios de sesión
• Aumento del cambio de contexto
Acciones
Si el evento de espera de cpu domina la actividad de la base de datos, no indica necesariamente un
problema de rendimiento. Responda a este evento solo cuando el rendimiento se deteriore.
Dependiendo de la causa del aumento de utilización de la CPU, considere la posibilidad de adoptar las
estrategias siguientes:
• Aumente la capacidad de CPU del host. Por lo general, este enfoque solo proporciona un alivio
provisional.
• Identifique las principales consultas de posible optimización.
• Redirija algunas de las cargas de trabajo de solo lectura a nodos lectores, si procede.
Temas
• Identificar las sesiones o consultas que están causando el problema (p. 907)
• Analizar y optimizar la elevada carga de trabajo de la CPU (p. 908)
Para encontrar sesiones y consultas, consulte la tabla SQL principal en Información sobre rendimiento para
obtener información sobre las instrucciones SQL que tienen la mayor carga de CPU. Para obtener más
información, consulte . Análisis de métricas mediante el panel de Información sobre rendimiento (p. 656).
Normalmente, una o dos instrucciones SQL consumen la mayoría de los ciclos de CPU. Concentre sus
esfuerzos en estas instrucciones. Supongamos que su instancia de base de datos tiene 2 vCPU con una
carga media de base de datos de 3,1 sesiones activas (AAS) en el estado de la CPU. En este caso, la
instancia está vinculada a la CPU. Consideremos la posibilidad de aplicar las estrategias siguientes:
En este ejemplo, las principales consultas SQL tienen una carga de base de datos de 1,5 AAS, toda en el
estado de la CPU. Otra instrucción SQL tiene una carga de 0,1 en el estado de la CPU. En este ejemplo,
si detuvo la instrucción SQL de menor carga, no se reduce significativamente la carga de la base de datos.
Sin embargo, si optimiza las dos consultas de alta carga para que sean el doble de eficientes, eliminará el
907
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
cuello de botella de la CPU. Si reduce la carga de CPU de 1,5 AAS en un 50 por ciento, el AAS de cada
instrucción se reduce a 0,75. La carga total de la base de datos en la CPU es ahora de 1,6 AAS. Este valor
está por debajo del máximo de 2.0 de la vCPU.
Para obtener información general útil sobre la solución de problemas mediante Información sobre
rendimiento, consulte la entrada de blog Analyze Amazon Aurora MySQL Workloads with Performance
Insights. Consulte también el artículo de AWS Support How can I troubleshoot and resolve high CPU
utilization on my Amazon RDS for MySQL instances? (¿Cómo solucionar y resolver el problema del uso
elevado de la CPU en mis instancias de Amazon RDS for MySQL?).
Después de identificar la consulta o las consultas que aumentan el uso de la CPU, puede optimizarlas o
finalizar la conexión. En el siguiente ejemplo se muestra cómo finalizar una conexión.
CALL mysql.rds_kill(processID);
Para obtener más información, consulte mysql.rds_kill en la Guía del usuario de Amazon RDS.
Este comando muestra los pasos individuales necesarios para la ejecución de una consulta. Para
obtener más información, consulte Optimizing Queries with EXPLAIN en la documentación de MySQL.
• Ejecute la instrucción SHOW PROFILE.
Utilice esta instrucción para revisar los detalles del perfil que pueden proporcionar información sobre
el uso de recursos para las instrucciones que se ejecutan durante la sesión actual. Para obtener más
información, consulte SHOW PROFILE Statement en la documentación de MySQL.
• Ejecute la instrucción ANALYZE TABLE.
Utilice esta instrucción para actualizar las estadísticas de índice de las tablas a las que accede la
consulta de alto consumo de recursos de CPU. Al analizar la instrucción, podrá ayudar al optimizador
a elegir un plan de ejecución adecuado. Para obtener más información, consulte ANALYZE TABLE
Statement en la documentación de MySQL.
Para mejorar el uso de la CPU en una instancia de base de datos, siga las directrices siguientes:
908
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Si la métrica DBLoadCPU no es muy alta, pero la métrica CPUUtilization es alta, la causa del exceso
de uso de recursos de la CPU se encuentra fuera del motor de base de datos. Un ejemplo clásico de ello
son las tormentas de conexión.
io/aurora_redo_log_flush
El evento io/aurora_redo_log_flush se produce cuando una sesión escribe datos persistentes en el
almacenamiento de Amazon Aurora.
Temas
• Versiones del motor admitidas (p. 909)
• Contexto (p. 909)
• Causas probables del aumento de las esperas (p. 909)
• Acciones (p. 910)
Contexto
El evento io/aurora_redo_log_flush es para una operación de entrada/salida de escritura (E/S) en
Aurora MySQL.
En los ejemplos siguientes, se insertan 50 000 registros en un clúster de base de datos de Aurora MySQL
mediante la clase de instancia de base de datos db.r5.xlarge:
• En el primer ejemplo, cada sesión inserta 10 000 registros fila por fila. De forma predeterminada, si un
comando de lenguaje de manipulación de datos (DML) no se encuentra dentro de una transacción,
Aurora MySQL utiliza confirmaciones implícitas. La opción Autocommit (Confirmar automáticamente)
está activada. Esto significa que para cada inserción de fila hay una confirmación. Información sobre
909
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
rendimiento indica que las conexiones pasan la mayor parte del tiempo esperando en el evento de
espera io/aurora_redo_log_flush.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Si su instancia de base de datos tiene un cuello de botella, la primera tarea que debe realizar es buscar
las sesiones y consultas que lo provocan. Para ver una entrada de blog útil sobre AWS Database, consulte
Analyze Amazon Aurora MySQL Workloads with Performance Insights.
910
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Las consultas de la parte superior de la lista son las que provocan la mayor carga de la base de datos.
Desactive la confirmación automática antes de realizar grandes cambios que no están dentro de una
transacción, tal como se muestra en el ejemplo siguiente.
Utilizar transacciones
BEGIN
INSERT INTO `sampleDB`.`sampleTable` (sampleCol2, sampleCol3) VALUES ('xxxx','xxxxx');
INSERT INTO `sampleDB`.`sampleTable` (sampleCol2, sampleCol3) VALUES ('xxxx','xxxxx');
INSERT INTO `sampleDB`.`sampleTable` (sampleCol2, sampleCol3) VALUES ('xxxx','xxxxx');
....
INSERT INTO `sampleDB`.`sampleTable` (sampleCol2, sampleCol3) VALUES ('xxxx','xxxxx');
911
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
....
DELETE FROM `sampleDB`.`sampleTable` WHERE sampleCol1=xx;
Utilizar lotes
También puede realizar cambios en lotes, tal como se muestra en el siguiente ejemplo. Sin embargo, el
uso de lotes demasiado grandes puede provocar problemas de rendimiento, sobre todo en réplicas de
lectura o cuando se realiza una recuperación a un momento dado (PITR).
io/aurora_respond_to_client
El evento io/aurora_respond_to_client se produce cuando un subproceso está a la espera de
devolver un conjunto de resultados a un cliente.
Temas
• Versiones del motor admitidas (p. 912)
• Contexto (p. 912)
• Causas probables del aumento de las esperas (p. 912)
• Acciones (p. 913)
• Para Aurora MySQL versión 2, versión 2.07.7 y versiones posteriores a la 2.07, versión 2.09.3 y
versiones posteriores a la 2.09 y versión 2.10.2 y versiones posteriores a la 2.10
• Para Aurora MySQL versión 1, versión 1.22.6 y versiones posteriores
En las versiones anteriores a 1.22.6, 2.07.7, 2.09.3 y 2.10.2, este evento de espera incluye por error el
tiempo de inactividad.
Contexto
El evento io/aurora_respond_to_client indica que un subproceso está a la espera de devolver un
conjunto de resultados a un cliente.
912
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
La clase de instancia de base de datos que utiliza el clúster de base de datos no tiene el ancho de
banda de red necesario para procesar la carga de trabajo de forma eficiente.
Grandes conjuntos de resultados
Puede haber un aumento de la latencia de la red entre el clúster de la base de datos de Aurora
MySQL y el cliente. Una mayor latencia de la red aumenta el tiempo necesario para que el cliente
reciba los datos.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Temas
• Identificar las sesiones y consultas que provocan los eventos (p. 913)
• Escalar la clase de instancia de base de datos (p. 914)
• Verificar la carga de trabajo en busca de resultados inesperados (p. 914)
• Distribuir la carga de trabajo con instancias de lector (p. 914)
• Utilizar el modificador SQL_BUFFER_RESULT (p. 914)
Puede utilizar Información sobre rendimiento para mostrar las consultas que bloqueó el evento de espera
io/aurora_respond_to_client. Normalmente, las bases de datos con una carga de moderada a
significativa tienen eventos de espera. Los eventos de espera pueden ser aceptables si el rendimiento es
óptimo. Si el rendimiento no es óptimo, examine dónde pasa más tiempo la base de datos. Preste atención
a los eventos de espera que contribuyen a la carga más alta y averigüe si puede optimizar la base de datos
y la aplicación para reducirlos.
El gráfico enumera las consultas SQL responsables de la carga. Las que están en la parte superior de
la lista son las más importantes. Para resolver un cuello de botella, céntrese en estas instrucciones.
913
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Para obtener información general útil sobre la solución de problemas mediante Información sobre
rendimiento, consulte la entrada de blog de AWS Database Analyze Amazon Aurora MySQL Workloads
with Performance Insights.
Verifique el aumento del valor de las métricas de Amazon CloudWatch relacionadas con el rendimiento de
la red, como, por ejemplo, NetworkReceiveThroughput y NetworkTransmitThroughput. Si se está
llegando al límite de ancho de banda de red de la clase de instancia de base de datos, puede escalar la
clase de instancia de base de datos que utiliza el clúster de base de datos modificando el clúster de base
de datos. Una clase de instancia de base de datos con mayor ancho de banda de red devuelve datos a los
clientes de forma más eficiente.
Para obtener más información acerca del monitoreo de métricas de Amazon CloudWatch, consulte
Monitoreo de métricas de Amazon Aurora con Amazon CloudWatch (p. 618). Para obtener información
acerca de las clases de instancia de base de datos, consulte Clases de instancia de base de datos Aurora
(p. 56). Para obtener más información acerca de la modificación de un clúster de base de datos, consulte
Modificación de un clúster de base de datos de Amazon Aurora (p. 405).
Verifique la carga de trabajo en el clúster de base de datos y asegúrese de que no produzca resultados
inesperados. Por ejemplo, puede haber consultas que devuelvan un mayor número de filas que el
esperado. En este caso, puede utilizar las métricas de contador de Información sobre rendimiento, como,
por ejemplo, Innodb_rows_read. Para obtener más información, consulte . Adición de métricas de
contador al panel de Información sobre rendimiento (p. 679).
Puede distribuir la carga de trabajo de solo lectura con réplicas de Aurora. Puede escalar horizontalmente
con la incorporación de más réplicas de Aurora. Si lo hace, se pueden incrementar los límites de limitación
controlada del ancho de banda de la red. Para obtener más información, consulte . Clústeres de base de
datos de Amazon Aurora (p. 3).
Puede agregar el modificador SQL_BUFFER_RESULT a las instrucciones SELECT para forzar el resultado a
una tabla temporal antes de que se devuelva al cliente. Este modificador puede ayudar con problemas de
rendimiento cuando los bloqueos InnoDB no se liberan porque las consultas se encuentran en estado de
espera io/aurora_respond_to_client. Para obtener más información, consulte SELECT Statement
en la documentación de MySQL.
io/file/innodb/innodb_data_file
El evento io/file/innodb/innodb_data_file se produce cuando hay subprocesos a la espera de
operaciones de E/S del almacenamiento.
Temas
• Versiones del motor admitidas (p. 914)
• Contexto (p. 915)
• Causas probables del aumento de las esperas (p. 915)
• Acciones (p. 915)
914
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Contexto
El grupo de búferes de InnoDB es el área de memoria compartida en la que Aurora MySQL almacena en
caché los datos de tabla e índice. Las consultas pueden acceder a los datos de uso frecuente directamente
desde la memoria sin leer desde el disco. El evento io/file/innodb/innodb_data_file indica que
el procesamiento de la consulta requiere una operación de E/S de almacenamiento porque los datos no
están disponibles en el grupo de búferes.
RDS suele generar este evento cuando realiza operaciones de E/S, como, por ejemplo, lecturas, escrituras
o vaciados. RDS también genera este evento cuando ejecuta instrucciones de lenguaje de definición de
datos (DDL). Esto ocurre porque estas instrucciones implican crear, eliminar, abrir, cerrar o cambiar el
nombre de los archivos de datos de InnoDB.
• Un pico en la carga de trabajo de una aplicación con uso intensivo de E/S puede aumentar la aparición
de este evento de espera porque es necesario leer más consultas desde el almacenamiento.
Un aumento significativo en el número de páginas que se escanean hace que las páginas menos usadas
recientemente (LRU) se expulsen del grupo de búferes con mayor velocidad. Los planes de consulta
ineficientes pueden contribuir al problema. Los planes de consulta pueden ser ineficientes debido a
estados obsoletos, falta de índices o consultas escritas de forma ineficiente.
• La capacidad de almacenamiento es suficiente, pero el rendimiento de red supera el ancho de banda
máximo de la clase de instancia, lo que provoca una limitación controlada de E/S. Para obtener más
información sobre la capacidad de rendimiento de red de diferentes clases de instancias, consulte
Especificaciones de hardware para clases de instancia de base de datos para Aurora (p. 65).
• Operaciones que implican instrucciones o transacciones DDL que leen, insertan o modifican un gran
número de filas. Por ejemplo, las inserciones masivas o las sentencias de actualización o eliminación
pueden especificar un amplio rango de valores en la cláusula WHERE.
• SELECTConsultas que escanean una gran cantidad de filas. Por ejemplo, consultas que utilizan las
cláusulas BETWEEN o IN pueden especificar amplios rangos de datos.
• Una baja tasa de aciertos de grupos de búferes porque el grupo de búferes es demasiado pequeño.
Cuanto más pequeño es el grupo de búferes, mayor será la frecuencia con que se eliminen las páginas
LRU. Esto aumenta la probabilidad de que los datos solicitados se lean desde el disco.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Temas
• Identificar y optimizar las consultas de problemas (p. 915)
• Escalar verticalmente la instancia (p. 916)
• Hacer el búfer resistente a análisis (p. 916)
Busque el resumen de consultas responsable de esta espera en Información sobre rendimiento. Verifique
el plan de ejecución de instrucciones de la consulta para ver si la consulta se puede optimizar para leer
915
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
menos páginas en el grupo de búferes de InnoDB. Al hacerlo, se reduce el número de páginas menos
usadas recientemente que se expulsan del grupo de búferes. Esto aumenta la eficiencia de aciertos de
caché del grupo de búferes, lo que reduce la carga en el subsistema de E/S.
Para verificar el plan de ejecución de instrucciones de una consulta, ejecute la instrucción EXPLAIN. Este
comando muestra los pasos individuales necesarios para la ejecución de una consulta. Para obtener más
información, consulte Optimizing Queries with EXPLAIN en la documentación de MySQL.
• Rendimiento de red: verifique el aumento del valor de las métricas de Amazon CloudWatch network
receive throughput y network transmit throughput. Si la instancia ha alcanzado el límite
de ancho de banda de red para la clase de instancia, considere la posibilidad de escalar verticalmente
la instancia de RDS a un tipo de clase de instancia superior. Para obtener más información, consulte
Especificaciones de hardware para clases de instancia de base de datos para Aurora (p. 65).
• Tamaño del grupo de búferes: verifique si hay una baja tasa de aciertos de grupos de
búferes. Para monitorear este valor en Información sobre rendimiento, verifique la métrica
db.Cache.innoDB_buffer_pool_hit_rate.avg. Para agregar esta métrica, elija Manage metrics
(Administrar métricas) y elija innoDB_buffer_pool_hit_rate bajo Cache (Caché) en la pestaña
Database metrics (Métricas de la base de datos).
El parámetro de instancia de base de datos que controla el tamaño del grupo de búferes
es innodb_buffer_pool_size. Puede modificar este valor de parámetro, pero le
recomendamos que escale verticalmente la clase de instancia porque el valor predeterminado
está optimizado para cada clase de instancia.
io/socket/sql/client_connection
El evento io/socket/sql/client_connection se produce cuando un subproceso está en proceso de
controlar una nueva conexión.
Temas
• Versiones del motor admitidas (p. 917)
• Contexto (p. 917)
• Causas probables del aumento de las esperas (p. 917)
• Acciones (p. 917)
916
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Contexto
El evento io/socket/sql/client_connection indica que mysqld está ocupado con la creación
de subprocesos para controlar las nuevas conexiones de clientes entrantes. En este escenario, el
procesamiento del responder a las nuevas solicitudes de conexión de clientes se ralentiza mientras las
conexiones esperan a que se asigne el subproceso. Para obtener más información, consulte . Servidor
MySQL (mysqld) (p. 904).
Acciones
Si io/socket/sql/client_connection domina la actividad de la base de datos, no indica
necesariamente un problema de rendimiento. En una base de datos que no está inactiva, siempre hay un
evento de espera activo. Actúe solo cuando el rendimiento se vea reducido. Recomendamos diferentes
acciones en función de las causas del evento de espera.
Temas
• Identificar las sesiones y consultas problemáticas (p. 917)
• Seguir las prácticas recomendadas de administración de conexiones (p. 918)
• Escalar verticalmente la instancia si se están limitando de forma controlada los recursos (p. 918)
• Verificar los principales hosts y usuarios (p. 918)
• Consultar las tablas performance_schema (p. 918)
• Verificar los estados de los subprocesos de sus consultas (p. 919)
• Auditar las solicitudes y consultas (p. 919)
• Agrupar las conexiones de base de datos (p. 919)
Si su instancia de base de datos tiene un cuello de botella, la primera tarea que debe realizar es buscar las
sesiones y consultas que lo provocan. Para ver una entrada de blog útil, consulte Analyze Amazon Aurora
MySQL Workloads with Performance Insights.
917
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Las consultas de la parte superior de la lista son las que provocan la mayor carga de la base de datos.
Puede aumentar gradualmente el número de conexiones según sea necesario. Para obtener más
información, consulte el documento técnico Amazon Aurora MySQL Database Administrator’s Handbook.
• Utilice un nodo lector para redistribuir el tráfico de solo lectura.
Para obtener más información, consulte Réplicas de Aurora (p. 75) y Administración de conexiones de
Amazon Aurora (p. 34).
• CPU
Verifique las métricas de Amazon CloudWatch para detectar usos elevados de la CPU.
• Red
Verifique el aumento del valor de las métricas de CloudWatch network receive throughput y
network transmit throughput. Si la instancia ha alcanzado el límite de ancho de banda de red
para la clase de instancia, considere la posibilidad de escalar verticalmente la instancia de RDS a un tipo
de clase de instancia superior. Para obtener más información, consulte . Clases de instancia de base de
datos Aurora (p. 56).
• Memoria que se puede liberar
Utilice Información sobre rendimiento para verificar los principales hosts y usuarios. Para obtener más
información, consulte . Análisis de métricas mediante el panel de Información sobre rendimiento (p. 656).
Para obtener un recuento preciso de las conexiones actuales y totales, consulte las tablas de
performance_schema. Con esta técnica, podrá identificar el host o usuario de origen responsable de
crear un gran número de conexiones. Por ejemplo, consulte las tablas performance_schema como se
muestra a continuación.
918
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Si su problema de rendimiento continúa, verifique los estados de los subprocesos de sus consultas. En el
cliente mysql, ejecute el siguiente comando.
show processlist;
Para verificar la naturaleza de las solicitudes y consultas de las cuentas de usuario, utilice la auditoría
avanzada de Aurora MySQL. Para obtener información sobre cómo activar la auditoría, consulte Uso de
auditorías avanzadas con un clúster de base de datos de Amazon Aurora MySQL (p. 985).
Considere la posibilidad de utilizar Amazon RDS Proxy para la administración de conexiones. Con el proxy
de RDS puede permitir a las aplicaciones agrupar y compartir conexiones de base de datos para mejorar
su capacidad de escala. El proxy de RDS hace que las aplicaciones sean más resistentes a los errores
de base de datos al conectarse automáticamente a una instancia de base de datos en espera mientras se
preservan las conexiones de las aplicaciones. Para obtener más información, consulte . Uso de Amazon
RDS Proxy (p. 314).
io/table/sql/handler
El evento io/table/sql/handler se produce cuando el trabajo se ha delegado en un motor de
almacenamiento.
Temas
• Versiones del motor admitidas (p. 919)
• Contexto (p. 919)
• Causas probables del aumento de las esperas (p. 920)
• Acciones (p. 920)
Contexto
El evento io/table indica una espera para acceder a una tabla. Este evento se produce
independientemente de si los datos se almacenan en caché en el grupo de búferes o si se accede en el
disco. El evento io/table/sql/handler indica un aumento de la actividad de la carga de trabajo.
919
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
El evento io/table/sql/handler a menudo aparece en los principales eventos de espera con esperas
de E/S como io/aurora_redo_log_flush y io/file/innodb/innodb_data_file.
Información sobre rendimiento filtra los ID de eventos de anidamiento y no informa de ninguna espera
de io/table/sql/handler cuando el evento anidado subyacente sea una espera de bloqueo. Por
ejemplo, si el evento de causa raíz es synch/mutex/innodb/aurora_lock_thread_slot_futex,
Información sobre rendimiento muestra esta espera en los eventos de espera principales y no io/table/
sql/handler.
Acciones
Si este evento de espera domina la actividad de la base de datos, no indica necesariamente un problema
de rendimiento. Cuando la base de datos está activa, siempre hay un evento de espera activo. Solo debe
actuar cuando el rendimiento se vea reducido.
Recomendamos diferentes acciones en función de los demás eventos de espera que vea.
Temas
• Identificar las sesiones y consultas que provocan los eventos (p. 920)
• Verificar la correlación con las métricas de contador de Información sobre rendimiento (p. 921)
• Verificar otros eventos de espera correlacionados (p. 921)
Normalmente, las bases de datos con una carga de moderada a significativa tienen eventos de espera.
Los eventos de espera pueden ser aceptables si el rendimiento es óptimo. Si el rendimiento no es
óptimo, examine dónde pasa más tiempo la base de datos. Preste atención a los eventos de espera
que contribuyen a la carga más alta y averigüe si puede optimizar la base de datos y la aplicación para
reducirlos.
920
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
El gráfico enumera las consultas SQL responsables de la carga. Las que están en la parte superior de
la lista son las más importantes. Para resolver un cuello de botella, céntrese en estas instrucciones.
Para obtener información general útil sobre la solución de problemas mediante Información sobre
rendimiento, consulte la entrada de blog Analyze Amazon Aurora MySQL Workloads with Performance
Insights.
1. En Información sobre rendimiento, busque las instrucciones SQL responsables del evento de espera
principal io/table/sql/handler. Si es posible, optimice esta instrucción para que devuelva menos
filas.
2. Recupere las tablas principales de las vistas schema_table_statistics y x
$schema_table_statistics. Estas vistas muestran la cantidad de tiempo que empleó la tabla. Para
obtener más información, consulte The schema_table_statistics and x$schema_table_statistics Views en
el MySQL Reference Manual.
De forma predeterminada, las filas se ordenan por tiempo de espera total descendente. Las tablas
con más contención se muestran en primer lugar. La salida indica si el tiempo se dedica a lecturas,
escrituras, recuperaciones, inserciones, actualizaciones o eliminaciones. El siguiente ejemplo se ejecutó
en una instancia de Aurora MySQL 2.09.1.
Si el índice hash adaptativo está desactivado y la situación lo justifica, considere la posibilidad de activarlo.
Para obtener más información acerca del índice hash adaptativo, consulte los siguientes recursos:
921
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
• Artículo Is Adaptive Hash Index in InnoDB right for my workload? en el sitio web de Percona.
• Adaptive Hash Index en el MySQL Reference Manual.
• Artículo Contention in MySQL InnoDB: Useful Info From the Semaphores Section en el sitio web de
Percona.
El índice hash adaptativo no es una opción viable para los nodos de lector de Aurora. En algunos
casos, el rendimiento puede ser deficiente en un nodo lector cuando synch/sxlock/innodb/
btr_search_latch y io/table/sql/handler son dominantes. Si es así, considere la posibilidad de
redirigir la carga de trabajo temporalmente a la nota del escritor y activar el índice hash adaptativo.
synch/cond/mysys/thread_var::suspend
El evento de espera synch/cond/mysys/thread_var::suspend indica que los subprocesos están
suspendidos porque están a la espera de una condición.
Temas
• Versiones del motor admitidas (p. 922)
• Contexto (p. 922)
• Causas probables del aumento de las esperas (p. 922)
• Acciones (p. 922)
Contexto
El evento synch/cond/mysys/thread_var::suspend indica que los subprocesos están suspendidos
porque están a la espera de una condición. Por ejemplo, este evento de espera se produce cuando los
subprocesos están a la espera de un bloqueo de nivel de tabla. En este caso, recomendamos investigar
la carga de trabajo para determinar qué subprocesos podrían estar adquiriendo bloqueos de tabla en la
instancia de base de datos.
Uno o más subprocesos están a la espera en un bloqueo de nivel de tabla. En este caso, el estado del
subproceso es Waiting for table level lock.
Datos que se envían al cliente mysqldump
Uno o más subprocesos están a la espera porque está utilizando mysqldump y el resultado se está
enviando al cliente mysqldump. En este caso, el estado del subproceso es: Writing to net.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
922
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Temas
• Evitar el bloqueo de tablas (p. 923)
• Asegurarse de que las herramientas de copia de seguridad no bloqueen las tablas (p. 923)
• Sesiones de larga duración que bloquean tablas (p. 923)
• Tabla temporal que no es de InnoDB (p. 923)
Asegúrese de que la aplicación no esté bloqueando explícitamente las tablas mediante la instrucción LOCK
TABLE. Puede verificar las instrucciones que ejecutan las aplicaciones mediante la auditoría avanzada.
Para obtener más información, consulte . Uso de auditorías avanzadas con un clúster de base de datos de
Amazon Aurora MySQL (p. 985).
Si utiliza una herramienta de copia de seguridad, asegúrese de que no esté bloqueando tablas. Por
ejemplo, si utiliza mysqldump, utilice la opción --single-transaction para que no bloquee las tablas.
Puede haber sesiones de larga duración que hayan bloqueado tablas explícitamente. Ejecute la siguiente
instrucción SQL para verificar si hay sesiones de este tipo.
SELECT
p.id as session_id, p.user, p.host, p.db, p.command, p.time, p.state,
SUBSTRING(p.info, 1, 50) AS INFO,
t.trx_started, unix_timestamp(now()) - unix_timestamp(t.trx_started) as trx_age_seconds,
t.trx_rows_modified, t.trx_isolation_level
FROM information_schema.processlist p
LEFT JOIN information_schema.innodb_trx t
ON p.id = t.trx_mysql_thread_id;
Para obtener más información acerca de cómo identificar las transacciones de bloqueo, consulte Using
InnoDB Transaction and Locking Information en la documentación de MySQL.
Si utiliza una tabla temporal que no es de InnoDB, la base de datos no utiliza el bloqueo de nivel de fila, lo
que puede provocar bloqueos de tablas. Las tablas MyISAM y MEMORY son ejemplos de tabla temporal que
no es de InnoDB. Si utiliza una tabla temporal que no es de InnoDB, considere la posibilidad de cambiar a
una tabla de memoria de InnoDB.
synch/cond/sql/MDL_context::COND_wait_status
El evento synch/cond/sql/MDL_context::COND_wait_status se produce cuando hay subprocesos
a la espera en un bloqueo de metadatos de tabla.
Temas
• Versiones del motor admitidas (p. 924)
923
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Contexto
El evento synch/cond/sql/MDL_context::COND_wait_status indica que hay subprocesos
a la espera en un bloqueo de metadatos de tabla. En determinados casos, una sesión mantiene
un bloqueo de metadatos en una tabla mientras otra sesión intenta adquirir el mismo bloqueo en
la misma tabla. En tal caso, la segunda sesión espera en el evento de espera synch/cond/sql/
MDL_context::COND_wait_status.
MySQL utiliza el bloqueo de metadatos para administrar el acceso simultáneo a los objetos de base de
datos y garantizar la coherencia de los datos. El bloqueo de metadatos se aplica a tablas, esquemas,
eventos programados, espacios de tabla y bloqueos de usuario adquiridos con la función get_lock
y programas almacenados. Los programas almacenados incluyen procedimientos, funciones y
desencadenadores. Para obtener más información, consulte Metadata locking en la documentación de
MySQL.
La lista de procesos de MySQL muestra esta sesión en el estado waiting for metadata lock. En
Información sobre rendimiento, si Performance_schema está activado, el evento synch/cond/sql/
MDL_context::COND_wait_status aparece.
Para obtener más información sobre los distintos bloqueos de InnoDB y los tipos de bloqueos que pueden
provocar conflictos, consulte InnoDB Locking en la documentación de MySQL.
Una o varias transacciones están modificando una gran cantidad de datos y mantienen bloqueos en
las tablas durante mucho tiempo.
Transacciones inactivas
Una o más transacciones permanecen abiertas durante mucho tiempo, sin confirmarse o revertirse.
Instrucciones DDL en tablas de gran tamaño
Una o varias instrucciones de definición de datos (DDL), como, por ejemplo, los comandos ALTER
TABLE, se ejecutaron en tablas de gran tamaño.
Bloqueos de tabla explícitos
Hay bloqueos explícitos en tablas que no se están lanzando a tiempo. Por ejemplo, una aplicación
puede ejecutar instrucciones LOCK TABLE de manera incorrecta.
924
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera y de la versión del
clúster de Aurora MySQL DB.
Temas
• Identificar las sesiones y consultas que provocan los eventos (p. 925)
• Verificar eventos pasados (p. 925)
• Ejecutar consultas en Aurora MySQL versión 1 (p. 926)
• Ejecutar consultas en Aurora MySQL versión 2 (p. 929)
• Responder a la sesión de bloqueo (p. 930)
Puede utilizar Información sobre rendimiento para mostrar las consultas que bloqueó el evento de espera
synch/cond/sql/MDL_context::COND_wait_status. Sin embargo, para identificar la sesión de
bloqueo, consulte las tablas de metadatos desde performance_schema y information_schema en el
clúster de base de datos.
Normalmente, las bases de datos con una carga de moderada a significativa tienen eventos de espera.
Los eventos de espera pueden ser aceptables si el rendimiento es óptimo. Si el rendimiento no es
óptimo, examine dónde pasa más tiempo la base de datos. Preste atención a los eventos de espera
que contribuyen a la carga más alta y averigüe si puede optimizar la base de datos y la aplicación para
reducirlos.
El gráfico enumera las consultas SQL responsables de la carga. Las que están en la parte superior de
la lista son las más importantes. Para resolver un cuello de botella, céntrese en estas instrucciones.
Para obtener información general útil sobre la solución de problemas mediante Información sobre
rendimiento, consulte la entrada de blog de AWS Database Analyze Amazon Aurora MySQL Workloads
with Performance Insights.
Puede obtener información sobre este evento de espera para verificar si hay ocurrencias anteriores del
mismo. Para ello, complete las acciones siguientes:
• Verifique el lenguaje de manipulación de datos (DML) y el rendimiento y la latencia de DDL para ver si se
han producido cambios en la carga de trabajo.
Puede utilizar Información sobre rendimiento para buscar las consultas que están a la espera en este
evento en el momento del problema. Además, puede ver el resumen de las consultas que se ejecutan
cerca del momento del problema.
925
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
• Si los registros de auditoría o los registros generales están activados para el clúster de base de datos,
puede verificar si se ejecutan todas las consultas en los objetos (schema.table) involucrados en la
transacción en espera. También puede verificar si se han completado las consultas que se ejecutaron
antes de la transacción.
Un ejemplo puede ilustrar cómo consultar tablas para identificar consultas y sesiones de bloqueo. En este
ejemplo, cada sesión ejecuta menos de 10 instrucciones y los consumidores necesarios están habilitados
en el clúster de base de datos.
926
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
+------------------------------------------------------------------------------------------------------
+
| Id | User | Host | db | Command | Time | State
| Info
|
+----+------------------+--------------------+--------------------
+---------+------+---------------------------------
+------------------------------------------------------------------------------------------------------
+
| 11 | rdsadmin | localhost | NULL | Sleep | 0 |
cleaned up | NULL
|
| 14 | rdsadmin | localhost | NULL | Sleep | 1 |
cleaned up | NULL
|
| 15 | rdsadmin | localhost | NULL | Sleep | 14 |
cleaned up | NULL
|
| 16 | rdsadmin | localhost | NULL | Sleep | 1 |
cleaned up | NULL
|
| 17 | rdsadmin | localhost | NULL | Sleep | 214 |
cleaned up | NULL
|
| 40 | auroramysql56123 | 172.31.21.51:44876 | sbtest123 | Query | 1843 | User
sleep | select sleep(10000)
|
| 41 | auroramysql56123 | 172.31.21.51:44878 | performance_schema | Query | 0 | init
| show processlist
|
| 48 | auroramysql56123 | 172.31.21.51:44894 | sbtest123 | Execute | 0 |
delayed commit ok initiated | COMMIT
|
| 49 | auroramysql56123 | 172.31.21.51:44899 | sbtest123 | Execute | 0 |
delayed commit ok initiated | COMMIT
|
| 50 | auroramysql56123 | 172.31.21.51:44896 | sbtest123 | Execute | 0 |
delayed commit ok initiated | COMMIT
|
| 51 | auroramysql56123 | 172.31.21.51:44892 | sbtest123 | Execute | 0 |
delayed commit ok initiated | COMMIT
|
| 52 | auroramysql56123 | 172.31.21.51:44898 | sbtest123 | Execute | 0 |
delayed commit ok initiated | COMMIT
|
| 53 | auroramysql56123 | 172.31.21.51:44902 | sbtest | Query | 33 |
Waiting for table metadata lock | INSERT INTO sbtest1 (id, k, c, pad) VALUES (0, 5021,
'91560616281-61537173720-56678788409-8805377477 |
| 56 | auroramysql56123 | 172.31.21.51:44908 | NULL | Query | 118 | User
sleep | select sleep(10000)
|
| 58 | auroramysql56123 | 172.31.21.51:44912 | NULL | Sleep | 41 |
cleaned up | NULL
|
| 59 | auroramysql56123 | 172.31.21.51:44914 | NULL | Query | 33 |
Waiting for table metadata lock | truncate table sbtest.sbtest1
|
+----+------------------+--------------------+--------------------
+---------+------+---------------------------------
+------------------------------------------------------------------------------------------------------
+
16 rows in set (0.00 sec)
927
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Con este resultado, ejecute la consulta siguiente. Esta consulta identifica las transacciones que han estado
en ejecución durante más de 33 segundos con el ID de conexión 59 a la espera de un bloqueo en una
tabla durante el mismo tiempo.
En el resultado, se puede ver que los procesos 40, 56 y 58 han estado activos durante mucho tiempo.
Vamos a identificar las consultas que ejecutaron estas sesiones en la tabla sbtest.sbtest1.
928
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
En este resultado, la sesión con un processlist_id de 58 ejecutó una consulta en la tabla y mantiene
una transacción abierta. Dicha transacción abierta está bloqueando el comando TRUNCATE.
En Aurora MySQL versión 2, puede identificar la sesión bloqueada directamente con la consulta de tablas
performance_schema o vistas de esquema sys. Un ejemplo puede ilustrar cómo consultar tablas para
identificar consultas y sesiones de bloqueo.
929
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
A continuación, una consulta sobre las tablas performance_schema o las vistas de esquema sys
muestra que la sesión de bloqueo es 76.
+---------------+-------------+-------------------+-------------
+------------------------------+-------------------+-----------------------
+-------------------------------+--------------------+-----------------------------
+-----------------------------+--------------------+--------------
+------------------------------+--------------------+------------------------
+-------------------------+------------------------------+
| object_schema | object_name | waiting_thread_id | waiting_pid | waiting_account
| waiting_lock_type | waiting_lock_duration | waiting_query
| waiting_query_secs | waiting_query_rows_affected | waiting_query_rows_examined |
blocking_thread_id | blocking_pid | blocking_account | blocking_lock_type |
blocking_lock_duration | sql_kill_blocking_query | sql_kill_blocking_connection |
+---------------+-------------+-------------------+-------------
+------------------------------+-------------------+-----------------------
+-------------------------------+--------------------+-----------------------------
+-----------------------------+--------------------+--------------
+------------------------------+--------------------+------------------------
+-------------------------+------------------------------+
| sbtest | sbtest1 | 121 | 89 | auroramysql5712@192.0.2.0
| EXCLUSIVE | TRANSACTION | truncate table sbtest.sbtest1 |
10 | 0 | 0 | 108
| 76 | auroramysql5712@192.0.2.0 | SHARED_READ | TRANSACTION
| KILL QUERY 76 | KILL 76 |
+---------------+-------------+-------------------+-------------
+------------------------------+-------------------+-----------------------
+-------------------------------+--------------------+-----------------------------
+-----------------------------+--------------------+--------------
+------------------------------+--------------------+------------------------
+-------------------------+------------------------------+
1 row in set (0.00 sec)
Para obtener más información acerca de cómo identificar las transacciones de bloqueo, consulte Using
InnoDB Transaction and Locking Information en la documentación de MySQL.
synch/mutex/innodb/aurora_lock_thread_slot_futex
El evento synch/mutex/innodb/aurora_lock_thread_slot_futex se produce cuando una sesión
ha bloqueado una fila para una actualización y otra sesión intenta actualizar la misma fila. Para obtener
información, consulte InnoDB Locking en MySQL Reference.
930
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Acciones
Recomendamos diferentes acciones en función de los demás eventos de espera que vea.
Temas
• Buscar y responder a las instrucciones SQL responsables de este evento de espera (p. 931)
• Buscar y responder a la sesión de bloqueo (p. 931)
Utilice Información sobre rendimiento para identificar las instrucciones SQL responsables de este evento
de espera. Consideremos la posibilidad de aplicar las estrategias siguientes:
• Si los bloqueos de fila son un problema persistente, considere la posibilidad de reescribir la aplicación
para utilizar un bloqueo optimista.
• Utilice instrucciones de varias filas.
• Distribuya la carga de trabajo en distintos objetos de base de datos. Una manera de hacerlo es mediante
particiones.
• Verifique el valor del parámetro innodb_lock_wait_timeout. Controla cuánto tiempo esperan las
transacciones antes de generar un error de tiempo de espera.
Para obtener información general útil sobre la solución de problemas mediante Información sobre
rendimiento, consulte la entrada de blog Analyze Amazon Aurora MySQL Workloads with Performance
Insights.
Determine si la sesión de bloqueo está inactiva o activa. Además, averigüe si la sesión procede de una
aplicación o de un usuario activo.
Para identificar la sesión que mantiene el candado, puede ejecutar SHOW ENGINE INNODB STATUS. A
continuación se muestra un resultado de ejemplo.
931
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Record lock, heap no 30 PHYSICAL RECORD: n_fields 6; compact format; info bits 0
O bien, puede utilizar la siguiente consulta para extraer detalles sobre los bloqueos actuales.
Para obtener más información acerca de cómo identificar las transacciones de bloqueo, consulte Using
InnoDB Transaction and Locking Information en MySQL Reference Manual.
932
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
synch/mutex/innodb/buf_pool_mutex
El evento synch/mutex/innodb/buf_pool_mutex se produce cuando un subproceso ha adquirido un
bloqueo en el grupo de búferes de InnoDB para acceder a una página de memoria.
Temas
• Versiones del motor relevantes (p. 933)
• Contexto (p. 933)
• Causas probables del aumento de las esperas (p. 933)
• Acciones (p. 933)
Contexto
El mutex buf_pool es un único mutex que protege las estructuras de datos de control del grupo de
búferes.
Para obtener más información, consulte Monitoring InnoDB Mutex Waits Using Performance Schema en la
documentación de MySQL.
• El tamaño del grupo de búferes no es lo suficientemente grande como para almacenar el conjunto de
datos de trabajo.
• La carga de trabajo es más específica para determinadas páginas de una tabla específica de la base de
datos, lo que genera contención en el grupo de búferes.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
933
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
4. En el cuadro Database load (Carga de base de datos), elija Slice by wait (Corte por espera).
5. Debajo del cuadro Database load (Carga de base de datos), elija Top SQL (SQL principal).
El gráfico enumera las consultas SQL responsables de la carga. Las que están en la parte superior de
la lista son las más importantes. Para resolver un cuello de botella, céntrese en estas instrucciones.
Para obtener información general útil sobre la solución de problemas mediante Información sobre
rendimiento, consulte la entrada de blog Analyze Amazon Aurora MySQL Workloads with Performance
Insights.
• Identificar cuándo comienzan los eventos de espera y verificar si se produce algún cambio en la carga
de trabajo en ese momento a partir de los registros de aplicaciones u orígenes relacionados.
• Identificar las instrucciones SQL responsables de este evento de espera. Examine el plan de ejecución
de las consultas para asegurarse de que las consultas estén optimizadas y utilicen los índices
adecuados.
Si las principales consultas responsables del evento de espera están relacionadas con el mismo objeto o
tabla de base de datos, considere la posibilidad de crear particiones de ese objeto o tabla.
Para obtener más información, consulte . Uso de Auto Scaling de Amazon Aurora con réplicas de
Aurora (p. 466).
Aumente el tamaño del grupo de búferes si la instancia de base de datos tiene suficiente memoria para
búferes de sesión y tareas del sistema operativo. Si no lo hace, cambie la instancia de base de datos a
una clase de instancia de base de datos de mayor tamaño para obtener memoria adicional que se pueda
asignar al grupo de búferes.
Note
Aurora MySQL ajusta automáticamente el valor de innodb_buffer_pool_instances en
función del innodb_buffer_pool_size configurado.
También puede crear métricas de Amazon CloudWatch personalizadas para monitorear las variables de
estado. Para obtener más información, consulte Publicación de métricas personalizadas.
934
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
synch/mutex/innodb/fil_system_mutex
El evento synch/mutex/innodb/fil_system_mutex se produce cuando una sesión está a la espera
para acceder a la memoria caché de memoria del espacio de tabla.
Temas
• Versiones del motor admitidas (p. 935)
• Contexto (p. 935)
• Causas probables del aumento de las esperas (p. 935)
• Acciones (p. 935)
Contexto
InnoDB utiliza espacios de tabla para administrar el área de almacenamiento de las tablas y archivos
de registro. La caché de memoria del espacio de tabla es una estructura de memoria global que
mantiene información sobre los espacios de tabla. MySQL utiliza las esperas synch/mutex/innodb/
fil_system_mutex para controlar el acceso simultáneo a la caché de memoria del espacio de tabla.
• Aumento de las operaciones simultáneas de lenguaje de manipulación de datos (DML) que actualizan o
eliminan datos de la misma tabla.
• El espacio de tabla de esta tabla es muy grande y tiene muchas páginas de datos.
• El factor de relleno de estas páginas de datos es bajo.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Temas
• Identificar las sesiones y consultas que provocan los eventos (p. 935)
• Reorganizar grandes tablas durante las horas de menor actividad (p. 937)
935
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
que contribuyen a la carga más alta y averigüe si puede optimizar la base de datos y la aplicación para
reducirlos.
El gráfico enumera las consultas SQL responsables de la carga. Las que están en la parte superior de
la lista son las más importantes. Para resolver un cuello de botella, céntrese en estas instrucciones.
Para obtener información general útil sobre la solución de problemas mediante Información sobre
rendimiento, consulte la entrada de blog Analyze Amazon Aurora MySQL Workloads with Performance
Insights.
Otra forma de averiguar qué consultas están causando un gran número de esperas synch/mutex/
innodb/fil_system_mutex consiste en verificar performance_schema, como en el ejemplo
siguiente.
936
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
NESTING_EVENT_ID: NULL
NESTING_EVENT_TYPE: NULL
OPERATION: lock
NUMBER_OF_BYTES: NULL
FLAGS: NULL
*************************** 3. row ***************************
THREAD_ID: 55
EVENT_ID: 23233794
END_EVENT_ID: NULL
EVENT_NAME: wait/synch/mutex/innodb/fil_system_mutex
SOURCE: fil0fil.cc:449
TIMER_START: 1010492125341600
TIMER_END: 1010494304900000
TIMER_WAIT: 2179558400
SPINS: NULL
OBJECT_SCHEMA: NULL
OBJECT_NAME: NULL
INDEX_NAME: NULL
OBJECT_TYPE: NULL
OBJECT_INSTANCE_BEGIN: 47285552262176
NESTING_EVENT_ID: 23233786
NESTING_EVENT_TYPE: WAIT
OPERATION: lock
NUMBER_OF_BYTES: NULL
FLAGS: NULL
synch/mutex/innodb/trx_sys_mutex
El evento synch/mutex/innodb/trx_sys_mutex se produce cuando hay una elevada actividad de la
base de datos con un gran número de transacciones.
Temas
• Versiones del motor relevantes (p. 937)
• Contexto (p. 937)
• Causas probables del aumento de las esperas (p. 938)
• Acciones (p. 938)
Contexto
Internamente, el motor de base de datos InnoDB utiliza el nivel de aislamiento de lectura repetible con
instantáneas para proporcionar coherencia de lectura. Esto proporciona una vista puntual de la base de
datos en el momento en que se creó la instantánea.
937
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
En InnoDB, todos los cambios se aplican a la base de datos tan pronto como llegan, independientemente
de si están confirmados. Este enfoque significa que sin el control de simultaneidad multiversión (MVCC),
todos los usuarios conectados a la base de datos ven todos los cambios y las filas más recientes. Por lo
tanto, InnoDB requiere una forma de realizar un seguimiento de los cambios para comprender qué se debe
revertir cuando sea necesario.
Para ello, InnoDB utiliza un sistema de transacciones (trx_sys) para realizar un seguimiento de las
instantáneas. El sistema de transacciones realiza lo siguiente:
Para obtener más información, consulte Monitoring InnoDB Mutex Waits Using Performance Schema en la
documentación de MySQL.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Normalmente, las bases de datos con una carga de moderada a significativa tienen eventos de espera.
Los eventos de espera pueden ser aceptables si el rendimiento es óptimo. Si el rendimiento no es óptimo,
examine dónde pasa más tiempo la base de datos. Observe los eventos de espera que contribuyen a la
carga más alta. Descubra si puede optimizar la base de datos y la aplicación para reducir esos eventos.
El gráfico enumera las consultas SQL responsables de la carga. Las que están en la parte superior de
la lista son las más importantes. Para resolver un cuello de botella, céntrese en estas instrucciones.
938
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Para obtener información general útil sobre la solución de problemas mediante Información sobre
rendimiento, consulte la entrada de blog Analyze Amazon Aurora MySQL Workloads with Performance
Insights.
Para obtener más información sobre cómo optimizar las transacciones, consulte Optimizing InnoDB
Transaction Management en la documentación de MySQL.
synch/rwlock/innodb/hash_table_locks
El evento synch/rwlock/innodb/hash_table_locks se produce cuando hay contención al modificar
la tabla hash que asigna la caché del búfer.
Temas
• Versiones del motor admitidas (p. 939)
• Contexto (p. 939)
• Causas probables del aumento de las esperas (p. 939)
• Acciones (p. 939)
Contexto
El evento synch/rwlock/innodb/hash_table_locks indica que hay contención al modificar la tabla
hash que asigna la caché del búfer. Una tabla hash es una tabla de la memoria diseñada para mejorar el
rendimiento del acceso al grupo de búferes. Este evento de espera se invoca cuando se necesita modificar
la tabla hash.
El tamaño del grupo de búferes es demasiado pequeño para mantener en memoria todas las páginas
a las que se accede con frecuencia.
Carga de trabajo pesada
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Temas
939
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Para aumentar el tamaño del grupo de búferes, modifique el valor del parámetro
innodb_buffer_pool_size. El valor predeterminado de este parámetro se basa en el tamaño de
clase de la instancia de base de datos. Para obtener más información, consulte la entrada de blog de
AWS Database Best practices for configuring parameters for Amazon RDS for MySQL, part 1: Parameters
related to performance.
Puede utilizar Información sobre rendimiento para mostrar consultas y sesiones que podrían estar
provocando el evento de espera synch/rwlock/innodb/hash_table_locks.
El gráfico enumera las consultas SQL responsables de la carga. Las que están en la parte superior de
la lista son las más importantes. Para resolver un cuello de botella, céntrese en estas instrucciones.
Para obtener información general útil sobre la solución de problemas mediante Información sobre
rendimiento, consulte la entrada de blog de AWS Database Analyze Amazon Aurora MySQL Workloads
with Performance Insights.
940
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
synch/sxlock/innodb/hash_table_locks
El evento synch/sxlock/innodb/hash_table_locks se produce cuando se deben leer desde un
archivo páginas que no se encuentran en el grupo de búferes.
Temas
• Versiones del motor admitidas (p. 941)
• Contexto (p. 941)
• Causas probables del aumento de las esperas (p. 941)
• Acciones (p. 941)
Contexto
El evento synch/sxlock/innodb/hash_table_locks indica que una carga de trabajo accede con
frecuencia a datos que no se almacenan en el grupo de búferes. Este evento de espera está asociado
con adiciones de páginas nuevas y expulsiones de datos antiguos del grupo de búferes. Los datos
almacenados en el grupo de búferes antiguos y los datos nuevos deben almacenarse en la caché, de
modo que las páginas antiguas se expulsan para permitir el almacenamiento en caché de las nuevas
páginas. MySQL utiliza un algoritmo de elementos menos usados recientemente (LRU) para expulsar las
páginas del grupo de búferes. La carga de trabajo intenta acceder a los datos que no se han cargado en el
grupo de búferes o a los datos que se han expulsado del grupo de búferes.
Este evento de espera se produce cuando la carga de trabajo debe acceder a los datos de los archivos del
disco o cuando los bloques se liberan o se agregan a la lista LRU del grupo de búferes. Estas operaciones
esperan para obtener un bloqueo excluido compartido (SX-lock). Este bloqueo SX se utiliza para la
sincronización a través de la tabla de hash, que es una tabla en memoria diseñada para mejorar el
rendimiento del acceso al grupo de búferes.
El tamaño del grupo de búferes es demasiado pequeño para mantener en memoria todas las páginas
a las que se accede con frecuencia.
Carga de trabajo pesada
Hay errores al leer las páginas del grupo de búferes, lo que podría indicar daños en los datos.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
941
Amazon Aurora Guía del usuario de Aurora
Ajuste de Aurora MySQL con eventos de espera
Temas
• Aumentar el tamaño del grupo de búferes (p. 942)
• Mejorar los patrones de acceso a datos (p. 942)
• Reducir o evitar análisis de tablas completas (p. 942)
• Verificar los registros de errores para detectar daños en la página (p. 942)
Puede utilizar Información sobre rendimiento para mostrar consultas y sesiones que podrían estar
provocando el evento de espera synch/sxlock/innodb/hash_table_locks.
El gráfico enumera las consultas SQL responsables de la carga. Las que están en la parte superior de
la lista son las más importantes. Para resolver un cuello de botella, céntrese en estas instrucciones.
Para obtener información general útil sobre la solución de problemas mediante Información sobre
rendimiento, consulte la entrada de blog de AWS Database Analyze Amazon Aurora MySQL Workloads
with Performance Insights.
942
Amazon Aurora Guía del usuario de Aurora
Ajustar Aurora MySQL con estados de subprocesos
Temas
• Versiones del motor admitidas (p. 943)
• Contexto (p. 943)
• Causas probables del aumento de las esperas (p. 943)
• Acciones (p. 943)
Contexto
El estado creating sort index aparece cuando una consulta con una cláusula ORDER BY o GROUP
BY no puede utilizar un índice existente para realizar la operación. En este caso, MySQL necesita realizar
una operación filesort más costosa. Esta operación se realiza normalmente en la memoria si el
conjunto de resultados no es demasiado grande. De lo contrario, requiere crear un archivo en disco.
Acciones
La directriz general consiste en buscar consultas con las cláusulas ORDER BY o GROUP BY asociadas a
los aumentos del estado creating sort index. A continuación, compruebe si, al agregar un índice o
aumentar el tamaño del búfer de ordenación, se resuelve el problema.
Temas
943
Amazon Aurora Guía del usuario de Aurora
Ajustar Aurora MySQL con estados de subprocesos
Para identificar las consultas anteriores que están causando estos aumentos, active el registro de
consultas lentas y busque las consultas con ORDER BY. Ejecute EXPLAIN en las consultas lentas y utilice
filesort. Para obtener más información, consulte . Examinar los planes de explicación para el uso de
filesort (p. 944).
El siguiente ejemplo muestra cómo ejecutar explain en una consulta. La columna Extra muestra que
esta consulta utiliza filesort.
El siguiente ejemplo muestra el resultado de ejecutar EXPLAIN en la misma consulta después de crear un
índice en la columna c1.
944
Amazon Aurora Guía del usuario de Aurora
Ajustar Aurora MySQL con estados de subprocesos
id: 1
select_type: SIMPLE
table: mytable
partitions: NULL
type: index
possible_keys: NULL
key: c1
key_len: 1023
ref: NULL
rows: 10
filtered: 100.00
Extra: Using index
1 row in set, 1 warning (0.01 sec)
Para obtener información sobre el uso de índices para la optimización del orden de clasificación, consulte
ORDER BY Optimization en la documentación de MySQL.
Para ver si una consulta específica ha necesitado un proceso filesort que creó un archivo en disco,
verifique el valor de la variable sort_merge_passes después de ejecutar la consulta. A continuación se
muestra un ejemplo.
envío de datos
El estado del subproceso sending data indica que un subproceso está leyendo y filtrando filas de una
consulta para determinar el conjunto de resultados correcto. El nombre puede dar lugar a confusión porque
implica que el estado está transfiriendo datos en lugar de recopilar y preparar datos para enviarlos más
adelante.
Temas
945
Amazon Aurora Guía del usuario de Aurora
Ajustar Aurora MySQL con estados de subprocesos
Contexto
Muchos estados de subprocesos son de corta duración. Las operaciones que se producen durante
sending data tienden a realizar un gran número de lecturas de disco o caché. Por consiguiente,
sending data suele ser el estado que permanece más tiempo en ejecución a lo largo de la vida útil de
una consulta determinada. Este estado aparece cuando Aurora MySQL hace lo siguiente:
Una vez que el estado sending data finaliza la preparación de los datos, el estado del subproceso
writing to net indica la devolución de datos al cliente. Normalmente, writing to net solo se
captura cuando el conjunto de resultados es muy grande o cuando la elevada latencia de red ralentiza la
transferencia.
Temas
• Consulta ineficiente (p. 946)
• Configuración de servidor poco óptima (p. 946)
Consulta ineficiente
En la mayoría de los casos, la causa de este estado suele ser una consulta que no utiliza un índice
adecuado para buscar el conjunto de resultados de una consulta específica. Por ejemplo, piense en una
consulta que lee una tabla de 10 millones de registros para todos los pedidos realizados en California,
donde la columna de estado no está indexada o está mal indexada. En este caso, el índice puede existir,
pero el optimizador lo ignora debido a su baja cardinalidad.
• El servidor de base de datos no tiene suficiente capacidad informática: E/S de disco, tipo y velocidad de
disco, CPU o número de CPU.
946
Amazon Aurora Guía del usuario de Aurora
Ajustar Aurora MySQL con estados de subprocesos
• El servidor no tiene recursos asignados, como, por ejemplo, el grupo de búferes InnoDB para tablas
InnoDB o el búfer de claves de las tablas MyIsam.
• La configuración de memoria por subproceso, como, por ejemplo, sort_buffer, read_buffer, y
join_buffer, consumen más RAM de la necesaria, lo que provoca que el servidor físico no tenga
recursos de memoria.
Acciones
La consigna general radica en buscar consultas que devuelvan un gran número de filas verificando
Performance Schema. Si las consultas de registro que no utilizan índices están activadas, también puede
examinar los resultados de los registros lentos.
Temas
• Activar Performance Schema si no está activado (p. 947)
• Examinar la configuración de memoria (p. 947)
• Examinar los planes de explicación para el uso de índice (p. 947)
• Verificar el volumen de datos devueltos (p. 948)
• Verificar problemas de concurrencia (p. 948)
• Verificar la estructura de las consultas (p. 948)
Información sobre rendimiento informa de los estados de subprocesos solo si los instrumentos de
Performance Schema no están activados. Cuando los instrumentos de Performance Schema están
activados, Información sobre rendimiento informa de los eventos de espera en su lugar. Los instrumentos
de Performance Schema proporcionan información adicional y mejores herramientas para investigar
posibles problemas de rendimiento. Por lo tanto, se recomienda activar Performance Schema. Para
obtener más información, consulte . Habilitar Performance Schema para Performance Insights en Aurora
MySQL (p. 650).
Examine la configuración de memoria de los grupos de búferes principales. Asegúrese de que estos
grupos tengan el tamaño adecuado para la carga de trabajo. Si la base de datos utiliza varias instancias
de grupos de búferes, asegúrese de que no estén divididas en muchos grupos de búferes pequeños. Los
subprocesos solo pueden utilizar un grupo de búferes a la vez.
Asegúrese de que los ajustes de memoria utilizados para cada subproceso que se indican a continuación
tengan el tamaño correcto:
• read_buffer
• read_rnd_buffer
• sort_buffer
• join_buffer
• binlog_cache
A menos que tenga un motivo específico para modificar la configuración, utilice los valores
predeterminados.
Para consultas en el estado del subproceso sending data, examine el plan para determinar si se
utilizan los índices adecuados. Si una consulta no utiliza un índice útil, considere la posibilidad de
947
Amazon Aurora Guía del usuario de Aurora
Consulta paralela de Aurora MySQL
agregar sugerencias como USE INDEX o FORCE INDEX. Las sugerencias pueden aumentar o disminuir
considerablemente el tiempo de ejecución de una consulta, por lo que tenga cuidado antes de agregarlas.
Verifique las tablas que se están consultando y la cantidad de datos que contienen. ¿Se puede archivar
alguno de estos datos? En muchos casos, la causa del tiempo de ejecución de consultas deficiente no es
el plan de consultas, sino el volumen de datos que se debe procesar. Muchos desarrolladores son muy
eficientes al agregar datos a una base de datos, pero rara vez consideran el ciclo de vida de los conjuntos
de datos en las fases de diseño y desarrollo.
Busque consultas que tengan un buen rendimiento en bases de datos de bajo volumen pero que funcionen
mal en el sistema actual. A veces, los desarrolladores que diseñan consultas específicas podrían no darse
cuenta de que estas consultas están devolviendo 350 000 filas. Es posible que los desarrolladores hayan
desarrollado las consultas en un entorno de menor volumen con conjuntos de datos más pequeños que los
que tienen los entornos de producción.
Verifique si se están ejecutando varias consultas del mismo tipo al mismo tiempo. Algunas formas
de consultas se ejecutan de forma eficiente cuando se ejecutan solas. Sin embargo, si se ejecutan
formas similares de consulta de manera conjunta o en gran volumen, pueden provocar problemas de
concurrencia. A menudo, estos problemas se producen cuando la base de datos utiliza tablas temporales
para generar resultados. Un nivel de aislamiento de transacciones restrictivo también puede provocar
problemas de concurrencia.
Si las tablas se leen y escriben simultáneamente, la base de datos podría estar utilizando bloqueos. Para
ayudar a identificar periodos de bajo rendimiento, examine el uso de bases de datos mediante procesos
por lotes a gran escala. Para ver los bloqueos y reversiones recientes, examine el resultado del comando
SHOW ENGINE INNODB STATUS.
Verifique si las consultas capturadas de estos estados utilizan subconsultas. Este tipo de consulta a
menudo genera un rendimiento deficiente porque la base de datos compila los resultados internamente y
luego los sustituye de nuevo en la consulta para procesar datos. Este proceso es un paso adicional para la
base de datos. En muchos casos, este paso puede provocar un rendimiento deficiente en condiciones de
cargas altamente concurrentes.
Verifique también si sus consultas utilizan un gran número de cláusulas ORDER BY y GROUP BY. En estas
operaciones, a menudo la base de datos debe formar primero todo el conjunto de datos en la memoria. A
continuación, debe pedirlo o agruparlo de manera específica antes de devolverlo al cliente.
Contenido
948
Amazon Aurora Guía del usuario de Aurora
Consulta paralela de Aurora MySQL
El motor de base de datos PostgreSQL también tiene una característica que también se llama
"consulta paralela". Esa característica no está relacionada con la consulta paralela de Aurora.
Cuando está activada una característica de consulta en paralelo, el motor de Aurora MySQL determina
automáticamente cuándo las consultas pueden aprovecharla, sin requerir cambios de SQL como
sugerencias o atributos de tabla. En las secciones siguientes, puede encontrar una explicación cuándo
se aplica una consulta en paralelo a una consulta. También podrá encontrar cómo asegurarse de que las
consultas en paralelo se aplican cuando proporcionan el máximo beneficio.
Note
Temas
• Benefits (p. 950)
• Architecture (p. 951)
• Prerequisites (p. 951)
• Limitations (p. 952)
Benefits
Con la consulta paralela, puede ejecutar consultas analíticas de uso intensivo de datos en tablas de Aurora
MySQL. En muchos casos, puede obtener una mejora del rendimiento de orden de magnitud sobre la
división tradicional del trabajo para el procesamiento de consultas.
950
Amazon Aurora Guía del usuario de Aurora
Información general de consultas paralelas
• Presión de memoria reducida en el grupo de búfer. Las páginas procesadas por la consulta paralela no
se agregan al grupo de búferes. Este enfoque reduce la posibilidad de que un análisis intensivo de datos
expulse los datos utilizados con frecuencia del grupo de búferes.
• Reducción potencial de la duplicación de datos en la canalización de extracción, transformación y carga
(ETL), haciendo que sea práctico realizar consultas analíticas de ejecución prolongada en los datos
existentes.
Architecture
La característica de consulta en paralelo utiliza los principios de arquitectura principales de Aurora MySQL:
desacoplar el motor de base de datos del subsistema de almacenamiento y reducir el tráfico de red
mediante la optimización de los protocolos de comunicación. Aurora MySQL utiliza estas técnicas para
acelerar las operaciones de escritura intensiva, como el procesamiento de registros de rehacer. Las
consultas en paralelo aplican los mismos principios a las operaciones de lectura.
Note
De forma predeterminada, sin consulta en paralelo, el procesamiento de una consulta de Aurora implica
la transmisión de datos sin procesar a un solo nodo del clúster de Aurora (el nodo principal). Aurora luego
realiza todo el procesamiento adicional para esa consulta en un solo hilo en ese único nodo. Con las
consultas paralelas, gran parte de este trabajo con uso intensivo de E/S y de CPU se delega a los nodos
de la capa de almacenamiento. Solo las filas compactas del conjunto de resultados se transmiten de
vuelta al nodo director, con las filas ya filtradas y los valores de la columna ya extraídos y transformados.
El beneficio del rendimiento viene de la reducción del tráfico de red, la reducción del uso de CPU en el
nodo director y la paralelización de la E/S en los nodos de almacenamiento. La cantidad de E/S, filtrado y
proyección paralelos es independiente del número de instancias de base de datos del clúster de Aurora
que ejecute la consulta.
Prerequisites
Para utilizar todas las características de la consulta paralela se requiere un clúster de base de datos de
Aurora MySQL que ejecute la versión 1.23 o 2.09 y posteriores. Si ya tiene un clúster que desea utilizar
con consulta paralela, puede actualizarlo a una versión compatible y activar la consulta paralela después.
En ese caso, asegúrese de seguir el procedimiento de actualización en Consideraciones para actualizar
las consultas paralelas (p. 961) ya que los nombres de las opciones de configuración y los valores
predeterminados son diferentes en estas versiones más recientes.
También puede utilizar la consulta paralela con ciertas versiones anteriores de Aurora MySQL que son
compatibles con MySQL 5.6: 1.22.2, 1.20.1, 1.19.6 y 5.6.10a. La compatibilidad con consultas paralelas
de estas versiones anteriores solo está disponible en determinadas regiones de AWS. Esas versiones
anteriores tienen limitaciones adicionales, como se describe a continuación. El uso de la consulta paralela
con una versión anterior de Aurora MySQL también requiere la creación de un clúster de base de datos
dedicado con un parámetro de modo de motor especial que no se puede cambiar más adelante. Por esas
razones, se recomienda utilizar consulta paralela con Aurora MySQL 1.23 o 2.09 y posteriores cuando sea
práctico.
Las instancias de base de datos del clúster deben utilizar las clases de instancia db.r*.
Asegúrese de que la optimización de combinación hash esté activada para su clúster. El procedimiento
para hacerlo es diferente en función de si el clúster ejecuta una versión de Aurora MySQL posterior o
951
Amazon Aurora Guía del usuario de Aurora
Planificación de un clúster de consultas paralelas
anterior a 1.23 o 2.09. Para saber cómo hacerlo, consulte Activación de una combinación hash para
clústeres de consultas paralelas (p. 960).
Limitations
La característica de consultas en paralelo tiene las siguientes limitaciones:
• No puede usar la consulta paralela con las clases de instancia db.t2 o db.t3. Esta limitación se aplica
incluso si solicita la consulta paralela mediante la sugerencia de SQL aurora_pq_force.
• La consulta paralela no se aplica a las tablas que utilizan los formatos de fila COMPRESSED o
REDUNDANT. Utilice los formatos de fila COMPACT o DYNAMIC para las tablas que piensa utilizar con
consultas paralelas.
• Aurora utiliza un algoritmo basado en costos para determinar si utilizar el mecanismo de consulta
paralela para cada instrucción SQL. El uso de ciertas construcciones SQL en una instrucción puede
evitar la consulta paralela o hacer que la consulta paralela sea poco probable para esa instrucción.
Para obtener información acerca de la compatibilidad de construcciones SQL con la consulta paralela,
consulte Cómo funcionan las consultas paralelas con constructos de SQL (p. 970).
• Cada instancia de base de datos Aurora solo puede ejecutar un número determinado de sesiones de
consultas en paralelo a la vez. Si una consulta tiene varias partes que usan consultas en paralelo,
como subconsultas, uniones u operadores UNION, esas fases se ejecutan en secuencia. La instrucción
solo cuenta como una única sesión de consulta en paralelo cada vez. Puede monitorizar el número de
sesiones activas usando las variables de estado de consultas en paralelo (p. 966). Puede comprobar el
límite de sesiones simultáneas para una instancia de base de datos determinada consultando la variable
de estado Aurora_pq_max_concurrent_requests.
• La consulta en paralelo está disponible en todas las regiones de AWS compatibles con Aurora. Para la
mayoría de las regiones de AWS, la versión de Aurora MySQL mínima requerida para utilizar la consulta
en paralelo es 1.23 o 2.09. Para obtener más información, consulte Consulta paralela Aurora. (p. 27).
• Solo Aurora MySQL 1.22.2, 1.20.1, 1.19.6 y 5.6.10a: el uso de consultas paralelas con estas versiones
anteriores implica la creación de un nuevo clúster o la restauración desde una instantánea de clúster de
Aurora MySQL existente.
• Solo Aurora MySQL 1.22.2, 1.20.1, 1.19.6 y 5.6.10a: la consulta en paralelo no admite la autenticación
de base de datos de AWS Identity and Access Management (IAM).
• ¿Qué versión de Aurora MySQL piensa usar para el clúster? En función de su elección, puede utilizar
una de estas formas para activar la consulta paralela para el clúster:
Si utiliza Aurora MySQL que es compatible con MySQL 5.7, debe elegir Aurora MySQL 2.09 o
posteriores. En este caso, siempre se crea un clúster aprovisionado. A continuación, se activa la
952
Amazon Aurora Guía del usuario de Aurora
Planificación de un clúster de consultas paralelas
Si utiliza Aurora MySQL que es compatible con MySQL 5.6, puede elegir la versión 1.23 o ciertas
versiones anteriores. Con la versión 1.23 o posteriores, se crea un clúster aprovisionado y, a
continuación, se activa la consulta paralela mediante el parámetro de clúster de base de datos
aurora_parallel_query. Con una versión anterior a 1.23, se elige el modo de motor de
parallelquery al crear el clúster. En este caso, la consulta paralela se activa permanentemente para
el clúster. El modo de motor de parallelquery impone limitaciones a la interacción con otros tipos de
clústeres de Aurora MySQL. Si tiene opción, se recomienda que elija la versión 1.23 o posterior para la
compatibilidad de Aurora MySQL con MySQL 5.6.
Si tiene un clúster de Aurora MySQL existente que ejecuta la versión 1.23 o posteriores o 2.09 o
posteriores, no es necesario crear un clúster nuevo para utilizar la consulta paralela. Puede asociar el
clúster o instancias de base de datos específicas en el clúster, con un grupo de parámetros que tiene
activado el parámetro de aurora_parallel_query. Al hacerlo, puede reducir el tiempo y el esfuerzo
para configurar los datos relevantes para usar con consulta paralela.
• Planifique las tablas grandes que necesite reorganizar para que pueda utilizar la consulta paralela al
acceder a ellas. Es posible que pueda necesitar crear nuevas versiones de algunas tablas grandes
donde la consulta paralela es útil. Por ejemplo, es posible que tenga que eliminar índices de búsqueda
de texto completo. Para obtener más información, consulte Creación de objetos de esquema para
aprovechar las consultas paralelas (p. 963).
Los comandos anteriores producen un resultado similar al siguiente. Es posible que el resultado varíe en
función de las versiones de Aurora MySQL disponibles en la región de AWS especificada.
5.6.10a
5.6.mysql_aurora.1.19.0
5.6.mysql_aurora.1.19.1
5.6.mysql_aurora.1.19.2
5.6.mysql_aurora.1.19.3
5.6.mysql_aurora.1.19.3.1
5.6.mysql_aurora.1.19.3.90
5.6.mysql_aurora.1.19.4
5.6.mysql_aurora.1.19.4.1
5.6.mysql_aurora.1.19.4.2
5.6.mysql_aurora.1.19.4.3
5.6.mysql_aurora.1.19.4.4
5.6.mysql_aurora.1.19.4.5
5.6.mysql_aurora.1.19.5
5.6.mysql_aurora.1.19.5.90
5.6.mysql_aurora.1.19.6
953
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de consultas paralelas
5.6.mysql_aurora.1.20.1
5.6.mysql_aurora.1.22.0
5.6.mysql_aurora.1.22.2
5.6.mysql_aurora.1.23.0
5.7.mysql_aurora.2.09.0
Después de comenzar a utilizar la consulta paralela con un clúster, puede monitorear el rendimiento y
eliminar los obstáculos al uso de consultas paralelas. Para obtener esas instrucciones, consulte Ajuste del
rendimiento de las consultas paralelas (p. 963).
• Cuando elija una versión de motor de Aurora MySQL, se recomienda que elija el motor más reciente
que sea compatible con MySQL 5.7. Actualmente, Aurora MySQL 2.09 o posterior y ciertas versiones de
Aurora MySQL que son compatibles con MySQL 5.6 admiten consulta paralela. Tiene más flexibilidad
para activar y desactivar consultas paralelas o utilizar consultas paralelas con clústeres existentes si
utiliza Aurora MySQL 1.23 o 2.09 y versiones posteriores.
• Solo para versiones antes de Aurora MySQL 1.23: cuando cree o restaure el clúster de base de datos,
asegúrese de elegir el modo de motor parallelquery.
Tanto si crea un nuevo clúster como si lo restaura de una instantánea, se usan las mismas técnicas para
añadir nuevas instancias de base de datos que usaría con otros clústeres de Aurora MySQL.
Para Engine version (Versión del motor), elija Aurora MySQL 2.09 o posterior o Aurora MySQL
1.23 o posterior si es práctico. Con esas versiones, tiene menos limitaciones en el uso de consultas
paralelas. Estas versiones también tienen la mayor flexibilidad para activar o desactivar consultas
paralelas en cualquier momento.
Si no resulta práctico utilizar una versión reciente de Aurora MySQL para este clúster, elija Show
versions that support the parallel query feature (Mostrar versiones compatibles con la característica
954
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de consultas paralelas
de consulta paralela). Al hacerlo, filtra el menú Version (Versión) para mostrar solo las versiones de
Aurora MySQL específicas que son compatibles con la consulta paralela.
3. (Solo para versiones anteriores) Para Capacity type (Tipo de capacidad), elija Provisioned with
Aurora parallel query enabled (Aprovisionado con consulta paralela de Aurora habilitada). La AWS
Management Console solo muestra esta opción cuando se selecciona una versión de Aurora MySQL
anterior a 1.23. Para Aurora MySQL 1.23 o 2.09 y posteriores, no necesita hacer ninguna elección
especial para hacer que el clúster sea compatible con la consulta paralela.
4. (Solo para versiones recientes) Para Additional configuration (Configuración adicional), elija un
grupo de parámetros que creó para DB cluster parameter group (Grupo de parámetros de clúster
de base de datos). El uso de dicho grupo de parámetros personalizados es necesario para Aurora
MySQL 1.23, 2.09 o 3.1 y versiones posteriores. En el grupo de parámetros de clúster de base
de datos, especifique la configuración de los parámetros aurora_parallel_query=ON y
aurora_disable_hash_join=OFF. Al hacerlo, se activa la consulta paralela para el clúster y se
activa la optimización de combinación hash que funciona en combinación con la consulta paralela.
3. (Para Aurora MySQL versión 2.09 y versiones secundarias superiores) Verifique que la configuración
de aurora_disable_hash_join es falsa.
5. Con algunas tablas grandes y consultas con uso intensivo de datos, compruebe los planes de consulta
para confirmar que algunas de las consultas utilizan la optimización de consultas paralelas. Para ello,
siga el procedimiento en Verificación de qué instrucciones usan consultas paralelas (p. 963).
955
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de consultas paralelas
1. (Opcional) Compruebe qué versiones de Aurora MySQL son compatibles con clústeres de consultas
paralelas. Para ello, utilice el comando describe-db-engine-versions y compruebe el valor del
campo SupportsParallelQuery. Para ver un ejemplo, consulte Comprobación de la compatibilidad
de la versión de Aurora MySQL para consulta paralela (p. 953).
2. (Opcional) Cree un grupo de parámetros de clúster de base de datos personalizado con la
configuración aurora_parallel_query=ON y aurora_disable_hash_join=OFF. Utilice
comandos como los siguientes.
• Para la opción --engine, use aurora o aurora-mysql. Estos valores producen clústeres de
consultas paralelas compatibles con MySQL 5.6 o MySQL 5.7 respectivamente.
• El valor que se utilizará para el parámetro --engine-mode depende de la versión del motor que
elija.
Antes de Aurora MySQL 1.23, para la opción --engine-mode, use parallelquery. El parámetro
--engine-mode se aplica a la operación create-db-cluster. A continuación, el modo de motor
del clúster se usa automáticamente por las operaciones create-db-instance posteriores.
• Para la opción --db-cluster-parameter-group-name, especifique el nombre de un
grupo de parámetros de clúster de base de datos que creó y especificó el valor del parámetro
aurora_parallel_query=ON. Si omite esta opción, puede crear el clúster con un grupo de
parámetros predeterminado y modificarlo posteriormente para utilizar dicho grupo de parámetros
personalizado.
• Para la opción --engine-version, utilice una versión de Aurora MySQL compatible con
la consulta paralela. Utilice el procedimiento de Planificación de un clúster de consultas
paralelas (p. 952) para obtener una lista de versiones si es necesario. Si es práctico, utilice al
menos 1.23.0 o 2.09.0. Estas versiones y todas las posteriores contienen mejoras sustanciales a la
consulta paralela.
En el siguiente ejemplo de código se muestra cómo. Sustituya su propio valor por cada una de las
variables de entorno, como $CLUSTER_ID.
956
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de consultas paralelas
5. Verificar que un clúster que ha creado o restaurado tiene la característica de consultas en paralelo
disponible.
Para Aurora MySQL 1.23 y 2.09 o posterior: compruebe que existe la opción de configuración de
aurora_parallel_query. Si esta configuración tiene el valor 1, la consulta paralela está lista para
su uso. Si esta configuración tiene el valor 0, establézcala en 1 antes de poder utilizar la consulta
paralela. De cualquier manera, el clúster es capaz de realizar consultas paralelas.
Para restaurar una instantánea a un clúster de consultas en paralelo con la AWS CLI
1. Compruebe qué versiones de Aurora MySQL son compatibles con clústeres de consultas paralelas.
Para ello, utilice el comando describe-db-engine-versions y compruebe el valor del campo
SupportsParallelQuery. Para ver un ejemplo, consulte Comprobación de la compatibilidad de la
versión de Aurora MySQL para consulta paralela (p. 953). Decida qué versión usar para el clúster
restaurado. Si es práctico, elija Aurora MySQL 2.09.0 o posterior para un clúster compatible con
MySQL 5.7 o 1.23.0 o posterior para un clúster compatible con MySQL 5.6.
2. Localice una instantánea de clúster compatible con Aurora MySQL.
3. Siga el procedimiento general de la AWS CLI de Restauración de una instantánea de clúster de base
de datos (p. 545).
4. El valor que se utilizará para el parámetro --engine-mode depende de la versión del motor que elija.
Para Aurora MySQL 1.23 o posterior o 2.09 o posterior, especifique --engine-mode provisioned.
También puede omitir el parámetro --engine-mode, porque provisioned es el valor
predeterminado. En estas versiones, puede activar o desactivar la consulta paralela para los clústeres
de Aurora MySQL, en lugar de crear clústeres dedicados a utilizar siempre la consulta paralela.
957
Amazon Aurora Guía del usuario de Aurora
Activar y desactivar las consultas en paralelo
5. Verificar que un clúster que ha creado o restaurado tiene la característica de consultas en paralelo
disponible. Utilice el mismo procedimiento de verificación que en Creación de un clúster de consultas
paralelas utilizando la CLI (p. 955).
958
Amazon Aurora Guía del usuario de Aurora
Activar y desactivar las consultas en paralelo
Para activar el parámetro aurora_pq en el nivel de sesión, por ejemplo mediante la línea de comandos
mysql o en una aplicación JDBC u ODBC, use los métodos estándares para cambiar un ajuste de
configuración de un cliente. Por ejemplo, el comando en el cliente MySQL estándar es set session
aurora_pq = {'ON'/'OFF'}. También puede agregar el parámetro de nivel de sesión a la
configuración de JDBC o en su código de aplicación para activar o desactivar las consultas en paralelo de
forma dinámica.
Para activar o desactivar el parámetro de aurora_pq permanentemente, use las técnicas para trabajar
con grupos de parámetros, como se describe en Trabajo con los grupos de parámetros de base de datos y
grupos de parámetros de clúster de base de datos (p. 369). Sigue estos pasos:
Cuando las consultas en paralelo están activadas, Aurora MySQL determina si usarlas en
el tiempo de ejecución para cada consulta. En el caso de uniones, operaciones UNION,
subconsultas, etc., Aurora MySQL determina si usar consultas en paralelo en el tiempo de
ejecución para cada bloque de consulta. Para más detalles, consulte Verificación de qué
959
Amazon Aurora Guía del usuario de Aurora
Activar y desactivar las consultas en paralelo
instrucciones usan consultas paralelas (p. 963) y Cómo funcionan las consultas paralelas con
constructos de SQL (p. 970).
Para obtener información acerca de cómo utilizar combinaciones hash de manera eficaz, consulte
Optimización de grandes consultas combinadas de Aurora MySQL con combinaciones hash (p. 1123).
Para activar o desactivar la consulta paralela de un clúster de base de datos con la AWS
Management Console
1. Cree un grupo de parámetros personalizados según se indica en Trabajo con los grupos de
parámetros de base de datos y grupos de parámetros de clúster de base de datos (p. 369).
2. Para Aurora MySQL 1.23 y 2.09 o posteriores: actualice aurora_parallel_query a 1 (activado) o 0
(desactivado). Para los clústeres en los que la característica de consultas paralelas está disponible,
aurora_parallel_query está desactivado de forma predeterminada.
Para Aurora MySQL antes de 1.23: Actualice aurora_pq a 1 (activado) o 0 (desactivado). Para los
clústeres en los que la característica de consultas en paralelo está disponible, aurora_pq está activado
de forma predeterminada.
3. Si utiliza un grupo de parámetros de clúster personalizado, asócielo con el clúster de base de datos de
Aurora en el que piensa utilizar la característica de consulta paralela. Si utiliza un grupo de parámetros
DVB personalizado, asócielo con una o más instancias de base de datos en el clúster. Se recomienda
utilizar un grupo de parámetros de clúster. Al hacerlo, se asegura de que todas las instancias de base
de datos del clúster tienen la misma configuración para las consultas paralelas y las características
asociadas, como la combinación hash.
960
Amazon Aurora Guía del usuario de Aurora
Actualización de un clúster de consultas paralelas
Para activar o desactivar las consultas paralelas para un clúster de base de datos con la CLI
También puede activar o desactivar las consultas en paralelo en el nivel de sesión, por ejemplo, mediante
la línea de comandos mysql o en una aplicación JDBC u ODBC. Para ello, use los métodos estándares
para cambiar un ajuste de configuración de cliente. Por ejemplo, el comando en el cliente MySQL estándar
es set session aurora_parallel_query = {'ON'/'OFF'} para Aurora MySQL 1.23 o 2.09 y
posterior. Antes de Aurora MySQL 1.23, el comando es set session aurora_pq = {'ON'/'OFF'}.
961
Amazon Aurora Guía del usuario de Aurora
Actualización de un clúster de consultas paralelas
paralelas. Para obtener información sobre estas mejoras de consultas paralelas, consulte Tipos de datos
de columna (p. 974), Tablas particionadas (p. 975), y Funciones de agregación, cláusulas GROUP BY
y cláusulas HAVING (p. 975).
Si va a actualizar un clúster de consultas paralelas desde Aurora MySQL 2.08 o inferior, obtenga
información sobre los cambios en cómo activar la consulta paralela. Para ello lea Actualización de Aurora
MySQL 1.23 o 2.09 y posterior (p. 962).
Después de actualizar un clúster de consultas paralelas anterior a Aurora MySQL 1.23 o 2.09 y
posteriores, se activa la consulta paralela en el clúster actualizado. La consulta paralela está desactivada
de forma predeterminada en estas versiones y el procedimiento para habilitarla es diferente. La
optimización de combinación de hash también está desactivada de forma predeterminada y se debe
activar por separado. Por lo tanto, asegúrese de activar esta configuración de nuevo después de
la actualización. Para obtener instrucciones sobre cómo hacerlo, consulte Activar y desactivar las
consultas en paralelo (p. 958) y Activación de una combinación hash para clústeres de consultas
paralelas (p. 960).
Después de actualizar a Aurora MySQL 1.23 o 2.09 o posteriores, puede aprovechar las siguientes
características. Estas características no están disponibles para clústeres de consultas paralelas que
ejecutan versiones de Aurora MySQL anteriores.
• Performance Insights. Para obtener más información, consulte Monitoreo de la carga de base de datos
con Información sobre rendimiento en Amazon Aurora (p. 642).
• Búsqueda de datos anteriores. Para obtener más información, consulte Búsqueda de datos anteriores de
un clúster de base de datos de Aurora (p. 878).
• Parar y comenzar el clúster. Para obtener más información, consulte Detención e inicio de un clúster de
base de datos de Amazon Aurora (p. 401).
962
Amazon Aurora Guía del usuario de Aurora
Ajuste del rendimiento
• Asegúrese de que las tablas más grandes son compatibles con la consulta paralela. Es posible que
pueda cambiar las propiedades de la tabla o volver a crear algunas tablas para que las consultas de
esas tablas puedan aprovechar la optimización de consultas paralelas. Para saber cómo hacerlo,
consulte Creación de objetos de esquema para aprovechar las consultas paralelas (p. 963).
• Monitorizar qué consultas usan consultas en paralelo. Para saber cómo hacerlo, consulte Monitoreo de
Consultas en paralelo (p. 966).
• Compruebe que la consulta paralela se utiliza para las consultas con mayor volumen de datos y de larga
ejecución, y con el nivel adecuado de simultaneidad para su carga de trabajo. Para saber cómo hacerlo,
consulte Verificación de qué instrucciones usan consultas paralelas (p. 963).
• Ajuste el código SQL para activar la consulta paralela y que se aplique a las consultas que espera.
Para saber cómo hacerlo, consulte Cómo funcionan las consultas paralelas con constructos de
SQL (p. 970).
Dado que la consulta paralela requiere que las tablas usen la configuración de ROW_FORMAT=Compact
o ROW_FORMAT=Dynamic, compruebe las opciones de configuración de Aurora para realizar cualquier
cambio en la opción de configuración de INNODB_FILE_FORMAT. Emita la instrucción SHOW TABLE
STATUS para confirmar el formato de fila para todas las tablas en una base de datos.
Antes de cambiar el esquema para activar la consulta paralela para trabajar con más tablas, asegúrese
de probar. Las pruebas deben confirmar si la consulta paralela da como resultado un incremento neto en
el rendimiento de esas tablas. También asegúrese de que los requisitos del esquema de una consulta en
paralelo con compatibles en los demás aspectos con sus objetivos.
Si ejecuta experimentos en un entorno de desarrollo o de pruebas, es posible que observe que las
consultas paralelas no se utilizan porque las tablas son demasiado pequeñas en número de filas o
volumen de datos general. Los datos de la tabla también podrían encontrarse completamente en el grupo
de búfer, especialmente en el caso de tablas que haya creado recientemente para realizar experimentos.
963
Amazon Aurora Guía del usuario de Aurora
Verificación del uso de consultas paralelas
Cuando monitorea o ajusta el rendimiento de clústeres, asegúrese de decidir si se utilizan las consultas
paralelas en los contextos adecuados. Podría ajustar el esquema de la base de datos, la configuración,
las consultas SQL o incluso la topología de clústeres y la configuración de conexión de aplicación para
aprovechar esta característica.
Para comprobar si una consulta utiliza consultas paralelas, compruebe el plan de consulta (también
conocido como el "plan de explicación") ejecutando la instrucción EXPLAIN. En el caso de ejemplos
sobre cómo afectan las instrucciones, cláusulas y expresiones de SQL a los resultados de EXPLAIN para
consultas en paralelo, consulte Cómo funcionan las consultas paralelas con constructos de SQL (p. 970).
+----+-------------+----------+------------+------+---------------+------+---------+------
+----------+----------+----------------------------------------------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref |
rows | filtered | Extra |
+----+-------------+----------+------------+------+---------------+------+---------+------
+----------+----------+----------------------------------------------------+
| 1 | SIMPLE | customer | NULL | ALL | NULL | NULL | NULL | NULL |
1480234 | 10.00 | Using where; Using temporary; Using filesort |
| 1 | SIMPLE | orders | NULL | ALL | NULL | NULL | NULL | NULL |
14875240 | 3.33 | Using where; Using join buffer (Block Nested Loop) |
| 1 | SIMPLE | lineitem | NULL | ALL | NULL | NULL | NULL | NULL |
59270573 | 3.33 | Using where; Using join buffer (Block Nested Loop) |
+----+-------------+----------+------------+------+---------------+------+---------+------
+----------+----------+----------------------------------------------------+
Puede activar la combinación hash en el nivel de sesión mediante la emisión de la siguiente instrucción.
Después, intente la instrucción EXPLAIN de nuevo.
964
Amazon Aurora Guía del usuario de Aurora
Verificación del uso de consultas paralelas
Para obtener información acerca de cómo utilizar combinaciones hash de manera eficaz, consulte
Optimización de grandes consultas combinadas de Aurora MySQL con combinaciones hash (p. 1123).
Con las combinaciones hash activadas pero las consultas paralelas desactivadas, es posible que la
consulta tenga un plan como el siguiente, que usa combinaciones hash, pero no consultas paralelas.
+----+-------------+----------+...+-----------
+-----------------------------------------------------------------+
| id | select_type | table |...| rows | Extra
|
+----+-------------+----------+...+-----------
+-----------------------------------------------------------------+
| 1 | SIMPLE | customer |...| 5798330 | Using where; Using index; Using temporary;
Using filesort |
| 1 | SIMPLE | orders |...| 154545408 | Using where; Using join buffer (Hash Join
Outer table orders) |
| 1 | SIMPLE | lineitem |...| 606119300 | Using where; Using join buffer (Hash Join
Outer table lineitem) |
+----+-------------+----------+...+-----------
+-----------------------------------------------------------------+
Después de que las consultas paralelas estén activadas, dos pasos de este plan de consulta pueden usar
la optimización de consultas paralelas, como se muestra en la columna Extra de la salida de EXPLAIN. El
procesamiento con uso intensivo de E/S y de CPU para estos pasos se baja a la capa de almacenamiento.
+----+...
+------------------------------------------------------------------------------------------------------
+
| id |...| Extra
|
+----+...
+------------------------------------------------------------------------------------------------------
+
| 1 |...| Using where; Using index; Using temporary; Using filesort
|
| 1 |...| Using where; Using join buffer (Hash Join Outer table orders); Using parallel
query (4 columns, 1 filters, 1 exprs; 0 extra) |
| 1 |...| Using where; Using join buffer (Hash Join Outer table lineitem); Using parallel
query (4 columns, 1 filters, 1 exprs; 0 extra) |
+----+...
+------------------------------------------------------------------------------------------------------
+
Para obtener información sobre cómo interpretar las salidas de EXPLAIN para una consulta en paralelo
y las partes de las instrucciones de SQL a las que las consultas en paralelo pueden aplicarse, consulte
Cómo funcionan las consultas paralelas con constructos de SQL (p. 970).
En la siguiente salida de ejemplo se muestran los resultados de ejecutar la consulta anterior en una
instancia de db.r4.2xlarge con un grupo de búfer frío. La consulta se ejecuta notablemente más rápido al
usar las consultas en paralelo.
Note
Dado que los tiempos dependen de muchos factores del entorno, sus resultados podrían ser
diferentes. Realice siempre sus propias pruebas de rendimiento para confirmar los resultados con
su propio entorno, carga de trabajo, etc.
965
Amazon Aurora Guía del usuario de Aurora
Monitorización
Muchas de las consultas de ejemplo de esta sección usan tablas de este conjunto de datos de TPC-H, en
particular la tabla PART, que tiene 20 millones de filas y la siguiente definición.
+---------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------------+------+-----+---------+-------+
| p_partkey | int(11) | NO | PRI | NULL | |
| p_name | varchar(55) | NO | | NULL | |
| p_mfgr | char(25) | NO | | NULL | |
| p_brand | char(10) | NO | | NULL | |
| p_type | varchar(25) | NO | | NULL | |
| p_size | int(11) | NO | | NULL | |
| p_container | char(10) | NO | | NULL | |
| p_retailprice | decimal(15,2) | NO | | NULL | |
| p_comment | varchar(23) | NO | | NULL | |
+---------------+---------------+------+-----+---------+-------+
Experimente con su carga de trabajo para averiguar si las instrucciones de SQL individuales pueden sacar
partido de las consultas en paralelo. A continuación, use las siguientes técnicas de monitoreo para ayudar
a comprobar la frecuencia con la que se usa la consulta paralela en las cargas de trabajo reales a lo largo
del tiempo. En el caso de cargas de trabajo reales, se aplican otros factores adicionales, como los límites
de simultaneidad.
Además de las métricas de Amazon CloudWatch descritas en Monitoreo de métricas de Amazon Aurora
con Amazon CloudWatch (p. 618), Aurora proporciona otras variables de estado globales. Puede utilizar
estas variables de estado global para ayudar a monitorear la ejecución de consultas paralelas. Pueden
darle información sobre por qué es posible que el optimizador utilice o no la consulta paralela en una
situación determinada. Para acceder a estas variables, puede usar el comando SHOW GLOBAL STATUS.
También puede encontrar estas variables enumeradas a continuación.
Una sesión de consultas en paralelo no es necesariamente un mapeo uno a uno con las consultas
realizadas por la base de datos. Por ejemplo, suponga que su plan de consulta tiene dos pasos que usan
la consulta paralela. En tal caso, la consulta implica dos sesiones paralelas y los contadores de intentos de
solicitud y de solicitudes correctas se incrementan en dos.
966
Amazon Aurora Guía del usuario de Aurora
Monitorización
Cuando experimente con las consultas en paralelo emitiendo instrucciones EXPLAIN, espere ver aumentos
en los contadores designados como no elegidos incluso aunque las consultas no se estén ejecutando
reamente. Cuando trabaje con consultas en paralelo en producción, puede comprobar si los contadores
de no elegido están aumentando más rápido de lo que espera. En este punto, puede ajustar para que la
consulta paralela se ejecute para las consultas que espera. Para ello, puede cambiar la configuración del
clúster, la mezcla de consultas, las instancias de base de datos donde la consulta paralela está activada,
etc.
Nombre Descripción
967
Amazon Aurora Guía del usuario de Aurora
Monitorización
968
Amazon Aurora Guía del usuario de Aurora
Monitorización
969
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
La decisión de usar consultas en paralelo depende de muchos factores que tienen lugar en el momento en
que se ejecuta la instrucción. Por tanto, la consulta en paralelo podría usarse para determinadas consultas
siempre, nunca o solo en ciertas condiciones.
970
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
Tip
Cuando consulte estos ejemplos en HTML, puede utilizar el widget Copy (Copiar) en la esquina
superior derecha de cada descripción de código para copiar el código SQL y probarlo usted
mismo. El uso del widget Copy (Copiar) evita copiar los caracteres adicionales alrededor de las
líneas de solicitud de mysql> y de continuación de ->.
Temas
• Instrucción EXPLAIN (p. 971)
• Cláusula WHERE (p. 973)
• Lenguaje de definición de datos (DDL) (p. 974)
• Tipos de datos de columna (p. 974)
• Tablas particionadas (p. 975)
• Funciones de agregación, cláusulas GROUP BY y cláusulas HAVING (p. 975)
• Llamadas de función en la cláusula WHERE (p. 976)
• Cláusula LIMIT (p. 977)
• Operadores de comparación (p. 977)
• Joins (p. 978)
• Subqueries (p. 979)
• UNION (p. 979)
• Views (p. 980)
• Instrucciones de lenguaje de manipulación de datos (DML) (p. 980)
• Transacciones y bloqueo (p. 981)
• Índices de árbol B (p. 983)
• Índices de búsqueda de texto completo (FTS) (p. 983)
• Virtual columns (p. 983)
• Mecanismos de almacenamiento en caché integrados (p. 984)
• Tablas temporales MyISAM (p. 984)
Instrucción EXPLAIN
Como se muestra en los ejemplos de esta sección, la instrucción EXPLAIN indica si cada fase de una
consulta es apta actualmente para las consultas en paralelo. También indica qué aspectos de una consulta
se pueden bajar a la capa de almacenamiento. Los elementos más importantes del plan de consulta son
los siguientes:
• Un valor distinto de NULL para la columna key indica que la consulta se puede realizar con eficacia
usando búsquedas del índice y que es poco probable el uso de consultas en paralelo.
• Un valor pequeño para la columna rows (un valor que no sea de millones) indica que la consulta no
accede a suficientes datos para que valga la pena realizar consultas paralelas. Esto significa que la
consulta paralela es poco probable.
• La columna Extra muestra si se espera usar consultas en paralelo. Este resultado tiene el aspecto del
siguiente ejemplo.
971
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
El número de filters representa el número de predicados de WHERE que representan una simple
comparación de un valor de columna con una constante. La comparación puede ser de igualdad,
desigualdad o rango. Aurora puede paralelizar estos tipos de predicados con más eficacia.
El número de exprs representa el número de expresiones como las llamadas de función, operadores
u otras expresiones que también se pueden paralelizar, aunque no con la misma eficacia que una
condición de filtro.
El número extra representa cuántas expresiones no se pueden bajar y las realiza el nodo director.
La información de la columna Extra muestra que se extraen cinco columnas de cada fila para evaluar
las condiciones de consulta y construir el conjunto de resultados. Un predicado WHERE implica un filtro,
es decir, una columna que se prueba directamente en la cláusula WHERE. Dos cláusulas WHERE requieren
la evaluación de expresiones más complicadas, en este caso implican llamadas de función. El campo 0
extra confirma que todas las operaciones de la cláusula WHERE se bajan a la capa de almacenamiento
como parte del procesamiento de consultas en paralelo.
En los casos en los que las consultas en paralelo no se eligen, normalmente se puede deducir el motivo
de las otras columnas de la salida EXPLAIN. Por ejemplo, el valor de rows podría ser demasiado pequeño
o la columna possible_keys podría indicar que la consulta puede usar búsqueda de índice en lugar
de un análisis de uso intensivo de datos. En el ejemplo siguiente se muestra una consulta en la que el
optimizador puede estimar que la consulta solo analizará un pequeño número de filas. Lo hace en función
de las características de la clave principal. En este caso, las consultas en paralelo no se requieren.
mysql> explain select count(*) from part where p_partkey between 1 and 100;
+----+-------------+-------+-------+---------------+---------+---------+------+------
+--------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows |
Extra |
+----+-------------+-------+-------+---------------+---------+---------+------+------
+--------------------------+
| 1 | SIMPLE | part | range | PRIMARY | PRIMARY | 4 | NULL | 99 |
Using where; Using index |
+----+-------------+-------+-------+---------------+---------+---------+------+------
+--------------------------+
La salida que muestra si se usarán las consultas en paralelo tiene en cuenta todos los factores disponibles
en el momento en que se ejecuta la instrucción EXPLAIN. El optimizador podría realizar una elección
distinta cuando la consulta se ejecute realmente, si la situación ha cambiado mientras tanto. Por ejemplo,
EXPLAIN podría notificar que una instrucción usará consultas en paralelo. Pero cuando la consulta se
ejecute realmente más tarde, podría no usar consultas en paralelo en función de las condiciones de ese
972
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
momento. Estas condiciones pueden incluir otras consultas paralelas que se ejecutan simultáneamente.
También pueden incluir filas que se eliminan de la tabla, la creación de un nuevo índice, el paso de
demasiado tiempo dentro de una transacción abierta, etc.
Cláusula WHERE
Para que una consulta use la optimización de consultas en paralelo, debe incluir una cláusula WHERE.
• Comparaciones simples de un valor de columna con una constante, conocidos como filtros. Estas
comparaciones se benefician más de bajarse a la capa de almacenamiento. El número de expresiones
de filtro de una consulta se notifica en la salida de EXPLAIN.
• Otros tipos de expresiones de la cláusula WHERE también se bajan a la capa de almacenamiento cuando
es posible. El número de expresiones de ese tipo en una consulta se notifica en la salida de EXPLAIN.
Dichas expresiones pueden ser llamadas de función, operadores LIKE, expresiones CASE, etc.
• Determinadas funciones y operadores actualmente no se bajan mediante consultas en paralelo. El
número de expresiones de ese tipo en una consulta se notifica como extra en la salida de EXPLAIN. El
resto de la consulta puede seguir usando consultas en paralelo.
• Aunque las expresiones de la lista de selección no se bajan, las consultas que contengan tales
funciones siguen pudiendo beneficiarse del tráfico de red reducido por los resultados intermedios de las
consultas en paralelo. Por ejemplo, las consultas que llaman a funciones de agregación en la lista de
selección pueden beneficiarse de las consultas en paralelo, incluso aunque las funciones de agregación
no se bajen.
Por ejemplo, la siguiente consulta realiza un análisis de tabla completa y procesa todos los valores de
la columna P_BRAND. Sin embargo, no usa consultas en paralelo porque la consulta no incluye ninguna
cláusula WHERE.
Por el contrario, la siguiente consulta incluye predicados de WHERE que filtran los resultados, de forma que
se pueden aplicar las consultas en paralelo:
mysql> explain select count(*), p_brand from part where p_name is not null
-> and p_mfgr in ('Manufacturer#1', 'Manufacturer#3') and p_retailprice > 1000
-> group by p_brand;
+----+...+----------
+------------------------------------------------------------------------------------------------------
+
| id |...| rows | Extra
|
+----+...+----------
+------------------------------------------------------------------------------------------------------
+
| 1 |...| 20427936 | Using where; Using temporary; Using filesort; Using parallel query (5
columns, 1 filters, 2 exprs; 0 extra) |
973
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
+----+...+----------
+------------------------------------------------------------------------------------------------------
+
Si el optimizador estima que el número de filas devueltas para un bloque de consulta es pequeño, las
consultas en paralelo no se usan para ese bloque de consultas. En el siguiente ejemplo se muestra un
caso en el que un operador de mayor que de la columna de clave principal se aplica a un millón de filas,
lo que causa que se usen las consultas en paralelo. La prueba contraria de menor que se estima que se
aplicará solo a unas pocas filas y no usa las consultas en paralelo.
mysql> explain select count(*) from part where p_partkey > 10;
+----+...+----------
+----------------------------------------------------------------------------+
| id |...| rows | Extra
|
+----+...+----------
+----------------------------------------------------------------------------+
| 1 |...| 20427936 | Using where; Using parallel query (1 columns, 1 filters, 0 exprs; 0
extra) |
+----+...+----------
+----------------------------------------------------------------------------+
mysql> explain select count(*) from part where p_partkey < 10;
+----+...+------+--------------------------+
| id |...| rows | Extra |
+----+...+------+--------------------------+
| 1 |...| 9 | Using where; Using index |
+----+...+------+--------------------------+
Antes de Aurora MySQL versión 3, la consulta paralela tiene estas limitaciones para los tipos de objetos
grandes:
En estas versiones anteriores, TEXT, BLOB, JSON, y GEOMETRY, los tipos de datos no son compatibles con
las consultas en paralelo. Una consulta que haga referencia a cualquier columna de estos tipos no puede
usar consultas en paralelo.
En estas versiones anteriores, las columnas de longitud variable (tipos de datos VARCHAR y CHAR) son
compatibles con las consultas en paralelo hasta una longitud máxima declarada de 768 bytes. Una
consulta que haga referencia a cualquier columna de los tipos declarados con una longitud máxima más
larga no puede usar consultas en paralelo. En el caso de columnas que usen conjuntos de caracteres
974
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
multibyte, el límite de bytes tiene en cuenta el número máximo de bytes del conjunto de caracteres. Por
ejemplo, para el conjunto de caracteres utf8mb4 (que tiene una longitud máxima de caracteres de 4
bytes), una columna VARCHAR(192) es compatible con una consulta en paralelo, pero una columna
VARCHAR(193) no lo es.
Tablas particionadas
Puede utilizar tablas particionadas con consultas en paralelo en Aurora MySQL versión 3. Dado que las
tablas particionadas se representan internamente como varias tablas más pequeñas, una consulta que
utiliza una consulta paralela en una tabla no particionada podría no utilizar una consulta paralela en una
tabla particionada idéntica. Aurora MySQL considera si cada partición es lo suficientemente grande como
para calificar para la optimización de consultas paralelas, en lugar de evaluar el tamaño de toda la tabla.
Verifique si la variable de estado Aurora_pq_request_not_chosen_small_table se incrementa si
una consulta de una tabla particionada no utiliza una consulta paralela cuando se espera que lo haga.
Por ejemplo, considere una tabla particionada con PARTITION BY HASH (column) PARTITIONS 2
y otra tabla particionada con PARTITION BY HASH (column) PARTITIONS 10. En la tabla con dos
particiones, las particiones son cinco veces más grandes que la tabla con diez particiones. Por lo tanto, es
más probable que las consultas paralelas se utilicen para consultas en la tabla con menos particiones. En
el siguiente ejemplo, la tabla PART_BIG_PARTITIONS tiene dos particiones y PART_SMALL_PARTITIONS
tiene diez particiones. Con datos idénticos, es más probable que las consultas paralelas se utilicen para la
tabla con menos particiones grandes.
mysql> explain select count(*), p_brand from part_big_partitions where p_name is not null
-> and p_mfgr in ('Manufacturer#1', 'Manufacturer#3') and p_retailprice > 1000 group
by p_brand;
+----+-------------+---------------------+------------
+------------------------------------------------------------------------------------------------------
+
| id | select_type | table | partitions | Extra
|
+----+-------------+---------------------+------------
+------------------------------------------------------------------------------------------------------
+
| 1 | SIMPLE | part_big_partitions | p0,p1 | Using where; Using temporary; Using
parallel query (4 columns, 1 filters, 1 exprs; 0 extra; 1 group-bys, 1 aggrs) |
+----+-------------+---------------------+------------
+------------------------------------------------------------------------------------------------------
+
mysql> explain select count(*), p_brand from part_small_partitions where p_name is not null
-> and p_mfgr in ('Manufacturer#1', 'Manufacturer#3') and p_retailprice > 1000 group
by p_brand;
+----+-------------+-----------------------+-------------------------------
+------------------------------+
| id | select_type | table | partitions | Extra
|
+----+-------------+-----------------------+-------------------------------
+------------------------------+
| 1 | SIMPLE | part_small_partitions | p0,p1,p2,p3,p4,p5,p6,p7,p8,p9 | Using where;
Using temporary |
+----+-------------+-----------------------+-------------------------------
+------------------------------+
975
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
En Aurora MySQL 3, la consulta paralela puede optimizar las llamadas a funciones agregadas en la lista de
selección y en la cláusula HAVING.
Antes de la versión 3 de Aurora MySQL, las llamadas de función agregadas en la lista de selección o la
cláusula HAVING no se bajan a la capa de almacenamiento. Sin embargo, las consultas en paralelo siguen
mejorando el rendimiento de tales consultas con las funciones de agregación. Para ello, primero extraen
los valores de columna de las páginas de datos sin procesar en paralelo en la capa de almacenamiento. A
continuación, transmiten dichos valores de vuelta al nodo director en formato compacto de tupla en lugar
de como páginas de datos completas. Como siempre, la consulta requiere al menos un predicado WHERE
para que las consultas en paralelo se activen.
En los siguientes ejemplos simples se ilustran los tipos de consultas de agregación que pueden
aprovechar las consultas en paralelo. Para ello, devuelven los resultados intermedios en formato compacto
al nodo director, filtran las filas que no coinciden de los resultados intermedios o ambos.
mysql> explain select sql_no_cache count(distinct p_brand) from part where p_mfgr =
'Manufacturer#5';
+----+...+----------------------------------------------------------------------------+
| id |...| Extra |
+----+...+----------------------------------------------------------------------------+
| 1 |...| Using where; Using parallel query (2 columns, 1 filters, 0 exprs; 0 extra) |
+----+...+----------------------------------------------------------------------------+
mysql> explain select sql_no_cache p_mfgr from part where p_retailprice > 1000 group by
p_mfgr having count(*) > 100;
+----+...
+------------------------------------------------------------------------------------------------------
+
| id |...| Extra
|
+----+...
+------------------------------------------------------------------------------------------------------
+
| 1 |...| Using where; Using temporary; Using filesort; Using parallel query (3 columns, 0
filters, 1 exprs; 0 extra) |
+----+...
+------------------------------------------------------------------------------------------------------
+
En el siguiente ejemplo, la consulta paralela paraleliza la llamada a LOWER porque aparece en la cláusula
WHERE. Las consultas paralelas no afectan a las llamadas a SUBSTR y UPPER porque aparecen en la lista
de selección.
976
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
+----+...
+---------------------------------------------------------------------------------------------
+
| id |...| Extra
|
+----+...
+---------------------------------------------------------------------------------------------
+
| 1 |...| Using where; Using temporary; Using parallel query (2 columns, 0 filters, 1
exprs; 0 extra) |
+----+...
+---------------------------------------------------------------------------------------------
+
La misma consideración se aplica a otras expresiones, como las expresiones CASE o los operadores LIKE.
Por ejemplo, en el siguiente ejemplo se muestra que las consultas en paralelo evalúan la expresión CASE y
los operadores LIKE de la cláusula WHERE.
Cláusula LIMIT
Actualmente, las consultas en paralelo no se utilizan para ningún bloque de consultas que incluya una
cláusula LIMIT. Aun así, las consultas en paralelo podrían usarse para fases de consulta anteriores con
GROUP BY, ORDER BY o uniones.
Operadores de comparación
El optimizador estima cuántas filas analizar para evaluar los operadores de comparación y determina si
usar las consultas en paralelo en función de dicha estimación.
El primer ejemplo a continuación muestra que puede realizarse una comparación de igualdad con
respecto a la columna de clave principal con eficacia sin usar consultas en paralelo. El segundo ejemplo
a continuación muestra que una comparación similar con respecto a una columna no indexada requiere el
análisis de millones de filas y, por tanto, puede sacar partido de las consultas en paralelo.
977
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
| 1 |...| 1 | NULL |
+----+...+------+-------+
mysql> explain select * from part where p_type = 'LARGE BRUSHED BRASS';
+----+...+----------
+----------------------------------------------------------------------------+
| id |...| rows | Extra
|
+----+...+----------
+----------------------------------------------------------------------------+
| 1 |...| 20427936 | Using where; Using parallel query (9 columns, 1 filters, 0 exprs; 0
extra) |
+----+...+----------
+----------------------------------------------------------------------------+
Se aplican las mismas consideraciones para pruebas de desigualdad y para comparaciones de rango,
como de menor que, mayor que, igual a, o BETWEEN. El optimizador estima el número de filas que analizar
y determina si vale la pena usar consultas en paralelo en función del volumen general de E/S.
Joins
Las consultas de unión con tablas grandes suelen implicar operaciones con un uso intensivo de datos que
se benefician de la optimización de consultas en paralelo. Las comparaciones de valores de columnas
entre tablas múltiples (es decir, los predicados de unión en sí) actualmente no se paralelizan. Sin embargo,
las consultas en paralelo pueden bajar algunos de los procesamientos internos para otras fases de unión,
como la construcción del filtro de Bloom durante una unión de hash. Las consultas en paralelo se pueden
aplicar a consultas de unión incluso sin una cláusula WHERE. Por tanto, una consulta de unión es una
excepción a la regla de que se requiere una cláusula WHERE para usar las consultas en paralelo.
Cada fase del procesamiento de unión se evalúa para comprobar si es apto para las consultas en paralelo.
Si varias fases pueden usar consultas en paralelo, estas fases se realizan en secuencia. Por tanto,
cada consulta de unión cuenta como una sola sesión de consultas en paralelo en términos de límites de
simultaneidad.
Por ejemplo, cuando una consulta incluye predicados WHERE para filtrar las filas de una de las tablas
unidas, esa opción de filtrado puede usar las consultas en paralelo. Como otro ejemplo, suponga que una
consulta de unión usa el mecanismo de unión de hash, por ejemplo, para unir una tabla grande con una
tabla pequeña. En este caso, el análisis de tabla para producir la estructura de datos de filtro de Bloom
podría usar consultas en paralelo.
Note
La consulta en paralelo se utiliza típicamente para los tipos de consultas que consumen más
recursos que se benefician de la optimización de la combinación hash. El método para activar la
optimización de uniones hash depende de la versión de Aurora MySQL. Para obtener información
acerca de cada versión, consulte Activación de una combinación hash para clústeres de consultas
paralelas (p. 960). Para obtener información acerca de cómo utilizar combinaciones hash de
manera eficaz, consulte Optimización de grandes consultas combinadas de Aurora MySQL con
combinaciones hash (p. 1123).
mysql> explain select count(*) from orders join customer where o_custkey = c_custkey;
+----+...+----------+-------+---------------+-------------+...+-----------
+------------------------------------------------------------------------------------------------------
+
| id |...| table | type | possible_keys | key |...| rows | Extra
|
+----+...+----------+-------+---------------+-------------+...+-----------
+------------------------------------------------------------------------------------------------------
+
978
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
|
| 1 |...| orders | ALL | o_custkey | NULL |...| 154545408 | Using join
buffer (Hash Join Outer table orders); Using parallel query (1 columns, 0 filters, 1
exprs; 0 extra) |
+----+...+----------+-------+---------------+-------------+...+-----------
+------------------------------------------------------------------------------------------------------
+
En el caso de una consulta de unión que use el mecanismo de bucle anidado, el bloque de bucle anidado
más exterior podría usar consultas en paralelo. El uso de las consultas en paralelo depende de los factores
habituales, como la presencia de condiciones de filtro adicionales en la cláusula WHERE.
mysql> -- Nested loop join with extra filter conditions can use parallel query.
mysql> explain select count(*) from part, partsupp where p_partkey != ps_partkey and p_name
is not null and ps_availqty > 0;
+----+-------------+----------+...+----------
+----------------------------------------------------------------------------+
| id | select_type | table |...| rows | Extra
|
+----+-------------+----------+...+----------
+----------------------------------------------------------------------------+
| 1 | SIMPLE | part |...| 20427936 | Using where; Using parallel query (2
columns, 1 filters, 0 exprs; 0 extra) |
| 1 | SIMPLE | partsupp |...| 78164450 | Using where; Using join buffer (Block Nested
Loop) |
+----+-------------+----------+...+----------
+----------------------------------------------------------------------------+
Subqueries
El bloque de consulta externa y el bloque de subconsulta interna es posible que usen cada una la consulta
paralela o no. Si lo hacen es en función de las características habituales de la tabla, cláusula WHERE,
etc., para cada bloque. Por ejemplo, la siguiente consulta usa consultas en paralelo para el bloque de
subconsulta, pero no el bloque exterior.
UNION
Cada bloque de consulta de una consulta de UNION puede usar o no usar consultas en paralelo, en
función de las características habituales de la tabla, la cláusula WHERE, etc., para cada parte de UNION
mysql> explain select p_partkey from part where p_name like '%choco_ate%'
979
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
-> union select p_partkey from part where p_name like '%vanil_a%';
+----+----------------+...+----------
+----------------------------------------------------------------------------+
| id | select_type |...| rows | Extra
|
+----+----------------+...+----------
+----------------------------------------------------------------------------+
| 1 | PRIMARY |...| 20427936 | Using where; Using parallel query (2 columns, 0
filters, 1 exprs; 0 extra) |
| 2 | UNION |...| 20427936 | Using where; Using parallel query (2 columns, 0
filters, 1 exprs; 0 extra) |
| NULL | UNION RESULT | <union1,2> |...| NULL | Using temporary
|
+----+--------------+...+----------
+----------------------------------------------------------------------------+
Note
Views
El optimizador reescribe cualquier consulta que use una vista como una consulta mayor que use las tablas
subyacentes. Por tanto, las consultas en paralelo funcionan igual tanto si las referencias de tabla son
vistas como si son tablas reales. Las mismas consideraciones sobre si usar consultas en paralelo para una
consulta y qué partes se deben bajar también se aplican a la consulta reescrita final.
Por ejemplo, el siguiente plan de consulta muestra una definición de consulta que normalmente no usa
consultas paralelas. Cuando se consulta la vista con cláusulas WHERE adicionales, Aurora MySQL usa
consultas en paralelo.
980
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
| 1 |...| 20427936 | Using where; Using parallel query (9 columns, 1 filters, 0 exprs; 0
extra) |
+----+...+----------
+----------------------------------------------------------------------------+
Note
Normalmente, después de una instrucción INSERT, los datos de las filas recién insertadas se
encuentran en el grupo de búfer. Por tanto, una tabla podría no ser apta para las consultas
en paralelo inmediatamente después de insertar un gran número de filas. Más tarde, cuando
los datos se desalojen del grupo de búfer durante el funcionamiento normal, las consultas con
respecto a la tabla podrían comenzar a usar las consultas en paralelo de nuevo.
La instrucción CREATE TABLE AS SELECT no usa consultas en paralelo, incluso aunque la porción
SELECT de la instrucción fuera apta de otra forma para la consultas en paralelo. El aspecto de DDL de esta
instrucción hace que sea incompatible con el procesamiento de consultas en paralelo. Por el contrario, en
la instrucción INSERT ... SELECT, la porción SELECT puede usar consultas en paralelo.
Las consultas en paralelo nunca se usan para las instrucciones DELETE o UPDATE, independientemente
del tamaño de la tabla y los predicados de la cláusula WHERE.
Transacciones y bloqueo
Puede usar todos los niveles de aislamiento de la instancia principal de Aurora.
En las instancias de base de datos de lector de Aurora, la consulta en paralelo se aplica a las
sentencias realizadas bajo el nivel de aislamiento REPEATABLE READ. Las versiones de Aurora
MySQL 1.23 y 2.09 o posteriores también pueden usar el nivel de aislamiento READ COMMITTED en
instancias de base de datos de lector. REPEATABLE READ es el nivel de aislamiento predeterminado
para las instancias de base de datos de lector de Aurora. Para utilizar el nivel de aislamiento READ
COMMITTED en instancias de base de datos de lector es necesario establecer la opción de configuración
aurora_read_replica_read_committed en el nivel de sesión. El nivel de aislamiento de READ
COMMITTED para las instancias del lector cumple con el comportamiento estándar de SQL. Sin embargo,
el aislamiento es menos estricto en las instancias del lector que cuando las consultas utilizan el nivel de
aislamiento de READ COMMITTED en la instancia del escritor.
Para obtener más información acerca de los niveles de aislamiento de Aurora, especialmente las
diferencias en READ COMMITTED entre instancias del escritor y del lector, consulte Niveles de aislamiento
de Aurora MySQL (p. 1157).
Después de terminar una gran transacción, las estadísticas de tabla podrían quedar obsoletas. Dichas
estadísticas obsoletas podrían requerir una instrucción ANALYZE TABLE antes de que Aurora pueda
estimar con precisión el número filas. Una instrucción DML a gran escala también podría aportar una
porción sustancial de los datos de tabla en el grupo de búfer. Tener estos datos en el grupo de búfer puede
dar lugar a que las consultas en paralelo se elijan con menos frecuencia para esa tabla hasta que los datos
se desalojen del grupo.
Cuando su sesión esté dentro de una transacción de ejecución prolongada (por ejemplo, 10 minutos),
las consultas posteriores dentro de la sesión no usan consultas en paralelo. También puede agotarse
el tiempo de espera durante una única consulta de ejecución prolongada. Este tipo de finalización del
981
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
tiempo de espera podría ocurrir si la consulta se ejecuta durante más del intervalo máximo (actualmente,
10 minutos) antes de que empiece el procesamiento de las consultas en paralelo.
En el siguiente ejemplo se muestra cómo, con el ajuste autocommit desactivado, ejecutar una consulta
contra una tabla crea una vista de lectura que inicia implícitamente una transacción. Las consultas que se
ejecutan poco después pueden seguir usando consultas en paralelo. Sin embargo, después de una pausa
de varios minutos, las consultas ya no son aptas para las consultas en paralelo. Terminar la transacción
con COMMIT o ROLLBACK restaura la elegibilidad de las consultas en paralelo.
mysql> explain select sql_no_cache count(*) from part where p_retailprice > 10.0;
+----+...+---------
+----------------------------------------------------------------------------+
| id |...| rows | Extra
|
+----+...+---------
+----------------------------------------------------------------------------+
| 1 |...| 2976129 | Using where; Using parallel query (1 columns, 1 filters, 0 exprs; 0
extra) |
+----+...+---------
+----------------------------------------------------------------------------+
mysql> select sleep(720); explain select sql_no_cache count(*) from part where
p_retailprice > 10.0;
+------------+
| sleep(720) |
+------------+
| 0 |
+------------+
1 row in set (12 min 0.00 sec)
+----+...+---------+-------------+
| id |...| rows | Extra |
+----+...+---------+-------------+
| 1 |...| 2976129 | Using where |
+----+...+---------+-------------+
mysql> commit;
mysql> explain select sql_no_cache count(*) from part where p_retailprice > 10.0;
+----+...+---------
+----------------------------------------------------------------------------+
| id |...| rows | Extra
|
+----+...+---------
+----------------------------------------------------------------------------+
| 1 |...| 2976129 | Using where; Using parallel query (1 columns, 1 filters, 0 exprs; 0
extra) |
+----+...+---------
+----------------------------------------------------------------------------+
Para ver cuántas veces las consultas no fueron aptas para consultas en paralelo porque
estaban dentro de transacciones de ejecución prolongada, consulte la variable de estado
Aurora_pq_request_not_chosen_long_trx.
982
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
Cualquier instrucción SELECT que adquiera bloqueos, como la sintaxis de SELECT FOR UPDATE o
SELECT LOCK IN SHARE MODE, no puede usar consultas en paralelo.
Las consultas en paralelo pueden funcionar para una tabla que esté bloqueada por una instrucción LOCK
TABLES.
Índices de árbol B
Las estadísticas reunidas por la instrucción ANALYZE TABLE ayudan al optimizador a decidir cuándo
usar las consultas en paralelo o las búsquedas de índice, según las características de los datos de
cada columna. Para mantener las estadísticas actualizadas, ejecute ANALYZE TABLE después de las
operaciones de DML que realicen cambios sustanciales en los datos de una tabla.
Si las búsquedas de índice pueden realizar una consulta de manera eficaz sin un análisis con uso intensivo
de datos, Aurora podría usar búsquedas de índice. Esto evita el gasto general del procesamiento de las
consultas en paralelo. También existen límites de simultaneidad sobre el número de consultas en paralelo
que se pueden ejecutar a la vez en cualquier clúster de base de datos Aurora. Asegúrese de usar las
prácticas recomendadas para indexar sus tablas, de forma que sus consultas más frecuentes y de mayor
simultaneidad usen búsquedas de índice.
Virtual columns
Actualmente, la consulta paralela no se utiliza para tablas que contienen una columna virtual,
independientemente de si la consulta se refiere a columnas virtuales.
983
Amazon Aurora Guía del usuario de Aurora
Consultas paralelas y constructos de SQL
Cuando una consulta en paralelo filtra filas y transforma y extrae valores de columna, los datos se
transmiten de vuelta al nodo director como tuplas en lugar de como páginas de datos. Por tanto, ejecutar
una consulta en paralelo no añade ninguna página al grupo de búfer ni desaloja páginas que ya estén en el
grupo de búfer.
Aurora verifica el número de páginas de datos de tabla que están presentes en el grupo de búfer
y qué proporción de los datos de tabla representa ese número. Aurora utiliza esa información para
determinar si es más eficaz para usar consultas en paralelo (y omitir los datos del grupo de búfer). De
manera alternativa, Aurora podría usar la ruta de ejecución de consultas no paralelas, que usa los datos
almacenados en caché en el grupo de búfer. Las páginas que se almacenan en caché y cómo afectan
las consultas con uso intensivo de datos al almacenamiento en caché y la expulsión dependen de la
configuración relacionada con el grupo de búfer. Por tanto, puede ser difícil predecir si una consulta
concreta usará consultas en paralelo porque la elección depende de los datos que cambian en el grupo de
búfer.
Además, Aurora impone límites de simultaneidad en las consultas paralelas. Puesto que no todas las
consultas usan consultas en paralelo, las tablas a las que acceden múltiples consultas simultáneamente
suelen tener una porción importante de sus datos en el grupo de búfer. Por tanto, Aurora no suele elegir
estas tablas para consultas en paralelo.
Cuando ejecute una secuencia de consultas no paralelas en la misma tabla, la primera consulta podría ser
lenta debido a que los datos no estén en el grupo de búfer. Después, la segunda consulta y las posteriores
son mucho más rápidas puesto que el grupo de búfer ha "calentado". Las consultas en paralelo suelen
mostrar un rendimiento uniforme desde la primera consulta respecto a la tabla. Al realizar pruebas de
rendimiento, haga un análisis comparativo de las consultas no paralelas con un grupo de búfer frío y otro
caliente. En algunos casos, los resultados con un grupo de búfer caliente se pueden comparar bien con
los tiempos de consultas en paralelo. En estos casos, tenga en cuenta factores como la frecuencia de
consultas en esa tabla. También considere si vale la pena mantener los datos de esa tabla en el grupo de
búferes.
El caché de la consulta evita volver a ejecutar una consulta cuando se ha enviado una consulta idéntica
y los datos de la tabla subyacente no han cambiado. Las consultas optimizadas por la característica de
consultas en paralelo pueden ir a la caché de consultas, lo que hace que sean instantáneas la siguiente
vez que se ejecuten.
Note
984
Amazon Aurora Guía del usuario de Aurora
Auditoría avanzada con Aurora MySQL
tablas temporales nunca usan consultas en paralelo. Estas fases de consultas se indican mediante Using
temporary en la salida EXPLAIN.
Puede ver o descargar los registros de auditoría para revisar la información de auditoría de una instancia
de base de datos a la vez. Para ello, puede utilizar los procedimientos en Trabajo con archivos de registro
de base de datos (p. 747).
Tip
Para un clúster de base de datos de Aurora que contiene varias instancias de base de datos,
podría resultar más conveniente examinar los registros de auditoría de todas las instancias del
clúster. Para ello, puede utilizar CloudWatch Logs. Puede activar una configuración en el nivel de
clúster para publicar los datos de registro de auditoría de Aurora MySQL en un grupo de registro
en CloudWatch. A continuación, puede ver, filtrar y buscar los registros de auditoría a través de
la interfaz de CloudWatch. Para obtener más información, consulte . Publicación de registros de
Amazon Aurora MySQL en Amazon CloudWatch Logs (p. 1099).
Configure la auditoría avanzada definiendo estos parámetros en el grupo de parámetros utilizado por su
clúster de base de datos. Puede usar el procedimiento que se muestra en Modificación de parámetros de
un grupo de parámetros de base de datos (p. 378) para modificar los parámetros de clúster de base de
datos usando la AWS Management Console. Puede utilizar el comando modify-db-cluster-parameter-group
de AWS CLI o la operación ModifyDBClusterParameterGroup de la API de Amazon RDS para modificar los
parámetros del clúster de base de datos mediante programación.
Para modificar estos parámetros no se requiere un reinicio del clúster de base de datos cuando el grupo
de parámetros ya está asociado al clúster. Al asociar el grupo de parámetros al clúster por primera vez, es
necesario reiniciar el clúster.
Temas
• server_audit_logging (p. 986)
985
Amazon Aurora Guía del usuario de Aurora
Habilitar la auditoría avanzada
server_audit_logging
Habilita o deshabilita la auditoría avanzada. Este parámetro tiene el ajuste OFF predeterminado; cámbielo
a ON para habilitar la auditoría avanzada.
No aparecen datos de auditoría en los registros a menos que defina también uno o varios tipos de eventos
que auditar mediante el parámetro server_audit_events.
Para confirmar que se registran los datos de auditoría de una instancia de base de datos, verifique
que algunos archivos de registro de esa instancia tengan nombres del formulario audit/
audit.log.other_identifying_information. Para ver los nombres de los archivos de registro,
siga el procedimiento en Visualización y descripción de archivos de registro de base de datos (p. 747).
server_audit_events
Contiene una lista delimitada por comas de los eventos que se deben registrar. Los eventos se deben
especificar en mayúsculas y no debe haber espacios en blanco entre los elementos de la lista, por ejemplo:
CONNECT,QUERY_DDL. De manera predeterminada, este parámetro es una cadena vacía.
• CONNECT: registra las conexiones correctas y con error y también las desconexiones. Este evento
incluye información de usuario.
• QUERY: registra todas las consultas en texto sin formato, incluidas las que no se pueden completar
porque contienen errores de sintaxis o de permisos.
Tip
Con este tipo de evento activado, los datos de auditoría incluyen información sobre
la supervisión continua y la información de comprobación de estado que Aurora hace
automáticamente. Si solo le interesan determinados tipos de operaciones, puede utilizar los
tipos de eventos más específicos. También puede utilizar la interfaz de CloudWatch para buscar
en los registros eventos relacionados con bases de datos, tablas o usuarios específicos.
• QUERY_DCL: similar al evento QUERY, pero solo devuelve consultas en lenguaje de control de datos
(DCL) (GRANT, REVOKE, etc.).
• QUERY_DDL: similar al evento QUERY, pero solo devuelve consultas en lenguaje de definición de datos
(DDL) (CREATE, ALTER, etc.).
• QUERY_DML: similar al evento QUERY, pero solo devuelve consultas en lenguaje de manipulación de
datos (DML) (INSERT, UPDATE, etc. y también SELECT).
• TABLE: registra las tablas que se han visto afectadas por la ejecución de la consulta.
server_audit_incl_users
Contiene la lista delimitada por comas de los nombres de los usuarios cuya actividad se registra. No debe
haber espacios en blanco entre los elementos de la lista, por ejemplo: user_3,user_4. De manera
predeterminada, este parámetro es una cadena vacía. La longitud máxima es de 1024 caracteres. Los
nombres de usuario especificados deben coincidir con los valores correspondientes de la columna User
de la tabla mysql.user. Para obtener más información acerca de los nombres de usuario, consulte la
documentación de MySQL.
986
Amazon Aurora Guía del usuario de Aurora
Visualización de registros de auditoría
Los eventos de conexión y desconexión no se ven afectados por esta variable, siempre se registran si se
ha especificado. Un usuario se registra aunque ese usuario también se haya especificado en el parámetro
server_audit_excl_users, ya que server_audit_incl_users tiene una prioridad más alta.
server_audit_excl_users
Contiene la lista delimitada por comas de los nombres de los usuarios cuya actividad no se registra. No
debe haber espacios en blanco entre los elementos de la lista, por ejemplo: rdsadmin,user_1,user_2.
De manera predeterminada, este parámetro es una cadena vacía. La longitud máxima es de 1024
caracteres. Los nombres de usuario especificados deben coincidir con los valores correspondientes de la
columna User de la tabla mysql.user. Para obtener más información acerca de los nombres de usuario,
consulte la documentación de MySQL.
Los eventos de conexión y desconexión no se ven afectados por esta variable, siempre se
registran si se ha especificado. Un usuario se registra si ese usuario también se especifica en el
parámetro server_audit_incl_users, ya que ese ajuste tiene una prioridad más alta que
server_audit_excl_users.
Para descargar un archivo de registro, elija ese archivo en la sección Logs (Registros) y, a continuación,
elija Download (Descargar).
También puede obtener una lista de los archivos de registro usando el comando describe-db-log-files de la
AWS CLI. Puede descargar el contenido de un archivo de registro mediante el comando download-db-log-
file-portion de la AWS CLI. Para obtener más información, consulte Visualización y descripción de archivos
de registro de base de datos (p. 747) y Descarga de un archivo de registro de base de datos (p. 748).
987
Amazon Aurora Guía del usuario de Aurora
Detalles de los logs de auditoría
Los archivos de registro de auditoría incluyen la siguiente información delimitada por comas en las filas en
el orden especificado:
Campo Descripción
timestamp Marca temporal de Unix para el evento registrado con una precisión de
microsegundos.
queryid Número de ID de la consulta que se puede usar para buscar los eventos de la tabla
relacional y las consultas relacionadas. Para los eventos TABLE, se añaden varias
líneas.
operación Tipo de acción registrado. Los posibles valores son: CONNECT, QUERY, READ, WRITE,
CREATE, ALTER, RENAME y DROP.
objeto Para los eventos de QUERY, este valor indica la consulta realizada por la base de
datos. En los eventos TABLE, indica el nombre de la tabla.
988
Amazon Aurora Guía del usuario de Aurora
Réplicas de Aurora
Todas las réplicas funcionan desde los mismos datos subyacentes. Si algunas instancias de base de
datos se quedan sin conexión, otras permanecen disponibles para continuar procesando consultas o para
hacerse cargo como escritor si es necesario. Aurora extiende automáticamente las conexiones de solo
lectura en varias instancias de base de datos, lo que ayuda a un clúster de Aurora a admitir cargas de
trabajo con uso intensivo de consultas.
A continuación puede encontrar información sobre cómo funciona la replicación de Aurora MySQL y como
ajustar la configuración de replicación para una disponibilidad y un rendimiento óptimos.
Note
Temas
• Uso de réplicas de Aurora (p. 989)
• Opciones de replicación para Amazon Aurora MySQL (p. 990)
• Consideraciones sobre el rendimiento de la replicación de Amazon Aurora MySQL (p. 991)
• Reinicio sin tiempo de inactividad (ZDR) para Amazon Aurora MySQL (p. 991)
• Monitoreo de replicación de Amazon Aurora MySQL (p. 993)
• Reproducción de clústeres de base de datos de Amazon Aurora MySQL entre regiones de
AWS (p. 993)
• Replicación entre Aurora y MySQL o entre Aurora y otro clúster de base de datos de Aurora
(replicación de registro binario) (p. 1005)
• Uso de reproducción basada en GTID de Aurora MySQL (p. 1031)
Las réplicas de Aurora funcionan bien para el escalado de lectura porque están totalmente dedicadas a
las operaciones de lectura en el volumen del clúster. Las operaciones de escritura se administran en la
instancia principal. Como el volumen del clúster se comparte entre todas las instancias del clúster de base
de datos Aurora MySQL, no se requiere trabajo adicional para replicar una copia de los datos para cada
réplica de Aurora. En cambio, las réplicas de lectura de MySQL deben volver a reproducir, en un solo
subproceso, todas las operaciones de escritura de la instancia de base de datos de origen en su almacén
de datos local. Esta limitación puede afectar a la capacidad de las réplicas de lectura de MySQL de admitir
grandes volúmenes de tráfico de lectura.
Con Aurora MySQL, cuando se elimina una réplica de Aurora, su punto de enlace de instancia se quita
inmediatamente y la réplica de Aurora se quita del punto de enlace del lector. Si hay instrucciones que
se ejecutan en la réplica de Aurora que se van a eliminar, hay un periodo de gracia de tres minutos. Las
instrucciones existentes pueden finalizar correctamente durante el periodo de gracia. Cuando termina
dicho periodo, se apaga la réplica de Aurora y se elimina.
989
Amazon Aurora Guía del usuario de Aurora
Opciones
Important
Las réplicas de Aurora en Aurora MySQL siempre usan el nivel de aislamiento de transacción
predeterminado REPEATABLE READ para las operaciones en las tablas de InnoDB. Puede usar
el comando SET TRANSACTION ISOLATION LEVEL para cambiar el nivel de transacción solo
para la instancia principal de un clúster de base de datos Aurora MySQL. Esta restricción evita los
bloqueos de nivel de usuario en las réplicas de Aurora y permite escalar las réplicas de Aurora
para dar cabida a miles de conexiones de usuario activas manteniendo el retardo de las réplicas
en un valor mínimo.
Note
Las instrucciones DDL que se ejecutan en la instancia primaria podrían interrumpir las conexiones
de la base de datos en las réplicas de Aurora asociadas. Si una conexión de réplica de Aurora
está utilizando activamente un objeto de base de datos, como por ejemplo una tabla, y ese objeto
se modifica en la instancia primaria con una declaración DDL, se interrumpe la conexión con la
réplica de Aurora.
Note
• Dos clústeres de base de datos de Aurora MySQL de diferentes regiones de AWS mediante la creación
de una réplica de lectura entre regiones de un clúster de base de datos de Aurora MySQL.
Para obtener más información, consulte Reproducción de clústeres de base de datos de Amazon Aurora
MySQL entre regiones de AWS (p. 993).
• Dos clústeres de base de datos de Aurora MySQL en la misma región de AWS mediante la utilización de
la reproducción del registro binario (binlog) de MySQL.
Para obtener más información, consulte Replicación entre Aurora y MySQL o entre Aurora y otro clúster
de base de datos de Aurora (replicación de registro binario) (p. 1005).
• Una instancia de base de datos de RDS for MySQL como el origen y un clúster de base de datos de
Aurora MySQL mediante la creación de una réplica de lectura de Aurora de una instancia de base de
datos de RDS for MySQL.
Puede utilizar este enfoque para introducir cambios de datos actuales y continuos Aurora MySQL
durante la migración a Aurora. Para obtener más información, consulte Migración de datos desde una
instancia de base de datos MySQL a un clúster de base de datos de Amazon Aurora MySQL con una
instantánea de base de datos (p. 856).
También puede utilizar este enfoque para aumentar la escalabilidad de las consultas de lectura de
sus datos. Para ello, consulta los datos utilizando una o más instancias de base de datos dentro de un
clúster Aurora MySQL de solo lectura. Para obtener más información, consulte Uso de Amazon Aurora
para escalar las lecturas de una base de datos de MySQL (p. 1022).
• Un clúster de base de datos de Aurora MySQL en una región de AWS y hasta cinco clústeres de base
de datos de Aurora de solo lectura de Aurora MySQL en diferentes regiones, mediante la creación de
una base de datos global de Aurora.
Puede utilizar una base de datos global Aurora para admitir aplicaciones con presencia mundial. El
clúster de base de datos Aurora MySQL principal tiene una instancia de escritor y hasta 15 réplicas
Aurora. Los clústeres de base de datos Aurora MySQL secundarios de solo lectura pueden estar
990
Amazon Aurora Guía del usuario de Aurora
Desempeño
formados por hasta 16 réplicas Aurora. Para obtener más información, consulte Uso de bases de datos
globales de Amazon Aurora (p. 247).
Note
El mecanismo de ZDR funciona sobre la base del mejor esfuerzo. Las versiones de Aurora
MySQL, las clases de instancias, las condiciones de error, las operaciones SQL compatibles
y otros factores que determinan dónde se aplica el ZDR están sujetos a cambios en cualquier
momento.
En las versiones 1.* de Aurora MySQL en las que se encuentre disponible el ZDR, esta característica se
activa al activar el parámetro aurora_enable_zdr en el grupo de parámetros del clúster. El ZDR para
2.* de Aurora MySQL requiere la versión 2.10 y posteriores. ZDR está disponible en todas las versiones
991
Amazon Aurora Guía del usuario de Aurora
Reinicio sin tiempo de inactividad (ZDR)
secundarias de Aurora MySQL 3.*. En Aurora MySQL versión 2 y 3, el mecanismo de ZDR está activado
de forma predeterminada y Aurora no utiliza el parámetro aurora_enable_zdr.
Aurora informa en la página Events (Eventos) las actividades relacionadas con el reinicio del tiempo de
inactividad cero. Aurora registra un evento cuando intenta reiniciar mediante el mecanismo ZDR. En este
evento se indica por qué Aurora realiza el reinicio. Luego, Aurora registra otro evento cuando finaliza el
reinicio. En este último evento se informa cuánto tiempo tardó el proceso y cuántas conexiones se han
conservado o eliminado durante el reinicio. Puede consultar el registro de errores de la base de datos para
ver más detalles sobre lo que ocurrió durante el reinicio.
Aunque las conexiones permanecen intactas tras una operación de ZDR correcta, se reinicializan algunas
variables y características. Los siguientes tipos de información no se conservan durante un reinicio
causado por un reinicio sin tiempo de inactividad:
• Variables globales Aurora restaura las variables de sesión, pero no restaura las variables globales
después del reinicio.
• Variables de estado. En particular, se restablece el valor de tiempo de actividad que informa el estado
del motor.
• LAST_INSERT_ID.
• Estado auto_increment en memoria para tablas. El estado de incremento automático en memoria
se reinicializa. Para obtener más información sobre los valores de incremento automático, consulte el
Manual de referencia de MySQL.
• Información de diagnóstico de las tablas INFORMATION_SCHEMA y PERFORMANCE_SCHEMA. Esta
información de diagnóstico también aparece en la salida de comandos como SHOW PROFILE y SHOW
PROFILES.
En la tabla siguiente se muestran las versiones, los roles de instancia, las clases de instancias y otras
circunstancias que determinan si Aurora puede utilizar el mecanismo de ZDR al reiniciar instancias de base
de datos en el clúster.
992
Amazon Aurora Guía del usuario de Aurora
Monitorización
Si necesita el valor más actualizado del retardo de réplica de Aurora, puede consultar la tabla
recrystallisations en la instancia principal de su clúster de base de datos de Aurora
MySQL y comprobar el valor en la columna Replica_lag_in_msec. El valor de esa columna
se proporciona a Amazon CloudWatch como el valor de la métrica AuroraReplicaLag.
El retraso de réplica de Aurora también se registra en cada réplica de Aurora en la tabla
INFORMATION_SCHEMA.REPLICA_HOST_STATUS del clúster de base de datos de Aurora MySQL.
Para obtener más información acerca de la monitorización de instancias de RDS y de las métricas de
CloudWatch, consulte Monitoreo de un clúster de base de datos de Amazon Aurora (p. 593).
993
Amazon Aurora Guía del usuario de Aurora
Reproducción de clústeres de base de datos de
Amazon Aurora MySQL entre regiones de AWS
Puede crear réplicas de lectura de clústeres de base de datos cifrados y sin cifrar. La réplica de lectura se
debe cifrar si el clúster de base de datos de origen está cifrado.
Por cada clúster de base de datos origen, puede tener hasta cinco clústeres de base de datos réplica de
lectura entre regiones.
Note
Como alternativa a las réplicas de lectura entre regiones, puede escalar las operaciones de
lectura con un retraso mínimo mediante una base de datos global Aurora. Una base de datos
global de Aurora tiene un clúster de base de datos primaria de Aurora en una región de AWS y
hasta cinco clústeres de base de datos secundaria de solo lectura en diferentes regiones. Cada
clúster de base de datos secundario puede incluir hasta 16 réplicas Aurora (en lugar de 15). La
replicación desde el clúster de base de datos principal a todos los secundarios es manejada por
la capa de almacenamiento Aurora en lugar del motor de base de datos, por lo que el tiempo de
demora para replicar cambios suele ser mínimo, menos de 1 segundo. Mantener el motor de base
de datos fuera del proceso de replicación significa que el motor de base de datos está dedicado al
procesamiento de cargas de trabajo. También significa que no necesita configurar o administrar la
replicación de binlog (registro binario) de Aurora MySQL. Para obtener más información, consulte
Uso de bases de datos globales de Amazon Aurora (p. 247).
Cuando se crea una réplica de lectura del clúster de base de datos de Aurora MySQL en otra región de
AWS, se debe tener en cuenta lo siguiente:
• Tanto el clúster de base de datos origen como el clúster de base de datos réplica de lectura entre
regiones pueden tener un máximo de 15 réplicas de Aurora junto con la instancia principal del clúster de
base de datos. Usando esta funcionalidad, puede escalar las operaciones de lectura tanto para la región
de AWS de origen como para la región de AWS de destino de la replicación.
• En una situación con varias regiones, hay más tiempo de retardo entre el clúster de base de datos de
origen y la réplica de lectura porque los canales de red entre regiones de AWS son más largos.
• Los datos transferidos en las replicaciones entre regiones conllevan cargos por transferencia de datos
de Amazon RDS. Las siguientes acciones de replicación entre regiones generan cargos para los datos
transferidos fuera de la región de AWS de origen:
• Cuando se crea la réplica de lectura, Amazon RDS realiza una instantánea del clúster de origen y
transfiere la instantánea a la región de AWS que contiene la réplica de lectura.
• Para cada modificación de datos realizada en las bases de datos de origen, Amazon RDS transfiere
los datos de la región de origen a la región de AWS que contiene la réplica de lectura.
Para obtener más información acerca de los precios de las transferencias de datos de Amazon RDS,
consulte Precios de Amazon Aurora.
• Puede ejecutar varias acciones de creación o eliminación simultáneas para réplicas de lectura que
hagan referencia al mismo clúster de base de datos origen. Sin embargo, debe permanecer dentro del
límite de cinco réplicas de lectura por cada clúster de base de datos de origen.
• Para que la replicación sea eficaz, cada réplica de lectura debe tener la misma cantidad de recursos
de computación y de almacenamiento que el clúster de base de datos origen. Si modifica la escala del
clúster de base de datos origen, debe ajustar también la escala de las réplicas de lectura.
Temas
• Antes de empezar (p. 995)
• Creación de un clúster de base de datos Amazon Aurora MySQL que sea una réplica de lectura entre
regiones (p. 995)
• Visualización de réplicas entre regiones de Amazon Aurora MySQL (p. 1002)
• Promoción de una réplica de lectura para convertirla en un clúster de base de datos (p. 1003)
• Solución de problemas de las réplicas entre regiones de Amazon Aurora MySQL (p. 1004)
994
Amazon Aurora Guía del usuario de Aurora
Reproducción de clústeres de base de datos de
Amazon Aurora MySQL entre regiones de AWS
Antes de empezar
Antes de crear un clúster de base de datos de Aurora MySQL que sea una réplica de lectura entre
regiones, debe activar el registro binario en el clúster de base de datos de Aurora MySQL de origen. La
replicación entre regiones de Aurora MySQL usa la replicación binaria de MySQL para volver a reproducir
los cambios en el clúster de base de datos de la réplica de lectura entre regiones.
Para activar el registro binario en un clúster de base de datos Aurora MySQL, actualice el parámetro
binlog_format para el clúster de base de datos de origen. El parámetro binlog_format es un
parámetro de nivel de clúster que se encuentra en el grupo de parámetros de clúster predeterminado.
Si su clúster de base de datos usa el grupo de parámetros de clúster de base de datos predeterminado,
cree un nuevo grupo de parámetros de clúster de base de datos para modificar la configuración de
binlog_format. Es recomendable que defina binlog_format como MIXED. Sin embargo, también
puede configurar binlog_format como ROW o STATEMENT si necesita un formato binlog concreto.
Reinicie el clúster de base de datos de Aurora para que el cambio entre en vigor.
Para obtener más información sobre la utilización del registro binario con Aurora MySQL, consulte
Replicación entre Aurora y MySQL o entre Aurora y otro clúster de base de datos de Aurora (replicación
de registro binario) (p. 1005). Para obtener más información acerca de cómo modificar los parámetros de
configuración de Aurora MySQL, consulte Parámetros del clúster de base de datos de Amazon Aurora y de
instancia de base de datos (p. 372) y Trabajo con los grupos de parámetros de base de datos y grupos de
parámetros de clúster de base de datos (p. 369).
Cuando se crea una réplica de lectura entre regiones para Aurora MySQL con la AWS Management
Console, Amazon RDS crea un clúster de base de datos en la región de AWS de destino y, luego, crea
automáticamente una instancia de base de datos que es la instancia principal de ese clúster de base de
datos.
Cuando se crea una réplica de lectura entre regiones mediante la AWS CLI o la API de RDS, primero se
crea el clúster de base de datos en la región de AWS de destino y se espera a que pase a estar activo.
Una vez que está activo, se crea una instancia de base de datos que es la instancia principal de ese
clúster de base de datos.
La replicación comienza cuando la instancia principal del clúster de base de datos de la réplica de lectura
pasa a estar disponible.
Use los siguientes procedimientos para crear una réplica de lectura entre regiones a partir de un clúster
de base de datos de Aurora MySQL. Estos procedimientos sirven para crear réplicas de lectura desde
clústeres de base de datos cifrados y sin cifrar.
Consola
Para crear un clúster de base de datos de Aurora MySQL que sea una réplica de lectura entre
regiones con la AWS Management Console
995
Amazon Aurora Guía del usuario de Aurora
Reproducción de clústeres de base de datos de
Amazon Aurora MySQL entre regiones de AWS
Opción Descripción
Destination region (Región de destino Elija la región de AWS que alojará el nuevo clúster de base
de datos de réplica de lectura entre regiones.
Destination DB subnet group (Destino Elija el grupo de subredes de base de datos que se debe
del grupo de subredes de base de usar para el clúster de base de datos de réplica de lectura
datos entre regiones.
Publicly accessible (Accesible Elija Yes (Sí) para dar al clúster de base de datos de
públicamente réplica de lectura entre regiones una dirección IP pública;
de lo contrario, seleccione No.
DB instance class Elija una clase de instancia de base de datos que defina
los requisitos de procesamiento y memoria para la
instancia principal del clúster de base de datos. Para
obtener más información acerca de las opciones de
clases de instancia de base de datos, consulte Clases de
instancia de base de datos Aurora (p. 56).
Despliegue Multi-AZ Elija Yes (Sí) para crear una réplica de lectura del nuevo
clúster de base de datos en otra zona de disponibilidad de
la región de AWS de destino para permitir la conmutación
por error. Para obtener más información acerca del uso de
varias zonas de disponibilidad, consulte Regiones y zonas
de disponibilidad (p. 11).
Read replica source (Origen de réplica Elija el clúster de base de datos de origen para el que
de lectura desea crear una réplica de lectura entre regiones.
996
Amazon Aurora Guía del usuario de Aurora
Reproducción de clústeres de base de datos de
Amazon Aurora MySQL entre regiones de AWS
Opción Descripción
• Debe contener de 1 a 63 caracteres alfanuméricos o
guiones.
• El primer carácter debe ser una letra.
• No puede terminar con un guion ni contener dos guiones
consecutivos.
• Debe ser único para todas las instancias de base de
datos de cada cuenta de AWS y para cada región AWS.
997
Amazon Aurora Guía del usuario de Aurora
Reproducción de clústeres de base de datos de
Amazon Aurora MySQL entre regiones de AWS
Opción Descripción
Database port (Puerto de base de Especifique el puerto que deben usar las aplicaciones
datos y las utilidades para obtener acceso a la base de datos.
Los clústeres de base de datos de Aurora usan de forma
predeterminada el puerto 3306 de MySQL. Los firewalls
de algunas compañías bloquean las conexiones a este
puerto. Si el firewall de su compañía bloquea el puerto
predeterminado, elija otro puerto para el nuevo clúster de
base de datos.
Auto minor version upgrade Esta configuración no se aplica a los clústeres de base de
(Actualización automática de versiones datos Aurora MySQL.
secundarias
Para obtener más información acerca de las
actualizaciones de motor de Aurora MySQL, consulte
Actualizaciones del motor de base de datos de Amazon
Aurora MySQL (p. 1170).
6. Elija Create (Crear) para crear una réplica de lectura entre regiones de Aurora.
AWS CLI
Para crear un clúster de base de datos de Aurora MySQL que sea una réplica de lectura entre
regiones con la CLI
1. Llame al comando AWS CLI create-db-cluster en la región AWS en la que desee crear el clúster
de base de datos de la réplica de lectura. Incluya la opción --replication-source-identifier
y especifique el Nombre de recurso de Amazon (ARN) del clúster de base de datos de origen para el
que desea crear una réplica de lectura.
Para una replicación entre regiones en la que el clúster de base de datos identificado por --
replication-source-identifier esté cifrado, debe especificar también las opciones --kms-
key-id y --storage-encrypted. Además, debe especificar la opción --source-region o --
998
Amazon Aurora Guía del usuario de Aurora
Reproducción de clústeres de base de datos de
Amazon Aurora MySQL entre regiones de AWS
Puede configurar la replicación entre regiones desde un clúster de base de datos sin cifrar en
una réplica de lectura cifrada especificando --storage-encrypted y proporcionando un
valor para --kms-key-id. En este caso, no es necesario especificar --source-region o
--pre-signed-url.
El siguiente ejemplo de código crea una réplica de lectura en la región us-east-1 a partir de una
instantánea de clúster de base de datos sin cifrar de la región us-west-2. Se llama al comando en la
región us-east-1.
Para Windows:
El siguiente ejemplo de código crea una réplica de lectura en la región us-east-1 a partir de una
instantánea de clúster de base de datos cifrado de la región us-west-2. Se llama al comando en la
región us-east-1.
Para Windows:
999
Amazon Aurora Guía del usuario de Aurora
Reproducción de clústeres de base de datos de
Amazon Aurora MySQL entre regiones de AWS
--replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-
master-cluster ^
--kms-key-id my-us-east-1-key ^
--source-region us-west-2 ^
--storage-encrypted
2. Compruebe que el clúster de base de datos está disponible para su uso con el comando AWS CLI de
la describe-db-clusters, como se muestra en el siguiente ejemplo.
Para Windows:
Cuando la instancia de base de datos se ha creado y está disponible, comienza la replicación. Puede
determinar si la instancia de base de datos está disponible llamando al comando AWS CLI de la
describe-db-instances.
API de RDS
Para crear un clúster de base de datos de Aurora MySQL que sea una réplica de lectura entre
regiones con la API
Para una replicación entre regiones en la que el clúster de base de datos identificado por
ReplicationSourceIdentifier esté cifrado, debe especificar el parámetro KmsKeyId y
establecer el parámetro StorageEncrypted en true. También debe especificar el parámetro
PreSignedUrl. La URL prefirmada debe ser una solicitud válida para la operación de la API
CreateDBCluster que se pueda realizar en la región de AWS de origen que contiene el clúster de
base de datos cifrado que se va a replicar. El identificador de la clave de KMSS se utiliza para cifrar la
réplica de lectura y debe ser una clave de KMS válida para la región de AWS de destino. Para generar
una URL prefirmada de forma automática y no manual, utilice el comando AWS CLI de la create-
db-cluster con la opción --source-region.
1000
Amazon Aurora Guía del usuario de Aurora
Reproducción de clústeres de base de datos de
Amazon Aurora MySQL entre regiones de AWS
Note
Puede configurar la replicación entre regiones desde un clúster de base de datos sin
cifrar en una réplica de lectura cifrada especificando StorageEncrypted como true
y proporcionando un valor para KmsKeyId. En este caso, no es necesario especificar
PreSignedUrl.
No tiene que incluir los parámetros MasterUsername y MasterUserPassword, porque esos valores
se toman del clúster de base de datos de origen.
El siguiente ejemplo de código crea una réplica de lectura en la región us-east-1 a partir de una
instantánea de clúster de base de datos sin cifrar de la región us-west-2. Se llama a la acción en la
región us-east-1.
https://rds.us-east-1.amazonaws.com/
?Action=CreateDBCluster
&ReplicationSourceIdentifier=arn:aws:rds:us-west-2:123456789012:cluster:sample-
master-cluster
&DBClusterIdentifier=sample-replica-cluster
&Engine=aurora
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Version=2014-10-31
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request
&X-Amz-Date=20160201T001547Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=a04c831a0b54b5e4cd236a90dcb9f5fab7185eb3b72b5ebe9a70a4e95790c8b7
El siguiente ejemplo de código crea una réplica de lectura en la región us-east-1 a partir de una
instantánea de clúster de base de datos cifrado de la región us-west-2. Se llama a la acción en la
región us-east-1.
https://rds.us-east-1.amazonaws.com/
?Action=CreateDBCluster
&KmsKeyId=my-us-east-1-key
&StorageEncrypted=true
&PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F
%253FAction%253DCreateDBCluster
%2526DestinationRegion%253Dus-east-1
%2526KmsKeyId%253Dmy-us-east-1-key
%2526ReplicationSourceIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-
west-2%25253A123456789012%25253Acluster%25253Asample-master-cluster
%2526SignatureMethod%253DHmacSHA256
%2526SignatureVersion%253D4
%2526Version%253D2014-10-31
%2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256
%2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds
%252Faws4_request
%2526X-Amz-Date%253D20161117T215409Z
%2526X-Amz-Expires%253D3600
%2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-
content-sha256%253Bx-amz-date
%2526X-Amz-Signature
%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613
&ReplicationSourceIdentifier=arn:aws:rds:us-west-2:123456789012:cluster:sample-
master-cluster
&DBClusterIdentifier=sample-replica-cluster
&Engine=aurora
&SignatureMethod=HmacSHA256
&SignatureVersion=4
1001
Amazon Aurora Guía del usuario de Aurora
Reproducción de clústeres de base de datos de
Amazon Aurora MySQL entre regiones de AWS
&Version=2014-10-31
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request
&X-Amz-Date=20160201T001547Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=a04c831a0b54b5e4cd236a90dcb9f5fab7185eb3b72b5ebe9a70a4e95790c8b7
2. Compruebe que el clúster de base de datos está disponible para el uso con la acción
DescribeDBClusters de la API de RDS, como se muestra en el siguiente ejemplo.
https://rds.us-east-1.amazonaws.com/
?Action=DescribeDBClusters
&DBClusterIdentifier=sample-replica-cluster
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Version=2014-10-31
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request
&X-Amz-Date=20160201T002223Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=84c2e4f8fba7c577ac5d820711e34c6e45ffcd35be8a6b7c50f329a74f35f426
https://rds.us-east-1.amazonaws.com/
?Action=CreateDBInstance
&DBClusterIdentifier=sample-replica-cluster
&DBInstanceClass=db.r3.large
&DBInstanceIdentifier=sample-replica-instance
&Engine=aurora
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Version=2014-10-31
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request
&X-Amz-Date=20160201T003808Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=125fe575959f5bbcebd53f2365f907179757a08b5d7a16a378dfa59387f58cdb
Cuando la instancia de base de datos se ha creado y está disponible, comienza la replicación. Puede
determinar si la instancia de base de datos está disponible llamando al comando AWS CLI de la
DescribeDBInstances.
1002
Amazon Aurora Guía del usuario de Aurora
Reproducción de clústeres de base de datos de
Amazon Aurora MySQL entre regiones de AWS
Normalmente, una réplica de lectura de Aurora MySQL se promueve a un clúster de base de datos
independiente como un esquema de recuperación de datos si el clúster de base de datos de origen
devuelve un error.
Para ello, cree primero una réplica de lectura y, a continuación, monitoree el clúster de base de datos de
origen para ver si se producen errores. En caso de error, haga lo siguiente:
Cuando promociona una réplica de lectura, esta se convierte en un clúster de base de datos de Aurora
independiente. Este proceso de promoción puede tardar unos minutos o más, según el tamaño de la
réplica de lectura. Una vez que haya promocionado la réplica de lectura a un nuevo clúster de base de
datos, este será como cualquier otro clúster de base de datos. Por ejemplo, podrá crear réplicas de lectura
a partir de él y realizar operaciones de restauración a un momento dado. También puede crear réplicas de
Aurora para el clúster de base de datos.
Como el clúster de base de datos promocionado ya no es una réplica de lectura, no puede usarlo como
destino de la replicación.
Los siguientes pasos muestran el proceso general para promocionar una réplica de lectura a un clúster de
base de datos:
Elija una instancia de base de datos de Aurora MySQL para promocionar la réplica de lectura. Una vez
promocionada la réplica de lectura, el clúster de base de datos de Aurora MySQL se promociona a un
clúster de base de datos independiente. La instancia de base de datos con la prioridad más alta se
promueve a la instancia de base de datos principal del clúster de base de datos. Las demás instancias
de base de datos se convierten en réplicas de Aurora.
Note
1003
Amazon Aurora Guía del usuario de Aurora
Reproducción de clústeres de base de datos de
Amazon Aurora MySQL entre regiones de AWS
Consola
Para promocionar una réplica de lectura de Aurora MySQL a un clúster de base de datos
Las réplicas de lectura aparecen como instancias de base de datos de Aurora MySQL.
4. En Actions (Acciones), elija Promote read replica (Promover réplica de lectura).
5. En la página de confirmación, elija Promote Read Replica (Promocionar réplica de lectura).
AWS CLI
Para promocionar una réplica de lectura a un clúster de base de datos, utilice el comando promote-
read-replica-db-cluster de la AWS CLI.
Example
Para Windows:
API de RDS
Source cluster [DB cluster ARN] doesn't have cluster parameter group in sync on
writer
Este error aparece si se ha actualizado el parámetro binlog_format del clúster de base de datos pero
no se ha reiniciado su instancia principal. Reinicie la instancia principal (es decir, la de escritura) del clúster
de base de datos y vuelva a intentarlo.
1004
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Source cluster [DB cluster ARN] already has a read replica in this region
Por cada clúster de base de datos origen en cualquier región de AWS, puede tener hasta cinco clústeres
de base de datos réplica de lectura entre regiones. Si ya tiene el número máximo de réplicas de lectura
para un clúster de base de datos en una región de AWS concreta, debe eliminar una existente antes de
poder crear un nuevo clúster de base de datos entre regiones en dicha región.
El clúster de base de datos [ARN del clúster de base de datos] requiere una
actualización del motor de base de datos para admitir la replicación entre regiones
Para resolver este problema, actualice la versión del motor de base de datos para todas las instancias del
clúster de base de datos de origen a la versión más reciente del motor de base de datos e intente de nuevo
crear una base de datos de réplica de lectura entre regiones.
También puede reproducir con una instancia de base de datos de RDS for MySQL o con un clúster de
base de datos de Aurora MySQL en otra región de AWS. Cuando esté realizando una replicación entre
regiones de AWS, asegúrese de que los clústeres y las instancias de base de datos sean accesibles
públicamente. Los clústeres de base de datos Aurora MySQL deben formar parte de una subred pública de
la VPC.
Si desea configurar una reproducción entre un clúster de base de datos de Aurora MySQL y un clúster
de base de datos de Aurora MySQL en otra región, puede crear un clúster de base de datos de Aurora
MySQL como réplica de lectura en una región de AWS diferente del clúster de base de datos origen. Para
obtener más información, consulte Reproducción de clústeres de base de datos de Amazon Aurora MySQL
entre regiones de AWS (p. 993).
Con Aurora MySQL 2.04 y versiones posteriores, puede replicar entre Aurora MySQL y una fuente
o destino externos que utilicen identificadores de transacciones globales (GTID) para la replicación.
Asegúrese de que los parámetros relacionados con GTID en el clúster de base de datos de Aurora
MySQL disponga de una configuración que sea compatible con el estado del GTID de la base de
datos externa. Para obtener información sobre como hacer esto, consulte Uso de reproducción
basada en GTID de Aurora MySQL (p. 1031). En Aurora MySQL versión 3.01 y posterior, puede
elegir cómo asignar GTID a las transacciones que se replican desde un origen que no utiliza GTID.
Para obtener información sobre el procedimiento almacenado que controla ese ajuste, consulte
mysql.rds_assign_gtids_to_anonymous_transactions (Aurora MySQL versión 3 y superior) (p. 1163).
1005
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Warning
Cuando replique entre Aurora MySQL y MySQL, asegúrese de usar únicamente tablas InnoDB.
Si tiene tablas de MyISAM que desea replicar, puede convertirlas a InnoDB antes de configurar la
replicación con el siguiente comando.
La configuración de la replicación de MySQL con Aurora MySQL incluye los siguientes pasos, que se
describen en detalle en este tema:
2. Retenga los registros binarios en el origen de replicación hasta que dejen de ser necesarios (p. 1011)
Motor de Instrucciones
base de
datos
Aurora Para activar el registro binario en un clúster de base de datos Aurora MySQL
Para obtener más información, consulte Parámetros del clúster de base de datos de
Amazon Aurora y de instancia de base de datos (p. 372) y Trabajo con los grupos de
parámetros de base de datos y grupos de parámetros de clúster de base de datos (p. 369).
RDS for Para activar el registro binario en una instancia de base de datos de Amazon RDS
MySQL
No puede activar el registro binario directamente para una instancia de base de datos de
Amazon RDS, pero puede activarlo por medio de uno de los siguientes procedimientos:
• Active las copias de seguridad automatizadas para la instancia de base de datos. Puede
activar copias de seguridad automatizadas cuando cree una instancia de base de datos
o puede activar copias de seguridad modificando una instancia de base de datos ya
1006
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Motor de Instrucciones
base de
datos
existente. Para obtener más información, consulte Creación de una instancia de base de
datos en la Guía del usuario de Amazon RDS.
• Cree una réplica de lectura para la instancia de base de datos. Para obtener más
información, consulte Trabajo con réplicas de lectura en la Guía del usuario de Amazon
RDS.
1007
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Motor de Instrucciones
base de
datos
Actualmente, la replicación cifrada con una base de datos MySQL externa solo es
compatible con la versión 5.6 de Aurora MySQL.
Note
• La capa de conexión segura (SSL) debe estar habilitada en la base de datos de origen
MySQL externa.
• Debe disponerse de una clave cliente y un certificado cliente para el clúster de base de
datos de Aurora MySQL.
Durante la replicación cifrada, el clúster de base de datos Aurora MySQL actúa como un
cliente en el servidor de base de datos MySQL. Los certificados y las claves del cliente de
Aurora MySQL son archivos con formato .pem.
Para obtener más información, consulte Creating SSL Certificates and Keys Using
openssl en la documentación de MySQL.
1008
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Motor de Instrucciones
base de
datos
En el siguiente ejemplo se importa la información de SSL en un clúster de base de
datos Aurora MySQL. En los archivos con formato .pem, el código del cuerpo suele ser
más grande que el que se muestra en el ejemplo.
call mysql.rds_import_binlog_ssl_material(
'{"ssl_ca":"-----BEGIN CERTIFICATE-----
AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/
d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/
cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi
+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
-----END CERTIFICATE-----\n","ssl_cert":"-----BEGIN CERTIFICATE-----
AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/
d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/
cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi
+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
-----END CERTIFICATE-----\n","ssl_key":"-----BEGIN RSA PRIVATE KEY-----
AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/
d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/
cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi
+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
-----END RSA PRIVATE KEY-----\n"}');
sudo vi /etc/my.cnf
1009
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Motor de Instrucciones
base de
datos
binarios. La opción server_id proporciona un identificador único para el servidor en las
relaciones origen-réplica.
log-bin=mysql-bin
server-id=2133421
innodb_flush_log_at_trx_commit=1
sync_binlog=1
Las entradas del archivo /etc/my.cnf incluyen las ubicaciones del archivo .pem para
el servidor de base de datos MySQL.
log-bin=mysql-bin
server-id=2133421
innodb_flush_log_at_trx_commit=1
sync_binlog=1
# Setup SSL.
ssl-ca=/home/sslcerts/ca.pem
ssl-cert=/home/sslcerts/server-cert.pem
ssl-key=/home/sslcerts/server-key.pem
Mientras está conectado a la base de datos MySQL externa, registre la posición del log
binario de la base de datos MySQL externa.
+------------------+----------+--------------+------------------
+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
Executed_Gtid_Set |
+------------------+----------+--------------+------------------
+-------------------+
| mysql-bin.000031 | 107 | | |
|
+------------------+----------+--------------+------------------
+-------------------+
1 row in set (0.00 sec)
Para obtener más información, consulte Setting the replication source configuration en la
documentación de MySQL.
1010
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Motor de Instrucciones
base de
datos
3. Inicie el servicio mysql.
Puede encontrar instrucciones acerca del procedimiento para conservar logs binario para el motor de base
de datos a continuación.
Motor de Instrucciones
base de
datos
Aurora Para conservar registros binarios en un clúster de base de datos Aurora MySQL
No tiene acceso a los archivos binlog de un clúster de base de datos Aurora MySQL. Como
resultado, debe elegir un plazo para retener los archivos binlog en el origen de replicación
que sea lo suficientemente largo para garantizar que los cambios se han aplicado a la
réplica antes de que Amazon RDS elimine el archivo binlog. Puede conservar los archivos
binlog en un clúster de base de datos Aurora MySQL durante un máximo de 90 días.
Si desea configurar una replicación con una base de datos de MySQL o una instancia de
base de datos de RDS for MySQL como réplica y la base de datos para la que va a crear
una réplica es muy grande, elija un plazo más largo para conservar los archivos binlog
hasta que la copia inicial de la base de datos en la réplica se haya completado y el retardo
de la réplica haya llegado a 0.
Una vez que haya comenzado la replicación, puede verificar que los cambios se hayan
aplicado a la réplica al ejecutar el comando SHOW SLAVE STATUS (Aurora MySQL versión
1 y 2) o SHOW REPLICA STATUS (Aurora MySQL versión 3) en la réplica y verificar
el campo Seconds behind master. Si el campo Seconds behind master es 0,
entonces no hay retardo de réplica. Cuando no haya retardo de réplica, reduzca el periodo
de tiempo durante el que se deben retener los archivos binlog definiendo el parámetro de
configuración binlog retention hours en un periodo más corto.
1011
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Motor de Instrucciones
base de
datos
Si especifica un valor para 'binlog retention hours' que es mayor que 2160, Aurora
MySQL utiliza un valor de 2160.
RDS for Para conservar los registros binarios en una instancia de base de datos de Amazon RDS
MySQL
Puede conservar los archivos de registro binario en una instancia de base de datos de
Amazon RDS mediante la definición de las horas de retención de archivos binlog, como
en el caso de un clúster de base de datos Aurora MySQL, tal como se ha descrito en la
sección anterior.
También puede retener los archivos binlog en una instancia de base de datos de Amazon
RDS creando una réplica de lectura para la instancia de base de datos. Esta réplica de
lectura es temporal y solo se usa para conservar los archivos binlog. Una vez creada la
réplica de lectura, ejecute el procedimiento mysql_rds_stop_replication en la réplica de
lectura. Mientras la replicación está detenida, Amazon RDS no elimina ninguno de los
archivos binlog del origen de replicación. Una vez que haya configurado la reproducción
con la réplica permanente, puede eliminar la réplica de lectura cuando el retardo de la
réplica (campo Seconds behind master) entre el origen de reproducción y la réplica
permanente llegue a 0.
MySQL Para conservar los registros binarios en una base de datos MySQL externa
(externo)
Como los archivos binlog de una base de datos de MySQL externa no se administran con
Amazon RDS, se conservan hasta que se eliminan.
Una vez que haya comenzado la replicación, puede verificar que los cambios se hayan
aplicado a la réplica al ejecutar el comando SHOW SLAVE STATUS (Aurora MySQL versión
1 y 2) o SHOW REPLICA STATUS (Aurora MySQL versión 3) en la réplica y verificar
el campo Seconds behind master. Si el campo Seconds behind master es 0,
entonces no hay retardo de réplica. Cuando no haya retardo de réplica, podrá eliminar los
archivos binlog antiguos.
Puede encontrar instrucciones acerca de cómo crear una instantánea del origen de replicación de su motor
de base de datos a continuación.
Motor de Instrucciones
base de
datos
Aurora Para crear una instantánea de un clúster de base de datos Aurora MySQL
1012
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Motor de Instrucciones
base de
datos
copia de su clúster de base de datos tiene el registro binario habilitado. Para obtener
más información, consulte Restauración de una instantánea de clúster de base de
datos (p. 545).
3. En la consola, elija Databases (Bases de datos) y elija la instancia principal (escritor) del
clúster de base de datos de Aurora restaurado para mostrar sus detalles. Desplácese
hasta Recent Events (Eventos recientes). Aparecerá un mensaje de evento que muestra
el nombre y la posición del archivo binlog. El mensaje de evento está en el siguiente
formato.
Guarde los valores de nombre y posición del archivo binlog para cuando comience la
replicación.
También puede obtener el nombre y la posición del archivo binlog llamando al comando
describe-events desde la AWS CLI. A continuación se muestra un comando describe-
events de ejemplo con una salida de muestra.
{
"Events": [
{
"EventCategories": [],
"SourceType": "db-instance",
"SourceArn": "arn:aws:rds:us-west-2:123456789012:db:sample-
restored-instance",
"Date": "2016-10-28T19:43:46.862Z",
"Message": "Binlog position from crash recovery is mysql-bin-
changelog.000003 4278",
"SourceIdentifier": "sample-restored-instance"
}
]
}
También puede obtener el nombre de archivo y la posición de binlog; para ello, verifique
el registro de errores de MySQL a fin de obtener la última posición del archivo binlog de
MySQL.
4. Si el destino de réplica es un clúster de base de datos de Aurora perteneciente a otra
cuenta de AWS, una base de datos de MySQL externa o una instancia de base de
datos de RDS for MySQL, no podrá cargar los datos desde una instantánea del clúster
de base de datos de Amazon Aurora. En lugar de ello, cree un volcado del clúster de
base de datos Amazon Aurora conectándose a su clúster de base de datos con un
cliente MySQL y ejecutando el comando mysqldump. Recuerde ejecutar el comando
mysqldump en la copia del clúster de base de datos de Amazon Aurora que ha creado.
A continuación se muestra un ejemplo.
1013
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Motor de Instrucciones
base de
datos
5. Cuando haya terminado de crear el volcado de los datos desde el clúster de base de
datos de Aurora que se acaba de crear, elimine ese clúster de base de datos, que ya no
se necesita.
RDS for Para crear una instantánea de una instancia de la base de datos de Amazon RDS
MySQL
1. Cree una réplica de lectura para la instancia de base de datos de Amazon RDS. Para
obtener más información, consulte Creación de una réplica de lectura en la Guía del
usuario de Amazon Relational Database Service.
2. Conéctese a la réplica de lectura y detenga la replicación ejecutando el procedimiento
mysql_rds_stop_replication.
3. Con la réplica de lectura Detenida, conéctese a la réplica de lectura y ejecute el
comando SHOW SLAVE STATUS (Aurora MySQL versión 1 y 2) o SHOW REPLICA
STATUS (Aurora MySQL versión 3). Obtenga el nombre del archivo de log binario actual
del campo Relay_Master_Log_File y la posición del archivo de log del campo
Exec_Master_Log_Pos. Guarde estos valores para cuando comience la replicación.
4. Con la réplica de lectura en el estado Stopped (Detenido), cree una instantánea de
base de datos de la réplica de lectura. Para obtener más información, consulte Creación
de una instantánea de base de datos en la Guía del usuario de Amazon Relational
Database Service.
5. Elimine la réplica de lectura.
MySQL Para crear una instantánea de una base de datos MySQL externa
(externo)
1. Antes de crear una instantánea, debe asegurarse de que la ubicación del binlog para
la instantánea está actualizada con respecto a los datos de la instancia de origen. Para
ello, debe detener primero las operaciones de escritura en la instancia con el siguiente
comando:
3. Una vez que haya creado el snapshot, desbloquee las tablas de su base de datos de
MySQL con el siguiente comando:
1014
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Puede encontrar instrucciones sobre cómo cargar la instantánea del origen de replicación en el destino de
la réplica para su motor de base de datos a continuación.
Motor de Instrucciones
base de
datos
Aurora Para cargar una instantánea en un clúster de base de datos Aurora MySQL
3. En el símbolo del sistema mysql, ejecute el comando source y pásele el nombre del
archivo de volcado de la base de datos para cargar los datos en el clúster de base de
datos Aurora MySQL, por ejemplo:
RDS for Para cargar una instantánea en una instancia de base de datos de Amazon RDS
MySQL
1. Copie el resultado del comando mysqldump del origen de replicación en una ubicación
que también pueda conectarse a su instancia de base de datos de MySQL.
2. Conéctese a la instancia de base de datos MySQL usando el comando mysql. A
continuación se muestra un ejemplo.
3. En el símbolo del sistema mysql, ejecute el comando source y pásele el nombre del
archivo de volcado de la base de datos para cargar los datos en la instancia de base de
datos MySQL, por ejemplo:
MySQL Para cargar una instantánea en una base de datos MySQL externa
(externo)
No puede cargar un snapshot de base de datos o un snapshot de clúster de base de datos
en una base de datos de MySQL externa. En su lugar, debe usar la salida del comando
mysqldump.
1015
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Motor de Instrucciones
base de
datos
1. Copie la salida del comando mysqldump del origen de replicación en una ubicación que
también pueda conectarse a su base de datos de MySQL.
2. Conéctese a la base de datos de MySQL usando el comando mysql. A continuación se
muestra un ejemplo.
Además, cree un ID de usuario que solo se utilice para la replicación. A continuación se muestra un
ejemplo.
El usuario requiere los privilegios REPLICATION CLIENT y REPLICATION SLAVE. Conceda estos
privilegios al usuario.
Si necesita usar la replicación cifrada, exija conexiones SSL al usuario de la replicación. Por ejemplo,
puede utilizar la siguiente instrucción para exigir el uso de conexiones SSL en la cuenta de usuario
repl_user.
Note
Si REQUIRE SSL no se incluye, la conexión de replicación podría cambiarse inadvertidamente por
una conexión sin cifrar.
Puede encontrar instrucciones acerca del procedimiento para activar la replicación para su motor de base
de datos a continuación.
Motor de Instrucciones
base de
datos
Aurora Para activar la replicación desde un clúster de base de datos Aurora MySQL
1016
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Motor de Instrucciones
base de
datos
1. Si el destino de la réplica del clúster de base de datos se creó a partir de una
instantánea de clúster de base de datos, conéctese al destino de la réplica del clúster
de base de datos y ejecute el comando SHOW MASTER STATUS. Obtenga el nombre del
archivo de log binario actual del campo File y la posición del archivo de log del campo
Position.
1017
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Motor de Instrucciones
base de
datos
RDS for Para activar la replicación desde una instancia de base de datos de Amazon RDS
MySQL
1. Si el destino de la réplica de la instancia de base de datos se creó a partir de una
instantánea, necesitará el archivo binlog y la posición del binlog que son el punto de
partida para la replicación. Ha recuperado estos valores del comando SHOW SLAVE
STATUS (Aurora MySQL versión 1 y 2) o SHOW REPLICA STATUS(Aurora MySQL
versión 3) cuando creó la instantánea de su origen de replicación.
2. Conéctese a la instancia de base de datos y ejecute los procedimientos
mysql_rds_set_external_master y mysql_rds_start_replication para comenzar la
replicación con el origen de replicación usando el nombre y la ubicación del archivo de
registro binario del paso anterior. A continuación se muestra un ejemplo.
1018
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Motor de Instrucciones
base de
datos
MySQL Para activar la replicación desde una base de datos MySQL externa
(externo)
1. Obtenga el archivo binlog y la posición del binlog que son el punto de partida para la
replicación. Ha recuperado estos valores del comando SHOW SLAVE STATUS (Aurora
MySQL versión 1 y 2) o SHOW REPLICA STATUS(Aurora MySQL versión 3) cuando creó
la instantánea de su origen de replicación. Si el destino de la réplica de MySQL externa
se rellenó desde la salida del comando mysqldump con la opción --master-data=2,
el archivo binlog y la posición del binlog se incluirán en la salida. A continuación, se
muestra un ejemplo.
--
-- Position to start replication or point-in-time recovery from
--
CHANGE MASTER TO
MASTER_HOST = 'mydbcluster.cluster-123456789012.us-
east-1.rds.amazonaws.com',
MASTER_PORT = 3306,
MASTER_USER = 'repl_user',
MASTER_PASSWORD = '<password>',
MASTER_LOG_FILE = 'mysql-bin-changelog.000031',
MASTER_LOG_POS = 107;
-- And one of these statements depending on your engine version:
START SLAVE; -- Aurora MySQL version 1 and 2
START REPLICA; -- Aurora MySQL version 3
Si la replicación falla, puede provocar un gran aumento de la E/S no intencionada en la réplica, lo que
puede degradar el rendimiento. Si la replicación falla o ya no se necesita, puede ejecutar el procedimiento
almacenado de mysql.rds_reset_external_master para eliminar la configuración de la replicación.
6. Monitoree su réplica
Al configurar una replicación de MySQL con un clúster de base de datos Aurora MySQL, debe monitorizar
los eventos de conmutación por error para el clúster de base de datos Aurora MySQL cuando se trate
del destino de la réplica. Si se produce una conmutación por error, el clúster de base de datos que es el
destino de la réplica se podrá volver a crear en un nuevo host con una dirección de red diferente. Para
obtener información acerca de la monitorización de los eventos de conmutación por error, consulte Uso de
las notificaciones de eventos de Amazon RDS (p. 725).
También puede monitorear el retardo existente entre el origen de replicación y el destino de la réplica
conectándose al destino de la réplica y ejecutando el comando SHOW SLAVE STATUS (Aurora MySQL
versión 1 y 2) o SHOW REPLICA STATUS (Aurora MySQL versión 3). En la salida del comando, el campo
Seconds Behind Master indica cuánto retardo tiene el destino de la réplica con respecto al origen.
1019
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Detener la replicación entre Aurora y MySQL o entre Aurora y
otro clúster de base de datos de Aurora
Para detener la replicación del registro binario con una instancia de base de datos MySQL, una base de
datos de MySQL externa u otro clúster de base de datos de Aurora, siga estos pasos, que se describen en
detalle en este tema.
Motor de Instrucciones
base de
datos
Aurora Para detener la replicación del registro binario en el destino de la réplica de un clúster de
base de datos Aurora MySQL
RDS for Para detener la replicación de binlog en una instancia de base de datos de Amazon RDS
MySQL
Conéctese a la instancia de base de datos de RDS que es el destino de la
réplica y llame al procedimiento mysql_rds_stop_replication. El procedimiento
mysql.rds_stop_replication solo está disponible para las versiones de MySQL 5.5 y
posteriores, 5.6 y posteriores, y 5.7 y posteriores.
MySQL Para detener la replicación del registro binario en una base de datos MySQL externa
(externo)
Conéctese a la base de datos de MySQL y llame al comando STOP REPLICATION.
Motor de Instrucciones
base de
datos
Aurora Para desactivar el registro binario en un clúster de base de datos Amazon Aurora
1020
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Motor de Instrucciones
base de
datos
Una vez que haya cambiado el valor del parámetro binlog_format, reinicie su clúster
de base de datos para que el cambio tenga efecto.
Para obtener más información, consulte Parámetros del clúster de base de datos de
Amazon Aurora y de instancia de base de datos (p. 372) y Modificación de parámetros
de un grupo de parámetros de base de datos (p. 378).
RDS for Para desactivar el registro binario en una instancia de base de datos de Amazon RDS
MySQL
No puede desactivar el registro binario directamente para una instancia de base de datos
de Amazon RDS, pero puede desactivarlo por medio de los siguientes procedimientos:
MySQL Para desactivar el registro binario en una base de datos MySQL externa
(externo)
Conéctese a la base de datos de MySQL y llame al comando STOP REPLICATION.
sudo vi /etc/my.cnf
Para obtener más información, consulte Setting the replication source configuration en la
documentación de MySQL.
3. Inicie el servicio mysql.
1021
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Uso de Amazon Aurora para escalar las lecturas de una base de
datos de MySQL
Puede usar Amazon Aurora con su instancia de base de datos MySQL para aprovechar las capacidades
de escalado de lectura de Amazon Aurora y ampliar la carga de trabajo de lectura para su instancia de
base de datos MySQL. Para usar Aurora para leer la escala de su instancia de base de datos de MySQL,
cree un clúster de base de datos de Amazon Aurora MySQL y haga que sea una réplica de lectura de su
instancia de base de datos de MySQL. Esto es válido para una instancia de base de datos de RDS for
MySQL o una base de datos de MySQL que se ejecute fuera de Amazon RDS.
Para obtener más información acerca de la creación de un clúster de base de datos Amazon Aurora,
consulte Creación de un clúster de base de datos de Amazon Aurora (p. 136).
Cuando configure la replicación entre su instancia de base de datos MySQL y su clúster de base de datos
de Amazon Aurora, asegúrese de seguir estas directrices:
• Use la dirección del punto de enlace del clúster de base de datos Amazon Aurora cuando haga
referencia a su clúster de base de datos Amazon Aurora MySQL. Si se produce una conmutación por
error, la réplica de Aurora que se asciende a instancia principal del clúster de base de datos Aurora
MySQL seguirá usando la dirección del punto de enlace del clúster de base de datos.
• Mantenga los binlogs en la instancia de escritor hasta que haya comprobado que se han aplicado a
la réplica de Aurora. Este mantenimiento garantiza que puede restaurar la instancia de escritor si se
produce un error.
Important
Los permisos requeridos para comenzar la replicación en un clúster de base de datos Amazon
Aurora MySQL están restringidos y no están disponibles para su usuario maestro de Amazon
RDS. Por este motivo, debe usar los procedimientos mysql_rds_set_external_master y
mysql_rds_start_replication de Amazon RDS para configurar la replicación entre su clúster de
base de datos de Amazon Aurora MySQL y su instancia de base de datos MySQL.
2. Ejecute el comando SHOW MASTER STATUS en la instancia de base de datos MySQL para determinar
la ubicación del binlog. Se recibe un resultado similar al del siguiente ejemplo:
File Position
------------------------------------
mysql-bin-changelog.000031 107
------------------------------------
3. Copie la base de datos la instancia de base de datos MySQL externa en el clúster de base de datos
Amazon Aurora MySQL usando mysqldump. Para bases de datos muy grandes, recomendamos usar
1022
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
el procedimiento de Importación de datos a una instancia de base de datos de MySQL o MariaDB con
tiempo de inactividad reducido en la Guía del usuario de Amazon Relational Database Service.
mysqldump \
--databases <database_name> \
--single-transaction \
--compress \
--order-by-primary \
-u <local_user> \
-p <local_password> | mysql \
--host aurora_cluster_endpoint_address \
--port 3306 \
-u <RDS_user_name> \
-p <RDS_password>
Para Windows:
mysqldump ^
--databases <database_name> ^
--single-transaction ^
--compress ^
--order-by-primary ^
-u <local_user> ^
-p <local_password> | mysql ^
--host aurora_cluster_endpoint_address ^
--port 3306 ^
-u <RDS_user_name> ^
-p <RDS_password>
Note
Asegúrese de que no haya ningún espacio entre la opción -p y la contraseña que haya escrito.
Use las opciones --host, --user (-u), --port y -p del comando mysql para especificar el nombre
de host, el nombre de usuario, el puerto y la contraseña para conectarse a su clúster de base de datos
Aurora. El nombre de host es el nombre DNS del punto de enlace del clúster de base de datos Amazon
Aurora, por ejemplo, mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com.
Puede encontrar el valor del punto de enlace en los detalles del clúster en la Management Console de
Amazon RDS.
4. Haga que la instancia de base de datos MySQL de origen vuelva a admitir la escritura:
A fin de obtener más información sobre cómo realizar copias de seguridad para su uso con la
reproducción, consulte Backing up a source or replica by making it read only en la documentación de
MySQL.
5. En la Management Console de Amazon RDS, añada la dirección IP del servidor que aloja la base de
datos MySQL de origen al grupo de seguridad de VPC para el clúster de base de datos Amazon Aurora.
Para obtener más información acerca de la modificación de un grupo de seguridad de VPC, consulte
Grupos de seguridad de su VPC en la Guía del usuario de Amazon Virtual Private Cloud.
Es posible que también necesite configurar su red local para permitir las conexiones desde la dirección
IP de su clúster de base de datos de Amazon Aurora con el fin de que se pueda comunicar con la
instancia de MySQL de origen. Para encontrar la dirección IP del clúster de base de datos Amazon
Aurora, use el comando host.
1023
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
host <aurora_endpoint_address>
El nombre de host es el nombre DNS del punto de enlace del clúster de base de datos Amazon Aurora.
6. Utilice el cliente que prefiera para conectarse a la instancia de MySQL externa y cree un usuario de
MySQL que se usará para la replicación. Esta cuenta se usa únicamente para la replicación y debe
estar limitada a su dominio para mejorar la seguridad. A continuación se muestra un ejemplo.
8. Tome una instantánea manual del clúster de base de datos de Aurora MySQL para que sea la réplica
de lectura antes de configurar la replicación. Si tiene que restablecer la replicación con el clúster de
base de datos como réplica de lectura, puede restaurar el clúster de base de datos de Aurora MySQL
desde esta instantánea en lugar de tener que importar los datos desde su instancia de base de datos de
MySQL en un nuevo clúster de base de datos de Aurora MySQL.
9. Convierta el clúster de base de datos de Amazon Aurora DB en la réplica. Conéctese al clúster de
base de datos de Amazon Aurora como usuario maestro e identifique la base de datos origen de
MySQL como maestro de replicación usando el procedimiento mysql_rds_set_external_master. Use el
nombre del archivo de registro maestro y la posición del registro maestro que determinó en el paso 2. A
continuación se muestra un ejemplo.
CALL mysql.rds_start_replication;
Una vez que haya establecido la replicación entre su instancia de base de datos MySQL de origen y su
clúster de base de datos Amazon Aurora, podrá añadir réplicas de Aurora a su clúster de base de datos
Amazon Aurora. A continuación, puede conectarse a las réplicas de Aurora para escalar la lectura de sus
datos. Para obtener más información acerca de la creación de una réplica de Aurora, consulte Adición de
réplicas de Aurora a un clúster de base de datos (p. 429).
1024
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Tip
Esta discusión supone que está familiarizado con el mecanismo de replicación del registro binario
de MySQL y cómo funciona. Para obtener información de fondo, consulte Implementación de
replicación en la documentación de MySQL.
Cuando se configura una instancia de Aurora MySQL para utilizar la replicación de registros binarios, la
instancia de réplica utiliza de forma predeterminada la replicación de un solo subproceso. Para habilitar
la replicación de múltiples procesos, actualice el parámetro replica_parallel_workers con un valor
superior a cero en el grupo de parámetros personalizado.
Las siguientes opciones de configuración le ayudan a ajustar la replicación de múltiples procesos. Para
obtener más información, consulte Opciones y variables de replicación y registro binario en el Manual de
referencia de MySQL.
• replica_parallel_workers
• replica_parallel_type
• replica_preserve_commit_order
• binlog_transaction_dependency_tracking
• binlog_transaction_dependency_history_size
• binlog_group_commit_sync_delay
• binlog_group_commit_sync_no_delay_count
No es necesario ajustar ningún parámetro de configuración para activar esta optimización. En particular,
si ajusta el parámetro de configuración aurora_binlog_replication_max_yield_seconds a un
valor distinto de cero en versiones anteriores de Aurora MySQL, vuelva a establecerlo en cero para Aurora
MySQL 2.10 o versiones posteriores.
1025
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Las variables de estado aurora_binlog_io_cache_reads y
aurora_binlog_io_cache_read_requests se encuentran disponibles en Aurora MySQL 2.10 y
versiones posteriores. Estas variables de estado lo ayudan a monitorear la frecuencia con que se leen los
datos de la caché de E/S de binlog.
La siguiente consulta SQL calcula el porcentaje de solicitudes de lectura de binlog que aprovechan la
información almacenada en caché. En este caso, cuanto más cerca esté la proporción de 100, mejor será.
mysql> SELECT
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS
WHERE VARIABLE_NAME='aurora_binlog_io_cache_reads')
/ (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS
WHERE VARIABLE_NAME='aurora_binlog_io_cache_read_requests')
* 100
as binlog_io_cache_hit_ratio;
+---------------------------+
| binlog_io_cache_hit_ratio |
+---------------------------+
| 99.99847949080622 |
+---------------------------+
La característica de caché de E/S de binlog también incluye métricas nuevas relacionadas con los
subprocesos de copia de datos de binlog. Los subprocesos de volcado son los subprocesos que se crean
cuando se conectan réplicas de binlog nuevas a la instancia de origen de binlog.
Las métricas de subprocesos de copia de datos se imprimen en el registro de la base de datos cada
60 segundos con el prefijo [Dump thread metrics]. Las métricas incluyen información para cada
réplica de binlog como Secondary_id, Secondary_uuid, el nombre del archivo de binlog y la posición
que lee cada réplica. Las métricas también incluyen Bytes_behind_primary, que representan
la distancia en bytes entre el origen de la reproducción y la réplica. Esta métrica mide el retraso del
subproceso de E/S de réplica. Esta cifra es diferente del retraso del subproceso del aplicador SQL de
la réplica, que se representa mediante la métrica seconds_behind_master de la réplica de binlog.
Puede determinar si las réplicas de binlog alcanzan al origen o se quedan atrás al comprobar si la distancia
disminuye o aumenta.
• aurora_binlog_use_large_read_buffer
• aurora_binlog_read_buffer_size
• aurora_binlog_replication_max_yield_seconds
Note
Para clústeres compatibles con MySQL 5.7, puede usar estos parámetros en las versiones 2.04.5
a 2.09.* de Aurora MySQL. En Aurora MySQL 2.10.0 y versiones posteriores, estos parámetros se
sustituyen por la optimización de la caché de E/S de binlog y no es necesario usarlos.
Para clústeres compatibles con MySQL 5.6, puede usar estos parámetros en la versión 1.17.6 de
Aurora MySQL y versiones posteriores.
1026
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Temas
• Descripción general del búfer de lectura grande y optimizaciones de rendimiento máximo (p. 1027)
• Parámetros relacionados (p. 1028)
• Activación del mecanismo de rendimiento máximo de replicación de registros binarios (p. 1029)
• Desactivación de la optimización de rendimiento máximo de replicación de registros binarios (p. 1030)
• Desactivación del búfer de lectura grande (p. 1030)
El archivo binlog actual significa el archivo binlog que el subproceso de volcado está leyendo actualmente
para realizar la replicación. Consideramos que un archivo binlog está activo cuando el archivo binlog se
está actualizando o abierto para ser actualizado por transacciones entrantes. Después de que Aurora
MySQL llena el archivo binlog activo, MySQL crea y cambia a un nuevo archivo binlog. El antiguo archivo
binlog se vuelve inactivo. Ya no se actualiza mediante transacciones entrantes.
Note
aurora_binlog_use_large_read_buffer
Los subprocesos de volcado de registros binarios con un búfer de lectura más grande minimizan
la cantidad de operaciones de E/S de lectura al leer más eventos para cada E/S. El parámetro
aurora_binlog_read_buffer_size establece el tamaño del búfer de lectura. El búfer de lectura
grande puede reducir la contención de logs binarios para cargas de trabajo que generan una gran
cantidad de datos de binlog.
Note
Este parámetro solo tiene un efecto cuando el clúster también tiene la configuración
aurora_binlog_use_large_read_buffer=1.
Aumentar el tamaño del búfer de lectura no afecta al rendimiento de la replicación de
registros binarios. Los subprocesos de volcado de registro binario no esperan a que las
transacciones de actualización llenen el búfer de lectura.
1027
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
aurora_binlog_replication_max_yield_seconds
Si la carga de trabajo requiere una latencia de transacción baja y puede tolerar algún retraso de
replicación, puede aumentar el parámetro aurora_binlog_replication_max_yield_seconds.
Este parámetro controla la propiedad de rendimiento máximo de la replicación de registros binarios en
el clúster.
Note
Este parámetro solo tiene un efecto cuando el clúster también tiene la configuración
aurora_binlog_use_large_read_buffer=1.
Parámetros relacionados
Utilice los siguientes parámetros de clúster de base de datos para activar la optimización de binlog.
1
aurora_binlog_use_large_read_buffer 0, 1 Conmutador para
activar la característica
de mejora de
replicación. Cuando
es 1, el subproceso
de volcado de
registro binario utiliza
aurora_binlog_read_buffer_siz
para la replicación del
registro binario; de lo
contrario, se utiliza
el tamaño de búfer
predeterminado (8K).
5242880
aurora_binlog_read_buffer_size 8192-536870912 Tamaño del búfer de
lectura utilizado por el
subproceso de volcado
de registro binario
cuando el parámetro
aurora_binlog_use_large_read_
se establece en 1.
0 0-36000
aurora_binlog_replication_max_yield_seconds Para las versiones de
Aurora MySQL 2.04.5 -
2.04.8 y 2.05 y 2.08.*, el
valor máximo aceptado
es 45. Puede ajustarlo
a un valor más alto
en 2.04.9 y versiones
posteriores de 2.04.*,
y en 2.09 y versiones
posteriores. Este
parámetro solo funciona
1028
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
Parámetro Valor predeterminado Valores válidos Descripción
cuando el parámetro
aurora_binlog_use_large_read_
está establecido en 1.
0
aurora_binlog_use_large_read_buffer 0, 1 Conmutador para
activar la característica
de mejora de
replicación. Cuando
es 1, el subproceso
de volcado de
registro binario utiliza
aurora_binlog_read_buffer_siz
para la replicación del
registro binario. De
lo contrario, se utiliza
el tamaño de búfer
predeterminado (8 KB).
5242880
aurora_binlog_read_buffer_size 8192-536870912 Tamaño del búfer de
lectura utilizado por el
subproceso de volcado
de registro binario
cuando el parámetro
aurora_binlog_use_large_read_
se establece en 1.
0 0-36000
aurora_binlog_replication_max_yield_seconds Número máximo de
segundos para rendir
cuando el subproceso
de volcado del registro
binario replica el
archivo binlog actual
(el archivo utilizado por
las consultas en primer
plano) en réplicas. Este
parámetro solo funciona
cuando el parámetro
aurora_binlog_use_large_read_
está establecido en 1.
Para activar la optimización de binlog de rendimiento máximo para un clúster de Aurora MySQL
1. Cree o edite un grupo de parámetros del clúster de base de datos con la siguiente configuración de
parámetros:
1029
Amazon Aurora Guía del usuario de Aurora
Replicación entre Aurora y MySQL o entre
Aurora y otro clúster de base de datos de
Aurora (replicación de registro binario)
• aurora_binlog_use_large_read_buffer: activar con un valor de ON o 1.
• aurora_binlog_replication_max_yield_seconds: especifique un valor mayor que 0.
2. Asocie el grupo de parámetros de clúster de base de datos con el clúster Aurora MySQL que funciona
como origen binlog. Para ello, siga los procedimientos en Trabajo con los grupos de parámetros de
base de datos y grupos de parámetros de clúster de base de datos (p. 369).
3. Confirme que el cambio de parámetro surte efecto. Para ello, ejecute la siguiente consulta en la
instancia de origen binlog.
SELECT @@aurora_binlog_use_large_read_buffer,
@@aurora_binlog_replication_max_yield_seconds;
+---------------------------------------
+-----------------------------------------------+
| @@aurora_binlog_use_large_read_buffer | @@aurora_binlog_replication_max_yield_seconds
|
+---------------------------------------
+-----------------------------------------------+
| 1 | 45
|
+---------------------------------------
+-----------------------------------------------+
1. Asegúrese de que el grupo de parámetros de clúster de base de datos asociado al clúster de Aurora
MySQL disponga de aurora_binlog_replication_max_yield_seconds establecido en 0. Para
obtener más información sobre el establecimiento de parámetros de configuración con grupos de
consultas, consulte Trabajo con los grupos de parámetros de base de datos y grupos de parámetros
de clúster de base de datos (p. 369).
2. Confirme que el cambio de parámetro surte efecto. Para ello, ejecute la siguiente consulta en la
instancia de origen binlog.
SELECT @@aurora_binlog_replication_max_yield_seconds;
+-----------------------------------------------+
| @@aurora_binlog_replication_max_yield_seconds |
+-----------------------------------------------+
| 0 |
+-----------------------------------------------+
1030
Amazon Aurora Guía del usuario de Aurora
Uso de la replicación basada en GTID
Para desactivar el búfer de lectura de registro binario grande para un clúster Aurora MySQL
Asegúrese de que el grupo de parámetros de clúster de base de datos asociado al clúster de Aurora
MySQL disponga de aurora_binlog_use_large_read_buffer establecido en 0. Para obtener
más información sobre el establecimiento de parámetros de configuración con grupos de consultas,
consulte Trabajo con los grupos de parámetros de base de datos y grupos de parámetros de clúster
de base de datos (p. 369).
2. En la instancia de origen binlog, ejecute la siguiente consulta.
SELECT @@ aurora_binlog_use_large_read_buffer;
+---------------------------------------+
| @@aurora_binlog_use_large_read_buffer |
+---------------------------------------+
| 0 |
+---------------------------------------+
Si utiliza la AWS Management Console, la AWS CLI o la API de RDS para cambiar la contraseña maestra
en el origen de replicación, esos cambios no se replican automáticamente en el destino de replicación. Si
desea sincronizar el usuario maestro y la contraseña maestra entre los sistemas de origen y destino, debe
realizar el mismo cambio en el destino de replicación usted mismo.
Para Aurora, puede usar solo esta característica con clústeres de Aurora MySQL que usan la
replicación del binlog en una base de datos de MySQL externa o desde ella. La otra base de
datos puede ser una instancia de Amazon RDS MySQL, una base de datos de MySQL en las
instalaciones o un clúster de base de datos de Aurora en una región de AWS diferente. Para
obtener información sobre cómo configurar ese tipo de replicación, consulte Replicación entre
Aurora y MySQL o entre Aurora y otro clúster de base de datos de Aurora (replicación de registro
binario) (p. 1005).
Si utiliza la replicación del binlog y no está familiarizado con la replicación basada en GTID con MySQL,
consulte Replication with Global Transaction Identifiers (Replicación con identificadores de transacciones
globales) en la documentación de MySQL para obtener información.
La replicación basada en GTID es compatible con los clústeres compatibles con MySQL 5.7 en Aurora
MySQL 2.04 y versiones posteriores. La replicación basada en GTID no es compatible con clústeres
compatibles con MySQL 5.6 en Aurora MySQL, versión 1.
1031
Amazon Aurora Guía del usuario de Aurora
Uso de la replicación basada en GTID
Temas
• Información general de identificadores de transacciones globales (GTID) (p. 1032)
• Parámetros de replicación basada en GTID (p. 1032)
• Configuración de la replicación basada en GTID para un clúster de Aurora MySQL. (p. 1033)
• Desactivación de la reproducción basada en GTID para y un clúster de base de datos de Aurora
MySQL (p. 1034)
Cuando Aurora sincroniza datos entre las instancias de base de datos en un clúster, ese
mecanismo de replicación no incluye el registro binario (binlog). Para Aurora MySQL, la
replicación basada de GTID solo se aplica cuando también utiliza la replicación del binlog para
realizar la replicación dentro o fuera de un clúster de base de datos de Aurora MySQL a partir de
una base de datos compatible con MySQL externa.
MySQL usa dos tipos distintos de transacciones para la replicación del binlog:
En una configuración de replicación, los GTID son únicos en todas las instancias de base de datos.
Los GTID simplifican la configuración de replicación porque cuando se usan no es necesario hacer
referencia a las posiciones de los archivos de registro. Los GTID también simplifican el seguimiento de las
transacciones replicadas y determinan si las instancias de origen y las réplicas son coherentes.
Normalmente utiliza la replicación basada en GTID con Aurora cuando efectúa la replicación desde
una base de datos compatible con MySQL externa en un clúster de Aurora. Puede configurar esta
configuración de replicación como parte de una migración desde una base de datos de Amazon RDS o
local en Aurora MySQL. Si la base de datos externa ya utiliza GTID, habilitar la replicación basada en GTID
para el clúster de Aurora simplifica el proceso de replicación.
Configure la replicación basada en GTID para un clúster de Aurora MySQL configurando primero los
parámetros de configuración relevantes en un grupo de parámetros de clúster de base de datos. A
continuación, asocie ese grupo de parámetros al clúster.
gtid_mode OFF, OFF_PERMISSIVE, OFF especifica que las nuevas transacciones son
ON_PERMISSIVE, ON anónimas (es decir, no tienen GTID) y que una
transacción debe ser anónima para replicarse.
1032
Amazon Aurora Guía del usuario de Aurora
Uso de la replicación basada en GTID
enforce_gtid_consistency
OFF, ON, WARN OFF permite que las transacciones infrinjan la
uniformidad de GTID.
Note
Para la replicación basada en GTID, utilice esta configuración para el grupo de parámetros de clúster de
base de datos para el clúster de base de datos de Aurora MySQL:
Tip
La replicación entrante es el escenario de replicación del binlog más frecuente para los clústeres
de Aurora MySQL. Para la replicación entrante, recomendamos que establezca el modo de GTID
en OFF_PERMISSIVE. Esta configuración permite la replicación entrante desde bases de datos
externas independientemente de la configuración de GTID en el origen de replicación.
Para obtener más información acerca de los grupos de parámetros, consulte Trabajo con los grupos de
parámetros de base de datos y grupos de parámetros de clúster de base de datos (p. 369).
1033
Amazon Aurora Guía del usuario de Aurora
Uso de la replicación basada en GTID
Para habilitar la replicación basada en GTID para un clúster de Aurora MySQL, realice el siguiente
procedimiento:
1. Cree o edite un grupo de parámetros del clúster de base de datos con la siguiente configuración de
parámetros:
• gtid_mode – ON o ON_PERMISSIVE
• enforce_gtid_consistency – ON
2. Asocie el grupo de parámetros del clúster de base de datos con el clúster de Aurora MySQL. Para
ello, siga los procedimientos en Trabajo con los grupos de parámetros de base de datos y grupos de
parámetros de clúster de base de datos (p. 369).
3. En Aurora MySQL 3 y versiones posteriores, especifique de manera opcional cómo asignar
GTID a las transacciones que no los incluyen. Para ello, llame al procedimiento almacenado en
mysql.rds_assign_gtids_to_anonymous_transactions (Aurora MySQL versión 3 y superior) (p. 1163).
Para obtener más información sobre los procedimientos almacenados mencionados en esta sección,
consulte Procedimientos almacenados de Aurora MySQL (p. 1163).
Para desactivar la replicación basada en GTID para un clúster de base de datos de Aurora MySQL
1034
Amazon Aurora Guía del usuario de Aurora
Uso de clústeres multimaestros de
File Position
------------------------------------
mysql-bin-changelog.000031 107
------------------------------------
a. Asegúrese de que el grupo de parámetros del clúster de base de datos asociado al clúster de
Aurora MySQL tenga la siguiente configuración de parámetros:
• gtid_mode – OFF
• enforce_gtid_consistency – OFF
b. Reinicie el clúster de base de datos de Aurora MySQL.
Temas
• Información general sobre los clústeres multimaestros de Aurora (p. 1036)
• Creación de un clúster multimaestro de Aurora. (p. 1042)
• Administración de los clústeres multimaestros de Aurora (p. 1047)
• Consideraciones sobre la aplicación de los clústeres multimaestros de Aurora (p. 1050)
• Consideraciones sobre rendimiento para los clústeres multimaestros de Aurora. (p. 1060)
• Enfoques relacionados con los clústeres multimaestros de Aurora (p. 1062)
1035
Amazon Aurora Guía del usuario de Aurora
Información general sobre los clústeres multimaestros de
Por cada clúster nuevo de Amazon Aurora, puede elegir si crear un clúster maestro único o multimaestro.
La mayoría de clústeres de Aurora son clústeres maestros únicos. Por ejemplo, los clústeres
aprovisionados, Aurora Serverless, de consulta previa y de base de datos global son clústeres maestros
únicos. En un clúster maestro único, una única instancia de base de datos realiza todas las operaciones de
escritura y cualquier otra instancia es de solo lectura. Si el escritor de una instancia de base de datos deja
de estar disponible, el mecanismo de conmutación por error promueve que una de las instancia de solo
lectura sea el nuevo escritor.
En un clúster multimaestro, todas las instancias de bases de datos pueden realizar operaciones de
escritura. Las nociones de una instancia principal de lectura/escritura única y las réplicas de Aurora de
solo lectura múltiples no se aplican. No hay ninguna compensación por error cuando una instancia de
base de datos deja de estar disponible ya que otra instancia de base de datos de escritor se vuelve
disponible inmediatamente para hacerse cargo del trabajo de la instancia fallida. Nos referimos a este tipo
de disponibilidad como disponibilidad continua, para distinguirla de la alta disponibilidad (con un breve
tiempo de inactividad durante la conmutación por error) ofrecida por un clúster maestro único.
Los clústeres multimaestros funcionan de forma diferente de muchas maneras con respecto a los
otros tipos de clústeres de Aurora, como los clústeres aprovisionados, Aurora Serverless y de consulta
paralela. Con los clústeres multimaestros, puede tener en cuenta diferentes factores en áreas como la
alta disponibilidad, la monitorización, la administración de la conexión y las características de base de
datos. Por ejemplo, en aplicaciones donde no puede permitirse ni un breve tiempo de inactividad para
las operaciones de escritura de la base de datos, un clúster multimaestro puede ayudarle a evitar una
interrupción cuando una instancia de escritor deja de estar disponible. El clúster multimaestro no utiliza el
mecanismo de conmutación por error, ya que no tiene que promover otra instancia de base de datos para
que tenga capacidad de lectura/escritura. Con un clúster multimaestro, examina las métricas relacionadas
con el desempeño DML, la latencia y los interbloqueos de todas las instancias de base de datos de una
sola instancia principal.
En la actualidad, los clústeres multimaestros precisan la versión 1 de Aurora MySQL, que es compatible
con MySQL 5.6. Cuando especifique la versión del motor de base de datos en la AWS Management
Console, la AWS CLI o la API de RDS, elija 5.6.10a.
Para crear un clúster multimaestro, elija Mutiple writers (Varios escritores) en Database features
(Características de la base de datos) al crear el clúster. Al hacerlo se habilita un comportamiento diferente
para la replicación entre las instancias de base de datos, la disponibilidad y el rendimiento que otros tipos
de clústeres de Aurora. Esta elección permanece en vigor durante la vida del clúster. Asegúrese de que
comprenda los casos de uso especializado que son apropiados para los clústeres multimaestros.
Temas
• Terminología del clúster multimaestro (p. 1037)
• Arquitectura del clúster multimaestro (p. 1038)
• Cargas de trabajo recomendadas para los clústeres multimaestros (p. 1039)
• Ventajas de los clústeres multimaestros (p. 1040)
• Limitaciones de los clústeres multimaestros (p. 1040)
1036
Amazon Aurora Guía del usuario de Aurora
Información general sobre los clústeres multimaestros de
Escritor
Una instancia de base de datos que puede llevar a cabo operaciones de escritura. En un clúster
multimaestro de Aurora, todas las instancias de base de datos son escritores. Esta es una diferencia
significativa de los clústeres maestros únicos de Aurora, donde solo una instancia de base de datos
puede actuar como un escritor. Con un clúster maestro único, si el escritor deja de estar disponible, el
mecanismo de conmutación por error promueve que otra instancia de base de datos se convierta en el
nuevo escritor. Con un clúster multimaestro, si aplicación puede redireccionar operaciones de escritura
de la instancia de base de datos fallida a cualquier otra instancia de base de datos en el clúster.
Multimaestro
Una arquitectura para los clústeres de Aurora donde cada instancia de base de datos realiza
operaciones de lectura y escritura. Contraste esto con el maestro único. Los clústeres multimaestros
son más adecuadas para cargas de trabajo segmentadas, como para las aplicaciones multiinquilino.
Maestro único
La arquitectura predeterminada para los clústeres de Aurora. Una única instancia de base de datos
(la instancia principal) realiza las escrituras. Las demás instancias de base de datos (las réplicas de
Aurora) se encargan del trafico de consulta de solo lectura. Contraste esto con el multimaestro. Esta
arquitectura es apropiada para aplicaciones de uso general. En esas aplicaciones, una única instancia
de base de datos puede encargarse de todas las instrucciones de lenguaje de manipulación de datos
(DML) y de lenguaje de definición de datos (DDL). Los problemas de escalabilidad principalmente
implican consultas SELECT.
Conflicto de escritura
Una situación que se produce cuando las instancias de base de datos intentan modificar la misma
página de datos al mismo tiempo. Aurora informa un conflicto de escritura a su aplicación como un
error de interbloqueo. Esta condición de error hace que la transacción se revierta. Su aplicación debe
detectar el código de error y volver a intentar la transacción.
Un tipo particular de cargas de trabajo segmentadas. Los datos están divididos físicamente en
muchas particiones, tablas bases de datos o incluso en clústeres separados. Los recipientes de partes
específicas de los datos se conocen como fragmentos. En un clúster multimaestro de Aurora, una
instancia de base de datos específica administra cada fragmento y una instancia de base de datos
puede ser responsable de varios fragmentos. Un diseño de esquemas fragmentado se aplica de forma
correcta a la manera en l que administra las conexiones en un clúster de Aurora.
Fragmento
La unidad de granularidad en una implementación fragmentada. Puede ser una tabla, un conjunto de
tablas relacionadas, una base de datos, una partición o incluso un clúster entero. Con los clústeres
multimaestros de Aurora, puede consolidar los datos para una aplicación fragmentada en un único
volumen de almacenamiento compartido de Aurora, haciendo que la base de datos de disponibilidad
continua y los datos sean fáciles de administrar. Decide los fragmentos que administra cada instancia
de base de datos. Puede cambiar esta asignación en cualquier momento, sin reorganizar físicamente
los datos.
1037
Amazon Aurora Guía del usuario de Aurora
Información general sobre los clústeres multimaestros de
Reorganizar los datos fragmentados de manera física para que las diferentes instancias de bases
de datos puedan encargarse de tablas o bases de datos específicas. No tiene que reorganizar los
datos de manera física dentro de los clústeres multimaestros de Aurora en respuesta a la carga de
trabajo cambiante o a los errores de las instancias de bases de datos. Puede evitar las operaciones de
cambios en los fragmentos ya que todas las instancias de base de datos en un clúster pueden acceder
a todas las bases de datos y tablas a través del volumen de almacenamiento compartido.
Multitenant
Un tipo particular de cargas de trabajo segmentadas. Los datos de cada cliente o usuario se guardan
en una tabla o base de datos separada. Este diseño garantiza el aislamiento y le ayuda a administrar
la capacidad y los recursos en el nivel de los usuarios individuales.
Bring-your-own-shard (BYOS)
Una situación donde ya tiene un esquema de base de datos y aplicaciones asociadas que
utilizan fragmentación. Puede transferir esas implementaciones relativamente fácil a los clústeres
multimaestros de Aurora. En este caso, puede dedicar su esfuerzo a investigar los beneficios de
Aurora como la consolidación del servidor y la alta disponibilidad. No necesita crear una nueva lógica
de aplicación para ocuparse de varias conexiones para las solicitudes de escritura.
Lectura tras escritura global (GRAW)
Una configuración que introduce la sincronización de manera que cualquier operación de lectura
siempre visualice el estado de los datos más actual. De manera predeterminada, los datos
que visualiza una operación de lectura en un clúster multimaestro están sujeto a un retardo de
replicación, típicamente de unos cuantos milisegundos. Durante este breve intervalo, una consulta
en una instancia de base de datos puede recuperar datos obsoletos si una instancia de base
de datos diferente modifica los mismos datos al mismo tiempo. Para permitir esta configuración,
cambie aurora_mm_session_consistency_level de su configuración predeterminada de
INSTANCE_RAW a REGIONAL_RAW. Al hacerlo se asegura la consistencia de todo el clúster para
las operaciones de lectura sin importar las instancias de base de datos que realicen lecturas y las
escrituras. Para obtener más detalles del modo GRAW, consulte Modelo de consistencia para los
clústeres multimaestros (p. 1053).
Su aplicación controla que instancia de base de datos se ocupa de que solicitudes de escritura. Por lo
tanto, en un clúster multimaestro, se conecta a los puntos de enlace individuales de la instancia para emitir
instrucciones DML y DDL. Es diferente de otros tipos de clústeres de Aurora, donde típicamente dirige
todas las operaciones de escritura al único punto de enlace del clúster y todas las operaciones de lectura
al único punto de enlace del lector.
Los clústeres multimaestros no tienen nodos dedicados de solo lectura. Por lo tanto, los procedimientos y
directrices de Aurora acerca de las réplicas de Aurora no se aplican a los clústeres multimaestros. Puede
1038
Amazon Aurora Guía del usuario de Aurora
Información general sobre los clústeres multimaestros de
hacer que una instancia de base de datos sea de solo lectura de manera temporal para colocar instancias
de lectura y de escritura en instancias de base de datos diferentes. Para ello, consulte Uso del modo de
solo lectura de la instancia (p. 1060).
Los nodos del clúster multimaestro se conectan utilizando una replicación de Aurora de bajo retardo y
baja latencia. Los clústeres multimaestros utilizan una replicación entre todos y entre pares. La replicación
funciona directamente entre escritores. Cada escritor replica sus cambios a todos los otros escritores.
Las instancias de bases de datos en un clúster multimaestro se ocupan del reinicio y de la recuperación
de manera independiente. Si un escritor se reinicia, no hace falta que otros escritores se reinicien también.
Para obtener más información, consulte Consideraciones sobre la alta disponibilidad de los clústeres
multimaestros de Aurora (p. 1049).
Los clústeres multimaestros realizan un seguimiento de todos los cambios a los datos en todas las
instancias de base de datos. La unidad de medida es la página de datos, que tiene un tamaño fijo de
16 KB. Estos cambios incluyen las modificaciones a los datos de al tabla, índices secundarios y tablas del
sistema. Los cambios también pueden ser el resultado de las tareas de limpieza internas de Aurora. Aurora
garantiza la consistencia entre las diferentes copias físicas que Aurora conserva para cada página de
datos en el volumen de almacenamiento compartido y en la memoria en las instancias de base de datos.
Si dos instancias de base de datos intentan modificar la misma página de datos casi al mismo tiempo,
se produce un conflicto de escritura. La primera solicitud de cambio se aprueba utilizando un mecanismo
de votación de cuórum. Ese cambio se guarda en un almacenamiento permanente. La instancia de
base de datos cuyo cambio no se ha aprobado revierte toda la transacción que contenga el cambio
intentado. Revertir la transacción garantiza que los datos se conserven en un estado consistente y que
las aplicaciones siempre obtengan una vista predecible de los datos. Su aplicación puede detectar la
condición de interbloqueo y volver a intentar toda la transacción.
Para obtener detalles de como minimizar los conflictos de escritura y la sobrecarga de rendimiento
asociada, consulte Resolución de conflictos para clústeres multimaestro (p. 1061).
Los clústeres multimaestros funcionan bien con la lógica de aplicación que se ha diseñado para una
carga de trabajo segmentada. En este tipo de carga de trabajo, divide las operaciones de escritura por
instancia de base de datos, base de datos, tabla o partición de tabla. Por ejemplo, puede ejecutar varias
aplicaciones en el mismo clúster, cada uno asignado a una instancia de base de datos específica. O
1039
Amazon Aurora Guía del usuario de Aurora
Información general sobre los clústeres multimaestros de
bien, puede ejecutar una aplicación que utilice varias tablas pequeñas, como una tabla para cada usuario
de un servicio online. Idealmente, puede diseñar su esquema para que las operaciones para diferentes
instancias de base de datos no realicen actualizaciones simultáneas en filas que se solapan en las mismas
tablas. Las aplicaciones fragmentadas son un ejemplo de este tipo de arquitectura.
Para obtener ejemplos de diseños de cargas de trabajo activas-activas, consulte Uso de un clúster
multimaestro para una base de datos fragmentada (p. 1062).
• Los clústeres multimaestros mejoran la alta disponibilidad de Aurora. Puede reiniciar una instancia de
base de datos de lectura/escritura sin hacer que las otras instancias de base de datos en el clúster se
reinicien. No hay un proceso de conmutación por error y un retraso asociado cuando una instancia de
base de datos de lectura/escritura deja de estar disponible.
• Los clústeres multimaestros son adecuados para las aplicaciones fragmentadas o multiinquilino. A
medida que administra los datos, puede evitar operaciones complejas de realización de cambios en
los fragmentos. Es posible que pueda consolidar aplicaciones fragmentadas con un número menor de
clústeres o de instancias de base de datos. Para obtener más información, consulte Uso de un clúster
multimaestro para una base de datos fragmentada (p. 1062).
• Aurora detecta conflictos de escritura de manera inmediata, no cuando se confirma la transacción. Para
obtener detalles sobre el mecanismo de conflicto de escritura, consulte Resolución de conflictos para
clústeres multimaestro (p. 1061).
Los clústeres multimaestros de Aurora son muy especializados para casos de uso de
disponibilidad continua. Por lo tanto, puede que esos clústeres no se puedan aplicar de manera
general a todas las cargas de trabajo. Se pueden satisfacer sus requisitos de rendimiento,
escalabilidad y disponibilidad al utilizar una clase de instancia de base de datos mayor con un
clúster maestro único de Aurora. En tal caso, considere utilizar un clúster aprovisionado o Aurora
Serverless.
• Actualmente, puede tener un máximo de cuatro instancias de base de datos en un clúster multimaestro.
• Actualmente, todas las instancias de base de datos en un clúster multimaestro deben estar en la misma
región de AWS.
• No puede habilitar réplicas entre regiones de clústeres multimaestros.
• Los clústeres multimaestros están disponibles en las siguientes regiones de AWS:
• US East (N. Virginia) Region
• US East (Ohio) Region
• US West (Oregon) Region
• Asia Pacific (Mumbai) Region
• Asia Pacific (Seoul) Region
• Asia Pacific (Tokyo) Region
• Europe (Frankfurt) Region
• Europe (Ireland) Region
1040
Amazon Aurora Guía del usuario de Aurora
Información general sobre los clústeres multimaestros de
El aspecto multimaestro es una elección permanente para un clúster. No puede cambiar un clúster de
Aurora entre un clúster multimaestro y otro tipo como Aurora Serverless o de consulta paralela.
• Las características de aplicación de parches sin tiempo de inactividad (ZDP) y de reinicio sin tiempo de
inactividad (ZDR).
• La integración con otros servicios de AWS, como AWS Lambda, Amazon S3 y AWS Identity and Access
Management, no está disponible para los clústeres multimaestros.
• La característica de información sobre el rendimiento no está disponible para los clústeres
multimaestros.
• No puede clonar un clúster multimaestro.
• No puede habilitar la característica de búsqueda de datos anteriores para los clústeres multimaestros.
• No puede realizar una replicación de registro binario (binlog) de o desde un clúster multimaestro. Esta
limitación significa que tampoco puede utilizar la replicación de ID de transacciones globales (GTID) en
un clúster multimaestro.
• El programador de eventos no está disponible para los clústeres multimaestros.
• La optimización de combinaciones hash no está habilitada en los clústeres multimaestros.
• El caché de consultas no está disponible en clústeres multimaestros.
• No puede utilizar determinadas características de lenguaje de SQL en clústeres multimaestros. Para
obtener la lista completa de diferencias de SQL y las instrucciones acerca de la adaptación de su
código de SQL para abordar estas limitaciones, consulte Consideraciones sobre SQL de los clústeres
multimaestros (p. 1050).
1041
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster multimaestro
Console
Para crear un clúster multimaestro de Aurora desde la AWS Management Console, tome las siguientes
decisiones. En la primera pantalla, seleccionará un clúster de Aurora:
1042
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster multimaestro
1043
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster multimaestro
En la segunda pantalla, elija Multiple writers (Varios escritores) en Database features (Características de la
base de datos).
1044
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster multimaestro
Rellene las otras configuraciones del clúster. Esta parte del procedimiento es la misma que en el
procedimiento general para la creación de un clúster de Aurora en Creación de un clúster de base de
datos (p. 137).
Después de crear el clúster multimaestro, añádale dos instancias de base de datos siguiendo el
procedimiento en Adición de réplicas de Aurora a un clúster de base de datos (p. 429). Utilice la misma
clase de instancia de AWS para todas las instancias de base de datos en el clúster multimaestro.
Después de que haya creado el clúster multimaestro y las instancias de base de datos asociadas,
visualizará el clúster en la página Databases (Bases de datos) de la AWS Management Console de la
siguiente manera. Todas las instancias de bases de datos muestran el rol de Writer (Escritor).
1045
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster multimaestro
AWS CLI
Para crear un nuevo clúster multimaestro de la AWS CLI, ejecute el comando create-db-cluster de la AWS
CLI e incluya la opción --engine_mode=multimaster.
El siguiente comando muestra la sintaxis para la creación de un clúster de Aurora con una replicación
multimaestra. Para informarse del procedimiento general para crear un clúster de Aurora, consulte
Creación de un clúster de base de datos (p. 137).
Para Windows:
Después de crear el clúster multimaestro, añádale una segunda instancia de base de datos siguiendo el
procedimiento en Adición de réplicas de Aurora a un clúster de base de datos (p. 429). Utilice la misma
clase de instancia de AWS para todas las instancias de base de datos en el clúster multimaestro.
1046
Amazon Aurora Guía del usuario de Aurora
Administración de los clústeres multimaestros de
API de RDS
Para crear un clúster multimaestro con la API de RDS, ejecute la operación CreateDBCluster. Especifique
el valor multimaster para el parámetro EngineMode. Para informarse del procedimiento general para
crear un clúster de Aurora, consulte Creación de un clúster de base de datos (p. 137).
Después de crear el clúster multimaestro, añádale dos instancias de base de datos siguiendo el
procedimiento en Adición de réplicas de Aurora a un clúster de base de datos (p. 429). Utilice la misma
clase de instancia de AWS para todas las instancias de base de datos en el clúster multimaestro.
Temas
• Monitoreo de un clúster multimaestro de Aurora (p. 1047)
• Rendimiento de la incorporación de datos para los clústeres multimaestros (p. 1048)
• Exportación de datos desde un clúster multimaestro (p. 1049)
• Consideraciones sobre la alta disponibilidad de los clústeres multimaestros de Aurora (p. 1049)
• Replicación entre los clústeres multimaestros y otros clústeres (p. 1049)
• Actualización de un clúster multimaestro (p. 1049)
1047
Amazon Aurora Guía del usuario de Aurora
Administración de los clústeres multimaestros de
• Performance Insights.
1. Emita un comando mysqldump independiente para cada base de datos, tabla u otro objeto en su
esquema. Almacene los resultados de cada mysqldump en un archivo cuyo nombre refleje el objeto
que se está volcando. Como alternativa, puede utilizar una herramienta de importación y un volcado
especializado que pueden volcar varias tablas en paralelo de forma automática, como mydumper.
2. Ejecute una sesión independiente de mysql para cada archivo de datos, conectándose al punto de
enlace de la instancia adecuada que se ocupa del objeto del esquema correspondiente. De nuevo,
como alternativa, puede utilizar un comando de importación paralelo especializado, como myloader.
3. Ejecute las sesiones de importación en paralelo en todas las instancias de base de datos en el clúster
multimaestro, en vez de esperar a que termine cada una antes de comenzar la siguiente.
Puede utilizar las siguientes técnicas para importar los datos a un clúster multimaestro de Aurora:
• Puede importar los volcados lógicos (formato de SQL) de otros servidores compatibles con MySQL a
los clústeres multimaestros de Aurora, si las instrucciones no utilizan ninguna característica que no se
admita en Aurora. Por ejemplo, un volcado lógico de una tabla que contenga índices de búsqueda de
texto completo (FTS) de MySQL no funciona porque la característica de FTS no se admite en clústeres
multimaestros.
• Puede utilizar servicios administrados como DMS para migrar los datos a un clúster multimaestro de
Aurora.
• Para las migraciones a un clúster multimaestro deAurora desde un servidor que no sea compatible con
MySQL, siga las instrucciones existentes para las migraciones heterogéneas de Aurora.
• Los clústeres multimaestros de Aurora pueden producir volcados lógicos compatibles con MySQL con
formato de SQL. Cualquier herramienta de migración (por ejemplo, AWS DMS) que pueda comprender
ese formato puede consumir los volcados de datos de clústeres multimaestros de Aurora.
• Aurora no admite el registro binario con el clúster multimaestro como el proceso de trabajo o el elemento
principal del binlog. No puede utilizar herramientas de CDC basadas en el binlog con los clústeres
multimaestros.
• Cuando migre desde servidores que no son compatibles con MySQL, puede replicar en un clúster
multimaestro con la característica de captura de datos de cambio (CDC) continua de AWS DMS. Ese
tipo de replicación transmite las instrucciones SQL al clúster de destino, por lo tanto no se aplica la
restricción en la replicación del binlog.
Para obtener una explicación detallada de las técnicas y recomendaciones de migración, consulte el
documento técnico Manual de migración de Amazon Aurora de AWS. Puede que algunos de los métodos
de migración mostrados en el manual no se apliquen a los clústeres multimaestros de Aurora, pero el
documento es una gran fuente de conocimiento general acerca de los temas de migración de Aurora.
1048
Amazon Aurora Guía del usuario de Aurora
Administración de los clústeres multimaestros de
Para migrar los datos de un clúster multimaestro a un clúster maestro único, utilice un volcado lógico y
restáurelo con una herramienta como mysqldump.
No puede utilizar un clúster multimaestro como el origen o el destino de una replicación del registro binario.
En un clúster maestro único, el reinicio de la instancia principal hace que las operaciones de escritura
dejen de estar disponibles hasta que el mecanismo de conmutación por error promocione una nueva
instancia principal. Las operaciones de solo lectura también experimentan un breve tiempo de inactividad
ya que todas las réplicas de Aurora en el clúster se reinician.
Para minimizar el tiempo de inactividad en las aplicaciones en un clúster multimaestro, implemente las
comprobaciones frecuentes del estado del nivel de SQL. Si una instancia de base de datos en un clúster
multimaestro deja de estar disponible, puede decidir que hacer basado en la extensión estimada de la
interrupción y de la urgencia de las operaciones de escritura en la carga de trabajo. Si espera que la
interrupción sea breve y las operaciones de escritura no son urgentes, puede esperar a que la instancia
de base de datos se recupere antes de volver a iniciar la base de datos de la que normalmente se encarga
esa instancia de base de datos. También puede redirigir esa carga de trabajo a una instancia de base
de datos diferente. Los datos subyacentes siguen estando disponibles siempre para las instancias de
base de datos en el clúster. El volumen de almacenamiento de Aurora de gran distribución mantiene los
datos disponibles de manera constante incluso en el improbable caso de un fallo que afecte a toda una
AZ. Para obtener más información sobre las consideraciones de tiempo para el cambio de operaciones de
escritura de una instancia de base de datos no disponible, consulte Uso de un clúster multimaestro como
una instancia en espera activa (p. 1064).
1049
Amazon Aurora Guía del usuario de Aurora
Consideraciones sobre la aplicación
de varios pasos. Cada instancia de base de datos se actualiza a la siguiente versión superior, después a la
siguiente y así sucesivamente hasta que alcance la versión de actualización especificada.
El enfoque es diferente dependiendo de si hay cambios no compatibles con versiones anteriores entre las
antiguas versiones y las nuevas. Por ejemplo, las actualizaciones al esquema del sistema se consideran
cambios no compatibles con versiones anteriores. Puede comprobar si una versión específica contiene
cualquier cambio no compatible con versiones anterior consultando las notas de la versión.
Si no hay ningún cambio incompatible entre las versiones antiguas y nuevas, cada instancia de base de
datos se actualiza y se reinicia de manera individual. Las actualizaciones se lanzan de forma escalonada
para que el clúster general no experimente ningún tiempo de inactividad. Al menos una instancia de base
de datos está en todo momento durante el proceso de actualización.
Si hay cambios incompatibles entre las versiones nuevas y viejas, Aurora lleva a cabo la actualización en
modo sin conexión. Todos los nodos del clúster se actualizan y se reinician al mismo tiempo. El clúster
experimenta cierto tiempo de inactividad para evitar que un motor antiguo escriba en las tablas de sistemas
más nuevos.
La aplicación de parches sin tiempo de inactividad (ZDP) actualmente no es compatible con los clústeres
multimaestro de Aurora.
Temas
• Consideraciones sobre SQL de los clústeres multimaestros (p. 1050)
• Administración de conexiones para los clústeres multimaestros. (p. 1051)
• Modelo de consistencia para los clústeres multimaestros (p. 1053)
• Transacciones y clústeres multimaestros (p. 1053)
• Conflictos de escritura e interbloqueos en los clústeres multimaestros (p. 1054)
• Clústeres multimaestros y bloqueo de lecturas (p. 1055)
• Realización de operaciones de DDL en un clúster multimaestro (p. 1056)
• Uso de columnas de incremento automático (p. 1057)
• Referencia de la característica de los clústeres multimaestros (p. 1058)
1050
Amazon Aurora Guía del usuario de Aurora
Consideraciones sobre la aplicación
una tabla en un clúster multimaestro mientras la tabla se somete a DDL. Para obtener información
completa sobre las diferencias de DDL, consulte Realización de operaciones de DDL en un clúster
multimaestro (p. 1056).
• No puede utilizar el nivel de aislamiento de la transacción SERIALIZABLE en clústeres multimaestros.
En clústeres maestros únicos de Aurora, puede utilizar este nivel de aislamiento en la instancia principal.
• Las columnas de incremento automático se administran con los parámetros
auto_increment_increment y auto_increment_offset. Los valores del parámetro son
predeterminados y no se pueden configurar. El parámetro auto_increment_increment se establece
en 16, que es el número máximo de instancias en cualquier clúster de Aurora. Sin embargo, los clústeres
multimaestros actualmente tienen un límite menor en el número de instancias de base de datos. Para
obtener más información, consulte Uso de columnas de incremento automático (p. 1057).
Al adaptar una aplicación para un clúster multimaestro de Aurora, aborde esa actividad de la misma
manera que una migración. Es posible que tenga que dejar de utilizar determinadas características de SQL
y cambiar su lógica de aplicación para otras características de SQL:
• En sus instrucciones de CREATE TABLE, cambie cualquier columna definida como MEDIUMTEXT,
MEDIUMBLOB, LONGTEXT o LONGBLOB a tipos más breves que no precisen almacenamiento fuera de la
página.
• En sus instrucciones de CREATE TABLE, quite la clausula CASCADE de cualquier declaración de clave
externa. Añada la lógica de aplicación si es necesario para emular los efectos de CASCADE mediante las
instrucciones INSERT y DELETE.
• Quite cualquier uso de índices de búsqueda de texto completo (FTS) de InnoDB. Compruebe su
código fuente para los operadores de MATCH() en las instrucciones de SELECT y las palabras
clave de FULLTEXT en las instrucciones DDL. Compruebe si cualquier nombre de tabla del sistema
INFORMATION_SCHEMA.INNODB_SYS_TABLES contiene la cadena FTS_.
• Compruebe la frecuencia de las operaciones de DDL como CREATE TABLE y DROP TABLE en su
aplicación. Ya que las operaciones de DDL tienen una sobrecarga mayor en los clústeres multimaestros,
evite ejecutar varias instrucciones DDL pequeñas. Por ejemplo, busque oportunidades para crear
las tablas necesarias con antelación. Para obtener más información acerca de las diferencias de
DDL con los clústeres multimaestros, consulte Realización de operaciones de DDL en un clúster
multimaestro (p. 1056).
• Examine su uso de columnas de incremento automático. La secuencia de valores para las columnas
de incremento automático son diferentes para los clústeres multimaestros que para otros tipos
de clústeres de Aurora. Compruebe la palabra clave AUTO_INCREMENT en las instrucciones
DDL, el nombre de la función last_insert_id() en las instrucciones de SELECT y el nombre
innodb_autoinc_lock_mode en sus opciones de configuración personalizadas. Para obtener
más información acerca de las diferencias y cómo ocuparse de ellas, consulte Uso de columnas de
incremento automático (p. 1057).
• Compruebe su código para la palabra clave SERIALIZABLE. No puede utilizar este nivel de aislamiento
de la transacción con un clúster multimaestro.
Los clústeres multimaestros de Aurora tienen los siguientes tipos de puntos de enlace:
Este tipo de punto de enlace siempre apunta a una instancia de base de datos con capacidad de
lectura/escritura. Cada clúster multimaestro tiene un punto de enlace de clúster.
1051
Amazon Aurora Guía del usuario de Aurora
Consideraciones sobre la aplicación
Ya que las aplicaciones en los clústeres multimaestros incluyen la lógica para administrar las
conexiones para instancias de base de datos específicas, en raras ocasiones necesitará utilizar este
punto de enlace. Es más útil para conectarse a un clúster multimaestro para realizar la administración.
También puede conectar este punto de enlace para examinar la topología del clúster cuando no
conoce el estado de las instancias de base de datos en el clúster. Para obtener más información sobre
ese procedimiento, consulte Descripción de la topología del clúster (p. 1059).
Punto de enlace de instancia de base de datos
Este tipo de punto de enlace se conecta a instancias de base de datos denominadas específicas.
Para los clústeres multimaestros de Aurora, su aplicación normalmente utiliza los puntos de enlace de
instancia de base de datos para todas o casi todas las conexiones. Decide que instancia de base de
datos utilizar para cada instrucción SQL según la asignación entre sus fragmentos y las instancias de
base de datos en el clúster. Cada instancia de base de datos tiene un punto de enlace de este tipo.
Por lo tanto, el clúster multimaestro tiene uno o más de estos puntos de enlace y el número cambia a
medida que se añaden o se quitan las instancias de base de datos de un clúster multimaestro.
La manera en la que utiliza sus puntos de enlace de instancia de base de datos es diferente entre los
clústeres multimaestros y los maestros únicos. Para los clústeres maestros únicos, típicamente no
utiliza este punto de enlace con frecuencia.
Punto de enlace personalizado
Este tipo de punto de enlace es opcional. Puede crear uno más puntos de enlace personalizados
para agrupar las instancias de bases de datos para un fin específico. Cuando se conecta al punto
enlace, Aurora devuelve la dirección IP de una instancia de base de datos diferente cada vez. En
los clústeres multimaestros, utiliza típicamente puntos de enlace personalizados para designar un
conjunto de instancias de base de datos para utilizarlo principalmente para operaciones de lectura.
Recomendamos no utilizar puntos de enlace personalizados con clústeres multimaestros para
balancear la carga de las operaciones de escritura, ya que al hacerlo incrementa la probabilidad de
conflictos de escritura.
Los clústeres multimaestros no tienen puntos de enlace del lector. Donde sea práctico, emita consultas
de SELECT utilizando el mismo punto de enlace de base de datos que escribe normalmente en la misma
tabla. De esta manera, se hace un uso más efectivo de los datos almacenados en la memoria caché del
grupo de búferes y evita posibles problemas con los datos obsoletos debido al retardo de replicación con
el clúster. Si no localiza las instrucciones de SELECT en las mismas instancias de base de datos que
escriben en las mismas tablas y precisa una garantía estricta de lectura tras la escritura para determinadas
consultas, considere ejecutar esas consultas utilizando el mecanismo de lectura tras escritura global
(GRAW) descrito en Modelo de consistencia para los clústeres multimaestros (p. 1053).
Para obtener las prácticas recomendadas generales de administración de conexiones de Aurora y MySQL,
consulte el documento técnico del manual de migración de Amazon Aurora de AWS.
Para obtener información sobre cómo emular las instancias de base de datos de solo lectura en clústeres
de base de datos multimaestros, consult Uso del modo de solo lectura de la instancia (p. 1060).
Siga estas directrices al crear puntos de enlace de DNS personalizados y diseñar controladores y
conectores para los clústeres multimaestros de Aurora:
• Para las instrucciones DDL, DML y DCL no utilice puntos de enlace o técnicas de direccionamiento de la
conexión que funcione con un método aleatoria o de turnos rotativos.
• Evite consultas de escritura de ejecución prolongada y transacciones de escritura prolongada a menos
que esté garantizado que estas transacciones no entren en conflicto con otro trafico de escritura en el
clúster.
• Prime el uso de transacciones confirmadas de manera automática. Donde sea práctico, evite la
configuración autocommit=0 a nivel global o de sesión. Cuando utilice un conector o marco de base de
datos para su lenguaje de programación, compruebe que autocommit se activa para las aplicaciones
1052
Amazon Aurora Guía del usuario de Aurora
Consideraciones sobre la aplicación
que utilizan el conector o el marco. Si es necesario, añada las instrucciones de COMMIT en puntos
lógicos por todo el código para garantizar que las transacciones son breves.
• Cuando se precise la consistencia de lectura global o la garantía de lectura tras escritura, siga las
recomendaciones para la lectura tras escritura global (GRAW) descritas en Modelo de consistencia para
los clústeres multimaestros (p. 1053).
• Utilice el punto de enlace del clúster para las instrucciones DDL y DCL donde sea práctico. El punto de
enlace del clúster ayuda a minimizar la dependencia en los nombres de host de las instancias de base
de datos individuales. No tiene que dividir las instrucciones DDL y DCL por tabla o base de datos, como
hace con las instrucciones DML.
El retardo de la replicación no afecta a sus resultados de consulta si escribe y luego lee los
datos utilizando la misma instancia de base de datos. Por lo tanto, la característica GRAW se
aplica principalmente a las aplicaciones que emiten varias operaciones de escritura concurrentes
mediante diferentes instancias de base de datos.
Cuando utilice el modo GRAW, no lo habilite de manera predeterminada para todas las consultas. Las
lecturas consistentes de forma global son notablemente más lentas que las lecturas locales. Por lo tanto,
utilice GRAW de forma selectiva para las consultas que lo precisen.
• GRAW implica una carga de rendimiento debido al coste del establecimiento de una vista de lectura
consistente en todo el clúster. La transacción debe determinar primero un momento consistente en todo
el clúster, después la replicación debe alcanzar ese momento. El retraso total depende de la carga de
trabajo, pero se encuentra normalmente en el rango de diez milisegundos.
• No puede cambiar el modo GRAW en una transacción.
• Cuando utiliza GRAW sin transacciones explicitas, cada consulta individual genera la sobrecarga de
rendimiento del establecimiento de una visualización de lectura consistente de forma global.
• Con GRAW habilitado, la penalización de rendimiento se aplica a las lecturas y a las escrituras.
• Cuando utiliza GRAW sin las transacciones explicitas, la sobrecarga del establecimiento de una
visualización global consistente se aplica una vez a cada transacción cuando comienza. Las consultas
realizadas más adelante en la transacción son tan rápidas como si se ejecutasen sin GRAW. Si varias
instrucciones sucesivas pueden utilizar la misma visualización de lectura, puede incluirlas en una sola
transacción para obtener una mejor actuación general. De esa manera, la penalización solo se paga una
vez por transacción en vez de por consulta.
1053
Amazon Aurora Guía del usuario de Aurora
Consideraciones sobre la aplicación
En particular, haga que sus transacciones de escritura sean lo más cortas posibles. Al hacerlo reduce el
momento propicio para los conflictos de escritura. El mecanismo de resolución de conflictos es optimista, lo
que quiere decir que funciona mejor cuando los conflictos de escritura son escasos. La desventaja es que
cuando se producen conflictos, generan una sobrecarga considerable.
Hay ciertos tipos de cargas de trabajo que se benefician de las grandes transacciones. Por ejemplo,
las importaciones de datos masivas son significativamente más rápidas cuando se ejecutan utilizando
transacciones de varios megabytes en vez de transacciones de extracto único. Si observa un número
aceptable de conflictos mientras ejecuta esas cargas de trabajo, tenga en cuenta las siguientes opciones:
En un clúster multimaestro, todas las instancias de base de datos pueden escribir en el volumen de
almacenamiento compartido. Por cada página de datos que modifique, Aurora distribuye de manera
automática varias copias por varias zonas de disponibilidad (AZ) Un conflicto de escritura se puede
producir cuando varias instancias de base de datos intentan modificar la misma página de datos en un
periodo muy breve. El subsistema de almacenamiento de Aurora detecta que los cambios se solapan y
realiza una resolución de conflictos antes de finalizar la operación de escritura.
Aurora detecta los conflictos de escritura al nivel de las páginas de datos físicos, que tienen un tamaño fijo
de 16 KiB. Por lo tanto, un conflicto puede producirse incluso para cambios que afectan a diferentes filas, si
las filas están en la misma página de datos.
Cuando se producen conflictos, la operación de limpieza precisa un trabajo adicional para deshacer
los cambios de una de las instancias de base de datos. Desde el punto de vista de su aplicación, la
transacción que causó el conflicto encuentra un interbloqueo y Aurora revierte toda esa transacción. Su
aplicación recibe el código de error 1213.
Puede que deshacer la transacción precise la modificación de muchas otras páginas de datos cuyos
cambios se aplicaron al subsistema de almacenamiento de Aurora. Dependiendo de cuántos datos cambió
la transacción, deshacerlo podría implicar una sobrecarga significativa. Por lo tanto, la reducción de la
probabilidad de conflictos de escritura es una consideración de diseño crucial para un clúster multimaestro
de Aurora.
Algunos conflictos provienen de los cambios que inicia. Estos cambios incluyen instrucciones SQL,
transacciones y restauraciones de transacciones. Puede minimizar estos tipos de conflictos mediante su
esquema de diseño y la lógica de administración de conexiones en su aplicación.
Otros conflictos suceden debido a cambios simultáneos de una instrucción SQL y un subproceso interno
del servidor. Estos conflictos son difíciles de predecir ya que depende de la actividad interna del servidor
1054
Amazon Aurora Guía del usuario de Aurora
Consideraciones sobre la aplicación
que no tenga en cuenta. Los dos tipos principales de actividad interna que causan estos conflictos son una
recopilación de elementos no utilizados (conocida como purgado) y Aurora lleva a cabo las restauraciones
de transacciones de forma automática. Por ejemplo, Aurora lleva a cabo restauraciones de manera
automática durante la restauración de bloqueos o si se pierde la conexión del cliente.
Una restauración de transacción revierte de manera física los cambios de la página que y se habían hecho.
Una reversión produce una página de cambios al igual que la transacción original. Una reversión lleva
tiempo, posiblemente muchas veces igual que la transacción original. Mientras la reversión se encuentra
en proceso, los cambios que produce pueden entrar en conflicto con sus transacciones.
La recopilación de elementos no utilizados tiene que ver con el control de concurrencia de varias versiones
(MVCC), que es el método de control de concurrencia que se utiliza el motor transaccional de Aurora
MySQL. Con el MVCC, las mutaciones de datos crean nuevas versiones de las filas y la base de datos
conserva varias versiones de las filas para conseguir el aislamiento de la transacción mientras permite
el acceso concurrente a los datos. Se eliminan (purgan) las versiones de las filas cuando ya no son
necesarias. También en este caso, el proceso de purgado hace que la página cambie, lo que puede
entrar en conflicto con sus transacciones. Dependiendo de la carga de trabajo, la base de datos puede
desarrollar un retardo de purgado: una cola de cambios que espera a que se recopilen los elementos no
utilizados. Si el retardo aumenta significativamente, puede que la base de datos necesite una cantidad
considerable de tiempo para completar el purgado, incluso si detiene el envío de instrucciones SQL.
Si un subproceso interno del servidor se encuentra con un conflicto de escritura, Aurora vuelve a intentarlo
de forma automática. En contraste, su aplicación debe ocuparse de la lógica de reintento de cualquier
transacción que encuentre conflictos.
Cuando varias transacciones de la misma instancia de base de datos causan estos tipos de cambios
de solapamiento, Aurora utiliza las reglas de concurrencia de transacción estándar. Por ejemplo, si dos
transacciones en la misma instancia de base de datos modifican la misma fila, una de ellas espera. Si
la espera es mayor que el tiempo de espera configurado (innodb_lock_wait_timeout, de manera
predeterminada 50 segundos), la transacción en espera aborta con un mensaje “Se superó el tiempo de
espera de bloqueo”.
Para obtener más información sobre las lecturas de bloqueo, consulte el MySQL Reference Manual.
Las operaciones de bloqueos de lectura son compatibles en todos los nodos, pero el ámbito del bloqueo
es local para el nodo en el que se ejecutó el comando. Un bloqueo de lectura ejecutado en un escritor
no impide que otros escritores accedan o modifiquen las filas bloqueadas. A pesar de esta limitación,
puede seguir trabajando con los bloqueos de lecturas en casos de uso que garanticen una separación del
ámbito de la carga de trabajo estricta entre los escritores, como en las bases de datos fragmentadas o
multiinquilino.
• Recuerde que un nodo siempre puede visualizar sus propios cambios de manera inmediata y sin retraso.
Cuando sea posible, puede colocar las lecturas y las escrituras en el mismo nodo para eliminar el
requisito de GRAW.
• Si las consultas de solo lectura se deben ejecutar con resultados consistente de forma global, utilice
GRAW.
• Si las consultas de solo lectura se preocupan de la visibilidad de los datos pero no de la consistencia
global, utilice GRAW o introduzca una espera programado antes de cada lectura. Por ejemplo, un
1055
Amazon Aurora Guía del usuario de Aurora
Consideraciones sobre la aplicación
único subproceso de aplicación puede mantener las conexiones C1 y C2 con dos nodos diferentes. La
aplicación escribe en C1 y lee en C2. En tal caso, la aplicación puede emitir una lectura de inmediato
utilizando GRAW o puede suspenderse antes de emitir una lectura. El tiempo de suspensión debería ser
igual o mayor que el retardo de replicación (suele ser de 20 a 30 ms aproximadamente).
Para las instrucciones DDL, Aurora delega de forma automática el procesamiento de instrucciones
en un proceso especial del servidor en el clúster. Ya que Aurora centraliza los cambios a las tablas
de INFORMATION_SCHEMA, este mecanismo evita la posibilidad de conflictos de escritura entre las
instrucciones DDL:
Las operaciones de DDL impiden las escrituras concurrentes a esa tabla. Durante una operación DDL en
una tabla, todas las instancias en el clúster multimaestro se limitan a un acceso de solo lectura a esa tabla
hasta que termine la instrucción DDL.
Los siguientes comportamientos de DDL son los mismos en los clústeres multimaestros y maestros únicos
de Aurora:
• Un DDL ejecutado en una instancia de base de datos hace que otras instancias terminen cualquier
conexión de forma activa utilizando la tabla.
• Las tablas temporales de nivel de sesión se pueden crear en cualquier nodo utilizando los motores de
almacenamiento MyISAM o MEMORY.
• Las operaciones de DDL en tablas muy grandes pueden fallar si la instancia de base de datos no tiene
almacenamiento temporal local suficiente.
Tenga en cuenta las siguientes consideraciones de rendimiento de DDL en los clústeres multimaestros:
• Intente evitar emitir grandes números de instrucciones DDL cortas en su aplicación. Cree bases de
datos, tablas, particiones, columnas y así sucesivamente, con antelación donde sea práctico. La
sobrecarga de replicación puede imponer una sobrecarga de rendimiento importante para instrucciones
DDL simples que normalmente son muy rápidas. La instrucción no finaliza hasta los cambios se replican
en todas las instancias de base de datos en el clúster. Por ejemplo, los clústeres multimaestros tardan
más tiempo que otros clústeres de Aurora en crear tablas vacías, borrar tablas o borrar esquemas que
contengan varias tablas.
Si necesita llevar a cabo un gran conjunto de operaciones de DDL, puede reducir la sobrecarga de red y
de coordinación al emitir las instrucciones en paralelo en varios subprocesos.
• Las instrucciones DDL de ejecución prolongada se ven menos afectadas ya que el retardo de replicación
es solo una pequeña fracción del tiempo total para la instrucción DDL.
• El rendimiento de los DDL en tablas temporales a nivel de sesión debería ser aproximadamente
equivalente en los clústeres maestros únicos y multimaestros de Aurora. Las operaciones en las tablas
temporales producen de forma local y no están sujetas a la sobrecarga de replicación sincrónica.
1056
Amazon Aurora Guía del usuario de Aurora
Consideraciones sobre la aplicación
El punto de contención del potencial se produce mientras los datos se transfieren a la nueva tabla. Cuando
se crea una nueva tabla inicialmente, está completamente vacía y, por lo tanto, puede convertirse en un
punto caliente de bloqueo. Lo mismo se aplica a otros tipos de sistemas de base de datos. Ya que los
activadores son sincrónicos, el impacto del punto caliente se puede propagar a sus consultas.
En los clústeres multimaestros, el impacto puede ser más visible. Esta visibilidad se debe a que la nueva
tabla no solo provoca una contención de bloqueo,sino que también aumenta la probabilidad de los
conflictos de escritura. Inicialmente la tabla tiene muy pocas páginas, lo que significa que los escritos
están muy localizados y por lo tanto son propensos a los conflictos. Después de que aumente la tabla, los
escritos deberían extenderse y los conflictos de escritura no deberían ser un problema.
Puede utilizar la herramienta de cambio de esquema online con los clústeres multimaestros. Sin embargo,
puede que precise unas pruebas más cuidadosas y sus efectos en la carga de trabajo continua pueden ser
ligeramente más visibles en los primeros minutos de la operación.
Los valores del parámetro son predeterminados y no puede cambiarlos. En concreto, el parámetro
auto_increment_increment se ha codificado en 16, que es el número máximo de instancias de base
de datos en cualquier tipo de clúster de Aurora.
Debido a la configuración del incremento codificada de forma rígida, los valores de incremento automático
se consumen de una manera mucho rápida que en los clústeres maestros únicos. Esto es válido incluso
si una única instancia de base de datos solo ha modificado una tabla determinada. Para obtener mejores
resultados, utilice siempre un tipo de datos BIGINT en vez de INT para sus columnas de incremento
automático.
En un clúster multimaestro, su lógica de aplicación debe estar preparada para tolerar las columnas de
incremento automático que tengan las siguientes propiedades:
1057
Amazon Aurora Guía del usuario de Aurora
Consideraciones sobre la aplicación
mysql> create table autoinc (id bigint not null auto_increment, s varchar(64), primary key
(id));
mysql> insert into autoinc (s) values ('row 1'), ('row 2'), ('row 3');
Query OK, 3 rows affected (0.02 sec)
Ejemplo:
1058
Amazon Aurora Guía del usuario de Aurora
Consideraciones sobre la aplicación
cualquier instancia de base de datos en un clúster multimaestro, la instancia de base de datos informa de
que tiene la capacidad de lectura/escritura.
Para encontrar esta información para todas las instancias de base de datos en un clúster multimaestro,
consulte Descripción de la topología del clúster (p. 1059).
• La columna has_primary identifica el rol del nodo. Para los clústeres multimaestros, este valor es
verdadero para la instancia de base de datos que se ocupa de todas las sentencias DDL y DCL. Aurora
reenvía esas solicitudes a una de las instancias de base de datos en un clúster multimaestro.
• La columna replica_lag_in_milliseconds informa del retardo de replicación en todas las
instancias de base de datos.
• La columna last_reported_status informa del estado de la instancia de base de datos. Puede ser
Online, Recovery, o Offline.
Ejemplo:
1059
Amazon Aurora Guía del usuario de Aurora
Consideraciones sobre el rendimiento
Si necesita ejecutar una carga de trabajo con uso intensivo de consultas en varias tablas, puede designar
una o más instancias de base de datos en un clúster multimaestro como de solo lectura.
Para poner una instancia de base de datos en el modo de solo lectura en ejecución, llame al procedimiento
almacenado mysql.rds_set_read_only.
Evite ejecutar todo el tiempo al 100 %. Llevándolo a cabo, Aurora puede mantenerse al día con el trabajo
de mantenimiento interno. Para saber cómo medir el nivel de ocupación de un clúster multimaestro y
cuánto mantenimiento requiere, consulte Monitoreo de un clúster multimaestro de Aurora (p. 1047).
1060
Amazon Aurora Guía del usuario de Aurora
Consideraciones sobre el rendimiento
Temas
• Rendimiento de la consulta para los clústeres multimaestros (p. 1061)
• Resolución de conflictos para clústeres multimaestro (p. 1061)
• Optimización del grupo de búfer y uso de caché de diccionario (p. 1062)
Puede utilizar los siguientes enfoques para optimizar el rendimiento de la consulta de un clúster
multimaestro:
• Realizar declaraciones de SELECT en la instancia de base de datos que gestiona el fragmento que
contiene la tabla asociada, base de datos u otros objetos del esquema involucrados en la consulta. Esta
técnica maximiza el reciclaje de datos en el grupo de búferes. También evita que los mismos datos se
almacenen en caché en más de una instancia de base de datos. Para obtener más información acerca
de esta técnica, consulte Optimización del grupo de búfer y uso de caché de diccionario (p. 1062).
• Si necesita aislamiento de carga de trabajo de lectura y escritura, designe una o más instancias
de base de datos como de solo lectura, como se describe en Uso del modo de solo lectura de la
instancia (p. 1060). Puede dirigir sesiones de solo lectura a aquellas instancias de base de datos al
conectar con los puntos de enlace de las instancias correspondientes o al definir un punto de enlace
personalizado asociado con todas las instancias de solo lectura.
• Distribuya las consultas de solo lectura en todas las instancias de base de datos. Este enfoque es el
menos eficiente. Utilice uno de los demás enfoques prácticos, especialmente a medida que se mueve
por las fases de desarrollo y prueba hacia la de producción.
• Siempre que sea práctico, realice todos los cambios en una tabla particular y a sus índices asociados
utilizando la misma instancia de base de datos. Si solo una instancia de base de datos modifica una
página de datos, cambiar dicha página no puede activar ningún conflicto de escritura. Este patrón
de acceso es habitual en implementaciones de base de datos fragmentadas o de varios usuarios.
Por consiguiente, es relativamente sencillo cambiar dichas implementaciones para utilizar clústeres
multimaestro.
• Un clúster multimaestro no tiene un punto de enlace del lector. El punto de enlace del lector equilibra
la carga de las conexiones de entrada, liberándole de saber qué instancia de base de datos está
manejando una conexión en particular. En un clúster multimaestro, gestionar conexiones implica
ser consciente de qué instancia de base de datos se utiliza para cada conexión. De este modo, las
modificaciones de una base de datos o tabla en particular siempre se pueden dirigir a la misma instancia
de base de datos.
• Un conflicto de escritura para una cantidad de datos pequeña (una página de 16 KB) puede activar una
cantidad sustancial de trabajo para revertir la transacción por completo. Por consiguiente, lo ideal es
que las transacciones para un clúser multimaestro sean relativamente breves y pequeñas. Esta práctica
recomendada para las aplicaciones OLTP es especialmente importante para los clústeres multimaestros
de Aurora.
1061
Amazon Aurora Guía del usuario de Aurora
Enfoques relacionados con los clústeres multimaestros de
Los conflictos se detectan a nivel de página. Un conflicto se puede producir cuando los cambios
propuestos de diferentes instancias de base de datos modifican diferentes filas de la página. Todos los
cambios de página introducidos en el sistema se someten a la detección de conflictos. Esta regla se aplica
independientemente de si la fuente es una transacción de usuario o un proceso en segundo plano del
servidor. También se aplica si la página de datos procede de una tabla, un índice secundario, un espacio
de undo, etc.
Puede dividir las operaciones de escritura para que cada instancia de base de datos gestione todas las
operaciones de escritura de un conjunto de objetos de esquema. En este caso, una instancia específica
realiza todos los cambios de cada página de datos.
Utilizar la memoria de una forma eficiente puede ayudar a que el rendimiento de los clústeres
multimaestros aumente y a reducir el costo de E/S. Utilice un diseño fragmentado para separar de forma
física los datos y escribir en cada fragmento de una instancia de base de datos particular. Al hacer esto,
realiza un uso más eficiente de la caché de búfer de cada instancia de base de datos. Intente asignar
instrucciones SELECT para una tabla a la misma instancia de base de datos que realiza las operaciones
de escritura de dicha tabla. Al hacer esto, ayuda a que dichas consultas reutilicen los datos almacenados
en caché de la instancia de base de datos. Si cuenta con una gran cantidad de tablas o particiones, esta
técnica también reduce el número de objetos de diccionario y gestores de tabla únicos que guarda en la
memoria cada instancia de base de datos.
Temas
• Uso de un clúster multimaestro para una base de datos fragmentada (p. 1062)
• Uso de un clúster multimaestro sin fragmentación (p. 1063)
• Uso de un clúster multimaestro como una instancia en espera activa (p. 1064)
1062
Amazon Aurora Guía del usuario de Aurora
Enfoques relacionados con los clústeres multimaestros de
Las aplicaciones que utilizan un diseño de esquema fragmentado son una buena opción para utilizarlas
con los clústeres multimaestros de Aurora. La forma en la que los datos se dividen de forma física en
un sistema fragmentado ayuda a evitar los conflictos de escritura. Debe asignar cada fragmento a un
objeto de esquema, como una partición, una tabla o una base de datos. Su aplicación dirige todas las
operaciones de escritura de un fragmento particular a la instancia de base de datos adecuada.
Bring-your-own-shard (BYOS) describe un caso de uso en el que ya cuenta con una base de datos
fragmentada/particionada y una aplicación con capacidad para acceder a ella. Los fragmentos ya se
encuentran separados físicamente. De este modo, puede mover fácilmente la carga de trabajo a los
clústeres multimaestros de Aurora sin cambiar el diseño del esquema. La misma ruta de migración simple
se aplica a las bases de datos multiinquilino, en las que cada inquilino utiliza una tabla específica, un
conjunto de tablas o una base de datos completa.
Se asignan los fragmentos o inquilinos a las instancias de base de datos de uno a uno o de muchos a
uno. Cada instancia de base de datos gestiona uno o varios fragmentos. El diseño fragmentado se aplica
principalmente a las operaciones de escritura. Puede emitir consultas SELECT para cualquier fragmento
desde cualquier instancia de base de datos con un rendimiento equivalente.
Supongamos que ha utilizado un clúster de varios maestros para una aplicación de juego compartido.
Puede distribuir el trabajo para que las actualizaciones de la base de datos se realicen mediante instancias
de base de datos específicas, dependiendo del nombre de usuario del reproductor. La aplicación maneja
la lógica de asignar cada reproductor a la instancia de base de datos adecuada y conectarse al punto de
enlace de esa instancia. Cada instancia de base de datos puede gestionar operaciones de escritura para
muchos fragmentos diferentes. Puede enviar consultas a cualquier instancia de base de datos, ya que solo
pueden surgir conflictos durante las operaciones de escritura. Puede designar una instancia de base de
datos para realizar todas las consultas SELECT a fin de minimizar la sobrecarga en las instancias de base
de datos que realizan operaciones de escritura.
Suponga que, a medida que pasa el tiempo, uno de los fragmentos se vuelve mucho más activo. Para
reequilibrar la carga de trabajo, puede cambiar la instancia de base de datos responsable de dicho
fragmento. En un sistema sin Aurora, podría tener que mover físicamente los datos a otro servidor. Con un
clúster multimaestro de Aurora, puede realizar cambios en los fragmentos dirigiendo todas las operaciones
de escritura del fragmento a otra instancia de base de datos que disponga de capacidad informática sin
utilizar. El modelo de almacenamiento compartido de Aurora evita la necesidad de reorganizar físicamente
los datos.
Es posible que observe cierta sobrecarga de rendimiento y que la aplicación tenga que lidiar con
restauraciones ocasionales de transacciones cuando los conflictos de escritura se tratan como situaciones
de interbloqueo. Los conflictos de escritura son más probables durante las operaciones de escritura de
tablas pequeñas. Si una tabla contiene pocas páginas de datos, es posible que las filas de distintas partes
del rango clave principal se encuentren en la misma página de datos. Es posible que este solapamiento
derive en conflictos de escritura si dichas filas se cambian de manera simultánea por otras instancias de
base de datos.
También debería minimizar el número de índices secundarios en este caso. Cuando realiza un cambio
en las columnas indexadas en una tabla, Aurora realiza los cambios correspondientes en los índices
secundarios asociados. Un cambio en un índice podría causar un conflicto de escritura ya que el orden y la
agrupación de las filas es diferente entre un índice secundario y la tabla asociada.
1063
Amazon Aurora Guía del usuario de Aurora
Integración de Aurora MySQL con los servicios de AWS
Ya que puede seguir experimentando algunos conflictos de escritura cuando utilice esta técnica, Amazon
recomienda utilizar un enfoque diferente si es práctico. Compruebe si puede utilizar un diseño de base de
datos alternativo que subdivida los datos en dos objetos de esquema diferentes.
Puede utilizar clústeres multimaestros en una configuración de instancia en espera activa al dirigir todo el
tráfico, de lectura/escritura y solo lectura, a una instancia de base de datos única. Si esa instancia de base
de datos deja de estar disponible, su aplicación debe detectar el problema y cambiar todas las conexiones
a una instancia de base de datos diferente. En este caso, Aurora no lleva a cabo ninguna conmutación por
error porque la otra instancia de base de datos ya está disponible para aceptar las conexiones de lectura/
escritura. Escribiendo en una instancia de base de datos única en cualquier momento, evita los conflictos
de escritura. Por lo tanto, no tiene que tener un esquema de base de datos fragmentado para utilizar los
clústeres multimaestros de esta manera.
Tip
Si su aplicación puede tolerar una pausa breve, puede esperar varios segundos después de que
una instancia de base de datos deje de estar disponible antes de redirigir el tráfico de escritura a
otra instancia. Cuando una instancia deja de estar disponible debido a un reinicio, vuelve a estar
disponible aproximadamente tras unos 10 o 20 segundos. Si la instancia no puede reiniciarse de
forma rápida, puede que Aurora inicie la recuperación para esa instancia. Cuando una instancia
se cierra, realiza algunas actividades de limpieza adicionales como parte del cierre. Si comienza
a escribir en una instancia diferente mientras la instancia se está reiniciando, sometiéndose a
recuperación o cerrándose, puede encontrarse con conflictos de lectura. Los conflictos pueden
producirse entre las instrucciones SQL en la nueva instancia y las operaciones de recuperación
como la restauración y el purgado en la instancia que se reinició o se apagó.
• Invoque de forma síncrona o asíncrona una función de AWS Lambda mediante las funciones nativas
lambda_sync o lambda_async. Para obtener más información, consulte . Invocación de una función
de Lambda desde un clúster de base de datos de Amazon Aurora MySQL (p. 1093).
• Cargar datos desde archivos de texto o XML almacenados en un bucket de Amazon Simple Storage
Service (Amazon S3) en el clúster de base de datos usando el comando LOAD DATA FROM S3 o LOAD
XML FROM S3. Para obtener más información, consulte Carga de datos en un clúster de base de datos
Amazon Aurora MySQL desde archivos de texto en un bucket de Amazon S3 (p. 1078).
• Guardar datos en archivos de texto almacenados en un bucket de Amazon S3 desde su clúster de base
de datos usando el comando SELECT INTO OUTFILE S3. Para obtener más información, consulte
Grabación de datos desde un clúster de base de datos Amazon Aurora MySQL en archivos de texto de
un bucket de Amazon S3 (p. 1086).
• Añada o quite de forma automática réplicas de Aurora con Application Auto Scaling. Para obtener más
información, consulte Uso de Auto Scaling de Amazon Aurora con réplicas de Aurora (p. 466).
1064
Amazon Aurora Guía del usuario de Aurora
Autorización a Aurora MySQL a
acceder a otros servicios de AWS
• Realice el análisis de opiniones con Amazon Comprehend o una amplia variedad de algoritmos de
Machine Learning con SageMaker. Para obtener más información, consulte Uso de las capacidades de
Machine Learning (ML) con Amazon Aurora (p. 482).
Aurora protege la capacidad de acceder a otros servicios de AWS por medio de AWS Identity and Access
Management (IAM). Puede conceder permiso para acceder a otros servicios de AWS mediante la creación
de un rol de IAM con los permisos necesarios y la asociación del rol con el clúster de base de datos. Para
obtener detalles e instrucciones acerca del procedimiento para permitir que un clúster de base de datos de
Aurora MySQL acceda a otros servicios de AWS en su nombre, consulte Autorización a Amazon Aurora
MySQL a acceder a otros servicios de AWS en su nombre (p. 1065).
Para que un clúster de base de datos de Aurora MySQL pueda acceder a otros servicios en su nombre,
cree y configure un rol de AWS Identity and Access Management (IAM). Este rol autoriza a los usuarios de
las bases de datos del clúster de base de datos a tener acceso a otros servicios AWS. Para obtener más
información, consulte Configuración de roles de IAM para acceder a servicios de AWS (p. 1065).
También debe configurar el clúster de base de datos de Aurora para permitir conexiones salientes hacia
el servicio de AWS de destino. Para obtener más información, consulte Habilitación de la comunicación de
red de Amazon Aurora MySQL con otros servicios de AWS (p. 1077).
Al hacerlo, los usuarios de base de datos podrán ejecutar las acciones siguientes con otros servicios de
AWS:
• Invoque de forma síncrona o asíncrona una función de AWS Lambda mediante las funciones nativas
lambda_sync o lambda_async. O bien invoque de forma asíncrona una función de AWS Lambda con
el procedimiento mysql.lambda_async. Para obtener más información, consulte Invocación de una
función de Lambda con una función nativa de Aurora MySQL (p. 1094).
• Cargar datos desde archivos de texto o XML almacenados en un bucket de Amazon S3 en el clúster
de base de datos usando la instrucción LOAD DATA FROM S3 o LOAD XML FROM S3. Para obtener
más información, consulte Carga de datos en un clúster de base de datos Amazon Aurora MySQL desde
archivos de texto en un bucket de Amazon S3 (p. 1078).
• Guardar datos del clúster de base de datos en archivos de texto almacenados en un bucket de
Amazon S3 usando el comando SELECT INTO OUTFILE S3. Para obtener más información, consulte
Grabación de datos desde un clúster de base de datos Amazon Aurora MySQL en archivos de texto de
un bucket de Amazon S3 (p. 1086).
• Exportar datos de log a Amazon CloudWatch Logs MySQL. Para obtener más información, consulte
Publicación de registros de Amazon Aurora MySQL en Amazon CloudWatch Logs (p. 1099).
• Añada o quite de forma automática réplicas de Aurora con Application Auto Scaling. Para obtener más
información, consulte Uso de Auto Scaling de Amazon Aurora con réplicas de Aurora (p. 466).
1065
Amazon Aurora Guía del usuario de Aurora
Autorización a Aurora MySQL a
acceder a otros servicios de AWS
1. Cree una política de IAM que otorgue permiso al servicio de AWS. Para obtener más información,
consulte:
• Creación de una política de IAM para acceder a los recursos de Amazon S3 (p. 1066)
• Creación de una política de IAM para acceder a los recursos de AWS Lambda (p. 1068)
• Creación de una política de IAM para acceder a los recursos de CloudWatch Logs (p. 1069)
• Creación de una política de IAM para acceder a los recursos de AWS KMS (p. 1071)
2. Cree un rol de IAM y adjúntele la política que ha creado. Para obtener más información, consulte
Creación de un rol de IAM que permita a Amazon Aurora acceder a los servicios de AWS (p. 1071).
3. Asocie el rol de IAM al clúster de base de datos Aurora. Para obtener más información, consulte
Asociación de un rol de IAM con un clúster de base de datos Amazon Aurora MySQL (p. 1072).
La tabla siguiente indica las características de Aurora con acceso a un bucket de Amazon S3 en su
nombre y los permisos de bucket y objeto mínimos requeridos por cada una.
GetObjectVersion
GetObjectVersion
DeleteObject
GetObject
ListMultipartUploadParts
PutObject
La siguiente política agrega los permisos que podría requerir Aurora para acceder a un bucket de Amazon
S3 en su nombre.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAuroraToExampleBucket",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:AbortMultipartUpload",
"s3:ListBucket",
"s3:DeleteObject",
"s3:GetObjectVersion",
1066
Amazon Aurora Guía del usuario de Aurora
Autorización a Aurora MySQL a
acceder a otros servicios de AWS
"s3:ListMultipartUploadParts"
],
"Resource": [
"arn:aws:s3:::example-bucket/*",
"arn:aws:s3:::example-bucket"
]
}
]
}
Note
Asegúrese de incluir las dos entradas para el valor Resource. Aurora necesita los permisos tanto
en el propio bucket como en todos los objetos dentro del bucket.
Según su caso de uso, es posible que no necesite agregar todos los permisos en la política de
ejemplo. Es posible que se requieran otros permisos. Por ejemplo, si su bucket de Amazon S3
está cifrado, debe añadir permisos kms:Decrypt.
Puede seguir los pasos indicados a continuación para crear una política de IAM que otorgue los permisos
mínimos necesarios para que Aurora tenga acceso a un bucket de Amazon S3 en su nombre. Para permitir
el acceso de Aurora a todos los buckets de Amazon S3 puede omitir estos pasos y usar la política de IAM
predefinida AmazonS3ReadOnlyAccess o AmazonS3FullAccess en lugar de crear la suya propia.
Para crear una política de IAM para dar acceso a los recursos de Amazon S3
Los permisos de objeto se refieren a las operaciones de objeto en Amazon S3 y deben concederse
para los objetos de un bucket, y no para el bucket en sí. Para obtener más información acerca de los
permisos para operaciones de objeto en Amazon S3, consulte Permisos para operaciones de objetos.
6. Elija Resources (Recursos) y Add ARN (Añadir ARN) para bucket.
7. En el cuadro de diálogo Add ARN(s) (Añadir ARN), proporcione los detalles acerca de su recurso y
elija Add (Añadir).
Especifique el bucket de Amazon S3 al que se permitirá obtener acceso. Por ejemplo, si desea
conceder a Aurora acceso al bucket de Amazon S3 llamado example-bucket, establezca como
valor del Nombre de recurso de Amazon (ARN) arn:aws:s3:::example-bucket.
8. Si se lista el recurso object (objeto), elija Add ARN (Añadir ARN) para object (objeto).
9. En el cuadro de diálogo Add ARN(s) (Añadir ARN), proporcione los detalles acerca de su recurso.
Para el bucket de Amazon S3, especifique el bucket de Amazon S3 al que se permitirá obtener
acceso. Para el objeto, puede elegir Any (Cualquiera) para conceder permisos a cualquier objeto del
bucket.
Note
Puede establecer en Nombre de recurso de Amazon (ARN) un valor de ARN más específico
y que así Aurora solo tenga acceso a archivos o carpetas determinados de un bucket de
Amazon S3. Para obtener más información acerca del modo de definir una política de acceso
en Amazon S3, consulte Administración de permisos de acceso para los recursos de Amazon
S3.
1067
Amazon Aurora Guía del usuario de Aurora
Autorización a Aurora MySQL a
acceder a otros servicios de AWS
10. (Opcional) Elija Add ARN (Agregar ARN) para el bucket para agregar otro bucket de Amazon S3 a la
política y repita los pasos anteriores para el bucket.
Note
Puede repetir esto para añadir las instrucciones de permisos de bucket correspondientes a la
política para cada bucket de Amazon S3 al que deba obtener acceso Aurora. Opcionalmente,
también puede conceder acceso a todos los buckets y objetos de Amazon S3.
11. Elija Review policy (Revisar política).
12. En Name (Nombre), escriba un nombre para la política de IAM, por ejemplo,
AllowAuroraToExampleBucket. Utilizará este nombre al crear un rol de IAM y asociarlo al
clúster de base de datos Aurora. También puede añadir una descripción opcional en Description
(Descripción).
13. Elija Create Policy.
14. Realice los pasos que se indican en Creación de un rol de IAM que permita a Amazon Aurora acceder
a los servicios de AWS (p. 1071).
Creación de una política de IAM para acceder a los recursos de AWS Lambda
Puede crear una política de IAM que conceda los permisos mínimos necesarios para que Aurora invoque
una función de AWS Lambda en su nombre.
La política siguiente agrega los permisos que requiere Aurora para invocar una función de AWS Lambda
en su nombre.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAuroraToExampleFunction",
"Effect": "Allow",
"Action": "lambda:InvokeFunction",
"Resource":
"arn:aws:lambda:<region>:<123456789012>:function:<example_function>"
}
]
}
Puede seguir los pasos indicados a continuación para crear una política de IAM que conceda los permisos
mínimos necesarios para que Aurora invoque una función de AWS Lambda en su nombre. Para permitir
que Aurora invoque todas las funciones de AWS Lambda puede omitir estos pasos y usar la política
predefinida de AWSLambdaRole en lugar de crear la suya propia.
Para crear una política de IAM que permita invocar las funciones de AWS Lambda
1068
Amazon Aurora Guía del usuario de Aurora
Autorización a Aurora MySQL a
acceder a otros servicios de AWS
Especifique la función de Lambda a la que se permitirá obtener acceso. Por ejemplo, si desea
conceder a Aurora acceso a una función de Lambda llamada example_function, establezca como
valor de ARN arn:aws:lambda:::function:example_function.
Para obtener más información acerca del modo de definir una política de acceso para AWS Lambda,
consulte Autenticación y control de acceso de AWS Lambda.
8. De forma opcional, elija Add additional permissions (Añadir permisos adicionales) para añadir otra
función de AWS Lambda a la directiva y repita los pasos anteriores para la función.
Note
Puede repetir esto para agregar las sentencias de permisos de función correspondientes a la
política para cada función de AWS Lambda a la que deba acceder Aurora.
9. Elija Review policy (Revisar política).
10. En Nombre, escriba un nombre para la política de IAM, por ejemplo,
AllowAuroraToExampleFunction. Utilizará este nombre al crear un rol de IAM y asociarlo al
clúster de base de datos Aurora. También puede añadir una descripción opcional en Description
(Descripción).
11. Elija Create Policy.
12. Realice los pasos que se indican en Creación de un rol de IAM que permita a Amazon Aurora acceder
a los servicios de AWS (p. 1071).
Creación de una política de IAM para acceder a los recursos de CloudWatch Logs
Aurora puede acceder a CloudWatch Logs para exportar datos de registros de auditoría desde un clúster
de base de datos Aurora. Sin embargo, primero debe crear una política de IAM que asigne los permisos de
grupo de registros y flujo de registros que hacen posible que Aurora acceda a CloudWatch Logs.
La siguiente política agrega los permisos que requiere Aurora para acceder a Amazon CloudWatch Logs
en su nombre y el número mínimo de permisos necesarios para crear grupos de registros y exportar datos.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "EnableCreationAndManagementOfRDSCloudwatchLogEvents",
"Effect": "Allow",
"Action": [
"logs:GetLogEvents",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:log-group:/aws/rds/*:log-stream:*"
},
{
"Sid": "EnableCreationAndManagementOfRDSCloudwatchLogGroupsAndStreams",
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:DescribeLogStreams",
"logs:PutRetentionPolicy",
"logs:CreateLogGroup"
],
"Resource": "arn:aws:logs:*:*:log-group:/aws/rds/*"
}
]
1069
Amazon Aurora Guía del usuario de Aurora
Autorización a Aurora MySQL a
acceder a otros servicios de AWS
Puede modificar los ARN de la política para restringir el acceso a una región y cuenta de AWS específicas.
Puede seguir los pasos indicados a continuación para crear una política de IAM que otorgue los permisos
mínimos necesarios para que Aurora tenga acceso a CloudWatch Logs en su nombre. Para conceder
acceso total de Aurora a CloudWatch Logs puede omitir estos pasos y usar la política de IAM predefinida
CloudWatchLogsFullAccess en lugar de crear la suya propia. Para obtener más información, consulte
Uso de políticas basadas en identidad (políticas de IAM) para CloudWatch Logs en la Guía del usuario de
Amazon CloudWatch.
Para crear una política de IAM para dar acceso a los recursos de CloudWatch Logs
• CreateLogGroup
• CreateLogStream
• DescribeLogStreams
• GetLogEvents
• PutLogEvents
• PutRetentionPolicy
6. Elija Resources (Recursos) y Add ARN (Añadir ARN) para log-group.
7. En el cuadro de diálogo Add ARN(s) (Añadir ARN), escriba los siguientes valores:
1070
Amazon Aurora Guía del usuario de Aurora
Autorización a Aurora MySQL a
acceder a otros servicios de AWS
Creación de una política de IAM para acceder a los recursos de AWS KMS
Aurora puede obtener acceso a las AWS KMS keys utilizadas para cifrar sus copias de seguridad de bases
de datos. Sin embargo, primero debe crear una política de IAM que asigne los permisos que hacen posible
que Aurora obtenga acceso a las claves de KMS.
La política siguiente añade los permisos que requiere Aurora para obtener acceso a las claves de KMS en
su nombre.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": "arn:aws:kms:<region>:<123456789012>:key/<key-ID>"
}
]
}
Puede seguir los pasos indicados a continuación para crear una política de IAM que otorgue los permisos
mínimos necesarios para que Aurora tenga acceso a las claves de KMS en su nombre.
Para crear una política de IAM para conceder acceso a sus claves de KMS
1071
Amazon Aurora Guía del usuario de Aurora
Autorización a Aurora MySQL a
acceder a otros servicios de AWS
Para crear un rol de IAM que permita al clúster de Amazon RDS comunicarse con otros servicios de AWS
en su nombre, siga estos pasos.
Crear un rol de IAM que permita a Amazon RDS el acceso a los servicios de AWS
• Creación de una política de IAM para acceder a los recursos de Amazon S3 (p. 1066)
• Creación de una política de IAM para acceder a los recursos de AWS Lambda (p. 1068)
• Creación de una política de IAM para acceder a los recursos de CloudWatch Logs (p. 1069)
• Creación de una política de IAM para acceder a los recursos de AWS KMS (p. 1071)
9. Elija Next: Tags (Siguiente: Etiquetas) y, a continuación, seleccione Next: Review (Siguiente: Revisar).
10. En Role Name (Nombre del rol), escriba un nombre para el rol de IAM, por ejemplo, RDSLoadFromS3.
También puede añadir una descripción opcional en Role description (Descripción de rol).
11. Elija Create Role (Crear rol).
12. Realice los pasos que se indican en Asociación de un rol de IAM con un clúster de base de datos
Amazon Aurora MySQL (p. 1072).
No se puede asociar un rol de IAM a un clúster de base de datos de Aurora Serverless. Para
obtener más información, consulte Uso de Amazon Aurora Serverless v1 (p. 162).
Para asociar un rol de IAM con un clúster de base de datos es necesario hacer dos cosas:
• Añadir el rol a la lista de roles asociados del clúster de base de datos con la consola de RDS, el
comando add-role-to-db-cluster de la AWS CLI o la operación AddRoleToDBCluster de la API de RDS.
Puede añadir un máximo de cinco roles de IAM por cada clúster de base de datos Aurora.
• Establecer el ARN del rol de IAM asociado en el parámetro a nivel de clúster para el servicio de AWS de
que se trate.
En la tabla siguiente se indican los nombres de los parámetros a nivel de clúster para los roles de IAM
empleados en el acceso a otros servicios de AWS.
1072
Amazon Aurora Guía del usuario de Aurora
Autorización a Aurora MySQL a
acceder a otros servicios de AWS
Para asociar un rol de IAM que permita al clúster de Amazon RDS comunicarse con otros servicios de
AWS en su nombre, siga estos pasos.
Para asociar un rol de IAM a un clúster de base de datos Aurora con la consola
1073
Amazon Aurora Guía del usuario de Aurora
Autorización a Aurora MySQL a
acceder a otros servicios de AWS
3. Elija el nombre del clúster de base de datos de Aurora al que desea asociar un rol de IAM para
mostrar sus detalles.
4. En la pestaña Connectivity & security (Conectividad y seguridad), en la sección Manage IAM roles
(Administrar roles de IAM), elija el rol que desee añadir en Add IAM roles to this cluster (Añadir roles
de IAM a este clúster).
1074
Amazon Aurora Guía del usuario de Aurora
Autorización a Aurora MySQL a
acceder a otros servicios de AWS
Una vez reiniciada la instancia, el rol de IAM se asocia al clúster de base de datos.
Para obtener más información acerca de los grupos de parámetros de clúster, consulte
Parámetros de configuración de Aurora MySQL (p. 1128).
1075
Amazon Aurora Guía del usuario de Aurora
Autorización a Aurora MySQL a
acceder a otros servicios de AWS
Para asociar un rol de IAM a un clúster de base de datos con la AWS CLI
1. Ejecute el comando add-role-to-db-cluster desde la AWS CLI para añadir los ARN de los roles
de IAM al clúster de base de datos, como se muestra a continuación.
2. Si utiliza el grupo de parámetros de clúster de base de datos predeterminado, cree un nuevo grupo de
parámetros de clúster de base de datos. Si ya está usando un grupo de parámetros de base de datos
personalizado, puede usarlo en lugar de crear uno nuevo.
Para crear un nuevo grupo de parámetros de clúster de base de datos, ejecute el comando create-
db-cluster-parameter-group desde la AWS CLI, como se muestra a continuación.
En el caso de un clúster de base de datos compatible con Aurora MySQL 5.7, especifique aurora-
mysql5.7 para --db-parameter-group-family. En el caso de un clúster de base de datos
compatible con Aurora MySQL 8.0, especifique aurora-mysql8.0 para --db-parameter-group-
family.
3. Configure el parámetro o parámetros adecuados a nivel de clúster y los valores de ARN de rol de IAM
correspondientes dentro del grupo de parámetros de clúster de base de datos, como se muestra a
continuación.
4. Modifique el clúster de base de datos de modo que use el nuevo grupo de parámetros de clúster de
base de datos y, a continuación, reinicie el clúster, como se muestra a continuación.
Una vez reiniciada la instancia, los roles de IAM están asociados al clúster de base de datos.
Para obtener más información acerca de los grupos de parámetros de clúster, consulte Parámetros de
configuración de Aurora MySQL (p. 1128).
1076
Amazon Aurora Guía del usuario de Aurora
Autorización a Aurora MySQL a
acceder a otros servicios de AWS
• Invocar funciones de AWS Lambda. Para obtener más información sobre esta característica, consulte
Invocación de una función de Lambda con una función nativa de Aurora MySQL (p. 1094).
• Acceso a archivos desde Amazon S3. Para obtener más información sobre esta característica, consulte
Carga de datos en un clúster de base de datos Amazon Aurora MySQL desde archivos de texto en
un bucket de Amazon S3 (p. 1078) y Grabación de datos desde un clúster de base de datos Amazon
Aurora MySQL en archivos de texto de un bucket de Amazon S3 (p. 1086).
• Acceso a los puntos de enlace de AWS KMS. Se requiere el acceso de AWS KMS para utilizar los
flujos de actividad de la base de datos con Aurora MySQL. Para obtener más información sobre esta
característica, consulte Monitoreo de Amazon Aurora mediante los flujos de actividad de la base de
datos (p. 768).
• Acceso a los puntos de enlace de SageMaker. El acceso a SageMaker es necesario para utilizar
el Machine Learning de SageMaker con Aurora MySQL. Para obtener más información sobre esta
característica, consulte Uso del Machine Learning (ML) con Aurora MySQL (p. 1103).
Cuando no puede conectar con un punto de enlace de servicio, Aurora devuelve el mensaje de error
siguiente:
ERROR 1873 (HY000): Lambda API returned error: Network Connection. Unable to connect to
endpoint
Para flujos de actividad de la base de datos que utilizan Aurora MySQL, el flujo de actividad deja de
funcionar si el clúster de base de datos no puede acceder al punto de enlace de AWS KMS. Aurora notifica
sobre este problema mediante eventos RDS.
Si encuentra estos mensajes mientras utiliza los servicios de AWS correspondientes, verifique si su clúster
de base de datos de Aurora es público o privado. Si el clúster de base de datos de Aurora es privado, debe
configurarlo para habilitar las conexiones.
Para que un clúster de base de datos de Aurora sea público debe estar marcado como accesible de
forma pública. Si observa los detalles del clúster de base de datos en la AWS Management Console,
Publicly Accessible (Accesible públicamente) será Sí en tal caso. Además, el clúster de base de datos
debe encontrarse en una subred pública de una Amazon VPC. Para obtener más información acerca de
las instancias de bases de datos con acceso público, consulte Uso de una instancia de base de datos
en una VPC (p. 1926). Para obtener más información acerca de las subredes de Amazon VPC públicas,
consulte VPC y subredes.
Si el clúster de base de datos de Aurora no es de acceso público y se encuentra en una subred pública de
una VPC, es privado. Es posible que tenga un clúster de base de datos privado y desee utilizar una de las
características que requiere esta configuración de red. Si es así, configure el clúster para que se pueda
conectar a direcciones de Internet a través de la traducción de direcciones de red (NAT). Como alternativa
para Amazon S3, Amazon SageMaker y AWS Lambda, también puede configurar la VPC para que tenga
un punto de enlace de la VPC para el otro servicio asociado a la tabla de enrutamiento del clúster de base
1077
Amazon Aurora Guía del usuario de Aurora
Carga de datos desde archivos de texto en Amazon S3
de datos. Para obtener más información acerca de la configuración de NAT en la VPC, consulte Gateways
NAT. Para obtener más información acerca de la configuración de puntos de enlace de la VPC, consulte
Puntos de enlace de la VPC.
Temas relacionados
• Integración de Aurora con otros servicios de AWS (p. 465)
• Administración de un clúster de base de datos de Amazon Aurora (p. 400)
Si utiliza cifrado, el bucket de Amazon S3 debe cifrarse con una Clave administrada por AWS.
Actualmente, no se puede cargar datos de un bucket que está cifrado con una clave administrada por el
cliente.
Note
En Amazon Aurora MySQL versión 1.8 y posteriores se pueden cargar datos en una tabla desde
archivos de texto almacenados en un bucket de Amazon S3. Para obtener más información
acerca de las versiones de Aurora MySQL, consulte Actualizaciones del motor de base de datos
de Amazon Aurora MySQL (p. 1170).
Esta característica no está disponible para clústeres de Aurora Serverless.
1. Cree una política de AWS Identity and Access Management (IAM) que asigne los permisos de bucket
y objeto que permiten que su clúster de base de datos de Aurora MySQL acceda a Amazon S3.
Para obtener instrucciones, consulte Creación de una política de IAM para acceder a los recursos de
Amazon S3 (p. 1066).
2. Cree un rol de IAM y asocie la política de IAM que creó en Creación de una política de IAM para
acceder a los recursos de Amazon S3 (p. 1066) al nuevo rol de IAM. Para obtener instrucciones,
consulte Creación de un rol de IAM que permita a Amazon Aurora acceder a los servicios de
AWS (p. 1071).
3. Asegúrese de que el clúster de base de datos utiliza un grupo de parámetros del clúster de base de
datos.
Para obtener más información acerca de cómo crear un grupo de parámetros del clúster de base
de datos personalizado, consulte Creación de un grupo de parámetros de clúster de base de
datos (p. 374).
4. Configure el parámetro de clúster de base de datos aurora_load_from_s3_role o
aws_default_s3_role con el Nombre de recurso de Amazon (ARN) del nuevo rol de IAM. Si no
se ha especificado un rol de IAM para aurora_load_from_s3_role, Aurora utilizará el rol de IAM
especificado en el parámetro aws_default_s3_role.
1078
Amazon Aurora Guía del usuario de Aurora
Carga de datos desde archivos de texto en Amazon S3
Si el clúster es parte de una base de datos global de Aurora, configure este parámetro para cada
clúster de Aurora en la base de datos global. Aunque solo el clúster principal de una base de datos
global de Aurora puede cargar datos, se puede promover otro clúster por parte del mecanismo de
conmutación por error y convertirse en clúster principal.
Para obtener más información acerca de los parámetros de clúster de base de datos, consulte
Parámetros del clúster de base de datos de Amazon Aurora y de instancia de base de datos (p. 372).
5. Para permitir el acceso a Aurora MySQL a los usuarios de base de datos un clúster de base de
datos Amazon S3, asocie el rol que creó en Creación de un rol de IAM que permita a Amazon Aurora
acceder a los servicios de AWS (p. 1071) con el clúster. Para una base de datos global de Aurora,
asocie el rol con cada clúster de Aurora en la base de datos global. Para obtener información acerca
de cómo asociar un rol de IAM con un clúster de base de datos, consulte Asociación de un rol de IAM
con un clúster de base de datos Amazon Aurora MySQL (p. 1072).
6. Configure el clúster de base de datos Aurora MySQL para permitir conexiones salientes hacia Amazon
S3. Para obtener instrucciones, consulte Habilitación de la comunicación de red de Amazon Aurora
MySQL con otros servicios de AWS (p. 1077).
Para una base de datos global de Aurora, habilite las conexiones de salida para cada clúster de
Aurora en la base de datos global.
Tip
Cuando utiliza la técnica de rol en Aurora MySQL versión 3, también activa el rol mediante la
instrucción SET ROLE role_name o SET ROLE ALL. Si no está familiarizado con el sistema
de roles MySQL 8.0, puede obtener más información en Modelo de privilegios basado en
roles (p. 813). También puede encontrar más información en Uso de roles en el Manual de
referencia de MySQL.
1079
Amazon Aurora Guía del usuario de Aurora
Carga de datos desde archivos de texto en Amazon S3
s3-region://bucket-name/file-name-or-prefix
• region (opcional): la región de AWS que contiene el bucket de Amazon S3 desde el que se va a
realizar la carga. Este valor es opcional. Si no se especifica el valor region, Aurora carga el archivo de
Amazon S3 desde la misma región en la que se encuentra el clúster de base de datos.
• bucket-name: el nombre del bucket de Amazon S3 que contiene los datos que se van a cargar.
Pueden usarse prefijos de objeto que identifiquen una ruta de carpeta virtual.
• file-name-or-prefix: el nombre del archivo de texto o el archivo XML de Amazon S3, o un prefijo
que identifica el archivo o los archivos de texto o XML que se van a cargar. También puede especificar
un archivo de manifiesto que identifique el archivo o los archivos de texto que se van a cargar. Para
obtener más información acerca de cómo utilizar un archivo de manifiesto para cargar archivos de texto
desde Amazon S3, consulte Uso de un manifiesto para especificar los archivos de datos que se deben
cargar (p. 1082).
Sintaxis
Parámetros
A continuación, puede encontrar una lista de los parámetros obligatorios y opcionales utilizados por
la instrucción LOAD DATA FROM S3. Puede encontrar más información acerca de algunos de estos
parámetros en LOAD DATA INFILE Syntax en la documentación de MySQL.
• FILE | PREFIX | MANIFEST: identifica si se deben cargar los datos de un solo archivo, de todos los
archivos que coincidan con un prefijo determinado o de todos los archivos del manifiesto especificado.
FILE es el valor predeterminado.
1080
Amazon Aurora Guía del usuario de Aurora
Carga de datos desde archivos de texto en Amazon S3
• S3-URI: especifica el URI del archivo de texto o de manifiesto que se debe cargar, o el prefijo de
Amazon S3 que se debe utilizar. Especifique el URI utilizando la sintaxis descrita en Especificación de
una ruta a un bucket de Amazon S3 (p. 1080).
• REPLACE | IGNORE: determina la acción que se debe realizar si una fila de entrada tiene los mismos
valores de clave única que una fila existente en la tabla de la base de datos.
• Especifique REPLACE si desea que la fila de entrada sustituya la fila existente en la tabla.
• Especifique IGNORE si desea descartar la fila de entrada.
• INTO TABLE: identifica el nombre de la tabla de la base de datos en la que se deben cargar las filas de
entrada.
• PARTITION: requiere que todas las filas de entrada se inserten en las particiones identificadas por la
lista especificada que contiene los nombres de las particiones separados por comas. Si no se puede
insertar una fila de entrada en una de las particiones especificadas, la instrucción falla y se devuelve un
error.
• CHARACTER SET: identifica el conjunto de caracteres de los datos del archivo de entrada.
• FIELDS | COLUMNS: identifica cómo están delimitados los campos o las columnas del archivo de
entrada. De forma predeterminada, los campos están delimitados por tabuladores.
• LINES: identifica cómo están delimitadas las líneas del archivo de entrada. De forma predeterminada, las
líneas están delimitadas por un carácter de nueva línea ('\n').
• IGNORE número LINES | ROWS: especifica que se deben omitir cierto número de líneas o filas al
principio del archivo de entrada. Por ejemplo, puede utilizar IGNORE 1 LINES para omitir una línea de
encabezado inicial que contiene los nombres de las columnas o IGNORE 2 ROWS para omitir las dos
primeras filas de datos del archivo de entrada. Si también utiliza PREFIX, IGNORE omite cierto número
de líneas o filas al principio del primer archivo de entrada.
• col_name_or_user_var, ... Especifica una lista separada por comas de uno o varios nombres de columna
o variables de usuario que identifican las columnas que se deben cargar por nombre. El nombre de una
variable de usuario utilizada para este propósito debe coincidir con el nombre de un elemento del archivo
de texto, con el prefijo @. Puede utilizar variables de usuario para almacenar los valores de los campos
correspondientes para utilizarlos posteriormente.
Por ejemplo, la siguiente instrucción carga la primera columna del archivo de entrada en la primera
columna de table1, y establece el valor de la columna table_column2 de table1 en el valor de
entrada de la segunda columna, dividido por 100.
• SET: especifica una lista separada por comas que contiene operaciones de asignación que asignan
valores no incluidos en el archivo de entrada a las columnas de la tabla.
Por ejemplo, la siguiente instrucción asigna a las dos primeras columnas de table1 los valores de
las dos primeras columnas del archivo de entrada y, a continuación, asigna la fecha y hora actuales a
column3 de table1.
Es posible utilizar subconsultas en el lado derecho de las asignaciones SET. Para una subconsulta que
devuelve un valor que se va a asignar a una columna, solo se puede utilizar una subconsulta escalar.
Además, no puede utilizar una subconsulta para seleccionar datos de la tabla que se está cargando.
1081
Amazon Aurora Guía del usuario de Aurora
Carga de datos desde archivos de texto en Amazon S3
No se puede utilizar la palabra clave LOCAL de la instrucción LOAD DATA FROM S3 para cargar datos de
un bucket de Amazon S3.
Uso de un manifiesto para especificar los archivos de datos que se deben cargar
Puede utilizar la instrucción LOAD DATA FROM S3 con la palabra clave MANIFEST para especificar un
archivo de manifiesto con formato JSON que enumera los archivos de texto que se cargarán en una tabla
del clúster de base de datos. Debe utilizar Aurora 1.11 o una versión posterior para usar la palabra clave
MANIFEST con la instrucción LOAD DATA FROM S3.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"definitions": {},
"id": "Aurora_LoadFromS3_Manifest",
"properties": {
"entries": {
"additionalItems": false,
"id": "/properties/entries",
"items": {
"additionalProperties": false,
"id": "/properties/entries/items",
"properties": {
"mandatory": {
"default": "false"
"id": "/properties/entries/items/properties/mandatory",
"type": "boolean"
},
"url": {
"id": "/properties/entries/items/properties/url",
"maxLength": 1024,
"minLength": 1,
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"type": "array",
"uniqueItems": true
}
},
"required": [
"entries"
],
"type": "object"
}
Cada url del manifiesto debe especificar una URL con el nombre del bucket y la ruta de objeto completa
del archivo, no solo un prefijo. Puede usar un manifiesto para cargar archivos de diferentes buckets o
regiones, o archivos que no comparten el mismo prefijo. Si no se especifica una región en la URL, se utiliza
la región del clúster de base de datos de destino de Aurora. En el siguiente ejemplo se muestra un archivo
de manifiesto que carga cuatro archivos desde distintos buckets.
{
"entries": [
{
"url":"s3://aurora-bucket/2013-10-04-customerdata",
"mandatory":true
1082
Amazon Aurora Guía del usuario de Aurora
Carga de datos desde archivos de texto en Amazon S3
},
{
"url":"s3-us-west-2://aurora-bucket-usw2/2013-10-05-customerdata",
"mandatory":true
},
{
"url":"s3://aurora-bucket/2013-10-04-customerdata",
"mandatory":false
},
{
"url":"s3://aurora-bucket/2013-10-05-customerdata"
}
]
}
La marca opcional mandatory especifica si LOAD DATA FROM S3 debe devolver un error en caso de que
no se encuentre el archivo. De forma predeterminada, la marca mandatory tiene el valor false. Sea cual
sea el valor de mandatory, LOAD DATA FROM S3 finaliza si no se encuentra ningún archivo.
Los archivos de manifiesto pueden tener cualquier extensión. En el siguiente ejemplo, se ejecuta
la instrucción LOAD DATA FROM S3 con el manifiesto del ejemplo anterior, que se denomina
customer.manifest.
Una vez finalizada la instrucción, se escribe una entrada en la tabla aurora_s3_load_history para
cada archivo que se ha cargado correctamente.
Después de ejecutar la instrucción LOAD DATA FROM S3, puede comprobar qué archivos se han cargado
consultando la tabla aurora_s3_load_history. Para ver los archivos que se cargaron durante una
iteración de la instrucción, utilice la cláusula WHERE para filtrar los registros utilizando el URI de Amazon
S3 del archivo de manifiesto utilizado en la instrucción. Si ha utilizado el mismo archivo de manifiesto
anteriormente, filtre los resultados utilizando el campo timestamp.
Campo Descripción
1083
Amazon Aurora Guía del usuario de Aurora
Carga de datos desde archivos de texto en Amazon S3
Campo Descripción
load_timestamp La fecha y hora en que finalizó la instrucción LOAD DATA FROM S3.
Ejemplos
La siguiente instrucción carga datos desde un bucket de Amazon S3 que se encuentra en la misma región
que el clúster de base de datos Aurora. La instrucción lee los datos delimitados por comas del archivo
customerdata.txt que se encuentra en el bucket de Amazon S3 dbbucket y, a continuación, carga los
datos en la tabla store-schema.customer-table.
La siguiente instrucción carga datos desde un bucket de Amazon S3 que se encuentra en una región que
no coincide con la del clúster de base de datos Aurora. La instrucción lee los datos delimitados por comas
de todos los archivos que coinciden con el prefijo de objeto employee-data que se encuentran en el
bucket my-data de Amazon S3 de la región us-west-2 y, a continuación, carga los datos en la tabla
employees.
La siguiente instrucción carga los datos de los archivos especificados en un archivo de manifiesto JSON
denominado q1_sales.json en la tabla sales.
• Con los nombres de las columnas como atributos de un elemento <row>. El valor del atributo identifica
el contenido del campo de la tabla.
1084
Amazon Aurora Guía del usuario de Aurora
Carga de datos desde archivos de texto en Amazon S3
• Con los nombres de las columnas como elementos secundarios de un elemento <row>. El valor del
elemento secundario identifica el contenido del campo de la tabla.
<row>
<column1>value1</column1>
<column2>value2</column2>
</row>
• Con los nombres de las columnas en el atributo name de los elementos <field> de un elemento
<row>. El valor del elemento <field> identifica el contenido del campo de la tabla.
<row>
<field name='column1'>value1</field>
<field name='column2'>value2</field>
</row>
Sintaxis
LOAD XML FROM S3 'S3-URI'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[PARTITION (partition_name,...)]
[CHARACTER SET charset_name]
[ROWS IDENTIFIED BY '<element-name>']
[IGNORE number {LINES | ROWS}]
[(field_name_or_user_var,...)]
[SET col_name = expr,...]
Parámetros
A continuación, puede encontrar una lista de los parámetros obligatorios y opcionales utilizados por
la instrucción LOAD DATA FROM S3. Puede encontrar más información acerca de algunos de estos
parámetros en LOAD XML Syntax en la documentación de MySQL.
• FILE | PREFIX: identifica si se deben cargar los datos de un solo archivo o de todos los archivos que
coincidan con un prefijo determinado. FILE es el valor predeterminado.
• REPLACE | IGNORE: determina la acción que se debe realizar si una fila de entrada tiene los mismos
valores de clave única que una fila existente en la tabla de la base de datos.
• Especifique REPLACE si desea que la fila de entrada sustituya la fila existente en la tabla.
• Especifique IGNORE si desea para descartar la fila de entrada. IGNORE es el valor predeterminado.
• INTO TABLE: identifica el nombre de la tabla de la base de datos en la que se deben cargar las filas de
entrada.
• PARTITION: requiere que todas las filas de entrada se inserten en las particiones identificadas por la
lista especificada que contiene los nombres de las particiones separados por comas. Si no se puede
insertar una fila de entrada en una de las particiones especificadas, la instrucción falla y se devuelve un
error.
• CHARACTER SET: identifica el conjunto de caracteres de los datos del archivo de entrada.
• ROWS IDENTIFIED BY: establece el nombre del elemento que identifica una fila del archivo de entrada.
El valor predeterminado es <row>.
• IGNORE número LINES | ROWS: especifica que se deben omitir cierto número de líneas o filas al
principio del archivo de entrada. Por ejemplo, puede utilizar IGNORE 1 LINES para omitir la primera
línea del archivo de texto o IGNORE 2 ROWS para omitir las dos primeras filas de datos del archivo XML
de entrada.
• field_name_or_user_var, ... Especifica una lista separada por comas de uno o varios elementos XML o
variables de usuario que identifican los elementos que se deben cargar por nombre. El nombre de una
1085
Amazon Aurora Guía del usuario de Aurora
Almacenamiento de datos en
archivos de texto en Amazon S3
variable de usuario utilizada para este propósito debe coincidir con el nombre de un elemento del archivo
XML, con el prefijo @. Puede utilizar variables de usuario para almacenar los valores de los campos
correspondientes para utilizarlos posteriormente.
Por ejemplo, la siguiente instrucción carga la primera columna del archivo de entrada en la primera
columna de table1, y establece el valor de la columna table_column2 de table1 en el valor de
entrada de la segunda columna, dividido por 100.
• SET: especifica una lista separada por comas que contiene operaciones de asignación que asignan
valores no incluidos en el archivo de entrada a las columnas de la tabla.
Por ejemplo, la siguiente instrucción asigna a las dos primeras columnas de table1 los valores de
las dos primeras columnas del archivo de entrada y, a continuación, asigna la fecha y hora actuales a
column3 de table1.
Es posible utilizar subconsultas en el lado derecho de las asignaciones SET. Para una subconsulta que
devuelve un valor que se va a asignar a una columna, solo se puede utilizar una subconsulta escalar.
Además, no puede utilizar una subconsulta para seleccionar datos de la tabla que se está cargando.
Temas relacionados
• Integración de Amazon Aurora MySQL con otros servicios de AWS (p. 1064)
• Grabación de datos desde un clúster de base de datos Amazon Aurora MySQL en archivos de texto de
un bucket de Amazon S3 (p. 1086)
• Administración de un clúster de base de datos de Amazon Aurora (p. 400)
• Migración de datos a un clúster de base de datos de Amazon Aurora (p. 399)
Si utiliza cifrado, el bucket de Amazon S3 debe cifrarse con una Clave administrada por AWS.
Actualmente, no puede guardar datos en un bucket que esté cifrado con una clave administrada por el
cliente.
1086
Amazon Aurora Guía del usuario de Aurora
Almacenamiento de datos en
archivos de texto en Amazon S3
Note
Puede guardar datos de instantáneas del clúster de base de datos en Amazon S3 mediante
la AWS Management Console, la AWS CLI o la API de Amazon RDS. Para obtener más
información, consulte Exportación de datos de instantáneas de bases de datos a Amazon
S3 (p. 568).
1. Cree una política de AWS Identity and Access Management (IAM) que asigne los permisos de bucket
y objeto que permiten que su clúster de base de datos de Aurora MySQL acceda a Amazon S3.
Para obtener instrucciones, consulte Creación de una política de IAM para acceder a los recursos de
Amazon S3 (p. 1066).
2. Cree un rol de IAM y asocie la política de IAM que creó en Creación de una política de IAM para
acceder a los recursos de Amazon S3 (p. 1066) al nuevo rol de IAM. Para obtener instrucciones,
consulte Creación de un rol de IAM que permita a Amazon Aurora acceder a los servicios de
AWS (p. 1071).
3. Configure el parámetro de clúster de base de datos aurora_select_into_s3_role o
aws_default_s3_role con el Nombre de recurso de Amazon (ARN) del nuevo rol de IAM. Si no se
ha especificado un rol de IAM para aurora_select_into_s3_role, Aurora utilizará el rol de IAM
especificado en el parámetro aws_default_s3_role.
Si el clúster es parte de una base de datos global de Aurora, configure este parámetro para cada
clúster de Aurora en la base de datos global.
Para obtener más información acerca de los parámetros de clúster de base de datos, consulte
Parámetros del clúster de base de datos de Amazon Aurora y de instancia de base de datos (p. 372).
4. Para permitir el acceso a Aurora MySQL a los usuarios de base de datos un clúster de base de
datos Amazon S3, asocie el rol que creó en Creación de un rol de IAM que permita a Amazon Aurora
acceder a los servicios de AWS (p. 1071) con el clúster.
Para una base de datos global de Aurora, asocie el rol con cada clúster de Aurora en la base de datos
global.
Para obtener información acerca de cómo asociar un rol de IAM con un clúster de base de
datos, consulte Asociación de un rol de IAM con un clúster de base de datos Amazon Aurora
MySQL (p. 1072).
5. Configure el clúster de base de datos Aurora MySQL para permitir conexiones salientes hacia Amazon
S3. Para obtener instrucciones, consulte Habilitación de la comunicación de red de Amazon Aurora
MySQL con otros servicios de AWS (p. 1077).
Para una base de datos global de Aurora, habilite las conexiones de salida para cada clúster de
Aurora en la base de datos global.
1087
Amazon Aurora Guía del usuario de Aurora
Almacenamiento de datos en
archivos de texto en Amazon S3
Tip
Cuando utiliza la técnica de rol en Aurora MySQL versión 3, también activa el rol mediante la
instrucción SET ROLE role_name o SET ROLE ALL. Si no está familiarizado con el sistema
de roles MySQL 8.0, puede obtener más información en Modelo de privilegios basado en
roles (p. 813). También puede encontrar más información en Uso de roles en el Manual de
referencia de MySQL.
s3-region://bucket-name/file-prefix
• region (opcional): la región de AWS que contiene el bucket de Amazon S3 para guardar los datos.
Este valor es opcional. Si no especifica el valor region, Aurora guarda los archivos en Amazon S3 en la
misma región en la que se encuentra el clúster de base de datos.
• bucket-name: nombre del bucket de Amazon S3 donde se guardan los datos. Pueden usarse prefijos
de objeto que identifiquen una ruta de carpeta virtual.
• file-prefix: prefijo de objeto de Amazon S3 que identifica los archivos que se guardan en Amazon
S3.
Los archivos de datos creados con la instrucción SELECT INTO OUTFILE S3 usan la ruta siguiente,
donde 00000 representa un número entero de cinco dígitos basado en cero.
s3-region://bucket-name/file-prefix.part_00000
Por ejemplo, supongamos que la instrucción SELECT INTO OUTFILE S3 especifica s3-us-west-2://
bucket/prefix como la ruta donde almacenar los archivos de datos y que crea tres archivos. El bucket
de Amazon S3 especificado contendrá los archivos de datos siguientes:
• s3-us-west-2://bucket/prefix.part_00000
• s3-us-west-2://bucket/prefix.part_00001
1088
Amazon Aurora Guía del usuario de Aurora
Almacenamiento de datos en
archivos de texto en Amazon S3
• s3-us-west-2://bucket/prefix.part_00002
Los archivos de datos incluidos en el manifiesto creado con la instrucción SELECT INTO OUTFILE S3
se enumeran en el orden en que la instrucción los ha creado. Por ejemplo, supongamos que la instrucción
SELECT INTO OUTFILE S3 especificó s3-us-west-2://bucket/prefix como la ruta donde
almacenar los archivos de datos y que ha creado tres archivos de datos y un archivo de manifiesto. El
bucket de Amazon S3 especificado contendrá un archivo de manifiesto llamado s3-us-west-2://
bucket/prefix.manifest que contiene la información siguiente:
{
"entries": [
{
"url":"s3-us-west-2://bucket/prefix.part_00000"
},
{
"url":"s3-us-west-2://bucket/prefix.part_00001"
},
{
"url":"s3-us-west-2://bucket/prefix.part_00002"
}
]
}
Sintaxis
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr ...]
[FROM table_references
[PARTITION partition_list]
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
INTO OUTFILE S3 's3_uri'
1089
Amazon Aurora Guía del usuario de Aurora
Almacenamiento de datos en
archivos de texto en Amazon S3
export_options:
[FORMAT {CSV|TEXT} [HEADER]]
[{FIELDS | COLUMNS}
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char']
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
Parámetros
A continuación, puede encontrar una lista de los parámetros obligatorios y opcionales utilizados por la
instrucción SELECT INTO OUTFILE S3 que son específicos de Aurora.
• s3-uri: especifica el URI del prefijo de Amazon S3 utilizado. Especifique el URI utilizando la sintaxis
descrita en Especificación de una ruta a un bucket de Amazon S3 (p. 1088).
• FORMAT {CSV|TEXT} [HEADER]: opcionalmente guarda los datos en formato CSV. Esta sintaxis está
disponible en las versiones 2.07.0 y posteriores de Aurora MySQL.
La opción CSV produce valores de datos separados por comas. El formato CSV sigue la especificación
de RFC-4180. Si especifique la palabra clave opcional HEADER, el archivo de salida contiene una línea
de encabezado. Las etiquetas de la línea de encabezado se corresponden con los nombres de las
columnas de la instrucción SELECT. Puede usar los archivos CSV para el entrenamiento de modelos de
datos a fin de utilizarlos con los servicios de ML de AWS. Para obtener más información acerca del uso
de datos exportados de Aurora con servicios de ML de AWS, consulte Exportación de datos a Amazon
S3 para el entrenamiento de modelos de SageMaker (p. 1110).
• MANIFEST {ON | OFF}: indica si se crea o no un archivo de manifiesto en Amazon S3. El archivo de
manifiesto es un archivo en notación de objetos JavaScript (JSON) que puede usarse para cargar datos
en un clúster de base de datos Aurora con la instrucción LOAD DATA FROM S3 MANIFEST. Para
obtener más información acerca de LOAD DATA FROM S3 MANIFEST, consulte Carga de datos en
un clúster de base de datos Amazon Aurora MySQL desde archivos de texto en un bucket de Amazon
S3 (p. 1078).
s3-region://bucket-name/file-prefix.manifest
Para obtener más información acerca del formato del contenido del archivo de manifiesto, consulte
Creación de un manifiesto con una lista de los archivos de datos (p. 1089).
• OVERWRITE {ON | OFF}: indica si los archivos existentes en el bucket de Amazon S3 especificado se
sobrescriben. Si se especifica OVERWRITE ON, se sobrescribirán los archivos existentes con el prefijo
indicado en el URI especificado en s3-uri. En caso contrario, se produce un error.
Encontrará más información sobre otros parámetros en SELECT Syntax y LOAD DATA INFILE Syntax, en
la documentación de MySQL.
1090
Amazon Aurora Guía del usuario de Aurora
Almacenamiento de datos en
archivos de texto en Amazon S3
Consideraciones
El número de archivos escritos en el bucket de Amazon S3 depende de la cantidad de datos que
seleccione la instrucción SELECT INTO OUTFILE S3 y del umbral de tamaño de archivo de Aurora
MySQL. Por defecto, el umbral de tamaño de archivo es 6 gigabytes (GB). Si el volumen de los datos
seleccionados por la instrucción es inferior al umbral de tamaño de archivo, se creará un solo archivo. En
caso contrario, se crearán varios. Las siguientes son otras consideraciones sobre los archivos que crea
esta instrucción:
• Aurora MySQL garantiza que las filas de los archivos de datos no se dividan entre archivos. Si hay varios
archivos, normalmente el tamaño de cada uno, salvo el último, será cercano al umbral de tamaño de
archivo. Sin embargo, en ocasiones, mantenerse por debajo del umbral de tamaño de archivo implicaría
dividir una fila entre dos archivos. En tal caso, Aurora MySQL crea un archivo de datos que mantiene la
fila completa, pero que puede tener un tamaño superior al umbral.
• Dado que cada instrucción SELECT en Aurora MySQL ejecuta como transacción atómica, una
instrucción SELECT INTO OUTFILE S3 que selecciona un conjunto de datos grande puede ejecutarse
durante un tiempo considerable. Si la instrucción devuelve un error por cualquier motivo, puede ser
necesario comenzar desde el principio y ejecutarla de nuevo. Sin embargo, si la instrucción falla, los
archivos ya cargados en Amazon S3 permanecerán en el bucket de Amazon S3 especificado. Entonces
puede utilizar otra instrucción para cargar los datos faltantes en lugar de comenzar de nuevo desde el
principio.
• Si el volumen de datos que se seleccionan es grande (más de 25 GB), es recomendable usar varias
instrucciones SELECT INTO OUTFILE S3 para guardar los datos en Amazon S3. Cada instrucción
debe seleccionar una parte distinta de los datos que se deben guardar y también debe especificar un
valor file_prefix distinto en el parámetro s3-uri al guardar los archivos de datos. La partición de
los datos que se van a seleccionar con varias instrucciones facilita la recuperación de un error en una
instrucción. Si se produce un error para una instrucción, solo se debe volver a seleccionar una parte
de los datos y cargarlos en Amazon S3. El uso de múltiples instrucciones también ayuda a evitar una
transacción única prolongada, lo que puede mejorar el desempeño.
• Si se ejecutan varias instrucciones SELECT INTO OUTFILE S3 en paralelo con el mismo valor
de file_prefix en el parámetro s3-uri para seleccionar datos y cargarlos en Amazon S3, el
comportamiento resultante no está definido.
• Aurora MySQL no carga en Amazon S3 los metadatos, como el esquema de tablas y los metadatos de
archivos.
• En algunos casos puede ser necesario volver a ejecutar una consulta SELECT INTO OUTFILE S3, por
ejemplo para recuperarse de un error. En estos casos, deberá eliminar los archivos de datos que haya
en el bucket de Amazon S3 con el prefijo especificado en s3-uri o bien deberá especificar OVERWRITE
ON en la consulta SELECT INTO OUTFILE S3.
Para ello partimos del hecho de que se crea un archivo de datos en el bucket de Amazon S3
aproximadamente por cada 6 GB de datos seleccionados por la instrucción. Dividiendo el volumen de
los datos seleccionados entre 6 GB se obtiene el número estimado de archivos de datos que se crean.
Puede estimar el progreso de la instrucción monitoreando el número de archivos cargados en Amazon S3
mientras se ejecuta la instrucción.
1091
Amazon Aurora Guía del usuario de Aurora
Almacenamiento de datos en
archivos de texto en Amazon S3
Ejemplos
La instrucción siguiente selecciona todos los datos de la tabla employees y los guarda en un bucket de
Amazon S3 situado en una región distinta de la del clúster de base de datos Aurora MySQL. La instrucción
crea archivos de datos en los que cada campo termina con un carácter coma (,) y cada fila termina con un
carácter de nueva línea (\n). La instrucción devuelve un error si en el bucket de Amazon S3 especificado
ya existen archivos con el prefijo especificado en sample_employee_data.
La instrucción siguiente selecciona todos los datos de la tabla employees y los guarda en un bucket de
Amazon S3 situado en la misma región que el clúster de base de datos Aurora MySQL. La instrucción
crea archivos de datos en los que cada campo termina con un carácter coma (,) y cada fila termina
con un carácter de nueva línea (\n), y también crea un archivo de manifiesto. La instrucción devuelve
un error si en el bucket de Amazon S3 especificado ya existen archivos con el prefijo especificado en
sample_employee_data.
La instrucción siguiente selecciona todos los datos de la tabla employees y los guarda en un bucket de
Amazon S3 situado en una región distinta de la del clúster de base de datos Aurora. La instrucción crea
archivos de datos en los que cada campo termina con un carácter coma (,) y cada fila termina con un
carácter de nueva línea (\n). La instrucción sobrescribe los archivos que puedan existir en el bucket de
sample_employee_data con el prefijo especificado en Amazon S3.
La instrucción siguiente selecciona todos los datos de la tabla employees y los guarda en un bucket de
Amazon S3 situado en la misma región que el clúster de base de datos Aurora MySQL. La instrucción
crea archivos de datos en los que cada campo termina con un carácter coma (,) y cada fila termina con
un carácter de nueva línea (\n), y también crea un archivo de manifiesto. La instrucción sobrescribe los
archivos que puedan existir en el bucket de sample_employee_data con el prefijo especificado en
Amazon S3.
Temas relacionados
• Integración de Aurora con otros servicios de AWS (p. 465)
• Carga de datos en un clúster de base de datos Amazon Aurora MySQL desde archivos de texto en un
bucket de Amazon S3 (p. 1078)
1092
Amazon Aurora Guía del usuario de Aurora
Invocación de una función Lambda desde Aurora MySQL
También puede llamar a una función AWS Lambda mediante un procedimiento almacenado. Sin embargo,
el uso de un procedimiento almacenado está obsoleto. Recomendamos encarecidamente el uso de una
función nativa de Aurora MySQL si utiliza una de las siguientes versiones de Aurora MySQL:
• Versión 1.16 y posterior de Aurora MySQL, para clústeres compatibles con MySQL 5.6.
• Versión 2.06 y posterior de Aurora MySQL, para clústeres compatibles con MySQL 5.7.
• Versión 3.01 y posterior de Aurora MySQL, para clústeres compatibles con MySQL 8.0. El procedimiento
almacenado no está disponible en Aurora MySQL versión 3.
Temas
• Otorgar acceso a Aurora a Lambda (p. 1093)
• Invocación de una función de Lambda con una función nativa de Aurora MySQL (p. 1094)
• Invocación de una función de Lambda con un procedimiento almacenado de Aurora MySQL
(obsoleto) (p. 1096)
1. Cree una política de AWS Identity and Access Management (IAM) que asigne los permisos que
permiten que su clúster de base de datos de Aurora MySQL invoque las funciones de Lambda. Para
obtener instrucciones, consulte Creación de una política de IAM para acceder a los recursos de AWS
Lambda (p. 1068).
2. Cree un rol de IAM y asocie la política de IAM que creó en Creación de una política de IAM para
acceder a los recursos de AWS Lambda (p. 1068) al nuevo rol de IAM. Para obtener instrucciones,
consulte Creación de un rol de IAM que permita a Amazon Aurora acceder a los servicios de
AWS (p. 1071).
3. Configure el parámetro de clúster de base de datos aws_default_lambda_role con el nombre de
recurso de Amazon (ARN) del nuevo rol de IAM.
Si el clúster es parte de una base de datos global de Aurora, aplique la misma configuración a cada
clúster de Aurora en la base de datos global.
Para obtener más información acerca de los parámetros de clúster de base de datos, consulte
Parámetros del clúster de base de datos de Amazon Aurora y de instancia de base de datos (p. 372).
1093
Amazon Aurora Guía del usuario de Aurora
Invocación de una función Lambda desde Aurora MySQL
4. Para permitir la invocación de funciones Aurora MySQL a los usuarios de base de datos un clúster
de base de datos Lambda, asocie el rol que creó en Creación de un rol de IAM que permita a
Amazon Aurora acceder a los servicios de AWS (p. 1071) con el clúster. Para obtener información
acerca de cómo asociar un rol de IAM con un clúster de base de datos, consulte Asociación de un rol
de IAM con un clúster de base de datos Amazon Aurora MySQL (p. 1072).
Si el clúster es parte de una base de datos global de Aurora, asocie el rol con cada clúster de Aurora
en la base de datos global.
5. Configure el clúster de base de datos Aurora MySQL para permitir conexiones salientes hacia
Lambda. Para obtener instrucciones, consulte Habilitación de la comunicación de red de Amazon
Aurora MySQL con otros servicios de AWS (p. 1077).
Si el clúster es parte de una base de datos global de Aurora, habilite las conexiones de salida para
cada clúster de Aurora en la base de datos global.
Para invocar una función de AWS Lambda desde un clúster de base de datos de Aurora MySQL, llame a
las funciones nativas de lambda_sync ylambda_async. Este método puede ser útil cuando se desea
integrar una base de datos que se ejecuta en Aurora MySQL con otros servicios de AWS. Por ejemplo, es
posible que desee enviar una notificación mediante Amazon Simple Notification Service (Amazon SNS)
siempre que se inserte una fila en una tabla específica de una base de datos.
En la versión 3 de Aurora MySQL, al usuario que invoca una función nativa se le debe conceder el rol de
AWS_LAMBDA_ACCESS. Para conceder este rol a un usuario, conéctese a la instancia de base de datos
como usuario administrativo y ejecute la siguiente instrucción.
Tip
Cuando utiliza la técnica de rol en Aurora MySQL versión 3, también activa el rol mediante la
instrucción SET ROLE role_name o SET ROLE ALL. Si no está familiarizado con el sistema
de roles MySQL 8.0, puede obtener más información en Modelo de privilegios basado en
roles (p. 813). También puede encontrar más información en Uso de roles en el Manual de
referencia de MySQL.
1094
Amazon Aurora Guía del usuario de Aurora
Invocación de una función Lambda desde Aurora MySQL
En las versiones 1 y 2 de Aurora MySQL, al usuario que invoca una función nativa se le debe conceder
el privilegio de INVOKE LAMBDA. Para conceder este privilegio a un usuario, conéctese a la instancia de
base de datos como usuario administrativo y ejecute la siguiente instrucción.
lambda_sync (
lambda_function_ARN,
JSON_payload
)
Note
Puede usar disparadores para llamar Lambda en instrucciones de modificación de datos.
Recuerde que los desencadenadores no se ejecutan una vez por instrucción SQL, sino una
vez por fila modificada, de una en una. Cuando se ejecuta un desencadenador, el proceso
es sincrónico. La instrucción de modificación de datos sólo devuelve cuando se completa el
desencadenador.
Tenga cuidado al invocar una función de AWS Lambda desde desencadenadores en tablas que
experimentan un alto tráfico de escritura. Los desencadenadores INSERT, UPDATE y DELETE
se activan por fila. Una gran carga de trabajo de escritura en una tabla con desencadenadores
INSERT, UPDATE o DELETE genera un gran número de llamadas a la función AWS Lambda.
lambda_function_ARN
Note
Aurora MySQL versión 3 admite las funciones de análisis JSON de MySQL 8.0. Sin embargo,
las versiones 1 y 2 de Aurora MySQL no incluyen esas funciones. El análisis de JSON no es
necesario si una función de Lambda devuelve un valor atómico, como un número o una cadena.
SELECT lambda_sync(
'arn:aws:lambda:us-east-1:868710585169:function:BasicTestLambda',
'{"operation": "ping"}');
1095
Amazon Aurora Guía del usuario de Aurora
Invocación de una función Lambda desde Aurora MySQL
lambda_async (
lambda_function_ARN,
JSON_payload
)
lambda_function_ARN
Note
Aurora MySQL versión 3 admite las funciones de análisis JSON de MySQL 8.0. Sin embargo,
las versiones 1 y 2 de Aurora MySQL no incluyen esas funciones. El análisis de JSON no es
necesario si una función de Lambda devuelve un valor atómico, como un número o una cadena.
SELECT lambda_async(
'arn:aws:lambda:us-east-1:868710585169:function:BasicTestLambda',
'{"operation": "ping"}');
1096
Amazon Aurora Guía del usuario de Aurora
Invocación de una función Lambda desde Aurora MySQL
Sintaxis
El procedimiento mysql.lambda_async tiene la siguiente sintaxis.
CALL mysql.lambda_async (
lambda_function_ARN,
lambda_function_input
)
Parámetros
El procedimiento mysql.lambda_async tiene los siguientes parámetros.
lambda_function_ARN
Ejemplos
Como práctica recomendada, es conveniente que encapsule las llamadas al procedimiento
mysql.lambda_async en un procedimiento almacenado que se pueda invocar desde distintos orígenes,
como los disparadores o el código del cliente. Esto puede ayudar a evitar los problemas de “discrepancia
de impedancia” y hacer que resulte más sencillo llamar a las funciones Lambda.
Note
Tenga cuidado al invocar una función de AWS Lambda desde desencadenadores en tablas que
experimentan un alto tráfico de escritura. Los desencadenadores INSERT, UPDATE y DELETE
se activan por fila. Una gran carga de trabajo de escritura en una tabla con desencadenadores
INSERT, UPDATE o DELETE genera un gran número de llamadas a la función AWS Lambda.
Aunque las llamadas al procedimiento mysql.lambda_async son asíncronas, los disparadores
son síncronos. Una instrucción que da como resultado un gran número de activaciones de
disparadores no espera a que finalice la llamada a la función de AWS Lambda, pero espera a que
finalicen los disparadores antes de devolver el control al cliente.
Example Ejemplo: Invocar una función de AWS Lambda para enviar correo electrónico
En el siguiente ejemplo se crea un procedimiento almacenado que puede llamarse desde el código de una
base de datos para enviar un mensaje de correo electrónico utilizando una función Lambda.
import boto3
ses = boto3.client('ses')
return ses.send_email(
Source=event['email_from'],
Destination={
1097
Amazon Aurora Guía del usuario de Aurora
Invocación de una función Lambda desde Aurora MySQL
'ToAddresses': [
event['email_to'],
]
},
Message={
'Subject': {
'Data': event['email_subject']
},
'Body': {
'Text': {
'Data': event['email_body']
}
}
}
)
Procedimiento almacenado
Example Ejemplo: Invocar una función de AWS Lambda para publicar un evento procedente de un
desencadenador
En el siguiente ejemplo se crea un procedimiento almacenado que publica un evento mediante Amazon
SNS. El código llama al procedimiento desde un disparador cuando se añade una fila a una tabla.
import boto3
sns = boto3.client('sns')
return sns.publish(
TopicArn='arn:aws:sns:us-west-2:123456789012:Sample_Topic',
Message=event['message'],
Subject=event['subject'],
MessageStructure='string'
)
1098
Amazon Aurora Guía del usuario de Aurora
Publicación de registros de Aurora
MySQL en CloudWatch Logs
Procedimiento almacenado
Tabla
Trigger
DELIMITER ;;
CREATE TRIGGER TR_Customer_Feedback_AI
AFTER INSERT ON Customer_Feedback
FOR EACH ROW
BEGIN
SELECT CONCAT('New customer feedback from ', NEW.customer_name), NEW.customer_feedback
INTO @subject, @feedback;
CALL SNS_Publish_Message(@subject, @feedback);
END
;;
DELIMITER ;
Para publicar logs en CloudWatch Logs, se deben habilitar los logs respectivos. Los logs de errores
están habilitados de forma predeterminada, pero debe habilitar explícitamente los demás tipos de logs.
Para obtener información acerca de habilitar registros en MySQL, consulte Selecting General Query and
Slow Query Log Output Destinations en la documentación de MySQL. Para obtener más información
1099
Amazon Aurora Guía del usuario de Aurora
Publicación de registros de Aurora
MySQL en CloudWatch Logs
acerca de cómo habilitar los registros de auditoría de Aurora MySQL, consulte Habilitar la auditoría
avanzada (p. 985).
Note
Tenga en cuenta lo siguiente:
Si usa este método alternativo, debe tener un rol de IAM para obtener acceso a CloudWatch
Logs y establecer el parámetro de nivel de clúster aws_default_logs_role en el ARN para
esta función. Para obtener información acerca de la creación del rol de , consulte Configuración
de roles de IAM para acceder a servicios de AWS (p. 1065). Sin embargo, si tiene el rol
vinculado alservicio AWSServiceRoleForRDS, proporciona acceso a CloudWatch Logs y
anula cualquier función definida por el usuario. Para obtener información acerca de los roles
vinculados al servicio para Amazon RDS, consulte Uso de roles vinculados a servicios de
Amazon Aurora (p. 1921).
• Si no desea exportar logs de auditoría a CloudWatch Logs, asegúrese de que todos
los métodos de exportación de logs de auditoría estén deshabilitados. Estos métodos
son la AWS Management Console, la AWS CLI, la API de RDS y el parámetro
server_audit_logs_upload.
• El procedimiento es ligeramente distinto para los clústeres de Aurora Serverless que el de
los clústeres aprovisionados. Los clústeres de Serverless cargan automáticamente todos
los tipos de registros que habilita a través de los parámetros de configuración. Por lo tanto,
habilita o deshabilita la carga de registros para clústeres de Serverless mediante la activación y
desactivación de diferentes tipos de registros en el grupo de parámetros de clústeres de base
de datos. No modifique la configuración del propio clúster a través de la AWS Management
Console, la AWS CLI o la API de RDS. Para obtener información sobre la habilitación de
registros de MySQL para clústeres de Serverless, consulte Grupos de parámetros de Aurora
Serverless v1 (p. 171).
Consola
Puede publicar registros de Aurora MySQL para clústeres aprovisionados en CloudWatch Logs con la
consola.
1100
Amazon Aurora Guía del usuario de Aurora
Publicación de registros de Aurora
MySQL en CloudWatch Logs
AWS CLI
Puede publicar registros de Aurora MySQL para clústeres aprovisionados con la CLI de AWS. Para ello,
ejecute el comando modify-db-cluster de la AWS CLI con las siguientes opciones:
También puede publicar registros de Aurora MySQL; para ello, ejecute uno de los siguientes comandos de
la AWS CLI:
• create-db-cluster
• restore-db-cluster-from-s3
• restore-db-cluster-from-snapshot
• restore-db-cluster-to-point-in-time
Ejecute uno de estos comandos de la AWS CLI con las siguientes opciones:
Podrían ser necesarias otras opciones en función del comando de la AWS CLI que se ejecute.
Example
El siguiente comando modifica un clúster de base de datos Aurora MySQL existente para publicar archivos
de registro en CloudWatch Logs.
Para Windows:
Example
El siguiente comando crea un clúster de base de datos Aurora MySQL para publicar archivos de registro
en CloudWatch Logs.
1101
Amazon Aurora Guía del usuario de Aurora
Publicación de registros de Aurora
MySQL en CloudWatch Logs
--engine aurora \
--enable-cloudwatch-logs-exports '["error","general","slowquery","audit"]'
Para Windows:
API de RDS
Puede publicar registros de Aurora MySQL para clústeres aprovisionados con la API de RDS. Para ello,
ejecute la operación ModifyDBCluster con las siguientes opciones:
También puede publicar logs de Aurora MySQL con la API de RDS ejecutando una de las siguientes
operaciones de API de RDS:
• CreateDBCluster
• RestoreDBClusterFromS3
• RestoreDBClusterFromSnapshot
• RestoreDBClusterToPointInTime
Podrían ser necesarios otros parámetros en función del comando de la AWS CLI que ejecute.
/aws/rds/cluster/cluster-name/log_type
Por ejemplo, si configura la función de exportación para que incluya el log de consultas lentas para un
clúster de base de datos denominado mydbcluster, los datos de consultas lentas se almacenan en el
grupo de logs /aws/rds/cluster/mydbcluster/slowquery.
Todos los eventos de todas las instancias de base de datos en un clúster de base de datos se envían a un
grupo de logs utilizando flujos de registros distintos. El comportamiento depende de cuál de las siguientes
condiciones se da:
1102
Amazon Aurora Guía del usuario de Aurora
Uso del Machine Learning con Aurora MySQL
Aurora utiliza el grupo de registros existente para exportar los datos de registros para el clúster. Puede
utilizar la configuración automática, como , para crear grupos de logs con periodos de retención de
registros predefinidos, filtros de métricas y acceso de cliente AWS CloudFormation.
• No existe un grupo de registros con el nombre especificado.
Cuando se detecta una entrada de registro coincidente en el archivo de registros de la instancia, Aurora
MySQL crea automáticamente un nuevo grupo de registros en CloudWatch Logs. El grupo de registros
utiliza el período de retención de registros predeterminado de Never Expire (Nunca caduca).
Use la consola de CloudWatch Logs, la AWS CLI o la API de CloudWatch Logs para modificar el periodo
de retención de registros. Para obtener más información sobre cómo cambiar los periodos de retención
de registro en CloudWatch Logs, consulte Cambiar la retención de datos de registro en CloudWatch
Logs.
Use la consola de CloudWatch Logs, la AWS CLI o la API de CloudWatch Logs para buscar información en
los eventos de registro para un clúster de base de datos. Para obtener más información sobre la búsqueda
y el filtrado de datos de registro, consulte Búsqueda y filtrado de datos de registros.
Entre los beneficios del Aurora Machine Learning se incluyen los siguientes:
AWSLos servicios de ML de son servicios administrados que se configuran y se ejecutan en sus propios
entornos de producción. Actualmente, el machine learning de Aurora se integra con Amazon Comprehend
para los análisis de sentimiento y con SageMaker para una amplia variedad de algoritmos de ML.
Para obtener información acerca de cómo utilizar Aurora y Amazon Comprehend de manera conjunta,
consulte Uso de Amazon Comprehend para la detección de opiniones (p. 1113). Para obtener información
general acerca de Amazon Comprehend, consulte Amazon Comprehend.
Para obtener información acerca de cómo utilizar Aurora y SageMaker de manera conjunta, consulte Uso
de SageMaker para ejecutar sus propios modelos de ML (p. 1110). Para obtener información general
acerca de SageMaker, consulte SageMaker.
Temas
• Requisitos previos de Aurora Machine Learning (p. 1104)
• Habilitación del machine learning de Aurora (p. 1104)
• Exportación de datos a Amazon S3 para el entrenamiento de modelos de SageMaker (p. 1110)
1103
Amazon Aurora Guía del usuario de Aurora
Uso del Machine Learning con Aurora MySQL
Para obtener más información acerca de las regiones y la disponibilidad de la versión Aurora, consulte
Machine Learning de Aurora (p. 24).
• Habilite el clúster de Aurora para acceder a los servicios de Amazon Machine Learning, SageMaker o
Amazon Comprehend, en función de los tipos de algoritmos de ML que desee para la aplicación.
• En SageMaker, utilice la instrucción CREATE FUNCTION de Aurora para configurar las funciones
almacenadas que acceden a las características de inferencia.
Note
Machine Learning de Aurora incluye funciones integradas que llaman a Amazon Comprehend
para los análisis de opiniones. No tiene que ejecutar ninguna instrucción CREATE FUNCTION si
solo utiliza Amazon Comprehend.
Temas
• Configuración del acceso de IAM a Amazon Comprehend y SageMaker (p. 1104)
• Concesión de privilegios de SQL para invocar servicios de machine learning de Aurora (p. 1109)
• Habilitación de la comunicación de red de Aurora MySQL con otros servicios de AWS (p. 1109)
Si se utiliza la AWS Management Console, AWS realiza la configuración de IAM automáticamente. Puede
omitir la siguiente información y seguir el procedimiento descrito en Conexión de un clúster de base de
datos de Aurora a Amazon S3, SageMaker o Amazon Comprehend mediante la consola (p. 1105).
La configuración de los roles de IAM para SageMaker o Amazon Comprehend mediante la AWS CLI o la
API de RDS consta de los siguientes pasos:
1. Cree una política de IAM para especificar los puntos de enlace de SageMaker que el clúster Aurora
MySQL puede invocar o permitir el acceso a Amazon Comprehend.
1104
Amazon Aurora Guía del usuario de Aurora
Uso del Machine Learning con Aurora MySQL
2. Cree un rol de IAM para permitir que el clúster de base de datos de Aurora MySQL acceda a los
servicios de ML de AWS. La política de IAM creada anteriormente se adjunta al rol de IAM.
3. Para permitir que el clúster de base de datos de Aurora MySQL acceda a los servicios de ML de AWS,
asocie el rol de IAM que haya creado anteriormente al clúster de base de datos.
4. Para permitir que las aplicaciones de base de datos invoquen los servicios de ML de AWS, debe
conceder también privilegios a usuarios concretos de las bases de datos. En SageMaker, debido a
que las llamadas a los puntos de enlace se integran en una función almacenada, conceda también
privilegios EXECUTE en las funciones almacenadas a cualquier usuario de las bases de datos que
llamen a los puntos de enlace.
Para obtener información general acerca del procedimiento para permitir que un clúster de base de datos
de Aurora MySQL acceda a otros servicios de AWS en su nombre, consulte Autorización a Amazon Aurora
MySQL a acceder a otros servicios de AWS en su nombre (p. 1065).
El Machine Learning de Aurora requiere que el clúster de base de datos utilice una combinación de
Amazon S3, SageMaker y Amazon Comprehend. Amazon Comprehend realiza análisis de sentimiento.
SageMaker se utiliza para una amplia variedad de algoritmos de Machine Learning. En el machine
learning de Aurora, Amazon S3 se utiliza únicamente para entrenar modelos de SageMaker. Solo tiene
que utilizar Amazon S3 con Machine Learning de Aurora si no dispone aún de un modelo entrenado y el
entrenamiento es su responsabilidad. Para conectar un clúster de base de datos a estos servicios, ha de
configurar un rol de AWS Identity and Access Management (IAM) en cada servicio de Amazon. El rol de
IAM permite a los usuarios del clúster de base de datos autenticarse con el servicio correspondiente.
Para generar los roles de IAM en Amazon S3, SageMaker o Amazon Comprehend, repita los siguientes
pasos en cada servicio que necesite.
• Amazon S3
• Amazon Comprehend
• SageMaker
5. Elija Connect service (Conectar servicio).
6. Introduzca la información que se le pida del servicio específico en la ventana Connect cluster
(Conectar clúster):
1105
Amazon Aurora Guía del usuario de Aurora
Uso del Machine Learning con Aurora MySQL
Para obtener más información acerca del ARN de un bucket de Amazon S3, consulte Specifying
resources in a policy (Especificación de recursos en una política) en la Guía del usuario de Amazon
Simple Storage Service. Para obtener más información acerca del uso de un bucket de Amazon
S3 con SageMaker, consulte Paso 1: Crear un bucket de Amazon S3 de Amazon en la Guía para
desarrolladores de Amazon SageMaker.
7. Elija Connect service (Conectar servicio).
8. Aurora crea un nuevo rol de IAM y lo añade a la lista de Current IAM roles for this cluster (Roles de
IAM actuales para este clúster) del clúster de base de datos. Inicialmente, el estado del rol de IAM es
In progress (En curso). El nombre del rol de IAM se genera automáticamente con el siguiente patrón
en cada servicio conectado:
Aurora también crea una nueva política de IAM y la adjunta al rol. El nombre de la política sigue una
convención de nomenclatura similar y también cuenta con una marca temporal.
Creación de una política de IAM para acceder a SageMaker (solo AWS CLI)
Note
Si utiliza la AWS Management Console, Aurora crea la política de IAM automáticamente. En dicho
caso, puede saltarse esta sección.
La política siguiente añade los permisos que requiere Aurora MySQL para invocar una función de
SageMaker en su nombre. Puede especificar todos los puntos de enlace de SageMaker que necesite para
que las aplicaciones de bases de datos accedan desde el clúster Aurora MySQL en una única política. La
política permite especificar la región de AWS para un punto de enlace de SageMaker. Sin embargo, un
clúster de Aurora MySQL solo puede invocar modelos de SageMaker implementados en la misma región
de AWS que el clúster.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAuroraToInvokeRCFEndPoint",
"Effect": "Allow",
"Action": "sagemaker:InvokeEndpoint",
"Resource": "arn:aws:sagemaker:region:123456789012:endpoint/endpointName"
}
]
}
1106
Amazon Aurora Guía del usuario de Aurora
Uso del Machine Learning con Aurora MySQL
Creación de una política de IAM para acceder a Amazon Comprehend (solo AWS CLI)
Note
Si utiliza la AWS Management Console, Aurora crea la política de IAM automáticamente. En dicho
caso, puede saltarse esta sección.
La política siguiente agrega los permisos que requiere Aurora MySQL para invocar Amazon Comprehend
en su nombre.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAuroraToInvokeComprehendDetectSentiment",
"Effect": "Allow",
"Action": [
"comprehend:DetectSentiment",
"comprehend:BatchDetectSentiment"
],
"Resource": "*"
}
]
}
Para crear una política de IAM para conceder acceso a Amazon Comprehend
1107
Amazon Aurora Guía del usuario de Aurora
Uso del Machine Learning con Aurora MySQL
las políticas anteriores al rol, siga los pasos descritos en Creación de un rol de IAM que permita a
Amazon Aurora acceder a los servicios de AWS (p. 1071). Para obtener más información acerca de los
roles de IAM, consulte Roles de IAM en la Guía del usuario de AWS Identity and Access Management.
Solo puede utilizar un rol de IAM global para la autenticación. No puede utilizar un rol de IAM asociado
con un usuario de una base de datos o una sesión. Este requisito es el mismo que para la integración de
Aurora con los servicios de Lambda y Amazon S3.
Asociación de un rol de IAM con un clúster de base de datos de Aurora MySQL (solo AWS CLI)
Note
Si utiliza la AWS Management Console, Aurora crea la política de IAM automáticamente. En dicho
caso, puede saltarse esta sección.
El último paso es asociar el rol de IAM con la política de IAM adjunta con el clúster de base de datos
Aurora MySQL. Para asociar un rol de IAM con un clúster de base de datos de Aurora, es necesario hacer
dos cosas:
1. Agregar el rol a la lista de roles asociados del clúster de base de datos con la AWS Management
Console, el comando add-role-to-db-cluster de la AWS CLI o la operación AddRoleToDBCluster de la
API de RDS.
2. Establezca el parámetro de nivel de clúster para el servicio de ML de AWS relacionado en el ARN para
el rol de IAM asociado. Utilice aws_default_sagemaker_role, aws_default_comprehend_role
o ambos parámetros en función de los servicios de ML de AWS que tenga previsto utilizar con el clúster
de Aurora.
Los parámetros de nivel de clúster se agrupan en los grupos de parámetros de clúster de base de
datos. Para establecer los parámetros de clúster anteriores, utilice un grupo de clúster de base de datos
personalizado o cree uno nuevo. Para crear un nuevo grupo de parámetros de clúster de base de datos,
ejecute el comando create-db-cluster-parameter-group desde la AWS CLI, como se muestra a
continuación.
Configure el parámetro o parámetros adecuados a nivel de clúster y los valores de ARN de rol de IAM
correspondientes dentro del grupo de parámetros de clúster de base de datos, como se muestra a
continuación.
Modifique el clúster de base de datos de forma que use el nuevo grupo de parámetros de clúster de base
de datos. A continuación, reinicie el clúster. El siguiente ejemplo muestra cómo.
1108
Amazon Aurora Guía del usuario de Aurora
Uso del Machine Learning con Aurora MySQL
Una vez reiniciada la instancia, los roles de IAM están asociados al clúster de base de datos.
Al usuario de una base de datos que invoca una función nativa se le debe conceder el rol o privilegio
correspondiente. En Aurora MySQL versión 3, usted otorga el rol de AWS_SAGEMAKER_ACCESS o de
AWS_COMPREHEND_ACCESS. En Aurora MySQL versión 1 o 2, usted otorga el privilegio de INVOKE
SAGEMAKER o INVOKE COMPREHEND. Para conceder este privilegio a un usuario, conéctese a la instancia
de base de datos como usuario administrativo y ejecute las siguientes instrucciones. Sustituya los datos
correspondientes del usuario de la base de datos.
Tip
Cuando utiliza la técnica de rol en Aurora MySQL versión 3, también activa el rol mediante la
instrucción SET ROLE role_name o SET ROLE ALL. Si no está familiarizado con el sistema
de roles MySQL 8.0, puede obtener más información en Modelo de privilegios basado en
roles (p. 813). También puede encontrar más información en Uso de roles en el Manual de
referencia de MySQL.
En SageMaker, las funciones definidas por el usuario definen los parámetros que se enviarán al modelo
para generar la inferencia y configurar el nombre del punto de enlace que se invocará. Conceda el permiso
EXECUTE a las funciones almacenadas configuradas en SageMaker para cada uno de los usuarios de la
base de datos que prevean invocar el punto de enlace.
1109
Amazon Aurora Guía del usuario de Aurora
Uso del Machine Learning con Aurora MySQL
Puede utilizar los puntos de enlace de la VPC para conectarse a Amazon S3. AWS No se puede utilizar
PrivateLink para conectar Aurora a los servicios de Machine Learning de AWS ni a Amazon S3 en este
momento.
Para entrenar modelos de SageMaker, exporte los datos a un bucket de Amazon S3. Las instancias de
bloc de notas de SageMaker de Jupyter utilizan el bucket de Amazon S3 para entrenar el modelo antes de
que se implemente. La instrucción SELECT INTO OUTFILE S3 permite consultar datos de un clúster de
base de datos Aurora MySQL y guardarlos directamente en archivos de texto almacenados en un bucket
de Amazon S3. A continuación, la instancia de bloc de notas consume los datos del bucket de Amazon S3
para el entrenamiento.
El machine learning de Aurora amplía la sintaxis de SELECT INTO OUTFILE existente en Aurora MySQL
para exportar los datos a formato CSV. Los modelos que necesitan este formato para el entrenamiento
pueden consumir directamente el archivo CSV generado.
• El formato TEXT es el mismo que el formato de exportación de MySQL existente. Este es el formato
predeterminado.
• El formato CSV es un formato introducido recientemente que sigue la especificación de RFC-4180.
• Si especifique la palabra clave opcional HEADER, el archivo de salida contiene una línea de encabezado.
Las etiquetas de la línea de encabezado se corresponden con los nombres de las columnas de la
instrucción SELECT.
• Puede seguir utilizando las palabras claves CSV y HEADER como identificadores.
1110
Amazon Aurora Guía del usuario de Aurora
Uso del Machine Learning con Aurora MySQL
de Machine Learning comunes optimizados para ejecutarse de manera eficiente en conjuntos de datos
extremadamente grandes en un entorno distribuido. Con compatibilidad original para marcos y algoritmos
propios, SageMaker ofrece opciones de entrenamiento distribuido flexibles que se ajustan a sus flujos de
trabajo específicos.
Actualmente, el machine learning de Aurora admite los puntos de conexión de SageMaker que puedan
leer y escribir el formato de valores separados por comas, a través de un ContentType de text/csv.
Los algoritmos de SageMaker integrados que actualmente aceptan este formato son Bosque de corte
aleatorio , Aprendiz lineal, 1P, XGBoost y 3P. Si los algoritmos devuelven varias salidas por elemento, la
función de machine learning de Aurora devuelve solo el primer elemento. Se prevé que el primer elemento
sea un resultado representativo.
El Machine Learning de Aurora siempre invoca los puntos de enlace de SageMaker presentes en la misma
región de AWS que el clúster de Aurora. Por lo tanto, en un clúster de Aurora presente en una única
región, implemente siempre el modelo en la misma región de AWS que el clúster de Aurora MySQL.
Si utiliza una base de datos global de Aurora, configure la misma integración en los servicios de cada
región de AWS que forme parte de la base de datos global. En particular, asegúrese de que se cumplan
las siguientes condiciones en todas las regiones de AWS de la base de datos global:
• Configure los roles de IAM correspondientes para acceder a servicios externos como SageMaker,
Amazon Comprehend o Lambda en el clúster de base de datos global de cada región de AWS.
• Asegúrese de que todas las regiones de AWS tengan implementados los mismos modelos de
SageMaker entrenados con los mismos nombres de los puntos de enlace. Hágalo antes de ejecutar
la sentencia CREATE FUNCTION para la función de machine learning de Aurora de la región de AWS
principal. En una base de datos global, todas las instrucciones de CREATE FUNCTION que ejecuta en la
región de AWS principal se ejecutan de inmediato también en todas las regiones secundarias.
Para utilizar los modelos implementados en SageMaker para la inferencia, cree funciones definidas por el
usuario mediante las instrucciones en lenguaje de definición de datos (DDL) de MySQL conocidas para
las funciones almacenadas. Cada función almacenada representa el punto de enlace de SageMaker que
aloja el modelo. Al definir una función así, especifique los paramentos de entrada en el modelo, el punto
de enlace de SageMaker específico que desee invocar y el tipo de valor devuelto. La función devuelve la
inferencia calculada por el punto de enlace de SageMaker después de aplicar el modelo a los parámetros
de entrada. Todas las funciones almacenadas de machine learning de Aurora devuelven tipos numéricos
o VARCHAR. Puede utilizar cualquier tipo numérico excepto BIT. No se permiten otros tipos, como JSON,
BLOB, TEXT y DATE. Utilice parámetros de entrada del modelo que sean los mismos que los parámetros de
entrada que haya exportado a Amazon S3 para el entrenamiento del modelo.
CREATE FUNCTION function_name (arg1 type1, arg2 type2, ...) -- variable number of arguments
[DEFINER = user] -- same as existing MySQL
CREATE FUNCTION
RETURNS mysql_type -- For example, INTEGER, REAL, ...
[SQL SECURITY { DEFINER | INVOKER } ] -- same as existing MySQL
CREATE FUNCTION
ALIAS AWS_SAGEMAKER_INVOKE_ENDPOINT -- ALIAS replaces the stored function body. Only
AWS_SAGEMAKER_INVOKE_ENDPOINT is supported for now.
ENDPOINT NAME 'endpoint_name'
[MAX_BATCH_SIZE max_batch_size]; -- default is 10,000
Esta es una variación de la instrucción DDL CREATE FUNCTION existente. En la instrucción CREATE
FUNCTION que define la función de SageMaker, no se especifica el cuerpo de la función. En cambio, se
especifica la nueva palabra clave ALIAS donde normalmente va el cuerpo de la función. Actualmente, el
machine learning de Aurora solo admite aws_sagemaker_invoke_endpoint en esta sintaxis ampliada.
Debe especificar el parámetro endpoint_name. El parámetro opcional max_batch_size restringe el
número máximo de entradas procesadas en una solicitud por lotes real a SageMaker. Un punto de enlace
de SageMaker puede tener diferentes características en cada modelo. El parámetro max_batch_size
puede ayudar a evitar un error provocado por entradas demasiado grandes o a hacer que SageMaker
1111
Amazon Aurora Guía del usuario de Aurora
Uso del Machine Learning con Aurora MySQL
devuelva una respuesta más rápidamente. El parámetro max_batch_size afecta al tamaño de un búfer
interno utilizado para el procesamiento de solicitudes de ML. Especificar un valor demasiado grande en
max_batch_size podría provocar una sobrecarga significativa de la memoria en la instancia de base de
datos.
Recomendamos dejar la opción MANIFEST en su valor predeterminado de OFF. Aunque puede utilizar
la opción MANIFEST ON, algunas características de SageMaker no pueden utilizar directamente el CSV
exportado con esta opción. El formato del manifiesto no es compatible con el formato esperado del
manifiesto en SageMaker.
Puede crear una función almacenada independiente para cada uno de sus modelos de SageMaker. Esta
asignación de funciones a los modelos es obligatoria, porque un punto de enlace se asocia con un modelo
específico y cada modelo acepta diferentes parámetros. El uso de tipos de SQL para las entradas del
modelo y el tipo de salida del modelo ayuda a evitar errores de conversión de tipos que transfieren datos
de manera bidireccional entre los servicios de AWS. Puede controlar quién puede aplicar el modelo.
También puede controlar las características de tiempo de ejecución especificando un parámetro que
represente el tamaño máximo del lote.
Actualmente, todas las funciones de machine learning de Aurora cuentan con la propiedad NOT
DETERMINISTIC. Si no especifica dicha propiedad de manera explícita, Aurora establece NOT
DETERMINISTIC automáticamente. Este requisito se debe a que el modelo de ML se puede modificar
sin ninguna notificación dirigida a la base de datos. Si esto ocurre, las llamadas a una función de machine
learning de Aurora podrían devolver resultados distintos para la misma entrada en una única transacción.
No puede utilizar las características CONTAINS SQL, NO SQL, READS SQL DATA o MODIFIES SQL
DATA en la instrucción CREATE FUNCTION.
A continuación, se muestra un ejemplo del uso de la invocación de un punto de enlace de SageMaker para
detectar anomalías. Hay un punto de enlace de SageMaker random-cut-forest-model. El algoritmo
random-cut-forest ya ha entrenado el modelo correspondiente. En cada entrada, el modelo devuelve
el origen de una anomalía. En este ejemplo, se muestran los puntos de datos cuya puntuación es superior
a 3 desviaciones estándar (aproximadamente el percentil 99,9) con respecto de la puntuación media.
Actualmente, todas las funciones de SageMaker que devuelven una cadena utilizan el conjunto de
caracteres utf8mb4 en el valor devuelto. El valor devuelto utiliza este conjunto de caracteres aunque
la función de ML declare implícita o explícitamente un conjunto de caracteres diferente para su tipo
de valor devuelto. Si la función de ML declara otro conjunto de caracteres para el valor devuelto, los
datos devueltos podrían truncarse silenciosamente si los almacena en la columna de una tabla que no
sea lo suficientemente grande. Por ejemplo, una consulta con una cláusula DISTINCT crea una tabla
1112
Amazon Aurora Guía del usuario de Aurora
Uso del Machine Learning con Aurora MySQL
temporal. Así, el resultado de la función de ML se podría truncar debido a la manera en que las cadenas se
gestionan internamente durante una consulta.
También puede combinar análisis de opiniones con análisis de otro tipo de información de la base de datos
mediante una única consulta. Por ejemplo, puede detectar el promedio de la opinión de los documentos del
centro de llamadas en relación con problemas que combinen las siguientes opciones:
El uso de Amazon Comprehend desde el machine learning de Aurora es tan fácil como llamar a una
función de SQL. El Machine Learning de Aurora ofrece dos funciones integradas de Amazon Comprehend,
aws_comprehend_detect_sentiment() y aws_comprehend_detect_sentiment_confidence()
para realizar análisis de sentimiento a través de Amazon Comprehend. En cada fragmento de texto que
analice, estas funciones le ayudan a determinar la opinión y el nivel de confianza.
Para obtener información acerca de los parámetros y los tipos de valores devueltos en las funciones de
detección de opiniones de Amazon Comprehend, consulte DetectSentiment.
Una consulta de Amazon Comprehend típica busca filas en las que la opinión sea un valor determinado,
con un nivel de confianza superior a un número determinado. Por ejemplo, la siguiente consulta muestra
cómo puede determinar el promedio de la opinión de los documentos de la base de datos. La consulta
tiene en cuenta solo los documentos en los que la confianza de la evaluación sea al menos del 80 %.
1113
Amazon Aurora Guía del usuario de Aurora
Uso del Machine Learning con Aurora MySQL
Note
Amazon Comprehend solo está disponible actualmente en algunas regiones de AWS. Para
verificar en qué regiones de AWS puede utilizar Amazon Comprehend, consulte la página de la
tabla de regiones de AWS.
Caché de consultas
La caché de consulta de Aurora MySQL no funciona para las funciones de ML. Aurora MySQL no
almacena los resultados de las consultas en la caché de consultas para las sentencias SQL que llaman a
las funciones de ML.
Al crear una función almacenada de Aurora conectada a un punto de enlace de SageMaker, se define
el parámetro de tamaño del lote. Este parámetro influye en el número de filas que se transfieren en
cada llamada subyacente a SageMaker. En las consultas que procesan un número elevado de filas, la
sobrecarga para realizar una llamada de SageMaker independiente en cada fila puede ser significativa.
Cuanto más grande sea el conjunto de datos procesado por el procedimiento almacenado, mayor puede
ser el tamaño del lote.
Puede comprobar si se puede aplicar la optimización del modo de lote a una función de SageMaker
consultando el plan de consulta generado por la instrucción EXPLAIN PLAN. En este caso, la columna
extra del plan de ejecución incluye Batched machine learning. En el siguiente ejemplo, se muestra
una llamada a una función de SageMaker que utiliza el modo de lote.
1114
Amazon Aurora Guía del usuario de Aurora
Uso del Machine Learning con Aurora MySQL
+----+-------------+----------+------------+------+---------------+------+---------+------
+------+----------+--------------------------+
| 1 | SIMPLE | nyc_taxi | NULL | ALL | NULL | NULL | NULL | NULL |
48 | 100.00 | Batched machine learning |
+----+-------------+----------+------------+------+---------------+------+---------+------
+------+----------+--------------------------+
1 row in set, 1 warning (0.01 sec)
Al llamar a una de las funciones de Amazon Comprehend integradas, puede controlar el tamaño del lote
especificando el parámetro max_batch_size opcional. Este parámetro restringe el número máximo
de valores input_text procesados en cada lote. El envío de varios elementos a la vez reduce el
número de recorridos de ida y vuelta entre Aurora y Amazon Comprehend. Resulta útil limitar el tamaño
del lote en situaciones como una consulta con una cláusula LIMIT. Al utilizar un valor pequeño para
max_batch_size, puede evitar invocar Amazon Comprehend más veces que los textos de entrada que
tenga.
La optimización de lotes para la evaluación de funciones de machine learning de Aurora se aplica en los
siguientes casos:
• Las llamadas a funciones presentes en la lista SELECT o la cláusula WHERE de instrucciones SELECT.
Existen algunas excepciones, que se describen a continuación.
• Las llamadas a funciones presentes en la lista VALUES de instrucciones INSERT y REPLACE.
• Las funciones de ML en valores SET de instrucciones UPDATE.
Puede restablecer estas variables de estado utilizando una instrucción FLUSH STATUS. Así, todas las
cifras representan los valores totales, los promedios, etc., desde la última vez que se restableció la
variable.
Aurora_ml_logical_response_cnt
El recuento acumulado de respuestas que recibe Aurora MySQL de los servicios de ML en todas las
consultas ejecutadas por usuarios de la instancia de base de datos.
Aurora_ml_actual_request_cnt
El número acumulado de solicitudes que Aurora MySQL recibe de los servicios de ML en todas las
consultas ejecutadas por usuarios de la instancia de base de datos.
Aurora_ml_actual_response_cnt
El recuento acumulado de respuestas que recibe Aurora MySQL de los servicios de ML en todas las
consultas ejecutadas por usuarios de la instancia de base de datos.
Aurora_ml_cache_hit_cnt
El número acumulado de aciertos de la caché interna que Aurora MySQL recibe de los servicios de ML
en todas las consultas ejecutadas por usuarios de la instancia de base de datos.
1115
Amazon Aurora Guía del usuario de Aurora
Modo lab de Aurora MySQL
Aurora_ml_single_request_cnt
El número acumulado de funciones de ML evaluadas por un modo distinto al modo de lote en todas
las consultas ejecutadas por usuarios de la instancia de base de datos.
Para obtener información acerca del monitoreo del rendimiento de las operaciones de SageMaker
llamadas desde las funciones del machine learning de Aurora, consulte Monitoreo de Amazon SageMaker.
No puede utilizar una función de Machine Learning de Aurora para una columna generated-always. La
misma limitación se aplica a cualquier función almacenada en Aurora MySQL. Las funciones no son
compatibles con este formato de registro binario (binlog). Para obtener información sobre las columnas
generadas, consulte la documentación de MySQL.
Característica Descripción
1116
Amazon Aurora Guía del usuario de Aurora
Prácticas recomendadas con Amazon Aurora MySQL
Característica Descripción
los análisis de rangos de índices mediante el
procesamiento por lotes.
Contenido
• Determinar a qué instancia de base de datos está conectado (p. 1118)
• Prácticas recomendadas de utilización de los recursos de AWS con Aurora MySQL (p. 1118)
• Utilización de clases de instancia T para el desarrollo y la prueba (p. 1118)
• Invocación de funciones de AWS Lambda mediante funciones nativas (p. 1120)
• Prácticas recomendadas de escalado y rendimiento de Aurora MySQL (p. 1120)
• Optimización de las consultas de combinación indexadas de Amazon Aurora con la captura
previa de claves asíncronas (p. 1120)
• Habilitación de la captura previa de clave asíncrona (p. 1121)
• Optimización de consultas para la captura previa de clave asíncrona (p. 1121)
• Optimización de grandes consultas combinadas de Aurora MySQL con combinaciones
hash (p. 1123)
1117
Amazon Aurora Guía del usuario de Aurora
Determinar a qué instancia de base de datos está conectado
Este método puede resultar útil si se desea añadir lógica al código de la aplicación para equilibrar la carga
de trabajo o para garantizar que una operación de escritura utilice la conexión correcta. Esta técnica
solo se aplica a clústeres de Aurora que utilizan un modelo de replicación maestro único. Para clústeres
multimaestro, todas las instancias de bases de datos tienen la configuración innodb_read_only=OFF.
Temas
• Utilización de clases de instancia T para el desarrollo y la prueba (p. 1118)
• Invocación de funciones de AWS Lambda mediante funciones nativas (p. 1120)
1118
Amazon Aurora Guía del usuario de Aurora
Prácticas recomendadas de utilización de
los recursos de AWS con Aurora MySQL
desarrollo y de pruebas, o para otros servidores que no se utilicen para la producción. Para obtener más
detalles sobre las clases de instancia T, consulte Instancias de rendimiento ampliable.
Si el clúster de Aurora tiene más de 40 TB, no utilice las clases de instancia T. Cuando la base de datos
tiene un gran volumen de datos, la sobrecarga de memoria para administrar objetos de esquema puede
exceder la capacidad de la instancia T.
Cuando utilice una instancia T como una instancia de base de datos en un clúster de base de datos de
Aurora MySQL, recomendamos lo siguiente:
• Si utiliza una instancia T como clase de instancia de base de datos en su clúster de base de datos,
utilice la misma clase de instancia de base de datos para todas las instancias de su clúster de base de
datos. Por ejemplo, si utiliza db.t2.medium para su instancia de escritor, le recomendamos que utilice
db.t2.medium también para las instancias de lector.
• No ajuste ninguna configuración relacionada con la memoria, como, por ejemplo,
innodb_buffer_pool_size. Aurora utiliza un conjunto de valores predeterminados muy ajustados
para búferes de memoria en las instancias T. Estos valores predeterminados especiales son necesarios
para que Aurora se pueda ejecutar en instancias con restricción de memoria. Si cambia cualquier
configuración relacionada con la memoria en una instancia T, es mucho más probable que encuentre
condiciones de falta de memoria, incluso si el cambio está destinado a aumentar el tamaño del búfer.
• Monitorice el saldo de crédito de su CPU (CPUCreditBalance) para asegurarse de que está en un
nivel sostenible. Es decir, que los créditos de la CPU se están acumulando a la misma velocidad a la que
se usan.
Cuando se agotan los créditos de CPU correspondientes a una instancia, se percibe una disminución
inmediata en la CPU disponible y un incremento en la latencia de lectura y escritura de la instancia. Esta
situación provoca una grave reducción del desempeño general de la instancia.
Para obtener más información acerca de las métricas de monitorización, consulte Monitoreo de métricas
de Amazon Aurora con Amazon CloudWatch (p. 618).
• Para los clústeres de base de datos de Aurora MySQL que utilizan la replicación de maestro único,
monitorice el retardo de la réplica (AuroraReplicaLag) entre la instancia de escritor y las instancias de
lector.
Si una instancia de lector se queda sin créditos de CPU antes de la instancia de escritor, el retraso
resultante puede provocar que la instancia de lector se reinicie con frecuencia. Este resultado es habitual
cuando una aplicación mantiene una carga elevada de operaciones de lectura distribuidas entre las
instancias de lector al mismo tiempo que la instancia de escritor tiene una carga mínima de operaciones
de escritura.
Si ve un aumento sostenido del retardo de las réplicas, asegúrese de que no se está agotando el saldo
de crédito de la CPU para las instancias de lector en su clúster de base de datos.
1119
Amazon Aurora Guía del usuario de Aurora
Prácticas recomendadas de escalado
y rendimiento de Aurora MySQL
memoria si recibe transacciones que contengan más de 1 millón de filas para insertar. Puede monitorizar
la métrica de la memoria que se puede liberar (FreeableMemory) para determinar si su clúster de base
de datos se está quedando sin memoria. Luego puede comprobar la métrica de operaciones de escritura
(VolumeWriteIOPS) para ver si la instancia de escritura recibe una carga pesada de operaciones
de escritura. En ese caso, es recomendable que actualice su aplicación para limitar el número de
inserciones de una transacción a menos de 1 millón o que modifique la instancia para que utilice una de
las clases de instancia de base de datos R compatibles (escalado del cálculo).
Para obtener más información acerca de la invocación de funciones de Lambda desde Amazon Aurora,
consulte Invocación de una función de Lambda desde un clúster de base de datos de Amazon Aurora
MySQL (p. 1093).
Temas
• Optimización de las consultas de combinación indexadas de Amazon Aurora con la captura previa de
claves asíncronas (p. 1120)
• Optimización de grandes consultas combinadas de Aurora MySQL con combinaciones hash (p. 1123)
• Uso de Amazon Aurora para escalar las lecturas de una base de datos de MySQL (p. 1125)
La característica de captura previa de clave asíncrona (AKP) está disponible para la versión 1.15
de Amazon Aurora MySQL y versiones posteriores. Para obtener más información acerca de las
versiones de Aurora MySQL, consulte Actualizaciones del motor de base de datos de Amazon
Aurora MySQL (p. 1170).
Amazon Aurora puede usar la AKP para mejorar el desempeño de las consultas que unen las tablas a
través de los índices. Esta característica mejora el desempeño al prever las filas necesarias para ejecutar
consultas en las que una consulta JOIN requiere el uso del algoritmo de combinación Batched Key Access
(BKA) y las características de optimización Multi-Range Read (MRR). Para obtener más información
acerca de BKA y MRR, consulte Block Nested-Loop and Batched Key Access Joins y Multi-Range Read
Optimization en la documentación de MySQL.
1120
Amazon Aurora Guía del usuario de Aurora
Prácticas recomendadas de escalado
y rendimiento de Aurora MySQL
Para sacar máximo partido de la característica AKP, una consulta debe utilizar BKA y MRR. Por lo general,
dicho tipo de consulta se produce cuando la cláusula JOIN de una consulta utiliza un índice secundario,
pero requiere también algunas columnas del índice primario. Por ejemplo, puede usar la AKP cuando una
cláusula JOIN represente a un equijoin en los valores de índice entre una tabla exterior pequeña y una
interior grande, y el índice sea sumamente selectivo en la tabla grande. AKP trabaja conjuntamente con
BKA y MRR para llevar a cabo una búsqueda del índice secundario al primario durante la evaluación de
la cláusula JOIN. AKP identifica las filas necesarias para ejecutar la consulta durante la evaluación de la
cláusula JOIN. Seguidamente, utiliza un subproceso en segundo plano para cargar de manera asíncrona
las páginas que contienen dichas filas en la memoria antes de ejecutar la consulta.
• Establezca batched_key_access en on. Este valor controla el uso del algoritmo de combinación BKA.
De forma predeterminada, este valor se establece en off.
• Establezca mrr_cost_based en off. Este valor controla el uso de la característica MRR basada en el
costo. De forma predeterminada, este valor se establece en on.
En la actualidad, puede configurar estos valores únicamente en el nivel de sesión. El siguiente ejemplo
ilustra cómo configurar estos valores a fin de habilitar AKP para la sesión actual ejecutando las
instrucciones SET.
Del mismo modo, puede usar las instrucciones SET para deshabilitar AKP y el algoritmo de combinación
BKA, y volver a habilitar la característica MRR basada en el costo para la sesión actual, como se muestra
en el ejemplo siguiente.
Para obtener más información acerca de los cambios del optimizador batched_key_access y
mrr_cost_based, consulte Switchable Optimizations en la documentación de MySQL.
1121
Amazon Aurora Guía del usuario de Aurora
Prácticas recomendadas de escalado
y rendimiento de Aurora MySQL
En el siguiente ejemplo se muestra el uso de EXPLAIN con EXTENDED para ver el plan de ejecución de
una consulta que puede beneficiarse de AKP.
1122
Amazon Aurora Guía del usuario de Aurora
Prácticas recomendadas de escalado
y rendimiento de Aurora MySQL
Para obtener más información acerca del formato de salida ampliado EXPLAIN, consulte Extended
EXPLAIN Output Format en la documentación de productos de MySQL.
Una columna de combinación hash puede ser cualquier expresión compleja. En una columna de
combinación hash puede realizar comparaciones entre distintos tipos de datos de las formas siguientes:
• Puede comparar cualquier cosa en la categoría de tipos de datos numéricos precisos, como int,
bigint, numeric y bit.
• Puede comparar cualquier cosa en la categoría de tipos de datos numéricos aproximados, como float
y double.
• Puede comparar elementos en distintos tipos de cadena que tengan el mismo conjunto de caracteres y
la misma intercalación.
• Puede comparar elementos con tipos de datos de marca de fecha y hora si los tipos son los mismos.
Note
1123
Amazon Aurora Guía del usuario de Aurora
Prácticas recomendadas de escalado
y rendimiento de Aurora MySQL
Con esta configuración, el optimizador elige usar una combinación hash basada en el costo,
las características de la consulta y la disponibilidad de los recursos. Si la estimación del costo
es incorrecta, puede forzar al optimizador a elegir una combinación hash. Para ello, establezca
hash_join_cost_based, una variable de MySQL Server, en off. En el siguiente ejemplo se ilustra
cómo forzar al optimizador a elegir una combinación hash.
Note
Para Aurora MySQL, versión 3, se admite la combinación hash en todas las versiones
secundarias y se activa de forma predeterminada.
Para Aurora MySQL versión 2, se admite la combinación hash en la versión 2.06 y posterior. En
Aurora MySQL versión 2, la característica de combinación hash siempre está controlada por el
valor optimizer_switch.
Antes de Aurora MySQL versión 1.22, la forma de habilitar combinaciones hash en Aurora
MySQL versión 1 es habilitando la configuración de nivel de sesión aurora_lab_mode. En esas
versiones de Aurora MySQL, la configuración de optimizer_switch para combinaciones hash
está habilitada de forma predeterminada y solo necesita habilitar aurora_lab_mode.
• Using where; Using join buffer (Hash Join Outer table table1_name)
• Using where; Using join buffer (Hash Join Inner table table2_name)
En el siguiente ejemplo se muestra el uso de EXPLAIN para ver el plan de ejecución de una consulta hash
join (con combinación hash).
1124
Amazon Aurora Guía del usuario de Aurora
Prácticas recomendadas para obtener una
elevada disponibilidad de Aurora MySQL
En la salida, la Hash Join Inner table es la tabla utilizada para crear la tabla hash y la Hash Join
Outer table es la tabla usada para sondear la tabla hash.
Para obtener más información acerca del formato de salida ampliado EXPLAIN, consulte Extended
EXPLAIN Output Format en la documentación de productos de MySQL.
En Aurora MySQL 2.08 y versiones posteriores, puede usar sugerencias SQL para influir en si una
consulta usa combinación hash o no, y las tablas que usar para los lados de compilación y sondeo de la
combinación. Para obtener más información, consulte Consejos de Aurora MySQL (p. 1161).
Temas
• Uso de Amazon Aurora para la recuperación de desastres con sus bases de datos de
MySQL (p. 1125)
• Migración de MySQL a Amazon Aurora MySQL con un tiempo de inactividad reducido (p. 1126)
Cuando configure la replicación entre una instancia de base de datos MySQL y un clúster de base
de datos Amazon Aurora MySQL, debe monitorizar la replicación para asegurarse de que sigue
estando en un estado correcto y repararla si es necesario.
Para obtener instrucciones acerca de cómo crear un clúster de base de datos de Amazon Aurora
MySQL y convertirlo en una réplica de lectura de su instancia de base de datos de MySQL, siga el
procedimiento que se describe en Uso de Amazon Aurora para escalar las lecturas de una base de datos
de MySQL (p. 1125).
1125
Amazon Aurora Guía del usuario de Aurora
Mejores prácticas para limitar ciertas
funciones de MySQL con Aurora MySQL
El procedimiento muestra los pasos necesarios para transferir una copia de los datos de la base de datos
a una instancia de Amazon EC2 e importar los datos en una nueva instancia de base de datos de RDS
for MySQL. Dado que Amazon Aurora es compatible con MySQL, puede usar un clúster de base de datos
Amazon Aurora para la instancia de base de datos MySQL en Amazon RDS de destino.
Temas
• Uso de la replicación de múltiples subprocesos en Aurora MySQL versión 3 (p. 1126)
• Evitar las transacciones de XA con Amazon Aurora MySQL (p. 1127)
• Mantenimiento de las claves externas activadas durante las instrucciones DML (p. 1127)
Aunque Aurora MySQL no prohíbe la replicación de subprocesos múltiples, esta característica solo se
admite en Aurora MySQL versión 3 y versiones posteriores.
Aurora MySQL, versiones 1 y 2, heredó de MySQL varios problemas relativos a dicha replicación con
varios subprocesos. Para esas versiones, no es recomendable usar la replicación con varios subprocesos
en entornos de producción.
Para obtener más información acerca del uso de la replicación en Amazon Aurora, consulte Replicación
con Amazon Aurora (p. 74). Para obtener información sobre la replicación de varios subprocesos en Aurora
MySQL versión 3, consulte Replicación de registros binarios de múltiples procesos (Aurora MySQL versión
3 y posteriores) (p. 1025).
1126
Amazon Aurora Guía del usuario de Aurora
Referencia de Aurora MySQL
Para obtener más información acerca del uso de transacciones de XA con MySQL, consulte XA
Transactions en la documentación de MySQL.
Si tiene que insertar o actualizar filas que requieran una infracción transitoria de claves externas, siga estos
pasos:
1. Establezca foreign_key_checks en 0.
2. Realice sus cambios de lenguaje de manipulación de datos (DML).
3. Asegúrese de que los cambios completados no infrinjan ninguna restricción de claves externas.
4. Establezca foreign_key_checks en 1 (activado).
Además, siga estas otras prácticas recomendadas para restricciones de clave externa:
Temas
• Parámetros de configuración de Aurora MySQL (p. 1128)
• Parámetros de MySQL que no se aplican a Aurora MySQL (p. 1147)
• Variables de estado de MySQL que no se aplican a Aurora MySQL (p. 1148)
• Eventos de espera de Aurora MySQL (p. 1149)
• Estados del subproceso Aurora MySQL (p. 1153)
• Niveles de aislamiento de Aurora MySQL (p. 1157)
• Consejos de Aurora MySQL (p. 1161)
• Procedimientos almacenados de Aurora MySQL (p. 1163)
1127
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
Utilice los grupos de parámetros de clúster de base de datos para administrar los parámetros de nivel de
clúster. Utilice los grupos de parámetros de base de datos para administrar los parámetros de nivel de
instancia. Todas las instancias de base de datos en un clúster de base de datos de Aurora MySQL son
compatibles con el motor de base de datos de MySQL. Sin embargo, aplique algunos de los parámetros
del motor de base de datos MySQL en el nivel de clúster y administre estos parámetros mediante los
grupos de parámetros de clúster de base de datos. No puede detectar los parámetros de nivel del clúster
en el grupo de parámetros de base de datos para una instancia en un clúster de base de datos de Aurora.
Después aparecerá una lista de parámetros de nivel de clúster en este tema.
Puede administrar tanto los parámetros de nivel de clúster como los de nivel de instancia con la AWS
Management Console, la AWS CLI o la API de Amazon RDS. Utilice comandos independientes para
administrar los parámetros de nivel de clúster y los parámetros de nivel de instancia. Por ejemplo, puede
utilizar el comando de la CLI modify-db-cluster-parameter-group para administrar parámetros de nivel
de clúster en un grupo de parámetros del clúster de base de datos. Puede utilizar el comando de la CLI
modify-db-parameter-group para administrar parámetros de nivel de instancia en un grupo de parámetros
de base de datos para una instancia de base de datos en un clúster de base de datos.
Puede ver tanto los parámetros de nivel de clúster como los de nivel de instancia en la consola o usando
la CLI o la API de RDS. Por ejemplo, puede utilizar el comando de la AWS CLI describe-db-cluster-
parameters para ver parámetros de nivel de clúster en un grupo de parámetros del clúster de base de
datos. Puede utilizar el comando de la CLI describe-db-parameters para ver parámetros de nivel de
instancia en un grupo de parámetros de base de datos para una instancia de base de datos en un clúster
de base de datos.
Note
Cada grupo de parámetros predeterminados (p. 369) contiene los valores predeterminados para
todos los parámetros del grupo de parámetros. Si el parámetro tiene “engine default” para este
valor, consulte la documentación de MySQL o PostgreSQL específica de la versión para obtener
el valor predeterminado real.
Para obtener más información acerca de los grupos de parámetros de base de datos, consulte Trabajo con
los grupos de parámetros de base de datos y grupos de parámetros de clúster de base de datos (p. 369).
Para conocer las reglas y restricciones para clústeres Aurora Serverless, consulte Grupos de parámetros
de Aurora Serverless v1 (p. 171).
Temas
• Parámetros de nivel de clúster (p. 1128)
• Parámetros de nivel de instancia (p. 1134)
1128
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
Sí
aurora_binlog_replication_max_yield_seconds Solo afecta a los clústeres que utilizan
replicación de registro binario (binlog).
Para obtener información acerca de la
replicación de binlog, consulte Replicación
entre Aurora y MySQL o entre Aurora y
otro clúster de base de datos de Aurora
(replicación de registro binario) (p. 1005).
Sí
aurora_binlog_use_large_read_buffer Solo afecta a los clústeres que utilizan
replicación de registro binario (binlog).
Para obtener información acerca de la
replicación de binlog, consulte Replicación
entre Aurora y MySQL o entre Aurora y
otro clúster de base de datos de Aurora
(replicación de registro binario) (p. 1005).
Eliminado de Aurora MySQL versión 3.
Sí
aurora_enable_replica_log_compression Para obtener más información, consulte
Consideraciones sobre el rendimiento
de la replicación de Amazon Aurora
MySQL (p. 991). No aplica cambios a
clústeres que formen parte de una base
de datos global de Aurora. Eliminado de
Aurora MySQL versión 3.
Sí
aurora_enable_repl_bin_log_filtering Para obtener más información, consulte
Consideraciones sobre el rendimiento
de la replicación de Amazon Aurora
MySQL (p. 991). No aplica cambios a
clústeres que formen parte de una base
de datos global de Aurora. Eliminado de
Aurora MySQL versión 3.
1129
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
auto_increment_increment Sí
auto_increment_offset Sí
aws_default_s3_role Sí
Sí
binlog_group_commit_sync_no_delay_count Este parámetro se aplica a Aurora MySQL
versión 3 y versiones posteriores.
binlog_row_image No
1130
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
binlog_rows_query_log_events Sí
Sí
binlog_transaction_compression_level_zstd Este parámetro se aplica a Aurora MySQL
versión 3 y versiones posteriores.
Sí
binlog_transaction_dependency_history_size Este parámetro se aplica a Aurora MySQL
versión 3 y versiones posteriores.
Sí
binlog_transaction_dependency_tracking Este parámetro se aplica a Aurora MySQL
versión 3 y versiones posteriores.
character-set-client-handshake Sí
character_set_client Sí
character_set_connection Sí
character_set_database Sí
character_set_filesystem Sí
character_set_results Sí
character_set_server Sí
collation_connection Sí
collation_server Sí
completion_type Sí
innodb_autoinc_lock_mode Sí
innodb_cmp_per_index_enabled Sí
innodb_commit_concurrency Sí
1131
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
innodb_file_per_table Sí
innodb_ft_max_token_size Sí
innodb_ft_min_token_size Sí
innodb_ft_num_word_optimize Sí
innodb_ft_sort_pll_degree Sí
innodb_online_alter_log_max_size Sí
innodb_optimize_fulltext_only Sí
innodb_page_size No
innodb_purge_batch_size Sí
innodb_purge_threads Sí
innodb_rollback_on_timeout Sí
innodb_rollback_segments Sí
innodb_spin_wait_delay Sí
innodb_strict_mode Sí
innodb_sync_array_size Sí
innodb_sync_spin_loops Sí
innodb_table_locks Sí
lc_time_names Sí
1132
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
1133
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
server_audit_events Sí
server_audit_excl_users Sí
server_audit_incl_users Sí
server_id No
skip-character-set-client- Sí
handshake
skip_name_resolve No
time_zone Sí
allow-suspicious-udfs No
1134
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
autocommit Sí
automatic_sp_privileges Sí
back_log Sí
binlog_cache_size Sí
binlog_max_flush_queue_time Sí
binlog_order_commits Sí
binlog_stmt_cache_size Sí
Sí
binlog_transaction_compression_level_zstd Este parámetro se aplica a Aurora MySQL
versión 3 y versiones posteriores.
bulk_insert_buffer_size Sí
concurrent_insert Sí
1135
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
connect_timeout Sí
default_time_zone No
default_tmp_storage_engine Sí
default_week_format Sí
delay_key_write Sí
delayed_insert_limit Sí
delayed_insert_timeout Sí
delayed_queue_size Sí
div_precision_increment Sí
end_markers_in_json Sí
eq_range_index_dive_limit Sí
event_scheduler Sí
explicit_defaults_for_timestamp Sí
flush No
flush_time Sí
ft_boolean_syntax No
ft_max_word_len Sí
ft_min_word_len Sí
ft_query_expansion_limit Sí
ft_stopword_file Sí
1136
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
group_concat_max_len Sí
host_cache_size Sí
init_connect Sí
innodb_adaptive_hash_index Sí
innodb_autoextend_increment Sí
No
innodb_buffer_pool_dump_at_shutdown
innodb_buffer_pool_dump_now No
innodb_buffer_pool_filename No
innodb_buffer_pool_load_abort No
innodb_buffer_pool_load_at_startupNo
innodb_buffer_pool_load_now No
Sí
innodb_compression_failure_threshold_pct
innodb_compression_level Sí
innodb_compression_pad_pct_max Sí
innodb_flush_log_at_timeout No
innodb_flushing_avg_loops No
innodb_force_load_corrupted No
innodb_ft_aux_table Sí
innodb_ft_cache_size Sí
1137
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
innodb_ft_enable_stopword Sí
innodb_ft_server_stopword_table Sí
innodb_ft_user_stopword_table Sí
innodb_lock_wait_timeout Sí
innodb_log_compressed_pages No
innodb_lru_scan_depth Sí
innodb_max_purge_lag Sí
innodb_max_purge_lag_delay Sí
innodb_monitor_disable Sí
innodb_monitor_enable Sí
innodb_monitor_reset Sí
innodb_monitor_reset_all Sí
innodb_old_blocks_pct Sí
innodb_old_blocks_time Sí
innodb_open_files Sí
innodb_print_all_deadlocks Sí
innodb_random_read_ahead Sí
innodb_read_ahead_threshold Sí
innodb_read_io_threads No
innodb_replication_delay Sí
innodb_sort_buffer_size Sí
innodb_stats_auto_recalc Sí
innodb_stats_method Sí
innodb_stats_on_metadata Sí
innodb_stats_persistent Sí
1138
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
Sí
innodb_stats_persistent_sample_pages
Sí
innodb_stats_transient_sample_pages
innodb_thread_concurrency No
join_buffer_size Sí
keep_files_on_create Sí
key_buffer_size Sí
key_cache_age_threshold Sí
key_cache_block_size Sí
key_cache_division_limit Sí
local_infile Sí
lock_wait_timeout Sí
log_bin_trust_function_creators Sí
log_error No
log_output Sí
log_queries_not_using_indexes Sí
1139
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
Sí
log_throttle_queries_not_using_indexes
long_query_time Sí
low_priority_updates Sí
max_allowed_packet Sí
max_binlog_cache_size Sí
max_binlog_size No
max_binlog_stmt_cache_size Sí
max_connect_errors Sí
max_delayed_threads Sí
max_error_count Sí
max_heap_table_size Sí
max_insert_delayed_threads Sí
max_join_size Sí
max_prepared_stmt_count Sí
max_seeks_for_key Sí
max_sort_length Sí
max_sp_recursion_depth Sí
max_user_connections Sí
1140
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
max_write_lock_count Sí
min_examined_row_limit Sí
myisam_data_pointer_size Sí
myisam_max_sort_file_size Sí
myisam_mmap_size Sí
myisam_sort_buffer_size Sí
myisam_stats_method Sí
myisam_use_mmap Sí
net_buffer_length Sí
net_read_timeout Sí
net_retry_count Sí
net_write_timeout Sí
old-style-user-limits Sí
optimizer_prune_level Sí
optimizer_search_depth Sí
optimizer_trace Sí
optimizer_trace_features Sí
optimizer_trace_limit Sí
optimizer_trace_max_mem_size Sí
optimizer_trace_offset Sí
performance-schema-consumer- Sí
events-waits-current
performance-schema-instrument Sí
performance_schema Sí
performance_schema_accounts_size Sí
Sí
performance_schema_consumer_global_instrumentation
1141
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
Sí
performance_schema_consumer_thread_instrumentation
Sí
performance_schema_consumer_events_stages_current
Sí
performance_schema_consumer_events_stages_history
Sí
performance_schema_consumer_events_stages_history_long
Sí
performance_schema_consumer_events_statements_current
Sí
performance_schema_consumer_events_statements_history
Sí
performance_schema_consumer_events_statements_history_long
Sí
performance_schema_consumer_events_waits_history
Sí
performance_schema_consumer_events_waits_history_long
Sí
performance_schema_consumer_statements_digest
performance_schema_digests_size Sí
Sí
performance_schema_events_stages_history_long_size
Sí
performance_schema_events_stages_history_size
Sí
performance_schema_events_statements_history_long_size
Sí
performance_schema_events_statements_history_size
Sí
performance_schema_events_waits_history_long_size
Sí
performance_schema_events_waits_history_size
performance_schema_hosts_size Sí
Sí
performance_schema_max_cond_classes
Sí
performance_schema_max_cond_instances
Sí
performance_schema_max_digest_length
Sí
performance_schema_max_file_classes
Sí
performance_schema_max_file_handles
Sí
performance_schema_max_file_instances
Sí
performance_schema_max_memory_classes Solo Aurora MySQL 2.x
Sí
performance_schema_max_metadata_locks Solo Aurora MySQL 2.x
Sí
performance_schema_max_mutex_classes
Sí
performance_schema_max_mutex_instances
1142
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
Sí
performance_schema_max_program_instances Solo Aurora MySQL 2.x
Sí
performance_schema_max_rwlock_classes
Sí
performance_schema_max_rwlock_instances
Sí
performance_schema_max_socket_classes
Sí
performance_schema_max_socket_instances
Sí
performance_schema_max_sql_text_length Solo Aurora MySQL 2.x
Sí
performance_schema_max_stage_classes
Sí
performance_schema_max_statement_classes
Sí
performance_schema_max_statement_stack Solo Aurora MySQL 2.x
Sí
performance_schema_max_table_handles
Sí
performance_schema_max_table_instances
Sí
performance_schema_max_table_lock_stat Solo Aurora MySQL 2.x
Sí
performance_schema_max_thread_classes
Sí
performance_schema_max_thread_instances
Sí
performance_schema_session_connect_attrs_size
Sí
performance_schema_setup_actors_size
Sí
performance_schema_setup_objects_size
performance_schema_users_size Sí
pid_file No
preload_buffer_size Sí
profiling_history_size Sí
query_alloc_block_size Sí
1143
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
query_prealloc_size Sí
range_alloc_block_size Sí
read_buffer_size Sí
read_rnd_buffer_size Sí
relay-log No
relay_log_recovery No
safe-user-create Sí
skip-slave-start No
skip_external_locking No
skip_show_database Sí
1144
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
slow_launch_time Sí
socket No
sort_buffer_size Sí
sql_mode Sí
sql_select_limit Sí
1145
Amazon Aurora Guía del usuario de Aurora
Parámetros de configuración
stored_program_cache Sí
sync_binlog No
sync_master_info Sí
sync_relay_log_info Sí
sysdate-is-now Sí
table_cache_element_entry_ttl No
table_open_cache_instances Sí
thread_handling No
thread_stack Sí
timed_mutexes Sí
1146
Amazon Aurora Guía del usuario de Aurora
Parámetros de MySQL que no se aplican a Aurora MySQL
tmp_table_size Sí
transaction_alloc_block_size Sí
transaction_prealloc_size Sí
updatable_views_with_limit Sí
validate-password No
validate_password_dictionary_file No
validate_password_length No
validate_password_mixed_case_countNo
validate_password_number_count No
validate_password_policy No
No
validate_password_special_char_count
Los siguientes parámetros de MySQL no se aplican a Aurora MySQL. Esta lista no es exhaustiva.
1147
Amazon Aurora Guía del usuario de Aurora
Variables de estado de MySQL
que no se aplican a Aurora MySQL
• innodb_deadlock_detect
• innodb_dedicated_server
• innodb_doublewrite
• innodb_flush_method
• innodb_flush_neighbors
• innodb_io_capacity
• innodb_io_capacity_max
• innodb_buffer_pool_chunk_size
• innodb_buffer_pool_instances
• innodb_log_buffer_size
• innodb_default_row_format
• innodb_log_file_size
• innodb_log_files_in_group
• innodb_log_spin_cpu_abs_lwm
• innodb_log_spin_cpu_pct_hwm
• innodb_max_dirty_pages_pct
• innodb_numa_interleave
• innodb_page_size
• innodb_redo_log_encrypt
• innodb_undo_log_encrypt
• innodb_undo_log_truncate
• innodb_use_native_aio
• innodb_write_io_threads
• thread_cache_size
Las siguientes variables de estado de MySQL no se aplican a Aurora MySQL. Esta lista no es exhaustiva.
• innodb_buffer_pool_bytes_dirty
• innodb_buffer_pool_pages_dirty
• innodb_buffer_pool_pages_flushed
Aurora MySQL versión 3 elimina las siguientes variables de estado que estaban en Aurora MySQL versión
2:
• AuroraDb_lockmgr_bitmaps0_in_use
• AuroraDb_lockmgr_bitmaps1_in_use
• AuroraDb_lockmgr_bitmaps_mem_used
• AuroraDb_thread_deadlocks
• available_alter_table_log_entries
• Aurora_lockmgr_memory_used
1148
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora MySQL
• Aurora_missing_history_on_replica_incidents
• Aurora_new_lock_manager_lock_release_cnt
• Aurora_new_lock_manager_lock_release_total_duration_micro
• Aurora_new_lock_manager_lock_timeout_cnt
• Aurora_oom_response
• Aurora_total_op_memory
• Aurora_total_op_temp_space
• Aurora_used_alter_table_log_entries
• Aurora_using_new_lock_manager
• Aurora_volume_bytes_allocated
• Aurora_volume_bytes_left_extent
• Aurora_volume_bytes_left_total
• Com_alter_db_upgrade
• Compression
• External_threads_connected
• Innodb_available_undo_logs
• Last_query_cost
• Last_query_partial_plans
• Slave_heartbeat_period
• Slave_last_heartbeat
• Slave_received_heartbeats
• Slave_retried_transactions
• Slave_running
• Time_since_zero_connections
Estas variables de estado de MySQL están disponibles en Aurora MySQL versión 1 o 2, pero no están
disponibles en Aurora MySQL versión 3:
• Innodb_redo_log_enabled
• Innodb_undo_tablespaces_total
• Innodb_undo_tablespaces_implicit
• Innodb_undo_tablespaces_explicit
• Innodb_undo_tablespaces_active
Para obtener información sobre las convenciones de nomenclatura de los eventos de espera de
MySQL, consulte Performance Schema Instrument Naming Conventions en la documentación de
MySQL.
cpu
El número de conexiones activas que están listas para ejecutarse es siempre mayor que el número de
vCPU. Para obtener más información, consulte . cpu (p. 906).
1149
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora MySQL
io/aurora_redo_log_flush
Una sesión está conservando datos en el almacenamiento de Aurora. Este evento de espera suele ser
para una operación de E/S de escritura en Aurora MySQL. Para obtener más información, consulte .
io/aurora_redo_log_flush (p. 909).
io/aurora_respond_to_client
Los subprocesos escriben a las tablas con un formato de valores separados por comas (CSV).
Compruebe el uso de tablas CSV. Una causa habitual de este evento es que se haya establecido
log_output en una tabla.
io/file/innodb/innodb_data_file
Los subprocesos están esperando la E/S desde el almacenamiento. Este evento es más frecuente
en cargas de trabajo con gran intensidad de E/S. Cuando este evento de espera es frecuente, las
instrucciones SQL pueden estar ejecutando consultas de uso intensivo de disco o solicitando datos
que no pueden satisfacerse desde el grupo de búfer de InnoDB. Para obtener más información,
consulte . io/file/innodb/innodb_data_file (p. 914).
io/file/sql/binlog
Un subproceso está esperando por un archivo de registro binario (binlog) que se está escribiendo en
disco.
io/socket/sql/client_connection
El programa mysqld está ocupado creando subprocesos para gestionar las nuevas conexiones de
clientes entrantes. Para obtener más información, consulte . io/socket/sql/client_connection (p. 916).
io/table/sql/handler
El motor está esperando el acceso a una tabla. Este evento se produce independientemente de si los
datos se almacenan en caché en el grupo de búferes o si se accede en el disco. Para obtener más
información, consulte . io/table/sql/handler (p. 919).
lock/table/sql/handler
Este evento de espera es un controlador de evento de espera de bloqueo de tabla. Para obtener
más información sobre los eventos de átomo y molécula del esquema de rendimiento, consulte
Performance Schema Atom and Molecule Events en la documentación de MySQL.
synch/cond/mysys/my_thread_var::suspend
El subproceso se suspende mientras se espera en un bloqueo a nivel de tabla porque se emitió otro
subproceso LOCK TABLES ... READ.
synch/cond/sql/MDL_context::COND_wait_status
Los subprocesos están esperando por un bloqueo de metadatos de tabla. El motor utiliza este tipo
de bloqueo para administrar el acceso simultáneo a un esquema de base de datos y garantizar la
coherencia de los datos. Para obtener más información, consulte Optimizing Locking Operations en
1150
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora MySQL
la documentación de MySQL. Para obtener información sobre cómo ajustar la base de datos cuando
este evento es destacado, consulte synch/cond/sql/MDL_context::COND_wait_status (p. 923).
synch/cond/sql/MYSQL_BIN_LOG::COND_done
Ha activado el registro binario. Puede haber un alto rendimiento de confirmaciones, un gran número
de transacciones que se comprometen o réplicas que leen binlogs. Considere utilizar instrucciones
de varias filas o agrupar estados de cuenta en una transacción. En Aurora, utilice bases de datos
globales en lugar de replicación de registros binarios o utilice los parámetros aurora_binlog_*.
synch/mutex/innodb/aurora_lock_thread_slot_futex
Varias instrucciones de lenguaje de manipulación de datos (DML) acceden a las mismas filas de
base de datos al mismo tiempo. Para obtener más información, consulte . synch/mutex/innodb/
aurora_lock_thread_slot_futex (p. 930).
synch/mutex/innodb/buf_pool_mutex
El proceso está esperando el acceso a la memoria caché de memoria del espacio de tabla. Para
obtener más información, consulte . synch/mutex/innodb/fil_system_mutex (p. 935).
synch/mutex/innodb/os_mutex
Este evento forma parte de un semáforo de eventos. Proporciona acceso exclusivo a las variables
utilizadas para la señalización entre subprocesos. Los usos incluyen subprocesos de estadísticas,
búsqueda de texto completo, operaciones de carga y volcado de grupos de búfer y vaciados de
registros. Este evento de espera es específico de Aurora MySQL versión 1.
synch/mutex/innodb/trx_sys_mutex
El motor adquiere este mutex al abrir o crear un archivo de metadatos de tabla. Cuando este evento
de espera se produce con una frecuencia excesiva, el número de tablas que se crean o abren ha
aumentado.
synch/mutex/sql/FILE_AS_TABLE::LOCK_shim_lists
El motor adquiere este mutex mientras realiza operaciones tales como reset_size,
detach_contents, o bien add_contents en la estructura interna que hace un seguimiento de las
tablas abiertas. El mutex sincroniza el acceso al contenido de la lista. Cuando este evento de espera
se produce con alta frecuencia, indica un cambio repentino en el conjunto de tablas a las que se
1151
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora MySQL
había accedido anteriormente. El motor necesita acceder a tablas nuevas o dejar de lado el contexto
relacionado con las tablas a las que se ha accedido anteriormente.
synch/mutex/sql/LOCK_open
El número de tablas que están abriendo las sesiones supera el tamaño de la caché de definiciones de
tablas o de la caché abierta de tablas. Aumente el tamaño de estas cachés.
synch/mutex/sql/LOCK_table_cache
El número de tablas que están abriendo las sesiones supera el tamaño de la caché de definiciones de
tablas o de la caché abierta de tablas. Aumente el tamaño de estas cachés.
synch/mutex/sql/LOG
En este evento de espera, hay subprocesos esperando por un bloqueo de log. Por ejemplo, un
subproceso podría esperar a un bloqueo para escribir en el archivo log de consultas lentas.
synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit
En este evento de espera, hay un subproceso esperando a adquirir un bloqueo con la intención
de efectuar una confirmación en el log binario. La contención de logs binarios se puede producir
en las bases de datos cuya velocidad de cambio es muy alta. Según la versión de MySQL, hay
algunos bloqueos que se utilizan para proteger la coherencia y durabilidad del log binario. En RDS
for MySQL, los logs binarios se utilizan para la replicación y para el proceso de backup automatizado.
En Aurora MySQL, los logs binarios no se necesitan para la replicación o los backups nativos. Están
deshabilitados de forma predeterminada, pero se pueden habilitar y utilizar para la replicación externa
o la captura de datos de cambios. Para obtener más información, consulte The Binary Log en la
documentación de MySQL.
sync/mutex/sql/MYSQL_BIN_LOG::LOCK_dump_thread_metrics_collection
Si el registro binario está activado, el motor adquiere este mutex cuando imprime métricas de
subprocesos de volcado activos en el registro de errores del motor y en el mapa de operaciones
interno.
sync/mutex/sql/MYSQL_BIN_LOG::LOCK_inactive_binlogs_map
Si el registro binario está activado, el motor adquiere este mutex cuando agrega, elimina o busca en la
lista de archivos binlog detrás del último.
sync/mutex/sql/MYSQL_BIN_LOG::LOCK_io_cache
Si el registro binario está activado, el motor adquiere este mutex durante las operaciones de caché
de E/S binlog de Aurora: asignar, cambiar el tamaño, liberar, escribir, leer, purgar y acceder a la
información de la caché. Si este evento se produce con frecuencia, el motor accede a la caché donde
se almacenan los eventos binlog. Para reducir los tiempos de espera, reduzca las confirmaciones.
Intente agrupar varios estados de cuenta en una sola transacción.
synch/mutex/sql/MYSQL_BIN_LOG::LOCK_log
1152
Amazon Aurora Guía del usuario de Aurora
Estados del subproceso Aurora MySQL
alta frecuencia de operaciones de espacio de tabla. Un ejemplo es cargar una gran cantidad de datos
en la base de datos.
synch/rwlock/innodb/dict
En este evento de espera, hay subprocesos esperando por un rwlock aplicado al diccionario de datos
de InnoDB.
synch/rwlock/innodb/dict_operation_lock
En este evento de espera, hay subprocesos manteniendo bloqueos en operaciones del diccionario de
datos de InnoDB.
synch/rwlock/innodb/dict sys RW lock
Al mismo tiempo se activan un gran número de declaraciones de lenguaje de control de datos (DCL)
simultáneas en el código de lenguaje de definición de datos (DDL). Reduzca la dependencia de la
aplicación de los DDL durante la actividad regular de la aplicación.
synch/rwlock/innodb/hash_table_locks
La ocurrencia excesiva de este evento de espera indica contención al modificar la tabla hash que
asigna la caché del búfer. Considere aumentar el tamaño de la caché del búfer y mejorar las rutas de
acceso para las consultas pertinentes. Para obtener información sobre cómo ajustar la base de datos
cuando esta espera es destacada, consulte synch/rwlock/innodb/hash_table_locks (p. 939).
synch/rwlock/innodb/index_tree_rw_lock
Al mismo tiempo se activan un gran número de declaraciones de lenguaje de control de datos (DCL)
simultáneas en el código de lenguaje de definición de datos (DDL). Reduzca la dependencia de la
aplicación de los DDL durante la actividad regular de la aplicación.
synch/sxlock/innodb/dict_sys_lock
Al mismo tiempo se activan un gran número de declaraciones de lenguaje de control de datos (DCL)
simultáneas en el código de lenguaje de definición de datos (DDL). Reduzca la dependencia de la
aplicación de los DDL durante la actividad regular de la aplicación.
synch/sxlock/innodb/hash_table_locks
La sesión no ha encontrado páginas del grupo de búferes. El motor necesita leer un archivo o
modificar la lista menos usada recientemente (LRU) para el grupo de búferes. Considere aumentar el
tamaño de la caché del búfer y mejorar las rutas de acceso para las consultas pertinentes.
synch/sxlock/innodb/index_tree_rw_lock
Muchas instrucciones de lenguaje de manipulación de datos (DML) acceden al mismo objeto de base
de datos al mismo tiempo. Intente usar instrucciones de varias filas. Además, distribuya la carga de
trabajo sobre distintos objetos de base de datos. Por ejemplo, implementar particiones.
checking permissions
El subproceso comprueba si el servidor tiene los privilegios necesarios para ejecutar la instrucción.
1153
Amazon Aurora Guía del usuario de Aurora
Estados del subproceso Aurora MySQL
Este es el estado final de una conexión cuyo trabajo está completo pero que el cliente no ha cerrado.
La mejor solución es cerrar explícitamente la conexión en código. O bien, puede establecer un valor
inferior para wait_timeout en el grupo de parámetros.
closing tables
El subproceso está vaciando los datos de la tabla modificados en disco y cerrando las tablas
usadas. Si no se trata de una operación rápida, verifique las métricas de consumo de ancho de
banda de red con respecto al ancho de banda de red de clase de instancia. Además, verifique que
los valores de los parámetros de table_open_cache y table_definition_cache permiten
abrir simultáneamente suficientes tablas para que el motor no tenga que abrir y cerrar tablas con
frecuencia. Estos parámetros influyen en el consumo de memoria de la instancia.
converting HEAP to MyISAM
La consulta está convirtiendo una tabla temporal de en memoria a en disco. Esta conversión
es necesaria porque las tablas temporales creadas por MySQL en los pasos intermedios del
procesamiento de consultas crecieron demasiado grandes para la memoria. Verifique los valores de
tmp_table_size y max_heap_table_size. En versiones posteriores, el nombre del estado de
este subproceso es converting HEAP to ondisk.
converting HEAP to ondisk
El subproceso está convirtiendo una tabla temporal interna de una tabla en memoria a una tabla en
disco.
copy to tmp table
El subproceso está procesando una instrucción ALTER TABLE. Este estado se produce después de
crear la tabla con la nueva estructura, pero antes de copiar las filas en ella. Para un subproceso en
este estado, puede utilizar el esquema de rendimiento para obtener información sobre el progreso de
la operación de copia.
crear índice de ordenación
Aurora MySQL está realizando una ordenación porque no puede utilizar un índice existente para
satisfacer la cláusula ORDER BY o GROUP BY de una consulta. Para obtener más información,
consulte . crear índice de ordenación (p. 943).
creación de tablas
Un subproceso de trabajo de Aurora MySQL vinculado a una conexión se puede liberar mientras se
envía una respuesta al cliente. El subproceso puede comenzar otro trabajo. El estado delayed send
ok significa que se ha completado el acuse de recibo asíncrono al cliente.
delayed send ok initiated
Un subproceso de trabajo de Aurora MySQL ha enviado una respuesta asíncrona a un cliente y ahora
es libre de trabajar para otras conexiones. La transacción ha iniciado un proceso de confirmación
asíncrono que aún no se ha confirmado.
1154
Amazon Aurora Guía del usuario de Aurora
Estados del subproceso Aurora MySQL
executing
Este estado se produce antes de la inicialización de las instrucciones ALTER TABLE, DELETE,
INSERT, SELECT, o bien UPDATE. Las acciones en este estado incluyen vaciar el registro binario o el
registro InnoDB y una limpieza de la caché de consultas.
master has sent all binlog to slave
El subproceso intenta abrir una tabla. Esta operación es rápida a menos que un ALTER TABLE o una
instrucción LOCK TABLE tenga que finalizar o supera el valor de table_open_cache.
optimizing
Este estado se produce después de procesar una consulta, pero antes del estado de liberación de
elementos.
removing duplicates
Aurora MySQL no pudo optimizar una operación DISTINCT en la fase inicial de una consulta. Aurora
MySQL debe eliminar todas las filas duplicadas antes de enviar el resultado al cliente.
searching rows for update
El subproceso encuentra todas las filas coincidentes antes de actualizarlas. Esta etapa es necesaria si
el UPDATE está cambiando el índice que utiliza el motor para buscar las filas.
sending binlog event to slave
El servidor está tomando el resultado de una consulta de la caché de consultas y lo envía al cliente.
envío de datos
El subproceso está leyendo y procesando filas para una instrucción SELECT, pero aún no ha
comenzado a enviar datos al cliente. El proceso identifica qué páginas contienen los resultados
necesarios para satisfacer la consulta. Para obtener más información, consulte . envío de
datos (p. 945).
sending to client
El servidor está escribiendo un paquete para el cliente. En versiones anteriores de MySQL, este
evento de espera estaba etiquetado writing to net.
starting
1155
Amazon Aurora Guía del usuario de Aurora
Estados del subproceso Aurora MySQL
statistics
El subproceso emitió una llamada a GET_LOCK. El subproceso solicitó un bloqueo de aviso y lo está
esperando, o planea solicitarlo.
waiting for more updates
El subproceso está ejecutando FLUSH TABLES y está esperando a que todos los subprocesos cierren
sus tablas. O el subproceso recibió una notificación de que la estructura subyacente de una tabla ha
cambiado, por lo que debe volver a abrir la tabla para obtener la nueva estructura. Para volver a abrir
la tabla, el subproceso debe esperar hasta que todos los demás subprocesos hayan cerrado la tabla.
Esta notificación se lleva a cabo si otro subproceso ha utilizado una de las siguientes instrucciones de
la tabla: FLUSH TABLES, ALTER TABLE, RENAME TABLE, REPAIR TABLE, ANALYZE TABLE, o bien
OPTIMIZE TABLE.
waiting for table level lock
Una sesión mantiene un bloqueo en una tabla mientras otra intenta adquirir el mismo bloqueo en la
misma tabla.
waiting for table metadata lock
Aurora MySQL utiliza el bloqueo de metadatos para administrar el acceso simultáneo a los objetos de
base de datos y garantizar la coherencia de los datos. En este evento de espera, una sesión mantiene
un bloqueo de metadatos en una tabla mientras otra sesión intenta adquirir el mismo bloqueo en la
misma tabla. Cuando Performance Schema está habilitado, este estado de subproceso se informa
como evento de espera synch/cond/sql/MDL_context::COND_wait_status.
1156
Amazon Aurora Guía del usuario de Aurora
Niveles de aislamiento de Aurora MySQL
writing to net
El servidor está escribiendo un paquete para la red. En versiones posteriores de MySQL, este evento
de espera está etiquetado Sending to client.
Si experimenta esos problemas, puede utilizar una opción de configuración de nivel de sesión de Aurora
MySQL, aurora_read_replica_read_committed, para utilizar el nivel de aislamiento de READ
COMMITTED en réplicas de Aurora. El uso de esta configuración puede ayudar a reducir las ralentizaciones
y el espacio desaprovechado que pueda darse de la realización de consultas de ejecución prolongada al
mismo tiempo que las transacciones que modifican sus tablas.
1157
Amazon Aurora Guía del usuario de Aurora
Niveles de aislamiento de Aurora MySQL
en la instancia principal de Aurora MySQL o en RDS for MySQL. Puede que utilice la configuración
aurora_read_replica_read_committed para esos casos de uso como un informe completo que
examina una base de datos muy grande. Puede evitarla para consultas breves con conjuntos de resultados
pequeños, donde la precisión y la repetibilidad son importantes.
El nivel de aislamiento READ COMMITTED no está disponible para las sesiones de un clúster secundario
de una base de datos global de Aurora que utilicen la función de reenvío de escritura. Para obtener
información sobre el reenvío de escritura, consulte Uso del reenvío de escritura en una base de datos
Amazon Aurora global (p. 279).
Puede habilitar esta opción de configuración de manera temporal para realizar consultas ad hoc (una vez)
interactivas. Puede que también desee ejecutar una aplicación de informes o de análisis de datos que se
beneficie del nivel de aislamiento READ COMMITTED, mientras deja el predeterminado sin cambiar para
otras aplicaciones.
Sus consultas pueden experimentar ciertos tipos de anomalías de lectura cuando se enciende la
configuración aurora_read_replica_read_committed. Dos tipos de anomalías son especialmente
importantes para entender y manejar su código de aplicación. Una lectura no repetible se produce cuando
otra transacción se confirma mientras su consulta está en ejecución. Una consulta de ejecución prolongada
puede ver diferentes datos al principio de la consulta que los que ve al final. Una lectura fantasma se
produce cuando otras transacciones hacen que las filas existentes se reorganicen mientras su consulta se
ejecuta y su consulta lee dos veces una o más filas.
Sus consultas pueden experimentar recuentos de filas inconsistentes como resultado de las lecturas
fantasmas. Puede que sus consultas también devuelvan resultados incompletos o inconsistentes debido a
las lecturas no repetibles. Por ejemplo, suponga que una operación conjunta hace referencia a tablas que
las instrucciones SQL modifican de forma simultánea como INSERT o DELETE. En este caso, la consulta
conjunta puede leer una fila de una tabla pero no la fila correspondiente de otra tabla.
El estándar ANSI SQL permite a estos comportamientos el nivel de aislamiento READ COMMITTED.
Sin embargo, estos comportamientos son diferentes de la implementación típica de MySQL de READ
COMMITTED. Por lo tanto, antes de habilitar la configuración aurora_read_replica_read_committed,
1158
Amazon Aurora Guía del usuario de Aurora
Niveles de aislamiento de Aurora MySQL
compruebe cualquier código existente de SQL para verificar si opera según lo esperado en el modelo de
consistencia secundario.
Puede que los recuentos de filas y otros resultados no sean altamente consistentes en el nivel de
aislamiento READ COMMITTED mientras se habilita este nivel de aislamiento. Por lo tanto, típicamente
habilita la configuración solo mientras ejecuta consultas analíticas que agregan grandes cantidades
de datos y no precisan una precisión absoluta. SI no tiene estos tipos de consultas de ejecución
prolongada junto a una carga de trabajo de escritura intensiva, probablemente no necesite la configuración
aurora_read_replica_read_committed. Sin la combinación de solicitudes de ejecución prolongada
y una carga de trabajo de escritura intensiva, no es probable que tenga problemas con extensión de la lista
del historial.
El siguiente ejemplo le muestra cómo las consultas READ COMMITTED en una réplica de Aurora puede
devolver resultados no repetibles si las transacciones modifican las tablas asociadas al mismo tiempo. La
tabla BIG_TABLE contiene 1 millón de filas antes de que comience cualquier consulta. Otras instrucciones
de lenguaje de manipulación de datos (DML) añaden, eliminan o cambian filas mientras se ejecutan.
Las consultas en la instancia principal de Aurora en el nivel de aislamiento READ COMMITTED producen
resultados predecibles. Sin embargo, la sobrecarga de mantener la vista de lectura consistente durante
la vida útil de cada consulta de ejecución prolongada puede llevar a una recopilación de elementos no
utilizados cara más adelante.
T1 INSERT INTO
big_table SELECT
* FROM other_table
LIMIT 1000000;
COMMIT;
T3 INSERT INTO
big_table (c1,
c2) VALUES (1,
'one more row');
COMMIT;
T5 DELETE FROM
big_table LIMIT 2;
COMMIT;
1159
Amazon Aurora Guía del usuario de Aurora
Niveles de aislamiento de Aurora MySQL
T7 UPDATE big_table
SET c2 =
CONCAT(c2,c2,c2);
COMMIT;
Si las consultas terminan rápidamente, antes de que cualquier otra transacción realice instrucciones DML
y los envíe, los resultados son predecibles y lo mismo ocurre entre la instancia primaria y la réplica de
Aurora.
Los resultados para la C1 son muy predecibles, ya que READ COMMITTED en la instancia principal utiliza
un modelo de consistencia alta similar al del nivel de aislamiento REPEATABLE READ.
Los resultados para C2 puede variar dependiendo de las transacciones que confirma mientras esa
consulta se ejecuta. Por ejemplo, suponga que otras transacciones realizan instrucciones DML y las
confirman mientras las consultas se ejecutan. En este caso, la consulta en la réplica de Aurora con el nivel
de aislamiento READ COMMITTED puede o no tener en cuenta los cambios, Los recuentos de filas no se
pueden predecir de la misma manera en el nivel de aislamiento REPEATABLE READ. Tampoco se pueden
predecir como consultas que se ejecutan en el nivel de aislamiento READ COMMITTED en la instancia
principal o en una instancia de RDS for MySQL.
1160
Amazon Aurora Guía del usuario de Aurora
Consejos de Aurora MySQL
El estándar UPDATE en T7 no cambia en realidad el número de filas en la tabla. Sin embargo, al cambiar la
extensión de una columna de extensión variable, esta instrucción puede hacer que las filas se reorganicen
de manera interna. Una transacción READ COMMITTED de ejecución prolongada puede observar la versión
antigua de una fila y más adelante, en la misma consulta, observar la nueva versión de la misma fila. La
consulta también puede omitir las versiones nueva y antigua de la fila. Por lo tanto, el recuento de la fila
puede ser diferente a lo esperado.
Consejos de Aurora MySQL
Puede utilizar consejos de SQL con consultas de Aurora MySQL para ajustar el rendimiento. También
puede utilizar sugerencias para evitar que los planes de ejecución de consultas importantes cambien en
función de condiciones impredecibles.
Tip
Para comprobar el efecto que tiene una sugerencia en una consulta, examine el plan de consulta
producido por la instrucción EXPLAIN. Compare los planes de consulta con y sin la sugerencia.
En Aurora MySQL versión 3, puede utilizar todas las sugerencias disponibles en la comunidad MySQL
8.0. Para obtener detalles sobre estas sugerencias, consulte Sugerencias del optimizador en el Manual de
referencia de MySQL.
Las siguientes sugerencias están disponibles en Aurora MySQL 2.08 y posterior. Estas sugerencias
se aplican a consultas que utilizan la característica de combinación hash de Aurora MySQL versión 2,
especialmente a consultas que utilizan la optimización de consultas paralelas.
HASH_JOIN, NO_HASH_JOIN
Activa o desactiva la capacidad del optimizador de elegir si desea usar el método de optimización de
combinación hash para una consulta. HASH_JOIN permite al optimizador usar la combinación hash
si ese mecanismo es más eficiente. NO_HASH_JOIN impide que el optimizador utilice la combinación
hash para la consulta. Esta sugerencia está disponible en Aurora MySQL 2.08 y versiones menores
posteriores. No tiene efecto en Aurora MySQL versión 3.
1161
Amazon Aurora Guía del usuario de Aurora
Consejos de Aurora MySQL
HASH_JOIN_PROBING, NO_HASH_JOIN_PROBING
HASH_JOIN_BUILDING, NO_HASH_JOIN_BUILDING
JOIN_FIXED_ORDER
Especifica que las tablas de la consulta se unen en función del orden en que aparecen en la
consulta. Es especialmente útil con consultas que afectan a tres o más tablas. Se pretende como
reemplazo para la sugerencia STRAIGHT_JOIN de MySQL. Equivalente a la sugerencia de MySQL
JOIN_FIXED_ORDER. Este consejo está disponible en Aurora MySQL 2.08 y posterior.
JOIN_ORDER
Especifica el orden de combinación de las tablas de la consulta. Es especialmente útil con consultas
que afectan a tres o más tablas. Equivalente a la sugerencia de MySQL JOIN_ORDER. Este consejo
está disponible en Aurora MySQL 2.08 y posterior.
1162
Amazon Aurora Guía del usuario de Aurora
Procedimientos almacenados
JOIN_PREFIX
Especifica las tablas que se van a poner primero en el orden de combinación. Es especialmente útil
con consultas que afectan a tres o más tablas. Equivalente a la sugerencia de MySQL JOIN_PREFIX.
Este consejo está disponible en Aurora MySQL 2.08 y posterior.
JOIN_SUFFIX
Especifica las tablas que se van a poner en último lugar en el orden de combinación. Es
especialmente útil con consultas que afectan a tres o más tablas. Equivalente a la sugerencia de
MySQL JOIN_SUFFIX. Este consejo está disponible en Aurora MySQL 2.08 y posterior.
Para obtener información sobre el uso de consultas de combinación hash, consulte Optimización de
grandes consultas combinadas de Aurora MySQL con combinaciones hash (p. 1123).
Temas
• mysql.rds_assign_gtids_to_anonymous_transactions (Aurora MySQL versión 3 y superior) (p. 1163)
• mysql.rds_set_master_auto_position (Aurora MySQL versión 1 y 2) (p. 1165)
• mysql.rds_set_source_auto_position (Aurora MySQL versión 3 y superior) (p. 1165)
• mysql.rds_set_source_auto_position (Aurora MySQL versión 3 y superior) (p. 1165)
• mysql.rds_set_external_master_with_auto_position (Aurora MySQL versión 1 y 2) (p. 1166)
• mysql.rds_set_external_source_with_auto_position (Aurora MySQL versión 3 y superior) (p. 1168)
• mysql.rds_skip_transaction_with_gtid (p. 1170)
mysql.rds_assign_gtids_to_anonymous_transactions (Aurora
MySQL versión 3 y superior)
Sintaxis
CALL mysql.rds_assign_gtids_to_anonymous_transactions(gtid_option);
1163
Amazon Aurora Guía del usuario de Aurora
Procedimientos almacenados
Parámetros
gtid_option
Valor de cadena. Los valores permitidos son OFF, LOCAL o un UUID especificado.
Notas de uso
Este procedimiento tiene el mismo efecto que la emisión de la instrucción CHANGE REPLICATION
SOURCE TO ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS = gtid_option en la comunidad
MySQL.
El GTID debe dirigirse a ON para gtid_option que se configurará en LOCAL o un UUID específico.
LOCAL asigna un GTID que incluye el UUID de la réplica (la configuración server_uuid).
Al pasar un parámetro que es UUID se asigna un GTID que incluye el UUID especificado, como la
configuración server_uuid para el servidor de origen de replicación.
Ejemplos
Para desactivar esta característica:
1164
Amazon Aurora Guía del usuario de Aurora
Procedimientos almacenados
Sintaxis
Sintaxis
Parámetros
auto_position_mode
Un valor que indicar si debe usarse la replicación de posición de los archivos de registro o la
replicación basada en GTID:
• 0: utilice el método de replicación basado en la posición del archivo de registro binario. El valor
predeterminado es 0.
• 1: utilice el método de replicación basado en GTID.
Notas de uso
Para un clúster de base de datos de Aurora MySQL, puede invocar este procedimiento almacenado
cuando esté conectado a la instancia principal.
Para Aurora, este procedimiento es compatible con Aurora MySQL, versión 2.04 y versiones posteriores
compatibles con MySQL 5.7. La replicación basada en GTID no es compatible con Aurora MySQL 1.1 o
1.0.
Sintaxis
1165
Amazon Aurora Guía del usuario de Aurora
Procedimientos almacenados
Parámetros
auto_position_mode
Un valor que indicar si debe usarse la replicación de posición de los archivos de registro o la
replicación basada en GTID:
• 0: utilice el método de replicación basado en la posición del archivo de registro binario. El valor
predeterminado es 0.
• 1: utilice el método de replicación basado en GTID.
Notas de uso
Para un clúster de base de datos de Aurora MySQL, puede invocar este procedimiento almacenado
cuando esté conectado a la instancia principal.
Para Aurora, este procedimiento es compatible con Aurora MySQL, versión 2.04 y versiones posteriores
compatibles con MySQL 5.7. La replicación basada en GTID no es compatible con Aurora MySQL 1.1 o
1.0.
mysql.rds_set_external_master_with_auto_position (Aurora
MySQL versión 1 y 2)
Permite configurar una instancia principal de Aurora MySQL para aceptar la replicación entrante desde una
instancia MySQL externa. Este procedimiento también configura la replicación basada en identificadores
de transacciones globales (GTID).
Este procedimiento está disponible para RDS for MySQL y Aurora MySQL. Funciona de forma distinta
según el contexto. Cuando se utiliza con Aurora MySQL, este procedimiento no configura la replicación
retrasada. Esta limitación se realiza porque RDS for MySQL admite la replicación retrasada, pero Aurora
MySQL no.
Sintaxis
CALL mysql.rds_set_external_master_with_auto_position (
host_name
, host_port
, replication_user_name
, replication_user_password
, ssl_encryption
);
Parámetros
host_name
El nombre de host o la dirección IP de la instancia de MySQL que se ejecuta fuera de Aurora que se
convertirá en el maestro de replicación.
host_port
El puerto usado por la instancia de MySQL que se ejecuta fuera de Aurora que se configurará como
maestra de la replicación. Si la configuración de la red incluye la replicación de puertos SSH (Secure
Shell) que convierte el número de puerto, especifique el número de puerto expuesto por SSH.
1166
Amazon Aurora Guía del usuario de Aurora
Procedimientos almacenados
replication_user_name
Notas de uso
Para un clúster de base de datos de Aurora MySQL, puede invocar este procedimiento almacenado
cuando esté conectado a la instancia principal.
Para Aurora, este procedimiento es compatible con Aurora MySQL, versión 2.04 y versiones
posteriores compatibles con MySQL 5.7. La replicación basada en GTID no es compatible
con Aurora MySQL 1.1 o 1.0. Para Aurora MySQL versión 3, utilice el procedimiento
mysql.rds_set_external_source_with_auto_position en su lugar.
1. Con el cliente de MySQL que prefiera, conéctese a la instancia externa de MySQL y cree una cuenta
de usuario que se usará para la replicación. A continuación se muestra un ejemplo.
Para omitir una transacción específica basada en GTID que se sabe que causa un problema, puede usar el
procedimiento almacenado mysql.rds_skip_transaction_with_gtid (p. 1170). Para obtener más información
sobre el uso de la replicación basada en GTID, consulte Uso de reproducción basada en GTID de Aurora
MySQL (p. 1031).
1167
Amazon Aurora Guía del usuario de Aurora
Procedimientos almacenados
Ejemplos
Cuando se ejecuta en una instancia principal de Aurora, el siguiente ejemplo configura el clúster de Aurora
para que actúe como réplica de lectura de una instancia de MySQL que se ejecuta fuera de Aurora.
call mysql.rds_set_external_master_with_auto_position(
'Externaldb.some.com',
3306,
'repl_user'@'mydomain.com',
'SomePassW0rd');
mysql.rds_set_external_source_with_auto_position (Aurora
MySQL versión 3 y superior)
Permite configurar una instancia principal de Aurora MySQL para aceptar la replicación entrante desde una
instancia MySQL externa. Este procedimiento también configura la replicación basada en identificadores
de transacciones globales (GTID).
Este procedimiento está disponible para RDS for MySQL y Aurora MySQL. Funciona de forma distinta
según el contexto. Cuando se utiliza con Aurora MySQL, este procedimiento no configura la replicación
retrasada. Esta limitación se realiza porque RDS for MySQL admite la replicación retrasada, pero Aurora
MySQL no.
Sintaxis
CALL mysql.rds_set_external_source_with_auto_position (
host_name
, host_port
, replication_user_name
, replication_user_password
, ssl_encryption
);
Parámetros
host_name
El nombre de host o la dirección IP de la instancia de MySQL que se ejecuta fuera de Aurora que se
convertirá en el origen de replicación.
host_port
El puerto usado por la instancia de MySQL que se ejecuta fuera de Aurora que se configurará como
origen de la replicación. Si la configuración de la red incluye la replicación de puertos SSH (Secure
Shell) que convierte el número de puerto, especifique el número de puerto expuesto por SSH.
replication_user_name
1168
Amazon Aurora Guía del usuario de Aurora
Procedimientos almacenados
Notas de uso
Para un clúster de base de datos de Aurora MySQL, puede invocar este procedimiento almacenado
cuando esté conectado a la instancia principal.
Para Aurora, este procedimiento es compatible con Aurora MySQL, versión 2.04 y versiones posteriores
compatibles con MySQL 5.7. También es compatible con Aurora MySQL versión 3. La replicación basada
en GTID no es compatible con Aurora MySQL 1.1 o 1.0.
1. Con el cliente de MySQL que prefiera, conéctese a la instancia externa de MySQL y cree una cuenta
de usuario que se usará para la replicación. A continuación se muestra un ejemplo.
Para omitir una transacción específica basada en GTID que se sabe que causa un problema, puede usar el
procedimiento almacenado mysql.rds_skip_transaction_with_gtid (p. 1170). Para obtener más información
sobre el uso de la replicación basada en GTID, consulte Uso de reproducción basada en GTID de Aurora
MySQL (p. 1031).
Ejemplos
Cuando se ejecuta en una instancia principal de Aurora, el siguiente ejemplo configura el clúster de Aurora
para que actúe como réplica de lectura de una instancia de MySQL que se ejecuta fuera de Aurora.
call mysql.rds_set_external_source_with_auto_position(
'Externaldb.some.com',
3306,
'repl_user'@'mydomain.com',
'SomePassW0rd');
1169
Amazon Aurora Guía del usuario de Aurora
Actualizaciones de Aurora MySQL
mysql.rds_skip_transaction_with_gtid
Omite la replicación de una transacción con el identificador de transacción global (GTID) especificado en
una instancia principal de Aurora.
Puede utilizar este procedimiento para la recuperación de desastres cuando se sabe que una transacción
de GTID específica causa un problema. Utilice este procedimiento almacenado para omitir la transacción
problemática. Entre los ejemplos de transacciones problemáticas se incluyen transacciones que inhabilitan
la replicación, eliminan datos importantes o provocan que la instancia de base de datos no esté disponible.
Sintaxis
CALL mysql.rds_skip_transaction_with_gtid (gtid_to_skip);
Parámetros
gtid_to_skip
Notas de uso
Para un clúster de base de datos de Aurora MySQL, puede invocar este procedimiento almacenado
cuando esté conectado a la instancia principal.
Para Aurora, este procedimiento es compatible con Aurora MySQL, versión 2.04 y versiones posteriores
compatibles con MySQL 5.7. También es compatible con Aurora MySQL versión 3. La replicación basada
en GTID no es compatible con Aurora MySQL 1.1 o 1.0.
Las actualizaciones se aplican a todas las instancias en un clúster de base de datos a la vez. Una
actualización requiere un reinicio de la base de datos en todas las instancias en un clúster de base
de datos, por lo que se producirán entre 20 y 30 segundos de inactividad. Puede ver o cambiar la
configuración del periodo de mantenimiento desde la AWS Management Console.
A continuación, puede aprender a elegir la versión de Aurora MySQL correcta para el clúster, cómo
especificar la versión al crear o actualizar un clúster y los procedimientos para actualizar un clúster de una
versión a otra con una interrupción mínima.
Temas
• Números de versión y versiones especiales de Aurora MySQL (p. 1171)
• Actualización de clústeres de base Amazon Aurora MySQL (p. 1174)
• Actualizaciones del motor de base de datos de Amazon Aurora MySQL versión 3 (p. 1195)
• Actualizaciones del motor de base de datos de Amazon Aurora MySQL versión 2 (p. 1196)
• Actualizaciones del motor de base de datos de Amazon Aurora MySQL versión 1 (p. 1286)
1170
Amazon Aurora Guía del usuario de Aurora
Números de versión y versiones especiales
• Actualizaciones del motor de base de datos para clústeres de Aurora MySQL Serverless. (p. 1345)
• Errores de MySQL corregidos en las actualizaciones del motor de base de datos de Aurora
MySQL (p. 1348)
• Vulnerabilidades de seguridad corregidas en Amazon Aurora MySQL (p. 1373)
Temas
• Comprobación o especificación de versiones del motor de Aurora MySQL mediante AWS (p. 1171)
• Comprobación de versiones de Aurora MySQL mediante SQL (p. 1172)
• Versiones de soporte a largo plazo (LTS) de Aurora MySQL (p. 1173)
• Rutas de actualización entre clústeres compatibles con 5.6 y 5.7 (p. 1174)
A partir de Aurora MySQL 2.03.2 y 1.19.0, las versiones del motor de Aurora tienen la siguiente sintaxis.
mysql-major-version.mysql_aurora.aurora-mysql-version
La porción mysql-major-version- es 5.6, 5.7 o 8.0. Este valor representa la versión del protocolo
cliente y el nivel general de soporte de características MySQL para la versión de Aurora MySQL
correspondiente.
El aurora-mysql-version es un valor punteado con tres partes: la versión principal de Aurora MySQL,
la versión secundaria de Aurora MySQL y el nivel de parche. La versión principal es 1, 2 o 3. Esos
valores representan la compatibilidad de Aurora MySQL con MySQL 5.6, 5.7 u 8.0 respectivamente. La
versión secundaria representa la versión de características dentro de las series 1.x, 2.x o 3.x. El nivel de
parche comienza en 0 para cada versión secundaria y representa el conjunto de correcciones de errores
posteriores que se aplican a la versión secundaria. Ocasionalmente, una nueva característica se incorpora
en una versión secundaria, pero no se hace visible de inmediato. En estos casos, la característica se
somete a un ajuste preciso y se hace pública en un nivel de parche posterior.
Todas las versiones del motor Aurora MySQL 1.x son compatibles por conexión con Community MySQL
5.6.10a. Todas las versiones del motor Aurora MySQL 2.x son compatibles por conexión con Community
MySQL 5.7.12. Todas las versiones del motor Aurora MySQL 3.x son compatibles por conexión con
MySQL 8.0.23.
Por ejemplo, las versiones del motor para Aurora MySQL 3.01.0, 2.03.2 y 1.19.0 son las siguientes.
8.0.mysql_aurora.3.01.0
1171
Amazon Aurora Guía del usuario de Aurora
Números de versión y versiones especiales
5.7.mysql_aurora.2.03.2
5.6.mysql_aurora.1.19.0
Note
No hay correspondencia uno a uno entre las versiones de MySQL de la comunidad y las
versiones Aurora MySQL 1.x y 2.x. Para Aurora MySQL versión 3, hay una asignación más
directa. Para verificar qué correcciones de errores y nuevas características se encuentran en
una versión de Aurora MySQL concreta, consulte Actualizaciones del motor de base de datos
de Amazon Aurora MySQL versión 3 (p. 1195), Actualizaciones del motor de base de datos de
Amazon Aurora MySQL versión 2 (p. 1196) y Actualizaciones del motor de base de datos de
Amazon Aurora MySQL versión 1 (p. 1286). Para obtener una lista cronológica de las nuevas
características y versiones, consulte Historial de revisión (p. 1967). Para comprobar la versión
mínima necesaria para una corrección relacionada con la seguridad, consulte Vulnerabilidades de
seguridad corregidas en Amazon Aurora MySQL (p. 1373).
Para Aurora MySQL 2.x, todas las versiones 2.03.1 e inferiores están representadas por la versión
del motor 5.7.12. De la misma manera, todas las versiones anteriores a 1.19.0 están representadas
por la versión del motor 5.6.10a. Estas designaciones de versiones anteriores no incluyen el prefijo
5.7.mysql_aurora. Cuando especificó 5.7.12 o 5.6.10a durante la creación o modificación de un
clúster, obtuvo la versión más alta anterior a las versiones 2.03.2 y 1.19.0 en las que cambió la numeración
de versiones. Para determinar el número exacto de versión de esas versiones anteriores, utilizó la técnica
SQL que se explica en Comprobación de versiones de Aurora MySQL mediante SQL (p. 1172).
Puede especificar la versión del motor de Aurora MySQL en algunos comandos de la AWS CLI y en
operaciones de la API de RDS. Por ejemplo, especifique la opción --engine-version al ejecutar los
comandos de la AWS CLI create-db-cluster y modify-db-cluster. Especifique el parámetro EngineVersion
al ejecutar las operaciones de la API de RDS CreateDBCluster y ModifyDBCluster.
En Aurora MySQL 1.19.0 y versiones posteriores o 2.03.2 y versiones posteriores, la versión del motor en
la AWS Management Console incluye también la versión de Aurora. La actualización del clúster cambia el
valor mostrado. Este cambio le ayuda a especificar y comprobar las versiones de Aurora MySQL precisas,
sin necesidad de conectarse al clúster ni ejecutar ningún comando SQL.
Tip
Para clústeres de Aurora administrados mediante AWS CloudFormation, este cambio en la
configuración EngineVersion puede desencadenar acciones en AWS CloudFormation. Para
obtener información sobre cómo AWS CloudFormation trata los cambios en la configuración de
EngineVersion, consulte la documentación de AWS CloudFormation.
El proceso para actualizar la versión del motor anterior a Aurora MySQL 1.19.0 y 2.03.2 es usar la opción
Apply a Pending Maintenance Action (Aplicar una acción de mantenimiento pendiente) en el clúster. Este
proceso no cambia la versión Aurora MySQL del motor que muestra la consola. Por ejemplo, supongamos
que ve un clúster Aurora MySQL con una versión de motor notificada de 5.6.10a o 5.7.12. Para
averiguar la versión específica, conéctese al clúster y consulte la variable de sistema AURORA_VERSION
como se describió anteriormente.
select aurora_version();
select @@aurora_version;
1172
Amazon Aurora Guía del usuario de Aurora
Números de versión y versiones especiales
Los números de versión devueltos por la consola, el CLI y la API de RDS utilizando las técnicas descritas
en Comprobación o especificación de versiones del motor de Aurora MySQL mediante AWS (p. 1171)
suelen ser más descriptivos. Sin embargo, para las versiones anteriores a 2.03.2 y 1.19, AWS siempre
devuelve los números de versión 5.7.12 o 5.6.10a Para esas versiones anteriores, utilice la técnica
SQL para comprobar el número de versión preciso.
Aurora designa determinadas versiones de Aurora MySQL como versiones con "soporte a largo
plazo" (LTS). Los clústeres de base de datos que utilizan versiones LTS pueden mantenerse en la misma
versión durante más tiempo y se someten a menos ciclos de actualización que los clústeres que utilizan
versiones que no son LTS. Aurora admite cada versión LTS durante al menos un año después de que esté
disponible dicha versión. Cuando hay que actualizar un clúster de base de datos que está en una versión
LTS, Aurora lo actualiza a la siguiente versión de LTS. De este modo, no es necesario volver a actualizar el
clúster durante mucho tiempo.
Durante la vida útil de una versión LTS de Aurora MySQL, los nuevos niveles de parche introducen
correcciones para problemas importantes. Los niveles de parche no incluyen características nuevas.
Puede elegir si desea aplicar dichos parches a clústeres de base de datos que ejecuten la versión LTS.
Para determinadas correcciones críticas, Amazon podría llevar a cabo una actualización administrada a un
nivel de parche dentro de la misma versión LTS. Dichas actualizaciones administradas se llevan a cabo de
forma automática en el periodo de mantenimiento del clúster.
Le recomendamos que actualice a la versión más reciente, en lugar de utilizar la versión LTS, para la
mayoría de los clústeres de Aurora MySQL. Al hacerlo se aprovecha Aurora como servicio administrado
y le ofrece acceso a las características y correcciones de errores más recientes. Las versiones LTS están
destinadas a clústeres con las siguientes características:
• No puede permitirse períodos de inactividad en la aplicación Aurora MySQL para actualizaciones fuera
de los raros casos para parches críticos.
• El ciclo de prueba del clúster y las aplicaciones asociadas tarda mucho tiempo para cada actualización al
motor de base de datos de Aurora MySQL.
• La versión de base de datos para su clúster de Aurora MySQL tiene todas las características de motor
de base de datos y correcciones de errores que necesita su aplicación.
Las versiones LTS actuales para Aurora MySQL son las siguientes:
• Aurora MySQL versión 2.07.*. Para obtener más información acerca de esta versión, consulte
Actualizaciones del motor de base de datos de Aurora MySQL 02/09/2021 (versión 2.07.6) (p. 1234).
• Aurora MySQL versión 1.22.*. Para obtener más información acerca de esta versión, consulte
Actualizaciones del motor de base de datos de Aurora MySQL del 03/06/2021 (versión 1.22.5) (p. 1295).
1173
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
Sin embargo, si el clúster está ejecutando Aurora MySQL 1.23 o superior, cualquier actualización a Aurora
MySQL versión 2.x debe ser a Aurora MySQL 2.09 o superior. Esta restricción se aplica incluso cuando
se actualiza restaurando una instantánea para crear un nuevo clúster de Aurora. Aurora MySQL 1.23
incluye mejoras en el almacenamiento de Aurora. Por ejemplo, el tamaño máximo del volumen del clúster
es mayor en Aurora MySQL 1.23 y posteriores. Aurora MySQL 2.09 es la primera versión 2.x que tiene las
mismas mejoras de almacenamiento.
Temas
• Actualización de la versión secundaria o el nivel de parche de un clúster de base de datos Aurora
MySQL (p. 1174)
• Actualización de la versión principal de un clúster de base de datos de Aurora MySQL (p. 1180)
• Actualización de Aurora MySQL mediante la modificación de la versión del motor (p. 1175) ( para Aurora
MySQL 1.19.0 y superior, o 2.03.2 y superior)
• Activación de actualizaciones automáticas entre versiones secundarias de Aurora MySQL (p. 1175)
• Actualización de Aurora MySQL mediante la aplicación del mantenimiento pendiente a un clúster de
base de datos de Aurora MySQL (p. 1177) ( antes de Aurora MySQL 1.19.0 o 2.03.2)
Para obtener información acerca de cómo la aplicación de parches sin tiempo de inactividad puede
reducir las interrupciones durante el proceso de actualización, consulte Uso de parches sin tiempo de
inactividad (p. 1178).
1174
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
Este tipo de actualización se aplica a los clústeres de Aurora MySQL donde la versión original y la
actualizada están tanto en la serie de Aurora MySQL 1.x como en la serie de Aurora MySQL 2.x. El
proceso es rápido y sencillo, ya que no implica ninguna conversión para los metadatos de Aurora MySQL o
la reorganización de los datos de la tabla.
Para realizar este tipo de actualización modificando la versión del motor del clúster de base de datos
mediante la AWS Management Console, la AWS CLI o la API de RDS. Si el clúster está ejecutando Aurora
MySQL 1.x, elija una versión 1.x superior. Si el clúster está ejecutando Aurora MySQL 2.x, elija una versión
2.x superior.
• Mediante la consola: modifique las propiedades del clúster. En la ventana Modify DB cluster (Modificar
clúster de base de datos), cambie la versión del motor de Aurora MySQL en la casilla DB engine version
(Versión del motor de base de datos). Si no está familiarizado con el procedimiento general para
modificar un clúster, siga las instrucciones de Modificación del clúster de base de datos con la consola,
CLI y API (p. 405).
• Mediante la AWS CLI: llame al comando modify-db-cluster de la AWS CLI y especifique el nombre del
clúster de base de datos para la opción --db-cluster-identifier y la versión del motor para la
opción --engine-version.
Por ejemplo, para actualizar a la versión 2.03.2 de Aurora MySQL, establezca la opción --engine-
version en 5.7.mysql_aurora.2.03.2. Especifique la opción --apply-immediately para
actualizar inmediatamente la versión del motor para su clúster de base de datos.
• Mediante la API de RDS: llame a la operación ModifyDBCluster de la API y especifique el nombre de
su clúster de base de datos para el parámetro DBClusterIdentifier y la versión del motor para el
parámetro EngineVersion. Establezca el parámetro ApplyImmediately en true para actualizar
inmediatamente la versión del motor para el clúster de base de datos.
Hasta agosto de 2020, podría especificar esta configuración para una instancia de base de datos
que formara parte de un clúster de base de datos de Aurora MySQL, pero la configuración no
tenía ningún efecto. Ahora, la configuración se aplica a Aurora MySQL. Si tiene clústeres creados
antes de agosto de 2020, compruebe si las instancias de base de datos del clúster ya tenían
activada la opción Enable auto minor version upgrade (Habilitar actualización automática de
versiones secundarias). Si es así, confirme que esta configuración sigue siendo apropiada; en
caso contrario, cámbiela. Aurora solo realiza la actualización automática si todas las instancias de
base de datos del clúster tienen esta configuración activada.
La actualización automática de versiones secundarias también se aplica a los clústeres que ejecutan la
versión LTS para Aurora MySQL 1.x o 2.x. Para evitar que esos clústeres se actualicen automáticamente,
1175
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
asegúrese de desactivar la configuración Enable auto minor version upgrade (Habilitar actualización
automática de versiones secundarias).
• Clústeres multimaestros.
• Clústeres que forman parte de una base de datos de Aurora global.
• Clústeres que tienen réplicas entre regiones.
La duración de la interrupción varía en función de la carga de trabajo, el tamaño del clúster, la cantidad de
datos de registro binarios y si Aurora puede utilizar la característica de parches de tiempo de inactividad
cero (ZDP). Aurora reinicia el clúster de base de datos, por lo que es posible que experimente un breve
periodo de falta de disponibilidad antes de reanudar el uso del clúster. En concreto, la cantidad de datos de
log binario afecta al tiempo de recuperación. La instancia de base de datos procesa los datos del registro
binario durante la recuperación. Por lo tanto, un gran volumen de datos de registro binario aumenta el
tiempo de recuperación.
Activar actualizaciones automáticas de versiones secundarias para un clúster de base de datos de Aurora
MySQL
1. Siga el procedimiento general para modificar las instancias de base de datos del clúster, tal como se
describe en Modificar una instancia de base de datos en un clúster de base de datos (p. 406). Repita
este procedimiento para cada instancia de base de datos del clúster.
2. Haga lo siguiente para habilitar las actualizaciones automáticas de versiones secundarias para el
clúster:
1176
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
Puede utilizar un comando CLI como el siguiente para comprobar el estado de Enable auto minor version
upgrade (Habilitar actualización automática de versiones secundarias) para todas las instancias de base
de datos de los clústeres de Aurora MySQL.
[
{
"DBInstanceIdentifier": "db-t2-medium-instance",
"DBClusterIdentifier": "cluster-57-2020-06-03-6411",
"AutoMinorVersionUpgrade": true
},
{
"DBInstanceIdentifier": "db-t2-small-original-size",
"DBClusterIdentifier": "cluster-57-2020-06-03-6411",
"AutoMinorVersionUpgrade": false
},
{
"DBInstanceIdentifier": "instance-2020-05-01-2332",
"DBClusterIdentifier": "cluster-57-2020-05-01-4615",
"AutoMinorVersionUpgrade": true
},
... output omitted ...
1177
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
Para obtener más información acerca de cómo Amazon RDS administra actualizaciones de sistemas
operativos y bases de datos, consulte Mantenimiento de un clúster de base de datos de Amazon
Aurora (p. 483).
Note
Si su versión de Aurora MySQL actual es 1.14.x, pero es anterior a 1.14.4, solo puede actualizar a
1.14.4 (que admite las clases de instancia db.r4). Además, para actualizar de 1.14.x a una versión
secundaria de Aurora MySQL más alta, como 1.17, la versión de 1.14.x debe ser 1.14.4.
La ZDP se encuentra disponible en Aurora MySQL 2.07.2 y versiones posteriores a la 2.07. Las versiones
2.10.0 y posteriores son compatibles con MySQL 5.7. Las versiones 3.01.0 y posteriores son compatibles
con MySQL 8.0.
En Aurora MySQL versión 2, la ZDP solo se aplica a instancias de base de datos de Aurora MySQL que
utilizan las clases de instancias db.t2 o db.t3. En Aurora MySQL versión 3, la ZDP se aplica a todas las
clases de instancias.
Puede ver métricas de atributos importantes durante la ZDP en el registro de errores de MySQL. También
puede ver información sobre cuándo Aurora MySQL utiliza la ZDP o elige no usar la ZDP en la página
Events (Eventos) en la AWS Management Console.
En Aurora MySQL 2.10 y posteriores, Aurora puede realizar un parche de tiempo de inactividad cero
cuando se habilita la reproducción de registros binarios. Aurora MySQL elimina automáticamente la
conexión al destino binlog durante una operación ZDP. Aurora MySQL se reconecta automáticamente al
destino binlog y reanuda la reproducción después de que finalice el reinicio.
La ZDP también funciona en combinación con las mejoras de reinicio de Aurora MySQL 2.10 y versiones
posteriores. La aplicación de parches a la instancia de base de datos del escritor aplica parches de forma
automática a los lectores a la vez. Después de aplicar el parche, Aurora restaura las conexiones tanto en
las instancias de base de datos del escritor como del lector. Antes de Aurora MySQL 2.10, la ZDP se aplica
únicamente a la instancia de base de datos de escritor de un clúster.
• Hay en curso consultas o transacciones de ejecución prolongada. Si Aurora puede llevar a cabo ZDP en
este caso, se cancelarán las transacciones abiertas.
• Existen conexiones abiertas Secure Socket Layer (SSL).
• Se están utilizando tablas temporales o bloqueos de tabla, por ejemplo mientras se ejecutan
instrucciones de lenguaje de definición de datos (DDL). Si Aurora puede llevar a cabo ZDP en este caso,
se cancelarán las transacciones abiertas.
• Existen cambios de parámetros pendientes.
1178
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
Si no hubiera un período de tiempo apropiado para la realización de la ZDP debido a una o varias de estas
condiciones, la aplicación de parches vuelve al comportamiento estándar.
Aunque las conexiones permanecen intactas tras una operación de ZDP correcta, se reinicializan algunas
variables y características. Los siguientes tipos de información no se conservan durante un reinicio
causado por una aplicación de parches sin tiempo de inactividad:
• Variables globales. Aurora restaura las variables de sesión, pero no restaura las variables globales
después del reinicio.
• Variables de estado. En particular, el valor del tiempo de actividad que informa el estado del motor se
restablece tras un reinicio que utiliza los mecanismos de ZDR o ZDP.
• LAST_INSERT_ID.
• Estado auto_increment en memoria para tablas. El estado de incremento automático en memoria
se reinicializa. Para obtener más información sobre los valores de incremento automático, consulte el
Manual de referencia de MySQL.
• Información de diagnóstico de las tablas INFORMATION_SCHEMA y PERFORMANCE_SCHEMA. Esta
información de diagnóstico también aparece en la salida de comandos como SHOW PROFILE y SHOW
PROFILES.
Las siguientes actividades relacionadas con el reinicio sin tiempo de inactividad se indican en la página
Events (Eventos):
En la siguiente tabla se resume cómo funciona la ZDP para actualizar desde y hacia versiones específicas
de Aurora MySQL. La clase de instancia de la instancia de base de datos también afecta si Aurora utiliza el
mecanismo de ZDP.
Aurora MySQL Versión 2.07.4 Sí, solo en la instancia de escritura para clases de instancia T2 y T3.
2.07.2, 2.07.3 y posteriores a Aurora solo realiza ZDP si se encuentra un punto de silencio antes
la 2.07, 2.10.* de que se produzca un tiempo de espera. Una vez que finaliza el
tiempo de espera, Aurora realiza un reinicio regular.
Versión 2.07.4 2.10.* Sí, solo en la instancia de escritura para instancias T2 y T3. Aurora
y posteriores a deshace transacciones para transacciones activas e inactivas. Las
la 2.07 conexiones que utilizan SSL, tablas temporales, bloqueos de tabla o
bloqueos de usuario se desconectan. Aurora podría reiniciar el motor
y dejar caer todas las conexiones si el motor tarda demasiado en
arrancar después de que ZDP termine.
1179
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
La actualización entre versiones principales requiere una planificación y pruebas más extensas que para
una versión menor. El proceso puede llevar mucho tiempo. Una vez finalizada la actualización, es posible
que también deba hacer trabajo de seguimiento. Por ejemplo, esto puede ocurrir debido a diferencias en la
compatibilidad con SQL, la forma en que funcionan ciertas características relacionadas con MySQL o a la
configuración de parámetros entre las versiones anterior y nueva.
Temas
• Actualización de Aurora MySQL 2.x a 3.x (p. 1180)
• Actualización de Aurora MySQL 1.x a 2.x (p. 1180)
• Planificación de una actualización de versión principal para un clúster Aurora MySQL (p. 1181)
• Rutas de actualización de versión principal Aurora MySQL (p. 1182)
• Cómo funciona la actualización de la versión principal en el lugar Aurora MySQL (p. 1184)
• Pasos para realizar una actualización local (p. 1185)
• Cómo afectan las actualizaciones en el lugar a los grupos de parámetros de un clúster (p. 1187)
• Cambios en las propiedades del clúster entre las versiones 1 y 2 de Aurora MySQL (p. 1188)
• Actualizaciones en el lugar para bases de datos globales (p. 1189)
• Después de la actualización (p. 1189)
• Solución de problemas para la actualización Aurora MySQL en el lugar (p. 1189)
• Tutorial de actualización de Aurora MySQL en el lugar (p. 1190)
• Técnica alternativa de actualización azul-verde (p. 1195)
Cuando se actualiza la versión principal del clúster de 2.x a 3.x, el clúster original y el actualizado
utilizan el mismo valor aurora-mysql para el atributo engine.
1180
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
Si tiene un clúster compatible con MySQL 5.6 y desea actualizarlo a un clúster compatible con MySQL-5.7,
puede hacerlo ejecutando un proceso de actualización en el propio clúster. Este tipo de actualización
es una actualización en el lugar, en contraste con las actualizaciones que se realizan al crear un nuevo
clúster. Esta técnica mantiene el mismo punto de enlace y otras características del clúster. La actualización
es relativamente rápida ya que no requiere copiar todos los datos en un nuevo volumen de clúster. Esta
estabilidad ayuda a minimizar cualquier cambio de configuración en las aplicaciones. También ayuda a
reducir la cantidad de pruebas para el clúster actualizado, ya que el número de instancias de base de
datos y sus clases de instancia permanecen iguales.
El mecanismo de actualización en el lugar implica apagar el clúster de base de datos mientras se lleva
a cabo la operación. Aurora realiza un cierre limpio y completa las operaciones pendientes, como la
restauración de transacciones y la depuración de deshacer.
Si el clúster está ejecutando una versión inferior a 1.22.3, la actualización puede tardar más tiempo ya
que Aurora MySQL automáticamente realiza una actualización a 1.22.3 como primer paso. Para minimizar
el tiempo de inactividad durante la actualización de la versión principal, puede realizar una actualización
inicial de la versión secundaria a Aurora MySQL 1.22.3 por adelantado.
Puede obtener información sobre los tipos de problemas que puede surgir durante la actualización leyendo
Solución de problemas para la actualización Aurora MySQL en el lugar (p. 1189). En caso de problemas
que podrían hacer que la actualización tarde mucho tiempo, puede probar esas condiciones con antelación
y corregirlas.
1. Cree un clon del clúster original. Siga el procedimiento indicado en Clonación de un volumen de clúster
de base de datos de Aurora (p. 440).
2. Configure un conjunto similar de instancias de base de datos de escritor y lector como en el clúster
original.
1181
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
3. Realice una actualización en el lugar del clúster clonado. Siga el procedimiento indicado en Pasos para
realizar una actualización local (p. 1185). Inicie la actualización inmediatamente después de crear el
clon. De esta forma, el volumen del clúster sigue siendo idéntico al estado del clúster original. Si el clon
se encuentra inactivo antes de realizar la actualización, Aurora realiza procesos de limpieza de la base
de datos en segundo plano. En ese caso, la actualización del clon no es una simulación precisa de la
actualización del clúster original.
4. Pruebe los procedimientos de compatibilidad, rendimiento y administración de las aplicaciones, etc.,
utilizando el clúster clonado.
5. Si encuentra algún problema, ajuste sus planes de actualización para que los tengan en cuenta.
Por ejemplo, adapte cualquier código de aplicación para que sea compatible con el conjunto de
características de la versión superior. Calcule cuánto tiempo puede tardar la actualización en función de
la cantidad de datos del clúster. También puede programar la actualización para un momento en el que
el clúster no esté ocupado.
6. Una vez que esté satisfecho con el funcionamiento de las aplicaciones y la carga de trabajo en el clúster
de prueba, puede realizar la actualización en el lugar para el clúster de producción.
7. Para minimizar el tiempo de inactividad total del clúster durante una actualización de versión principal,
asegúrese de que la carga de trabajo del clúster sea baja o nula en el momento de la actualización.
En particular, asegúrese de que no haya transacciones en curso durante mucho tiempo al iniciar la
actualización.
Clúster aprovisionado Aurora Sí La actualización puede tardar más que si el clúster ya está
MySQL, anterior a 1.22.3 ejecutando Aurora MySQL 1.22.3 o superior. Durante una
actualización de versión principal, Aurora MySQL realiza
cierta limpieza de la base de datos con una versión de
Aurora MySQL mínima de 1.22.3. Aurora MySQL realiza
automáticamente una actualización a 1.22.3 como primer
paso antes de realizar esa limpieza.
1182
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
Clúster en una base de datos Sí Siga el procedimiento para realizar una actualización en el
global Aurora lugar para clústeres en una base de datos Aurora global.
Realice la actualización en el clúster principal de la base
de datos global. Aurora actualiza el clúster principal y todos
los clústeres secundarios en la base de datos global al
mismo tiempo. Si utiliza la API RDS o AWS CLI, llame
al comando modify-global-cluster o la operación
ModifyGlobalCluster en lugar de modify-db-cluster
o ModifyDBCluster.
1183
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
Cluster con cero instancias No Mediante la AWS CLI o la API RDS, puede crear un clúster
de base de datos de Aurora MySQL sin ninguna instancia de base de datos
adjunta. De la misma manera, también puede quitar todas
las instancias de base de datos de un clúster Aurora MySQL
mientras deja intactos los datos del volumen del clúster.
Aunque un clúster tiene cero instancias de base de datos, no
puede realizar una actualización en el lugar.
Clúster con retroceso Sí Puede realizar una actualización en el lugar para un clúster
habilitado Aurora MySQL que utilice la función de retroceso. Sin
embargo, después de la actualización, no puede realizar
un retroceso del clúster hasta un momento anterior a la
actualización.
Si Aurora detecta que no se cumplen las condiciones requeridas, modifique las condiciones identificadas
en los detalles del evento. Siga la guía de Solución de problemas para la actualización Aurora MySQL
en el lugar (p. 1189). Si Aurora detecta condiciones que podrían provocar una actualización lenta,
planee supervisar la actualización durante un período prolongado.
1184
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
2. Aurora desconecta el clúster. Luego, Aurora realiza un conjunto similar de pruebas que en la etapa
anterior, para confirmar que no surgieron nuevos problemas durante el proceso de apagado. Si Aurora
detecta alguna condición en este punto que impida la actualización, Aurora cancela la actualización
y vuelve a conectarla. En este caso, confirme cuándo ya no se aplican las condiciones e inicie la
actualización nuevamente.
3. Aurora crea una instantánea del volumen del clúster. Supongamos que descubre problemas de
compatibilidad u otros tipos de problemas una vez finalizada la actualización. O supongamos que desea
realizar pruebas utilizando tanto los clústeres originales como los actualizados. En tales casos, puede
restaurar a partir de esta instantánea para crear un nuevo clúster con la versión original del motor y los
datos originales.
Tip
Esta instantánea es una instantánea manual. Sin embargo, Aurora puede crearla y continuar
con el proceso de actualización incluso si ha alcanzado la cuota de instantáneas manuales.
Esta instantánea permanecerá permanentemente hasta que la elimine. Después de finalizar
todas las pruebas posteriores a la actualización, puede eliminar esta instantánea para
minimizar los cargos de almacenamiento.
4. Aurora clona el volumen del clúster. La clonación es una operación rápida que no implica copiar los
datos reales de la tabla. Si Aurora encuentra un problema durante la actualización, se revierte a los
datos originales del volumen del clúster clonado y vuelve a poner el clúster en línea. El volumen clonado
temporal durante la actualización no está sujeto al límite habitual en el número de clones para un único
volumen de clúster.
5. Aurora realiza un apagado limpio para la instancia de base de datos del escritor. Durante el apagado
limpio, los eventos de progreso se registran cada 15 minutos para las siguientes operaciones. Puede
examinar los eventos a medida que se producen en la página Eventos de la consola de RDS.
• Aurora purga los registros de deshacer de versiones antiguas de filas.
• Aurora revierte cualquier transacción no confirmada.
6. Aurora actualiza la versión del motor en la instancia de base de datos de escritor:
• Aurora instala el binario para la nueva versión del motor en la instancia de base de datos del escritor.
• Aurora utiliza la instancia de base de datos del escritor para actualizar sus datos al formato
compatible con MySQL 5.7. Durante esta etapa, Aurora modifica las tablas del sistema y realiza
otras conversiones que afectan a los datos del volumen del clúster. En particular, Aurora actualiza
los metadatos de partición en las tablas del sistema para que sean compatibles con el formato de
partición MySQL 5.7. Esta etapa puede tardar mucho tiempo si las tablas del clúster tienen un gran
número de particiones.
Si se producen errores durante esta etapa, puede encontrar los detalles en los registros de errores de
MySQL. Una vez iniciada esta etapa, si el proceso de actualización falla por cualquier motivo, Aurora
restaura los datos originales del volumen del clúster clonado.
7. Aurora actualiza la versión del motor en las instancias de base de datos del lector.
8. Se ha completado el proceso de actualización. Aurora registra un evento final para indicar que el
proceso de actualización se completó correctamente. Ahora su clúster de base de datos está ejecutando
la nueva versión principal.
1185
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
Para realizar este paso, deberá reiniciar el clúster de nuevo para aplicar el nuevo grupo de
parámetros.
12. (Opcional) Después de completar las pruebas posteriores a la actualización, elimine la instantánea
manual que Aurora creó al comienzo de la actualización.
AWS CLI
Para actualizar la versión principal de un clúster de base de datos de Aurora MySQL, utilice el comando
modify-db-cluster de la AWS CLI con los siguientes parámetros requeridos:
• --db-cluster-identifier
• --engine aurora-mysql
• --engine-version
• --allow-major-version-upgrade
• --apply-immediately o --no-apply-immediately
Si el clúster utiliza algún grupo de parámetros personalizados, incluya también una o ambas opciones:
1186
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
Example
Para Windows:
Puede combinar otros comandos de CLI con modify-db-cluster para crear un proceso automatizado
de extremo a extremo para realizar y verificar actualizaciones. Para obtener más información y ejemplos,
consulte Tutorial de actualización de Aurora MySQL en el lugar (p. 1190).
Note
Si el clúster forma parte de una base de datos global Aurora, el procedimiento de actualización
en el lugar es ligeramente diferente. Se llama a la operación de comando modify-global-cluster en
lugar de modify-db-cluster. Para obtener más información, consulte Actualizaciones en el
lugar para bases de datos globales (p. 1189).
API de RDS
Para actualizar la versión principal de un clúster de base de datos Aurora MySQL, utilice la operación
ModifyDBCluster API de RDS con los siguientes parámetros requeridos:
• DBClusterIdentifier
• Engine
• EngineVersion
• AllowMajorVersionUpgrade
• ApplyImmediately (establecido en true o false)
Note
Si el clúster forma parte de una base de datos global Aurora, el procedimiento de actualización
en el lugar es ligeramente diferente. Se llama a la operación ModifyGlobalCluster en lugar de
ModifyDBCluster. Para obtener más información, consulte Actualizaciones en el lugar para
bases de datos globales (p. 1189).
1187
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
instancias utilizan los grupos predeterminados de parámetros compatibles con 5.6, el clúster y la instancia
actualizados comienzan con los grupos predeterminados de parámetros compatibles con 5.7. Si el clúster
y las instancias utilizan grupos de parámetros personalizados, debe crear los grupos de parámetros
compatibles con 5.7 correspondientes y especificarlos durante el proceso de actualización.
Si el clúster original utiliza un grupo de parámetros de clúster personalizado compatible con 5.6, cree un
grupo de parámetros de clúster compatible con 5.7 correspondiente. Este grupo de parámetros se asocia
con el clúster como parte del proceso de actualización.
Del mismo modo, cree cualquier grupo de parámetros de base de datos compatible con 5.7. Asociar ese
grupo de parámetros con todas las instancias de base de datos del clúster como parte del proceso de
actualización.
Important
Además, cambie el código que manipula los grupos de parámetros para tener en cuenta el hecho de que
los nombres de grupos de parámetros predeterminados son diferentes para los clústeres compatibles con
MySQL 5.6, 5.7 y 8.0. El nombre del grupo de parámetros predeterminado para los clústeres de la versión
1 Aurora MySQL es default.aurora5.6. Los nombres de grupos de parámetros correspondientes para
los clústeres de Aurora MySQL versión 2 y 3 son default.aurora-mysql5.7 y default.aurora-
mysql8.0.
Por ejemplo, es posible que tenga código como el siguiente que se aplique al clúster antes de una
actualización.
# Find the Aurora MySQL v1.x versions available for minor version upgrades and patching.
aws rds describe-orderable-db-instance-options --engine aurora --region us-east-1 \
--query 'OrderableDBInstanceOptions[].{EngineVersion:EngineVersion}' --output text
Después de actualizar la versión principal del clúster, modifique ese código de la siguiente manera.
# Find the Aurora MySQL v2.x versions available for minor version upgrades and patching.
aws rds describe-orderable-db-instance-options --engine aurora-mysql --region us-east-1 \
1188
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
Si utiliza la API RDS o AWS CLI, inicie el proceso de actualización llamando al comando modify-
global-cluster u operación ModifyGlobalCluster en lugar de modify-db-cluster o
ModifyDBCluster.
Después de la actualización
Si el clúster que actualizó tenía habilitada la función de retroceso, no podrá realizar un retroceso del clúster
actualizado a una hora anterior a la actualización.
El clúster tiene cambios no Esto puede El proceso de actualización revierte los cambios
confirmados para muchas filas llevar mucho no confirmados. El indicador para esta condición
tiempo. es el valor de TRX_ROWS_MODIFIED en la
INFORMATION_SCHEMA.INNODB_TRX tabla.
Considere la posibilidad de realizar la actualización
solo después de que todas las transacciones
grandes se hayan confirmado o deshecho.
El clúster tiene un gran número Esto puede Incluso si las transacciones no confirmadas no
de registros de deshacer llevar mucho afectan a un gran número de filas, pueden implicar
tiempo. un gran volumen de datos. Por ejemplo, puede que
esté insertando BLOBs grandes. Aurora no detecta
ni genera automáticamente un evento para este
1189
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
El clúster está en el proceso de Esto puede El proceso de actualización espera hasta que se
confirmar una transacción de llevar mucho apliquen los cambios en el registro binario. Más
registro binario grande tiempo. transacciones o sentencias DDL podrían comenzar
durante este período, lo que ralentiza aún más el
proceso de actualización. Programe el proceso de
actualización cuando el clúster no esté ocupado
con la generación de cambios de reproducción
de registros binarios. Aurora no detecta ni genera
automáticamente un evento para esta condición.
Puede utilizar los siguientes pasos para realizar sus propias comprobaciones de algunas de las
condiciones de la tabla anterior. De esta forma, puede programar la actualización en un momento en
que sepa que la base de datos se encuentra en un estado en el que la actualización puede completarse
correctamente y rápidamente.
Este primer ejemplo crea un clúster de base de datos Aurora que ejecuta una versión 1.x de Aurora
MySQL. El clúster incluye una instancia de base de datos de escritura y una instancia de base de datos de
1190
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
lector. El comando wait db-instance-available se detiene hasta que la instancia de base de datos
del escritor esté disponible. Ese es el momento en que el clúster está listo para ser actualizado.
Las versiones de Aurora MySQL 2.x en las que puede actualizar el clúster para depender de la versión 1.x
en la que se está ejecutando actualmente el clúster y en la región de AWS donde se encuentra el clúster.
El primer comando, con --output text, solo muestra la versión de destino disponible. El segundo
comando muestra la salida JSON completa de la respuesta. En esa respuesta detallada, puede ver
detalles como el valor aurora-mysql que utiliza para el parámetro engine y el hecho de que actualizar a
2.07.3 representa una actualización de versión importante.
En este ejemplo, se muestra que si ingresa un número de versión de destino que no es un destino
de actualización válido para el clúster, Aurora no realiza la actualización. Aurora tampoco realiza una
actualización de versión principal, a menos que incluya el parámetro --allow-major-version-
upgrade. De esta manera, no puede realizar accidentalmente una actualización que tenga el potencial de
requerir pruebas exhaustivas y cambios en el código de su aplicación.
1191
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
{
"DBClusterIdentifier": "cluster-56-2020-11-17-9355",
"Status": "available",
"Engine": "aurora",
"EngineVersion": "5.6.mysql_aurora.1.22.3"
}
El estado del clúster y las instancias de base de datos asociadas tardan unos minutos en cambiar a
upgrading. Los números de versión del clúster y de las instancias de base de datos solo cambian cuando
finaliza la actualización. De nuevo, puede utilizar el comando wait db-instance-available para que
la instancia de base de datos de escritor espere hasta que finalice la actualización antes de continuar.
En este punto, el número de versión del clúster coincide con el especificado para la actualización.
En el ejemplo siguiente se actualiza un clúster que ejecuta inicialmente la versión Aurora MySQL 1.22.2.
En la salida de describe-db-engine-versions, los valores False y True representan la propiedad
IsMajorVersionUpgrade. Desde la versión 1.22.2, puede actualizar a otras versiones 1.*. Esas
actualizaciones no se consideran actualizaciones de versión principales, por lo que no requieren una
actualización in situ. La actualización in situ solo está disponible para las actualizaciones a las versiones
2.07 y 2.09 que se muestran en la lista.
1192
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
5.7.mysql_aurora.2.07.1 True
5.7.mysql_aurora.2.07.1 True
5.7.mysql_aurora.2.07.2 True
5.7.mysql_aurora.2.07.3 True
5.7.mysql_aurora.2.09.1 True
Cuando se crea un clúster sin una ventana de mantenimiento especificada, Aurora selecciona un día
aleatorio de la semana. En este caso, el comando modify-db-cluster se envía un lunes. Por lo tanto,
cambiamos la ventana de mantenimiento para que sea el martes por la mañana. Todas las horas se
representan en la zona horaria UTC. La ventana tue:10:00-tue:10:30 corresponde a 2- 2:30 h, hora
del Pacífico. El cambio en la ventana de mantenimiento surte efecto inmediatamente.
1193
Amazon Aurora Guía del usuario de Aurora
Actualización de clústeres de base Amazon Aurora MySQL
En el siguiente ejemplo se muestra cómo obtener un informe de los eventos generados por la
actualización. El argumento --duration representa el número de minutos para recuperar la información
del evento. Este argumento es necesario porque de forma predeterminada, describe-events solo
devuelve eventos de la última hora.
1194
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 3
},
{
"SourceIdentifier": "cluster-56-2020-11-17-3824",
"SourceType": "db-cluster",
"Message": "Upgrade in progress: Purging undo records for old row versions.
Records remaining: 164",
"EventCategories": [
"maintenance"
],
"Date": "2020-11-18T23:02:25.141000+00:00",
"SourceArn": "arn:aws:rds:us-
east-1:123456789012:cluster:cluster-56-2020-11-17-3824"
},
{
"SourceIdentifier": "cluster-56-2020-11-17-3824",
"SourceType": "db-cluster",
"Message": "Upgrade in progress: Purging undo records for old row versions.
Records remaining: 164",
"EventCategories": [
"maintenance"
],
"Date": "2020-11-18T23:06:23.036000+00:00",
"SourceArn": "arn:aws:rds:us-
east-1:123456789012:cluster:cluster-56-2020-11-17-3824"
},
{
"SourceIdentifier": "cluster-56-2020-11-17-3824",
"SourceType": "db-cluster",
"Message": "Upgrade in progress: Upgrading database objects.",
"EventCategories": [
"maintenance"
],
"Date": "2020-11-18T23:06:48.208000+00:00",
"SourceArn": "arn:aws:rds:us-
east-1:123456789012:cluster:cluster-56-2020-11-17-3824"
},
{
"SourceIdentifier": "cluster-56-2020-11-17-3824",
"SourceType": "db-cluster",
"Message": "Database cluster major version has been upgraded",
"EventCategories": [
"maintenance"
],
"Date": "2020-11-18T23:10:28.999000+00:00",
"SourceArn": "arn:aws:rds:us-
east-1:123456789012:cluster:cluster-56-2020-11-17-3824"
}
]
}
1195
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Temas
• Actualizaciones del motor de base de datos de Aurora MySQL 18/11/2021 (versión 3.01.0 compatible
con MySQL 8.0.23) (p. 1196)
Aurora MySQL 3.01.0 está disponible con carácter general. Las versiones 3.01 de Aurora MySQL son
compatibles con MySQL 8.0.23, las versiones 2.x de Aurora MySQL son compatibles con MySQL 5.7 y las
versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Para obtener más información sobre las nuevas características de Aurora MySQL versión 3 y las
diferencias entre Aurora MySQL versión 3 y Aurora MySQL versión 2 o la comunidad MySQL 8.0, consulte
Comparación de Aurora MySQL versión 2 y Aurora MySQL versión 3 (p. 804) y Comparación de Aurora
MySQL versión 3 y la comunidad Aurora MySQL versión 8.0 (p. 812).
Actualmente, las versiones compatibles de Aurora MySQL son 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
1.20.*, 1.21.*, 1.22.*, 1.23.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.*, 2.08.*, 2.09.*, 2.10.* y
3.01.*.
También se puede restaurar una instantánea de cualquier clúster de Aurora MySQL versión 2 compatible a
Aurora MySQL 3.01.0
Para obtener información acerca de la planificación de actualización a Aurora MySQL versión 3, consulte
Planificación de actualizaciones para Aurora MySQL versión 3 (p. 816). Para obtener información
sobre el procedimiento de actualización en sí mismo, consulte Actualización a Aurora MySQL versión
3 (p. 816). Para información general acerca de las actualizaciones de Aurora MySQL, consulte
Actualización de clústeres de base Amazon Aurora MySQL (p. 1174).
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de Amazon RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Aurora MySQL versión 3.01.0 suele ser compatible con la comunidad MySQL 8.0.23. Esta versión incluye
las correcciones de seguridad para problemas de vulnerabilidades y exposiciones comunes (CVE) a partir
de la comunidad MySQL 8.0.23.
Aurora MySQL versión 3.01.0 contiene todas las correcciones de errores específicas de Aurora a través de
Aurora MySQL versión 2.10.0.
Para obtener más información sobre las nuevas características de Aurora MySQL versión 3, consulte
Características de la comunidad MySQL 8.0 (p. 803) y Nuevas optimizaciones de consultas
paralelas (p. 804).
1196
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Actualizaciones del motor de base de datos de Aurora MySQL: 26/01/2022 (versión 2.10.2) (p. 1198)
• Actualizaciones del motor de base de datos de Aurora MySQL del 21/10/2021 (versión 2.10.1) (p. 1201)
• Actualizaciones del motor de base de datos de Aurora MySQL del 25/05/2021 (versión 2.10.0) (p. 1203)
• Actualizaciones del motor de base de datos de Aurora MySQL del 12/11/2021 (versión 2.09.3) (p. 1209)
• Actualizaciones del motor de base de datos de Aurora MySQL 26/02/2021 (versión 2.09.2) (p. 1212)
• Actualizaciones del motor de base de datos de Aurora MySQL: 11/12/2020 (versión 2.09.1) (p. 1214)
• Actualizaciones del motor de base de datos de Aurora MySQL: 17/09/2020 (versión 2.09.0) (p. 1216)
• Actualizaciones del motor de base de datos de Aurora MySQL: 06/01/2022 (versión 2.08.4) (p. 1222)
• Actualizaciones del motor de base de datos de Aurora MySQL: 12/11/2020 (versión 2.08.3) (p. 1223)
• Actualizaciones del motor de base de datos de Aurora MySQL: 28/08/2020 (versión 2.08.2) (p. 1225)
• Actualizaciones del motor de base de datos de Aurora MySQL: 18/06/2020 (versión 2.08.1) (p. 1227)
• Actualizaciones del motor de base de datos de Aurora MySQL: 02/06/2020 (versión 2.08.0) (p. 1228)
• Actualizaciones del motor de base de datos de Aurora MySQL del 24/11/2021 (versión 2.07.7) (p. 1232)
• Actualizaciones del motor de base de datos de Aurora MySQL 02/09/2021 (versión 2.07.6) (p. 1234)
• Actualizaciones del motor de base de datos de Aurora MySQL: 06/07/2021 (versión 2.07.5) (p. 1235)
• Actualizaciones del motor de base de datos de Aurora MySQL 04/03/2021 (versión 2.07.4) (p. 1237)
• Actualizaciones del motor de base de datos de Aurora MySQL 10/11/2020 (versión 2.07.3) (p. 1239)
• Actualizaciones del motor de base de datos de Aurora MySQL: 17/04/2020 (versión 2.07.2) (p. 1242)
• Actualizaciones del motor de base de datos de Aurora MySQL 23/12/2019 (versión 2.07.1) (p. 1244)
• Actualizaciones del motor de base de datos de Aurora MySQL: 25/11/2019 (versión 2.07.0) (p. 1245)
• Actualizaciones del motor de base de datos de Aurora MySQL: 22/11/2019 (versión 2.06.0) (p. 1248)
• Actualizaciones del motor de base de datos de Aurora MySQL: 11/11/2019 (versión 2.05.0) (p. 1251)
• Actualizaciones del motor de base de datos de Aurora MySQL: 14/08/2020 (versión 2.04.9) (p. 1253)
• Actualizaciones del motor de base de datos de Aurora MySQL: 20/11/2019 (versión 2.04.8) (p. 1256)
• Actualizaciones del motor de base de datos de Aurora MySQL: 14/11/2019 (versión 2.04.7) (p. 1258)
• Actualizaciones del motor de base de datos de Aurora MySQL: 19/09/2019 (versión 2.04.6) (p. 1260)
• Actualizaciones del motor de base de datos de Aurora MySQL: 08/07/2019 (versión 2.04.5) (p. 1262)
• Actualizaciones del motor de base de datos de Aurora MySQL: 29/05/2019 (versión 2.04.4) (p. 1263)
• Actualizaciones del motor de base de datos de Aurora MySQL: 09/05/2019 (versión 2.04.3) (p. 1265)
• Actualizaciones del motor de base de datos de Aurora MySQL: 02/05/2019 (versión 2.04.2) (p. 1266)
• Actualizaciones del motor de base de datos de Aurora MySQL: 25/03/2019 (versión 2.04.1) (p. 1268)
• Actualizaciones del motor de base de datos de Aurora MySQL: 25/03/2019 (versión 2.04.0) (p. 1269)
• Actualizaciones del motor de base de datos de Aurora MySQL (07/02/2019) (p. 1271) (versión 2.03.4)
• Actualizaciones del motor de base de datos de Aurora MySQL (18/01/2019) (p. 1272) (versión 2.03.3)
• Actualizaciones del motor de base de datos de Aurora MySQL (09/01/2019) (p. 1273) (versión 2.03.2)
• Actualizaciones del motor de base de datos de Aurora MySQL (24/10/2018) (p. 1274) (versión 2.03.1)
• Actualizaciones del motor de base de datos de Aurora MySQL (11/10/2018) (p. 1274) (versión 2.03)
• Actualizaciones del motor de base de datos de Aurora MySQL (08/10/2018) (p. 1275) (versión 2.02.5)
• Actualizaciones del motor de base de datos de Aurora MySQL (21/09/2018) (p. 1276) (versión 2.02.4)
• Actualizaciones del motor de base de datos de Aurora MySQL (23/08/2018) (p. 1277) (versión 2.02.3)
• Actualizaciones del motor de base de datos de Aurora MySQL (04/06/2018) (p. 1279) (versión 2.02.2)
• Actualizaciones del motor de base de datos de Aurora MySQL (03/05/2018) (p. 1281) (versión 2.02)
• Actualizaciones del motor de base de datos de Aurora MySQL (13/03/2018) (p. 1283) (versión 2.01.1)
1197
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Actualizaciones del motor de base de datos de Aurora MySQL (06/02/2018) (p. 1285) (versión 2.01)
Aurora MySQL 2.10.2 ya está disponible de manera general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Correcciones de seguridad:
• CVE-2021-35624
• CVE-2021-35604
• CVE-2021-2390
• CVE-2021-2389
• CVE-2021-2385
• CVE-2021-2356
• CVE-2019-17543
• CVE-2019-2960
Mejoras generales:
• Se agregó una optimización del rendimiento para ayudar a reducir la latencia de E/S de la base de datos
en las clases de instancias 24XL.
• Se agregó compatibilidad con los cifrados SSL de ECDHE. Para obtener más información sobre la
configuración de sus clientes para que utilicen estos cifrados SSL, consulte la siguiente documentación
de MySQL Cifrados de protocolos de conexiones cifradas
• Se corrigieron problemas de seguridad relacionados con la integración de Aurora MySQL con otros
servicios de AWS, por ejemplo, Amazon S3, Amazon ML y AWS Lambda.
• Se corrigió un problema que podía provocar que el reinicio de una instancia de base de datos fallara
cuando la base de datos tenía aproximadamente más de 1 GB de combinaciones de usuarios y
privilegios.
• Se corrigió un problema con la consulta paralela que podía provocar que la base de datos devolviera
agrupaciones u órdenes de clasificación incorrectos al ejecutar consultas con una cláusula GROUP BY y
una cláusula WHERE que contenía un predicado de rango.
• Se corrigió un problema que podía provocar que las tablas general_log y slow_log se volvieran
inaccesibles tras una actualización de la versión principal in situ de Aurora MySQL 1.x (compatible con
MySQL 5.6) a Aurora MySQL 2.x (compatible con MySQL 5.7).
• Se corrigió un problema que, en casos excepcionales, podía provocar que la instancia de base de datos
se reiniciara cuando se consultaban las tablas innodb_trx, innodb_locks o innodb_lockwaits mientras
la base de datos se encontraba bajo una elevada carga de trabajo. Las herramientas y funciones de
supervisión, como Información sobre rendimiento, pueden consultar dichas tablas.
• Se ha corregido un problema por el que el valor de una columna TIMESTAMP de una fila existente se
actualizaba a la última marca de hora cuando se cumplían todas las condiciones siguientes:
1. Existe un desencadenador para la tabla.
1198
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
2. Se realiza un INSERT en la tabla que tiene una cláusula ON DUPLICATE KEY UPDATE.
3. La fila insertada provoca una infracción de valor duplicado en un índice UNIQUE o PRIMARY KEY.
4. Una o varias columnas son del tipo de datos TIMESTAMP y tienen un valor predeterminado
CURRENT_TIMESTAMP.
• Se corrigió un error que, en casos excepcionales, podía evitar que una réplica binlog se conectara a una
instancia con binlog habilitado.
• Se corrigió un error que provocaba que, en condiciones excepcionales, las transacciones no se podían
confirmar cuando se ejecutaban en una instancia con binlog habilitado.
• Se corrigió un problema por el que no se podían establecer nuevas conexiones a una instancia con
binlog habilitado.
• Se corrigió un problema que podía provocar un registro interno excesivo al intentar aplicar parches y
reiniciarse sin tiempo de inactividad que provocaba que se llenara el almacenamiento local.
• Se corrigió un problema que provocaba que una réplica de binlog se detuviera con un error
HA_ERR_FOUND_DUPP_KEY al replicar ciertas instrucciones DDL y DCL. El problema se produce
cuando la instancia de origen se configura con el formato de registro binario MIXED y el nivel de
aislamiento READ COMMITTED o READ UNCOMMITED.
• Se corrigió un problema que provocaba que el subproceso de E/S de replicación de binlog no pudiera
atender la instancia principal, cuando la replicación de subprocesos múltiples se habilita.
• Se corrigió un problema que provocaba que, en raras condiciones, un gran número de conexiones
activas a la instancia de base de datos puede provocar que la métrica de CommitLatency de
CloudWatch se informara incorrectamente.
• Se corrigió un error que provocaba que el almacenamiento local en instancias de Graviton se llenara al
ejecutar LOAD FROM S3 o SELECT INTO S3.
• Se corrigió un problema que podía provocar resultados de consulta erróneos al consultar una tabla con
una clave externa y se cumplieran las dos condiciones siguientes:
1. La caché de consultas se habilita
2. Se revierte una transacción con una eliminación o actualización en cascada de esa tabla.
• Se corrigió un problema que, en raras condiciones, podía provocar que las instancias de lector de Aurora
se reiniciaran. La probabilidad de que se produzca este problema aumenta a medida que aumenta el
número de reversiones de transacciones.
• Se corrigió un error que provocaba que el número de incidencias 'LOCK_epoch_id_master' de exclusión
mutua en Esquema de rendimiento aumentara cuando se abría y cerraba una sesión.
• Se corrigió un problema que podía provocar un número cada vez mayor de bloqueos de las cargas de
trabajo que tenían muchas transacciones actualizando el mismo conjunto de filas simultáneamente.
• Se corrigió un problema que, en raras condiciones, podía provocar que las instancias se reiniciaran
cuando crecía el volumen de la base de datos a un múltiplo de 160 GB.
• Se corrigió un problema con la consulta paralela que podía provocar que la base de datos se reiniciara al
ejecutar instrucciones SQL con una cláusula LIMIT.
• Se corrigió un problema que, en raras condiciones, podía provocar que la instancia de base de datos se
reiniciara al utilizar transacciones XA con el nivel de aislamiento READ COMMITED.
• Se corrigió un error que provocaba que, después de reiniciarse una instancia de lectura de Aurora,
podría reiniciarse de nuevo si se producía una carga de trabajo de DDL pesada durante el reinicio.
• Se corrigió un problema de notificación incorrecta del retraso en la replicación de lectura de Aurora.
• Se ha corregido un problema que, en raras condiciones, podía provocar que una instancia de escritor se
reiniciara cuando fallaba una verificación de integridad de datos en memoria.
• Se corrigió un problema que, en raras condiciones, mostraba incorrectamente que el gráfico “Carga de
base de datos” de las sesiones de Información sobre rendimiento se utilizaba activamente con la CPU,
aunque las sesiones habían terminado de procesarse y estaban inactivas.
• Se corrigió un problema que, en raras condiciones, podía provocar que el servidor de base de datos se
reiniciara cuando se procesaba una consulta mediante una consulta paralela.
1199
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Se corrigió un problema que, en raras condiciones, podía provocar que la instancia de escritor del clúster
principal de base de datos global se reiniciara debido a una condición de carrera durante la replicación
de base de datos global.
• Se corrigió un problema que podía producirse durante el reinicio de una instancia de base de datos que
podía provocar más de un reinicio.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
1200
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
implementación nativa de la indexación espacial mediante curvas de orden z para multiplicar por más de
20 el rendimiento de escritura y por más de 10 el rendimiento de lectura en comparación con MySQL 5.7
para conjuntos espaciales.
Aurora MySQL 2.10.1 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones compatibles de Aurora MySQL son 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*, 1.20.*, 1.21.*,
1.22.*, 1.23.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.*, 2.08.*, 2.09.* y 2.10.*.
Puede actualizar un clúster de base de datos de Aurora MySQL 2.* existente a Aurora MySQL 2.10.1. Para
clústeres que ejecutan la versión 1 de Aurora MySQL, puede actualizar un clúster de Aurora MySQL 1.23
o posterior existente directamente a la versión 2.10.1. Se puede restaurar en Aurora MySQL 2.10.1 una
instantánea de una versión de Aurora MySQL actualmente compatible.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de Amazon RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Correcciones de seguridad:
• CVE-2021-2194
• CVE-2021-2174
• CVE-2021-2154
1201
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• CVE-2021-2307
• CVE-2021-2226
• CVE-2021-2171
• CVE-2021-2169
• CVE-2021-2166
• CVE-2021-2160
• CVE-2021-2060
• CVE-2021-2032
• CVE-2021-2001
Mejoras de disponibilidad:
Mejoras generales:
• Se ha corregido un problema que podía provocar un elevado consumo de CPU en las instancias del
lector debido al registro excesivo de mensajes informativos en los archivos de registro de diagnóstico
internos.
• Se ha corregido un problema por el que el valor de una columna TIMESTAMP de una fila existente se
actualizaba a la última marca de hora cuando se cumplían todas las condiciones siguientes:
1. Existe un desencadenador para la tabla.
2. Se realiza un INSERT en la tabla que tiene una cláusula ON DUPLICATE KEY UPDATE.
3. La fila insertada provoca una infracción de valor duplicado en un índice UNIQUE o PRIMARY KEY.
4. Una o varias columnas son del tipo de datos TIMESTAMP y tienen un valor predeterminado
CURRENT_TIMESTAMP.
• Se ha corregido un problema introducido en la versión 2.10.0 que provocaba que el uso de la función
json_merge generara un código de error en determinados casos. En particular, cuando se utiliza la
función json_merge en un DDL que contiene columnas generadas, puede devolver el código de error
1305.
• Se ha corregido un problema por el que, en raras condiciones, las réplicas de lectura se reiniciaban
cuando se validaba el historial de actualizaciones de un objeto grande para la vista de lectura de una
transacción en la réplica de lectura.
• Se ha corregido un problema que, en raras condiciones, provocaba que una instancia de escritor se
reiniciara cuando fallaba una verificación de integridad de datos en memoria.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
1202
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.10.0 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones compatibles de Aurora MySQL son 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*, 1.20.*, 1.21.*,
1.22.*, 1.23.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.*, 2.08.*, 2.09.* y 2.10.*.
Puede actualizar un clúster de base de datos de Aurora MySQL 2.* existente a Aurora MySQL 2.10.0. Para
clústeres que ejecutan la versión 1 de Aurora MySQL, puede actualizar un clúster de Aurora MySQL 1.23
o posterior existente directamente a la versión 2.10.0. Se puede restaurar en Aurora MySQL 2.10.0 una
instantánea de una versión de Aurora MySQL actualmente compatible.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de Amazon RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
1203
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Correcciones de seguridad:
• CVE-2021-23841
• CVE-2021-3449
• CVE-2020-28196
• CVE-2020-14790
• CVE-2020-14776
• CVE-2020-14567
• CVE-2020-14559
• CVE-2020-14553
• CVE-2020-14547
• CVE-2020-14540
• CVE-2020-14539
• CVE-2018-3251
• CVE-2018-3156
• CVE-2018-3143
Nuevas características:
1204
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
en una única solicitud enviada al almacenamiento de Aurora. Como resultado, las consultas que utilizan
la optimización LRA se ejecutan hasta tres veces más rápido.
• Reinicios y aplicación de parches sin tiempo de inactividad:
• Mejora en el reinicio sin tiempo de inactividad (ZDR) y en la aplicación de revisiones sin tiempo
de inactividad (ZDP) para habilitar ZDR y ZDP en una gama más amplia de escenarios, incluido el
soporte adicional para casos en que el registro binario está habilitado. Además, se ha mejorado la
visibilidad de los eventos ZDR y ZDP. Para obtener detalles, consulte la documentación Reinicio sin
tiempo de inactividad (ZDR) para Amazon Aurora MySQL (p. 991) y Uso de parches sin tiempo de
inactividad (p. 1178).
Mejoras de disponibilidad:
• Mejoras para un inicio más rápido cuando la base de datos tiene un gran número de índices y tablas
temporales creados durante una actividad DDL interrumpida anteriormente.
• Se han corregido varios problemas relacionados con reinicios repetidos durante la recuperación
de bloqueos de las operaciones DDL interrumpidas, como DROP TRIGGER, ALTER TABLE y
específicamente ALTER TABLE, que modifican el tipo de partición o el número de particiones en una
tabla.
• Se ha corregido un problema que podía provocar el reinicio del servidor durante el procesamiento de
registros de flujos de actividad de bases de datos (DAS).
• Se ha corregido un problema al imprimir un mensaje de error al procesar una consulta de ALTER en
tablas del sistema.
Mejoras generales:
• Se ha corregido un problema por el que la caché de consultas podía devolver resultados obsoletos en
una instancia de lector.
• Se ha corregido un error que provocaba que algunas métricas de confirmación de Aurora no se
actualizaran cuando la variable de sistema innodb_flush_log_at_trx_commit se establecía en 0 o
2.
• Se ha corregido un problema por el que el resultado de una consulta almacenada en la caché de
consultas no se actualizaba mediante transacciones multiestado.
• Se ha corregido un error que podía provocar que la última marca temporal modificada de los archivos
de registro binario no se actualizara correctamente. Esto podría provocar que los archivos de registro
binario se purguen de forma prematura, antes de alcanzar el periodo de retención configurado por el
cliente.
• Se ha corregido el nombre y la posición del archivo binlog que se informaron de forma incorrecta a partir
de InnoDB después de la recuperación de bloqueos.
• Se ha corregido un problema que podía provocar que las transacciones grandes generaran eventos
binlog incorrectos si el parámetro binlog_checksum se establecía en NONE.
• Se ha corregido un problema que provocaba que una réplica binlog se detuviera con un error si la
transacción reproducida contenía una instrucción DDL y un gran número de cambios de fila.
• Se ha corregido un problema que provocaba un reinicio en una instancia de lector al soltar una tabla.
• Se ha corregido un error que provocaba que los conectores de código abierto fallaran al intentar
consumir un archivo binlog con una transacción grande.
• Se ha corregido un problema que podía provocar resultados de consulta incorrectos en la columna de
geometría grande después de crear un índice espacial en la tabla con los valores de geometría grandes.
• La base de datos vuelve a crear el espacio de tabla temporal durante el reinicio, lo que permite liberar y
recuperar el espacio de almacenamiento asociado.
• Se ha corregido un error que impedía truncar las tablas de performance_schema en las instancias de
lector de Aurora.
1205
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Se ha corregido un problema que provocaba que una réplica binlog se detuviera por un error
HA_ERR_KEY_NOT_FOUND.
• Se ha corregido un problema que provocaba que la base de datos se reiniciara al ejecutar una
declaración FLUSH TABLES WITH READ LOCK.
• Se ha corregido un error que impedía el uso de funciones de bloqueo de nivel de usuario en instancias
de lector de Aurora.
1206
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
1207
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
1208
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.09.3 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de Amazon RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Correcciones de seguridad:
• CVE-2021-23841
• CVE-2021-3712
• CVE-2021-3449
• CVE-2021-2307
• CVE-2021-2226
• CVE-2021-2174
• CVE-2021-2171
• CVE-2021-2169
• CVE-2021-2166
• CVE-2021-2154
• CVE-2021-2060
• CVE-2021-2032
• CVE-2021-2001
• CVE-2020-28196
• CVE-2020-14769
• CVE-2019-17543
1209
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• CVE-2019-2960
Mejoras de disponibilidad:
• Se ha introducido una optimización que puede reducir la contención de consultas que se ejecutan en
tablas de information_schema.
• Agregue compatibilidad con los cifrados SSL ECDHE.
Mejoras generales:
• Se ha corregido un problema que, en raras condiciones, podía provocar que una instancia de escritor se
reiniciara cuando fallaba una verificación de integridad de datos en memoria.
• Se ha corregido un problema que, en raras condiciones, podía provocar que la instancia de base
de datos se reiniciara cuando el volumen del clúster se expandía mientras el registro binario estaba
habilitado.
• Se ha corregido una condición de carrera durante el reinicio de una instancia de base de datos que
podía provocar más de un reinicio.
• Se ha corregido un problema que podía provocar que el reinicio de una instancia de base de datos
fallara cuando la base de datos tenía un gran número de combinaciones de usuarios y privilegios.
• Se ha corregido un problema con la consulta paralela que podía provocar que la base de datos se
reiniciara al ejecutar instrucciones SQL con la cláusula LIMIT.
• Se ha corregido un problema de notificación incorrecta del retraso en la replicación de Aurora.
• Se ha corregido un problema que podía provocar que las tablas general_log y slow_log se volvieran
inaccesibles tras la actualización de la versión principal de Aurora-MySQL 1.x (basada en MySQL 5.6) a
Aurora-MySQL 2.x (basada en MySQL 5.7).
• Se ha corregido un problema que, en casos excepcionales, podía provocar que la instancia de base
de datos se reiniciara cuando se consultaban las tablas innodb_trx, innodb_locks o innodb_lockwaits
mientras la base de datos se encontraba bajo una elevada carga de trabajo. Las herramientas y
funciones de monitoreo, como la información sobre rendimiento, pueden consultar dichas tablas.
• Se ha corregido un problema que podía provocar que una instancia de base de datos se reiniciara
cuando se ejecutaba la instrucción SQL “FLUSH TABLES WITH READ LOCK”.
• Se ha corregido un error que provocaba que el proceso de depuración de InnoDB se detuviera durante
la eliminación de una instancia de lector, lo que provocaba un aumento temporal de la longitud de la lista
del historial.
• Se ha corregido un problema con la consulta paralela que podía provocar que la base de datos se
reiniciara al ejecutar una instrucción SQL contra una tabla que contenía una columna virtual.
• Se ha corregido un problema con la consulta paralela que podía provocar que la base de datos
devolviera agrupaciones u órdenes de clasificación incorrectos al ejecutar consultas con la cláusula
GROUP BY y una cláusula WHERE que contenía un predicado de rango.
• Se ha corregido un problema con la consulta paralela que, en raras condiciones, podía provocar que la
base de datos se reiniciara al ejecutar instrucciones SQL con funciones JSON.
• Se ha corregido un problema que, en raras condiciones, podía provocar que la instancia de escritor
del clúster de base de datos global principal se reiniciara debido a una condición de carrera durante la
replicación de bases de datos globales.
• Se ha corregido un problema que provocaba que una réplica de Binlog se detuviera con un error
HA_ERR_FOUND_DUPP_KEY al replicar ciertas instrucciones DDL y DCL. El problema se produce
cuando la instancia de origen se configura con el formato de registro binario MIXED y el nivel de
aislamiento READ COMMITTED o READ UNCOMMITED.
• Se ha corregido un problema que, en raras condiciones, podía provocar que la instancia de base de
datos se reiniciara al utilizar transacciones XA en el nivel de aislamiento READ COMMITED.
• Se ha corregido un problema por el que el valor de una columna TIMESTAMP de una fila existente se
actualizaba a la última marca de hora cuando se cumplían todas las condiciones siguientes: 1. existe un
1210
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
desencadenador para la tabla; 2. se realiza una acción INSERT en la tabla que tiene una cláusula ON
DUPLICATE KEY UPDATE; 3. la fila insertada puede provocar una infracción de valor duplicado en un
índice UNIQUE o PRIMARY KEY y 4. una o más columnas son del tipo de datos TIMESTAMP y tienen
un valor predeterminado de CURRENT_TIMESTAMP.
• Se ha corregido un error que, en raras condiciones, podía provocar que una instancia de lector se
reiniciara debido a un procesamiento de verificación incorrecto.
• Se ha corregido un problema que podía provocar que la instancia del lector se reiniciara cuando la
instancia del escritor aumentaba el volumen de la base de datos para cruzar límites de tamaño de
volumen específicos.
• Se ha corregido un problema que podía provocar tiempos de reinicio más prolongados para las
instancias de base de datos utilizando volúmenes de clústeres clonados.
• Se ha corregido un problema por el que el reinicio de una instancia de base de datos podía fallar una o
más veces después de que se realizara una operación TRUNCATE TABLE en la instancia de escritor.
• Se ha corregido un problema que, en raras condiciones, podía provocar que la instancia de base de
datos se reiniciara.
• Se corrigió un problema que, en raras condiciones, podía provocar que la instancia de escritor se
reiniciara cuando crecía el volumen de la base de datos a un múltiplo de 160 GB.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
1211
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
implementación nativa de la indexación espacial mediante curvas de orden z para multiplicar por más de
20 el rendimiento de escritura y por más de 10 el rendimiento de lectura en comparación con MySQL 5.7
para conjuntos espaciales.
Aurora MySQL 2.09.2 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones de Aurora MySQL actualmente compatibles son: 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
1.20.*, 1.21.*, 1.22.*, 1.23.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.*, 2.08.* y 2.09.*.
Puede actualizar un clúster de base de datos de Aurora MySQL 2.* existente a Aurora MySQL 2.09.2. Para
clústeres que ejecutan la versión 1 de Aurora MySQL, puede actualizar un clúster de Aurora MySQL 1.23 o
posterior existente directamente a la versión 2.09.2. También se puede restaurar en Aurora MySQL 2.09.2
una instantánea de una versión de Aurora MySQL actualmente compatible.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de Amazon RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Nuevas características:
• Los clústeres de Aurora MySQL ahora admiten las siguientes instancias EC2 R6g con procesadores
Graviton2 de AWS basados en ARM: r6g.large, r6g.xlarge, r6g.2xlarge, r6g.4xlarge,
r6g.8xlarge, r6g.12xlarge, r6g.16xlarge. Para obtener más información, consulte Clases de
instancia de base de datos Aurora (p. 56).
1212
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Correcciones de seguridad:
• CVE-2020-14775
• CVE-2020-14793
• CVE-2020-14765
• CVE-2020-14769
• CVE-2020-14812
• CVE-2020-14760
• CVE-2020-14672
• CVE-2020-14790
• CVE-2020-1971
Mejoras de disponibilidad:
• Se ha corregido un problema introducido en la versión 2.09.0 que podía provocar una latencia de
escritura elevada durante el escalado del volumen de almacenamiento del clúster.
• Se ha corregido un problema en la función de cambio de tamaño dinámico que podía provocar que las
réplicas de lectura de Aurora se reiniciaran.
• Se ha corregido un problema que podía provocar un tiempo de inactividad más prolongado durante la
actualización de 1.23.* a 2.09.*.
• Se ha corregido un problema por el que una DDL o DML podía provocar el reinicio del motor durante una
solicitud de captura previa de página.
• Se ha corregido un problema que provocaba que una réplica binlog se detuviera con un error si la
transacción replicada contenía una instrucción DDL y un gran número de cambios de fila.
• Se ha corregido un problema por el que una base de datos que actuaba como una réplica binlog podía
reiniciarse mientras replicaba un evento DDL en la tabla mysql time_zone.
• Se ha corregido un problema que podía provocar que las transacciones grandes generaran eventos
binlog incorrectos si el parámetro binlog_checksum se establecía en NONE.
• Se ha corregido un problema que provocaba que una réplica binlog se detuviera por un error
HA_ERR_KEY_NOT_FOUND.
• Mejora de la estabilidad general.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
1213
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.09.1 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones de Aurora MySQL actualmente compatibles son: 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
1.20.*, 1.21.*, 1.22.*, 1.23.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.*, 2.08.* y 2.09.*.
Puede actualizar un clúster de base de datos de Aurora MySQL 2.* existente a Aurora MySQL 2.09.1. Para
clústeres que ejecutan la versión 1 de Aurora MySQL, puede actualizar un clúster de Aurora MySQL 1.23
o posterior existente directamente a la versión 2.09.1. Se puede restaurar en Aurora MySQL 2.09.1 una
instantánea de una versión de Aurora MySQL actualmente compatible.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
1214
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Mejoras
Correcciones de seguridad:
• CVE-2020-14567
• CVE-2020-14559
• CVE-2020-14553
• CVE-2020-14547
• CVE-2020-14540
• CVE-2020-2812
• CVE-2020-2806
• CVE-2020-2780
• CVE-2020-2765
• CVE-2020-2763
• CVE-2020-2760
• CVE-2020-2579
Cambios incompatibles:
Esta versión introduce un cambio de permisos que afecta al comportamiento del comando
mysqldump. Los usuarios deben tener el privilegio de PROCESS para acceder a la tabla
INFORMATION_SCHEMA.FILES. Para ejecutar el comando mysqldump sin ningún cambio, conceda
el privilegio PROCESS al usuario de base de datos al que se conecta el comando mysqldump. También
puede ejecutar el comando mysqldump con la opción --no-tablespaces. Con esa opción, la salida
mysqldump no incluye ninguna instrucción CREATE LOGFILE GROUP o CREATE TABLESPACE. En
ese caso, el comando mysqldump no tiene acceso a la tabla INFORMATION_SCHEMA.FILES y no es
necesario conceder el permiso PROCESS.
Mejoras de disponibilidad:
• Se ha corregido un problema que podía provocar que una sesión de cliente se bloqueara cuando el
motor de base de datos encontraba un error al leer o escribir en la red.
• Se ha corregido una pérdida de memoria en la función de cambio de tamaño dinámico, introducida en
2.09.0.
• Se han corregido varios problemas que provocaba que las réplicas de una región secundaria de base
de datos global se reiniciaran cuando se actualizaba a la versión 2.09.0 mientras el escritor de región
principal estaba en una versión anterior.
1215
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Para una instrucción INSERT para la que la lista VALUES generó valores para la segunda fila o posterior
mediante una subconsulta que contiene una combinación, el servidor podría salir después de no resolver
los privilegios requeridos. (Error n.º 23762382)
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.09.0 está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
1216
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Las versiones de Aurora MySQL actualmente compatibles son: 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
1.20.*, 1.21.*, 1.22.*, 1.23.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.*, 2.08.* y 2.09.*.
Puede restaurar una instantánea de Aurora MySQL 1.23.* a Aurora MySQL 2.09.0. También puede
actualizar a Aurora MySQL 2.09.0 los clústeres de base de datos de Aurora MySQL 2.* existentes. Los
clústeres de Aurora MySQL 1.23.* existentes no se pueden actualizar directamente a la versión a 2.09.0;
sin embargo, su instantánea sí puede actualizarse a Aurora MySQL 2.09.0.
Important
Las mejoras en el almacenamiento Aurora en esta versión limitan las rutas de actualización
disponibles de Aurora MySQL 1.* a Aurora MySQL 2.09. Al actualizar un clúster Aurora MySQL
1.* a 2.09, debe actualizar desde Aurora MySQL 1.23.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Nuevas características:
• Con esta versión, puede crear instancias de base de datos MySQL de Amazon Aurora con hasta
128 tebibytes (TiB) de almacenamiento. El nuevo límite de almacenamiento supone un aumento con
respecto a los 64 TiB anteriores. El tamaño de almacenamiento de 128 TiB admite bases de datos
mayores. Esta capacidad no se admite en tamaños de instancias pequeñas (db.t2 o db.t3). Un único
espacio de tabla no puede crecer más allá de 64 TiB debido a limitaciones de InnoDB con un tamaño de
página de 16 KB.
Aurora le avisa cuando el tamaño del volumen del clúster está cerca de 128 TiB, de modo que pueda
tomar medidas antes de alcanzar el límite de tamaño. Las alertas aparecen en el registro mysql y
Eventos RDS en la AWS Management Console.
• Ahora puede activar o desactivar la consulta paralela para un clúster existente cambiando el valor
del parámetro de clúster de base de datos aurora_parallel_query. No es necesario utilizar la
configuración de parallelquery del parámetro --engine-mode al crear el clúster.
La consulta paralela ahora se expande para estar disponible en todas las regiones donde Aurora MySQL
está disponible.
Hay varias mejoras de funcionalidad y cambios en los procedimientos para actualizar y habilitar
consultas paralelas en un clúster de Aurora. Para obtener más información, consulte Trabajar con
consultas paralelas de Amazon Aurora MySQL (p. 948).
• Aurora cambia dinámicamente el espacio de almacenamiento del clúster. Con el cambio de
tamaño dinámico, el espacio de almacenamiento del clúster de base de datos de Aurora disminuye
automáticamente al quitar datos del clúster de base de datos. Para obtener más información, consulte
Escalado del almacenamiento (p. 434).
Note
1217
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
es posible que esta característica no esté disponible todavía. Para obtener más información,
consulte el anuncio de Novedades.
• Backport de comunicad Error n.º 27659490: SELECT USING DYNAMIC RANGE AND INDEX MERGE
USE TOO MUCH MEMORY (OOM)
• Error n.º 26881508: MYSQL n.º 1: DISABLE_ABORT_ON_ERROR EN AUTH_COMMON.H
• Backport de comunidad Error n.º 24437124: POSSIBLE BUFFER OVERFLOW ON CREATE TABLE
• Backport de error n.º 27158030: INNODB ONLINE ALTER CRASHES WITH CONCURRENT DML
• Error n.º 29770705: EL SERVIDOR SE BLOQUEÓ AL EJECUTAR SELECT CON UNA CLÁUSULA
WHERE ESPECÍFICA
• Backport de error n.º 26502135: MYSQLD SEGFAULTS IN
MDL_CONTEXT::TRY_ACQUIRE_LOCK_IMPL
• Backport de error n.º 26935001: ALTER TABLE AUTO_INCREMENT TRIES TO READ INDEX FROM
DISCARDED TABLESPACE
• Error n.º 28491099: [FATAL] MEMORY BLOCK IS INVALID | INNODB: ASSERTION FAILURE:
UT0UT.CC:670
• Error n.º 30499288: GCC 9.2.1 REPORTS A NEW WARNING FOR OS_FILE_GET_PARENT_DIR
• Error n.º 29952565: MYSQLD GOT SIGNAL 11 WHILE EXECUTING A QUERY(UNION + ORDER BY +
SUB-QUERY)
• Error n.º 30628268: BLOQUEO DE MEMORIA INSUFICIENTE
• Error n.º 30441969: Error n.º 29723340: EL SERVIDOR DE MYSQL SE BLOQUEA DESPUÉS DE UNA
CONSULTA SQL CON DATOS ?AST
• Error n.º 30569003: 5.7 REPLICATION BREAKAGE WITH SYNTAX ERROR WITH GRANT
MANAGEMENT
• Error n.º 29915479: EJECUTAR COM_REGISTER_SLAVE SIN COM_BINLOG_DUMP PUEDE DAR
LUGAR A LA SALIDA DEL SERVIDOR
• Error n.º 30569003: 5.7 REPLICATION BREAKAGE WITH SYNTAX ERROR WITH GRANT
MANAGEMENT
• Error n.º 29915479: EJECUTAR COM_REGISTER_SLAVE SIN COM_BINLOG_DUMP PUEDE DAR
LUGAR A LA SALIDA DEL SERVIDOR
• Error n.º 20712046: SHOW PROCESSLIST AND PERFORMANCE_SCHEMA TABLES DO NOT MASK
PASSWORD FROM QUERY
• Error de Backport n.º 18898433: EXTREMELY SLOW PERFORMANCE WITH OUTER JOINS AND
JOIN BUFFER (corregido en 5.7.21). Las consultas a las que les faltan muchas uniones eran lentas si
se usaba el almacenamiento en búfer de unión (por ejemplo, usando el algoritmo de bucle anidado de
bloques). (Error n.º 18898433 y error n.º 72854)
• Error de Backport n.º 26402045: MYSQLD CRASHES ON QUERY (corregido en MySQL 5.7.23). Ciertos
casos de materialización de subconsulta podrían provocar la salida del servidor. Estas consultas ahora
producen un error que sugiere que la materialización se desactive. (Error n.º 26402045)
• [Backport de MySQL] usuarios distintos de rdsadmin no pueden actualizar la tabla pfs en la réplica del
lector.
• Solucionar el problema por el que el cliente no puede actualizar perfschema en la réplica del lector
• Error n.º 26666274: INFINITE LOOP IN PERFORMANCE SCHEMA BUFFER CONTAINER
• Error n.º 26997096: el valor relay_log_space no se actualiza de forma sincronizada de forma que
su valor en ocasiones es mucho más alto que el espacio real en disco usado por los registros de
retransmisión.
• ERROR N.º 25082593: FOREIGN KEY VALIDATION DOESN'T NEED TO ACQUIRE GAP LOCK IN
READ COMMITTED
1218
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• CVE-2019-2731
• CVE-2018-2645
• CVE-2019-2581
• CVE-2018-2787
• CVE-2019-2482
• CVE-2018-2640
• CVE-2018-2784
• CVE-2019-2628
• CVE-2019-2911
• CVE-2019-2628
• CVE-2018-3284
• CVE-2018-3065
• CVE-2019-2537
• CVE-2019-2948
• CVE-2019-2434
• CVE-2019-2420
Mejoras de disponibilidad:
1219
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Se han corregido errores de consulta inesperados que podían producirse en una región secundaria
de base de datos global después de problemas temporales de conectividad de red entre las regiones
principal y secundaria.
•
Consulta paralela:
• Se ha corregido el plan de EXPLAIN para una consulta de consulta paralela, que es incorrecto para una
consulta simple de una sola tabla.
• Se ha corregido el autobloqueo que puede producirse cuando se habilita la consulta paralela.
Mejoras generales:
1220
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Error n.º 30569003: 5.7 REPLICATION BREAKAGE WITH SYNTAX ERROR WITH GRANT
MANAGEMENT
• Error n.º 29915479: EJECUTAR COM_REGISTER_SLAVE SIN COM_BINLOG_DUMP PUEDE DAR
LUGAR A LA SALIDA DEL SERVIDOR
• Error n.º 30569003: 5.7 REPLICATION BREAKAGE WITH SYNTAX ERROR WITH GRANT
MANAGEMENT
• Error n.º 29915479: EJECUTAR COM_REGISTER_SLAVE SIN COM_BINLOG_DUMP PUEDE DAR
LUGAR A LA SALIDA DEL SERVIDOR
• Error n.º 20712046: SHOW PROCESSLIST AND PERFORMANCE_SCHEMA TABLES DO NOT MASK
PASSWORD FROM QUERY
• Error n.º 18898433: EXTREMELY SLOW PERFORMANCE WITH OUTER JOINS AND JOIN BUFFER
(corregido en 5.7.21)
• Error n.º 26402045: MYSQLD CRASHES ON QUERY (corregido en MySQL 5.7.23)
• Error n.º 23103937: PS_TRUNCATE_ALL_TABLES() NO FUNCIONA EN MODO SUPER_READ_ONLY
• Error n.º 26666274: INFINITE LOOP IN PERFORMANCE SCHEMA BUFFER CONTAINER
• Error n.º 26997096: el valor relay_log_space no se actualiza de forma sincronizada
de forma que su valor en ocasiones es mucho más alto que el espacio real en disco
usado por los registros de retransmisión. (https://github.com/mysql/mysql-server/commit/
78f25d2809ad457e81f90342239c9bc32a36cdfa)
• Error n.º 25082593: FOREIGN KEY VALIDATION DOESN'T NEED TO ACQUIRE GAP LOCK IN READ
COMMITTED
• Error n.º 24764800: REPLICATION FAILING ON SLAVE WITH XAER_RMFAIL ERROR.
• Error n.º 81441: WARNING ABOUT LOCALHOST WHEN USING SKIP-NAME-RESOLVE.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
1221
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.08.4 ya está disponible de manera general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Correcciones de seguridad y mejoras generales:
• Se corrigieron problemas de seguridad relacionados con la integración de Aurora MySQL con otros
servicios de AWS, por ejemplo, Amazon S3, Amazon ML y AWS Lambda.
• Se ha corregido un problema por el que el valor de una columna TIMESTAMP de una fila existente se
actualizaba a la última marca de hora cuando se cumplían todas las condiciones siguientes: 1. existe un
desencadenador para la tabla; 2. se realiza una acción INSERT en la tabla que tiene una cláusula ON
DUPLICATE KEY UPDATE; 3. la fila insertada puede provocar una infracción de valor duplicado en un
índice UNIQUE o PRIMARY KEY y 4. una o más columnas son del tipo de datos TIMESTAMP y tienen
un valor predeterminado de CURRENT_TIMESTAMP.
• Se corrigió un problema que, en raras condiciones, provocaba que una instancia de escritor se reiniciara
cuando no se podía verificar la integridad de datos en memoria.
• Se corrigió un problema con la consulta paralela que podía provocar que la base de datos se reiniciara al
ejecutar instrucciones SQL con una cláusula LIMIT.
1222
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.08.3 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones Aurora MySQL admitidas actualmente para la actualización a 2.08.3 son: 1.14.*, 1.15.*,
1.16.*, 1.17.*, 1.18.*, 1.19.*, 1.20.*, 1.21.*, 1.22.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.* y
2.08.*.
Puede actualizar los clústeres de bases de datos Aurora MySQL 2.* existentes directamente a Aurora
MySQL 2.08.3. Puede actualizar un clúster Aurora MySQL 1.* existente directamente a 2.07.3 o superior y,
a continuación, actualizar directamente a 2.08.3.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
1223
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Correcciones de seguridad:
• CVE-2020-14567
• CVE-2020-14559
• CVE-2020-14553
• CVE-2020-14547
• CVE-2020-14540
• CVE-2020-2812
• CVE-2020-2806
• CVE-2020-2780
• CVE-2020-2765
• CVE-2020-2763
• CVE-2020-2760
• CVE-2020-2579
Cambios incompatibles:
Esta versión introduce un cambio de permisos que afecta al comportamiento del comando
mysqldump. Los usuarios deben tener el privilegio de PROCESS para acceder a la tabla
INFORMATION_SCHEMA.FILES. Para ejecutar el comando mysqldump sin ningún cambio, conceda
el privilegio PROCESS al usuario de base de datos al que se conecta el comando mysqldump. También
puede ejecutar el comando mysqldump con la opción --no-tablespaces. Con esa opción, la salida
mysqldump no incluye ninguna instrucción CREATE LOGFILE GROUP o CREATE TABLESPACE. En
ese caso, el comando mysqldump no tiene acceso a la tabla INFORMATION_SCHEMA.FILES y no es
necesario conceder el permiso PROCESS.
1224
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
La versión 2.08.2 de Aurora MySQL ya está disponible con carácter general. Las versiones 2.x de Aurora
MySQL son compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con
MySQL 5.6.
Las versiones de Aurora MySQL compatibles actualmente son 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
1.20.*, 1.21.*, 1.22.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.* y 2.08.*.
Puede restaurar en Aurora MySQL 2.08.2 una instantánea de una versión de Aurora MySQL que sea
compatible. Tiene la opción de actualizar los clústeres de base de datos de Aurora MySQL 2.* existentes a
Aurora MySQL 2.08.2. Los clústeres de Aurora MySQL 1.* existentes no se pueden actualizar directamente
a la versión a 2.08.2; sin embargo, su instantánea sí puede actualizarse a Aurora MySQL 2.08.2. Para
1225
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
obtener más información sobre la restauración de instantáneas, consulte Restauración de una instantánea
de clúster de base de datos (p. 545).
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Correcciones fundamentales:
• Se ha corregido un problema que provocaba que la base de datos de Aurora MySQL se reiniciara si era
una réplica de binlog y replicara un evento DDL a través de la tabla mysql time_zone.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
1226
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.08.1 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones de Aurora MySQL compatibles actualmente son 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
1.20.*, 1.21.*, 1.22.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.* y 2.08.*.
Puede restaurar una instantánea en Aurora MySQL 2.08.1 a partir de una versión de Aurora MySQL que
tenga actualmente soporte. Tiene la opción de actualizar los clústeres de base de datos de Aurora MySQL
2.* existentes a Aurora MySQL 2.08.1. Los clústeres de Aurora MySQL 1.* existentes no se pueden
actualizar directamente a la versión a 2.08.1; sin embargo, su instantánea sí puede actualizarse a Aurora
MySQL 2.08.1.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Nuevas características:
• Reenvío de escritura de la base de datos global. En una base de datos global de Aurora, ahora puede
realizar ciertas operaciones de escritura, como sentencias DML, mientras está conectado a un clúster
secundario. Las operaciones de escritura se reenvían al clúster principal y los cambios se replican de
nuevo en los clústeres secundarios. Para obtener más información, consulte Uso del reenvío de escritura
en una base de datos Amazon Aurora global (p. 279).
1227
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.08.0 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
1228
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Las versiones de Aurora MySQL compatibles actualmente son 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
1.20.*, 1.21.*, 1.22.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.* y 2.08.*.
Puede restaurar una instantánea en Aurora MySQL 2.08.0 a partir de una versión de Aurora MySQL que
tenga actualmente soporte. Tiene la opción de actualizar los clústeres de base de datos de Aurora MySQL
2.* existentes a Aurora MySQL 2.08.0. Los clústeres de Aurora MySQL 1.* existentes no se pueden
actualizar directamente a la versión a 2.08.0; sin embargo, su instantánea sí puede actualizarse a Aurora
MySQL 2.08.0.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Nuevas características:
• Procesamiento de binary log (binlog) mejorado para reducir el tiempo de recuperación de errores y la
latencia de tiempo de confirmación cuando se trata de transacciones muy grandes.
• Lanzamiento de la característica de transmisiones de actividades de la base de datos (DAS) para Aurora
MySQL. Esta característica proporciona un flujo de datos casi en tiempo real de la actividad de la base
de datos en la base de datos relacional para ayudarle a monitorear la actividad. Para obtener más
información, consulte . Monitoreo de Amazon Aurora mediante los flujos de actividad de la base de
datos (p. 768).
• Se han actualizado los archivos de zona horaria para que sean compatibles con el último cambio de
zona horaria de Brasil.
• Se han introducido nuevas palabras clave en SQL para ejercer la funcionalidad de combinación de hash
para una tabla específica o tabla interna: HASH_JOIN, HASH_JOIN_PROBING y HASH_JOIN_BUILDING.
Para obtener más información, consulte Consejos de Aurora MySQL (p. 1161).
• Se ha introducido el soporte de sugerencia de orden de unión en Aurora MySQL 5.7 mediante la
corrección de una característica de MySQL 8.0. Las nuevas sugerencias son JOIN_FIXED_ORDER,
JOIN_ORDER, JOIN_PREFIX y JOIN_SUFFIX. Para obtener documentación detallada sobre la
compatibilidad de sugerencias de orden de combinación, consulte WL#9158: Sugerencias de orden de
combinación.
• Aurora Machine Learning ahora admite funciones definidas por el usuario con MEDIUMINT como tipo de
retorno.
• El procedimiento almacenado lambda_async() ahora admite todos los caracteres utf8 de MySQL.
• Se ha corregido un problema que podía provocar que una instancia de base de datos de
lector devuelva resultados incompletos para una consulta FTS después de consultar la tabla
INFORMATION_SCHEMA.INNODB_SYS_TABLES en la instancia de base de datos de escritor.
• CVE-2019-5443
• CVE-2019-3822
1229
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Mejoras de disponibilidad:
• Se ha corregido un problema que provocaba que se reiniciara la base de datos después de que se
ejecutara una instrucción multiconsulta que accedía a varias tablas o bases de datos con la caché de
consultas habilitada.
• Se ha corregido una condición de carrera en el administrador de bloqueos que provocaba un reinicio de
la base de datos o una conmutación por error durante la restauración de la transacción.
• Se ha corregido un problema que provocaba el reinicio de la base de datos o la conmutación por error
cuando varias conexiones intentaban actualizar la misma tabla con un índice de búsqueda de texto
completo.
• Se ha corregido un problema que podía desencadenar un reinicio de la base de datos o una
conmutación por error durante un comando kill session. Si encuentra este problema, póngase en
contacto con AWS Support para habilitar esta corrección en su instancia.
• Se ha corregido un problema que provocaba que la instancia de base de datos del lector se reiniciara
durante una transacción de varias instrucciones con varias instrucciones SELECT y una carga de trabajo
de escritura intensa en la instancia de base de datos del escritor con AUTOCOMMIT habilitado.
• Se ha corregido un problema que provocaba que la instancia de base de datos del lector se reiniciara
después de ejecutar consultas de larga ejecución mientras la instancia de base de datos del escritor se
encontraba bajo una carga intensa de trabajo de escritura OLTP.
Mejoras generales:
1230
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
1231
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.07.7 ya está disponible con carácter general. Las versiones 2.* de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.* de Aurora MySQL son compatibles con MySQL 5.6.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Correcciones de seguridad:
• CVE-2019-17543
• CVE-2019-2960
Mejoras generales:
• Se han corregido problemas de seguridad relacionados con la integración de Aurora MySQL con otros
servicios de AWS como, por ejemplo, Amazon S3, Amazon ML o Lambda.
• Se ha corregido un problema de notificación incorrecta del retraso en la replicación de Aurora.
• Se ha corregido un problema que podía provocar que el reinicio de una instancia de base de datos
fallara cuando la base de datos tenía un gran número de combinaciones de usuarios y privilegios.
• Se ha corregido un problema que podía provocar que las tablas general_log y slow_log se volvieran
inaccesibles tras la actualización de la versión principal in situ de Aurora MySQL 1.x (basada en MySQL
5.6) a Aurora MySQL 2.x (basada en MySQL 5.7).
1232
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Se ha corregido un error que, en raras condiciones, podía provocar que una instancia de lector se
reiniciara debido a un procesamiento de verificación incorrecto.
• Se ha corregido un problema que, en raras condiciones, mostraba que el gráfico “Carga de base de
datos” de las sesiones de Información sobre rendimiento se utilizaba activamente utilizando la CPU
aunque las sesiones habían terminado de procesarse y estaban inactivas.
• Se ha corregido un problema con la consulta paralela que podía provocar que la base de datos se
reiniciara al ejecutar instrucciones SQL con una cláusula LIMIT.
• Se ha corregido un problema por el que el valor de una columna TIMESTAMP de una fila existente se
actualizaba a la última marca de hora cuando se cumplían todas las condiciones siguientes: 1. existe un
desencadenador para la tabla; 2. se realiza una acción INSERT en la tabla que tiene una cláusula ON
DUPLICATE KEY UPDATE; 3. la fila insertada puede provocar una infracción del valor duplicado en un
índice UNIQUE o PRIMARY KEY; y 4. una o más columnas son del tipo de datos TIMESTAMP y tienen
un valor predeterminado de CURRENT_TIMESTAMP.
• Se ha corregido un problema que, en raras condiciones, podía provocar que la instancia de base de
datos se reiniciara al utilizar transacciones XA en el nivel de aislamiento READ COMMITED.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
1233
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.07.6 ya está disponible con carácter general. Las versiones 2.* de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.* de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones compatibles de Aurora MySQL son 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*, 1.20.*, 1.21.*,
1.22.*, 1.23.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.*, 2.08.*, 2.09.* y 2.10.*.
Puede restaurar una instantánea en Aurora MySQL 2.07.6 a partir de una versión de Aurora MySQL
que tenga actualmente soporte. También puede actualizar a Aurora MySQL 2.07.6 los clústeres de base
de datos de Aurora MySQL 2.* existentes. Los clústeres de Aurora MySQL 1.* existentes no se pueden
actualizar directamente a la versión a 2.07.6; sin embargo, su instantánea sí puede actualizarse a Aurora
MySQL 2.07.6.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Note
Esta versión se designa como una versión de soporte a largo plazo (LTS). Para obtener más
información, consulte Versiones de soporte a largo plazo (LTS) de Aurora MySQL (p. 1173).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
1234
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.07.5 está disponible con carácter general. Las versiones 2.* de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.* de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones compatibles de Aurora MySQL son 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*, 1.20.*, 1.21.*,
1.22.*, 1.23.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.*, 2.08.*, 2.09.* y 2.10.*.
Puede restaurar una instantánea en Aurora MySQL 2.07.5 a partir de una versión de Aurora MySQL
que sea actualmente compatible. Tiene la opción de actualizar los clústeres de base de datos de Aurora
MySQL 2.* existentes a Aurora MySQL 2.07.5. Los clústeres de Aurora MySQL 1.* existentes no se
pueden actualizar directamente a la versión a 2.07.5; sin embargo, su instantánea sí puede actualizarse a
Aurora MySQL 2.07.5.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Note
Esta versión se designa como una versión de soporte a largo plazo (LTS). Para obtener más
información, consulte Versiones de soporte a largo plazo (LTS) de Aurora MySQL (p. 1173).
1235
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Mejoras de disponibilidad:
• Se ha corregido un problema por el que no se permiten bloqueos a nivel de usuario en una réplica de
Aurora.
• Se ha corregido un problema que podría provocar un reinicio de una base de datos cuando se utilizan
transacciones XA en nivel de aislamiento READ COMMITTED.
• Longitud máxima permitida ampliada hasta 2000 para parámetros globales
server_audit_incl_users y server_audit_excl_users.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
1236
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Filtrado de replicación
• La instrucción SQL CREATE TABLESPACE
Aurora MySQL 2.07.4 ya está disponible con carácter general. Las versiones 2.* de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.* de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones de Aurora MySQL actualmente compatibles son: 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
1.20.*, 1.21.*, 1.22.*, 1.23.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.*, 2.08.* y 2.09.*.
Se puede restaurar en Aurora MySQL 2.07.4 una instantánea de una versión de Aurora MySQL
actualmente compatible. También se puede actualizar a Aurora MySQL 2.07.4 los clústeres de base
de datos de Aurora MySQL 2.* existentes. Los clústeres de Aurora MySQL 1.* existentes no se pueden
actualizar directamente a la versión a 2.07.4; sin embargo, su instantánea sí puede actualizarse a Aurora
MySQL 2.07.4.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Note
Esta versión se designa como una versión de soporte a largo plazo (LTS). Para obtener más
información, consulte Versiones de soporte a largo plazo (LTS) de Aurora MySQL (p. 1173).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Correcciones de seguridad:
• CVE-2020-14812
• CVE-2020-14793
• CVE-2020-14790
• CVE-2020-14775
• CVE-2020-14769
• CVE-2020-14765
• CVE-2020-14760
• CVE-2020-14672
• CVE-2020-1971
Mejoras de disponibilidad:
• Se ha corregido un problema que podía provocar que un cliente se bloqueara en caso de un error de red
al leer o escribir un paquete de red.
• Se mejoraron los tiempos de reinicio del motor en algunos casos después de interrumpir la DDL.
• Se ha corregido un problema por el que una DDL o DML podía provocar el reinicio del motor durante una
solicitud de captura previa de página.
1237
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Se ha corregido un problema que provocaba que una réplica se reiniciara mientras realizaba un análisis
inverso de una tabla o un índice en una réplica de lectura de Aurora.
• Se ha corregido un problema en la operación del clúster de clones que podía provocar que el clon
tardara más tiempo.
• Se ha corregido un problema que podía provocar el reinicio de una base de datos al utilizar la
optimización de consultas paralelas para la columna geoespacial.
• Se ha corregido un problema que provocaba que una réplica binlog se detuviera por un error
HA_ERR_KEY_NOT_FOUND.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
1238
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.07.3 ya está disponible con carácter general. Las versiones 2.* de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.* de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones de Aurora MySQL actualmente compatibles son: 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
1.20.*, 1.21.*, 1.22.*, 1.23.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.*, 2.08.* y 2.09.*.
Puede restaurar en Aurora MySQL 2.07.3 una instantánea de una versión de Aurora MySQL que
actualmente sea compatible. También puede actualizar a Aurora MySQL 2.07.3 los clústeres de base
de datos de Aurora MySQL 2.* existentes. Los clústeres de Aurora MySQL 1.* existentes no se pueden
actualizar directamente a la versión a 2.07.3; sin embargo, su instantánea sí puede actualizarse a Aurora
MySQL 2.07.3.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Note
Esta versión se designa como una versión de soporte a largo plazo (LTS). Para obtener más
información, consulte Versiones de soporte a largo plazo (LTS) de Aurora MySQL (p. 1173).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Correcciones de seguridad:
• CVE-2020-14567
• CVE-2020-14559
• CVE-2020-14553
• CVE-2020-14547
• CVE-2020-14540
• CVE-2020-2812
• CVE-2020-2806
• CVE-2020-2780
• CVE-2020-2765
• CVE-2020-2763
1239
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• CVE-2020-2760
• CVE-2020-2579
• CVE-2019-2740
Cambios incompatibles:
Esta versión introduce un cambio de permisos que afecta al comportamiento del comando
mysqldump. Los usuarios deben tener el privilegio de PROCESS para acceder a la tabla
INFORMATION_SCHEMA.FILES. Para ejecutar el comando mysqldump sin ningún cambio, conceda
el privilegio PROCESS al usuario de base de datos al que se conecta el comando mysqldump. También
puede ejecutar el comando mysqldump con la opción --no-tablespaces. Con esa opción, la salida
mysqldump no incluye ninguna instrucción CREATE LOGFILE GROUP o CREATE TABLESPACE. En
ese caso, el comando mysqldump no tiene acceso a la tabla INFORMATION_SCHEMA.FILES y no es
necesario conceder el permiso PROCESS.
Mejoras de disponibilidad:
1240
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Para una instrucción INSERT para la que la lista generó valores para la segunda fila o posterior
mediante una subconsulta que contiene una combinación, el servidor podría salir después de no resolver
los privilegios requeridos. (Error n.º 23762382)
• Para una tabla que tenga una columna TIMESTAMP o DATETIME con un valor predeterminado de
CURRENT_TIMESTAMP, la columna podría inicializarse en 0000-00-00 00:00:00 si la tabla tenía un
desencadenador BEFORE INSERT. (Error n.º 25209512 y error n.º 84077)
• Una salida del servidor podría ser el resultado de intentos simultáneos de varios subprocesos para
registrar y anular el registro de objetos Esquema de rendimiento de metadatos. (Error n.º 26502135)
• La ejecución de un procedimiento almacenado que contenía una instrucción que creó una tabla a partir
del contenido de ciertas instrucciones SELECT podría provocar una pérdida de memoria. (Error n.º
25586773)
• La ejecución de un procedimiento almacenado que contenía una consulta que accedía a una vista
podría asignar memoria que no se liberaba hasta que finalizara la sesión. (Error n.º 25053286)
• Ciertos casos de materialización de subconsulta podrían provocar la salida del servidor. Estas consultas
ahora producen un error que sugiere que la materialización se desactive. (Error n.º 26402045)
• Las consultas a las que les faltan muchas uniones eran lentas si se usaba el almacenamiento en búfer
de unión (por ejemplo, usando el algoritmo de bucle anidado de bloques). (Error n.º 18898433 y error n.º
72854)
• El optimizador omitió la segunda columna en un índice compuesto al ejecutar una combinación interna
con una cláusula LIKE contra la segunda columna. (Error n.º 28086754)
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
1241
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.07.2 ya está disponible con carácter general. Las versiones 2.* de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.* de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones de Aurora MySQL actualmente compatibles son las versiones 1.14.*, 1.15.*, 1.16.*, 1.17.*,
1.18.*, 1.19.*, 1.20.*, 1.21.*, 1.22.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.* y 2.07.*.
Puede restaurar una instantánea en Aurora MySQL 2.07.2 a partir de una versión de Aurora MySQL que
tenga actualmente soporte. Tiene la opción de actualizar los clústeres de base de datos de Aurora MySQL
2.* existentes a Aurora MySQL 2.07.2. Los clústeres de Aurora MySQL 1.* existentes no se pueden
actualizar directamente a la versión a 2.07.2; sin embargo, su instantánea sí puede actualizarse a Aurora
MySQL 2.07.2.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Note
Actualmente, esta versión no está disponible en las siguientes regiones de AWS: [us-gov-east-1],
AWS GovCloud (EE. UU. Oeste) [us-gov-west-1]. Cuando esté disponible, enviaremos una
notificación aparte.
Esta versión se designa como una versión de soporte a largo plazo (LTS). Para obtener más
información, consulte Versiones de soporte a largo plazo (LTS) de Aurora MySQL (p. 1173).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Correcciones de prioridad alta:
• Se ha corregido un problema que provocaba que la clonación tardase más tiempo en algunos clústeres
de bases de datos con cargas de escritura elevadas.
• Se ha corregido un problema que podía provocar que consultas en una instancia de base de datos
de lector con planes de ejecución usasen índices secundarios para devolver datos no confirmados. El
problema se limita a los datos afectados por las operaciones de lenguaje de manipulación de datos
(DML) que modifican las columnas de clave de índice principal o secundario.
Mejoras generales:
1242
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Se ha corregido un problema que provocaba una restauración lenta de un clúster de base de datos de
Aurora 1.x que contenía índices FTS (búsqueda de texto completo) en un clúster de base de datos de
Aurora 2.x.
• Se ha corregido un problema que provocaba restauraciones más lentas de las instantáneas de base de
datos de Aurora 1.x que contienen tablas particionadas con caracteres especiales en los nombres de
tabla a un clúster de base de datos de Aurora 2.x.
• Se ha corregido un problema que provocaba errores al consultar registros de consultas lentos y registros
generales en instancias de base de datos del lector.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
1243
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.07.1 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones de Aurora MySQL actualmente compatibles son las versiones 1.14.*, 1.15.*, 1.16.*, 1.17.*,
1.18.*, 1.19.*, 1.20.*, 1.21.*, 1.22.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.* y 2.07.*.
Puede restaurar una instantánea de una versión de Aurora MySQL que actualmente sea compatible en
Aurora MySQL 2.07.1. Tiene la opción de actualizar los clústeres de base de datos de Aurora MySQL
2.* existentes a Aurora MySQL 2.07.1. No puede actualizar un clúster de Aurora MySQL 1.* existente
directamente a 2.07.1; sin embargo, sí puede restaurar su instantánea a Aurora MySQL 2.07.1.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Note
Actualmente, esta versión no está disponible en las siguientes regiones de AWS: AWS GovCloud
(EE. UU. Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oeste) [us-gov-west-1], China (Ningxia)
[cn-northwest-1], Asia Pacífico (Hong Kong) [ap-east-1] y Medio Oriente (Baréin) [me-south-1].
Cuando esté disponible, enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Correcciones de prioridad alta:
1244
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Se ha corregido un problema de bloqueo al ejecutarse una consulta compleja que implicaba agregación
y combinaciones de varias tablas que utilizan tablas intermedias internamente.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.07.0 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones de Aurora MySQL actualmente compatibles son las versiones 1.14.*, 1.15.*, 1.16.*, 1.17.*,
1.18.*, 1.19.*, 1.20.*, 1.21.*, 1.22.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.* y 2.07.*.
Puede restaurar una instantánea de una versión de Aurora MySQL que actualmente sea compatible en
Aurora MySQL 2.07.0. Tiene la opción de actualizar los clústeres de base de datos de Aurora MySQL
1245
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
2.* existentes a Aurora MySQL 2.07.0. No puede actualizar un clúster de Aurora MySQL 1.* existente
directamente a 2.07.0; sin embargo, sí puede restaurar su instantánea a Aurora MySQL 2.07.0.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Note
Actualmente, esta versión no está disponible en las siguientes regiones de AWS: AWS GovCloud
(EE. UU. Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oeste) [us-gov-west-1], China (Ningxia)
[cn-northwest-1], Asia Pacífico (Hong Kong) [ap-east-1], Medio Oriente (Baréin) [me-south-1] y
América del Sur (Sao Paulo) [sa-east-1]. Cuando esté disponible, enviaremos una notificación
aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Nuevas características:
• Las bases de datos globales ahora permiten agregar regiones secundarias de réplica de solo lectura
para clústeres de base de datos implementados en estas regiones de AWS: EE. UU. Este (N. Virginia)
[us-east--1], EE. UU. Este (Ohio) [us-east-2], EE. UU. Oeste (Norte de California) [us-west-1], EE. UU.
Oeste (Oregón) [us-west-2], Europa (Irlanda) [eu-west-1], Europa (Londres) [eu-west-2], Europa (París)
[eu-west-3], Asia Pacífico (Tokio) [ ap-northeast-1], Asia Pacífico (Seúl) [ap-northeast-2], Asia Pacífico
(Singapur) [ap-southeast-1], Asia Pacífico (Sídney) [ap-southeast-2], Canadá (Central) [ca-central-1],
Europa (Fráncfort) [eu-central-1] y Asia Pacífico (Mumbai) [ap-south-1].
• El Machine Learning de Amazon Aurora es una integración altamente optimizada entre la base de datos
de Aurora MySQL y los servicios de Machine Learning (ML) de AWS. El Machine Learning de Aurora
permite a los desarrolladores añadir una variedad de predicciones basadas en el ML a sus aplicaciones
de base de datos al recurrir a modelos de ML a través de un idioma de programación de SQL familiar
que ya han utilizado para el desarrollo de la base de datos sin necesidad de crear integraciones
personalizadas o herramientas de aprendizaje independientes. Para obtener más información, consulte
Uso de las capacidades del Machine Learning (ML) con Amazon Aurora.
• Soporte adicional para el nivel de aislamiento READ COMMITTED de ANSI en las réplicas de lectura.
El nivel de aislamiento permite que las consultas de ejecución prolongada en la réplica de lectura
se ejecuten sin repercutir en el gran rendimiento de escrituras del nodo escritor. Para obtener más
información, consulte Niveles de aislamiento de Aurora MySQL.
Correcciones fundamentales:
• CVE-2019-2922
• CVE-2019-2923
• CVE-2019-2924
• CVE-2019-2910
1246
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.07.0 no admite actualmente las siguientes características de MySQL 5.7:
1247
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.06.0 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones de Aurora MySQL compatibles actualmente son 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.* y 2.06.*.
Puede restaurar una instantánea de una versión de Aurora MySQL que actualmente sea compatible en
Aurora MySQL 2.06.0. Tiene la opción de actualizar los clústeres de base de datos de Aurora MySQL
2.* existentes a Aurora MySQL 2.06.0. No puede actualizar un clúster de Aurora MySQL 1.* existente
directamente a 2.06.0; sin embargo, sí puede restaurar su instantánea a Aurora MySQL 2.06.0.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Note
Actualmente, esta versión no está disponible en las siguientes regiones de AWS: AWS GovCloud
(EE. UU. Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oeste) [us-gov-west-1], China (Ningxia)
[cn-northwest-1], Asia Pacífico (Hong Kong) [ap-east-1] y Medio Oriente (Baréin) [me-south-1].
Cuando esté disponible, enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Nuevas características:
• Los clústeres de Aurora MySQL ahora son compatibles con los tipos de instancias db.r5.8xlarge,
db.r5.16xlarge y db.r5.24xlarge. Para obtener más información acerca de los tipos de instancia, consulte
Aurora MySQL, consulte Clases de instancia de base de datos Aurora (p. 56).
• La característica de combinación hash por lo general está disponible actualmente y no precisa que la
configuración del modo lab de Aurora esté Activo. Esta característica puede mejorar el desempeño
de las consultas si necesita unir una gran cantidad de datos mediante equi-join. Para obtener más
información sobre cómo usar esta característica, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
1248
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• La característica de contención de filas activas por lo general está disponible actualmente y no precisa
que la configuración del modo lab de Aurora esté Activo. Esta característica mejora sustancialmente
el rendimiento de las cargas de trabajo, ya que muchas transacciones compiten por filas en la misma
página.
• Las versiones de Aurora MySQL 2.06 y posteriores ahora admiten "rebobinar" un clúster de base de
datos a un momento específico, sin restaurar datos desde una copia de seguridad. Esta característica,
conocida como Búsqueda de datos anteriores, ofrece ahora una forma rápida de recuperarse de
los errores de usuario como, por ejemplo, anular la tabla incorrecta o eliminar la fila equivocada. La
búsqueda de datos anteriores se realiza en segundos, incluso en bases de datos grandes. Lea el blog
de AWS para obtener información general y consulte Búsqueda de datos anteriores de un clúster de
base de datos de Aurora (p. 878) a fin de obtener más detalles.
• Aurora 2.06 y versiones superiores admiten invocaciones sincrónicas de AWS Lambda a través de la
función nativa lambda_sync(). También está disponible la función nativa lambda_async(), que
se puede utilizar como alternativa al procedimiento almacenado existente para invocación a Lambda
asíncrona. Para obtener información acerca de las funciones Lambda de llamada, consulte Invocación
de una función de Lambda desde un clúster de base de datos de Amazon Aurora MySQL (p. 1093).
Correcciones fundamentales:
Ninguno.
Correcciones de CVE
• CVE-2019-2805
• CVE-2019-2730
• CVE-2019-2739
• CVE-2019-2778
• CVE-2019-2758
• CVE-2018-3064
• CVE-2018-3058
• CVE-2018-2786
• CVE-2017-3653
• CVE-2017-3455
• CVE-2017-3465
• CVE-2017-3244
• CVE-2016-5612
Tratamiento de la conexión
• La disponibilidad de la base de datos se ha mejorado para atender mejor los aumentos en las
conexiones de los clientes a la vez que se ejecuta un DDL o más de uno. Se trata mediante la creación
de amenazas adicionales de forma temporal cuando sea necesario. Es aconsejable llevar a cabo una
actualización si la base de datos deja de responder después de un aumento de las conexiones durante
el procesamiento del DDL.
• Se ha corregido un problema de falta de disponibilidad prolongada durante el reinicio del motor. Esto
aborda un problema en el inicio del grupo del búfer. Este problema se produce en escasas ocasiones
pero puede afectar a cualquier versión admitida
1249
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Se ha corregido un problema que provoca que una base de datos configurada como un maestro de
binlog se reinicie mientras se ejecuta una gran carga de trabajo de escritura.
• Se han realizado mejoras donde las consultas con acceso a los datos que no están almacenados en
caché podrían ser más lentas de lo habitual. Se anima a los clientes que sufren una gran latencia de
lectura inexplicada al acceder a los datos no almacenados en caché a actualizar, ya que es posible que
estén siendo víctimas de este problema.
• Se ha corregido un problema provocado por el fallo en la restauración de tablas particionadas de una
instantánea de base de datos. Se aconseja de los clientes que sufrieron errores al acceder a sus tablas
particionadas en una base de datos restaurada desde la instantánea de una base de datos de Aurora
MySQL 1.* utilicen esta versión.
• Se ha mejorado la estabilidad de las réplicas de Aurora al corregir la conexión de bloqueo entre las
amenazas que ofrece consultas de lectura y la que realiza cambios de esquema mientras hay una
consulta de DDL en progreso en la instancia de base de datos de escritor.
• Se ha corregido un problema de estabilidad relacionado con la actualización de la tabla
mysql.innodb_table_stats, que se activa mediante las operaciones DDL.
• Se ha corregido un problema que notificaba ERROR 1836 por error al ejecutar una consulta anidada en
una tabla temporal en la réplica de Aurora.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.06.0 no admite actualmente las siguientes características de MySQL 5.7:
1250
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.0530 está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones de Aurora MySQL actualmente compatibles son las versiones 1.14.*, 1.15.*, 1.16.*, 1.17.*,
1.18.*, 1.19.*, 2.01.*, 2.02.*, 2.03.* y 2.04.*.
Puede restaurar una instantánea de una versión de Aurora MySQL que actualmente sea compatible en
Aurora MySQL 2.05.0. Tiene la opción de actualizar los clústeres de base de datos de Aurora MySQL 2.*
existentes, hasta 2.04.6, a Aurora MySQL 2.05.0. No puede actualizar un clúster de Aurora MySQL 1.*
existente directamente a 2.05.0; sin embargo, sí puede restaurar su instantánea a Aurora MySQL 2.05.0.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Note
Actualmente, esta versión no está disponible en las siguientes regiones de AWS: AWS GovCloud
(EE. UU. Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oeste) [us-gov-west-1], China (Ningxia)
[cn-northwest-1], Asia Pacífico (Hong Kong) [ap-east-1], Europa (Estocolmo) [eu-north-1] y Medio
Oriente (Baréin) [me-south-1]. Cuando esté disponible, enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Correcciones fundamentales:
• CVE-2018-0734
• CVE-2019-2534
• CVE-2018-3155
• CVE-2018-2612
• CVE-2017-3599
• CVE-2018-3056
• CVE-2018-2562
1251
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• CVE-2017-3329
• CVE-2018-2696
• Se ha corregido un problema por el cual los eventos en el archivo binlog actual en el principal no se
replicaban en el nodo de trabajo si el valor del parámetro sync_binlog no se configuraba en 1.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.05.0 no admite actualmente las siguientes características de MySQL 5.7:
1252
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.04.9 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones de Aurora MySQL actualmente compatibles son las versiones 1.14.*, 1.15.*, 1.16.*, 1.17.*,
1.18.*, 1.19.*, 2.01.*, 2.02.*, 2.03.*, 2.04.* y 2.05.*. Puede restaurar una instantánea de cualquier versión
de Aurora MySQL 2.* en Aurora MySQL 2.04.9. Tiene la opción de actualizar los clústeres de base de
datos de Aurora MySQL 2.* existentes a Aurora MySQL 2.04.9.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Actualmente, esta versión no está disponible en las siguientes regiones de AWS: AWS GovCloud
(EE. UU. Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oeste) [us-gov-west-1], Asia Pacífico
(Hong Kong) [ap-east-1] y Medio Oriente (Baréin) [me-south-1]. Cuando esté disponible,
enviaremos una notificación aparte.
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Correcciones de prioridad alta:
Correcciones de CVE
• CVE-2019-2805
• CVE-2019-2730
• CVE-2019-2739
• CVE-2019-2778
• CVE-2019-2758
• CVE-2018-3064
• CVE-2018-3058
• CVE-2018-2786
• CVE-2017-3653
1253
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• CVE-2017-3455
• CVE-2017-3464
• CVE-2017-3465
• CVE-2017-3244
• CVE-2016-5612
• CVE-2019-2628
• CVE-2019-2740
• CVE-2019-2922
• CVE-2019-2923
• CVE-2019-2924
• CVE-2019-2910
• CVE-2019-5443
• CVE-2019-3822
• CVE-2020-2760
• CVE-2019-2911
• CVE-2018-2813
Mejoras de disponibilidad:
• Se ha corregido un problema que podía provocar un reinicio de la base de datos o conmutación por
error debido a la ejecución de un comando kill session. Si encuentra este problema, póngase en
contacto con AWS Support para habilitar esta corrección en su instancia.
• Se ha corregido un problema que provocaba el reinicio de una base de datos durante la ejecución de
una consulta compleja que implicaba combinaciones de varias tablas y agregaciones que utilizaban
tablas intermedias internamente.
• Se ha corregido un problema que provocaba que se reiniciara la base de datos debido a una interrupción
DROP TABLE en varias tablas.
• Se ha corregido un problema que provocaba una conmutación por error de la base de datos durante la
recuperación.
• Se ha corregido un reinicio de la base de datos provocado por informes incorrectos de threads_running
cuando se habilitan registros de auditoría y consultas lentas.
• Se ha corregido un problema que provocaba que un comando kill query se atascara durante la
ejecución.
• Se ha corregido una condición de carrera en el administrador de bloqueos que provocaba un reinicio de
la base de datos o una conmutación por error durante la restauración de la transacción.
• Se ha corregido un problema que provocaba el reinicio de la base de datos o la conmutación por error
cuando varias conexiones intentaban actualizar la misma tabla con un índice de búsqueda de texto
completo.
• Se ha corregido un problema que podía provocar un bloqueo al vaciar un índice que provocaba una
conmutación por error o un reinicio.
Mejoras generales:
• Se han corregido problemas que podían provocar que las consultas de réplicas de lectura utilizaran
datos de una transacción no confirmada. Este problema se limita a las transacciones que se inician
inmediatamente después de un reinicio de la base de datos.
• Se ha corregido un problema encontrado durante INPLACE ALTER TABLE para una tabla con
desencadenadores definidos y cuando el DDL no contenía una cláusula RENAME.
• Se ha corregido un problema que provocaba que la clonación tardase más tiempo en algunos clústeres
de bases de datos con cargas de escritura elevadas.
1254
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Se ha corregido un problema que se producía durante una actualización cuando una tabla con
particiones tenía espacios incrustados en el nombre.
• Se ha corregido un problema por el que la réplica de lectura podía ver de forma transitoria los resultados
parciales de una transacción confirmada recientemente en el escritor.
• Se ha corregido un problema que provocaba que las consultas en una réplica de lectura en una tabla
FTS produjeran resultados obsoletos. Esto solo se producirá cuando la consulta FTS en la réplica de
lectura siga de cerca una consulta sobre INFORMATION_SCHEMA.INNODB_SYS_TABLES para la misma
tabla FTS en el escritor.
• Se ha corregido un problema que daba lugar a una restauración lenta de un clúster de base de datos de
Aurora 1.x que contenía índices FTS (búsqueda de texto completo) en un clúster de base de datos de
Aurora 2.x.
• Longitud máxima permitida ampliada hasta 2000 para parámetros globales
server_audit_incl_users y server_audit_excl_users.
• Se ha corregido un error que provocaba que la restauración de Aurora 1.x a Aurora 2.x tardara mucho
tiempo en completarse.
• Se ha corregido un problema que provocaba que una invocación lambda_async a través del
procedimiento almacenado no funcionara con Unicode.
• Se ha corregido un problema que se producía cuando un índice espacial no maneja correctamente una
columna de geometría fuera de registro.
• Se ha corregido un problema que podía provocar que una consulta fallara en una instancia de base
de datos de lector con un error InternalFailureException con el mensaje "Operation terminated
(internal error)" (Operación terminada [error interno]).
1255
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.04.9 no admite actualmente las siguientes características de MySQL 5.7:
Aurora MySQL 2.04.8 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones de Aurora MySQL actualmente compatibles son las versiones 1.14.*, 1.15.*, 1.16.*, 1.17.*,
1.18.*, 1.19.*, 2.01.*, 2.02.*, 2.03.*, 2.04.* y 2.05.*. Puede restaurar una instantánea de cualquier versión
de Aurora MySQL 2.* en Aurora MySQL 2.04.8. Tiene la opción de actualizar los clústeres de base de
datos de Aurora MySQL 2.* existentes a Aurora MySQL 2.04.8.
1256
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Actualmente, esta versión no está disponible en las siguientes regiones de AWS: AWS GovCloud
(EE. UU. Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oeste) [us-gov-west-1], Asia Pacífico
(Hong Kong) [ap-east-1] y Medio Oriente (Baréin) [me-south-1]. Cuando esté disponible,
enviaremos una notificación aparte.
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Nuevas características:
• Se ha mejorado la gestión de la memoria en la instancia de escritor de Aurora que evita el reinicio del
escritor provocado por la falta de memoria durante grandes cargas de trabajo en presencia de instancias
de lector en el clúster de base de datos Aurora.
• Corrección para una condición no determinista en el programador que da como resultado el reinicio del
motor mientras se accede al objeto de esquema de rendimiento simultáneamente.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
1257
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.04.8 no admite actualmente las siguientes características de MySQL 5.7:
Aurora MySQL 2.04.7 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Las versiones de Aurora MySQL actualmente compatibles son las versiones 1.14.*, 1.15.*, 1.16.*, 1.17.*,
1.18.*, 1.19.*, 2.01.*, 2.02.*, 2.03.* y 2.04.*.
Puede restaurar una instantánea de una versión de Aurora MySQL que actualmente sea compatible en
Aurora MySQL 2.04.7. Tiene la opción de actualizar los clústeres de base de datos de Aurora MySQL 2.*
existentes a Aurora MySQL 2.04.7. Los clústeres de Aurora MySQL 1.* existentes no se pueden actualizar
directamente a la versión a 2.04.7; sin embargo, su instantánea sí puede actualizarse a Aurora MySQL
2.04.7.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la AWS Management Console, la AWS CLI o la API de RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Actualmente, esta versión no está disponible en las siguientes regiones de AWS: AWS GovCloud
(EE. UU. Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oeste) [us-gov-west-1], Asia Pacífico
1258
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
(Hong Kong) [ap-east-1] y Medio Oriente (Baréin) [me-south-1]. Cuando esté disponible,
enviaremos una notificación aparte.
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
Correcciones de prioridad alta:
Tratamiento de la conexión
• La disponibilidad de la base de datos se ha mejorado para atender mejor los aumentos en las
conexiones de los clientes a la vez que se ejecuta un DDL o más de uno. Se trata mediante la creación
de amenazas adicionales de forma temporal cuando sea necesario. Es aconsejable llevar a cabo una
actualización si la base de datos deja de responder después de un aumento de las conexiones durante
el procesamiento del DDL.
• Se ha corregido un problema que provocaba un valor incorrecto para la variable de estado global
Threads_running.
• Se ha corregido un problema de falta de disponibilidad prolongada durante el reinicio del motor. Esto
aborda un problema en el inicio del grupo del búfer. Este problema se produce en escasas ocasiones
pero puede afectar a cualquier versión admitida
• Se han realizado mejoras donde las consultas con acceso a los datos que no están almacenados en
caché podrían ser más lentas de lo habitual. Se anima a los clientes que sufren grandes latencias de
lectura inexplicadas al acceder a los datos no almacenados en caché a actualizar, ya que es posible que
estén siendo víctimas de este problema.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
1259
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.04.7 no admite actualmente las siguientes características de MySQL 5.7:
Aurora MySQL 2.04.6 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Tiene la opción de actualizar los clústeres de base de datos Aurora MySQL 2.* existentes a Aurora
MySQL 2.04.6. No permitimos la actualización in situ de clústeres de Aurora MySQL 1.*. Esta restricción
se aplicará en las versiones posteriores de Aurora MySQL 2.*. Puede restaurar instantáneas de Aurora
MySQL 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*, 2.01.*, 2.02.*, 2.03.* y 2.04.* en Aurora MySQL 2.04.6.
Para utilizar una versión anterior de Aurora MySQL, puede crear nuevos clústeres de base de datos
especificando la versión del motor a través de la AWS Management Console, la AWS CLI o la API de
Amazon RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Actualmente, esta versión no está disponible en las siguientes regiones de AWS: Europa
(Londres) [eu-west-2], AWS GovCloud (EE. UU. Este) [us-gov-east-1], AWS GovCloud (EE. UU.
Oeste) [us-gov-west-1], China (Ningxia) [cn-northwest-1] y Asia Pacífico (Hong Kong) [ap-east-1].
Cuando esté disponible, enviaremos una notificación aparte.
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
1260
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Mejoras
• Se ha corregido un problema por el cual los eventos en el archivo binlog actual en el principal no se
replicaban en el nodo de trabajo si el valor del parámetro sync_binlog no se configuraba en 1.
• El valor predeterminado del parámetro aurora_binlog_replication_max_yield_seconds ha
cambiado a cero para evitar un aumento en el retardo de la replicación en favor del rendimiento de
consultas de primer plano en el maestro de binlog.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.04.6 no admite actualmente las siguientes características de MySQL 5.7:
1261
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.04.5 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Tiene la opción de actualizar los clústeres de base de datos Aurora MySQL 2.* existentes a Aurora
MySQL 2.04.5. No permitimos la actualización in situ de clústeres de Aurora MySQL 1.*. Esta restricción
se aplicará en las versiones posteriores de Aurora MySQL 2.*. Puede restaurar instantáneas de Aurora
MySQL 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*, 2.01.*, 2.02.*, 2.03.* y 2.04.* en Aurora MySQL 2.04.5.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
• Se ha corregido una condición de carrera durante el crecimiento del volumen de almacenamiento que
provocaba que la base de datos se reiniciara.
• Se ha corregido un error de comunicación interna durante la apertura del volumen que provocaba que la
base de datos se reiniciara.
• Se ha añadido compatibilidad de la recuperación DDL para ALTER TABLE ALGORITHM=INPLACE en
las tablas particionadas.
• Se ha corregido un error con la recuperación DDL de ALTER TABLE ALGORITHM=COPY que provocaba
que la base de datos se reiniciara.
• Se ha mejorado la estabilidad de la réplica de Aurora en la carga de trabajo de eliminación pesada en el
escritor.
• Se ha solucionado el restablecimiento de una base de datos debido al bloqueo entre el subproceso
que realiza la sincronización del índice de búsqueda de texto completo y el subproceso que realiza la
expulsión de la tabla de búsqueda de texto completo de la caché del diccionario.
• Se ha corregido un problema de estabilidad en el nodo de trabajo de binlog durante la replicación DDL
mientras la conexión al principal de binlog era inestable.
• Se ha solucionado un problema de falta de memoria en el código de búsqueda de texto completo que
provocaba que la base de datos se reiniciara.
• Se ha solucionado un problema en el escritor de Aurora que provocaba que se reiniciara cuando se
utilizaba todo el volumen de 64 tebibytes (TiB).
• Se ha solucionado una condición de carrera en la característica de esquema de rendimiento que
provocaba que la base de datos se reiniciara.
• Se ha solucionado un problema que provocaba anulaciones de conexiones cuando se gestionaba un
error en la administración de protocolos de red.
1262
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.04.5 no admite actualmente las siguientes características de MySQL 5.7:
Aurora MySQL 2.04.4 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL (incluida la restauración de instantáneas),
tiene la opción de elegir la compatibilidad con MySQL 5.7 o MySQL 5.6. No permitimos la actualización
in situ de los clústeres de Aurora MySQL 1.* ni la restauración de clústeres Aurora MySQL 1.* desde una
copia de seguridad de Amazon S3 en Aurora MySQL 2.04.4. Tenemos previsto quitar estas restricciones
en una versión posterior de Aurora MySQL 2.*.
Puede restaurar instantáneas de Aurora MySQL 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*, 2.01.*, 2.02.*,
2.03.* y 2.04* en Aurora MySQL 2.04.4.
1263
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Actualmente, esta versión no está disponible en las regiones de AWS: AWS GovCloud (EE. UU.
Oeste) [us-gov-west-1], Europa (Estocolmo) [eu-north-1], China (Ningxia) [cn-northwest-1] y Asia
Pacífico (Hong Kong) [ap-east-1]. Cuando esté disponible, enviaremos una notificación aparte.
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
• Se ha solucionado un problema que podía causar errores al cargar datos en Aurora desde S3.
• Se ha solucionado un problema que podía causar errores al cargar datos de Aurora en S3.
• Se ha solucionado un problema que provocaba anulaciones de conexiones cuando se gestionaba un
error en la administración de protocolos de red.
• Se ha solucionado un problema que podía provocar un bloqueo cuando se trabajaba con tablas
particionadas.
• Se ha solucionado un problema con la característica de información sobre rendimiento, que no estaba
disponible en algunas regiones.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.04.4 no admite actualmente las siguientes características de MySQL 5.7:
1264
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.04.3 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL (incluida la restauración de instantáneas),
tiene la opción de elegir la compatibilidad con MySQL 5.7 o MySQL 5.6. No permitimos la actualización
in situ de los clústeres de Aurora MySQL 1.* ni la restauración de clústeres Aurora MySQL 1.* desde una
copia de seguridad de Amazon S3 en Aurora MySQL 2.04.3. Tenemos previsto quitar estas restricciones
en una versión posterior de Aurora MySQL 2.*.
Puede restaurar instantáneas de Aurora MySQL 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*, 2.01.*, 2.02.*,
2.03.* y 2.04.* en Aurora MySQL 2.04.3.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Actualmente, esta versión no está disponible en las regiones de AWS: AWS GovCloud (EE. UU.
Oeste) [us-gov-west-1] y China (Ningxia) [cn-northwest-1]. Cuando esté disponible, enviaremos
una notificación aparte.
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
• Se ha corregido un error en la replicación de binlog que provocaba problemas en las instancias de
Aurora configuradas como nodo de trabajo de binlog.
• Solución de una condición de memoria insuficiente cuando se gestionaban grandes rutinas
almacenadas.
• Solución de un error en la gestión de determinados tipos de comandos ALTER TABLE.
• Solución de un problema con conexiones anuladas debido a un error en la gestión de protocolos de red.
1265
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.04.3 no admite actualmente las siguientes características de MySQL 5.7:
Aurora MySQL 2.04.2 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL (incluida la restauración de instantáneas),
tiene la opción de elegir la compatibilidad con MySQL 5.7 o MySQL 5.6. No permitimos la actualización
in situ de los clústeres de Aurora MySQL 1.* ni la restauración de clústeres Aurora MySQL 1.* desde una
1266
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
copia de seguridad de Amazon S3 en Aurora MySQL 2.04.2. Tenemos previsto quitar estas restricciones
en una versión posterior de Aurora MySQL 2.*.
Puede restaurar instantáneas de Aurora MySQL 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*, 2.01.*, 2.02.*,
2.03.*, 2.04.0 y 2.04.1 en Aurora MySQL 2.04.2.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Actualmente, esta versión no está disponible en las regiones de AWS: AWS GovCloud (EE. UU.
Oeste) [us-gov-west-1] y China (Ningxia) [cn-northwest-1]. Cuando esté disponible, enviaremos
una notificación aparte.
Note
Para obtener información sobre cómo actualizar su clúster de base de datos de Aurora MySQL,
consulte Actualización de la versión secundaria o el nivel de parche de un clúster de base de
datos Aurora MySQL (p. 1174).
Mejoras
• Compatibilidad añadida para la replicación de binlog de SSL mediante certificados personalizados. Para
obtener más información sobre el uso de la replicación de binlog de SSL en Aurora MySQL, consulte
mysql_rds_import_binlog_ssl_material.
• Solución de un bloqueo en la instancia principal de Aurora que se producía cuando se optimizaba una
tabla con un índice de búsqueda de texto completo.
• Solución de un problema en las réplicas de Aurora en el que el rendimiento de determinadas consultas
que utilizaban SELECT(*) podían verse afectadas en las tablas con índices secundarios.
• Solución de una condición que provocó el error 1032 publicado.
• Mejora de la estabilidad de las réplicas de Aurora mediante la solución de varios bloqueos.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
1267
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.04.2 no admite actualmente las siguientes características de MySQL 5.7:
Aurora MySQL 2.04.1 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL (incluida la restauración de instantáneas),
tiene la opción de elegir la compatibilidad con MySQL 5.7 o MySQL 5.6. No permitimos la actualización
in situ de los clústeres de Aurora MySQL 1.* ni la restauración de clústeres Aurora MySQL 1.* desde una
copia de seguridad de Amazon S3 en Aurora MySQL 2.04.1. Tenemos previsto quitar estas restricciones
en una versión posterior de Aurora MySQL 2.*.
Puede restaurar instantáneas de Aurora MySQL 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*, 2.01.*, 2.02.*,
2.03.* y 2.04.0 en Aurora MySQL 2.04.1.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Esta versión no está disponible en la región de AWS GovCloud (EE. UU. Oeste) [us-gov-west-1].
Cuando esté disponible, enviaremos una notificación aparte.
Note
El procedimiento para actualizar su clúster de base de datos ha cambiado. Para obtener más
información, consulte . Actualización de la versión secundaria o el nivel de parche de un clúster de
base de datos Aurora MySQL (p. 1174).
1268
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Mejoras
• Solución de un problema en el que una instantánea de Aurora MySQL 5.6 para versiones inferiores a
1.16 no podía restaurarse al clúster Aurora MySQL 5.7 más reciente.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
1269
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.04 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL (incluida la restauración de instantáneas),
tiene la opción de elegir la compatibilidad con MySQL 5.7 o MySQL 5.6. No permitimos la actualización
in situ de los clústeres de Aurora MySQL 1.* ni la restauración de clústeres Aurora MySQL 1.* desde una
copia de seguridad de Amazon S3 en Aurora MySQL 2.04.0. Tenemos previsto quitar estas restricciones
en una versión posterior de Aurora MySQL 2.*.
Puede restaurar instantáneas de Aurora MySQL 1.19.*, 2.01.*, 2.02.* y 2.03.* en Aurora MySQL 2.04.0.
No puede restaurar las instantáneas de Aurora MySQL 1.14.* o inferiores, 1.15.*, 1.16.*, 1.17.* y 1.18.* en
Aurora MySQL 2.04.0. Esta restricción se ha eliminado en Aurora MySQL 2.04.1.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Esta versión no está disponible en la región de AWS GovCloud (EE. UU. Oeste) [us-gov-west-1].
Cuando esté disponible, enviaremos una notificación aparte.
Note
El procedimiento para actualizar su clúster de base de datos ha cambiado. Para obtener más
información, consulte . Actualización de la versión secundaria o el nivel de parche de un clúster de
base de datos Aurora MySQL (p. 1174).
Mejoras
• Admisión de la replicación basada en GTID. Para obtener más información sobre la replicación
basada en GTID con Aurora MySQL, consulte Uso de reproducción basada en GTID de Aurora
MySQL (p. 1031).
• Solución de un problema en el que la réplica de Aurora generaba un error Running in read-only
mode cuando una instrucción que eliminaba o actualizaba filas en una tabla temporal contenía una
subconsulta de InnoDB.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
1270
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Aurora MySQL 2.03.4 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL (incluida la restauración a partir de
instantáneas), puede elegir la compatibilidad con MySQL 5.7 o MySQL 5.6.
No permitimos la actualización in situ de los clústeres de Aurora MySQL 1.* a Aurora MySQL 2.03.4 ni la
restauración a Aurora MySQL 2.03.4 desde una copia de seguridad de Amazon S3. Tenemos previsto
quitar estas restricciones en una versión posterior de Aurora MySQL 2.*.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
Note
El procedimiento para actualizar su clúster de base de datos ha cambiado. Para obtener más
información, consulte . Actualización de la versión secundaria o el nivel de parche de un clúster de
base de datos Aurora MySQL (p. 1174).
1271
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Mejoras
• Admisión de la intercalación que no distingue mayúsculas y minúsculas y que distingue acentos de
UTF8MB4 Unicode 9.0, utf8mb4_0900_as_ci.
Aurora MySQL 2.03.3 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL (incluida la restauración a partir de
instantáneas), puede elegir la compatibilidad con MySQL 5.7 o MySQL 5.6.
No permitimos la actualización in situ de los clústeres de Aurora MySQL 1.* a Aurora MySQL 2.03.3 ni la
restauración a Aurora MySQL 2.03.3 desde una copia de seguridad de Amazon S3. Tenemos previsto
quitar estas restricciones en una versión posterior de Aurora MySQL 2.*.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
Note
El procedimiento para actualizar su clúster de base de datos ha cambiado. Para obtener más
información, consulte . Actualización de la versión secundaria o el nivel de parche de un clúster de
base de datos Aurora MySQL (p. 1174).
Mejoras
• Solución de un problema en el que la réplica de Aurora podía bloquearse cuando se ejecutaba un
análisis pasado en un índice.
• Solución de un problema en el que la réplica Aurora podía reiniciarse cuando la instancia principal de
Aurora ejecutara operaciones DLL in situ en tablas particionadas.
• Solución de un problema cuando una réplica de Aurora podía reiniciarse durante la invalidación de la
caché de consultas después de una operación DDL en la instancia principal de Aurora.
• Solución de un problema cuando una réplica de Aurora podía reiniciarse durante una consulta SELECT
en una tabla cuando la instancia principal de Aurora ejecutaba un truncado en esa tabla.
• Solución de un problema de resultado erróneo con tablas temporales MyISAM en las que solo se
accedía a columnas indexadas.
• Solucionado un problema en registros lentos que generaban valores grandes incorrectos para
query_time y lock_time periódicamente después de aproximadamente 40 000 consultas.
• Se solucionó un problema en el que un esquema denominado "tmp" podría provocar que la migración de
RDS for MySQL a Aurora MySQL se bloqueara.
• Solución de un problema en el que el registro de auditoría podía tener eventos que faltaban durante la
rotación de registros.
• Solución de un problema en el que la instancia principal de Aurora restaurada de una instantánea de
Aurora 5.6 podía reiniciarse cuando la característica de DDL rápida en el modo de laboratorio estaba
habilitada.
1272
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Solución de un problema en el que el uso de la CPU está originado al 100 % por el subproceso de
estadísticas del diccionario.
• Solución de un problema en el que la réplica de Aurora podía reiniciarse cuando se ejecutaba una
instrucción CHECK TABLE.
Aurora MySQL 2.03.2 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL (incluida la restauración a partir de
instantáneas), puede elegir la compatibilidad con MySQL 5.7 o MySQL 5.6.
No permitimos la actualización in situ de los clústeres de Aurora MySQL 1.* a Aurora MySQL 2.03.2 ni la
restauración a Aurora MySQL 2.03.2 desde una copia de seguridad de Amazon S3. Tenemos previsto
quitar estas restricciones en una versión posterior de Aurora MySQL 2.*.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
Note
El procedimiento para actualizar su clúster de base de datos ha cambiado. Para obtener más
información, consulte . Actualización de la versión secundaria o el nivel de parche de un clúster de
base de datos Aurora MySQL (p. 1174).
Mejoras
• Selector de versión de Aurora: a partir de Aurora MySQL 2.03.2, puede elegir varias versiones de Aurora
compatibles con MySQL 5.7 en la AWS Management Console. Para obtener más información, consulte
Comprobación o especificación de versiones del motor de Aurora MySQL mediante AWS (p. 1171).
1273
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.03.1 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL, puede elegir la compatibilidad con MySQL
5.7 o MySQL 5.6. Al restaurar una instantánea compatible con MySQL 5.6, puede elegir la compatibilidad
con MySQL 5.7 o MySQL 5.6.
Puede restaurar instantáneas de Aurora MySQL 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 2.01.*, 2.02.* y 2.03
en Aurora MySQL 2.03.1.
No permitimos la actualización in situ de los clústeres de Aurora MySQL 1.* a Aurora MySQL 2.03.1 ni la
restauración a Aurora MySQL 2.03.1 desde una copia de seguridad de Amazon S3. Tenemos previsto
quitar estas restricciones en una versión posterior de Aurora MySQL 2.*.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
Mejoras
• Se ha corregido un error por el que el escritor de Aurora podía reiniciarse al ejecutar la detección de
bloqueo para transacciones.
Aurora MySQL 2.03 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL, puede elegir la compatibilidad con MySQL
5.7 o MySQL 5.6. Al restaurar una instantánea compatible con MySQL 5.6, puede elegir la compatibilidad
con MySQL 5.7 o MySQL 5.6.
Puede restaurar instantáneas de Aurora MySQL 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 2.01.* y 2.02.* en
Aurora MySQL 2.03.
No permitimos la actualización in situ de los clústeres de Aurora MySQL 1.* a Aurora MySQL 2.03 ni la
restauración a Aurora MySQL 2.03 desde una copia de seguridad de Amazon S3. Tenemos previsto quitar
estas restricciones en una versión posterior de Aurora MySQL 2.*.
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
1274
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
• El esquema de rendimiento está disponible.
• Se ha corregido un error en el que las sesiones zombis con estado de canceladas podían consumir más
CPU.
• Se ha corregido un error de bloqueo temporal que se producía cuando una transacción de solo lectura
adquiría un bloqueo en un registro del escritor de Aurora.
• Se ha corregido un error por el que la réplica de Aurora sin carga de trabajo de clientes podía hacer un
mayor uso de la CPU.
• Se han corregido varios errores que podían provocar que la réplica de Aurora en el escritor de Aurora se
reiniciase.
• Se ha añadido una funcionalidad para omitir el registro de diagnóstico cuando se alcance el límite de
rendimiento del disco.
• Se ha corregido un error de fuga de memoria cuando binlog está habilitado en el escritor de Aurora.
Aurora MySQL 2.02.5 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL, puede elegir la compatibilidad con MySQL
5.7 o MySQL 5.6. Al restaurar una instantánea compatible con MySQL 5.6, puede elegir la compatibilidad
con MySQL 5.7 o MySQL 5.6.
Puede restaurar instantáneas de Aurora MySQL 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 2.01.* y 2.02.* en
Aurora MySQL 2.02.5. También puede realizar una actualización in situ de Aurora MySQL 2.01.* o 2.02.* a
Aurora MySQL 2.02.5.
No permitimos la actualización in situ de los clústeres de Aurora MySQL 1.* a Aurora MySQL 2.02.5 ni la
restauración a Aurora MySQL 2.02.5 desde una copia de seguridad de Amazon S3. Tenemos previsto
quitar estas restricciones en una versión posterior de Aurora MySQL 2.*.
El esquema de rendimiento está deshabilitado para esta versión de Aurora MySQL 5.7. Actualice a Aurora
2.03 para obtener compatibilidad con el esquema de rendimiento.
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
1275
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
• Se ha corregido un error por el que la réplica de Aurora se podía reiniciar al realizar un análisis inverso
en una tabla.
Aurora MySQL 2.02.4 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL, puede elegir la compatibilidad con MySQL
5.7 o MySQL 5.6. Al restaurar una instantánea compatible con MySQL 5.6, puede elegir la compatibilidad
con MySQL 5.7 o MySQL 5.6.
Puede restaurar instantáneas de Aurora MySQL 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 2.01.* y 2.02.* en
Aurora MySQL 2.02.4. También puede realizar una actualización in situ de Aurora MySQL 2.01.* o 2.02.* a
Aurora MySQL 2.02.4.
No permitimos la actualización in situ de los clústeres de Aurora MySQL 1.* a Aurora MySQL 2.02.4 ni la
restauración a Aurora MySQL 2.02.4 desde una copia de seguridad de Amazon S3. Tenemos previsto
quitar estas restricciones en una versión posterior de Aurora MySQL 2.*.
El esquema de rendimiento está deshabilitado para esta versión de Aurora MySQL 5.7. Actualice a Aurora
2.03 para obtener compatibilidad con el esquema de rendimiento.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
• Se ha corregido un error de estabilidad relacionado con los índices de búsqueda de texto completo en
tablas restauradas de una instantánea de Aurora MySQL 5.6.
1276
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.02.3 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL, puede elegir la compatibilidad con MySQL
5.7 o MySQL 5.6. Al restaurar una instantánea compatible con MySQL 5.6, puede elegir la compatibilidad
con MySQL 5.7 o MySQL 5.6.
Puede restaurar instantáneas de Aurora MySQL 1.14.*, 1.15.*, 1.16.*, 1.17.*, 2.01.* y 2.02.* en Aurora
MySQL 2.02.3. También puede realizar una actualización in situ de Aurora MySQL 2.01.* o 2.02.* a Aurora
MySQL 2.02.3.
No permitimos la actualización in situ de los clústeres de Aurora MySQL 1.* a Aurora MySQL 2.02.3 ni la
restauración a Aurora MySQL 2.02.3 desde una copia de seguridad de Amazon S3. Tenemos previsto
quitar estas restricciones en una versión posterior de Aurora MySQL 2.*.
El esquema de rendimiento está deshabilitado para esta versión de Aurora MySQL 5.7. Actualice a Aurora
2.03 para obtener compatibilidad con el esquema de rendimiento.
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
1277
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Estas funciones se
encuentran disponibles para los clústeres compatibles con MySQL 5.7 en Aurora MySQL 2.06 y
versiones posteriores. Para obtener más información, consulte Invocación de una función de Lambda
con una función nativa de Aurora MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Actualmente, Aurora MySQL 2.01 no admite las características añadidas en Aurora MySQL versión
1.16 y posteriores. Para obtener información acerca de la versión 1.16 de Aurora MySQL, consulte
Actualizaciones del motor de base de datos de Aurora MySQL (11/12/2017) (p. 1320).
Aurora MySQL 2.02.3 no admite actualmente las siguientes características de MySQL 5.7:
1278
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Mejoras
• Se ha corregido un error por el que una réplica de Aurora se podía reiniciar usando restauraciones de
cursor optimistas durante la lectura de registros.
• Se ha actualizado el valor predeterminado del parámetro
innodb_stats_persistent_sample_pages a 128 para mejorar las estadísticas de índice.
• Se ha corregido un error por el que la réplica de Aurora se podía reiniciar cuando accedía a una tabla
pequeña que se estaba modificando en ese momento en la instancia principal de Aurora.
• Se ha corregido ANALYZE TABLE para detener el vaciado de la caché de definición de tabla.
• Se ha corregido un error por el que la réplica principal de Aurora o una réplica de Aurora podía
reiniciarse cuando se convertía una consulta de punto de datos geoespaciales a un intervalo de
búsqueda.
Aurora MySQL 2.02.2 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL, puede elegir la compatibilidad con MySQL
5.7 o MySQL 5.6. Al restaurar una instantánea compatible con MySQL 5.6, puede elegir la compatibilidad
con MySQL 5.7 o MySQL 5.6.
Puede restaurar instantáneas de Aurora MySQL 1.14*, 1.15*, 1.16*, 1.17*, 2.01* y 2.02 en Aurora MySQL
2.02.2. También puede realizar una actualización in situ de Aurora MySQL 2.01* o 2.02. a Aurora MySQL
2.02.2.
No permitimos la actualización in situ de los clústeres de Aurora MySQL 1.* a Aurora MySQL 2.02.2 ni la
restauración a Aurora MySQL 2.02.2 desde una copia de seguridad de Amazon S3. Tenemos previsto
quitar estas restricciones en una versión posterior de Aurora MySQL 2.*.
El esquema de rendimiento está deshabilitado para esta versión de Aurora MySQL 5.7. Actualice a Aurora
2.03 para obtener compatibilidad con el esquema de rendimiento.
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
1279
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Actualmente, Aurora MySQL 2.01 no admite las características añadidas en Aurora MySQL versión
1.16 y posteriores. Para obtener información acerca de la versión 1.16 de Aurora MySQL, consulte
Actualizaciones del motor de base de datos de Aurora MySQL (11/12/2017) (p. 1320).
Aurora MySQL 2.02.2 no admite actualmente las siguientes características de MySQL 5.7:
1280
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Mejoras
• Se ha corregido un error por el que Aurora Writer se reiniciaba algunas veces al realizar un seguimiento
del progreso de las réplicas de Aurora.
• Se ha corregido un error por el que una réplica de Aurora se iniciaba o generaba un error cuando se
obtenía acceso a una tabla particionada después de ejecutar instrucciones de creación o borrado de
índices en la tabla en el escritor de Aurora.
• Se ha corregido un error por el que una tabla de una réplica de Aurora estaba inaccesible mientras se
aplicaban los cambios causados por la ejecución de las instrucciones de columna ALTER table ADD/
DROP en el escritor de Aurora.
Aurora MySQL 2.02 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL, puede elegir la compatibilidad con MySQL
5.7 o MySQL 5.6. Al restaurar una instantánea compatible con MySQL 5.6, puede elegir la compatibilidad
con MySQL 5.7 o MySQL 5.6.
Puede restaurar instantáneas de Aurora MySQL 1.14*, 1.15*, 1.16*, 1.17* y 2.01* en Aurora MySQL 2.02.
También puede realizar una actualización in situ de Aurora MySQL 2.01* a Aurora MySQL 2.02.
No permitimos la actualización in situ de los clústeres de Aurora MySQL 1.x a Aurora MySQL 2.02 ni la
restauración a Aurora MySQL 2.02 desde una copia de seguridad de Amazon S3. Tenemos previsto quitar
estas restricciones en una versión posterior de Aurora MySQL 2.x.
El esquema de rendimiento está deshabilitado para esta versión de Aurora MySQL 5.7. Actualice a Aurora
2.03 para obtener compatibilidad con el esquema de rendimiento.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
1281
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Actualmente, Aurora MySQL 2.01 no admite las características añadidas en Aurora MySQL versión
1.16 y posteriores. Para obtener información acerca de la versión 1.16 de Aurora MySQL, consulte
Actualizaciones del motor de base de datos de Aurora MySQL (11/12/2017) (p. 1320).
Aurora MySQL 2.02 no admite actualmente las siguientes características de MySQL 5.7:
Mejoras
• Se ha corregido un error por el que Aurora Writer se reiniciaba al ejecutar instrucciones INSERT y al
usar la optimización Fast Insert.
• Se ha corregido un error por el que la réplica de Aurora se reiniciaba al ejecutar instrucciones ALTER
DATABASE en la réplica de Aurora.
• Se ha corregido un error por el que Aurora Replica se reiniciaba al ejecutar consultas en tablas que se
acababan de liberar de Aurora Writer.
1282
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.01.1 ya está disponible con carácter general. Las versiones 2.x de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL son compatibles con MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL, puede elegir la compatibilidad con MySQL
5.7 o MySQL 5.6. Al restaurar una instantánea compatible con MySQL 5.6, puede elegir la compatibilidad
con MySQL 5.7 o MySQL 5.6.
Puede restaurar instantáneas de Aurora MySQL 1.14*, 1.15*, 1.16* y 1.17* en Aurora MySQL 2.01.1.
No permitimos la actualización in situ de los clústeres de Aurora MySQL 1.x a Aurora MySQL 2.01.1 ni
la restauración a Aurora MySQL 2.01.1 desde una copia de seguridad de Amazon S3. Tenemos previsto
quitar estas restricciones en una versión posterior de Aurora MySQL 2.x.
El esquema de rendimiento está deshabilitado para esta versión de Aurora MySQL 5.7. Actualice a Aurora
2.03 para obtener compatibilidad con el esquema de rendimiento.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
1283
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Actualmente, Aurora MySQL 2.01.1 no admite las características añadidas en Aurora MySQL versión
1.16 y posteriores. Para obtener información acerca de la versión 1.16 de Aurora MySQL, consulte
Actualizaciones del motor de base de datos de Aurora MySQL (11/12/2017) (p. 1320).
Aurora MySQL 2.01.1 no admite actualmente las siguientes características de MySQL 5.7:
Mejoras
• Se corrigió un problema con la restauración de instantáneas por el que los permisos de base de datos
específicos de Aurora se creaban incorrectamente cuando se restauraba una instantánea compatible
con MySQL 5.6 con compatibilidad con MySQL 5.7.
• Se agregó compatibilidad con las restauraciones de instantáneas de 1.17.
1284
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 2
Aurora MySQL 2.01 ya está disponible con carácter general. En el futuro, las versiones 2.x de Aurora
MySQL serán compatibles con MySQL 5.7 y las versiones 1.x de Aurora MySQL serán compatibles con
MySQL 5.6.
Al crear un nuevo clúster de base de datos de Aurora MySQL, incluidos los restaurados a partir de
instantáneas, puede elegir la compatibilidad con MySQL 5.7 o MySQL 5.6.
Puede restaurar instantáneas de Aurora MySQL 1.14*, 1.15* y 1.16* en Aurora MySQL 2.01.
No permitimos la actualización in situ de los clústeres de Aurora MySQL 1.x a Aurora MySQL 2.01 ni la
restauración a Aurora MySQL 2.01 desde una copia de seguridad de Amazon S3. Tenemos previsto quitar
estas restricciones en una versión posterior de Aurora MySQL 2.x.
El esquema de rendimiento está deshabilitado para esta versión de Aurora MySQL 5.7. Actualice a Aurora
2.03 para obtener compatibilidad con el esquema de rendimiento.
• Captura previa de clave asíncrona (AKP). Para obtener más información, consulte Optimización
de las consultas de combinación indexadas de Amazon Aurora con la captura previa de claves
asíncronas (p. 1120).
• Combinaciones hash. Para obtener más información, consulte Optimización de grandes consultas
combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Funciones nativas para la invocación síncrona de las funciones AWS Lambda. Para obtener más
información, consulte Invocación de una función de Lambda con una función nativa de Aurora
MySQL (p. 1094).
• Agrupación en lotes de análisis. Para obtener más información, consulte Actualizaciones del motor de
base de datos de Aurora MySQL (11/12/2017) (p. 1320).
• Migración de datos desde MySQL con un bucket de Amazon S3. Para obtener más información, consulte
Migración de datos desde MySQL con un bucket de Amazon S3 (p. 842).
Actualmente, Aurora MySQL 2.01 no admite las características añadidas en Aurora MySQL versión
1.16 y posteriores. Para obtener información acerca de la versión 1.16 de Aurora MySQL, consulte
Actualizaciones del motor de base de datos de Aurora MySQL (11/12/2017) (p. 1320).
Aurora MySQL 2.01 no admite actualmente las siguientes características de MySQL 5.7:
1285
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Actualizaciones del motor de base de datos de Aurora MySQL: 30/09/2021 (versión 1.23.4) (p. 1287)
• Actualizaciones del motor de base de datos de Aurora MySQL 28/06/2021 (versión 1.23.3) (p. 1288)
• Actualizaciones del motor de base de datos de Aurora MySQL 18/03/2021 (versión 1.23.2) (p. 1289)
• Actualizaciones del motor de base de datos de Aurora MySQL 24/11/2020 (versión 1.23.1) (p. 1290)
• Actualizaciones del motor de base de datos de Aurora MySQL: 02/09/2020 (versión 1.23.0) (p. 1291)
• Actualizaciones del motor de base de datos de Aurora MySQL del 03/06/2021 (versión 1.22.5) (p. 1295)
• Actualizaciones del motor de base de datos de Aurora MySQL 04/03/2021 (versión 1.22.4) (p. 1295)
• Actualizaciones del motor de base de datos de Aurora MySQL 09/11/2020 (versión 1.22.3) (p. 1296)
• Actualizaciones del motor de base de datos de Aurora MySQL: 05/03/2020 (versión 1.22.2) (p. 1298)
• Actualizaciones del motor de base de datos de Aurora MySQL: 23/12/2019 (versión 1.22.1) (p. 1299)
• Actualizaciones del motor de base de datos de Aurora MySQL: 25/11/2019 (versión 1.22.0) (p. 1299)
• Actualizaciones del motor de base de datos de Aurora MySQL: 25/11/2019 (versión 1.21.0) (p. 1302)
• Actualizaciones del motor de base de datos de Aurora MySQL: 05/03/2020 (versión 1.20.1) (p. 1304)
• Actualizaciones del motor de base de datos de Aurora MySQL: 11/11/2019 (versión 1.20.0) (p. 1305)
• Actualizaciones del motor de base de datos de Aurora MySQL: 05/03/2020 (versión 1.19.6) (p. 1306)
• Actualizaciones del motor de base de datos de Aurora MySQL 19/09/2019 (versión 1.19.5) (p. 1307)
1286
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Actualizaciones del motor de base de datos de Aurora MySQL: 05/06/2019 (versión 1.19.2) (p. 1308)
• Actualizaciones del motor de base de datos de Aurora MySQL: 09/05/2019 (versión 1.19.1) (p. 1309)
• Actualizaciones del motor de base de datos de Aurora MySQL: 07/02/2019 (versión 1.19.0) (p. 1309)
• Actualizaciones del motor de base de datos de Aurora MySQL (20/09/2018) (p. 1311) (versión 1.18.0)
• Actualizaciones del motor de base de datos de Aurora MySQL (05/03/2020) (p. 1312) (versión 1.17.9)
• Actualizaciones del motor de base de datos de Aurora MySQL (17/01/2019) (p. 1313) (versión 1.17.8)
• Actualizaciones del motor de base de datos de Aurora MySQL (08/10/2018) (p. 1313) (versión 1.17.7)
• Actualizaciones del motor de base de datos de Aurora MySQL 06/09/2018 (p. 1314) (versión 1.17.6)
• Actualizaciones del motor de base de datos de Aurora MySQL (14/08/2018) (p. 1315) (versión 1.17.5)
• Actualizaciones del motor de base de datos de Aurora MySQL (07/08/2018) (p. 1316) (versión 1.17.4)
• Actualizaciones del motor de base de datos de Aurora MySQL (05/06/2018) (p. 1316) (versión 1.17.3)
• Actualizaciones del motor de base de datos de Aurora MySQL (27/04/2018) (p. 1317) (versión 1.17.2)
• Actualizaciones del motor de base de datos de Aurora MySQL (23/03/2018) (p. 1318) (versión 1.17.1)
• Actualizaciones del motor de base de datos de Aurora MySQL (13/03/2018) (p. 1318) (versión 1.17)
• Actualizaciones del motor de base de datos de Aurora MySQL (11/12/2017) (p. 1320) (versión 1.16)
• Actualizaciones del motor de base de datos de Aurora MySQL (20/11/2017) (p. 1321) (versión 1.15.1)
• Actualizaciones del motor de base de datos de Aurora MySQL (24/10/2017) (p. 1322) (versión 1.15)
• Actualizaciones del motor de base de datos de Aurora MySQL: (13/03/2018) (p. 1324) (versión 1.14.4)
• Actualizaciones del motor de base de datos de Aurora MySQL (22/09/2017) (p. 1324) (versión 1.14.1)
• Actualizaciones del motor de base de datos de Aurora MySQL (07/08/2017) (p. 1325) (versión 1.14)
• Actualizaciones del motor de base de datos de Aurora MySQL (15/05/2017) (p. 1326) (versión 1.13)
• Actualizaciones del motor de base de datos de Aurora MySQL (05/04/2017) (p. 1328) (versión 1.12)
• Actualizaciones del motor de base de datos de Aurora MySQL (23/02/2017) (p. 1329) (versión 1.11)
• Actualizaciones del motor de base de datos de Aurora MySQL (12/01/2017) (p. 1332) (versión 1.10.1)
• Actualizaciones del motor de base de datos de Aurora MySQL (14/12/2016) (p. 1332) (versión 1.10)
• Actualizaciones del motor de base de datos de Aurora MySQL (10/11/2016) (p. 1334) (versiones 1.9.0,
1.9.1)
• Actualizaciones del motor de base de datos de Aurora MySQL (26/10/2016) (p. 1335) (versión 1.8.1)
• Actualizaciones del motor de base de datos de Aurora MySQL (18/10/2016) (p. 1335) (versión 1.8)
• Actualizaciones del motor de base de datos de Aurora MySQL (20/09/2016) (p. 1337) (versión 1.7.1)
• Actualizaciones del motor de base de datos de Aurora MySQL (30/08/2016) (p. 1337) (versión 1.7)
• Actualizaciones del motor de base de datos de Aurora MySQL (01/06/2016) (p. 1338) (versión 1.6.5)
• Actualizaciones del motor de base de datos de Aurora MySQL (06/04/2016) (p. 1339) (versión 1.6)
• Actualizaciones del motor de base de datos de Aurora MySQL (11/01/2016) (p. 1341) (versión 1.5)
• Actualizaciones del motor de base de datos de Aurora MySQL (03/12/2015) (p. 1341) (versión 1.4)
• Actualizaciones del motor de base de datos de Aurora MySQL (16/10/2015) (p. 1343) (versiones 1.2,
1.3)
• Actualizaciones del motor de base de datos de Aurora MySQL (24/08/2015) (p. 1345) (versión 1.1)
Aurora MySQL 1.23.4 ya está disponible con carácter general. Las versiones 2.* de Aurora MySQL son
compatibles con MySQL 5.7 y las versiones 1.* de Aurora MySQL son compatibles con MySQL 5.6.
1287
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Las versiones de Aurora MySQL compatibles actualmente para la actualización a 1.23.4 son: 1.14.*, 1.15.*,
1.16.*, 1.17.*, 1.18.*, 1.19.*, 1.20.*, 1.21.*, 1.22.* y 1.23.*.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la consola de RDS, la CLI de AWS o la API de Amazon RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Mejoras generales:
• Se ha corregido un problema que podía provocar un elevado consumo de CPU en las instancias del
lector debido al registro excesivo de mensajes informativos en los archivos de registro de diagnóstico
internos.
• CVE-2021-2307
• CVE-2021-2226
• CVE-2021-2160
• CVE-2021-2154
• CVE-2021-2060
• CVE-2021-2032
• CVE-2021-2001
Aurora MySQL 1.23.3 está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
Las versiones de Aurora MySQL compatibles actualmente para la actualización a 1.23.3 son: 1.14.*, 1.15.*,
1.16.*, 1.17.*, 1.18.*, 1.19.*, 1.20.*, 1.21.*, 1.22.* y 1.23.*.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la consola de RDS, la CLI de AWS o la API de Amazon RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Mejoras generales de estabilidad y disponibilidad.
Correcciones de seguridad:
• CVE-2021-23841
• CVE-2021-3449
1288
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• CVE-2020-28196
Aurora MySQL 1.23.2 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
Las versiones de Aurora MySQL compatibles actualmente son 1.19.*, 1.20.*, 1.21.*, 1.22.*, 1.23.*, 2.04.*,
2.05.*, 2.06.*, 2.07.*, 2.08.* y 2.09.*. Se puede restaurar la instantánea de una base de datos de Aurora
MySQL 1.* en Aurora MySQL 1.23.2.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la consola de RDS, la CLI de AWS o la API de Amazon RDS.
Note
Actualmente, esta versión no está disponible en las siguientes regiones: AWS GovCloud (EE. UU.
Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oste) [us-gov-west-1]. Cuando esté disponible,
enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Correcciones de prioridad alta:
• CVE-2020-14867
• CVE-2020-14812
• CVE-2020-14769
• CVE-2020-14765
• CVE-2020-14793
• CVE-2020-14672
• CVE-2020-1971
• CVE-2018-3143
Mejoras de disponibilidad:
1289
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Aurora MySQL 1.23.1 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
Las versiones de Aurora MySQL compatibles actualmente para la actualización a 1.23.1 son: 1.14.*, 1.15.*,
1.16.*, 1.17.*, 1.18.*, 1.19.*, 1.20.*, 1.21.*, 1.22.* y 1.23.*.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la consola de RDS, la CLI de AWS o la API de Amazon RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Correcciones de seguridad:
1290
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• CVE-2020-14559
• CVE-2020-14539
Cambios incompatibles:
Esta versión introduce un cambio de permisos que afecta al comportamiento del comando
mysqldump. Los usuarios deben tener el privilegio de PROCESS para acceder a la tabla
INFORMATION_SCHEMA.FILES. Para ejecutar el comando mysqldump sin ningún cambio, conceda
el privilegio PROCESS al usuario de base de datos al que se conecta el comando mysqldump. También
puede ejecutar el comando mysqldump con la opción --no-tablespaces. Con esa opción, la salida
mysqldump no incluye ninguna instrucción CREATE LOGFILE GROUP o CREATE TABLESPACE. En
ese caso, el comando mysqldump no tiene acceso a la tabla INFORMATION_SCHEMA.FILES y no es
necesario conceder el permiso PROCESS.
Mejoras de disponibilidad:
• Se ha corregido un problema que hacía que una instancia de lector Aurora en un clúster secundario de
base de datos global que ejecutase 1.23.0 se reiniciara repetidamente
• Se ha corregido un problema que provocaba que las réplicas de una región secundaria de base de datos
global se reiniciaran cuando se actualizaba a la versión 1.23.0 mientras el escritor de región principal
estaba en una versión anterior.
• Se ha corregido una pérdida de memoria en la función de cambio de tamaño dinámico, introducida en
Aurora MySQL 1.23.0.
• Se ha corregido un problema que podía provocar el reinicio del servidor durante la ejecución de una
consulta mediante la función de consulta paralela.
• Se ha corregido un problema que podía provocar que una sesión de cliente se bloqueara cuando el
motor de base de datos encontraba un error al leer o escribir en la red.
Aurora MySQL 1.23.0 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
Las versiones de Aurora MySQL actualmente compatibles son: 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
1.20.*, 1.21.*, 1.22.*, 1.23.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.*, 2.07.*, 2.08.* y 2.09.*. Puede
restaurar la instantánea de una base de datos de Aurora MySQL 1.* en Aurora MySQL 1.23.0.
Important
Las mejoras en el almacenamiento Aurora en esta versión limitan las rutas de actualización
disponibles de Aurora MySQL 1.23 a Aurora MySQL 2.*. Al actualizar un clúster 1.23 Aurora
MySQL a 2.*, debe actualizar a Aurora MySQL 2.09.0 o posterior.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la consola de RDS, la CLI de AWS o la API de Amazon RDS.
Note
Actualmente, esta versión no está disponible en las siguientes regiones: AWS GovCloud (EE. UU.
Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oste) [us-gov-west-1]. Cuando esté disponible,
enviaremos una notificación aparte.
1291
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Nuevas características:
• Ahora puede activar o desactivar la consulta paralela para un clúster existente cambiando el valor
del parámetro de clúster de base de datos aurora_parallel_query. No es necesario utilizar la
configuración de parallelquery del parámetro --engine-mode al crear el clúster.
La consulta paralela ahora se expande para estar disponible en todas las regiones donde Aurora MySQL
está disponible.
Hay varias mejoras de funcionalidad y cambios en los procedimientos para actualizar y habilitar
consultas paralelas en un clúster de Aurora. Para obtener más información, consulte Trabajar con
consultas paralelas de Amazon Aurora MySQL (p. 948).
• Con esta versión, puede crear instancias de base de datos MySQL de Amazon Aurora con hasta
128 tebibytes (TiB) de almacenamiento. El nuevo límite de almacenamiento supone un aumento con
respecto a los 64 TiB anteriores. El tamaño de almacenamiento de 128 TiB admite bases de datos
mayores. Esta capacidad no se admite en tamaños de instancias pequeñas (db.t2 o db.t3). Un único
espacio de tabla no puede crecer más allá de 64 TiB debido a limitaciones de InnoDB con un tamaño de
página de 16 KB.
Aurora le avisa cuando el tamaño del volumen del clúster está cerca de 128 TiB, de modo que pueda
tomar medidas antes de alcanzar el límite de tamaño. Las alertas aparecen en el registro mysql y
Eventos RDS en la AWS Management Console.
• Procesamiento de binary log (binlog) mejorado para reducir el tiempo de recuperación de errores y la
latencia de tiempo de confirmación cuando se trata de transacciones muy grandes.
• Aurora cambia dinámicamente el espacio de almacenamiento del clúster. Con el cambio de
tamaño dinámico, el espacio de almacenamiento del clúster de base de datos de Aurora disminuye
automáticamente al quitar datos del clúster de base de datos. Para obtener más información, consulte
Escalado del almacenamiento (p. 434).
Note
• CVE-2019-2911
• CVE-2019-2537
• CVE-2018-2787
• CVE-2018-2784
• CVE-2018-2645
• CVE-2018-2640
Mejoras de disponibilidad:
1292
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Consulta paralela:
• Se ha corregido un problema que provocaba que una consulta paralela devolviera un resultado vacío.
• Se ha corregido un problema que provocaba que una consulta en una tabla pequeña de la réplica de
lectura de Aurora pudiera tardar más de un segundo.
• Se ha corregido un problema que podía provocar un reinicio cuando una consulta paralela y una
instrucción DML se ejecutaban simultáneamente bajo una gran carga de trabajo.
Mejoras generales:
• Se ha corregido un problema que provocaba que las consultas que utilizaban el índice espacial
devolvieran resultados parciales si se creaba un índice espacial en tablas con valores espaciales
grandes ya existentes.
• Se ha aumentado la longitud máxima permitida para las variables del sistema de auditoría
server_audit_incl_users y server_audit_excl_users de 1024 bytes a 2000 bytes.
• Se ha corregido un problema que provocaba que una réplica de binlog conectada a un binlog principal
de Aurora MySQL mostrara datos incompletos cuando el binlog principal de Aurora MySQL carga datos
de S3 bajo statement binlog_format.
• Cumplir con el comportamiento de la comunidad para asignar binlog_format mixed a row en lugar de
statement para cargar datos.
• Se ha corregido un problema que provocaba que la replicación de binlog dejara de funcionar cuando el
usuario cerraba la conexión y la sesión utilizaba tablas temporales.
• Se ha mejorado el tiempo de respuesta de una consulta que involucra tablas temporales MyISAM.
1293
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Se ha corregido un problema de permisos cuando el trabajador de binlog ejecuta una función lambda
nativa.
• Se ha corregido un problema en las réplicas de lectura de Aurora al intentar consultar o rotar el registro
lento o el registro general.
• Se ha corregido un problema que interrumpía la replicación lógica cuando el parámetro
binlog_checksum se establecía en valores diferentes en el maestro y la réplica.
• Se ha corregido un problema por el que la réplica de lectura podía ver de forma transitoria los resultados
parciales de una transacción confirmada recientemente en el escritor.
• Incluya información de transacción de la transacción restaurada en show engine innodb status
cuando se resuelva un interbloqueo.
1294
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Aurora MySQL 1.22.5 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
Las versiones de Aurora MySQL compatibles actualmente para la actualización a 1.22.5 son 1.14.*, 1.15.*,
1.16.*, 1.17.*, 1.18.*, 1.19.*, 1.20.*, 1.21.* y 1.22.*.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la consola de RDS, la CLI de AWS o la API de Amazon RDS.
Note
Esta versión se designa como una versión de soporte a largo plazo (LTS). Para obtener más
información, consulte Versiones de soporte a largo plazo (LTS) de Aurora MySQL (p. 1173).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Mejoras de disponibilidad:
• Se ha resuelto un problema que podía provocar que la base de datos se detenga y posteriormente
se reiniciara o produjera una conmutación por error debido a un conflicto de concurrencia entre los
subprocesos de limpieza internos.
• Se ha resuelto un problema que podía provocar que el clúster no estuviera disponible si la base de datos
se reiniciaba mientras las transacciones XA estaban en estado preparado y, a continuación, se reiniciaba
de nuevo antes de que dichas transacciones se confirman o se deshagan. Antes de que se implemente
esta corrección, puede solucionar el problema al restaurar el clúster a un momento anterior al primer
reinicio.
• Se ha resuelto un problema que podía provocar que la purga de InnoDB se bloqueara si la base de
datos se reiniciaba mientras procesaba una sentencia DDL. Como resultado, la longitud de la lista del
historial de InnoDB aumentaría y el volumen de almacenamiento en clúster seguiría creciendo hasta
que se llenara, de modo que la base de datos no estaría disponible. Antes de que se implemente esta
corrección, puede mitigar el problema al reiniciar de nuevo la base de datos para desbloquear la purga.
Aurora MySQL 1.22.4 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
1295
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Las versiones de Aurora MySQL compatibles actualmente para la actualización a 1.22.4 son 1.14.*, 1.15.*,
1.16.*, 1.17.*, 1.18.*, 1.19.*, 1.20.*, 1.21.* y 1.22.*.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la consola de RDS, la CLI de AWS o la API de Amazon RDS.
Note
Esta versión se designa como una versión de soporte a largo plazo (LTS). Para obtener más
información, consulte Versiones de soporte a largo plazo (LTS) de Aurora MySQL (p. 1173).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Correcciones de seguridad:
• CVE-2020-14867
• CVE-2020-14812
• CVE-2020-14793
• CVE-2020-14769
• CVE-2020-14765
• CVE-2020-14672
• CVE-2020-1971
Mejoras de disponibilidad:
Aurora MySQL 1.22.3 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
Las versiones de Aurora MySQL soportadas actualmente para actualizar a 1.22.3 son 1.14.*, 1.15.*, 1.16.*,
1.17.*, 1.18.*, 1.19.*, 1.20.*, 1.21.* y 1.22.*.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la consola de RDS, la CLI de AWS o la API de Amazon RDS.
1296
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Note
Esta versión se designa como una versión de soporte a largo plazo (LTS). Para obtener más
información, consulte Versiones de soporte a largo plazo (LTS) de Aurora MySQL (p. 1173).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Correcciones de seguridad:
• CVE-2020-14559
• CVE-2020-14539
• CVE-2020-2579
• CVE-2020-2812
• CVE-2020-2780
• CVE-2020-2763
Cambios incompatibles:
Esta versión introduce un cambio de permisos que afecta al comportamiento del comando
mysqldump. Los usuarios deben tener el privilegio de PROCESS para acceder a la tabla
INFORMATION_SCHEMA.FILES. Para ejecutar el comando mysqldump sin ningún cambio, conceda
el privilegio PROCESS al usuario de base de datos al que se conecta el comando mysqldump. También
puede ejecutar el comando mysqldump con la opción --no-tablespaces. Con esa opción, la salida
mysqldump no incluye ninguna instrucción CREATE LOGFILE GROUP o CREATE TABLESPACE. En
ese caso, el comando mysqldump no tiene acceso a la tabla INFORMATION_SCHEMA.FILES y no es
necesario conceder el permiso PROCESS.
Mejoras de disponibilidad:
• Se han corregido los problemas que podían provocar el reinicio del servidor durante la recuperación de
una instrucción DDL que no se confirmó.
• Se han corregido las condiciones de carrera en el administrador de bloqueos que pueden provocar el
reinicio del servidor.
• Se ha corregido un problema que podía hacer que el agente de supervisión reiniciara el servidor durante
la recuperación de una transacción grande.
Mejoras generales:
1297
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Error n.° 15831300: De forma predeterminada, al promover enteros de un tipo más pequeño en el
maestro a un tipo más grande en el esclavo (por ejemplo, de una columna SMALLINT en el maestro a
una columna BIGINT en el esclavo), los valores promocionados se tratan como si estuvieran firmados.
Ahora, en tales casos es posible modificar o anular este comportamiento utilizando uno o ambos de
ALL_SIGNED, ALL_UNSIGNED en el conjunto de valores especificados para la variable de sistema del
servidor slave_type_conversions. Para obtener más información, consulte Replicación basada en filas:
promoción y degradación de atributos, así como la descripción de la variable.
• Error n.° 17449901: Con foreign_key_checks=0, InnoDB permitió que se eliminara un índice
requerido por una restricción de clave externa, colocando la tabla en una inconsistente y causando un
error en la comprobación de clave externa que se produce en la carga de la tabla. InnoDB ahora evita
que se caiga un índice requerido por una restricción de clave externa, incluso con foreign_key_checks=0.
Se debe eliminar la restricción de clave externa antes de eliminar el índice de clave externa.
• ERROR #20768847: Una ALTER TABLE ... La operación DROP INDEX en una tabla con dependencias
de clave externa generó una aserción.
Aurora MySQL 1.22.2 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
Las versiones de Aurora MySQL compatibles actualmente son 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
1.20.*, 1.21.*, 1.22.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.* y 2.07.*. Puede restaurar la instantánea de
una base de datos de Aurora MySQL 1.* en Aurora MySQL 1.22.2.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la consola de RDS, la CLI de AWS o la API de Amazon RDS.
Note
Actualmente, esta versión no está disponible en las siguientes regiones: AWS GovCloud (EE. UU.
Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oste) [us-gov-west-1]. Cuando esté disponible,
enviaremos una notificación aparte.
Esta versión se designa como una versión de soporte a largo plazo (LTS). Para obtener más
información, consulte Versiones de soporte a largo plazo (LTS) de Aurora MySQL (p. 1173).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Correcciones de prioridad alta:
1298
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Aurora MySQL 1.22.1 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
Las versiones de Aurora MySQL actualmente compatibles son las versiones 1.14.*, 1.15.*, 1.16.*, 1.17.*,
1.18.*, 1.19.*, 1.20.*, 1.21.*, 1.22.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.* y 2.07.*. Para crear un
clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través de la AWS
Management Console, la AWS CLI o la API de RDS. Tiene la opción de actualizar los clústeres de base de
datos de Aurora MySQL 1.* existentes a Aurora MySQL 1.22.1.
Note
Actualmente, esta versión no está disponible en las siguientes regiones de AWS: AWS GovCloud
(EE. UU. Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oeste) [us-gov-west-1], China (Ningxia)
[cn-northwest-1], Asia Pacífico (Hong Kong) [ap-east-1] y Medio Oriente (Baréin) [me-south-1].
Cuando esté disponible, enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
El procedimiento para actualizar su clúster de base de datos ha cambiado. Para obtener más
información, consulte . Actualización de la versión secundaria o el nivel de parche de un clúster de
base de datos Aurora MySQL (p. 1174).
Mejoras
Correcciones fundamentales:
• Se han corregido problemas que impedían la recuperación del motor cuando había bloqueos de tablas y
tablas temporales.
• Se ha mejorado la estabilidad del registro binario cuando se utilizan tablas temporales.
Aurora MySQL 1.22.0 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
Las versiones de Aurora MySQL actualmente compatibles son las versiones 1.14.*, 1.15.*, 1.16.*, 1.17.*,
1.18.*, 1.19.*, 1.20.*, 1.21.*, 1.22.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.* y 2.07.*. Para crear un
clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través de la AWS
1299
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Management Console, la AWS CLI o la API de RDS. Tiene la opción de actualizar los clústeres de base de
datos de Aurora MySQL 1.* existentes a Aurora MySQL 1.22.0.
Note
Actualmente, esta versión no está disponible en las siguientes regiones de AWS: AWS GovCloud
(EE. UU. Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oeste) [us-gov-west-1], China (Ningxia)
[cn-northwest-1], Asia Pacífico (Hong Kong) [ap-east-1], Medio Oriente (Baréin) [me-south-1] y
América del Sur (Sao Paulo) [sa-east-1]. Cuando esté disponible, enviaremos una notificación
aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
El procedimiento para actualizar su clúster de base de datos ha cambiado. Para obtener más
información, consulte . Actualización de la versión secundaria o el nivel de parche de un clúster de
base de datos Aurora MySQL (p. 1174).
Mejoras
Nuevas características:
• Los clústeres de Aurora MySQL ahora son compatibles con los tipos de instancias r5.8xlarge,
r5.16xlarge y r5.24xlarge.
• Binlog dispone de nuevos cambios para mejorar la latencia del tiempo de confirmación cuando se trata
de transacciones muy grandes.
• Ahora Aurora MySQL cuenta con un mecanismo para minimizar el periodo de tiempo durante el cual los
eventos de una transacción grande se escriben en binlog al confirmar. Esto evita de manera eficaz las
largas recuperaciones sin conexión que tienen lugar cuando la base de datos cae durante dicho periodo
de tiempo. Esta característica también resuelve el problema cuando una transacción grande bloquea
transacciones más pequeñas en la confirmación de binlog. Esta características no está activada de
forma predeterminada, el equipo de servicio puede activarla si fuese necesario para su carga de trabajo.
Cuando esté habilitada, se activará cuando el tamaño de una transacción sea superior a 500 MB.
• Soporte adicional para el nivel de aislamiento READ COMMITTED de ANSI en las réplicas de lectura.
El nivel de aislamiento permite que las consultas de ejecución prolongada en la réplica de lectura
se ejecuten sin repercutir en el gran rendimiento de escrituras del nodo escritor. Para obtener más
información, consulte Niveles de aislamiento de Aurora MySQL.
• Las bases de datos globales ahora permiten agregar regiones secundarias de réplica de solo lectura
para clústeres de base de datos implementados en estas regiones de AWS: EE. UU. Este (N. Virginia)
[us-east--1], EE. UU. Este (Ohio) [us-east-2], EE. UU. Oeste (Norte de California) [us-west-1], EE. UU.
Oeste (Oregón) [us-west-2], Europa (Irlanda) [eu-west-1], Europa (Londres) [eu-west-2], Europa (París)
[eu-west-3], Asia Pacífico (Tokio) [ ap-northeast-1], Asia Pacífico (Seúl) [ap-northeast-2], Asia Pacífico
(Singapur) [ap-southeast-1], Asia Pacífico (Sídney) [ap-southeast-2], Canadá (Central) [ca-central-1],
Europa (Fráncfort) [eu-central-1] y Asia Pacífico (Mumbai) [ap-south-1].
• La característica de contención de filas activas por lo general está disponible actualmente y no precisa
que la configuración del modo lab de Aurora esté Activo. Esta característica mejora sustancialmente
el rendimiento de las cargas de trabajo, ya que muchas transacciones compiten por filas en la misma
página.
• Esta versión ha actualizado los archivos de franjas horarias para ser compatible con la última
actualización de franja horaria de Brasil en los nuevos clústeres.
Correcciones fundamentales:
• CVE-2019-2922
1300
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• CVE-2019-2923
• CVE-2019-2924
• CVE-2019-2910
• CVE-2019-2805
• CVE-2019-2730
• CVE-2019-2740
• CVE-2018-3064
• CVE-2018-3058
• CVE-2017-3653
• CVE-2017-3464
• CVE-2017-3244
• CVE-2016-5612
• CVE-2016-5439
• CVE-2016-0606
• CVE-2015-4904
• CVE-2015-4879
• CVE-2015-4864
• CVE-2015-4830
• CVE-2015-4826
• CVE-2015-2620
• CVE-2015-0382
• CVE-2015-0381
• CVE-2014-6555
• CVE-2014-4258
• CVE-2014-4260
• CVE-2014-2444
• CVE-2014-2436
• CVE-2013-5881
• CVE-2014-0393
• CVE-2013-5908
• CVE-2013-5807
• CVE-2013-3806
• CVE-2013-3811
• CVE-2013-3804
• CVE-2013-3807
• CVE-2013-2378
• CVE-2013-2375
• CVE-2013-1523
• CVE-2013-2381
• CVE-2012-5615
• CVE-2014-6489
1301
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Se ha corregido un error que provocó que las réplicas de lectura se reiniciasen durante una transacción
de ejecución larga. Los clientes que presenten reinicios de réplicas que coincidan con un descenso
acelerado de la memoria liberable deben considerar actualizar a esta versión.
• Se ha corregido un problema que notificaba ERROR 1836 por error al ejecutar una consulta anidada en
una tabla temporal en la réplica de lectura.
• Se ha corregido un error de cancelación de consulta paralela en una instancia de lector de Aurora
mientras se ejecuta una gran carga de trabajo de escritura en la instancia de escritor de Aurora.
• Se ha corregido un problema que provoca que una base de datos configurada como un maestro de
binlog se reinicie mientras se ejecuta una gran carga de trabajo de escritura.
• Se ha corregido un problema de falta de disponibilidad prolongada durante el reinicio del motor. Esto
aborda un problema en el inicio del grupo del búfer. Este problema se produce en escasas ocasiones
pero puede afectar a cualquier versión admitida
• Se solventó un problema que ocasionó inconsistencias en los datos de la tabla
information_schema.replica_host_status.
• Se ha corregido un estado extraño entre la consulta paralela y las rutas de ejecución estándar que
provocaron que los nodos de lector se reiniciasen de inmediato.
• Se ha mejorado la estabilidad de la base de datos cuando el número de conexiones de los clientes
supera el valor del parámetro max_connections.
• Se ha mejorado la estabilidad de las instancias de lector al bloquear el DDL no compatible y las
consultas de LOAD FROM S3.
Aurora MySQL 1.21.0 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
1302
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Las versiones de Aurora MySQL actualmente compatibles son las versiones 1.14.*, 1.15.*, 1.16.*, 1.17.*,
1.18.*, 1.19.*, 1.20.*, 1.21.*, 2.01.*, 2.02.*, 2.03.* y 2.04.*. Para crear un clúster con una versión de Aurora
MySQL anterior, especifique la versión del motor a través de la AWS Management Console, la AWS
CLI o la API de RDS. Tiene la opción de actualizar los clústeres de base de datos de Aurora MySQL 1.*
existentes a Aurora MySQL 1.21.0.
Note
Actualmente, esta versión no está disponible en las siguientes regiones de AWS: AWS GovCloud
(EE. UU. Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oeste) [us-gov-west-1], China (Ningxia)
[cn-northwest-1], Asia Pacífico (Hong Kong) [ap-east-1], Europa (Estocolmo) [eu-north-1] y Medio
Oriente (Baréin) [me-south-1]. Cuando esté disponible, enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
El procedimiento para actualizar su clúster de base de datos ha cambiado. Para obtener más
información, consulte . Actualización de la versión secundaria o el nivel de parche de un clúster de
base de datos Aurora MySQL (p. 1174).
Mejoras
Correcciones fundamentales:
• CVE-2018-0734
• CVE-2019-2534
• CVE-2018-2612
• CVE-2017-3599
• CVE-2018-2562
• CVE-2017-3329
• CVE-2018-2696
• CVE-2015-4737
1303
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Estabilidad mejorada de la base de datos cuando la característica de unión de hash está habilitada y la
instancia tiene poca memoria. Los clientes que utilicen una combinación de hash deben actualizar.
• Se ha corregido un problema en la memoria caché de consultas donde el error "Demasiadas
conexiones" podía provocar un reinicio.
• Se ha corregido el cálculo de memoria libre en instancias T2 para incluir espacio de memoria de
intercambio para evitar reinicios innecesarios.
Aurora MySQL 1.20.1 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
Las versiones de Aurora MySQL compatibles actualmente son 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
1.20.*, 1.21.*, 1.22.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.* y 2.07.*. Puede restaurar la instantánea de
una base de datos de Aurora MySQL 1.* en Aurora MySQL 1.20.1.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la consola de RDS, la CLI de AWS o la API de Amazon RDS.
Note
Actualmente, esta versión no está disponible en las siguientes regiones: AWS GovCloud (EE. UU.
Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oste) [us-gov-west-1]. Cuando esté disponible,
enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
Correcciones de prioridad alta:
1304
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Se ha corregido un problema de bloqueo al ejecutarse una consulta compleja que implicaba agregación
y combinaciones de varias tablas que utiliza tablas intermedias internamente.
Aurora MySQL 1.20.0 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
Las versiones de Aurora MySQL actualmente compatibles son las versiones 11.14.*, 1.15.*, 1.16.*, 1.17.*,
1.18.*, 1.19.*, 1.20.*, 2.01.*, 2.02.*, 2.03.* y 2.04.*. Para crear un clúster con una versión de Aurora MySQL
anterior, especifique la versión del motor a través de la AWS Management Console, la AWS CLI o la API
de RDS. Tiene la opción de actualizar los clústeres de base de datos de Aurora MySQL 1.* existentes,
hasta 1.19.5, a Aurora MySQL 1.20.0.
Note
Actualmente, esta versión no está disponible en las siguientes regiones de AWS: AWS GovCloud
(EE. UU. Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oeste) [us-gov-west-1], China (Ningxia)
[cn-northwest-1], Asia Pacífico (Hong Kong) [ap-east-1], Europa (Estocolmo) [eu-north-1] y Medio
Oriente (Baréin) [me-south-1]. Cuando esté disponible, enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
El procedimiento para actualizar su clúster de base de datos ha cambiado. Para obtener más
información, consulte . Actualización de la versión secundaria o el nivel de parche de un clúster de
base de datos Aurora MySQL (p. 1174).
Mejoras
Correcciones fundamentales:
• CVE-2018-0734
• CVE-2019-2534
• CVE-2018-2612
• CVE-2017-3599
• CVE-2018-2562
• CVE-2017-3329
• CVE-2018-2696
• CVE-2015-4737
1305
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Aurora MySQL 1.19.6 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
Las versiones de Aurora MySQL compatibles actualmente son 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
1.20.*, 1.21.*, 1.22.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.* y 2.07.*. Puede restaurar la instantánea de
una base de datos de Aurora MySQL 1.* en Aurora MySQL 1.19.6.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la consola de RDS, la CLI de AWS o la API de Amazon RDS.
Note
Actualmente, esta versión no está disponible en las siguientes regiones: AWS GovCloud (EE. UU.
Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oste) [us-gov-west-1]. Cuando esté disponible,
enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
1306
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Mejoras
Correcciones de prioridad alta:
Aurora MySQL 1.19.5 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
Tiene la opción de actualizar los clústeres de base de datos existentes a Aurora MySQL 1.19.5. Puede
restaurar instantáneas de Aurora MySQL 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.1 y 1.19.2 en Aurora
MySQL 1.19.5.
Para utilizar una versión anterior de Aurora MySQL, puede crear nuevos clústeres de bases de datos
especificando la versión del motor a través de la AWS Management Console, la AWS CLI o la API de RDS.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Actualmente, esta versión no está disponible en las siguientes regiones de AWS: Europa
(Londres) [eu-west-2], AWS GovCloud (EE. UU. Este) [us-gov-east-1], AWS GovCloud (EE. UU.
Oeste) [us-gov-west-1], China (Ningxia) [cn-northwest-1] y Asia Pacífico (Hong Kong) [ap-east-1].
Cuando esté disponible, enviaremos una notificación aparte.
Note
El procedimiento para actualizar su clúster de base de datos ha cambiado. Para obtener más
información, consulte . Actualización de la versión secundaria o el nivel de parche de un clúster de
base de datos Aurora MySQL (p. 1174).
Mejoras
• Se ha corregido un problema en las instancias del lector de Aurora que reducía la memoria libre durante
las transacciones de larga duración mientras había un gran tráfico de confirmación de transacciones en
la instancia del escritor.
• Se ha corregido un error de cancelación de consulta paralela en instancias de lector de Aurora mientras
se ejecuta una gran carga de trabajo de escritura en la instancia de escritor de Aurora.
• El valor del parámetro aurora_disable_hash_join ahora persiste después de reiniciar la base de
datos o reemplazar el host.
• Se ha solucionado un problema relacionado con la memoria caché de búsqueda de texto completo que
hacía que la instancia de Aurora se quedara sin memoria.
• Se ha mejorado la estabilidad de la base de datos cuando el tamaño del volumen está cerca del límite
de 64 tebibytes (TiB) al reservar 160 GB de espacio para que el flujo de trabajo de recuperación se
complete sin que se produzca una conmutación por error.
• Estabilidad mejorada de la base de datos cuando la característica de unión de hash está habilitada y la
instancia tiene poca memoria.
1307
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Se ha corregido el cálculo de memoria libre para incluir espacio de memoria de intercambio en instancias
T2 que hacía que se reiniciaran prematuramente
• Se ha corregido un problema en la memoria caché de consultas donde el error "Demasiadas
conexiones" podía provocar un reinicio.
Aurora MySQL 1.19.2 ya está disponible con carácter general. Todos los clústeres de base de datos
de Aurora MySQL nuevos compatibles con MySQL 5.6, incluidos los que se hayan restaurado a partir
de instantáneas, se pueden crear con 1.17.8, 1.19.0, 1.19.1 o 1.19.2. Tiene la opción, aunque no es
obligatorio, de actualizar clústeres de base de datos existentes a Aurora MySQL 1.19.2. Para usar una
versión anterior, puede crear nuevos clústeres de base de datos en Aurora MySQL 1.14.4, Aurora MySQL
1.15.1, Aurora MySQL 1.16, Aurora MySQL 1.17.8 o Aurora MySQL 1.18. Puede hacerlo a través de la
AWS CLI o la API de Amazon RDS, y especificar la versión del motor.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Actualmente, esta versión no está disponible en las regiones de AWS: AWS GovCloud (EE. UU.
Oeste) [us-gov-west-1], Europa (Estocolmo) [eu-north-1], China (Ningxia) [cn-northwest-1] y Asia
Pacífico (Hong Kong) [ap-east-1]. Cuando esté disponible, enviaremos una notificación aparte.
Note
El procedimiento para actualizar su clúster de base de datos ha cambiado. Para obtener más
información, consulte . Actualización de la versión secundaria o el nivel de parche de un clúster de
base de datos Aurora MySQL (p. 1174).
Mejoras
• Se ha solucionado un problema que podía causar errores al cargar datos en Aurora desde Amazon S3.
• Se ha solucionado un problema que podía causar errores al cargar datos desde Aurora hasta Amazon
S3.
1308
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Aurora MySQL 1.19.1 ya está disponible con carácter general. Todos los clústeres de base de datos
Aurora MySQL nuevos compatibles con MySQL 5.6, incluidos los que se hayan restablecido a partir
de instantáneas, se crearán con 1.17.8, 1.19.0 o 1.19.1. Tiene la opción, aunque no es obligatorio, de
actualizar clústeres de base de datos existentes a Aurora MySQL 1.19.1. Para usar una versión anterior,
puede crear nuevos clústeres de base de datos en Aurora MySQL 1.14.4, Aurora MySQL 1.15.1, Aurora
MySQL 1.16, Aurora MySQL 1.17.8 o Aurora MySQL 1.18. Puede hacerlo a través de la AWS CLI o la API
de Amazon RDS, y especificar la versión del motor.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
Note
El procedimiento para actualizar su clúster de base de datos ha cambiado. Para obtener más
información, consulte . Actualización de la versión secundaria o el nivel de parche de un clúster de
base de datos Aurora MySQL (p. 1174).
Mejoras
• Se ha corregido un error en la replicación de binlog que provocaba problemas en las instancias de
Aurora configuradas como nodo de trabajo de binlog.
• Solución de un error en la gestión de determinados tipos de comandos ALTER TABLE.
• Solución de un problema con conexiones anuladas debido a un error en la gestión de protocolos de red.
Aurora MySQL 1.19.0 ya está disponible con carácter general. Todos los clústeres de base de datos
Aurora MySQL nuevos compatibles con MySQL 5.6, incluidos los que se hayan restablecido a partir de
instantáneas, se crearán con 1.17.8 o 1.19.0. Tiene la opción, aunque no es obligatorio, de actualizar
clústeres de base de datos existentes a Aurora MySQL 1.19.0. Para usar una versión anterior, puede
crear nuevos clústeres de base de datos en Aurora MySQL 1.14.4, Aurora MySQL 1.15.1, Aurora MySQL
1309
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
1.16, Aurora MySQL 1.17.8 o Aurora MySQL 1.18.0. Puede hacerlo a través de la AWS CLI o la API de
Amazon RDS, y especificar la versión del motor.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
Note
El procedimiento para actualizar su clúster de base de datos ha cambiado. Para obtener más
información, consulte . Actualización de la versión secundaria o el nivel de parche de un clúster de
base de datos Aurora MySQL (p. 1174).
Características
• Selector de versión de Aurora: a partir de Aurora MySQL 1.19.0, puede seleccionar varias versiones
de Aurora compatibles con MySQL 5.6 en la consola de Amazon RDS. Para obtener más información,
consulte . Comprobación o especificación de versiones del motor de Aurora MySQL mediante
AWS (p. 1171).
Mejoras
• Solución de un problema de estabilidad relacionado con la consulta CHECK TABLE en una réplica de
Aurora.
• Introducción de una nueva variable de usuario global aurora_disable_hash_join para deshabilitar
el operador hash join.
• Solución de un problema de estabilidad cuando se genera la fila de salida durante varios operadores
hash join de tabla.
• Solución de un problema en el que se devolvía un resultado erróneo debido a un cambio de plan durante
la comprobación de aplicabilidad del operador hash join.
• La característica de creación de parches sin actividad es compatible con las transacciones de
ejecuciones prolongadas. Esta mejora se aplicará cuando se actualice de la versión 1.19 a una superior.
• La característica de creación de parches sin actividad es ahora compatible cuando binlog está habilitado.
Esta mejora se aplicará cuando se actualice de la versión 1.19 a una superior.
• Solución de un problema que provocaba un pico en el uso de la CPU en le réplica de Aurora no
relacionada con la carga de trabajo.
• Solución de una condición de carrera en el administrador de bloqueos que generaba el reinicio de la
base de datos.
• Solución de una condición de carrera en el administrador de bloqueos para mejorar la estabilidad de las
instancias de Aurora.
• Mejora de la estabilidad del detector de bloqueos dentro del componente del administrador de bloqueos.
• INSERTProhibición de la operación en una tabla si InnoDB detecta que el índice está dañado.
• Solución de un problema de estabilidad en DLL rápida.
• Mejora de la estabilidad de Aurora mediante la reducción del consumo de memoria en una agrupación
en lotes de análisis para una subconsulta de una sola fila.
• Solución de un problema de estabilidad que se generaba después de eliminar una clave externa cuando
la variable del sistema foreign_key_checks se establecía en 0.
• Solución de un problema en la característica de prevención de memoria insuficiente en el que se
sobrescribían erróneamente los cambios en el valor table_definition_cache realizados por el
usuario.
1310
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Aurora MySQL 1.18.0 ya está disponible con carácter general. Todos los clústeres de consultas paralelas
de Aurora MySQL nuevos compatibles con MySQL 5.6, incluidos los que se hayan restaurado a partir de
instantáneas, se crearán en Aurora MySQL 1.18.0. Tiene la opción, aunque no es obligatorio, de actualizar
los clústeres de consultas paralelas existentes a Aurora MySQL 1.18.0. Puede crear nuevos clústeres
de base de datos en Aurora MySQL 1.14.4, Aurora MySQL 1.15.1, Aurora MySQL 1.16 o Aurora MySQL
1.17.6. Puede hacerlo a través de la AWS CLI o la API de Amazon RDS, y especificar la versión del motor.
Con la versión 1.18.0 de Aurora MySQL, estamos utilizando un modelo de aplicación de parches en
clúster. Se aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo.
Important
Aurora MySQL 1.18.0 solo se aplica a clústeres de consultas paralelas de Aurora. Si actualiza un
clúster 5.6.10a aprovisionado, la versión resultante es 1.17.8. Si actualiza un clúster de consulta
paralela 5.6.10a, la versión resultante es 1.18.0.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Características
• Consulta en paralelo está disponible con esta versión para clústeres nuevos e instantáneas restauradas.
Consultas en paralelo de Aurora MySQL es una optimización que paraleliza algunas de los cálculos y
E/S del procesamiento de consultas con un uso intensivo de datos. El trabajo que se paraleliza incluye
la recuperación de filas del almacenamiento, la extracción de valores de columna y la determinación
de qué filas coinciden con las condiciones de la cláusula WHERE y de las cláusulas JOIN. Este trabajo
con uso intensivo de los datos se delega (en términos de optimización de base de datos, se baja de
posición) a varios nodos de la capa de almacenamiento distribuido de Aurora. Sin una consulta paralela,
cada consulta transfiere todos los datos analizados a un solo nodo del clúster de Aurora MySQL (el nodo
principal) y realiza ahí todos los procesamientos de consultas.
1311
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Cuando hay habilitada una característica de consulta en paralelo, el motor de Aurora MySQL
determina automáticamente cuándo las consultas pueden aprovecharla, sin requerir cambios de SQL
como sugerencias o atributos de tabla.
Para obtener más información, consulte Trabajar con consultas paralelas de Amazon Aurora
MySQL (p. 948).
• OOM Avoidance (Prevención de OOM): esta característica supervisa la memoria del sistema y realiza
un seguimiento de la memoria que consumen varios componentes de la base de datos. Una vez que el
sistema funciona con poca memoria, realiza una lista de acciones para liberar esa memoria de varios
de los componentes sometidos a un seguimiento para tratar de evitar que la base de datos se quede
sin memoria (OOM) y, por tanto, se reinicie. Esta característica de mejor esfuerzo está habilitada de
forma predeterminada para las instancias t2 y puede habilitarse en otros tipos de instancia mediante
un nuevo parámetro de instancia llamado aurora_oom_response. El parámetro de nivel de instancia
toma una cadena de acciones separadas por comas que una instancia de base de datos debe realizar
cuando el nivel de memoria es bajo. Entre las acciones válidas se encuentran "print", "tune", "decline",
"kill_query" o cualquier combinación de estas. La existencia de una cadena vacía significa que no se
deberían haber tomado acciones y deshabilita de forma eficaz la característica. Tenga en cuenta que la
acción predeterminada de la característica es "print, tune". Ejemplo de uso:
• "print": solo imprime las consultas que consumen una gran cantidad de memoria.
• "tune": ajusta las cachés de tablas internas para liberar memoria en el sistema.
• "decline": declina nuevas consultas una vez que la instancia tiene poca memoria.
• "kill_query": anula las consultas en orden descendente de consumo de memoria hasta que la memoria
de la instancia esté por encima del umbral bajo. Las instrucciones en lenguaje de definición de datos
(DDL) no se cancelan.
• "print, tune": realiza las acciones descritas para "print" y "tune".
• "tune, decline, kill_query": realiza las acciones descritas para "tune", "decline", and "kill_query".
Para obtener más información sobre la gestión de las condiciones de memoria insuficiente y otros
consejos de solución de problemas, consulte Problemas de memoria insuficiente de Amazon Aurora
MySQL (p. 1959).
Aurora MySQL 1.17.9 ya está disponible con carácter general. Las versiones 1.* de Aurora MySQL son
compatibles con MySQL 5.6 y las versiones 2.* de Aurora MySQL son compatibles con MySQL 5.7.
Las versiones de Aurora MySQL compatibles actualmente son 1.14.*, 1.15.*, 1.16.*, 1.17.*, 1.18.*, 1.19.*,
1.20.*, 1.21.*, 1.22.*, 2.01.*, 2.02.*, 2.03.*, 2.04.*, 2.05.*, 2.06.* y 2.07.*. Puede restaurar la instantánea de
una base de datos de Aurora MySQL 1.* en Aurora MySQL 1.17.9.
Para crear un clúster con una versión de Aurora MySQL anterior, especifique la versión del motor a través
de la consola de RDS, la CLI de AWS o la API de Amazon RDS.
Note
Actualmente, esta versión no está disponible en las siguientes regiones: AWS GovCloud (EE. UU.
Este) [us-gov-east-1], AWS GovCloud (EE. UU. Oste) [us-gov-west-1]. Cuando esté disponible,
enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
1312
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Mejoras
Correcciones de prioridad alta:
Aurora MySQL 1.17.8 ya está disponible con carácter general. Todos los clústeres de base de datos
Aurora MySQL nuevos compatibles con MySQL 5.6, incluidos los que se hayan restablecido a partir de
instantáneas, se crearán en Aurora MySQL 1.17.8. Tiene la opción, aunque no es obligatorio, de actualizar
clústeres de base de datos existentes a Aurora MySQL 1.17.8. Para usar una versión anterior, puede crear
nuevos clústeres de base de datos en Aurora MySQL 1.14.4, 1.15.1, 1.16 o 1.17.7. Puede hacerlo a través
de la AWS CLI o la API de Amazon RDS, y especificar la versión del motor.
Con la versión 1.17.8 de Aurora MySQL, estamos utilizando un modelo de aplicación de parches en
clúster. Se aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo.
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
• Se ha solucionado un error de rendimiento que incrementaba el uso de la CPU en una réplica de Aurora
tras reiniciar.
• Se ha solucionado un problema se estabilidad para consultas SELECT que utilizan unión de hash.
Aurora MySQL 1.17.7 ya está disponible con carácter general. Todos los clústeres de base de datos
Aurora MySQL nuevos compatibles con MySQL 5.6, incluidos los que se hayan restablecido a partir de
instantáneas, se crearán en Aurora MySQL 1.17.7. Tiene la opción, aunque no es obligatorio, de actualizar
clústeres de base de datos existentes a Aurora MySQL 1.17.7. Para usar una versión anterior, puede crear
nuevos clústeres de base de datos en Aurora MySQL 1.14.4, 1.15.1, 1.16 o 1.17.6. Puede hacerlo a través
de la AWS CLI o la API de Amazon RDS, y especificar la versión del motor.
Con la versión 1.17.7 de Aurora MySQL, estamos utilizando un modelo de aplicación de parches en
clúster. Se aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo.
1313
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
• La variable de estado InnoDB innodb_buffer_pool_size ya es visible públicamente para que los
clientes puedan modificarla.
• Se ha corregido un problema en el clúster de Aurora que se producía durante las conmutaciones por
error.
• Se ha mejorado la disponibilidad del clúster corrigiendo un problema de recuperación DDL que se
producía después de una operación TRUNCATE.
• Se ha corregido un problema de estabilidad relacionado con la actualización de la tabla
mysql.innodb_table_stats, que se activa mediante las operaciones DDL.
• Se han corregido problemas de estabilidad de la réplica de Aurora producidos durante la invalidación de
la caché de consultas después de una operación DDL.
• Se ha corregido un problema de estabilidad producido por un acceso a la memoria no válido durante la
expulsión de la caché de diccionario periódica en segundo plano.
Aurora MySQL 1.17.6 ya está disponible con carácter general. Todos los clústeres de base de datos
Aurora MySQL nuevos compatibles con MySQL 5.6, incluidos los que se hayan restablecido a partir de
instantáneas, se crearán en Aurora MySQL 1.17.6. Tiene la opción, aunque no es obligatorio, de actualizar
clústeres de base de datos existentes a Aurora MySQL 1.17.6. Para usar una versión anterior, puede crear
nuevos clústeres de base de datos en Aurora MySQL 1.14.4, 1.15.1, 1.16 o 1.17.5. Puede hacerlo a través
de la AWS CLI o la API de Amazon RDS, y especificar la versión del motor.
Con la versión 1.17.6 de Aurora MySQL, estamos utilizando un modelo de aplicación de parches en
clúster. Se aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo.
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
1314
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
• Se ha corregido un problema de estabilidad en el lector de Aurora con las consultas SELECT mientras
que el escritor de Aurora está realizando operaciones DDL en la misma tabla.
• Se ha corregido un problema de estabilidad debido a la creación y eliminación de los registros DDL de
tablas temporales que usan el motor en memoria o montón.
• Se ha corregido un problema de estabilidad en el nodo de trabajo de binlog cuando las instrucciones
DDL se replicaban mientras la conexión al principal de binlog era inestable.
• Se ha corregido un problema de estabilidad producido al escribir en el registro de consultas lentas.
• Se ha corregido un error con la tabla de estado de réplica que mostraba información incorrecta del LAG
del lector de Aurora.
Aurora MySQL 1.17.5 ya está disponible con carácter general. Todos los clústeres de base de datos
Aurora MySQL nuevos compatibles con MySQL 5.6, incluidos los que se hayan restablecido a partir de
instantáneas, se crearán en Aurora MySQL 1.17.5. Tiene la opción, aunque no es obligatorio, de actualizar
clústeres de base de datos existentes a Aurora MySQL 1.17.5. Para usar una versión anterior, puede crear
nuevos clústeres de base de datos en Aurora MySQL 1.14.4, 1.15.1, 1.16 o 1.17.4. Puede hacerlo a través
de la AWS CLI o la API de Amazon RDS, y especificar la versión del motor.
Con la versión 1.17.5 de Aurora MySQL, estamos utilizando un modelo de aplicación de parches en
clúster. Se aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo.
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
• Se ha corregido un problema en el que un escritor de Aurora podría experimentar un reinicio después de
aplicar un parche en un clúster de Aurora usando la característica Aplicación de parches sin tiempo de
inactividad.
1315
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Aurora MySQL 1.17.4 ya está disponible con carácter general. Todos los clústeres de base de datos
Aurora MySQL nuevos compatibles con MySQL 5.6, incluidos los que se hayan restablecido a partir de
instantáneas, se crearán en Aurora MySQL 1.17.4. Tiene la opción, aunque no es obligatorio, de actualizar
clústeres de base de datos existentes a Aurora MySQL 1.17.4. Para usar una versión anterior, puede crear
nuevos clústeres de base de datos en Aurora MySQL 1.14.4, 1.15.1, 1.16 o 1.17.3. Puede hacerlo a través
de la AWS CLI o la API de Amazon RDS, y especificar la versión del motor.
Con la versión 1.17.4 de Aurora MySQL, estamos utilizando un modelo de aplicación de parches en
clúster. Se aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo.
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
• Mejoras de la replicación:
• Reducción del tráfico de red, porque no se transmiten los registros binlog a las réplicas del clúster.
Esta mejora está habilitada de forma predeterminada.
• Reducción del tráfico de red, porque se comprimen los mensajes de replicación. Esta mejora está
habilitada de forma predeterminada para las clases de instancia 8xlarge y 16xlarge. Estas instancias
tan grandes pueden soportar un volumen intenso de tráfico de escritura que da lugar a un tráfico de
red sustancial para los mensajes de replicación.
• Correcciones en la caché de consultas de réplica.
• Se ha corregido un problema que hacía que ORDER BY LOWER(col_name) pudiese producir un orden
incorrecto al usar la intercalación utf8_bin.
• Se ha corregido un problema que hacía que las instrucciones DDL (sobre todo las TRUNCATE TABLE)
pudieran causar problemas en las réplicas de Aurora, tales como inestabilidad o tablas ausentes.
• Se ha corregido un problema que hacía que los sockets quedasen en un estado semiabierto al reiniciar
los nodos de almacenamiento.
• Están disponibles los siguientes nuevos parámetros de clúster de base de datos:
• aurora_enable_zdr: permite conexiones abiertas en una réplica de Aurora para mantenerse activa
durante el reinicio de la réplica.
• aurora_enable_replica_log_compression: habilita la compresión de las cargas de replicación
para mejorar el uso del ancho de banda de red entre las réplicas maestra y de Aurora.
• aurora_enable_repl_bin_log_filtering: habilita el filtro de registros de replicación que no
pueden usar las réplicas de Aurora en el maestro.
1316
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Aurora MySQL 1.17.3 ya está disponible con carácter general. Todos los clústeres de base de datos
Aurora MySQL nuevos compatibles con MySQL 5.6, incluidos los que se hayan restablecido a partir de
instantáneas, se crearán en Aurora MySQL 1.17.3. Tiene la opción, aunque no es obligatorio, de actualizar
clústeres de base de datos existentes a Aurora MySQL 1.17.3. Puede crear nuevos clústeres de base de
datos en Aurora MySQL 1.14.4, Aurora MySQL 1.15.1 o Aurora MySQL 1.16. Puede hacerlo a través de la
AWS CLI o la API de Amazon RDS, y especificar la versión del motor.
Con la versión 1.17.3 de Aurora MySQL, estamos utilizando un modelo de aplicación de parches en
clúster. Se aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo.
Note
Esta versión no está disponible en las regiones de AWS GovCloud (EE. UU. Oeste) [us-gov-
west-1] y China (Pekín) [cn-north-1]. Cuando esté disponible, enviaremos una notificación aparte.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
• Se ha corregido un error por el que una réplica de Aurora se podía reiniciar usando restauraciones de
cursor optimistas durante la lectura de registros.
• Se ha corregido un error por el que un escritor de Aurora se reiniciaba al intentar terminar una sesión de
MySQL (kill "<ID de sesión>") con el esquema de rendimiento habilitado.
• Se ha corregido un error por el que Aurora Writer se reiniciaba al calcular un umbral para la recopilación
de elementos no utilizados.
• Se ha corregido un error por el que un escritor de Aurora se reiniciaba algunas veces al realizar un
seguimiento de una réplica de Aurora en la aplicación log.
• Se ha corregido un error con la caché de consultas cuando la confirmación automática estaba
desactivada que podía causar lecturas obsoletas.
Aurora MySQL 1.17.2 ya está disponible con carácter general. Todos los clústeres de base de datos
Aurora MySQL nuevos compatibles con MySQL 5.6, incluidos los que se hayan restablecido a partir de
instantáneas, se crearán en Aurora MySQL 1.17.2. Tiene la opción, aunque no es obligatorio, de actualizar
clústeres de base de datos existentes a Aurora MySQL 1.17.2. Puede crear nuevos clústeres de base de
datos en Aurora MySQL 1.14.4, Aurora MySQL 1.15.1 o Aurora MySQL 1.16. Puede hacerlo a través de la
AWS CLI o la API de Amazon RDS, y especificar la versión del motor.
Con la versión 1.17.2 de Aurora MySQL, estamos utilizando un modelo de aplicación de parches en
clúster. Se aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte . Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
• Se ha corregido un problema que causaba reinicios durante determinadas operaciones de partición de
DDL.
1317
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Se ha corregido un problema que hacía que se deshabilitara la opción para invocar funciones de AWS
Lambda a través de funciones de Aurora MySQL nativas.
• Se ha corregido un problema con la invalidación de la caché que causaba reinicios en las réplicas de
Aurora.
• Se ha corregido un problema en el administrador de bloqueos que causaba reinicios.
Aurora MySQL 1.17.1 ya está disponible con carácter general. Todos los clústeres de bases de datos
nuevos, incluidos los que se hayan restablecido a partir de instantáneas, se crearán en Aurora MySQL
1.17.1. Tiene la opción, aunque no es obligatorio, de actualizar clústeres de base de datos existentes a
Aurora MySQL 1.17.1. Puede crear nuevos clústeres de base de datos en Aurora MySQL 1.15.1, Aurora
MySQL 1.16, o Aurora MySQL 1.17. Puede hacerlo a través de la AWS CLI o la API de Amazon RDS, y
especificar la versión del motor.
Con la versión 1.17.1 de Aurora MySQL, estamos utilizando un modelo de aplicación de parches en
clúster. Se aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo. En
esta versión se corrigen algunos problemas de motor conocidos, además de aplicar regresiones.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Note
Hay un problema en la última versión del motor de Aurora MySQL. Después de la actualización a
1.17.1, la versión del motor se notifica incorrectamente como 1.17. Si actualizó a 1.17.1, puede
confirmar la actualización marcando la columna Maintenance (Mantenimiento) para el clúster de
base de datos en la AWS Management Console. Si muestra none, el motor se ha actualizado a
1.17.1.
Mejoras
• Se corrigió un problema en la recuperación de log binario que prolongaba los tiempos de recuperación
en las situaciones con archivos de índice de log binario grandes, lo que podía suceder si los logs
binarios se alternaban con mucha frecuencia.
• Se corrigió un problema en el optimizador de consultas que generaba un plan de consultas poco eficaz
para las tablas particionadas.
• Se corrigió un problema en el optimizador de consultas debido al cual se generaba una consulta de
intervalo en el reinicio del motor de base de datos.
Aurora MySQL 1.17 ya está disponible con carácter general. Las versiones 1.x de Aurora MySQL
son compatibles con MySQL 5.6 y no con MySQL 5.7. Todos los clústeres de bases de datos nuevos
compatibles con la versión 5.6, incluidos los que se hayan restablecido a partir de instantáneas, se crearán
en Aurora 1.17. Tiene la opción, aunque no es obligatorio, de actualizar clústeres de base de datos
1318
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
existentes a Aurora 1.17. Puede crear nuevos clústeres de base de datos en Aurora 1.14.1, Aurora 1.15.1
o Aurora 1.16. Puede hacerlo a través de la AWS CLI o la API de Amazon RDS y al especificar la versión
del motor.
Con la versión 1.17 de Aurora, estamos utilizando un modelo de aplicación de parches en clúster. Se
aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo. Admitimos la
aplicación de parches sin tiempo de inactividad, en la medida de lo posible, para conservar las conexiones
de cliente durante este proceso. Para obtener más información, consulte Mantenimiento de un clúster de
base de datos de Amazon Aurora (p. 483).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support.
Nuevas características
• Aurora MySQL ahora admite la compresión de bloqueo, que optimiza el uso de memoria del
administrador de bloqueos. A partir de la versión 1.17, puede usar esta característica sin habilitar el
modo lab.
Mejoras
• Se corrigió un problema que se ha observado principalmente en las instancias con pocos núcleos por
el que un solo núcleo podría tener una utilización del 100 % de la CPU, aunque la base de datos esté
inactiva.
• Se mejoró el desempeño de la obtención de logs binarios de los clústeres de Aurora.
• Se corrigió un problema por el que las réplicas de Aurora intentan escribir estadísticas de tabla en el
almacenamiento persistente y se bloquean.
• Se corrigió un problema por el que la memoria caché de consultas no funcionaba del modo previsto en
las réplicas de Aurora.
• Se corrigió una condición de carrera en el administrador de bloqueos que generaba el reinicio del motor.
• Se corrigió un problema por el que los bloqueos que tomaban las transacciones de solo lectura y
confirmación automática generaban un reinicio del motor.
• Se corrigió un problema por el que algunas consultas no se escriben en los logs de auditoría.
• Se corrigió un problema en la recuperación de determinadas operaciones de mantenimiento de
particiones en la conmutación por error.
1319
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• La búsqueda de texto completo de INNODB no encuentra ningún registro cuando hay puntos de
guardado (error n.º 70333, error n.º 17458835)
Aurora MySQL 1.16 ya está disponible con carácter general. Todos los clústeres de bases de datos
nuevos, incluidos los que se hayan restablecido a partir de instantáneas, se crearán en Aurora 1.16. Tiene
la opción, aunque no es obligatorio, de actualizar clústeres de base de datos existentes a Aurora 1.16.
Puede crear nuevos clústeres de base de datos en Aurora 1.14.1 o Aurora 1.15.1. Puede hacerlo a través
de la AWS CLI o la API de Amazon RDS, y especificar la versión del motor.
Con la versión 1.16 de Aurora, estamos utilizando un modelo de aplicación de parches en clúster. Se
aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo. Estamos
habilitando la aplicación de parches sin tiempo de inactividad, en la medida de lo posible, para conservar
las conexiones de cliente durante este proceso. Para obtener más información, consulte Mantenimiento de
un clúster de base de datos de Amazon Aurora (p. 483).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support.
Nuevas características
• Aurora MySQL admite ahora invocaciones de AWS Lambda síncronas a través de la función nativa
lambda_sync(). También está disponible la función nativa lambda_async(), que se puede utilizar
como alternativa al procedimiento almacenado existente para invocación a Lambda asíncrona. Para
obtener más información, consulte Invocación de una función de Lambda desde un clúster de base de
datos de Amazon Aurora MySQL (p. 1093).
• Aurora MySQL ahora admite uniones hash para acelerar las consultas de equijoin. El optimizador
basado en costos de Aurora puede decidir automáticamente cuándo se deben utilizar combinaciones
hash; también es posible forzar su uso en un plan de consultas. Para obtener más información, consulte
Optimización de grandes consultas combinadas de Aurora MySQL con combinaciones hash (p. 1123).
• Aurora MySQL admite ahora la agrupación en lotes de análisis para acelerar significativamente las
consultas en memoria orientadas a análisis. Esta característica aumenta el desempeño de los análisis
completos de tablas, los análisis completos de índices y los análisis de rangos de índices mediante el
procesamiento por lotes.
Mejoras
• Se ha corregido un error donde las réplicas de lectura se bloqueaban al ejecutar consultas en tablas que
se acababan de soltar en el maestro.
• Se ha corregido un problema al reiniciar el escritor en un clúster de base de datos con un número muy
grande de índices FULLTEXT da lugar a una recuperación que tarda más de lo previsto.
• Se ha corregido un problema donde el vaciado de registros binarios provoca incidentes LOST_EVENTS
en eventos de binlog.
• Se han corregido problemas de estabilidad con el programador cuando está habilitado el esquema de
desempeño.
1320
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Se ha corregido un problema donde una subconsulta que utiliza tablas temporales podría devolver
resultados parciales.
Aurora MySQL 1.15.1 ya está disponible con carácter general. Todos los clústeres de bases de datos
nuevos, incluidos los que se hayan restablecido a partir de instantáneas, se crearán en Aurora 1.15.1.
Tiene la opción, aunque no es obligatorio, de actualizar clústeres de base de datos existentes a Aurora
1.15.1. Puede crear nuevos clústeres de base de datos en Aurora 1.14.1. Puede hacerlo a través de la
AWS CLI o la API de Amazon RDS, y especificar la versión del motor.
Con la versión 1.15.1 de Aurora, estamos utilizando un modelo de aplicación de parches en clúster. Se
aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo. Estamos
habilitando la aplicación de parches sin tiempo de inactividad, en la medida de lo posible, para conservar
las conexiones de cliente durante este proceso. Para obtener más información, consulte Mantenimiento de
un clúster de base de datos de Amazon Aurora (p. 483).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Mejoras
• Se ha corregido un problema del selector de segmentos adaptativo por el que una solicitud de
lectura podía elegir el mismo segmento dos veces y crear un pico en la latencia de lectura en ciertas
condiciones.
• Se ha corregido un problema que se producía por una optimización de Aurora MySQL para el
programador de subprocesos. Este problema se manifiesta en la aparición de errores falsos al escribir
en el registro lento mientras que las consultas asociadas se ejecutan correctamente.
• Se ha corregido un problema en la estabilidad de las réplicas de lectura en volúmenes grandes (> 5 TB).
• Se ha corregido un problema en el que el recuento de subprocesos de trabajo se incrementa
continuamente debido a un recuento falso de las conexiones pendientes.
• Se ha corregido un problema de los bloqueos de tabla que provocaba esperas de semáforo prolongadas
durante las cargas de trabajo de inserción.
• Se han revertido las siguientes correcciones de errores de MySQL en Aurora MySQL 1.15:
• La instancia de MySQL se paraliza “realizando el índice SYNC” (error n.º 73816)
• Confirmación RBT_EMPTY(INDEX_CACHE->WORDS) en ALTER TABLE CHANGE COLUMN (error
n.º 17536995)
• La búsqueda de Fulltext de InnoDB no encuentra ningún registro cuando hay puntos de guardado
(error n.º 70333)
1321
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Aurora MySQL 1.15 ya está disponible con carácter general. Todos los clústeres de bases de datos
nuevos, incluidos los que se hayan restablecido a partir de instantáneas, se crearán en Aurora 1.15. Tiene
la opción, aunque no es obligatorio, de actualizar clústeres de base de datos existentes a Aurora 1.15.
Puede crear nuevos clústeres de base de datos en Aurora 1.14.1. Puede hacerlo a través de la AWS CLI o
la API de Amazon RDS, y especificar la versión del motor.
Con la versión 1.15 de Aurora, estamos utilizando un modelo de aplicación de parches en clúster.
Se aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo. Las
actualizaciones exigen el reinicio de la base de datos, por lo que se producirán entre 20 y 30 segundos
de inactividad. A continuación, podrá volver a utilizar los clústeres de la base de datos. Si los clústeres de
base de datos están ejecutando actualmente Aurora 1.14 o Aurora 1.14.1, la característica de aplicación
de parches sin tiempo de inactividad de Aurora MySQL podría permitir que las conexiones cliente con
la instancia principal de Aurora MySQL persistieran durante la actualización, en función de la carga de
trabajo.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Nuevas características
• Captura previa de clave asíncrona: la captura previa de clave asíncrona (AKP) es una característica
destinada a mejorar el rendimiento de las combinaciones de índices sin almacenar en caché; para ello,
efectúa una captura previa de las claves en la memoria antes de que sean necesarias. El principal
caso de uso para el que está destinada la AKP es una combinación de índices entre una tabla exterior
pequeña y una interior grande, donde el índice es sumamente selectivo en la tabla grande. Asimismo,
si está habilitada la interfaz Multi-Range Read (MRR), AKP se utilizará para llevar a cabo una búsqueda
del índice secundario al primario. Es posible que, en algunos casos, las instancias más pequeñas que
tienen restricciones de memoria puedan utilizar AKP, dada la cardinalidad de claves correcta. Para
obtener más información, consulte Optimización de las consultas de combinación indexadas de Amazon
Aurora con la captura previa de claves asíncronas (p. 1120).
• DDL rápida: hemos ampliado la característica que se introdujo en Aurora 1.13 (p. 1326) a las
operaciones que incluyen valores predeterminados. Con esta extensión, la DDL rápida se aplica a
operaciones que añaden una columna que se puede anular, con o sin un valor predeterminado, al final
de una tabla. La característica sigue estando en el modo lab de Aurora. Para obtener más información,
consulte . Modificación de las tablas de Amazon Aurora con operaciones DDL rápidas (p. 897).
Mejoras
• Se ha solucionado un error de cálculo durante la optimización de consultas espaciales WITHIN/
CONTAINS que anteriormente producían un conjunto de resultados vacío.
1322
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
1323
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Aurora MySQL 1.14.4 ya está disponible con carácter general. Puede crear nuevos clústeres de base de
datos en Aurora 1.14.4, mediante la CLI de AWS o la API de Amazon RDS, y especificar la versión del
motor. Tiene la opción, aunque no es obligatorio, de actualizar clústeres de base de datos 1.14.x existentes
a Aurora 1.14.4.
Con la versión 1.14.4 de Aurora, estamos utilizando un modelo de aplicación de parches en un clúster. Se
aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo. Admitimos la
aplicación de parches sin tiempo de inactividad, en la medida de lo posible, para conservar las conexiones
de cliente durante este proceso. Para obtener más información, consulte Mantenimiento de un clúster de
base de datos de Amazon Aurora (p. 483).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
Nuevas características
• Aurora MySQL ahora admite las clases de instancia db.r4.
Mejoras
• Se corrigió un problema por el que se generaban LOST_EVENTS al escribir eventos de log binario
grandes.
Aurora MySQL 1.14.1 ya está disponible con carácter general. Todos los clústeres de bases de datos
nuevos, incluidos los que se hayan restablecido a partir de instantáneas, se crearán en Aurora MySQL
1.14.1. Aurora MySQL 1.14.1 también es una actualización obligatoria para los clústeres de bases
de datos existentes de Aurora MySQL. Para obtener más información, consulte Anuncio: extensión
a la programación obligatoria de actualizaciones de Amazon Aurora en el sitio web de los foros para
desarrolladores de AWS.
Con la versión 1.14.1 de Aurora MySQL, estamos utilizando un modelo de aplicación de parches en
clúster. Se aplican parches a todos los nodos de un clúster de base de datos Aurora MySQL al mismo
1324
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
tiempo. Las actualizaciones exigen el reinicio de la base de datos, por lo que se producirán entre 20 y
30 segundos de inactividad. A continuación, podrá volver a utilizar los clústeres de la base de datos. Si
los clústeres de base de datos están ejecutando actualmente la versión 1.13 o posterior, la característica
de aplicación de parches sin tiempo de inactividad de Aurora MySQL podría permitir que las conexiones
cliente con la instancia principal de Aurora MySQL persistieran durante la actualización, en función de la
carga de trabajo.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support.
Mejoras
• Se han corregido las condiciones de carrera asociadas a las inserciones y la purga para mejorar la
estabilidad de la característica de DDL rápida, que sigue estando en el modo lab de Aurora MySQL.
Aurora MySQL 1.14 ya está disponible con carácter general. Todos los clústeres de bases de datos
nuevos, incluidos los que se hayan restablecido a partir de instantáneas, se crearán en Aurora MySQL
1.14. Aurora MySQL 1.14 también es una actualización obligatoria para los clústeres de bases de datos
existentes de Aurora MySQL. Enviaremos una notificación con el calendario para declarar obsoletas las
versiones anteriores de Aurora MySQL.
Con la versión 1.14 de Aurora MySQL, estamos utilizando un modelo de aplicación de parches en clúster.
Se aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo. Las
actualizaciones exigen el reinicio de la base de datos, por lo que se producirán entre 20 y 30 segundos
de inactividad. A continuación, podrá volver a utilizar los clústeres de la base de datos. Si los clústeres de
base de datos están ejecutando actualmente la versión 1.13, la característica de aplicación de parches
sin tiempo de inactividad de Aurora podría permitir que las conexiones cliente con la instancia principal de
Aurora persistieran durante la actualización, en función de la carga de trabajo.
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support.
Mejoras
• Se ha corregido un error incorrecto de "no se encuentra el registro" que se produce cuando se encuentra
un registro en el índice secundario pero no en el principal.
• Se ha solucionado un problema de estabilidad que se puede producir si una aserción defensiva (añadida
en la versión 1.12) es demasiado fuerte cuando una escritura individual abarca más de 32 páginas. Esta
situación se puede producir, por ejemplo, con valores BLOB de gran tamaño.
• Se ha solucionado un problema de estabilidad debido a incoherencias entre la caché del espacio de
tabla y la caché del diccionario.
• Se ha solucionado un problema en el que una réplica de Aurora deja de responder después de que
supere el número máximo de intentos de conexión a la instancia principal. Ahora una réplica de Aurora
se reinicia si el período de inactividad supera el período de tiempo de un latido que utiliza la instancia
principal para la comprobación de estado.
1325
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Hemos habilitado una nueva característica, SELECT INTO OUTFILE S3, en Aurora MySQL
versión 1.13 después del lanzamiento inicial y hemos actualizado las notas de la versión para
reflejar ese cambio.
Aurora MySQL 1.13 ya está disponible con carácter general. Todos los clústeres de bases de datos
nuevos, incluidos los que se hayan restablecido a partir de instantáneas, se crearán en Aurora MySQL
1326
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
1.13. Tiene la opción, aunque no es obligatorio, de actualizar clústeres de base de datos existentes
a Aurora MySQL 1.13. Con la versión 1.13 de Aurora, estamos utilizando un modelo de aplicación de
parches en clúster. Se aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo
tiempo. Estamos habilitando la aplicación de parches sin tiempo de inactividad, en la medida de lo posible,
para conservar las conexiones de cliente durante este proceso. Para obtener más información, consulte
Mantenimiento de un clúster de base de datos de Amazon Aurora (p. 483).
Nuevas características:
• SELECT INTO OUTFILE S3: Aurora MySQL ahora le permite cargar los resultados de una consulta en
uno o varios archivos de un bucket de Amazon S3. Para obtener más información, consulte Grabación
de datos desde un clúster de base de datos Amazon Aurora MySQL en archivos de texto de un bucket
de Amazon S3 (p. 1086).
Mejoras:
• Se ha implementado el truncamiento de archivos de registro con formato CSV al iniciar el motor para
evitar un tiempo de recuperación prolongado. Las tablas general_log_backup, general_log,
slow_log_backup y slow_log no sobreviven ahora a un reinicio de base de datos.
• Se ha corregido un problema por el que la migración de una base de datos llamada test producía un
error.
• Se ha mejorado la estabilidad en el recolector de elementos no utilizados del administrador de bloqueos
reutilizando los segmentos de bloqueo correctos.
• Se ha mejorado la estabilidad del administrador de bloqueos eliminando aserciones no válidas durante el
algoritmo de detección de interbloqueos.
• Se ha vuelto a habilitar la replicación asíncrona y se ha corregido un problema asociado que notificaba
un retardo de réplica incorrecto bajo una carga de trabajo nulo o de solo lectura. Las mejoras de la
canalización de replicación que se introdujeron en la versión 1.10. Estas mejoras se introdujeron para
aplicar actualizaciones de flujos de registro a la caché del búfer de una réplica de Aurora. Esto ayuda a
mejorar la estabilidad y el rendimiento de la lectura en réplicas de Aurora.
• Se ha corregido un error que hacía que autocommit=OFF produjera el bloqueo de eventos programados
y se mantuvieran abiertas transacciones prolongadas hasta que se reiniciara el servidor.
• Se ha corregido un error que producía que los registros de consultas generales, de auditoría y lentas no
pudieran registrar consultas controladas por una confirmación manual.
• Se ha mejorado el desempeño de la característica de lectura anticipada lógica (LRA) hasta 2,5 veces.
Esto se hizo permitiendo que operaciones de recuperación (fetch) previas continuaran en páginas
intermedias en un árbol B.
• Se ha agregado la validación de parámetros para variables de auditoría para recortar espacios
innecesarios.
• Se ha corregido una regresión, introducida en Aurora MySQL versión 1.11, por la que las consultas
podían devolver resultados incorrectos cuando se utilizaba la opción SQL_CALC_FOUND_ROWS y se
invocaba la función FOUND_ROWS().
• Se ha corregido un problema de estabilidad cuando la lista de bloqueo de metadatos se formaba
incorrectamente.
• Se ha mejorado la estabilidad cuando se establece sql_mode en PAD_CHAR_TO_FULL_LENGTH y se
ejecuta el comando SHOW FUNCTION STATUS WHERE Db='string'.
1327
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Se ha corregido un caso inusual, en el que las instancias no se mostraban después de una actualización
de versión de Aurora debido a una comprobación de coherencia de volumen falso.
• Se ha corregido el problema de rendimiento, introducido en Aurora MySQL versión 1.12, en el que se
reducía el rendimiento del escritor de Aurora cuando los usuarios tenían un número elevado de tablas.
• Se ha mejorado un problema de estabilidad cuando el escritor de Aurora se configura como un nodo de
trabajo de binlog y el número de conexiones se acerca a 16 000.
• Se ha corregido un problema inusual, en el que una réplica de Aurora podía reiniciarse cuando se
bloqueaba una conexión a la espera de un bloqueo de metadatos durante la ejecución de DDL en el
principal de Aurora.
Aurora MySQL 1.12 es ahora la versión preferida para la creación de clústeres de bases de datos nuevos,
incluidas las restauraciones a partir de instantáneas.
Esta no es una actualización obligatoria para clústeres existentes. Tendrá la opción de realizar la
actualización de clústeres existentes a la versión 1.12 una vez que finalicemos la aplicación del parche
en toda la flota a la 1.11 (consulte las notas de la versión (p. 1329) 1.11 de Aurora y el anuncio en el
foro correspondiente). Con la versión 1.12 de Aurora, estamos utilizando un modelo de aplicación de
parches en clúster. Se aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo
tiempo. Para obtener más información, consulte Mantenimiento de un clúster de base de datos de Amazon
Aurora (p. 483).
Nuevas características
• DDL rápida: Aurora MySQL permite ahora ejecutar una operación ALTER TABLE tbl_name ADD
COLUMN col_name column_definition de manera casi instantánea. La operación se completa sin
que sea necesario copiar la tabla y sin que haya un impacto material en otras instrucciones DML.
Dado que no consume almacenamiento temporal para una copia de la tabla, las instrucciones DDL
resultan prácticas incluso para tablas grandes en clases de instancias pequeñas. El DDL rápido solo
se admite actualmente para añadir columnas que se puedan anular, sin un valor predeterminado, al
final de una tabla. Esta característica está disponible actualmente en el modo lab de Aurora. Para
obtener más información, consulte Modificación de las tablas de Amazon Aurora con operaciones DDL
rápidas (p. 897).
• Mostrar estado de volumen: hemos agregado un nuevo comando de monitorización, SHOW
VOLUME STATUS, para mostrar el número de nodos y discos en un volumen. Para obtener más
información, consulte . Visualización del estado del volumen para un clúster de base de datos de Aurora
MySQL (p. 901).
1328
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Mejoras
• Se han implementado cambios para bloquear la compresión y reducir aún más la memoria asignada por
objeto de bloqueo. Esta mejora está disponible en el modo lab.
• Se ha corregido un problema que producía que la métrica trx_active_transactions disminuyera
rápidamente incluso cuando la base de datos estaba inactiva.
• Se ha corregido un mensaje de error no válido relativo a sintaxis de consulta de inserción de errores al
simular un error en discos y nodos.
• Se han corregido múltiples problemas relacionados con las condiciones de carrera y bloqueos
temporales inactivos en el administrador de bloqueos.
• Se ha corregido un problema que provocaba el desbordamiento del búfer en el optimizador de consultas.
• Se ha corregido un problema de estabilidad en réplicas de lectura de Aurora cuando los nodos de
almacenamiento subyacentes experimentaban un bajo nivel de memoria disponible.
• Se ha corregido un problema por el que las conexiones inactivas persistían más allá de la configuración
del parámetro wait_timeout.
• Se ha corregido un problema por el que query_cache_size devolvía un valor no esperado después
del reinicio de la instancia.
• Se ha corregido un problema de desempeño producido cuando el subproceso de diagnóstico sondeaba
la red con demasiada frecuencia si las escrituras no avanzaban hacia el almacenamiento.
Aplicaremos parches a todos los clústeres de base de datos de Aurora MySQL con la última versión
durante un breve período después del lanzamiento. Se aplican parches a los clústeres de base de datos
mediante el procedimiento heredado con un período de inactividad de unos 5 a 30 segundos.
La aplicación de parches se produce durante el período de mantenimiento del sistema que ha especificado
para cada una de sus instancias de base de datos. Puede ver o cambiar este período utilizando la AWS
Management Console. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Amazon Aurora (p. 483).
También puede aplicar el parche inmediatamente en la AWS Management Console eligiendo un clúster de
base de datos, Cluster Actions (Acciones de clúster) y, a continuación, Upgrade Now (Actualizar ahora).
1329
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Con la versión 1.11 de Aurora MySQL, estamos utilizando un modelo de aplicación de parches en clúster.
Se aplican parches a todos los nodos de un clúster de base de datos Aurora al mismo tiempo.
Nuevas características
• Opción MANIFEST para LOAD DATA FROM S3: LOAD DATA FROM S3 se publicó en la versión 1.8.
Las opciones para este comando se han ampliado. Ahora, puede especificar una lista de archivos para
cargarlos en un clúster de base de datos Aurora desde Amazon S3 utilizando un archivo de manifiesto.
Esto facilita la carga de datos desde archivos específicos en una o más ubicaciones, frente a la carga
de datos desde un solo archivo mediante la opción FILE o desde varios archivos que tienen la misma
ubicación y prefijo utilizando la opción PREFIX. El formato del archivo de manifiesto es el mismo que
utiliza Amazon Redshift. Para obtener más información sobre cómo usar LOAD DATA FROM S3 con la
opción MANIFEST, consulte Uso de un manifiesto para especificar los archivos de datos que se deben
cargar (p. 1082).
• Indexación espacial habilitada de manera predeterminada: esta característica se lanzó en el modo lab
de la versión 1.10 y ahora está activa de manera predeterminada. La indexación espacial mejora el
desempeño de las consultas en conjuntos de datos grandes, para consultas que usan datos espaciales.
Para obtener más información acerca del uso de la indexación espacial, consulte Amazon Aurora
MySQL y los datos espaciales (p. 802).
• Cambio del momento de realización de auditorías avanzadas: esta característica se lanzó en la versión
1.10.1 para proporcionar una instalación de alto rendimiento para auditar la actividad de las bases
de datos. En esta versión, se ha cambiado la precisión de las marcas de tiempo de los registros
de auditoría: de un segundo a un microsegundo. Unas marcas de tiempo más precisas permiten
comprender mejor cuándo se produjo un evento de auditoría. Para obtener más información acerca de
auditorías, consulte Uso de auditorías avanzadas con un clúster de base de datos de Amazon Aurora
MySQL (p. 985).
Mejoras
• Se ha modificado el parámetro thread_handling para evitar que se configure con opciones distintas a
multiple-connections-per-thread, que es el único modelo admitido por el grupo de subprocesos
de Aurora.
• Se ha corregido un problema provocado al establecer los parámetros buffer_pool_size o
query_cache_size en valores mayores que los de la memoria total del clúster de base de datos. En
esta circunstancia, Aurora establece el parámetro modificado en el valor predeterminado, por lo que el
clúster de base de datos puede iniciarse y no bloquearse.
• Se ha corregido un problema en la caché de consultas por el que una transacción obtenía resultados de
lectura obsoletos si otra transacción invalidaba la tabla.
• Se ha corregido un problema por el que archivos binlog marcados para su eliminación se eliminaban
después de un pequeño retardo, en lugar inmediatamente.
• Se ha corregido un problema por el que una base de datos creada con el nombre tmp se trataba como
una base de datos del sistema almacenada en un almacenamiento efímero y no se conservaba en el
almacenamiento distribuido de Aurora.
• Se ha modificado el comportamiento de SHOW TABLES para excluir determinadas tablas del sistema
interno. Este cambio ayuda a evitar conmutaciones por error innecesarias causadas por el bloqueo por
parte de mysqldump de todos los archivos que se muestran en SHOW TABLES. Esto evita, a su vez,
escrituras en la tabla del sistema interno, que dan lugar a la conmutación por error.
• Se ha corregido un problema por el que una réplica de Aurora se reiniciaba incorrectamente al crearse
una tabla temporal a partir de una consulta que invocaba una función cuyo argumento era una columna
de una tabla de InnoDB.
• Se ha corregido un problema relacionado con un conflicto de bloqueo de metadatos en un nodo de
réplica de Aurora. Este problema provocaba que la réplica de Aurora quedara por detrás del clúster de
base de datos principal y acabara reiniciándose.
1330
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Se ha corregido un bloqueo temporal inactivo en la canalización de replicación en nodos del lector, que
provocaba que la réplica de Aurora quedara rezagada y acabara reiniciándose.
• Se ha corregido un problema por el que las réplicas de Aurora se retrasaban demasiado con volúmenes
cifrados superiores a 1 terabyte (TB).
• Se ha mejorado la detección de bloqueo temporal inactivo de réplicas de Aurora utilizando un método
mejorado para leer la hora del reloj del sistema.
• Se ha corregido un problema por el que una réplica de Aurora podía reiniciarse dos veces en lugar de
una después de la anulación del registro por parte del escritor.
• Se ha corregido un problema de ralentización de desempeño de consultas de réplicas de Aurora que se
producía cuando estadísticas transitorias causaban discrepancias en las estadísticas de las columnas de
índice no únicas.
• Se ha corregido un problema por el que una réplica de Aurora podía bloquearse cuando una instrucción
DDL se replicaba en la réplica de Aurora al mismo tiempo que dicha réplica de Aurora procesaba una
consulta relacionada.
• Se han modificado las mejoras de la canalización de replicación que se introdujeron en la versión
1.10: de habilitado a deshabilitado (como valor predeterminado). Estas mejoras se introdujeron para
aplicar actualizaciones de flujos de registro a la caché del búfer de una réplica de Aurora. Si bien
esta característica ayuda a mejorar el rendimiento de la lectura y la estabilidad en réplicas de Aurora,
aumenta el retardo de la réplica en determinadas cargas de trabajo.
• Se ha corregido un problema por el que la incidencia simultánea de una instrucción DDL en curso y de
lectura anticipada en paralelo pendiente en la misma tabla causaba un error de aserción durante la fase
de confirmación de la instrucción DDL.
• Se han mejorado el registro general y el registro de consultas lentas para que sobrevivan al reinicio del
clúster de base de datos.
• Se ha corregido un problema de memoria insuficiente para determinadas consultas de ejecución
prolongada reduciendo el consumo de memoria en el módulo ACL.
• Se ha corregido un problema de reinicio que se producía cuando una tabla tenía índices no espaciales,
había predicados espaciales en la consulta, el planificador decidía utilizar un índice no espacial y dicho
planificador insertaba incorrectamente la condición espacial en el índice.
• Se ha corregido un problema por el que el clúster de base de datos se reiniciaba cuando se producía
una eliminación, actualización o purga de objetos geoespaciales muy grandes que se almacenan
externamente (como los LOB).
• Se ha corregido un problema donde la simulación de errores mediante ALTER SYSTEM SIMULATE ...
FOR INTERVAL no funciona correctamente.
• Se ha corregido un problema de estabilidad causado por una aserción no válida o una invariable
incorrecta en el administrador de bloqueos.
• Se han deshabilitado las dos mejoras siguientes en la búsqueda de texto completo de InnoDB,
introducidas en la versión 1.10, porque crearon problemas de estabilidad en algunas cargas de trabajo
exigentes:
• Actualización de la caché solo después de una solicitud de lectura a una réplica de Aurora para
mejorar la velocidad de replicación de la caché del índice de búsqueda de texto completo.
• Descarga de la tarea de sincronización de la caché en un subproceso separado en cuanto el tamaño
de la caché traspasa el 10 % del tamaño total, para evitar que las consultas MySQL se paralicen
demasiado tiempo durante la sincronización de la caché de FTS en disco. (Errores n.º 22516559 y n.º
73816).
1331
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• FOUND_ROWS () devuelve un recuento erróneo de filas en una tabla. (Error n.º 68458)
• El servidor se bloquea en lugar de dar un error cuando hay demasiadas tablas temporales abiertas.
(Error n.º 18948649)
La versión 1.10.1 de Aurora MySQL es una versión opcional, que no se utiliza para aplicar parches a las
instancias de base de datos. Está disponible para la creación de instancias de Aurora nuevas y para la
actualización de instancias existentes. También puede aplicar el parche eligiendo un clúster en la consola
de Amazon RDS, Cluster Actions (Acciones de clúster) y, a continuación, Upgrade Now (Actualizar ahora).
La aplicación de parches exige el reinicio de la base de datos, por lo que se producirán entre 5 y 30
segundos de inactividad. Posteriormente, podrá volver a utilizar los clústeres de la base de datos. Este
parche utiliza un modelo de aplicación de parches en clúster. Se aplican parches a todos los nodos de un
clúster de Aurora al mismo tiempo.
Nuevas características
• Auditoría avanzada: Aurora MySQL proporciona una característica de auditoría avanzada de alto
rendimiento que puede utilizar para auditar la actividad de la base de datos. Para obtener más
información acerca de cómo habilitar y utilizar la auditoría avanzada, consulte Uso de auditorías
avanzadas con un clúster de base de datos de Amazon Aurora MySQL (p. 985).
Mejoras
• Se ha corregido un problema con la indexación espacial al crear una columna y agregarle un índice en la
misma instrucción.
• Se ha corregido un problema por el que las estadísticas espaciales no se conservaban en un reinicio de
clúster de base de datos.
Nuevas características
• Aplicación de parche sin tiempo de inactividad: esta característica permite la aplicación de un parche
a una instancia de base de datos sin ningún tiempo de inactividad. Es decir, las actualizaciones de la
base de datos se realizan sin desconectar las aplicaciones cliente ni reiniciar la base de datos. Este
enfoque aumenta la disponibilidad de sus clústeres de base de datos Aurora durante el período de
mantenimiento. Tenga en cuenta que los datos temporales como los que se encuentran en el esquema
de desempeño se restablecen durante el proceso de actualización. Esta característica se aplica a
parches entregados por el servicio durante un período de mantenimiento, así como a parches iniciados
por el usuario.
Cuando se inicia la aplicación de un parche, el servicio se asegura de que no haya bloqueos abiertos,
transacciones o tablas temporales y espera, a continuación, el período apropiado durante el cual
pueda aplicarse el parche y reiniciarse la base de datos. Las sesiones de aplicación se conservan, si
bien se produce una caída en el desempeño mientras la aplicación del parche está en curso (durante
1332
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
La aplicación de parches sin tiempo de inactividad tiene lugar en la medida de lo posible, sujeta a
determinadas limitaciones según se describe a continuación:
• Esta característica es aplicable en la actualidad a la aplicación de parches a clústeres de base de
datos de un nodo o instancias de escritor en clústeres de base de datos de varios nodos.
• Las conexiones SSL no se admiten junto con esta característica. Si hay conexiones SSL activas,
Amazon Aurora MySQL no realizará una aplicación de parches sin tiempo de inactividad. En su lugar,
intentará ver periódicamente si las conexiones SSL han terminado. Si han terminado, se inicia la
aplicación de parches sin tiempo de inactividad. Si las conexiones SSL se conservan después de más
de un par de segundos, se inicia la aplicación de parches estándar con tiempo de inactividad.
• La característica está disponible en Aurora 1.10 y versiones posteriores. En el futuro, identificaremos
cualquier versión o parche que no pueda aplicarse mediante la aplicación de parches sin tiempo de
inactividad.
• Esta característica no es aplicable si la replicación basada en registro binario está activa.
• Indexación espacial: la indexación espacial mejora el rendimiento de las consultas en conjuntos de datos
grandes, para consultas que usan datos espaciales. Para obtener más información acerca del uso de la
indexación espacial, consulte Amazon Aurora MySQL y los datos espaciales (p. 802).
Esta característica está deshabilitada de forma predeterminada y puede activarse habilitando el modo
lab de Aurora. Para obtener información, consulte Modo lab de Amazon Aurora MySQL (p. 1116).
• Mejoras de la canalización de replicación: Aurora MySQL utiliza ahora un mecanismo mejorado
para aplicar actualizaciones de flujos de registro a la caché del búfer de una réplica de Aurora. Esta
característica mejora el desempeño de lectura y la estabilidad en réplicas de Aurora cuando hay una
gran carga de escritura en el principal, así como una carga de lectura significativa en la réplica. Esta
característica está habilitada de forma predeterminada.
• Mejora del rendimiento para cargas de trabajo con lecturas en caché: Aurora MySQL utiliza ahora un
algoritmo simultáneo sin bloqueos para implementar vistas de lectura, lo que optimiza el rendimiento
para consultas de lectura proporcionadas por la caché del búfer. Como consecuencia de esta y otras
mejoras, Amazon Aurora MySQL puede lograr un rendimiento de hasta 625 000 lecturas por segundo,
en comparación con las 164 000 lecturas por segundo de MySQL 5.7, para una carga de trabajo
solamente de SELECT de SysBench.
• Mejora del rendimiento para cargas de trabajo con contención de filas activas: Aurora MySQL utiliza un
nuevo algoritmo de publicación bloqueo que mejora el rendimiento, en especial cuando hay contención
de página activa (es decir, muchas transacciones compiten por las filas en la misma página). En
pruebas con la herramienta para el análisis comparativo TPC-C, esto puede producir una mejora
en el rendimiento de hasta 16 veces en transacciones por minuto con respecto a MySQL 5.7. Esta
característica está deshabilitada de forma predeterminada y puede activarse habilitando el modo lab de
Aurora. Para obtener información, consulte Modo lab de Amazon Aurora MySQL (p. 1116).
Mejoras
• Se ha mejorado la velocidad de replicación de la caché del índice de búsqueda de texto completo. Esto
se logra actualizando la caché solo después de una solicitud de lectura a una réplica de Aurora. Este
enfoque evita cualquier lectura del disco por parte del subproceso de replicación.
• Se ha corregido un problema por el que la invalidación de la caché del diccionario no funcionaba en una
réplica de Aurora para tablas que tenían un carácter especial en el nombre de la base de datos o de la
tabla.
• Se ha corregido un problema de STUCK IO durante la migración de datos para nodos de
almacenamiento distribuidos cuando la administración del nivel de actividad de almacenamiento está
habilitada.
1333
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Nuevas características
• Creación de índice mejorada: la implementación para crear índices secundarios funciona ahora
generando el índice de abajo arriba, lo cual elimina divisiones innecesarias de páginas. Esto puede
disminuir el tiempo necesario para crear un índice o reconstruir una tabla en hasta un 75 % (para una
clase de instancia de base de datos db.r3.8xlarge). Esta característica estaba disponible en el
modo lab de la versión 1.7 de Aurora MySQL, y ahora está habilitada, de manera predeterminada, en
Aurora 1.9 y versiones posteriores. Para obtener información, consulte Modo lab de Amazon Aurora
MySQL (p. 1116).
• Compresión de bloqueo (modo lab): esta implementación reduce significativamente la cantidad de
memoria que consume el administrador de bloqueos en hasta un 66 %. El administrador de bloqueos
puede adquirir más bloqueos de filas sin encontrarse con una excepción de memoria insuficiente. Esta
característica está deshabilitada de forma predeterminada y puede activarse habilitando el modo lab de
Aurora. Para obtener información, consulte Modo lab de Amazon Aurora MySQL (p. 1116).
• Esquema de rendimiento: Aurora MySQL admite ahora esta característica, con un impacto mínimo en
el rendimiento. En nuestras pruebas con SysBench, la habilitación del esquema de desempeño podía
degradar el desempeño de MySQL en hasta un 60 %.
Las pruebas con SysBench de un clúster de base de datos Aurora mostraron un impacto en el
desempeño 4 veces inferior al de MySQL. La ejecución de la clase de instancia de base de datos
db.r3.8xlarge produjo 100 000 operaciones SQL de escritura por segundo y más de 550 000
operaciones SQL de lectura por segundo, incluso con el esquema de desempeño habilitado.
• Mejora de la contención de filas activas: esta característica reduce la utilización de la CPU y aumenta
el rendimiento cuando un número elevado de conexiones obtiene acceso a un pequeño número de
filas activas. Esta característica también elimina error 188 cuando se produce la contención de filas
activas.
1334
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Mejoras
• Se ha corregido un problema por el que la réplica de Aurora se encontraba con un bloqueo compartido
durante el inicio del motor.
• Se ha corregido un bloqueo potencial de una réplica de Aurora cuando el puntero de vista de lectura en
el sistema de purga era NULL.
Mejoras
• Se ha corregido un problema por el que inserciones masivas, que utilizaban disparadores e invocaban
procedimientos de AWS Lambda, no funcionaban.
• Se ha corregido un problema por el que no se podían migrar catálogos cuando se desactivaba
globalmente la confirmación automática.
• Se ha resuelto un error de conexión con Aurora al usar SSL y se ha mejorado el grupo Diffie-Hellman
para hacer frente a los ataques de LogJam.
Nuevas características
• Integración de AWS Lambda: ahora puede invocar de manera asíncrona una función de AWS Lambda
desde un clúster de base de datos de Aurora mediante el procedimiento mysql.lambda_async. Para
obtener más información, consulte Invocación de una función de Lambda desde un clúster de base de
datos de Amazon Aurora MySQL (p. 1093).
• Cargar datos desde Amazon S3: ahora puede cargar archivos de texto o XML desde un bucket de
Amazon S3 en el clúster de base de datos Aurora usando los comandos LOAD DATA FROM S3 o LOAD
XML FROM S3. Para obtener más información, consulte Carga de datos en un clúster de base de datos
Amazon Aurora MySQL desde archivos de texto en un bucket de Amazon S3 (p. 1078).
1335
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Migración de catálogo: Aurora conserva ahora los metadatos de catálogo en el volumen del clúster
para admitir el control de versiones. Esto permite la migración fluida de catálogo entre versiones y
restauraciones.
• Mantenimiento y aplicación de parches en el nivel de grupo: Aurora administra ahora actualizaciones
de mantenimiento para un clúster de base de datos completo. Para obtener más información, consulte .
Mantenimiento de un clúster de base de datos de Amazon Aurora (p. 483).
Mejoras
• Se ha corregido un problema por el que la réplica de Aurora se bloqueaba cuando no se concedía un
bloqueo de metadatos a una tabla DDL en proceso.
• Permite que las réplicas de Aurora modifiquen tablas que no sean de InnoDB para facilitar la rotación de
archivos CSV de registro generales y lentos donde log_output=TABLE.
• Se ha corregido un retardo en la actualización de estadísticas desde la instancia primaria a una réplica
de Aurora. Sin esta corrección, las estadísticas de la réplica de Aurora pueden desactualizarse respecto
de las estadísticas de la instancia principal y dar lugar a un plan de consultas diferente (y posiblemente
con un desempeño inferior) en una réplica de Aurora.
• Se ha corregido una condición de carrera que garantizaba que una réplica de Aurora no adquiría
bloqueos.
• Se ha corregido una situación inusual por la que una réplica de Aurora que se registraba (o dejaba de
estar registrada) en la instancia principal generaba errores.
• Se ha corregido una condición de carrera que podía llevar a un interbloqueo en instancias
db.r3.large al abrir o cerrar un volumen.
• Se ha corregido un problema de memoria insuficiente que podía producirse debido a una combinación
de una carga de trabajo de escritura grande y errores en el servicio de almacenamiento distribuido de
Aurora.
• Se ha corregido un problema de consumo elevado de CPU debido al giro del subproceso de purga en
presencia de una transacción de ejecución prolongada.
• Se ha corregido un problema en la ejecución de consultas de esquemas para obtener información sobre
bloqueos bajo una carga pesada.
• Se ha corregido un problema con un proceso de diagnóstico que podía, en casos inusuales, hacer que
las escrituras de Aurora en nodos de almacenamiento se paralizaran y reiniciaran o se conmutaran por
error.
• Se ha corregido una condición por la que una tabla creada correctamente podría eliminarse durante
una recuperación de bloqueo si este se producía mientras se estaba aplicando una instrucción CREATE
TABLE [if not exists].
• Se ha corregido un caso por el que un procedimiento de rotación de registro se interrumpía cuando el
registro general y el registro lento no se almacenaban en el disco mediante la migración de catálogo.
• Se ha corregido un bloqueo cuando se creaba una tabla temporal dentro de una función definida por el
usuario y, a continuación, se utilizaba dicha función en la lista de selección de la consulta.
• Se ha corregido un bloqueo que se producía al reproducir eventos de GTID. Aurora MySQL no admite
GTID.
1336
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Se ha corregido un error de incremento automático cuando un usuario alteraba una tabla para cambiar
el valor AUTO_INCREMENT a un valor inferior al valor máximo de la columna de incremento automático.
(Error n.º 16310273)
Mejoras
• Se corrige un problema por el que una réplica de Aurora se bloquea si la caché de búsqueda de texto
completo de InnoDB está llena.
• Se corrige un problema por el que el motor de base de datos se bloquea si un subproceso de trabajo en
el grupo de subprocesos se espera a sí mismo.
• Se corrige un problema por el que la réplica de Aurora se bloquea si un bloqueo de metadatos en una
tabla causa un interbloqueo.
• Se corrige un problema por el que el motor de base de datos se bloquea debido a una condición de
carrera entre dos subprocesos de trabajo en el grupo de subprocesos.
• Se corrige un problema por el que se produce una conmutación por error innecesaria bajo una carga
pesada si el agente de monitorización no detecta el avance de operaciones de escritura al subsistema
de almacenamiento distribuido.
Nuevas características
• Programador con reconocimiento de NUMA: el programador de tareas para el motor de Aurora
MySQL cuenta ahora con reconocimiento de acceso a memoria no uniforme (NUMA). Esto minimiza
la contención de sockets entre varias CPU, lo que produce un desempeño mejorado para la clase de
instancia de base de datos db.r3.8xlarge.
• La lectura anticipada en paralelo funciona de manera asíncrona en segundo plano: se ha revisado la
lectura anticipada en paralelo a fin de mejorar el rendimiento mediante un subproceso dedicado para
reducir la contención de subprocesos.
• Creación de índice mejorada (modo lab): la implementación para crear índices secundarios funciona
ahora generando el índice de abajo arriba, lo cual elimina divisiones innecesarias de páginas. Esto
puede disminuir el tiempo necesario para crear un índice o reconstruir una tabla. Esta característica
está deshabilitada de forma predeterminada y puede activarse habilitando el modo lab de Aurora. Para
obtener información, consulte Modo lab de Amazon Aurora MySQL (p. 1116).
Mejoras
• Se ha corregido un problema por el que el establecimiento de una conexión tardaba demasiado tiempo
si se producía un pico en el número de conexiones solicitadas para una instancia.
• Se ha corregido un problema por el que se producía un bloqueo si se ejecutaba ALTER TABLE en una
tabla con particiones que no utilizaba InnoDB.
• Se ha corregido un problema por el que una carga de trabajo con muchas escrituras podía causar una
conmutación por error.
1337
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Se ha corregido una aserción errónea que causaba un error si se ejecutaba RENAME TABLE en una
tabla con particiones.
• Se ha mejorado la estabilidad al anular una transacción durante una gran carga de trabajo de
inserciones.
• Se ha corregido un problema por el que índices de búsqueda de texto no eran viables en una réplica de
Aurora.
Nuevas características
• Almacenamiento eficiente de registros binarios: el almacenamiento eficiente de registros binarios está
ahora habilitado de manera predeterminada para todos los clústeres de base de datos Aurora MySQL y
no puede configurarse. El almacenamiento eficiente de registros binarios se introdujo en la actualización
de abril de 2016. Para obtener más información, consulte . Actualizaciones del motor de base de datos
de Aurora MySQL (06/04/2016) (p. 1339).
Mejoras
• Se ha mejorado la estabilidad para réplicas de Aurora cuando la instancia principal se encuentra con
mucha carga de trabajo.
1338
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
• Se ha mejorado la estabilidad para réplicas de Aurora al ejecutar consultas en tablas con particiones y
tablas con caracteres especiales en el nombre de la tabla.
• Se han corregidos problemas de conexión al usar conexiones seguras.
Nuevas características
• Lectura anticipada en paralelo: la lectura anticipada en paralelo está ahora habilitada de manera
predeterminada para todos los clústeres de base de datos Aurora MySQL y no puede configurarse.
La lectura anticipada en paralelo se introdujo en la actualización de diciembre de 2015. Para
obtener más información, consulte Actualizaciones del motor de base de datos de Aurora MySQL
(03/12/2015) (p. 1341).
Además de habilitar la lectura anticipada en paralelo de manera predeterminada, esta versión incluye las
siguientes mejoras:
• Mejora de la lógica para que la lectura anticipada en paralelo sea menos agresiva, lo cual es
beneficioso cuando su clúster de base de datos se encuentra con muchas cargas de trabajo paralelas.
• Mejora de la estabilidad en tablas más pequeñas.
• Almacenamiento eficiente de registros binarios (modo lab): los archivos de registro binario MySQL
se almacenan ahora de manera más eficiente en Aurora MySQL. La nueva implementación de
almacenamiento permite la eliminación de archivos de registro binarios mucho antes. Asimismo, mejora
el rendimiento del sistema para una instancia en un clúster de base de datos de Aurora MySQL que es el
maestro de la replicación del registro binario.
Active el almacenamiento eficiente de logs binarios únicamente para instancias de un clúster de base de
datos de Aurora MySQL y que sean instancias maestras de replicación del registro binario de MySQL.
• Variable del sistema AURORA_VERSION: ahora puede obtener la versión Aurora de su clúster de base
de datos Aurora MySQL mediante una consulta de la variable del sistema AURORA_VERSION.
select AURORA_VERSION();
select @@aurora_version;
show variables like '%version';
1339
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
También puede ver la versión de Aurora en la AWS Management Console cuando modifique un clúster
de base de datos o llamando al comando describe-db-engine-versions de la AWS CLI o a la operación
DescribeDBEngineVersions de la API.
• Métrica de uso de la memoria del administrador de bloqueos: la información sobre el uso de la memoria
del administrador de bloqueos ahora está disponible como métrica.
Para obtener la métrica de uso de la memoria del administrador de bloqueos, utilice una de las
siguientes consultas:
Mejoras
• Se ha mejorado la estabilidad durante la recuperación de transacciones binlog y XA.
• Se ha corregido un problema de memoria derivado de un número elevado de conexiones.
• Se ha mejorado la precisión de las siguientes métricas: Read Throughput, Read IOPS, Read
Latency, Write Throughput, Write IOPS, Write Latency y Disk Queue Depth.
• Se ha corregido un problema de estabilidad que causaba un reinicio lento en instancias grandes
después de un bloqueo.
• Simultaneidad mejorada en el diccionario de datos con respecto a mecanismos de sincronización y
desalojo de la caché.
• Mejoras de la estabilidad y del desempeño para réplicas de Aurora:
• Se ha corregido un problema de estabilidad para réplicas de Aurora durante cargas de trabajo
intensas o en ráfagas para la instancia principal.
• Se ha mejorado un retardo de réplica para instancias db.r3.4xlarge y db.r3.8xlarge.
• Se ha mejorado el desempeño reduciendo la contención entre la aplicación de registros y lecturas
simultáneas en una réplica de Aurora.
• Se ha corregido un problema para la actualización de estadísticas en réplicas de Aurora para
estadísticas recién creadas o actualizadas.
• Se ha mejorado la estabilidad para réplicas de lectura cuando hay muchas transacciones en la
instancia principal y lecturas simultáneas en las réplicas de Aurora en los mismos datos.
• Se ha mejorado la estabilidad para réplicas de Aurora al ejecutar las instrucciones UPDATE y DELETE
con instrucciones JOIN.
• Se ha mejorado la estabilidad para réplicas de Aurora al ejecutar instrucciones INSERT ... SELECT.
1340
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Mejoras
• Se ha corregido una pausa de 10 segundos en las operaciones de escritura para instancias inactivas
durante implementaciones de almacenamiento de Aurora.
• La lectura anticipada lógica funciona ahora cuando se establece innodb_file_per_table en No.
Para obtener más información acerca de la lectura anticipada lógica, consulte Actualizaciones del motor
de base de datos de Aurora MySQL (03/12/2015) (p. 1341).
• Se han corregido problemas con réplicas de Aurora que vuelven a conectarse con la instancia principal.
Esta mejora también corrige un problema cuando se especifica un valor grande para el parámetro
quantity al probar errores de réplica de Aurora mediante consultas de inserción de errores. Para
obtener más información, consulte Prueba de un error de una réplica de Aurora (p. 895).
• Mejora de la monitorización de réplicas de Aurora que se quedan rezagadas y se reinician.
• Se ha corregido un problema que provocaba el retardo de una réplica de Aurora, la anulación de su
registro y, a continuación, su reinicio.
• Se ha corregido un problema al ejecutar el comando show innodb status durante un interbloqueo.
• Se ha corregido un problema de conmutaciones por error de instancias grandes durante un desempeño
de escritura elevado.
Nuevas características
• Inserción rápida: acelera las inserciones paralelas ordenadas por clave principal. Para obtener más
información, consulte Mejoras del rendimiento de Amazon Aurora MySQL (p. 801).
• Rendimiento de lectura de conjuntos de datos de gran tamaño: Aurora MySQL detecta automáticamente
una carga de trabajo con muchas E/S y lanza más subprocesos para aumentar el rendimiento del
clúster de la base de datos. El programador de Aurora analiza la actividad de E/S y decide ajustar
dinámicamente el número óptimo de subprocesos en el sistema. Para ello, realiza un ajuste rápido entre
cargas de trabajo con muchas E/S y la CPU con baja sobrecarga.
• Lectura anticipada en paralelo: mejora el rendimiento de exámenes de árbol B que son demasiado
grandes para la memoria disponible en su instancia principal o réplica de Aurora (incluidas las consultas
de rango). La lectura anticipada en paralelo detecta automáticamente patrones de lectura de página
y páginas de recuperación (fetch) previas en la caché del búfer antes de que se necesiten. La lectura
anticipada en paralelo funciona en varias tablas al mismo tiempo dentro de la misma transacción.
1341
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Mejoras:
• Se han corregido breves problemas de disponibilidad de la base de datos Aurora durante la
implementación de almacenamiento de Aurora.
• Aplicación correcta del límite max_connection.
• Se ha mejorado la purga de binlog donde Aurora es el principal de binlog y la base de datos se reinicia
después de una carga de datos grande.
• Se han corregido problemas de administración de la memoria con la caché de la tabla.
• Se ha agregado compatibilidad con páginas de gran tamaño en la caché del búfer de memoria
compartida para una recuperación más rápida.
• Se ha corregido un problema por el que el almacenamiento local de subprocesos no se inicializaba.
• Se permiten conexiones de 16 K de manera predeterminada.
• Grupo de subprocesos dinámico para cargas de trabajo pesadas de E/S.
• Se ha corregido un problema de invalidación correcta de vistas que afecta a UNION en la caché de
consultas.
• Se ha corregido un problema de estabilidad con el subproceso de estadísticas del diccionario.
• Se ha corregido una fuga de memoria en el subsistema del diccionario relacionado con el desalojo de la
caché.
• Se ha corregido un problema de alta latencia de lectura en réplicas de Aurora cuando hay una carga de
escritura muy baja en el principal.
• Se han corregido problemas de estabilidad en réplicas de Aurora al realizar operaciones en tablas con
particiones DDL como, por ejemplo, ALTER TABLE ... REORGANIZE PARTITION en el principal.
• Se han corregido problemas de estabilidad en réplicas de Aurora durante el crecimiento de volumen.
• Se ha corregido un problema de desempeño en exámenes en índices que no están en un clúster en
réplicas de Aurora.
• Corrección del problema de estabilidad que provoca el retardo de las réplicas de Aurora, la anulación de
su registro y, a continuación, su reinicio.
1342
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
Correcciones
• Se ha resuelto un problema de memoria insuficiente en el nuevo administrador de bloqueos con
transacciones de ejecución prolongada.
• Se ha resuelto la vulnerabilidad de seguridad al replicar bases de datos que no están diseñadas para
RDS for MySQL.
• Actualización para garantizar reintentos correctos de las escrituras de cuórum tras errores de
almacenamiento.
• Actualización para notificar los retardos de réplica con mayor exactitud.
• Se ha mejorado el desempeño reduciendo la contención cuando muchas transacciones simultáneas
tratan de modificar la misma fila.
• Se ha resuelto la invalidación de la caché de consultas para vistas que se crean uniendo dos tablas.
• Se ha deshabilitado la caché de consultas para transacciones con aislamiento UNCOMMITTED_READ.
Mejoras
• Mejor desempeño para consultas de catálogo lentas en cachés semiactivas.
• Se ha mejorado la simultaneidad en las estadísticas del diccionario.
• Mejor estabilidad para el nuevo administrador de recursos de la caché de consultas, la administración de
extensión, los archivos almacenados en el almacenamiento inteligente de Amazon Aurora y la escritura
por lotes de registros.
1343
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de
datos de Amazon Aurora MySQL versión 1
1344
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de datos
para clústeres de Aurora MySQL Serverless.
• Se produce un error de búsqueda de texto completo de InnoDB debido a un token "sin terminar". La
cadena y la longitud de la cadena deben transmitirse para realizar la comparación de cadenas. (Error n.º
17659310)
• Un número elevado de tablas de InnoDB con particiones podría consumir mucha más memoria, si se
utilizan en MySQL 5.6 o 5.7, que la memoria empleada por las mismas tablas en versiones anteriores de
MySQL Server. (Error n.º 17780517)
• Para consultas de texto completo, no comprobar que num_token es inferior a max_proximity_item podría
producir una aserción. (Error n.º 18233051)
• Determinadas consultas para las tablas INFORMATION_SCHEMA TABLES y COLUMNS podrían
producir un uso excesivo de memoria cuando hay un número elevado de tablas de InnoDB vacías. (Error
n.º 18592390)
• Al confirmar una transacción, ahora se utiliza un indicador para comprobar si se ha creado un
subproceso, en lugar de comprobar el subproceso en sí, que utiliza más recursos (en particular cuando
se ejecuta el servidor con master_info_repository=TABLE). (Error n.º 18684222)
• Si un subproceso de cliente en un nodo de trabajo ejecutaba una operación FLUSH TABLES WITH
READ LOCK mientras la entidad principal ejecutaba una instrucción DML, la ejecución de SHOW SLAVE
STATUS en el mismo cliente se bloqueaba y provocaba un interbloqueo. (Error n.º 19843808)
• Ordenar por un resultado de GROUP_CONCAT() podría provocar una suspensión del servidor. (Error n.º
19880368)
• Mejoras de estabilidad de la replicación al replicar con una base de datos MySQL (replicación de
binlog). Para obtener más información acerca de la replicación de Aurora MySQL con MySQL, consulte
Replicación con Amazon Aurora (p. 74).
• Un límite de 1 gigabyte (GB) en el tamaño de los registros de retransmisión acumulados para un
clúster de base de datos de Aurora MySQL que es un nodo de trabajo de replicación. Esto mejora la
administración de archivos para los clústeres de base de datos Aurora.
• Mejoras de estabilidad en las áreas de lectura anticipada, relaciones claves externas recursivas y
replicación de Aurora.
• Integración de correcciones de errores de MySQL.
• Las bases de datos de InnoDB con nombres que comienzan con un dígito causan un error de
analizador de búsqueda de texto completo (FTS). (Error n.º 17607956)
• Las búsquedas de texto completo de InnoDB producen un error en bases de datos cuyos nombres
comienzan con un dígito. (Error n.º 17161372)
• Para bases de datos InnoDB en Windows, el ID de objeto de búsqueda de texto completo (FTS) no
está en el formato hexadecimal esperado. (Error n.º 16559254)
• Una regresión de código introducida en MySQL 5.6 afecta negativamente al desempeño de DROP
TABLE y ALTER TABLE. Esto podría provocar una disminución del rendimiento entre MySQL Server
5.5.x y 5.6.x. (Error n.º 16864741)
• Registro simplificado para reducir el tamaño de los archivos de registro y la cantidad de almacenamiento
que necesitan.
1345
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de datos
para clústeres de Aurora MySQL Serverless.
A continuación Aurora MySQL se indican actualizaciones del motor de base de datos para los clústeres
de base de datos Aurora MySQL Serverless. Estas notas de la versión proporcionan información sobre
correcciones de errores, actualizaciones del motor de base de datos y otra información crítica. Aurora
Serverless v1 no tiene su propio número de versión. Comparte el número de versión (y el nombre) del
motor de la base de datos Aurora que admite Aurora Serverless v1. Para obtener más información,
consulte Aurora Serverless v1 y versiones del motor de base de datos de Aurora (p. 196).
Puede restaurar una instantánea de una versión de Aurora MySQL que actualmente sea compatible en
Aurora MySQL Serverless 5.7. Mediante una instantánea, también puede actualizar un clúster de base de
datos de Aurora Serverless v1 compatible con Aurora MySQL-5.6 a un clúster de base de datos de Aurora
Serverless v1 compatible con Aurora MySQL-5.7. Para ello:
• Cree una instantánea desde el clúster de base de datos Serverless Aurora MySQL 5.6. Para saber cómo
hacerlo, consulte Creación de una instantánea de clúster de base de datos (p. 542).
• Restaure la instantánea en un nuevo clúster Serverless Aurora MySQL 5.7. Para obtener más
información, consulte Restauración de un clúster de base de datos de Aurora Serverless v1 (p. 183).
Aurora Serverless v1 no tiene su propio número de versión. Utiliza el número de versión de Aurora MySQL
que lo admite para distinguir entre las actualizaciones Aurora MySQL 5.7 y Aurora MySQL 5.6. Para
obtener más información, consulte Aurora Serverless v1 y versiones del motor de base de datos de
Aurora (p. 196).
Para obtener información general acerca de Aurora Serverless, consulte Uso de Amazon Aurora
Serverless v1 (p. 162).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Aurora.
Correcciones de errores:
Esta versión de Aurora Serverless incluye todas las correcciones de errores realizadas hasta Aurora
MySQL versión 2.08.3. Para obtener más información, consulte Actualizaciones del motor de base de
datos de Aurora MySQL: 12/11/2020 (versión 2.08.3) (p. 1223) y las notas de la versión de versiones
anteriores de Aurora MySQL.
Características:
Esta versión de Aurora Serverless incluye todas las nuevas características incluidas hasta Aurora MySQL
versión 2.08.3. Para obtener más información, consulte Actualizaciones del motor de base de datos de
Aurora MySQL: 12/11/2020 (versión 2.08.3) (p. 1223) y las notas de la versión de versiones anteriores de
Aurora MySQL.
1346
Amazon Aurora Guía del usuario de Aurora
Actualizaciones del motor de base de datos
para clústeres de Aurora MySQL Serverless.
Puede restaurar una instantánea de una versión de Aurora MySQL que actualmente sea compatible en
Aurora MySQL Serverless 5.7. Mediante una instantánea, también puede actualizar un clúster de base de
datos de Aurora Serverless v1 compatible con Aurora MySQL-5.6 a un clúster de base de datos de Aurora
Serverless v1 compatible con Aurora MySQL-5.7. Para ello:
• Cree una instantánea desde el clúster de base de datos Serverless Aurora MySQL 5.6. Para saber cómo
hacerlo, consulte Creación de una instantánea de clúster de base de datos (p. 542).
• Restaure la instantánea en un nuevo clúster Serverless Aurora MySQL 5.7. Para obtener más
información, consulte Restauración de un clúster de base de datos de Aurora Serverless v1 (p. 183).
Aurora Serverless v1 no tiene su propio número de versión. Utiliza el número de versión de Aurora MySQL
que lo admite para distinguir entre las actualizaciones Aurora MySQL 5.7 y Aurora MySQL 5.6. Para
obtener más información, consulte Aurora Serverless v1 y versiones del motor de base de datos de
Aurora (p. 196).
Para obtener información general acerca de Aurora Serverless, consulte Uso de Amazon Aurora
Serverless v1 (p. 162).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Aurora.
Correcciones de errores:
Esta versión de Aurora Serverless incluye todas las correcciones de errores realizadas hasta Aurora
MySQL versión 2.07.1. Para obtener más información, consulte Actualizaciones del motor de base de
datos de Aurora MySQL 23/12/2019 (versión 2.07.1) (p. 1244) y las notas de la versión de versiones
anteriores de Aurora MySQL.
Características:
Esta versión de Aurora Serverless incluye todas las nuevas características incluidas hasta Aurora MySQL
versión 2.07.1. Para obtener más información, consulte Actualizaciones del motor de base de datos de
Aurora MySQL 23/12/2019 (versión 2.07.1) (p. 1244) y las notas de la versión de versiones anteriores
de Aurora MySQL. Las siguientes características son de particular interés para los usuarios de Aurora
Serverless o Aurora MySQL con compatibilidad con MySQL 5.7:
• Aurora MySQL Serverless ahora es compatible con la característica de contención de filas activas.
Para obtener más información, consulte Actualizaciones del motor de base de datos de Aurora MySQL
(14/12/2016) (p. 1332).
• Aurora MySQL Serverless ahora es compatible con la característica de unión de hash. Para utilizar esta
característica, debe especificar la opción de configuración optimizer_switch='hash_join=on'.
Para obtener más información, consulte Optimización de grandes consultas combinadas de Aurora
MySQL con combinaciones hash (p. 1123).
• Aurora Serverless 5.7 puede usar la API de datos. Para obtener más información, consulte Uso de la API
de datos para Aurora Serverless (p. 196).
• Aurora Serverless 5.7 puede usar del editor de consultas. Para obtener más información, consulte Uso
del editor de consultas para Aurora Serverless (p. 224).
• Aurora Serverless 5.7 admite las mismas características JSON que otras versiones de Aurora MySQL
que son compatibles con MySQL 5.7.
1347
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
Aurora Serverless v1 no tiene su propio número de versión. Utiliza el número de versión Aurora MySQL
que lo admite para distinguir entre las actualizaciones Aurora MySQL 5.6 y Aurora MySQL 5.7. Para
obtener más información, consulte Aurora Serverless v1 y versiones del motor de base de datos de
Aurora (p. 196). Para obtener información general acerca de Aurora Serverless, consulte Uso de Amazon
Aurora Serverless v1 (p. 162).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Aurora.
Correcciones de errores:
Esta versión de Aurora Serverless incluye todas las correcciones de errores realizadas hasta la
versión 1.22.3 de Aurora MySQL. Para obtener más información, consulte Actualizaciones del motor
de base de datos de Aurora MySQL 09/11/2020 (versión 1.22.3) (p. 1296) y las notas de la versión de
versiones anteriores de Aurora MySQL.
Aurora Serverless v1 no tiene su propio número de versión. Utiliza el número de versión Aurora MySQL
que lo admite para distinguir entre las actualizaciones Aurora MySQL 5.6 y Aurora MySQL 5.7. Para
obtener más información, consulte Aurora Serverless v1 y versiones del motor de base de datos de
Aurora (p. 196). Para obtener información general acerca de Aurora Serverless, consulte Uso de Amazon
Aurora Serverless v1 (p. 162).
Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de
AWSPremium Support. Para obtener más información, consulte Mantenimiento de un clúster de base de
datos de Aurora.
Correcciones de errores:
Esta versión de Aurora Serverless incluye todas las correcciones de errores realizadas hasta la versión
1.21.0 de Aurora MySQL. Para obtener más información, consulte Actualizaciones del motor de base de
datos de Aurora MySQL: 25/11/2019 (versión 1.21.0) (p. 1302) y las notas de la versión de versiones
anteriores de Aurora MySQL.
Características:
En esta versión de Aurora Serverless se ha mejorado la utilización de la CPU en toda la flota sin servidor,
lo que beneficia especialmente a los clústeres con una y dos unidades de capacidad (ACU) de Aurora.
Consulte Aurora Serverless v1 architecture (p. 168) para obtener más información sobre las ACU.
1348
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
Temas
• Errores de MySQL corregidos en las actualizaciones del motor de base de datos de Aurora MySQL
2.x (p. 1349)
• Errores de MySQL corregidos en las actualizaciones del motor de base de datos de Aurora MySQL
1.x (p. 1360)
1349
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1350
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1351
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1352
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1353
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1354
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1355
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1356
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
Actualizaciones 2.05.0 • Error n.º 23054591: PURGE BINARY LOGS TO lee todo el archivo
del motor de binlog y provoca que MySql se paralice
base de datos de
Aurora MySQL:
11/11/2019 (versión
2.05.0) (p. 1251)
1357
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
Actualizaciones 2.04.9 • Error n.º 23070734, Error n.º 80060: Las TRUNCATE TABLE
del motor de simultáneas provocan detenciones
base de datos de • Error n.º 23103937: PS_TRUNCATE_ALL_TABLES() NO
Aurora MySQL: FUNCIONA EN MODO SUPER_READ_ONLY
14/08/2020 (versión
• Error n.º 22551677: al desconectar el servidor, una condición de
2.04.9) (p. 1253)
carrera dentro del esquema de rendimiento podría provocar la
salida del servidor.
• Error n.º 27082268: sincronización de sincronización FTS no
válida.
• Error n.º 12589870: se ha corregido un problema que provocaba
un reinicio con la instrucción multiconsulta cuando la caché de
consulta está habilitada.
• Error n.º 26402045: ciertos casos de materialización de
subconsulta podrían provocar la salida del servidor. Estas
consultas ahora producen un error que sugiere que la
materialización se desactive.
• Error n.º 18898433: las consultas con muchas uniones izquierdas
eran lentas si se usaba el almacenamiento en búfer de unión (por
ejemplo, usando el algoritmo de bucle anidado de bloques).
• Error n.º 25222337: un nombre de campo de columna virtual
NULL en un índice virtual provocaba una salida del servidor
durante una comparación de nombres de campo que se producía
al rellenar columnas virtuales afectadas por una restricción de
clave externa. (https://github.com/mysql/mysql-server/commit/
273d5c9d7072c63b6c47dbef6963d7dc491d5131)
• Error n.º 25053286: la ejecución de un procedimiento almacenado
que contenía una consulta que accedía a una vista podría
asignar memoria que no se liberaba hasta que finalizara
la sesión. (https://github.com/mysql/mysql-server/commit/
d7b37d4d141a95f577916448650c429f0d6e193d)
• Error n.º 25586773: la ejecución de un procedimiento almacenado
que contenía una instrucción que creó una tabla a partir del
contenido de ciertas instrucciones SELECT (https://dev.mysql.com/
doc/refman/5.7/en/select.html) podría provocar una pérdida
de memoria. (https://github.com/mysql/mysql-server/commit/
88301e5adab65f6750f66af284be410c4369d0c1)
• Error n.º 26666274: BUCLE INFINITO EN EL CONTENEDOR DE
BÚFER DE ESQUEMA DE RENDIMIENTO.
• Error n.º 23550835, error n.º 23298025, error n.º 81464: una tabla
de esquema de rendimiento SELECT cuando un búfer interno
estaba lleno podría provocar la salida del servidor.
Actualizaciones 2.04.6 • Error n.º 23054591: PURGE BINARY LOGS TO lee todo el archivo
del motor de binlog y provoca que MySql se paralice
base de datos de
Aurora MySQL:
19/09/2019 (versión
2.04.6) (p. 1260)
1358
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1359
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1360
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
Actualizaciones 1.23.0 • Los eventos binlog con ALTER TABLE ADD COLUMN
del motor de ALGORITHM=QUICK serán reescritos como ALGORITHM=DEFAULT
base de datos de para ser compatibles con la edición de la comunidad.
Aurora MySQL: • Error n.º 22350047: SI EL CLIENTE SE CANCELA DESPUÉS
02/09/2020 (versión DE RESTAURAR A SAVEPOINT STMTS ANTERIORES
1.23.0) (p. 1291) CONFIRMADOS
• Error n.º 29915479: EJECUTAR COM_REGISTER_SLAVE SIN
COM_BINLOG_DUMP PUEDE DAR LUGAR A LA SALIDA DEL
SERVIDOR
• Error n.º 30441969: Error n.º 29723340: EL SERVIDOR DE
MYSQL SE BLOQUEA DESPUÉS DE UNA CONSULTA SQL CON
DATOS ?AST
• Error n.º 30628268: BLOQUEO DE MEMORIA INSUFICIENTE
• Error n.º 27081349: COMPORTAMIENTO INESPERADO
CUANDO SE ELIMINA CON UNA FUNCIÓN ESPACIAL
• Error n.º 27230859: COMPORTAMIENTO INESPERADO
CUANDO SE MANEJA UN POLÍGONO NO VÁLIDO
• Error n.º 27081349: COMPORTAMIENTO INESPERADO
CUANDO SE ELIMINA CON ESPACIAL
• Error n.º 26935001: ALTER TABLE AUTO_INCREMENT
INTENTA LEER UN ÍNDICE DESDE EL ESPACIO DE TABLAS
DESCARTADO
• Error n.º 29770705: EL SERVIDOR SE BLOQUEÓ AL EJECUTAR
SELECT CON UNA CLÁUSULA WHERE ESPECÍFICA
• Error n.º 27659490: SELECT USANDO RANGO DINÁMICO
Y COMBINACIÓN DE ÍNDICE USA DEMASIADA MEMORIA
(MEMORIA INSUFICIENTE)
• Error n.º 24786290: LA REPLICACIÓN SE INTERRUMPE
DESPUÉS DE QUE SE PRODUZCA EL ERROR N.º 74145 EN EL
MAESTRO
• Error n.º 27703912: USO DE MEMORIA EXCESIVO CON
MUCHOS PREPARATIVOS
• Error n.º 20527363: BLOQUEO AL TRUNCAR TABLA
TEMPORAL: !DICT_TF2_FLAG_IS_SET(TABLE,
DICT_TF2_TEMPORARY)
• Error n.º 23103937: PS_TRUNCATE_ALL_TABLES() NO
FUNCIONA EN MODO SUPER_READ_ONLY
• Error n.º 25053286: USAR VISTA CON CONDICIÓN EN
PROCEDIMIENTO PROVOCA UN COMPORTAMIENTO
INCORRECTO (corregido en 5.6.36)
1361
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1362
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1363
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1364
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
Actualizaciones 1.14.0 Una búsqueda de texto completo combinada con tablas derivadas
del motor de (subconsultas de la cláusula FROM) producía una salida del servidor.
base de datos de Ahora, si una operación de texto completo depende de una tabla
Aurora MySQL derivada, el servidor produce un error que indica que no se puede
(07/08/2017) (p. 1325) realizar una búsqueda de texto completo en una tabla materializada.
(Error n.º 68751 y error n.º 16539903)
1365
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
Actualizaciones 1.13.0 • Volver a cargar una tabla desalojada mientras estaba vacía
del motor de provocaba el restablecimiento del valor AUTO_INCREMENT.
base de datos de (Error n.º 21454472 y error n.º 77743)
Aurora MySQL • No se encontraba un registro del índice en la restauración debido
(15/05/2017) (p. 1326) a incoherencias en la estructura de purge_node_t. La incoherencia
producía mensajes de advertencia y de error, por ejemplo, “error in
sec index entry update”, “unable to purge a record” y “tried to purge
sec index entry not marked for deletion”. (Error n.º 19138298, error
n.º 70214, error n.º 21126772 y error n.º 21065746)
• El cálculo incorrecto del tamaño de pila para la operación qsort
conduce al desbordamiento de la pila. (Error n.º 73979)
• No se encuentra el registro en un índice cuando se produce la
restauración. (Error n.º 70214 y error n.º 72419)
• ALTER TABLE agrega la columna TIMESTAMP en la
actualización. CURRENT_TIMESTAMP inserta datos ZERO. (Error
n.º 17392)
Actualizaciones 1.12.0 • Volver a cargar una tabla desalojada mientras estaba vacía
del motor de provocaba el restablecimiento del valor AUTO_INCREMENT.
base de datos de (Error n.º 21454472 y error n.º 77743)
Aurora MySQL • No se encontraba un registro del índice en la restauración debido
(05/04/2017) (p. 1328) a incoherencias en la estructura de purge_node_t. La incoherencia
producía mensajes de advertencia y de error, por ejemplo, “error in
sec index entry update”, “unable to purge a record” y “tried to purge
sec index entry not marked for deletion”. (Error n.º 19138298, error
n.º 70214, error n.º 21126772 y error n.º 21065746)
• El cálculo incorrecto del tamaño de pila para la operación qsort
conduce al desbordamiento de la pila. (Error n.º 73979)
• No se encuentra el registro en un índice cuando se produce la
restauración. (Error n.º 70214 y error n.º 72419)
• ALTER TABLE agrega la columna TIMESTAMP en la
actualización. CURRENT_TIMESTAMP inserta datos ZERO. (Error
n.º 17392)
1366
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
Actualizaciones 1.8.0 • Al suprimir todos los índices en una columna con varios índices,
del motor de InnoDB no podía bloquear una operación DROP INDEX cuando
base de datos de una restricción de clave externa requería un índice. (Error n.º
Aurora MySQL 16896810)
(18/10/2016) (p. 1335) • Solución para bloqueo de restricción al agregar clave externa.
(Error n.º 16413976)
• Se ha corregido un bloqueo al recuperar un cursor en un
procedimiento almacenado y analizar o vaciar la tabla al mismo
tiempo. (Error n.º 18158639)
• Se ha corregido un error de incremento automático
cuando un usuario alteraba una tabla para cambiar el valor
AUTO_INCREMENT a un valor inferior al valor máximo de la
columna de incremento automático. (Error n.º 16310273)
1367
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1368
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1369
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
Actualizaciones 1.2, 1.3 • La anulación de una consulta dentro de innodb provoca que se
del motor de acabe bloqueando con una aserción. (Error n.º 1608883)
base de datos de • No se puede crear un subproceso nuevo para el programador de
Aurora MySQL eventos, ejecución de eventos o nueva conexión, y no se escribe
(16/10/2015) (p. 1343) ningún mensaje en el registro de errores. (Error n.º 16865959)
• Si una conexión cambiara su base de datos predeterminada y otra
conexión ejecutara simultáneamente SHOW PROCESSLIST, la
segunda conexión podría obtener acceso a la memoria no válida al
tratar de mostrar la memoria de la base de datos predeterminada
de la primera conexión. (Error n.º 11765252)
• PURGE BINARY LOGS por diseño no elimina archivos de
registro binario que se están utilizando o están activos, pero no se
proporciona ninguna notificación cuando sucede esto. (Error n.º
13727933)
• Para algunas instrucciones, podrían producirse fugas de memoria
cuando el optimizador elimina cláusulas de subconsultas
innecesarias. (Error n.º 15875919)
• Durante el cierre, el servidor podría intentar bloquear una
exclusión mutua que no se ha inicializado. (Error n.º 16016493)
• Una instrucción preparada que utilizó GROUP_CONCAT() y
una cláusula ORDER BY que nombró varias columnas podrían
provocar la suspensión del servidor. (Error n.º 16075310)
• Faltaba la instrumentación del esquema de rendimiento para los
subprocesos del nodo de trabajo de réplica. (Error n.º 16083949)
• STOP SLAVE podría provocar un interbloqueo cuando se emitía
simultáneamente con una instrucción como SHOW STATUS que
recuperaba los valores de una o más de las variables de estado
Slave_retried_transactions, Slave_heartbeat_period,
Slave_received_heartbeats, Slave_last_heartbeat o
Slave_running. (Error n.º 16088188)
• Una consulta de texto completo que utiliza el modo booleano
podría devolver cero resultados en algunos casos en los que
el término de búsqueda es una frase entrecomillada. (Error n.º
16206253)
• El intento del optimizador de eliminar cláusulas de la subconsulta
redundante producía una aserción al ejecutar una instrucción
preparada con una subconsulta en la cláusula ON de una
combinación en una subconsulta. (Error n.º 16318585)
• GROUP_CONCAT inestable, bloqueo en
ITEM_SUM::CLEAN_UP_AFTER_REMOVAL. (Error n.º 16347450)
• Intentar sustituir la lista predeterminada de palabras
excluidas de búsqueda de texto completo (FTS) de InnoDB
creando una tabla de InnoDB con la misma estructura que
INFORMATION_SCHEMA.INNODB_FT_DEFAULT_STOPWORD
genera un error. (Error n.º 16373868)
• Después de que el subproceso de cliente en un nodo de trabajo
realizaba una operación FLUSH TABLES WITH READ LOCK
seguida de algunas actualizaciones en la entidad principal, el nodo
1370
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
1371
Amazon Aurora Guía del usuario de Aurora
Errores de MySQL corregidos en las
actualizaciones de Aurora MySQL
Actualizaciones 1.1 • Las bases de datos de InnoDB con nombres que comienzan con
del motor de un dígito causan un error de analizador de búsqueda de texto
base de datos de completo (FTS). (Error n.º 17607956)
Aurora MySQL • Las búsquedas de texto completo de InnoDB producen un error en
(24/08/2015) (p. 1345) bases de datos cuyos nombres comienzan con un dígito. (Error n.º
17161372)
• Para bases de datos InnoDB en Windows, el ID de objeto
de búsqueda de texto completo (FTS) no está en el formato
hexadecimal esperado. (Error n.º 16559254)
• Una regresión de código introducida en MySQL 5.6 afecta
negativamente al desempeño de DROP TABLE y ALTER TABLE.
Esto podría provocar una disminución del rendimiento entre
MySQL Server 5.5.x y 5.6.x. (Error n.º 16864741)
1372
Amazon Aurora Guía del usuario de Aurora
Vulnerabilidades de seguridad
corregidas en Amazon Aurora MySQL
Puede encontrar en esta página una lista de vulnerabilidades de seguridad corregidas en Aurora MySQL.
Para obtener información general acerca de la seguridad para Aurora, consulte Seguridad en Amazon
Aurora (p. 1836). Para obtener información de seguridad adicional para Aurora MySQL, consulte
Seguridad con Amazon Aurora MySQL (p. 830).
Le recomendamos que actualice siempre a la versión de Aurora más reciente para estar protegido contra
vulnerabilidades conocidas. Puede utilizar esta página para comprobar si una versión concreta de Aurora
MySQL tiene una corrección para una vulnerabilidad de seguridad específica. Si el clúster no tiene la
revisión de seguridad, puede ver a qué versión de Aurora MySQL debe actualizar para esa revisión.
Las CVE corregidas en las versiones 1 y 2 de Aurora MySQL también se enumeran en las notas de la
versión de dicha versión:
• Actualizaciones del motor de base de datos de Amazon Aurora MySQL versión 1 (p. 1286)
• Actualizaciones del motor de base de datos de Amazon Aurora MySQL versión 2 (p. 1196)
Note
La versión inicial de Aurora MySQL versión 3 incluye todas las CVE corregidas hasta la
comunidad MySQL 8.0.23. Para futuras CVE corregidas, búsquelas aquí y en las notas de la
versión de Aurora MySQL versión 3.
• CVE-2021-35624: 2.10.2
• CVE-2021-35604: 2.10.2
• CVE-2021-23841: 2.10.0, 2.09.3, 1.23.3
• CVE-2021-3712: 2.09.3
• CVE-2021-3449: 2.10.0, 2.09.3, 1.23.3
• CVE-2021-2390: 2.10.2
• CVE-2021-2389: 2.10.2
• CVE-2021-2385: 2.10.2
• CVE-2021-2356: 2.10.2
• CVE-2021-2307: 2.10.1, 2.09.3, 1.23.4
• CVE-2021-2226: 2.10.1, 2.09.3, 1.23.4
• CVE-2021-2194: 2.10.1
• CVE-2021-2174: 2.10.1, 2.09.3
• CVE-2021-2171: 2.10.1, 2.09.3
• CVE-2021-2169: 2.10.1, 2.09.3
• CVE-2021-2166: 2.10.1, 2.09.3
• CVE-2021-2160: 2.10.1, 1.23.4
• CVE-2021-2154: 2.10.1, 2.09.3, 1.23.4
• CVE-2021-2060: 2.10.1, 2.09.3, 1.23.4
• CVE-2021-2032: 2.10.1, 2.09.3, 1.23.4
1373
Amazon Aurora Guía del usuario de Aurora
Vulnerabilidades de seguridad
corregidas en Amazon Aurora MySQL
1374
Amazon Aurora Guía del usuario de Aurora
Vulnerabilidades de seguridad
corregidas en Amazon Aurora MySQL
1375
Amazon Aurora Guía del usuario de Aurora
Vulnerabilidades de seguridad
corregidas en Amazon Aurora MySQL
• CVE-2014-4258: 1.22.0
• CVE-2014-2444: 1.22.0
• CVE-2014-2436: 1.22.0
• CVE-2014-0393: 1.22.0
• CVE-2013-5908: 1.22.0
• CVE-2013-5881: 1.22.0
• CVE-2013-5807: 1.22.0
• CVE-2013-3811: 1.22.0
• CVE-2013-3807: 1.22.0
• CVE-2013-3806: 1.22.0
• CVE-2013-3804: 1.22.0
• CVE-2013-2381: 1.22.0
• CVE-2013-2378: 1.22.0
• CVE-2013-2375: 1.22.0
• CVE-2013-1523: 1.22.0
• CVE-2012-5615: 1.22.0
1376
Amazon Aurora Guía del usuario de Aurora
Aurora PostgreSQL puede trabajar con muchos estándares del sector. Por ejemplo, puede utilizar las
bases de datos de Aurora PostgreSQL para crear aplicaciones conformes a la HIPAA y para almacenar
información relacionada con la sanidad, incluida información sanitaria protegida (PHI) bajo un contrato de
asociación empresarial (BAA) con AWS.
Aurora PostgreSQL es apto para FedRAMP HIGH. Para obtener más detalles sobre AWS y los esfuerzos
de conformidad, consulte Servicios de AWS en el alcance por programa de conformidad.
Temas
• Seguridad con Amazon Aurora PostgreSQL (p. 1378)
• Actualización de aplicaciones para la conexión a los clústeres de base de datos de PostgreSQL de
Aurora con los nuevos certificados SSL/TLS (p. 1382)
• Migración de datos a Amazon Aurora con compatibilidad con PostgreSQL (p. 1386)
• Uso de Babelfish for Aurora PostgreSQL (p. 1401)
• Administración de Amazon Aurora PostgreSQL (p. 1466)
• Ajuste con eventos de espera de Aurora PostgreSQL (p. 1482)
• Prácticas recomendadas con Amazon Aurora PostgreSQL (p. 1532)
• Replicación con Amazon Aurora PostgreSQL (p. 1541)
• Integración de Amazon Aurora PostgreSQL con otros servicios de AWS (p. 1547)
• Importación de datos de Amazon S3 en un clúster de base de datos Aurora PostgreSQL (p. 1548)
• Exportación de datos de una Aurora PostgreSQL de base de datos de clústerde Amazon S3 (p. 1561)
• Administración de planes de ejecución de consultas para Aurora PostgreSQL (p. 1572)
• Publicación de registros de Aurora PostgreSQL en Amazon CloudWatch Logs (p. 1600)
• Uso del machine learning (ML) con Aurora PostgreSQL (p. 1608)
• Recuperación rápida después de una conmutación por error con la administración de caché del clúster
para Aurora PostgreSQL (p. 1628)
• Invocar una función de AWS Lambda desde un clúster de base de datos de
Aurora PostgreSQL (p. 1633)
• Uso de la extensión oracle_fdw para acceder a datos externos en Aurora PostgreSQL (p. 1644)
• Administración de las particiones de PostgreSQL con la extensión pg_partman (p. 1647)
• Uso de la autenticación Kerberos con Aurora PostgreSQL (p. 1651)
• Referencia de Amazon Aurora PostgreSQL (p. 1665)
• Actualizaciones de Amazon Aurora PostgreSQL (p. 1721)
1377
Amazon Aurora Guía del usuario de Aurora
Seguridad con Aurora PostgreSQL
Si usa IAM para acceder a la consola de Amazon RDS, primero tiene que iniciar sesión en la AWS
Management Console con sus credenciales de usuario de IAM. Abra la consola de Amazon RDS en
https://console.aws.amazon.com/rds/.
• Los clústeres de base de datos Aurora se deben crear en una Amazon Virtual Private Cloud (VPC). Para
controlar qué dispositivos e instancias Amazon EC2 pueden abrir conexiones al punto de enlace y al
puerto de la instancia de base de datos los clústeres de base de datos Aurora en una VPC, debe usar un
grupo de seguridad de VPC. Puede establecer estas conexiones de puerto y punto de enlace mediante
Capa de conexión segura (SSL) y Transport Layer Security (TLS). Además, las reglas del firewall de su
compañía pueden controlar si los dispositivos que se ejecutan en ella pueden abrir conexiones a una
instancia de base de datos. Para obtener más información acerca de las VPC, consulte VPC Amazon
Virtual Private Cloud y Amazon Aurora (p. 1926).
La tenencia de VPC admitida depende de la clase de instancia de base de datos que utilicen los
clústeres de base de datos de Aurora PostgreSQL. En el caso de la tenencia de VPC default, la
VPC se ejecuta en hardware compartido. En el caso de la tenencia de una VPC dedicated, la VPC
se ejecuta en una instancia de hardware dedicada. Las clases de instancia de base de datos de
rendimiento ampliable solo admiten el arrendamiento de VPC predeterminado. Las clases de instancia
de base de datos de rendimiento ampliable incluyen las clases de instancia de base de datos db.t3
y db.t4g. Todas las demás clases de instancia de base de datos de Aurora PostgreSQL admiten la
tenencia de VPC predeterminada y dedicada.
Para obtener más información sobre las clases de instancias, consulte Clases de instancia de base
de datos Aurora (p. 56). Para obtener más información acerca de la tenencia de VPC default y
dedicated, consulte Instancias dedicadas en la Guía del usuario de Amazon Elastic Compute Cloud.
• Para autenticar el inicio de sesión y los permisos de un clúster de base de datos Amazon Aurora, puede
seguir el mismo procedimiento que con una instancia independiente de PostgreSQL.
Los comandos como CREATE ROLE, ALTER ROLE, GRANT y REVOKE funcionan de la misma forma que
en las bases de datos locales, al igual que la modificación directa de las tablas de los esquemas de las
bases de datos. Para obtener más información, consulte Autenticación de cliente en la documentación
de PostgreSQL.
Note
El mecanismo de autenticación mediante desafío-respuesta discontinuo (SCRAM) no es
compatible con Aurora PostgreSQL.
Note
Para obtener más información, consulte Seguridad en Amazon Aurora (p. 1836).
Cuando se crea una instancia de base de datos de Amazon Aurora PostgreSQL, el usuario maestro tiene
los siguientes privilegios predeterminados:
• LOGIN
• NOSUPERUSER
1378
Amazon Aurora Guía del usuario de Aurora
Restricción de la administración de contraseñas
• INHERIT
• CREATEDB
• CREATEROLE
• NOREPLICATION
• VALID UNTIL 'infinity'
Para proporcionar servicios de administración para cada clúster de base de datos, se crea el usuario
rdsadmin cuando se crea el clúster de base de datos. Al intentar eliminar, cambiar de nombre, cambiar la
contraseña o cambiar los privilegios de la cuenta rdsadmin, se producirá un error.
A continuación figuran algunos ejemplos de comandos SQL que quedan restringidos cuando está
habilitada la restricción de la administración de contraseñas.
Algunos comandos ALTER ROLE que incluyen RENAME TO podrían quedar también restringidos. La
restricción podría deberse a que el cambio de nombre de un rol de PostgreSQL con una contraseña MD5
borra la contraseña.
Asegúrese de que comprueba los requisitos de las contraseñas del lado del cliente, como el vencimiento
y la complejidad necesaria. Recomendamos que restrinja los cambios relacionados con las contraseñas
mediante su propia utilidad del lado del cliente. Esta utilidad debería tener un rol que pertenezca a
rds_password y cuente con el atributo de rol CREATEROLE.
1379
Amazon Aurora Guía del usuario de Aurora
Protección de los datos de Aurora PostgreSQL con SSL/TLS
Para obtener la información general acerca de la compatibilidad con SSL/TLS y las bases de datos
de PostgreSQL, consulte Compatibilidad con SSL en la documentación de PostgreSQL. Para obtener
información sobre el uso de una conexión SSL/TLS a través de JDBC, consulte Configuración del cliente
en la documentación de PostgreSQL.
Temas
• Requerir una conexión SSL/TLS a un clúster de base de datos de Aurora PostgreSQL (p. 1381)
• Determinar el estado de la conexión SSL/TLS (p. 1381)
La compatibilidad con SSL/TLS está disponible en todas las regiones de AWS para Aurora PostgreSQL.
Amazon RDS crea un certificado SSL/TLS destinado al clúster de base de datos de Aurora PostgreSQL
cuando se crea el clúster de base de datos. Si se habilita la verificación con certificado SSL/TLS, el
certificado incluye el punto de enlace del clúster de base de datos como nombre común (CN) que el
certificado de SSL/TLS debe proteger frente a los ataques de suplantación.
Para conectar con un clúster de base de datos de Aurora PostgreSQL a través de SSL/TLS
1. Descargue el certificado.
Para obtener más información acerca de cómo descargar certificados, consulte Uso de SSL/TLS para
cifrar una conexión a un clúster de base de datos (p. 1844).
2. Importe el certificado en su sistema operativo.
3. Conéctese a su clúster de base de datos de Aurora PostgreSQL a través de SSL/TLS.
Cuando se conecte mediante SSL/TLS, su cliente podrá elegir verificar la cadena de certificados o
no. Si sus parámetros de conexión especifican sslmode=verify-ca o sslmode=verify-full,
su cliente precisa que los certificados de CA de RDS estén en su almacén de confianza o se haga
referencia a ellos en la URL de conexión. Este requisito es para verificar la cadena de certificados que
firma su certificado de base de datos.
Cuando un cliente, como psql o JDBC, está configurado con soporte de SSL/TLS, primero el cliente
intenta conectarse a la base de datos con SSL/TLS de forma predeterminada. Si el cliente no puede
conectarse mediante SSL/TLS, vuelve a la conexión sin SSL/TLS. El modo sslmode predeterminado
utilizado es diferente entre los clientes basados en libpq (como psql) y JDBC. Los clientes basados
en libpq utilizan de manera predeterminada prefer mientras que los clientes JDBC utilizan verify-
full.
A continuación, aparece un ejemplo de cómo usar psql para conectarse a un clúster de base de datos de
Aurora PostgreSQL.
1380
Amazon Aurora Guía del usuario de Aurora
Protección de los datos de Aurora PostgreSQL con SSL/TLS
Puede definir el valor del parámetro rds.force_ssl actualizando el grupo de parámetros de su clúster
de base de datos para su clúster de base de datos. Si el grupo de parámetros de su clúster de base
de datos no es el grupo de parámetros predeterminado y el parámetro ssl ya se ha definido en 1 al
configurar el parámetro rds.force_ssl como 1, no es necesario reiniciar el clúster de base de datos. De
lo contrario, tendrá que reiniciar el clúster de base de datos para que el cambio tenga efecto. Para obtener
más información acerca de los grupos de parámetros, consulte Trabajo con los grupos de parámetros de
base de datos y grupos de parámetros de clúster de base de datos (p. 369).
postgres=>
postgres=>
También puede cargar la extensión sslinfo y llamar después a la función ssl_is_used() para
determinar si se está utilizando SSL/TLS. La función devuelve t si la conexión usa SSL/TLS; de lo
contrario, devuelve f.
1381
Amazon Aurora Guía del usuario de Aurora
Actualización de aplicaciones
para nuevos certificados SSL/TLS
(1 row)
Si habilita set rds.force_ssl y reinicia el clúster de la base de datos, las conexiones que no usen SSL
se rechazarán con el siguiente mensaje:
$ export PGSSLMODE=disable
$ psql postgres -h SOMEHOST.amazonaws.com -p 8192 -U someuser
psql: FATAL: no pg_hba.conf entry for host "host.ip", user "someuser", database "postgres",
SSL off
$
Para obtener información acerca de la opción sslmode, consulte Funciones de control de conexión de la
base de datos en la documentación de PostgreSQL.
Este tema puede ayudarle a determinar las aplicaciones de cualquier cliente utilizan SSL/TLS para
conectarse a sus clústeres de base de datos. Si lo hacen, puede comprobar de manera adicional si esas
aplicaciones precisan una verificación de certificados para conectarse.
Note
Algunas aplicaciones están configuradas para conectarse a los clústeres de base de datos de
PostgreSQL de Aurora solo si pueden verificar con éxito el certificado del servidor.
Para esas aplicaciones, debe actualizar los almacenes de confianza de la aplicación de su cliente
para incluir los nuevos certificados de CA.
Para obtener más información acerca de la rotación de certificados, consulte Rotar certificados SSL/
TLS (p. 1846). Para obtener más información acerca de cómo descargar certificados, consulte Uso de
SSL/TLS para cifrar una conexión a un clúster de base de datos (p. 1844). Para obtener información sobre
el uso de SSL/TLS con los clústeres de base de datos de PostgreSQL, consulte Protección de los datos de
Aurora PostgreSQL con SSL/TLS (p. 1380).
1382
Amazon Aurora Guía del usuario de Aurora
Determinación de si las aplicaciones se
conectan a sus clústeres de base de datos
de PostgreSQL de Aurora mediante SSL
Temas
• Determinación de si las aplicaciones se conectan a sus clústeres de base de datos de PostgreSQL de
Aurora mediante SSL (p. 1383)
• Determinación de si un cliente necesita una verificación de certificados para conectarse (p. 1383)
• Actualización del almacén de confianza de su aplicación (p. 1384)
• Uso de conexiones SSL/TLS para diferentes tipos de aplicaciones (p. 1385)
select datname, usename, ssl, client_addr from pg_stat_ssl inner join pg_stat_activity on
pg_stat_ssl.pid = pg_stat_activity.pid where ssl is true and usename<>'rdsadmin';
Solo las filas que utilizan conexiones SSL/TLS se muestran con información sobre la conexión. A
continuación, se muestra un ejemplo del resultado.
La anterior consulta solo muestra las conexiones actuales en el momento de la consulta. La ausencia de
resultados no indica que no haya ninguna aplicación utilizando conexiones SSL. Se pueden establecer
otras conexiones SSL en un momento diferente.
Utilice PGSSLROOTCERT para verificar el certificado con la variable de entorno PGSSLMODE, con
PGSSLMODE establecido como require, verify-ca o verify-full.
1383
Amazon Aurora Guía del usuario de Aurora
Actualización del almacén de confianza de su aplicación
Utilice el argumento sslrootcert para verificar el certificado con sslmode en el formato de la cadena de
conexión, con sslmode establecido como require, verify-ca o verify-full.
Por ejemplo, en el caso anterior, si utiliza un certificado raíz no válido, observa un error similar a lo
siguiente en su cliente.
Cuando actualice el almacén de confianza, puede retener certificados antiguos además de añadir
los nuevos certificados.
1. Descargue el certificado raíz de 2019 que funciona con todas las regiones de AWS y coloque el
archivo en el directorio de su almacén de confianza.
Para obtener información sobre la descarga del certificado raíz, consulte Uso de SSL/TLS para cifrar
una conexión a un clúster de base de datos (p. 1844).
2. Convierta el certificado al formato .der con el siguiente comando.
1384
Amazon Aurora Guía del usuario de Aurora
Uso de conexiones SSL/TLS para
diferentes tipos de aplicaciones
rds-root,date, trustedCertEntry,
Certificate fingerprint (SHA1):
D4:0D:DB:29:E3:75:0D:FF:A6:71:C3:14:0B:BF:5F:47:8D:1C:80:96
# This fingerprint should match the output from the below command
openssl x509 -fingerprint -in rds-ca-2019-root.pem -noout
• psql
El cliente se ha invocado desde la línea de comandos especificando las opciones como una cadena
de conexión o como variables del entorno. Para las conexiones SSL/TLS, las opciones relevantes son
sslmode (variable de entorno PGSSLMODE), sslrootcert (variable de entorno PGSSLROOTCERT).
Para obtener la lista completa de opciones, consulte Palabras de clave del parámetro en la
documentación de PostgreSQL. Para obtener la lista completa de variables de entorno, consulte
Variables de entorno en la documentación de PostgreSQL.
• pgAdmin
Este cliente basado en el navegador es una interfaz más intuitiva para conectarse a la base de datos de
PostgreSQL.
Para obtener información general sobre la conexión a la base de datos de PostgreSQL con JDBC,
consulte Conexión a la base de datos en la documentación de PostgreSQL. Para obtener información
sobre la conexión con SSL/TLS, consulte Configuración del cliente en la documentación de PostgreSQL.
• Python
Una biblioteca de Python popular para la conexión a las bases de datos de PostgreSQL es psycopg2.
Para obtener información acerca del uso de psycopg2, consulte la documentación de psycopg2. Para
obtener un breve tutorial sobre cómo conectarse a una base de datos de PostgreSQL, consulte Tutorial
de psycopg2. Puede encontrar información acerca de las opciones que acepta del comando de conexión
en El contenido del módulo psycopg2.
Important
Después de que haya determinado que sus conexiones de base de datos utilizan SSL/TLS y
ha actualizado el almacén de confianza de su aplicación, puede actualizar su base de datos
para utilizar los certificados de rds-ca-2019. Para obtener instrucciones, consulte el paso 3 en
Actualización del certificado de entidad de certificación modificando la instancia de base de
datos (p. 1847).
1385
Amazon Aurora Guía del usuario de Aurora
Migración de datos a Aurora PostgreSQL
Migración de una instancia de base de datos de RDS for PostgreSQL mediante una instantánea (p. 1386)
Puede migrar datos directamente a partir de una instantánea de base de datos RDS for PostgreSQL a
un clúster de base de datos de Aurora PostgreSQL.
Migración de una instancia de base de datos de RDS for PostgreSQL mediante una réplica de lectura de
Aurora (p. 1392)
También puede migrar desde una instancia de base de datos de RDS for PostgreSQL creando una
réplica de lectura de Aurora PostgreSQL de una instancia de base de datos de RDS for PostgreSQL.
Cuando el retraso de réplica entre la instancia de base de datos de RDS for PostgreSQL y la réplica
de lectura de Aurora PostgreSQL es cero, puede detener la reproducción. En este momento, puede
convertir la réplica de lectura de Aurora en un clúster de base de datos de Aurora PostgreSQL
independiente de lectura y escritura.
Importación de datos S3 en Aurora PostgreSQL (p. 1548)
Puede migrar datos al importarlos desde una tabla perteneciente Amazon S3 a un clúster de Aurora
PostgreSQL basede datos.
Migración desde una base de datos no compatible con PostgreSQL
Puede utilizar AWS Database Migration Service (AWS DMS) para migrar datos desde una base de
datos que no sea compatible con PostgreSQL. Para obtener más información acerca de AWS DMS,
consulte ¿Qué es el Database Migration Service de AWS? en la guía del usuario de AWS Database
Migration Service.
Para obtener una lista de las regiones de AWS en las que está disponible Aurora, consulte Amazon Aurora
en la referencia general de AWS.
Important
Si planea migrar una instancia de base de datos de RDS para PostgreSQL a un clúster de
base de Aurora PostgreSQL datos en un futuro próximo, se recomienda encarecidamente
que deshabilite las actualizaciones automáticas de versiones secundarias para la instancia de
base de datos al principio de la fase de planificación de la migración. La migración a Aurora
PostgreSQL podría retrasarse si la versión de RDS para PostgreSQL aún no es compatible con
Aurora PostgreSQL. Para obtener información acerca de Aurora PostgreSQL las versiones, vea
Versiones del motor para Amazon Aurora PostgreSQL.
1386
Amazon Aurora Guía del usuario de Aurora
Migración de una instancia de base de datos de
RDS for PostgreSQL mediante una instantánea
original. Para obtener más información acerca de la creación de una instantánea de base de datos,
consulte Creación de una instantánea de base de datos.
En algunos casos, la instantánea de base de datos puede no estar en la AWS región en la que desee
ubicar los datos. Si es así, utilice la consola de Amazon RDS para copiar la instantánea de base de datos
en esa región de AWS. Para obtener más información acerca de la copia de una instantánea de base de
datos, consulte Copia de una instantánea de base de datos.
Puede migrar instantáneas de RDS for PostgreSQL compatibles con las versiones de Aurora PostgreSQL
disponibles en la región de AWS determinada. Por ejemplo, una instantánea de una instancia de base
de datos de RDS PostgreSQL 11.1 se puede migrar a las versiones 11.4, 11.7, 11.8 o 11.9 de Aurora
PostgreSQL en EE. UU. Oeste (Norte de California). Una instantánea de RDS PostgreSQL 10.11 se puede
migrar a Aurora PostgreSQL 10.11, 10.12, 10.13 y 10.14. En otras palabras, la instantánea de RDS for
PostgreSQL debe usar la misma versión secundaria o inferior que la versión de Aurora PostgreSQL.
También puede elegir que el nuevo clúster de base de datos de Aurora PostgreSQL se cifre en reposo
utilizando una AWS KMS key. Esta opción solo está disponible para las instantáneas de base de datos no
cifradas.
Para migrar una instantánea de base de datos de RDS for PostgreSQL a un clúster de base de datos de
Aurora PostgreSQL, puede usar la AWS Management Console, la AWS CLI o la API de RDS. Cuando se
utiliza la AWS Management Console, la consola realiza las acciones necesarias para crear tanto el clúster
de base de datos como la instancia principal.
Consola
Para migrar una instantánea de base de datos PostgreSQL con la consola de RDS, realice el
siguiente procedimiento:
• DB engine version (Versión del motor de base de datos): elija una versión del motor de base de
datos que desee utilizar para la nueva instancia migrada.
• DB Instance Identifier (Identificador de instancia de base de datos): especifique un nombre para el
clúster de base de datos que sea único para su cuenta en la AWSregión que elija. Este identificador
se utiliza en las direcciones de punto de enlace para las instancias del clúster de base de datos.
Puede optar por agregar al nombre información como la AWS región y el motor de base de datos
que ha elegido, por ejemplo, aurora-cluster1.
1387
Amazon Aurora Guía del usuario de Aurora
Migración de una instancia de base de datos de
RDS for PostgreSQL mediante una instantánea
clase de instancia de base de datos que se adapte a sus necesidades actuales de almacenamiento.
Para obtener más información, consulte Información general del almacenamiento de Aurora (p. 68).
• Virtual Private Cloud (VPC): si ya dispone de una VPC, puede utilizarla con su clúster de base
de datos de Aurora PostgreSQL seleccionando el identificador de la VPC, por ejemplo, vpc-
a464d1c1. Para obtener información acerca del uso de una VPC, consulte Cómo crear una VPC
para el uso con Amazon Aurora (p. 1933).
De lo contrario, puede optar por hacer que Amazon RDS cree una VPC por usted eligiendo Create a
new VPC (Crear una VPC nueva).
• Subnet Group (Grupo de subred): si dispone de un grupo de subred existente, puede utilizarlo con
su clúster de base de datos Aurora PostgreSQL eligiendo el identificador del grupo de subred, por
ejemplo, gs-subnet-group1.
• Public Access (Acceso público): elija No para especificar que solo pueden obtener acceso a las
instancias de su clúster de base de datos los recursos que se encuentran dentro de su VPC. Elija
Yes (Sí) para especificar que los recursos de la red pública pueden obtener acceso a las instancias
de su clúster de base de datos.
Note
La opción Auto Minor Version Upgrade (Actualización automática a versiones secundarias) solo
es válida para las actualizaciones secundarias de las versiones del motor de PostgreSQL para su
clúster de base de datos Aurora PostgreSQL. No tiene validez para los parches periódicos que se
utilizan para mantener la estabilidad del sistema.
6. Elija Migrate (Migrar) para migrar la instantánea de base de datos.
7. Elija Databases (Bases de datos) para ver el nuevo clúster de base de datos. Elija el nuevo clúster
de base de datos para supervisar el progreso de la migración. En la pestaña Connectivity & security
(Conectividad y seguridad), puede encontrar el punto de enlace del clúster que se va a utilizar
1388
Amazon Aurora Guía del usuario de Aurora
Migración de una instancia de base de datos de
RDS for PostgreSQL mediante una instantánea
para conectarse a la instancia de escritor principal del clúster de base de datos. Para obtener más
información acerca de la conexión a un clúster de base de datos de Aurora PostgreSQL, consulte
Conexión a un clúster de base de datos Amazon Aurora (p. 307).
AWS CLI
El uso de AWS CLI para migrar una instantánea de base de datos de RDS for PostgreSQL a una de
Aurora PostgreSQL implica dos comandos AWS CLI separados. En primer lugar, se usa el comando
restore-db-cluster-from-snapshot de AWS CLI para crear un nuevo clúster de bases de datos de
Aurora PostgreSQL. A continuación, se usa el comando create-db-instance para crear la instancia de
base de datos principal en el nuevo clúster para completar la migración. El siguiente procedimiento crea un
clúster de base de datos de Aurora PostgreSQL con una instancia de base de datos principal que tiene la
misma configuración que la instancia de base de datos usada para crear la instantánea.
Para migrar una instantánea de base de datos de RDS for PostgreSQL a un clúster de base de
datos de Aurora PostgreSQL
2. El comando muestra todos los detalles de configuración de las instantáneas creadas a partir de la
instancia de base de datos especificada. En la respuesta, busque la instantánea que desea migrar
y localice el nombre de recurso de Amazon (ARN). Para obtener más información sobre los ARN
de Amazon RDS, consulte Amazon Relational Database Service (Amazon RDS). Un ARN tiene un
aspecto similar a la siguiente imagen.
“DBSnapshotArn": "arn:aws:rds:aws-region:111122223333:snapshot:<snapshot_name>"
También en la respuesta puede encontrar detalles de configuración para la instancia de base de datos
de RDS for PostgreSQL, como la versión del motor, el almacenamiento asignado, si la instancia de
base de datos está cifrada o no, etc.
3. Use el comando restore-db-cluster-from-snapshot para iniciar la migración. Especifique los siguientes
parámetros:
No puede crear un clúster de base de datos de Aurora PostgreSQL sin cifrar a partir de una
instantánea de base de datos cifrada.
1389
Amazon Aurora Guía del usuario de Aurora
Migración de una instancia de base de datos de
RDS for PostgreSQL mediante una instantánea
Para Windows:
4. El comando muestra detalles sobre el clúster de base de datos de Aurora PostgreSQL que se creó
para la migración. Puede comprobar el estado del clúster de base de datos de Aurora PostgreSQL con
el comando de la AWS CLI describe-db-clusters.
5. Cuando el clúster de base de datos esté “disponible”, use el comando create-db-instance para rellenar
el clúster de base de datos de Aurora PostgreSQL con la instancia de base de datos basada en su
instantánea de base de datos de Amazon RDS. Especifique los siguientes parámetros:
También puede crear la instancia de base de datos con una configuración diferente a la de la
instantánea de base de datos de origen si pasa las opciones adecuadas en el comando create-db-
instance de la AWS CLI. Para obtener más información, consulte el comando create-db-instance.
Para Windows:
1390
Amazon Aurora Guía del usuario de Aurora
Migración de una instancia de base de datos de
RDS for PostgreSQL mediante una instantánea
Cuando finaliza el proceso de migración, el clúster de Aurora PostgreSQL tiene una instancia de base de
datos principal rellenada.
1391
Amazon Aurora Guía del usuario de Aurora
Migración de una instancia de base de datos de RDS for
PostgreSQL mediante una réplica de lectura de Aurora
En este caso, Amazon RDS utiliza la funcionalidad de replicación de streaming del motor de base de datos
PostgreSQL para crear un tipo especial de clúster de base de datos para la instancia de base de datos
PostgreSQL de origen. Este tipo de clúster de base de datos se denomina réplica de lectura de Aurora. Las
actualizaciones realizadas en la instancia de base de datos de RDS for PostgreSQL de origen se replican
de forma asíncrona en la réplica de lectura de Aurora.
Temas
• Información general de la migración de datos mediante una réplica de lectura de Aurora (p. 1392)
• Preparación para la migración de datos mediante una réplica de lectura de Aurora (p. 1393)
• Creación de una réplica de lectura de Aurora (p. 1393)
• Promoción de una réplica de lectura de Aurora (p. 1399)
Esta migración puede tardar un tiempo considerable, aproximadamente varias horas por tebibyte (TiB)
de datos. Durante la migración, la instancia de RDS for PostgreSQL acumulará segmentos de registro
de escritura previa (WAL). Asegúrese de que la instancia de Amazon RDS tenga suficiente capacidad de
almacenamiento para estos segmentos.
Cuando se crea una réplica de lectura de Aurora de una instancia de base de datos de RDS for
PostgreSQL, Amazon RDS crea una instantánea de base de datos de la instancia de base de datos de
RDS for PostgreSQL de origen. Esta instantánea es privada para Amazon RDS y no supone ningún gasto.
Después, Amazon RDS migra los datos de la instantánea de base de datos a la réplica de lectura de
Aurora. Una vez que se migran los datos de la instantánea de base de datos al nuevo clúster de base de
datos Aurora PostgreSQL, RDS comenzará la reproducción entre la instancia de base de datos de RDS for
PostgreSQL y el clúster de base de datos de Aurora PostgreSQL.
Solo puede tener una réplica de lectura de Aurora para una instancia de base de datos de RDS for
PostgreSQL. Si intenta crear una réplica de lectura de Aurora para la instancia de RDS for PostgreSQL
y ya tiene una réplica de lectura de Aurora o una réplica de lectura entre regiones, la solicitud será
rechazada.
1392
Amazon Aurora Guía del usuario de Aurora
Migración de una instancia de base de datos de RDS for
PostgreSQL mediante una réplica de lectura de Aurora
Note
Para obtener más información sobre las réplicas de lectura de PostgreSQL, consulte Trabajo con réplicas
de lectura en la Guía del usuario de Amazon RDS.
Métrica Descripción
Unidades: bytes
Unidades: megabytes
Unidades: megabytes
Para obtener más información sobre la monitorización de una instancia de RDS, consulte Monitoring
(Monitorización) en la Guía del usuario de Amazon RDS.
1393
Amazon Aurora Guía del usuario de Aurora
Migración de una instancia de base de datos de RDS for
PostgreSQL mediante una réplica de lectura de Aurora
Consola
Para crear una réplica de lectura de Aurora a partir de una instancia de base de datos PostgreSQL
4. Elija las especificaciones del clúster de base de datos que desee usar para la réplica de lectura de
Aurora, tal como se describe en la tabla siguiente.
Opción Descripción
DB instance class (Clase de instancia Elija una clase de instancia de base de datos que defina
de base de datos). los requisitos de procesamiento y memoria para la
instancia principal del clúster de base de datos. Para
obtener más información acerca de las opciones de
clases de instancia de base de datos, consulte Clases de
instancia de base de datos Aurora (p. 56).
1394
Amazon Aurora Guía del usuario de Aurora
Migración de una instancia de base de datos de RDS for
PostgreSQL mediante una réplica de lectura de Aurora
Opción Descripción
El identificador de instancias de bases de datos tiene las
siguientes limitaciones:
Virtual Private Cloud (VPC) Elija la VPC que alojará el clúster de base de datos. Elija
Create new VPC (Crear una VPC) para que Amazon
RDS cree una VPC automáticamente. Para obtener más
información, consulte Requisitos previos de clúster de base
de datos (p. 136).
Public accessibility (Accesibilidad Elija Yes (Sí) para asignar al clúster de base de datos
pública) una dirección IP pública; de lo contrario, elija No. Las
instancias en el clúster de base de datos pueden ser una
combinación de instancias de base de datos tanto públicas
como privadas. Para obtener más información acerca del
modo de ocultar instancias al acceso público, consulte
Cómo ocultar una instancia de base de datos en una VPC
desde Internet. (p. 1928).
Grupos de seguridad de la VPC Elija uno o varios grupos de seguridad de VPC para
proteger el acceso de red al clúster de base de datos.
Elija Create new VPC security group (Crear un grupo de
seguridad de VPC) para que Amazon RDS cree un grupo
de seguridad de VPC automáticamente. Para obtener más
información, consulte Requisitos previos de clúster de base
de datos (p. 136).
1395
Amazon Aurora Guía del usuario de Aurora
Migración de una instancia de base de datos de RDS for
PostgreSQL mediante una réplica de lectura de Aurora
Opción Descripción
Database port (Puerto de base de Especifique el puerto que deben usar las aplicaciones
datos) y las utilidades para obtener acceso a la base de datos.
Los clústeres de base de datos de Aurora PostgreSQL
utilizan de forma predeterminada el puerto 5432 de
PostgreSQL. Los firewalls de algunas compañías bloquean
las conexiones a este puerto. Si el firewall de su compañía
bloquea el puerto predeterminado, elija otro puerto para el
nuevo clúster de base de datos.
Periodo de retención de copia de Elija el tiempo (entre 135 y 35 días) durante el que Aurora
seguridad conservará las copias de seguridad de la base de datos.
Los backups se pueden utilizar para las restauraciones
a un momento dado (PITR) de la base de datos con una
precisión de segundos.
1396
Amazon Aurora Guía del usuario de Aurora
Migración de una instancia de base de datos de RDS for
PostgreSQL mediante una réplica de lectura de Aurora
Opción Descripción
Granularity (Grado de detalle) Solo está disponible si eligió Enable Enhanced Monitoring
(Habilitar monitorización mejorada). Defina el intervalo,
en segundos, en el que se recopilan las métricas para el
clúster de base de datos.
Auto minor version upgrade Elija Yes (Sí) para habilitar el clúster de base de datos
(Actualización automática de de Aurora PostgreSQL para recibir actualizaciones de
versiones secundarias) las versiones secundarias del motor de base de datos
PostgreSQL automáticamente cuando estén disponibles.
AWS CLI
Para crear una réplica de lectura de Aurora a partir de una instancia de base de datos de RDS for
PostgreSQL de origen, use los comandos create-db-cluster y create-db-instance de la AWS CLI para crear
un nuevo clúster de base de datos de Aurora PostgreSQL. Cuando llame al comando create-db-cluster,
incluya el parámetro --replication-source-identifier para identificar el nombre de recurso de
Amazon (ARN) de la instancia de base de datos de RDS for PostgreSQL de origen. Para obtener más
información sobre los ARN de Amazon RDS, consulte Amazon Relational Database Service (Amazon
RDS) en la referencia general de AWS.
Para Windows:
1397
Amazon Aurora Guía del usuario de Aurora
Migración de una instancia de base de datos de RDS for
PostgreSQL mediante una réplica de lectura de Aurora
--replication-source-identifier arn:aws:rds:us-west-2:123456789012:db:master-
postgresql-instance
Si usa la consola para crear un clúster de base de datos Aurora, RDS crea automáticamente la instancia
principal de la réplica de lectura de Aurora del clúster de base de datos. Si usa la CLI para crear una
réplica de lectura de Aurora, debe crear expresamente la instancia principal del clúster de base de datos.
La instancia principal es la primera instancia que se crea en un clúster de base de datos.
Puede crear una instancia principal para el clúster de base de datos con el comando de la CLI create-
db-instance y los siguientes parámetros:
• --db-cluster-identifier
El nombre de la clase de instancia de base de datos que se va a utilizar para la instancia principal.
• --db-instance-identifier
Example
Para Linux, macOS o Unix:
Para Windows:
API de RDS
Para crear una réplica de lectura de Aurora a partir de una instancia de base de datos de RDS
for PostgreSQL de origen, utilice las operaciones de la API de RDS CreateDBCluster y
CreateDBInstance para crear una instancia principal y un clúster de base de datos de Aurora nuevos.
No especifique el nombre de usuario maestro, la contraseña maestra o el nombre de base de datos.
La réplica de lectura de Aurora utiliza el mismo nombre de usuario maestro, la contraseña maestra y el
nombre de base de datos que la instancia de base de datos de RDS for PostgreSQL.
Puede crear un nuevo clúster de base de datos de Aurora para una réplica de lectura de Aurora a partir de
una instancia de base de datos de RDS for PostgreSQL de origen. Para ello, use la operación de la API de
RDS CreateDBCluster con los siguientes parámetros:
1398
Amazon Aurora Guía del usuario de Aurora
Migración de una instancia de base de datos de RDS for
PostgreSQL mediante una réplica de lectura de Aurora
• DBClusterIdentifier
El nombre del grupo de subredes de la base de datos que desea asociar con este clúster de base de
datos.
• Engine=aurora-postgresql
El nombre de recurso de Amazon (ARN) de la instancia de base de datos PostgreSQL de origen. Para
obtener más información sobre los ARN de Amazon RDS, consulte Amazon Relational Database Service
(Amazon RDS) en la Amazon Web Services General Reference.
• VpcSecurityGroupIds
La lista de grupos de seguridad de VPC de Amazon EC2 que asociar a este clúster de base de datos.
Si utiliza la consola para crear una réplica de lectura de Aurora, Amazon RDS crea automáticamente la
instancia principal para la réplica de lectura de Aurora del clúster de base de datos. Si usa la CLI para
crear una réplica de lectura de Aurora, debe crear expresamente la instancia principal del clúster de base
de datos. La instancia principal es la primera instancia que se crea en un clúster de base de datos.
Puede crear una instancia principal para el clúster de base de datos con la operación CreateDBInstance
de la API de RDS y los siguientes parámetros:
• DBClusterIdentifier
El nombre de la clase de instancia de base de datos que se va a utilizar para la instancia principal.
• DBInstanceIdentifier
1399
Amazon Aurora Guía del usuario de Aurora
Migración de una instancia de base de datos de RDS for
PostgreSQL mediante una réplica de lectura de Aurora
de replicación de Aurora PostgreSQL (p. 1541) y Monitoreo de métricas de Amazon Aurora con Amazon
CloudWatch (p. 618).
Consola
Para promover una réplica de lectura de Aurora a un clúster de base de datos Aurora
AWS CLI
Para promocionar una réplica de lectura de Aurora a un clúster de base de datos independiente, utilice el
comando promote-read-replica-db-cluster de la AWS CLI.
Example
Para Windows:
API de RDS
Para promover una réplica de Aurora lectura a un clúster de base de datos independiente, utilice la
operación de API de RDS PromoteAdReplicadbCluster .
Una vez que haya finalizado la promoción, la instancia de base de datos de RDS for PostgreSQL principal
y la réplica de lectura de Aurora se desvinculan. En ese momento, podrá eliminar de forma segura la
instancia de base de datos si lo desea.
1400
Amazon Aurora Guía del usuario de Aurora
Babelfish for Aurora PostgreSQL
Babelfish proporciona un punto de conexión adicional para un clúster de base de datos de Aurora
PostgreSQL que le permite comprender el protocolo de nivel de conexión de SQL Server y las
instrucciones de SQL Server de uso común. Este enfoque permite a las aplicaciones cliente que utilizan
el protocolo de conexión Tabular Data Stream (TDS) conectarse de forma nativa al puerto del agente de
escucha de TDS en Aurora PostgreSQL. Babelfish es compatible con las versiones 7.1 y posteriores de
TDS. Para obtener más información sobre el protocolo de nivel de conexión de SQL Server, consulte [MS-
TDS]: Tabular Data Stream Protocol en el sitio web de Microsoft.
Puede acceder a sus datos simultáneamente mediante una conexión de TDS de Babelfish desde una
aplicación y una conexión de PostgreSQL nativa desde otra aplicación. Puede personalizar los puertos
utilizados para cada conexión de cliente al crear el clúster o más adelante en el grupo de parámetros de
Aurora PostgreSQL. Para obtener más información acerca de los parámetros que controlan Babelfish,
consulte Configuración de una base de datos de Babelfish (p. 1451).
De forma predeterminada, para utilizar los siguientes dialectos utilice los siguientes puertos:
Babelfish ejecuta el lenguaje Transact-SQL (T-SQL) con las excepciones documentadas en Diferencias
entre Aurora PostgreSQL con Babelfish y SQL Server (p. 1427).
Arquitectura de Babelfish
Al crear un clúster de Aurora PostgreSQL con Babelfish activado, Aurora aprovisiona el clúster con una
base de datos PostgreSQL denominada babelfish_db. Esta base de datos es donde residen todos los
objetos y estructuras de SQL Server migrados.
Note
1401
Amazon Aurora Guía del usuario de Aurora
Arquitectura de Babelfish
a la manera en la que aparecen los nombres de los esquemas de SQL Server dentro de la base de
datos babelfish_db en Aurora PostgreSQL. El modo de migración se almacena en el parámetro
migration_mode. No se puede cambiar este parámetro después de crear el clúster.
En el modo de una sola base de datos, los nombres de esquema de la base de datos de usuario en la
base de datos babelfish_db siguen siendo los mismos que en SQL Server. Si decide trasladar una base
de datos única, los esquemas se vuelven a crear dentro de la base de datos y se pueden referenciar con
el mismo nombre utilizado con SQL Server. Por ejemplo, los esquemas dbo y smith residen dentro de la
base de datos dbA.
Al conectarse a través de TDS, puede ejecutar USE dbA para ver los esquemas dbo y smith de T-
SQL, como lo haría en SQL Server. Los nombres de esquema sin cambios también están visibles en
PostgreSQL.
En el modo de varias bases de datos, los nombres de esquema de las bases de datos de usuario se
convierten en dbname_schemaname cuando se ven en PostgreSQL. Los nombres de esquema siguen
siendo los mismos cuando se ven en T-SQL.
1402
Amazon Aurora Guía del usuario de Aurora
Arquitectura de Babelfish
Al conectarse a través de TDS, puede ejecutar USE dbA, para ver los esquemas dbo y smith de T-SQL,
como lo haría en SQL Server. Los nombres de esquema asignados, tales como dbA_dbo y dbA_smith,
están visibles en PostgreSQL.
Cada base de datos sigue conteniendo sus esquemas. El nombre de cada base de datos se antepone al
nombre del esquema de SQL Server, y se utiliza un guion bajo como delimitador, por ejemplo:
Dentro de la base de datos babelfish_db, el usuario de T-SQL aún necesita ejecutar USE dbname para
cambiar el contexto de la base de datos, de modo que la apariencia se mantenga similar a SQL Server.
Al crear un clúster para usarlo con Babelfish, Aurora PostgreSQL crea las bases de datos del sistema,
master y tempdb. Si ha creado o modificado objetos en las bases de datos del sistema (master o
tempdb), asegúrese de volver a crear esos objetos en el nuevo clúster. A diferencia de SQL Server,
Babelfish no reinicializa tempdb después de reiniciar el clúster.
• Si va a migrar una sola base de datos de SQL Server. En el modo de base de datos única, los nombres
de esquema migrados son idénticos a los nombres de esquema de SQL Server originales. Al migrar la
aplicación, se hacen menos cambios en el código SQL.
• Si su objetivo final es una migración completa de forma nativa a Aurora PostgreSQL. Antes de migrar,
consolide los esquemas en un solo esquema (dbo) y, a continuación, migre a un solo clúster para
reducir los cambios necesarios.
1403
Amazon Aurora Guía del usuario de Aurora
Arquitectura de Babelfish
1404
Amazon Aurora Guía del usuario de Aurora
Uso de Babelfish para migrar a PostgreSQL
En la siguiente información general de alto nivel se enumeran los pasos necesarios para que la aplicación
para SQL Server funcione con Babelfish:
1. Cree un nuevo clúster de base de datos de Aurora PostgreSQL con Babelfish activado, lo que
proporciona compatibilidad con la sintaxis y las características de SQL Server T-SQL. Para obtener más
información, consulte Creación de un clúster de Aurora PostgreSQL con Babelfish (p. 1407).
2. Para conectarse a la nueva base de datos, utilice una herramienta nativa de SQL Server, como sqlcmd.
Para obtener más información, consulte Uso de un cliente de SQL Server para conectarse al clúster de
su base de datos (p. 1417).
3. Exporte el lenguaje de definición de datos (DDL) de las bases de datos de SQL Server que quiera
migrar. El DDL es un código de SQL que describe los objetos de base de datos que contienen datos
de usuario (como tablas, índices y vistas) y código de base de datos escrito por el usuario (como
procedimientos almacenados, funciones definidas por el usuario y activadores).
Puede utilizar SQL Studio Management Studio (SSMS) para exportar el DDL. Después de conectarse a
la instancia de SQL Server existente, siga los pasos siguientes:
a. Abra el menú contextual (haga clic con el botón derecho) para obtener un nombre de base de datos.
b. Elija Tasks (Tareas), Generate Scripts (Generar scripts) del menú contextual.
c. En la página Choose Objects (Elegir objetos), seleccione toda la base de datos u objetos específicos.
d. En la página Set Scripting Options (Establecer opciones de scripting), elija Advanced (Avanzado) y
asegúrese de activar los desencadenadores, los inicios de sesión, los propietarios y los permisos. Se
encuentran desactivados de forma predeterminada en SSMS.
e. Guarde el script.
4. Exporte el lenguaje de manipulación de datos (DML) de las bases de datos de SQL Server que quiera
migrar. El DML es código de SQL que inserta filas en las tablas de la base de datos.
Puede utilizar SQL Studio Management Studio (SSMS) para exportar el DML. Después de conectarse a
la instancia de SQL Server existente, siga los pasos siguientes:
a. Abra el menú contextual (haga clic con el botón derecho) para obtener un nombre de base de datos.
b. Elija Tasks (Tareas), Generate Scripts (Generar scripts) del menú contextual.
c. En la página Choose Objects (Elegir objetos), seleccione toda la base de datos u objetos específicos.
d. En la página Set Scripting Options (Establecer opciones de scripting), elija Advanced (Avanzado), y
para Types of data to script (Tipos de datos para script), elija Data only (Solo datos).
e. Guarde el script.
5. Ejecute una herramienta de evaluación. Por ejemplo, puede ejecutar la herramienta Babelfish Compass.
Ejecútela en el DDL para determinar en qué medida Babelfish admite el código T-SQL. Identifique el
código T-SQL que podría requerir modificaciones antes de ejecutarse en Babelfish.
Note
Debido a que Babelfish Compass es una herramienta de código abierto, informe de cualquier
problema a través de GitHub. No informe problemas con Babelfish Compass a AWS Support.
También puede usar AWS Schema Conversion Tool para llevar a cabo la migración. AWS Schema
Conversion Tool es compatible con Babelfish como destino virtual. Para obtener más información,
consulte Using virtual targets (Uso de destinos virtuales) en la Guía del usuario de AWS Schema
Conversion Tool.
1405
Amazon Aurora Guía del usuario de Aurora
Uso de Babelfish para migrar a PostgreSQL
6. Ejecute el DDL en el nuevo servidor de Babelfish para volver a crear los esquemas en Babelfish
mediante SSMS o sqlcmd. Haga los ajustes de código según sea necesario. Este proceso puede
requerir varias iteraciones.
7. Ejecute el DML en el nuevo servidor de Babelfish para insertar filas en las tablas de la base de datos.
8. Vuelva a configurar la aplicación cliente para conectarse al punto de conexión de Babelfish en lugar
de SQL Server. Para obtener más información, consulte Conexión a un clúster de base de datos con
Babelfish activado (p. 1414).
9. Modifique la aplicación cuando sea necesario y vuelva a hacer la prueba. Para obtener más información,
consulte Diferencias entre Aurora PostgreSQL con Babelfish y SQL Server (p. 1427).
10.Cuando esté satisfecho con los resultados de las pruebas de la aplicación, comience a utilizar la base
de datos de Babelfish para la producción.
Cuando esté todo listo, detenga la base de datos original y redirija las aplicaciones cliente activas para
utilizar el puerto TDS de Babelfish.
11.(Opcional) Capture las consultas de SQL del lado del cliente y ejecútelas a través de una herramienta
de evaluación (como Babelfish Compass). Un esquema de ingeniería inversa solo convierte el código
SQL del lado del servidor. Para las aplicaciones con consultas de SQL complejas del lado del cliente,
le recomendamos que las analice también para determinar la compatibilidad con Babelfish. Si el
análisis indica que las instrucciones de SQL del lado del cliente contienen características de SQL no
compatibles, revise los aspectos de SQL de la aplicación cliente y haga modificaciones si es necesario.
1406
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de Aurora PostgreSQL con Babelfish
Puede utilizar AWS Management Console o AWS CLI para crear un clúster de Aurora PostgreSQL con
Babelfish.
Note
Consola
Para crear un clúster con Babelfish en ejecución con AWS Management Console
2. Para Choose a database creation method (Elegir un método de creación de base de datos), haga una
de las siguientes operaciones:
• Para especificar opciones de motor detalladas, elija Standard create (Creación estándar).
• Para utilizar opciones preconfiguradas que admiten prácticas recomendadas para un clúster de
Aurora, elija Easy create (Creación sencilla).
3. Para Engine type (Tipo de motor), elija Amazon Aurora.
4. En Edition (Edición), elija Amazon Aurora PostgreSQL.
5. Elija Show filters (Mostrar filtros) y, después, Show versions that support the Babelfish for PostgreSQL
feature (Mostrar versiones que admiten la característica Babelfish for PostgreSQL) para enumerar
los tipos de motores compatibles con Babelfish. Babelfish es compatible actualmente con Aurora
PostgreSQL 13.4 y versiones posteriores.
6. En Available versions (Versiones disponibles), elija una versión de Aurora PostgreSQL.
1407
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de Aurora PostgreSQL con Babelfish
A diferencia de SQL Server, Babelfish no crea un inicio de sesión sa. Para crear un inicio de sesión
denominado sa, ingrese el nombre en el campo Master username (Nombre de usuario maestro).
Si no crea un usuario denominado sa en ese momento, puede crear uno más tarde con el cliente
que elija. Después de crear el usuario, utilice el comando ALTER SERVER ROLE para agregarlo a
sysadmin.
10. En Master password (Contraseña maestra), ingrese una contraseña segura para el usuario
administrativo al que acaba de nombrar y confírmela.
11. En las opciones que siguen, hasta la sección Babelfish settings (Configuración de Babelfish),
especifique la configuración del clúster de base de datos. Para obtener más información acerca de
cada ajuste, consulte Configuración de clústeres de bases de datos de Aurora (p. 149).
12. Para que la funcionalidad de Babelfish esté disponible, seleccione la casilla Turn on Babelfish (Activar
Babelfish).
13. En DB cluster parameter group (Grupo de parámetros de clúster de base de datos), haga una de las
siguientes operaciones:
• Elija Create new (Crear nuevo) para crear un nuevo grupo de parámetros con Babelfish activado.
• Elija Choose existing (Elegir existente) para utilizar un grupo de parámetros existente. Si utiliza un
grupo existente, asegúrese de modificar el grupo antes de crear el clúster y agregar valores para los
1408
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de Aurora PostgreSQL con Babelfish
parámetros de Babelfish. Para obtener información acerca de los parámetros de Babelfish, consulte
Configuración de una base de datos de Babelfish (p. 1451).
• Single database (Base de datos única) para migrar una sola base de datos de SQL Server.
En algunos casos, puede migrar varias bases de datos de usuarios juntas, lo que tiene como
objetivo final una migración completa a Aurora PostgreSQL de forma nativa sin Babelfish. Si las
aplicaciones finales requieren esquemas consolidados (un solo esquema dbo), asegúrese de
consolidar primero las bases de datos de SQL Server en una sola base de datos de SQL Server. A
continuación, migre a Babelfish con el modo Single database (Base de datos única).
• Multiple databases (Varias bases de datos) para migrar varias bases de datos de SQL Server
(originadas en una sola instalación de SQL Server). El modo de varias bases de datos no consolida
varias bases de datos que no se originan en una sola instalación de SQL Server. Para obtener
información sobre la migración de varias bases de datos, consulte Uso de Babelfish con una base
de datos única o varias bases de datos (p. 1401).
1409
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de Aurora PostgreSQL con Babelfish
17. En Babelfish TDS port (Puerto TDS de Babelfish), ingrese el número de puerto al que se conecta el
cliente de SQL Server. El valor predeterminado es 1433.
18. En DB parameter group (Grupo de parámetros de base de datos), elija un grupo de parámetros o haga
que Aurora cree un grupo nuevo para usted con la configuración predeterminada.
19. En Failover priority (Prioridad de conmutación por error), elija una para la instancia. Si no elige un
valor, el valor predeterminado es tier-1. Esta prioridad determina el orden en que se promueven
las réplicas de cuando el sistema se recupera de un error en la instancia principal. Para obtener más
información, consulte Tolerancia a errores para un clúster de base de datos de Aurora (p. 73).
20. En Backup retention period (Periodo de retención de copia de seguridad), elija el tiempo (entre 1 y 35
días) durante el que Aurora retendrá las copias de seguridad de la base de datos. Puede utilizar los
backups para las restauraciones a un momento dado (PITR) de la base de datos con una precisión de
segundos. El periodo de retención predeterminado es de siete de días.
21. Elija Copy tags to snapshot (Copiar etiquetas en instantáneas) para copiar las etiquetas de las
instancias de base de datos en una instantánea de base de datos al crear una instantánea.
1410
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de Aurora PostgreSQL con Babelfish
22. Elija Enable encryption (Habilitar cifrado) para activar el cifrado en reposo (cifrado de almacenamiento
de Aurora) para este clúster de base de datos.
23. Elija Enable Performance Insights (Habilitar Información sobre rendimiento) para activar Amazon RDS
Performance Insights.
24. Elija Enable enhanced monitoring (Habilitar monitoreo mejorado) a fin de iniciar la recopilación de
métricas en tiempo real para el sistema operativo en el que se ejecuta el clúster de base de datos.
25. Elija PostgreSQL log (Registro de PostgreSQL) para publicar los archivos de registro en Amazon
CloudWatch Logs.
26. Elija Enable auto minor version upgrade (Habilitar actualización automática de versiones secundarias)
para actualizar automáticamente el clúster de base de datos Aurora cuando haya disponible una
actualización de versión secundaria.
27. En Maintenance window (Periodo de mantenimiento), haga lo siguiente:
• Para elegir una hora para que Amazon RDS haga modificaciones o haga el mantenimiento, elija
Select window (Seleccionar ventana).
• Para hacer el mantenimiento de Amazon RDS a una hora no programada, elija No preference (Sin
preferencias).
28. Seleccione la casilla Enable deletion protection (Habilitar protección contra la eliminación), para
proteger la base de datos de que no se elimine por accidente.
Si activa esta característica, no podrá eliminar directamente la base de datos. En su lugar, debe
modificar el clúster de base de datos y desactivar esta característica antes de eliminar la base de
datos.
Puede encontrar la nueva base de datos configurada para Babelfish en el listado de Databases (Bases de
datos). En la columna Status (Estado) se muestra Available (Disponible) cuando la implementación finaliza.
1411
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de Aurora PostgreSQL con Babelfish
AWS CLI
Antes de crear un clúster de base de datos Aurora con Babelfish en ejecución mediante AWS CLI,
asegúrese de cumplir los requisitos previos requeridos, como la creación de un grupo de parámetros. Para
obtener más información, consulte Requisitos previos de clúster de base de datos (p. 136).
Antes de poder utilizar AWS CLI para crear un clúster de Aurora PostgreSQL con Babelfish, haga lo
siguiente:
• Elija la URL del punto de conexión de la lista de servicios de Amazon Aurora endpoints and quotas
(Puntos de conexión y cuotas de Amazon Aurora).
• Cree un grupo de parámetros para el clúster. Para obtener más información acerca de los grupos de
parámetros, consulte Trabajo con los grupos de parámetros de base de datos y grupos de parámetros
de clúster de base de datos (p. 369).
• Modifique el grupo de parámetros y agregue el parámetro que activa Babelfish.
Para crear un clúster de base de datos de Aurora PostgreSQL mediante AWS CLI
Para Windows:
1412
Amazon Aurora Guía del usuario de Aurora
Creación de un clúster de Aurora PostgreSQL con Babelfish
Para Windows:
3. Identifique el grupo de la subred de base de datos y el ID del grupo de seguridad de la nube virtual
privada (VPC) para el nuevo clúster de base de datos y, a continuación, llame al comando create-db-
cluster.
Para Windows:
4. Cree expresamente la instancia principal. Utilice el nombre del clúster que creó anteriormente para el
valor de la opción --db-cluster-identifier y ejecute el comando create-db-instance tal y como
se muestra a continuación.
Para Windows:
1413
Amazon Aurora Guía del usuario de Aurora
Conexión a un clúster de base
de datos con Babelfish activado
• Herramientas, aplicaciones y sintaxis de SQL Server en el puerto TDS, puerto 1433 de forma
predeterminada.
• Herramientas, aplicaciones y sintaxis de PostgreSQL en el puerto de PostgreSQL, puerto 5432 de forma
predeterminada.
Note
Babelfish for Aurora PostgreSQL no es compatible con conjuntos de resultados activos múltiples
(MARS). Asegúrese de que cualquier aplicación cliente que utilice para conectarse a Babelfish no
esté configurada para usar MARS.
Si es nuevo en conectarse a una base de datos de Amazon Aurora PostgreSQL, consulte también
Conexión a un clúster de base de datos Amazon Aurora PostgreSQL (p. 311).
La base de datos debe tener el estado Available (Disponible). Si no lo tiene, espere a que se muestre
como Available (Disponible). El estado se actualiza automáticamente sin solicitarle que actualice la
página. Este proceso puede tardar hasta 20 minutos después de crear un clúster de base de datos.
3. Elija el clúster de su base de datos que admita Babelfish para mostrar sus detalles.
4. En la pestaña Connectivity & security (Conectividad y seguridad), anote los valores de Endpoints
(Puntos de conexión) del clúster. Utilice el punto de conexión del clúster para la instancia del escritor
en las cadenas de conexión en cualquier aplicación que haga operaciones de lectura o escritura de
base de datos.
1414
Amazon Aurora Guía del usuario de Aurora
Conexión a un clúster de base
de datos con Babelfish activado
Para obtener más información sobre los detalles de un clúster de base de datos, consulte Creación de un
clúster de base de datos de Amazon Aurora (p. 136).
Es posible que se le soliciten credenciales cada vez que se conecte a Babelfish. Cualquier usuario migrado
a Aurora PostgreSQL o creado en este puede utilizar las mismas credenciales tanto en el puerto de SQL
Server como en el de PostgreSQL. Babelfish no aplica las políticas de contraseñas, pero recomendamos
que haga lo siguiente:
Para revisar una lista completa de usuarios de base de datos, utilice el comando SELECT * FROM
pg_user;.
1415
Amazon Aurora Guía del usuario de Aurora
Conexión a un clúster de base
de datos con Babelfish activado
//Create connection
connectionString = @"Data Source=" + dataSource
+";Initial Catalog=your-DB-name"
+";User ID=user-id;Password=password";
Example Uso de clases e interfaces de API de JDBC genéricas para conectarse a un clúster de
base de datos
String dbServer =
"database-babelfish.cluster-123abc456def.us-east-1-rds.amazonaws.com";
String connectionUrl = "jdbc:sqlserver://" + dbServer + ":1433;" +
"databaseName=your-DB-name;user=user-id;password=password";
// Load the SQL Server JDBC driver and establish the connection.
System.out.print("Connecting Babelfish Server ... ");
Connection cnn = DriverManager.getConnection(connectionUrl);
Example Uso de clases e interfaces de JDBC específicas de SQL Server para conectarse a un
clúster de base de datos
// Create datasource.
SQLServerDataSource ds = new SQLServerDataSource();
ds.setUser("user-id");
ds.setPassword("password");
String babelfishServer =
"database-babelfish.cluster-123abc456def.us-east-1-rds.amazonaws.com";
ds.setServerName(babelfishServer);
ds.setPortNumber(1433);
ds.setDatabaseName("your-DB-name");
1416
Amazon Aurora Guía del usuario de Aurora
Conexión a un clúster de base
de datos con Babelfish activado
Después de conectarse, puede utilizar muchos de los mismos comandos que utiliza con SQL Server.
Para ver algunos ejemplos, consulte Consulta de una base de datos para obtener información sobre
objetos (p. 1423).
Para revisar una lista de excepciones, consulte Diferencias entre Aurora PostgreSQL con Babelfish y SQL
Server (p. 1427).
1. Inicie SSMS.
2. Abra el cuadro de diálogo Connect to Server (Conectarse al servidor) mediante una de las acciones
siguientes:
a. En Server type (Tipo de servidor), elija Database Engine (Motor de base de datos).
b. En Server name (Nombre de servidor), ingrese el nombre de DNS. Por ejemplo, el nombre del
servidor debería tener un aspecto similar al siguiente.
cluster-name.cluster-123abc456def.us-east-1-rds.amazonaws.com,1433
1417
Amazon Aurora Guía del usuario de Aurora
Conexión a un clúster de base
de datos con Babelfish activado
d. En Login (Inicio de sesión), ingrese el nombre de usuario que eligió al crear la base de datos.
e. En Password (Contraseña), ingrese la contraseña que eligió al crear la base de datos.
4. (Opcional) Elija Options (Opciones) y, después, elija la pestaña Connection Properties (Propiedades
de conexión).
1418
Amazon Aurora Guía del usuario de Aurora
Conexión a un clúster de base
de datos con Babelfish activado
Si aparece un mensaje que indique que SSMS no puede aplicar cadenas de conexión, elija OK
(Aceptar).
1419
Amazon Aurora Guía del usuario de Aurora
Conexión a un clúster de base
de datos con Babelfish activado
psql "host=babelfish_db.cluster-123456789012
port=portNumber dbname=babelfish_db user=userName"
• host: el nombre de host del clúster (punto de conexión del clúster) de base de datos al que quiere
acceder
• port: el número de puerto de PostgreSQL usado para conectarse a la instancia de base de datos
• dbname – babelfish_db
• user: la cuenta de usuario de base de datos a la que quiere acceder
• password: la contraseña del usuario de base de datos
Cuando ejecute un comando de SQL en el cliente psql, finalícelo con un punto y coma. Por ejemplo, el
siguiente comando SQL consulta la vista de sistema pg_tables para devolver información sobre cada tabla
de la base de datos.
El cliente psql también tiene un conjunto de metacomandos integrados. Un metacomando es un atajo que
ajusta el formato o proporciona un acceso directo que devuelve metadatos en un formato fácil de usar. Por
ejemplo, el siguiente metacomando devuelve información similar al comando de SQL anterior:
\d
Para obtener más información acerca del uso del cliente psql para consultar un clúster de Aurora
PostgreSQL, consulte la documentación de PostgreSQL.
1420
Amazon Aurora Guía del usuario de Aurora
Conexión a un clúster de base
de datos con Babelfish activado
En la página Connection (Conexión), agregue la dirección del clúster de Aurora PostgreSQL para
Host y el número de puerto de PostgreSQL (de forma predeterminada, 5432) para Port (Puerto).
Proporcione detalles de autenticación y elija Save (Guardar).
1421
Amazon Aurora Guía del usuario de Aurora
Conexión a un clúster de base
de datos con Babelfish activado
Después de conectarse, puede utilizar la funcionalidad de pgAdmin para monitorear y administrar el clúster
de Aurora PostgreSQL en el puerto de PostgreSQL.
1422
Amazon Aurora Guía del usuario de Aurora
Consulta de una base de datos para
obtener información sobre objetos
Para obtener más información sobre el uso de pgAdmin, visite el Sitio web de pgAdmin.
Por ejemplo, para buscar una lista de esquemas de la base de datos migrada en el puerto de T-SQL,
conéctese al puerto de TDS con sqlcmd y utilice el siguiente comando.
Si migra una base de datos single-db o multi-db, Babelfish devuelve una lista de nombres de esquemas
formateados en estilo de Babelfish que incluye los esquemas del sistema de SQL Server y PostgreSQL:
mydb_dbo
public
sys
master_dbo
temp_dbo
1423
Amazon Aurora Guía del usuario de Aurora
Consulta a Babelfish para encontrar detalles de Babelfish
Use SQL Server y las vistas de PostgreSQL para devolver información sobre los objetos del clúster de
Aurora PostgreSQL. Algunas de las vistas de SQL Server implementadas por Babelfish son las siguientes:
PostgreSQL implementa catálogos de sistemas similares a las vistas de catálogo de objetos de SQL
Server. Para obtener una lista completa de catálogos de sistemas, consulte System Catalogs en la
documentación de PostgreSQL.
1424
Amazon Aurora Guía del usuario de Aurora
Consulta a Babelfish para encontrar detalles de Babelfish
1.0.0
Para identificar la versión del clúster de base de datos de Aurora PostgreSQL, ejecute la siguiente
consulta:
13.4.0
Para identificar la versión compatible de Microsoft SQL Server, ejecute la siguiente consulta:
Además, la siguiente consulta devuelve 1 cuando se ejecuta en Babelfish, y NULL cuando se ejecuta en
Microsoft SQL Server:
\x
SELECT
aurora_version() as aurora_version,
version() as postgresql_version,
sys.version() as Babelfish_compatibility,
sys.SERVERPROPERTY('BabelfishVersion') as Babelfish_Version
babelfish_db=> \x
Expanded display is on.
babelfish_db=> SELECT
babelfish_db-> aurora_version() as aurora_version,
babelfish_db-> version() as postgresql_version,
babelfish_db-> sys.version() as Babelfish_compatibility,
babelfish_db-> sys.SERVERPROPERTY('BabelfishVersion') as Babelfish_Version ;
1425
Amazon Aurora Guía del usuario de Aurora
Consulta a Babelfish para encontrar detalles de Babelfish
-[ RECORD 1 ]
aurora_version | 13.4.0
postgresql_version | PostgreSQL 13.4 on aarch64-unknown-linux-gnu, compiled by
aarch64-unknown-linux-gnu-gcc (GCC) 7.4.0, 64-bit
babelfish_compatibility | Babelfish for Aurora Postgres with SQL Server Compatibility -
12.0.2000.8 +
| Oct 13 2021 17:34:47
+
| Copyright (c) Amazon Web Services
+
| PostgreSQL 13.4 on aarch64-unknown-linux-gnu
babelfish_version | 1.0.0
1426
Amazon Aurora Guía del usuario de Aurora
Diferencias entre Aurora PostgreSQL
con Babelfish y SQL Server
Aunque Babelfish no ofrece compatibilidad completa para T-SQL, puede utilizar los comandos SQL de
Aurora PostgreSQL para hacer muchas de las tareas que normalmente se gestionan mediante estos
comandos. Por ejemplo, supongamos que usa con frecuencia un comando T-SQL específico que no es
compatible con Babelfish. En este caso, puede conectarse al puerto de Aurora PostgreSQL y usar un
comando SQL de PostgreSQL en su lugar. Para obtener más información, consulte SQL Commands en la
documentación de PostgreSQL.
Aurora PostgreSQL ofrece la funcionalidad de sustituir muchas características de SQL Server utilizadas
habitualmente. A continuación, algunos ejemplos de la funcionalidad de SQL Server que se puede sustituir
por la funcionalidad de PostgreSQL disponible en Aurora PostgreSQL. En esta lista, se hace referencia a la
documentación de PostgreSQL.
• Si usa la copia masiva de SQL Server, puede usar la instrucción COPY (COPIAR) de PostgreSQL
disponible en Aurora PostgreSQL. COPY está optimizada para una carga de datos rápida.
• Si usa cláusulas GROUP BY de SQL Server no admitidas, puede usar los GROUPING SETS de
PostgreSQL.
• Si usa la compatibilidad JSON de SQL Server, puede usar las funciones y operadores JSON de
PostgreSQL.
• Si usa la compatibilidad XML de SQL Server, puede usar las funciones XML de PostgreSQL.
• Si usa la búsqueda de texto completo de SQL Server, puede usar la búsqueda de texto completo de
PostgreSQL.
• Si utiliza el tipo de datos GEOGRAPHY de SQL Server, puede utilizar PostGIS para proporcionar
compatibilidad con los datos geográficos y la manipulación de datos geográficos.
Para ayudar con la administración de clústeres en Aurora PostgreSQL, puede utilizar su escalabilidad,
alta disponibilidad con compatibilidad con la conmutación por error y replicación integrada. Para obtener
más información sobre estas capacidades, consulte Administración del rendimiento y el escalado para
clústeres de base de datos Aurora (p. 434), Alta disponibilidad para Amazon Aurora (p. 72) y Replicación
con Amazon Aurora (p. 74). También tiene acceso a otras herramientas y utilidades de AWS:
1427
Amazon Aurora Guía del usuario de Aurora
Diferencias entre Aurora PostgreSQL
con Babelfish y SQL Server
Temas
• Limitaciones de T-SQL y funcionalidad no admitida (p. 1428)
• Funcionalidades no compatibles con Babelfish (p. 1436)
Nombres de columna en blanco Las utilidades sqlcmd y psql gestionan columnas con nombres en
sin alias de columna blanco de manera diferente:
Intercalación, índice del tipo que Un índice de un tipo definido por el usuario que depende de
depende de la biblioteca de ICU la biblioteca de intercalación de ICU (la biblioteca utilizada
por Babelfish) no se invalida cuando se cambia la versión
de la biblioteca. Para obtener más información acerca de las
intercalaciones, consulte Compatibilidad con la intercalación de
Babelfish (p. 1456).
1428
Amazon Aurora Guía del usuario de Aurora
Diferencias entre Aurora PostgreSQL
con Babelfish y SQL Server
Restricciones creadas con Las restricciones se crean con columnas ASC (ascendentes).
columnas DESC (descendentes)
Bases de datos contenidas No se admiten las bases de datos contenidas con inicios de sesión
autenticados a nivel de base de datos en lugar de servidor.
CREATE, ALTER, DROP ALTER SERVER ROLE solo se admite para sysadmin. No se
SERVER ROLE admite el resto de sintaxis.
Intercalación que distingue entre La instrucción CREATE DATABASE no admite las intercalaciones
mayúsculas de minúsculas que distinguen mayúsculas de minúsculas.
CREATE DATABASE
Cláusulas CREATE SCHEMA... Puede utilizar el comando CREATE SCHEMA para crear un
admitidas esquema vacío. Utilice comandos adicionales para crear objetos de
esquema.
1429
Amazon Aurora Guía del usuario de Aurora
Diferencias entre Aurora PostgreSQL
con Babelfish y SQL Server
Objetos LOGIN Todas las opciones para objetos LOGIN excepto: PASSWORD,
DEFAULT_DATABASE, ENABLE, DISABLE
Referencias de objetos entre No se admiten objetos con nombres de tres partes. Para obtener
bases de datos más información, consulte: Uso de Babelfish con una base de datos
única o varias bases de datos (p. 1401).
Los valores de ID de base de Las bases de datos maestra y tempdb no serán los ID de base de
datos son diferentes en Babelfish datos 1 y 2.
Instrucciones DROP que Esta funcionalidad solo se admite para tablas, vistas, funciones y
eliminan varios objetos procedimientos.
1430
Amazon Aurora Guía del usuario de Aurora
Diferencias entre Aurora PostgreSQL
con Babelfish y SQL Server
CREATE... Cláusula EXECUTE EXECUTE AS OWNER o CALLER se admite para obtener permiso,
AS OWNER pero no para la resolución de nombres.
Restricciones de clave externa No se admiten las restricciones de clave externa que referencian el
que hacen referencia al nombre nombre de la base de datos.
de la base de datos
Llamadas a funciones que DEFAULT no es un valor de parámetro admitido para una llamada a
incluyen DEFAULT como valor una función.
de parámetro
Llamadas a las funciones que Las llamadas a las funciones que incluyan :: no se admiten.
incluyan ::
Funciones definidas Las funciones externas, incluidas las funciones SQL CLR, no son
externamente compatibles.
Función HASHBYTES Los únicos algoritmos admitidos son: MD5, SHA1 y SHA256
1431
Amazon Aurora Guía del usuario de Aurora
Diferencias entre Aurora PostgreSQL
con Babelfish y SQL Server
Identificadores, nombres de tabla No se admiten los nombres de tablas o columnas que contienen un
o columna que contienen los signo de @ ni corchetes.
caracteres de @ o ]]
Compatibilidad con columnas Se admiten las columnas IDENTITY para los tipos de datos
IDENTITY tinyint, smallint, int, bigint, numeric y decimal.
Índices con IGNORE_DUP_KEY La sintaxis que crea un índice que incluye IGNORE_DUP_KEY crea
un índice como si se omitiera esta propiedad.
Índices con más de 32 columnas Un índice no puede incluir más de 32 columnas. Las columnas de
índice incluidas se cuentan hacia el máximo en PostgreSQL, pero no
en SQL Server.
1432
Amazon Aurora Guía del usuario de Aurora
Diferencias entre Aurora PostgreSQL
con Babelfish y SQL Server
Procedimientos WITH No se admite WITH RECOMPILE (cuando se usa junto con las
RECOMPILE instrucciones DECLARE y EXECUTE).
Referencias de objetos remoto No se admiten objetos con nombres de cuatro partes. Para obtener
más información, consulte: Configuración de una base de datos de
Babelfish (p. 1451).
Roles de nivel de servidor No se admiten los roles de nivel de servidor (distintos de sysadmin).
distintos de sysadmin
Roles de nivel de base de datos No se admiten los roles de nivel de base de datos distintos de
distintos de db_owner db_owner.
Seguridad de nivel básico No se admite la seguridad de nivel de fila con CREATE SECURITY
POLICY y funciones de valor de tabla integradas.
1433
Amazon Aurora Guía del usuario de Aurora
Diferencias entre Aurora PostgreSQL
con Babelfish y SQL Server
SET LANGUAGE Esta sintaxis no se admite con ningún valor que no sea english o
us_english.
Compatibilidad con objetos Los objetos SEQUENCE se admiten en los tipos de datos tinyint,
SEQUENCE smallint, int, bigint, numéricos y decimales.
Palabras clave de SQL Babelfish acepta e ignora las palabras clave CLUSTERED y
CLUSTERED y NONCLUSTERED NONCLUSTERED.
para índices y restricciones
1434
Amazon Aurora Guía del usuario de Aurora
Diferencias entre Aurora PostgreSQL
con Babelfish y SQL Server
Sintaxis del constructor de La sintaxis no admitida corresponde a una tabla derivada construida
valores de tabla (cláusula FROM) con la cláusula FROM.
Precisión del tiempo Babelfish admite una precisión de 6 dígitos para los segundos
fraccionados. No se prevén efectos negativos con este
comportamiento.
Tipo de datos TIMESTAMP No se admite este tipo de datos. El tipo TIMESTAMP de SQL Server
no está relacionado con TIMESTAMP de PostgreSQL.
Valores de cadena sin comillas No se admiten los parámetros de cadena en las llamadas a
en llamadas a procedimientos procedimientos almacenados ni los valores predeterminados de los
almacenados y valores parámetros de cadena en CREATE PROCEDURE.
predeterminados
Columnas calculadas virtuales Las columnas calculadas virtuales se crean como persistentes.
(no persistentes)
Tipo de datos XML con esquema Se admite el tipo XML sin esquema.
(xmlschema)
1435
Amazon Aurora Guía del usuario de Aurora
Diferencias entre Aurora PostgreSQL
con Babelfish y SQL Server
• ADD SIGNATURE
• ALTER DATABASE, ALTER DATABASE SET
• CREATE, ALTER, DROP AUTHORIZATION
• CREATE, ALTER, DROP AVAILABILITY GROUP
• CREATE, ALTER, DROP BROKER PRIORITY
• CREATE, ALTER, DROP COLUMN ENCRYPTION KEY
• CREATE, ALTER, DROP DATABASE ENCRYPTION KEY
• CREATE, ALTER, DROP, BACKUP CERTIFICATE
• CREATE AGGREGATE
• CREATE CONTRACT
• GRANT
1436
Amazon Aurora Guía del usuario de Aurora
Diferencias entre Aurora PostgreSQL
con Babelfish y SQL Server
• Función CERTENCODED
• Función CERTID
• Función CERTPRIVATEKEY
• Función CERTPROPERTY
• COLUMNPROPERTY
• Función EVENTDATA
• GET_TRANSMISSION_STATUS
• Función LOGINPROPERTY
• OBJECTPROPERTY
• OBJECTPROPERTYEX
• OPENXML
• Función TYPEPROPERTY
Sintaxis no compatible
La siguiente sintaxis no es compatible:
• ALTER DATABASE
• ALTER DATABASE SCOPED CONFIGURATION
• ALTER DATABASE SCOPED CREDENTIAL
1437
Amazon Aurora Guía del usuario de Aurora
Diferencias entre Aurora PostgreSQL
con Babelfish y SQL Server
1438
Amazon Aurora Guía del usuario de Aurora
Diferencias entre Aurora PostgreSQL
con Babelfish y SQL Server
• ROWVERSION
• Tipo de datos ROWVERSION
• Tipo de datos TIMESTAMP. La fecha TIMESTAMP de SQL Server no está relacionada con la
TIMESTAMP de PostgreSQL.
1439
Amazon Aurora Guía del usuario de Aurora
Diferencias entre Aurora PostgreSQL
con Babelfish y SQL Server
• $IDENTITY
• $ROWGUID
• IDENTITYCOL
Configuraciones no admitidas
No se admiten las siguientes acciones:
• SET ANSI_NULL_DFLT_OFF ON
• SET ANSI_NULL_DFLT_ON OFF
• SET ANSI_PADDING OFF
• SET ANSI_WARNINGS OFF
• SET ARITHABORT OFF
• SET ARITHIGNORE ON
• SET CURSOR_CLOSE_ON_COMMIT ON
• SET NUMERIC_ROUNDABORT ON
1440
Amazon Aurora Guía del usuario de Aurora
Uso de las extensiones Aurora PostgreSQL con Babelfish
• Para importar datos desde un bucket de Simple Storage Service (Amazon S3) al clúster de base de
datos de Babelfish para Aurora PostgreSQL, debe configurar la extensión aws_s3 Aurora PostgreSQL.
Esta extensión también le permite exportar datos desde el clúster de la base de datos de Aurora
PostgreSQL a un bucket de Simple Storage Service (Amazon S3).
• AWS Lambda es un servicio informático que permite ejecutar código sin aprovisionar ni administrar
servidores. Puede usar funciones de Lambda para hacer cosas como procesar notificaciones de eventos
desde su instancia de base de datos. Para obtener más información sobre Lambda, consulte ¿Qué es
AWS Lambda? en la Guía para desarrolladores de AWS Lambda. Para invocar funciones de Lambda
desde el clúster de Babelfish para Aurora PostgreSQL, debe configurar la extensión aws_lambda
Aurora PostgreSQL.
A fin de configurar estas extensiones para el clúster de Babelfish, primero debe conceder permiso al
usuario interno de Babelfish para cargar las extensiones. Después de conceder el permiso, puede cargar
las extensiones Aurora PostgreSQL.
El siguiente procedimiento usa la herramienta de la línea de comandos psql PostgreSQL para conectarse
al clúster de la base de datos. Para obtener más información, consulte Conexión al clúster de base de
datos mediante psql (p. 1420). También puede usar pgAdmin. Para obtener más información, consulte Uso
de pgAdmin para conectarse al clúster de base de datos (p. 1420).
Este procedimiento carga tanto aws_s3 como aws_lambda, uno tras otro. No es necesario que cargue
ambas si desea usar solo una de estas extensiones. La extensión aws_commons es requerida por cada
una de ellas y se carga de forma predeterminada como se muestra en la salida.
Para configurar el clúster de la base de datos de Babelfish con privilegios para las extensiones de
Aurora PostgreSQL
1. Conéctese al clúster de la base de datos de Babelfish para Aurora PostgreSQL. Use el nombre para
el usuario “maestro” (-U) que especificó cuando creó el clúster de base de datos de Babelfish. El valor
predeterminado (postgres) se muestra en los ejemplos.
psql -h your-Babelfish.cluster.444455556666-us-east-1.rds.amazonaws.com \
-U postgres \
-d babelfish_db \
-p 5432
Para Windows:
psql -h your-Babelfish.cluster.444455556666-us-east-1.rds.amazonaws.com ^
1441
Amazon Aurora Guía del usuario de Aurora
Uso de las extensiones Aurora PostgreSQL con Babelfish
-U postgres ^
-d babelfish_db ^
-p 5432
El comando responde con una solicitud para ingresar la contraseña del nombre de usuario (-U).
Password:
Ingrese la contraseña del nombre de usuario (-U) para el clúster de base de datos. Cuando se conecte
correctamente, verá una respuesta similar a la siguiente.
psql (13.4)
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256,
compression: off)
Type "help" for help.
postgres=>
Antes de intentar importar o exportar datos con un bucket de Simple Storage Service (Amazon S3),
complete los siguientes pasos de una sola vez.
1. Cree un bucket de Simple Storage Service (Amazon S3) para la instancia de Babelfish, si es
necesario. Para ello, siga las instrucciones de Crear un bucket en la Guía del usuario de Amazon
Simple Storage Service.
2. Cargue los archivos en el bucket de Simple Storage Service (Amazon S3). Para ello, siga los pasos de
Add an object to a bucket (Agregar un objeto a un bucket) en la Guía del usuario de Amazon Simple
Storage Service.
3. Configure los permisos necesarios:
1442
Amazon Aurora Guía del usuario de Aurora
Uso de las extensiones Aurora PostgreSQL con Babelfish
• Para importar datos de Simple Storage Service (Amazon S3), el clúster de base de datos de
Babelfish for Aurora PostgreSQL necesita permiso para acceder al bucket. Se recomienda usar un
rol de AWS Identity and Access Management (IAM) y adjuntar una política de IAM a ese rol para el
clúster. Para ello, siga los pasos que se indican en Uso de un rol de IAM para obtener acceso a un
bucket de Amazon S3 (p. 1550).
• Para exportar datos del clúster de base de datos de Babelfish for Aurora PostgreSQL, el clúster
debe tener acceso al bucket de Simple Storage Service (Amazon S3). Al igual que con la
importación, se recomienda usar un rol y una política de IAM. Para ello, siga los pasos que se
indican en Configuración del acceso a un bucket de Amazon S3 (p. 1564).
Ahora puede usar Simple Storage Service (Amazon S3) con la extensión aws_s3 con el clúster de base de
datos de Babelfish for Aurora PostgreSQL.
Para importar datos de Simple Storage Service (Amazon S3) a Babelfish y para exportar datos de
Babelfish a Amazon S3
Cuando lo haga, asegúrese de hacer referencia a las tablas, tal y como existen en el contexto de
PostgreSQL. Es decir, si quiere importar a una tabla de Babelfish llamada [database].[schema].
[tableA], haga referencia a esa tabla como database_schema_tableA en la función aws_s3:
• Para ver un ejemplo del uso de una función aws_s3 para importar datos, consulte Uso de la función
aws_s3.table_import_from_s3 para importar datos de Amazon S3 (p. 1555).
• Para ver ejemplos del uso de las funciones de aws_s3 para exportar datos, consulte Exportación de
datos de consulta mediante la función aws_s3.query_export_to_s3 (p. 1567).
2. Asegúrese de hacer referencia a las tablas de Babelfish mediante la nomenclatura de PostgreSQL
cuando utilice la extensión aws_s3 y Simple Storage Service (Amazon S3), como se muestra en la
siguiente tabla.
database.schema.table database_schema_table
Para obtener más información sobre el uso de Simple Storage Service (Amazon S3) con Aurora
PostgreSQL, consulte Importación de datos de Amazon S3 en un clúster de base de datos Aurora
PostgreSQL (p. 1548) y Exportación de datos de una Aurora PostgreSQL de base de datos de clústerde
Amazon S3 (p. 1561).
Para configurar el acceso al clúster de la base de datos de Babelfish para trabajar con Lambda
Este procedimiento usa la AWS CLI para crear el rol y la política de IAM, así como para asociarlos al
clúster de base de datos de Babelfish.
1. Cree una política de IAM que permita el acceso a Lambda desde el clúster de base de datos de
Babelfish.
1443
Amazon Aurora Guía del usuario de Aurora
Uso de las extensiones Aurora PostgreSQL con Babelfish
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAccessToExampleFunction",
"Effect": "Allow",
"Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:aws-region:444455556666:function:my-function"
}
]
}'
Después de completar estas tareas, puede invocar las funciones de Lambda. Para obtener más
información y ejemplos de configuración de AWS Lambda para el clúster de bases de datos de Aurora
PostgreSQL con AWS Lambda, consulte Paso 2: configure IAM para su clúster de base de datos de Aurora
PostgreSQL y AWS Lambda. (p. 1634).
Para invocar una función Lambda desde el clúster de base de datos de Babelfish
AWS Lambda admite funciones escritas en Java, Node.js, Python, Ruby y otros lenguajes. Si la función
devuelve texto cuando se invoca, puede invocarla desde el clúster de base de datos de Babelfish. El
siguiente ejemplo es una función Python de marcador de posición que muestra un saludo.
lambda_function.py
import json
def lambda_handler(event, context):
#TODO implement
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
1444
Amazon Aurora Guía del usuario de Aurora
Uso de las extensiones Aurora PostgreSQL con Babelfish
Actualmente, Babelfish for Aurora PostgreSQL no es compatible con JSON. Si la función devuelve JSON,
debe usar una capa para gestionar el resultado JSON. Por ejemplo, digamos que lamdba_function.py,
como hemos mostrado anteriormente, se almacena en Lambda como my-function.
1. Conéctese al clúster de base de datos de Babelfish con el cliente psql (o el cliente pgAdmin). Para
obtener más información, consulte Conexión al clúster de base de datos mediante psql (p. 1420).
2. Cree la capa. En este ejemplo se usa el lenguaje procedimental de PostgreSQL para SQL, PL/pgSQL.
Para más información, consulte PL/pgSQL–SQL Procedural Language (Lenguaje procedimental PL/
pgSQL-SQL).
La función ahora se puede ejecutar desde el puerto TDS de Babelfish (1433) o desde el puerto de
PostgreSQL (5433).
status_code | payload |
executed_version | log_result
-------------+-------------------------------------------------------
+------------------+------------
200 | {"statusCode": 200, "body": "\"Hello from Lambda!\""} | $LATEST
|
(1 row)
b. Para invocar (llamar) esta función desde el puerto TDS, conéctese al puerto con el cliente de
línea de comandos sqlcmd de SQL Server. Para obtener más información, consulte Uso de un
cliente de SQL Server para conectarse al clúster de su base de datos (p. 1417). Cuando se haya
conectado, ejecute lo siguiente:
1445
Amazon Aurora Guía del usuario de Aurora
Uso de las extensiones Aurora PostgreSQL con Babelfish
Para obtener más información sobre el uso de Lambda con Aurora PostgreSQL, consulte Invocar una
función de AWS Lambda desde un clúster de base de datos de Aurora PostgreSQL (p. 1633). Para
obtener más información acerca de cómo trabajar con las funciones de Lambda, consulte Introducción a
Lambda en la Guía para desarrolladores de AWS Lambda.
1446
Amazon Aurora Guía del usuario de Aurora
Administración del manejo de errores de Babelfish
Si un código de error no se puede asignar a un código equivalente y el código de un error similar está
disponible, el código de error se asigna al código alternativo. Por ejemplo, los comportamientos que
provocan los códigos 8143 y 8144 de SQL Server se asignan a 8143.
Los errores que no se pueden asignar no respetan una construcción de TRY... CATCH.
Puede usar @@ERROR para devolver un código de error de SQL Server o la función @@PGERROR
para devolver un código de error de PostgreSQL. También puede utilizar la función
fn_mapped_system_error_list para devolver una lista de códigos de error asignados. Para obtener
información sobre los códigos de error de PostgreSQL, consulte el sitio web de PostgreSQL.
Incluya la palabra clave server para aplicar los cambios a la sesión actual y a nivel de clúster.
• Para enumerar todas las escotillas de escape y su estado, además de la información de uso, ejecute
sp_babelfish_configure.
• Para enumerar las escotillas de escape con nombre y sus valores, en la sesión actual o en todo el
clúster, ejecute el comando sp_babelfish_configure 'hatch_name' en el que hatch_name es
el identificador de una o más escotillas de escape. hatch_namepuede utilizar comodines de SQL, como
'%'.
• Para establecer uno o más escotillas de escape en el valor especificado, ejecute
sp_babelfish_configure ['hatch_name' [, 'strict'|'ignore' [, 'server']]. Para
que la configuración sea permanente a nivel de todo el clúster, incluya la palabra clave server. Para
configurarlos solo para la sesión actual, no utilice server.
La cadena que identifica la escotilla (o escotillas) podría contener comodines de SQL. Por ejemplo, a
continuación, se establecen todas las escotillas de escape de sintaxis en ignore para el clúster de Aurora
PostgreSQL.
1447
Amazon Aurora Guía del usuario de Aurora
Administración del manejo de errores de Babelfish
Controla el comportamiento de
escape_hatch_storage_on_partition strict
Babelfish relacionado con la cláusula ON
partition_scheme column cuando se define
la partición. Babelfish actualmente no implementa
particiones.
1448
Amazon Aurora Guía del usuario de Aurora
Administración del manejo de errores de Babelfish
1449
Amazon Aurora Guía del usuario de Aurora
Administración del manejo de errores de Babelfish
1450
Amazon Aurora Guía del usuario de Aurora
Configuración de una base de datos de Babelfish
babelfishpg_tds.default_server_name
Cadena Microsoft null El nombre predeterminado Sí
SQL del servidor de Babelfish.
Server
babelfishpg_tds.tds_default_protocol_version
Entero 0 TDSv7.0, Establece una versión Sí
TDSv7.1, de protocolo de TDS
TDSv7.1.1, predeterminada para
TDSv7.2, conectar clientes.
TDSv7.3A,
TDSv7.3B,
TDSv7.4,
DEFAULT
babelfishpg_tds.tds_ssl_encrypt
Booleano 0 0/1 Activa el cifrado (0) o Sí
desactiva (1) para los
datos que recorren el
puerto del agente de
escucha de TDS. Para
obtener información
detallada sobre el uso de
SSL para las conexiones
de clientes, consulte
Cómo interpreta Babelfish
1451
Amazon Aurora Guía del usuario de Aurora
Configuración de una base de datos de Babelfish
babelfishpg_tds.tds_ssl_max_protocol_version
Cadena 'TLSv1.2' 'TLSv1, TLSv1.1, Establece la versión Sí
TLSv1.2' mínima del protocolo SSL/
TLS que se utilizará en la
sesión de TDS.
babelfishpg_tds.tds_ssl_min_protocol_version
Cadena 'TLSv1' 'TLSv1, TLSv1.1, Establece la versión Sí
TLSv1.2' mínima del protocolo SSL/
TLS que se utilizará en la
sesión de TDS.
babelfishpg_tds.tds_default_packet_size
Entero 4096 512-32767 Establece el tamaño de Sí
paquete predeterminado
para conectar clientes de
SQL Server.
babelfishpg_tds.tds_default_numeric_scale
Entero 8 0-38 Establece la escala Sí
predeterminada de tipo
numérico que se va a
enviar en los metadatos de
la columna TDS si el motor
no lo especifica.
babelfishpg_tds.tds_default_numeric_precision
Entero 38 1-38 Establece la precisión Sí
predeterminada del tipo
numérico que se va a
enviar en los metadatos de
la columna TDS si el motor
no lo especifica.
1452
Amazon Aurora Guía del usuario de Aurora
Configuración de una base de datos de Babelfish
babelfishpg_tsql.default_locale
Cadena en_US Permitida Configuración regional Sí
predeterminada utilizada
para las intercalaciones de
Babelfish. La configuración
regional predeterminada
es solo la configuración
regional y no incluye
ningún calificador.
babelfishpg_tsql.migration_mode
Lista single- single-db, multi- Define si se admiten No
db db, null varias bases de datos de
usuarios.
babelfishpg_tsql.server_collation_name
Cadena bbf_unicode_general_ci_as
Compatibilidad Nombre de la intercalación Sí
con la utilizada para acciones
intercalación de de nivel de servidor.
Babelfish (p. 1456) Establézcalo una
vez al momento del
aprovisionamiento.
babelfishpg_tds.listen_addresses
Cadena * null Establece el nombre de No
host o las direcciones IP
en las que se escuchará el
TDS.
babelfishpg_tds.enable_tds_debug_log_level
Entero '1' '0, 1, 2, 3' Establece el nivel de Sí
registro de TDS; 0
desactiva el registro.
1453
Amazon Aurora Guía del usuario de Aurora
Configuración de una base de datos de Babelfish
babelfishpg_tds.unix_socket_directories
Cadena /tmp NULL Directorios de socket Unix No
del servidor de TDS.
babelfishpg_tds.unix_socket_group
Cadena rdsdb NULL Grupo de sockets Unix del No
servidor de TDS.
1454
Amazon Aurora Guía del usuario de Aurora
Configuración de una base de datos de Babelfish
Configuración de SSL del Configuración de SSL de ¿Se permite Valor devuelto al cliente
cliente Babelfish la conexión?
1455
Amazon Aurora Guía del usuario de Aurora
Compatibilidad con la intercalación de Babelfish
Algunas intercalaciones especifican una página de códigos que corresponde a una codificación del lado
del cliente. Babelfish traduce automáticamente de la codificación del servidor a la codificación del cliente
en función de la intercalación de cada columna de salida.
Babelfish utiliza la versión 153.80 de la biblioteca de intercalación de ICU. Para obtener información
detallada sobre el comportamiento de intercalación de PostgreSQL, consulte la documentación de
PostgreSQL.
• Una intercalación determinista considera dos caracteres iguales si tienen exactamente la misma
secuencia de bytes. Una intercalación determinista evalúa x y X como distintos. Las intercalaciones
deterministas distinguen mayúsculas de minúsculas (CS) y acentos (AS).
• Una intercalación no determinista no requiere una coincidencia idéntica. Una intercalación no
determinista evalúa x y X como iguales. Las intercalaciones no deterministas no distinguen mayúsculas
de minúsculas (IC) y no distinguen acentos (IA).
Babelfish y SQL Server siguen una convención de nomenclatura para las intercalaciones que describen los
atributos de intercalación, como se muestra en la tabla siguiente.
Atributo Descripción
IA No distingue acentos.
AS Distingue acentos.
BIN2 BIN2 solicita que los datos se clasifiquen en orden de puntos de código. El
orden de puntos de código Unicode es el mismo orden de caracteres para las
codificaciones UTF-8, UTF-16 y UCS-2. El orden de los puntos de código es una
intercalación determinista rápida.
PREF Para ordenar las letras mayúsculas antes que las minúsculas, utilice una
intercalación de PREF. Si la comparación no distingue mayúsculas de minúsculas,
la versión en mayúscula de una letra se ordena antes que la versión en minúscula,
si no hay otra distinción. La biblioteca de ICU admite preferencias en mayúsculas
con colCaseFirst=upper, pero no para las intercalaciones CI_AS.
PostgreSQL no admite la cláusula LIKE en las intercalaciones no deterministas, pero Babelfish la admite
para las intercalaciones CI_AS. Babelfish no admite la cláusula LIKE en las intercalaciones de IA.
Tampoco se admiten las operaciones coincidentes de patrones en intercalaciones no deterministas.
1456
Amazon Aurora Guía del usuario de Aurora
Compatibilidad con la intercalación de Babelfish
Parámetro Descripción
ID de intercalación Notas
1457
Amazon Aurora Guía del usuario de Aurora
Compatibilidad con la intercalación de Babelfish
ID de intercalación Notas
1458
Amazon Aurora Guía del usuario de Aurora
Compatibilidad con la intercalación de Babelfish
Korean_WamsungKorean_Wamsung_CS_AS Korean_Wamsung_CI_AS,
Korean_Wamsung_CI_AI
Traditional_Spanish
Traditional_Spanish_CS_AS Traditional_Spanish_CI_AS,
Traditional_Spanish_CI_AI
Administración de intercalaciones
La biblioteca de ICU proporciona seguimiento de versiones de intercalación para garantizar que los índices
que dependen de las intercalaciones se puedan volver a indexar cuando esté disponible una nueva versión
de ICU. Puede utilizar la siguiente consulta para identificar todas las intercalaciones de la base de datos
actual que deben actualizarse y los objetos que dependen de ellas.
1459
Amazon Aurora Guía del usuario de Aurora
Compatibilidad con la intercalación de Babelfish
Las intercalaciones de SQL Server ordenan los datos codificados en Unicode (nchar y nvarchar) de
una manera, pero los datos que no están codificados en Unicode (char y varchar) de una manera
diferente. Las bases de datos de Babelfish siempre están codificadas en UTF-8 y siempre aplican reglas
de orden Unicode de manera coherente, independientemente del tipo de datos. Por lo tanto, el orden es
el mismo para char o varchar, como lo es para nchar o nvarchar.
• Intercalaciones secundarias de igualdad
La intercalación secundaria de igualdad Unicode de ICU predeterminada (CI_AS) ordena los signos de
puntuación y otros caracteres no alfanuméricos antes que los caracteres numéricos y los caracteres
numéricos antes que los caracteres alfabéticos. Sin embargo, el orden de puntuación y otros caracteres
especiales son diferentes.
• Intercalaciones terciarias
Puede obtener un resultado similar con Babelfish mediante la adición de una cláusula COLLATE
a la cláusula ORDER BY que especifica una intercalación terciaria CS_AS que especifica
@colCaseFirst=upper. Sin embargo, el modificador colCaseFirst se aplica solo a cadenas
terciarias iguales (en lugar de secundarias iguales, como una intercalación CI_AS). Por lo tanto, no se
pueden emular las intercalaciones de SQL terciarias mediante una única intercalación de ICU.
Como solución alternativa, le recomendamos que modifique las aplicaciones que utilizan
la intercalación SQL_Latin1_General_Pref_CP1_CI_AS para utilizar la intercalación
BBF_SQL_Latin1_General_CP1_CI_AS en primer lugar. A continuación, agregue COLLATE
BBF_SQL_Latin1_General_Pref_CP1_CS_AS a cualquier cláusula ORDER BY de esta columna.
• PostgreSQL se creó con una versión específica de ICU y puede coincidir como máximo con una versión
de una intercalación. Las variaciones entre versiones son inevitables, al igual que las variaciones
menores en el tiempo a medida que evolucionan los lenguajes.
• Expansión de caracteres
Una expansión de caracteres trata a un solo carácter igual que a una secuencia de caracteres del nivel
principal. La intercalación CI_AS predeterminada de SQL Server admite la expansión de caracteres. Las
intercalaciones de ICU admiten la expansión de caracteres solo para intercalaciones que no distinguen
acentos.
Cuando sea necesaria la expansión de caracteres, utilice una intercalación AI para obtener
comparaciones. Sin embargo, el operador LIKE no admite actualmente estas intercalaciones.
• codificación char y varchar
Cuando se utilizan intercalaciones que comienzan por SQL para los tipos de datos char o varchar,
el orden de clasificación de los caracteres anteriores a ASCII 127 viene determinado por la página
de códigos específica para esa intercalación de SQL. Para las intercalaciones de SQL, las cadenas
1460
Amazon Aurora Guía del usuario de Aurora
Compatibilidad con la intercalación de Babelfish
declaradas como char o varchar pueden ordenarse de forma diferente a las cadenas declaradas como
nchar o nvarchar.
PostgreSQL codifica todas las cadenas con la codificación de la base de datos, de modo que convierte
todos los caracteres a UTF-8 y los ordena mediante reglas Unicode.
Dado que las intercalaciones de SQL ordenan los tipos de datos nchar y nvarchar mediante reglas
Unicode, Babelfish codifica todas las cadenas del servidor mediante UTF-8. Babelfish ordena las
cadenas nchar y nvarchar de la misma manera que ordena las cadenas char y varchar mediante las
reglas Unicode.
• Carácter complementario
Las funciones NCHAR, UNICODE y LEN de SQL Server admiten caracteres para puntos de código fuera
del Plano Básico Multilingüe (BMP) de Unicode. Por el contrario, las intercalaciones que no son SC
utilizan caracteres pares sustitutos para gestionar caracteres complementarios. Para los tipos de datos
Unicode, SQL Server puede representar hasta 65 535 caracteres mediante UCS-2 o el rango Unicode
completo (1,114,114 caracteres) si se utilizan caracteres complementarios.
• Distinción de los tipos de kana
Cuando los caracteres kana japoneses Hiragana y Katakana se tratan de forma diferente, la
intercalación se denomina distinción de los tipos de kana (KS). ICU admite el estándar de intercalación
japonés JIS X 4061. El ahora obsoleto modificador colhiraganaQ [on | off] de configuración
regional podría proporcionar la misma funcionalidad que las intercalaciones de KS. Sin embargo,
Babelfish no admite actualmente las intercalaciones de KS del mismo nombre que SQL Server.
• Distinción de ancho
Cuando un carácter de un byte (ancho medio) y el mismo carácter representado como un carácter de
doble byte (ancho completo) se tratan de forma diferente, la intercalación se denomina de distinción
de ancho (WS). Sin embargo, Babelfish no admite actualmente las intercalaciones de WS del mismo
nombre que SQL Server.
• Distinción del selector de variaciones
Las intercalaciones de distinción del selector de variaciones (VSS) distinguen entre los selectores
de variaciones ideográfica en las intercalaciones en japonés Japanese_Bushu_Kakusu_140 y
Japanese_XJIS_140. Una secuencia de variaciones se compone de un carácter base más un selector
de variaciones adicional. Si no selecciona la opción _VSS, el selector de variaciones no se tiene en
cuenta en la comparación.
Una intercalación BIN2 ordena los caracteres según el orden de los puntos de código. El orden binario
byte a byte de UTF-8 conserva el orden de puntos de código Unicode, por lo que también es probable
que esta sea la intercalación de mejor rendimiento. Si el orden de puntos de código Unicode funciona
para una aplicación, considere utilizar una intercalación BIN2. Sin embargo, el uso de una intercalación
BIN2 puede provocar que los datos se muestren en el cliente en un orden inesperado culturalmente. Las
nuevas asignaciones a caracteres en minúscula se agregan a Unicode a medida que avanza el tiempo,
por lo que la función LOWER puede funcionar de manera diferente en distintas versiones de ICU. Este es
un caso especial del problema de control de versiones de intercalación más general, en lugar de como
algo específico de la intercalación BIN2.
1461
Amazon Aurora Guía del usuario de Aurora
Compatibilidad con la intercalación de Babelfish
1462
Amazon Aurora Guía del usuario de Aurora
Solución de problemas de Babelfish
Temas
• Error de conexión (p. 1463)
• El uso de pg_dump y pg_restore requiere una configuración adicional (p. 1463)
Error de conexión
Entre las causas frecuentes de errores de conexión a un nuevo clúster de base de datos de Aurora con
Babelfish se incluyen las siguientes:
• El grupo de seguridad no permite el acceso: si tiene problemas para conectarse a una instancia
de Babelfish, asegúrese de haber agregado su dirección IP al grupo de seguridad predeterminado
de Amazon EC2. Puede usar https://checkip.amazonaws.com/ para determinar su dirección IP y, a
continuación, agregarla a la regla de entrada para el puerto de TDS y el puerto de PostgreSQL. Para
obtener más información, consulte Agregar reglas a un grupo de seguridad en la Guía del usuario de
Amazon EC2.
Para obtener más información acerca de cómo solucionar problemas de conexión de Aurora, consulte No
puede conectarse a la instancia de base de datos de Amazon RDS (p. 1955).
Para solucionar este problema, primero debe crear la misma base de datos lógica en el clúster de destino
que en el de origen. Después, puede crear los roles necesarios para ejecutar pg_dump y pg_restore.
Si desea utilizar pg_dump y pg_restore para mover una base de datos entre clústeres de base
de datos Babelfish
1. Use psql o pgAdmin para conectarse al clúster de base de datos Babelfish for Aurora PostgreSQL
de destino. El siguiente ejemplo usa psql. Para obtener más información, consulte Conexión al
clúster de base de datos mediante psql (p. 1420).
2. Cree la misma base de datos lógica en el destino que está en el origen.
1463
Amazon Aurora Guía del usuario de Aurora
Solución de problemas de Babelfish
ALTER ROLE dbo WITH NOSUPERUSER INHERIT NOCREATEROLE NOCREATEDB NOLOGIN NOREPLICATION
NOBYPASSRLS;
GRANT db_owner TO dbo GRANTED BY sysadmin;
GRANT dbo TO sysadmin GRANTED BY sysadmin;
4. Use pg_restore para restaurar la instancia de base de datos desde el origen al destino.
Para más información sobre el uso de estas utilidades de PostgreSQL, consulte pg_dump y pg_restore.
1464
Amazon Aurora Guía del usuario de Aurora
Desactivación de Babelfish
Desactivación de Babelfish
Cuando ya no necesite Babelfish, puede desactivar la funcionalidad de Babelfish.
• En algunos casos, puede desactivar Babelfish antes de finalizar una migración a Aurora PostgreSQL.
Si lo hace y su DDL depende de los tipos de datos de SQL Server o utiliza cualquier funcionalidad de T-
SQL en el código, se producirá un error en el código.
• Si tras aprovisionar una instancia de Babelfish desactiva la extensión de Babelfish, no podrá aprovisionar
la misma base de datos de nuevo en el mismo clúster.
Si desactiva Babelfish en el grupo de parámetros, todos los clústeres que utilizan ese grupo de parámetros
pierden la funcionalidad de Babelfish.
Para obtener más información sobre cómo modificar los grupos de parámetros, consulte Trabajo con los
grupos de parámetros de base de datos y grupos de parámetros de clúster de base de datos (p. 369).
1465
Amazon Aurora Guía del usuario de Aurora
Administración de Aurora PostgreSQL
Temas
• Escalado de las instancias de base de datos Aurora PostgreSQL (p. 1466)
• Número máximo de conexiones a una instancia de base de datos Aurora PostgreSQL (p. 1466)
• Límites de almacenamiento temporal de Aurora PostgreSQL (p. 1468)
• Pruebas de Amazon Aurora PostgreSQL mediante consultas de inserción de errores (p. 1470)
• Visualización del estado del volumen para un clúster de base de datos de Aurora
PostgreSQL (p. 1473)
• Especificación del disco RAM para stats_temp_directory (p. 1474)
• Programación de mantenimiento con la extensión pg_cron de PostgreSQL (p. 1476)
Para escalar el clúster de base de datos de Aurora PostgreSQL, modifique la clase de instancia de base de
datos para cada instancia de base de datos del clúster de base de datos. Aurora PostgreSQL admite varias
clases de instancia de base de datos optimizadas para Aurora. No utilice las clases de instancia db.t2 o
db.t3 con clústeres de Aurora que tengan más de 40 terabytes (TB).
El escalado no es inmediato. Puede llevar 15 minutos o más completar el cambio a una clase de instancia
de base de datos diferente. Le recomendamos que elija aplicar cualquier modificación a la clase de
instancia de base de datos durante el siguiente periodo de mantenimiento programado para evitar afectar a
los usuarios.
Para ver especificaciones detalladas de las clases de instancia de base de datos admitidas en Aurora
PostgreSQL, consulte Motores de base de datos compatibles para clases de instancia de base de
datos (p. 57).
Tenga en cuenta los siguientes factores antes de intentar cambiar la configuración del parámetro
max_connections.
1466
Amazon Aurora Guía del usuario de Aurora
Número máximo de conexiones
La configuración ideal para el parámetro max_connections es una que admita todas las conexiones de
clientes que su aplicación necesita, sin un exceso de conexiones no usadas, más al menos 3 conexiones
más para soportar la automatización de AWS.
LEAST({DBInstanceClassMemory/9531392},5000)
Aunque no puede cambiar los valores de los grupos de parámetros predeterminados, puede crear su
propio grupo de parámetros de clúster de base de datos personalizado y modificar el clúster de base
de datos de Aurora PostgreSQL para usarlo. Si hace esto, asegúrese de reiniciar el clúster de base de
datos después de aplicar su grupo de parámetros personalizado. Para obtener más información, consulte
Parámetros de Amazon Aurora PostgreSQL. (p. 1665) y Creación de un grupo de parámetros de clúster
de base de datos (p. 374). Para obtener más información sobre el clúster de base de datos de Aurora y los
grupos de parámetros de base de datos, consulte Trabajo con los grupos de parámetros de base de datos
y grupos de parámetros de clúster de base de datos (p. 369).
A continuación, puede encontrar una tabla que enumera el valor más alto que se debe usar para
max_connections en cada clase de instancia de base de datos que se puede usar con Aurora
PostgreSQL.
db.x2g.16xlarge 5000
db.x2g.12xlarge 5000
db.x2g.8xlarge 5000
db.x2g.4xlarge 5000
db.x2g.2xlarge 5000
db.x2g.xlarge 5000
db.x2g.large 3479
db.r6g.16xlarge 5000
db.r6g.12xlarge 5000
db.r6g.8xlarge 5000
db.r6g.4xlarge 5000
db.r6g.2xlarge 5000
db.r6g.xlarge 3479
db.r6g.large 1722
db.r5.24xlarge 5000
db.r5.16xlarge 5000
db.r5.12xlarge 5000
db.r5.8xlarge 5000
1467
Amazon Aurora Guía del usuario de Aurora
Límites de almacenamiento temporal
db.r5.4xlarge 5000
db.r5.2xlarge 5000
db.r5.xlarge 3300
db.r5.large 1600
db.r4.16xlarge 5000
db.r4.8xlarge 5000
db.r4.4xlarge 5000
db.r4.2xlarge 5000
db.r4.xlarge 3200
db.r4.large 1600
db.t4g.large 844
db.t4g.medium 405
db.t3.large 844
db.t3.medium 420
Si la aplicación necesita más conexiones que el número indicado para su clase de instancia de base de
datos, considere las siguientes alternativas.
• Elija una clase de instancia de base de datos que tenga más memoria. Si los requisitos de conexión
son demasiado altos para la clase de instancia de base de datos que admite el clúster de base de datos
de Aurora PostgreSQL, puede sobrecargar potencialmente la base de datos y disminuir el rendimiento.
Para ver la lista de clases de instancia de base de datos para Aurora PostgreSQL, consulte Motores de
base de datos compatibles para clases de instancia de base de datos (p. 57). Para conocer la cantidad
de memoria de cada clase de instancia de base de datos, consulte Especificaciones de hardware para
clases de instancia de base de datos para Aurora (p. 65).
• Agrupe las conexiones mediante el uso de RDS Proxy con el clúster de base de datos de Aurora
PostgreSQL. Para obtener más información, consulte Uso de Amazon RDS Proxy (p. 314).
En la siguiente tabla se muestra la cantidad máxima de almacenamiento temporal disponible para cada
clase de instancia de base de datos de Aurora PostgreSQL.
1468
Amazon Aurora Guía del usuario de Aurora
Límites de almacenamiento temporal
db.r6g.16xlarge 1008
db.r6g.12xlarge 756
db.r6g.8xlarge 504
db.r6g.4xlarge 252
db.r6g.2xlarge 126
db.r6g.xlarge 63
db.r6g.large 32
db.r5.24xlarge 1500
db.r5.16xlarge 1008
db.r5.12xlarge 748
db.r5.8xlarge 504
db.r5.4xlarge 249
db.r5.2xlarge 124
db.r5.xlarge 62
db.r5.large 31
db.r4.16xlarge 960
db.r4.8xlarge 480
db.r4.4xlarge 240
db.r4.2xlarge 120
db.r4.xlarge 60
db.r4.large 30
db.t4g.large 16.5
db.t4g.medium 8.13
db.t3.large 16
db.t3.medium 7.5
Puede monitorizar el almacenamiento temporal disponible para una instancia de base de datos con la
métrica de CloudWatch FreeLocalStorage, descrita en Métricas de Amazon Aurora (p. 618).
Para algunas cargas de trabajo, puede reducir la cantidad de almacenamiento temporal asignando más
memoria a los procesos que están realizando la operación. Para aumentar la memoria disponible de
una operación, se aumentan los valores de los parámetros work_mem o maintenance_work_mem de
PostgreSQL.
1469
Amazon Aurora Guía del usuario de Aurora
Pruebas de Amazon Aurora PostgreSQL
mediante consultas de inserción de errores
Temas
• Prueba de un bloqueo de instancia (p. 1470)
• Prueba de un error de una réplica de Aurora (p. 1471)
• Prueba de un error de disco (p. 1472)
• Prueba de congestión del disco (p. 1472)
Cuando una consulta de inserción de errores especifica un bloqueo, fuerza un bloqueo de la instancia de
base de datos de Aurora PostgreSQL. Las otras consultas de inserción de errores producen simulaciones
de eventos de error, pero no hacen que el evento ocurra. Cuando se envía una consulta de inserción de
errores, se especifica también la cantidad de tiempo que debe durar la simulación del evento de error.
Puede enviar una consulta de inserción de errores a una de las instancias de réplica de Aurora
conectándose al punto de enlace de la réplica de Aurora. Para obtener más información, consulte
Administración de conexiones de Amazon Aurora (p. 34).
Note
Las consultas de inyección de errores para Aurora PostgreSQL se admiten actualmente para las
siguientes versiones:
En esta consulta de inserción de errores no se produce una conmutación por error. Si desea probar una
conmutación por error, puede elegir la acción de instancia de conmutación por error para el clúster de base
de datos en la consola de RDS, o utilizar el comando failover-db-cluster de la AWS CLI o la operación de la
API de RDS FailoverDBCluster.
Sintaxis
Opciones
La consulta de inserción de errores toma uno de los siguientes tipos de bloqueos. El tipo de bloqueo no
distingue entre mayúsculas y minúsculas:
'instance'
Se simula un bloqueo de la base de datos compatible con PostgreSQL para la instancia de Amazon
Aurora.
1470
Amazon Aurora Guía del usuario de Aurora
Pruebas de Amazon Aurora PostgreSQL
mediante consultas de inserción de errores
“despachador”
Se simula un bloqueo del distribuidor de la instancia principal del clúster de base de datos de Aurora.
El distribuidor escribe actualizaciones en el volumen de clúster de un clúster de base de datos
Amazon Aurora.
'node'
Se simula un bloqueo de la base de datos compatible con PostgreSQL y del distribuidor para la
instancia de Amazon Aurora.
Un error de réplica de Aurora bloquea la reproducción en la réplica de Aurora o en todas las réplicas
de Aurora del clúster de base de datos en el porcentaje especificado para el intervalo de tiempo
especificado. Cuando se complete el intervalo de tiempo, las réplicas de Aurora afectadas se sincronizan
automáticamente con la instancia principal.
Sintaxis
SELECT aurora_inject_replica_failure(
percentage_of_failure,
time_interval,
'replica_name'
);
Opciones
percentage_of_failure
El porcentaje de reproducción que se debe bloquear durante el evento de error. Puede ser un valor
doble entre 0 y 100. Si especifica 0, no se bloquea la reproducción. Si especifica 100, se bloquea toda
la reproducción.
time_interval
Cantidad de tiempo para simular el error de la réplica de Aurora. El intervalo es en segundos. Por
ejemplo, si el valor es 20, la simulación se ejecuta durante 20 segundos.
Note
Debe tener cuidado al especificar el intervalo de tiempo del evento de error de la réplica de
Aurora. Si especifica un intervalo demasiado largo y la instancia de escritor escribe una gran
cantidad de datos durante el evento de error, su clúster de base de datos de Aurora podría
entender que la réplica de Aurora se ha bloqueado y reemplazarla.
replica_name
1471
Amazon Aurora Guía del usuario de Aurora
Pruebas de Amazon Aurora PostgreSQL
mediante consultas de inserción de errores
Durante la simulación de un error de disco, el clúster de base de datos de Aurora PostgreSQL marca de
forma aleatoria los segmentos de disco como defectuosos. Las solicitudes que lleguen a esos segmentos
se bloquean mientras dure la simulación.
Sintaxis
SELECT aurora_inject_disk_failure(
percentage_of_failure,
index,
is_disk,
time_interval
);
Opciones
percentage_of_failure
El porcentaje del disco que se debe marcar como defectuoso durante el evento de error. Puede ser un
valor doble entre 0 y 100. Si se especifica 0, ninguna parte del disco se marca como defectuosa. Si se
especifica 100, todo el disco se marca como defectuoso.
índice
Cantidad de tiempo para simular el error de la réplica de Aurora. El intervalo es en segundos. Por
ejemplo, si el valor es 20, la simulación se ejecuta durante 20 segundos.
Durante la simulación de congestión del disco, el clúster de base de datos de Aurora PostgreSQL marca
de forma aleatoria los segmentos de disco como congestionados. Las solicitudes que lleguen a esos
segmentos se retrasan entre el mínimo especificado y el tiempo de demora máximo mientras dure la
simulación.
1472
Amazon Aurora Guía del usuario de Aurora
Visualización del estado del volumen para
un clúster de base de datos de Aurora
Sintaxis
SELECT aurora_inject_disk_congestion(
percentage_of_failure,
index,
is_disk,
time_interval,
minimum,
maximum
);
Opciones
percentage_of_failure
El porcentaje del disco que se debe marcar como congestionado durante el evento de error.
Este es un valor doble entre 0 y 100. Si se especifica 0, ninguna parte del disco se marca como
congestionada. Si se especifica 100, todo el disco se marca como congestionado.
índice
Cantidad de tiempo para simular el error de la réplica de Aurora. El intervalo es en segundos. Por
ejemplo, si el valor es 20, la simulación se ejecuta durante 20 segundos.
mínimo, máximo
La cantidad mínima y máxima de demora de la congestión en milisegundos. Los valores válidos varían
entre 0,0 y 100,0 milisegundos. Los segmentos de disco marcados como congestionados se retrasan
por una cantidad de tiempo aleatoria dentro del rango mínimo y máximo mientras dure la simulación.
El valor máximo debe ser mayor que el valor mínimo.
Los datos de cada grupo de protección se replican en seis dispositivos de almacenamiento físicos
denominados nodos de almacenamiento. Estos nodos de almacenamiento se distribuyen entre tres zonas
de disponibilidad (AZ) en la región en la que reside el clúster de base de datos. A su vez, cada nodo de
almacenamiento contiene uno o varios bloques lógicos de datos para el volumen del clúster de base de
1473
Amazon Aurora Guía del usuario de Aurora
Especificación del disco RAM para stats_temp_directory
datos. Para obtener más información acerca de los grupos de protección y los nodos de almacenamiento,
consulte Introducing the Aurora Storage Engine en el Blog de base de datos de AWS.
Utilice la función aurora_show_volume_status() para devolver las siguientes variables de estado del
servidor:
• Disks: el número total de bloques lógicos de datos para el volumen del clúster de base de datos.
• Nodes — el número total de nodos de almacenamiento para el volumen del clúster de base de datos.
Sintaxis
Ejemplo
Para algunas cargas de trabajo, configurar este parámetro puede mejorar el rendimiento y reducir los
requisitos de E/S. Para obtener más información acerca de stats_temp_directory, consulte la
documentación de PostgreSQL..
Por ejemplo, el comando de la AWS CLI siguiente establece el parámetro del disco RAM en 256 MB.
1474
Amazon Aurora Guía del usuario de Aurora
Especificación del disco RAM para stats_temp_directory
Después de reiniciar el clúster de base de datos, ejecute el siguiente comando para ver el estado de
stats_temp_directory:
postgres=>show stats_temp_directory;
stats_temp_directory
---------------------------
/rdsdbramdisk/pg_stat_tmp
(1 row)
1475
Amazon Aurora Guía del usuario de Aurora
Programación de mantenimiento con la extensión pg_cron
La extensión pg_cron es compatible con las versiones 12.6 y las posteriores a la 12, así como todas las
versiones 13 del motor de Aurora PostgreSQL.
Temas
• Habilitación de la extensión pg_cron (p. 1476)
• Concesión de permisos pg_cron (p. 1476)
• Programación de trabajos pg_cron (p. 1477)
• Referencia pg_cron (p. 1479)
A fin de conceder permisos a otros para el esquema cron, ejecute el siguiente comando.
1476
Amazon Aurora Guía del usuario de Aurora
Programación de mantenimiento con la extensión pg_cron
Este permiso proporciona a other-user acceso al esquema cron para programar y anular la
programación de trabajos cron. Sin embargo, a fin de que los trabajos cron se ejecuten correctamente, el
usuario también necesita permiso para acceder a los objetos de los trabajos cron. Si el usuario no tiene
permiso, el trabajo falla y aparecen errores como el siguiente en postgresql.log. En este ejemplo, el usuario
no tiene permiso para acceder a la tabla pgbench_accounts.
Para obtener más información, consulte Las tablas pg_cron (p. 1482).
Temas
• Limpieza de tablas (p. 1477)
• Depuración de la tabla del historial pg_cron (p. 1478)
• Deshabilitación del registro del historial de pg_cron (p. 1478)
• Programación de un trabajo cron para una base de datos que no sea postgres (p. 1479)
Limpieza de tablas
En la mayoría de los casos, autovacuum maneja el mantenimiento de limpieza. Sin embargo, se
recomienda programar una limpieza de una tabla específica en el momento que lo desee.
A continuación, se muestra un ejemplo del uso de la función cron.schedule para configurar un trabajo
para usar VACUUM FREEZE en una tabla específica todos los días a las 22:00 (GMT).
1477
Amazon Aurora Guía del usuario de Aurora
Programación de mantenimiento con la extensión pg_cron
Una vez ejecutado el ejemplo anterior, puede comprobar del siguiente modo el historial de la
cron.job_run_details tabla.
Para obtener más información, consulte Las tablas pg_cron (p. 1482).
En el siguiente ejemplo se utiliza la función cron.schedule (p. 1480) para programar un trabajo que
se ejecuta todos los días a la medianoche para depurar la tabla cron.job_run_details. El trabajo
mantiene solo los últimos siete días. Utilice su cuenta de rds_superuser para programar el trabajo de la
siguiente manera:
Para obtener más información, consulte Las tablas pg_cron (p. 1482).
1478
Amazon Aurora Guía del usuario de Aurora
Programación de mantenimiento con la extensión pg_cron
y produce errores solo en el archivo postgresql.log. Para obtener más información, consulte
Modificación de parámetros de un grupo de parámetros de base de datos (p. 378).
Para obtener más información, consulte Los parámetros pg_cron (p. 1480).
Programación de un trabajo cron para una base de datos que no sea postgres
Todos los metadatos de pg_cron se mantienen en la base de datos predeterminada de PostgreSQL que
se denomina postgres. Dado que los trabajadores en segundo plano se utilizan para ejecutar los trabajos
cron de mantenimiento, puede programar un trabajo en cualquiera de sus bases de datos dentro de la
instancia de base de datos de PostgreSQL:
1. En la base de datos cron, programe el trabajo como lo hace normalmente mediante el uso de
cron.schedule (p. 1480).
2. Como usuario con el rol rds_superuser, actualice la columna de base de datos para el trabajo que
acaba de crear a fin de que se ejecute en otra base de datos dentro de la instancia de base de datos de
PostgreSQL.
Note
En algunas situaciones, puede agregar un trabajo cron que desea ejecutar en otra base de
datos. En tales casos, el trabajo podría intentar ejecutarse en la base de datos predeterminada
(postgres) antes de actualizar la columna de la base de datos correcta. Si el nombre de usuario
tiene permisos, el trabajo se ejecuta correctamente en la base de datos predeterminada.
Referencia pg_cron
Con la extensión pg_cron, puede utilizar los siguientes parámetros, funciones y tablas. Para obtener más
información, consulte ¿Qué es pg_cron? en la documentación de pg_cron.
Temas
• Los parámetros pg_cron (p. 1480)
• Función cron.schedule() (p. 1480)
• Función cron.unschedule() (p. 1481)
1479
Amazon Aurora Guía del usuario de Aurora
Programación de mantenimiento con la extensión pg_cron
Parámetro Descripción
Utilice el siguiente comando SQL para mostrar estos parámetros y sus valores:
postgres=> SELECT name, setting, short_desc FROM pg_settings WHERE name LIKE 'cron.%' ORDER
BY name;
Función cron.schedule()
Esta función programa un trabajo cron. El trabajo se programa inicialmente en la base de datos
predeterminada postgres. La función devuelve un valor bigint que representa el identificador del
trabajo. Para programar trabajos para que se ejecuten en otras bases de datos dentro de la instancia de
base de datos de PostgreSQL, consulte el ejemplo en Programación de un trabajo cron para una base de
datos que no sea postgres (p. 1479).
Sintaxis
cron.schedule (job_name,
schedule,
command
);
cron.schedule (schedule,
command
);
1480
Amazon Aurora Guía del usuario de Aurora
Programación de mantenimiento con la extensión pg_cron
Parámetros
Parámetro Descripción
Ejemplos
Función cron.unschedule()
Esta función elimina un trabajo cron. Puede pasar en job_name o job_id. Una política se asegura de
que usted es el propietario para quitar la programación del trabajo. La función devuelve un valor booleano
que indica éxito o error.
Sintaxis
cron.unschedule (job_id);
cron.unschedule (job_name);
Parámetros
Parámetro Descripción
Ejemplos
1481
Amazon Aurora Guía del usuario de Aurora
Ajuste con eventos de espera de Aurora PostgreSQL
(1 row)
Tabla Descripción
Los eventos de espera de este capítulo son específicos de Aurora PostgreSQL. Utilice la
información de este capítulo solo para ajustar Amazon Aurora, no RDS para PostgreSQL.
Algunos eventos de espera de este capítulo no tienen un equivalente en las versiones de código
abierto de estos motores de base de datos. Otros eventos de espera tienen los mismos nombres
1482
Amazon Aurora Guía del usuario de Aurora
Conceptos esenciales para el ajuste de Aurora PostgreSQL
que los eventos en los motores de código abierto, pero se comportan de forma diferente. Por
ejemplo, el almacenamiento de Amazon Aurora funciona de forma diferente al almacenamiento
de código abierto, por lo que los eventos de espera relacionados con el almacenamiento indican
condiciones de recursos diferentes.
Temas
• Conceptos esenciales para el ajuste de Aurora PostgreSQL (p. 1483)
• Eventos de espera de Aurora PostgreSQL (p. 1487)
• Client:ClientRead (p. 1488)
• Client:ClientWrite (p. 1490)
• CPU (p. 1492)
• IO:BufFileRead y IO:BufFileWrite (p. 1496)
• IO:DataFileRead (p. 1502)
• IO:XactSync (p. 1509)
• ipc:damrecordtxack (p. 1510)
• Lock:advisory (p. 1511)
• Lock:extend (p. 1513)
• Lock:Relation (p. 1515)
• Lock:transactionid (p. 1518)
• Lock:tuple (p. 1521)
• lwlock:buffer_content (BufferContent) (p. 1524)
• LWLock:buffer_mapping (p. 1525)
• LWLock:BufferIO (p. 1527)
• LWLock:lock_manager (p. 1528)
• Timeout:PgSleep (p. 1532)
Temas
• Eventos de espera de Aurora PostgreSQL (p. 1483)
• Memoria de Aurora PostgreSQL (p. 1484)
• Procesos de Aurora PostgreSQL (p. 1485)
• Acceso de subproceso único a un búfer, por ejemplo, cuando una sesión intenta modificar un búfer
• Una fila bloqueada actualmente por otra sesión
• Lectura de un archivo de datos
• Escritura de un archivo de registro
1483
Amazon Aurora Guía del usuario de Aurora
Conceptos esenciales para el ajuste de Aurora PostgreSQL
Por ejemplo, para satisfacer una consulta, la sesión podría hacer un escaneo de tabla completo. Si los
datos ya no están en la memoria, la sesión espera a que se complete la E/S del disco. Cuando los búferes
se leen en la memoria, es posible que la sesión tenga que esperar porque otras sesiones tienen acceso
a los mismos búferes. La base de datos registra las esperas mediante un evento de espera predefinido.
Estos eventos se agrupan en categorías.
Un evento de espera no muestra por sí solo un problema de rendimiento. Por ejemplo, si los datos
solicitados no están en memoria, es necesario leer los datos del disco. Si una sesión bloquea una fila para
una actualización, otra sesión espera a que se desbloquee la fila para poder actualizarla. Una confirmación
requiere un tiempo de espera para que se complete la escritura en un archivo de registro. Las esperas
forman parte del funcionamiento normal de una base de datos.
Un gran número de eventos de espera suele mostrar un problema de rendimiento. En estos casos, se
pueden utilizar los datos de los eventos de espera para determinar en qué se gastan las sesiones. Por
ejemplo, si un informe que normalmente se ejecuta en minutos ahora se ejecuta durante horas, puede
identificar los eventos de espera que más contribuyen al tiempo total de espera. Si puede determinar las
causas de los principales eventos de espera, a veces puede hacer cambios que mejoren el rendimiento.
Por ejemplo, si la sesión se encuentra a la espera de una fila que ha sido bloqueada por otra sesión, puede
terminar la sesión de bloqueo.
Temas
• Memoria compartida en Aurora PostgreSQL (p. 1484)
• Memoria local en Aurora PostgreSQL (p. 1485)
Temas
• Búferes compartidos (p. 1484)
• Búferes de registro de escritura anticipada (WAL) (p. 1485)
Búferes compartidos
El grupo de búferes compartidos es un área de memoria de Aurora PostgreSQL que contiene todas las
páginas que están o han sido utilizadas por las conexiones de la aplicación. Una página es la versión de
memoria de un bloque de disco. El grupo de búferes compartidos almacena en caché los bloques de datos
leídos desde el disco. El grupo reduce la necesidad de volver a leer los datos del disco, lo que hace que la
base de datos funcione de forma más eficiente.
Cada tabla e índice se almacena como una matriz de páginas de tamaño fijo. Cada bloque contiene varias
tuplas, que corresponden a filas. Una tupla se puede almacenar en cualquier página.
El grupo de búferes compartidos tiene memoria finita. Si una nueva solicitud requiere una página que no
está en la memoria, y no hay más memoria, Aurora PostgreSQL desaloja una página que se utiliza con
menos frecuencia para satisfacer la solicitud. La política de expulsión se implementa mediante un algoritmo
de barrido de reloj.
1484
Amazon Aurora Guía del usuario de Aurora
Conceptos esenciales para el ajuste de Aurora PostgreSQL
Cuando un cliente cambia los datos, Aurora PostgreSQL escribe los cambios en el búfer WAL. Cuando
el cliente emite un COMMIT, el proceso de escritura WAL escribe los datos de la transacción en el archivo
WAL.
Temas
• Área de memoria de trabajo (p. 1485)
• Área de memoria de trabajo de mantenimiento (p. 1485)
• Área de búfer temporal (p. 1485)
El parámetro work_mem indica la cantidad de memoria que se utilizará en las operaciones internas
de ordenación y en las tablas hash antes de escribir en los archivos temporales del disco. El valor
predeterminado es 4 MB. Se pueden ejecutar varias sesiones simultáneamente, y cada sesión puede
ejecutar operaciones de mantenimiento en paralelo. Por esta razón, la memoria de trabajo total utilizada
puede ser múltiplo del parámetro work_mem.
Cada sesión asigna búferes temporales según sea necesario hasta el límite que se especifique. Cuando
finaliza la sesión, el servidor borra los búferes.
El parámetro temp_buffers establece el número máximo de búferes temporales utilizados por cada
sesión. Antes del primer uso de las tablas temporales dentro de una sesión, puede cambiar el valor de
temp_buffers.
1485
Amazon Aurora Guía del usuario de Aurora
Conceptos esenciales para el ajuste de Aurora PostgreSQL
Temas
• Proceso de administrador de correos (p. 1486)
• Procesos de backend (p. 1486)
• Procesos en segundo plano (p. 1486)
Procesos de backend
Si el administrador de correos autentica una solicitud de cliente, el administrador de correos bifurca
un nuevo proceso de backend, también llamado proceso postgres. Un proceso cliente se conecta
exactamente a un proceso backend. El proceso cliente y el proceso backend se comunican directamente
sin la intervención del proceso de administrador de correos.
• Escritor de WAL
Aurora PostgreSQL escribe datos en el búfer WAL (registro de escritura anticipada) en los archivos de
registro. El principio del registro por adelantado es que la base de datos no puede escribir los cambios
en los archivos de datos hasta que la base de datos escriba los registros que describen esos cambios
en el disco. El mecanismo de WAL reduce la E/S del disco y permite a Aurora PostgreSQL utilizar los
registros para recuperar la base de datos en caso de error.
• Escritor en segundo plano
Este proceso escribe de forma periódica las páginas sucias (modificadas) desde los búferes de memoria
a los archivos de datos. Una página se vuelve sucia cuando un proceso de backend la modifica en la
memoria.
• Daemon de autovacuum
Cuando autovacuum está activado busca las tablas en las que se ha insertado, actualizado o eliminado
un número elevado de tuplas. El daemon tiene las siguientes responsabilidades:
• Recuperar o reutilizar el espacio de disco ocupado por las filas actualizadas o eliminadas
• Actualizar las estadísticas utilizadas por el planificador
• Proteger contra la pérdida de datos antiguos debido al reinicio del ID de transacción
1486
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
VACUUM crea una cantidad considerable de tráfico de E/S, lo que puede causar un bajo rendimiento para
otras sesiones activas.
Client:ClientRead (p. 1488) Este evento se produce cuando Aurora PostgreSQL espera
recibir datos del cliente.
Client:ClientWrite (p. 1490) Este evento se produce cuando Aurora PostgreSQL espera
escribir datos en el cliente.
CPU (p. 1492) Este evento ocurre cuando un subproceso está activo en la
CPU o espera por la CPU.
IO:BufFileRead y IO:BufFileWrite (p. 1496) Estos eventos ocurren cuando Aurora PostgreSQL crea
archivos temporales.
IO:DataFileRead (p. 1502) Este evento ocurre cuando una conexión espera en un
proceso backend para leer una página requerida desde el
almacenamiento porque la página no está disponible en la
memoria compartida.
IO:XactSync (p. 1509) Este evento ocurre cuando la base de datos espera que
el subsistema de almacenamiento de Aurora acepte la
confirmación de una transacción regular, o la confirmación o
restauración de una transacción preparada.
ipc:damrecordtxack (p. 1510) Este evento ocurre cuando Aurora PostgreSQL en una sesión
que utiliza flujos de actividad de la base de datos genera un
evento de transmisión de actividad, y luego espera que ese
evento se vuelva permanente.
Lock:advisory (p. 1511) Este evento ocurre cuando una aplicación PostgreSQL utiliza
un bloqueo para coordinar la actividad en varias sesiones.
Lock:extend (p. 1513) Este evento ocurre cuando un proceso backend espera
bloquear una relación para ampliarla mientras otro proceso
tiene un bloqueo en esa relación para el mismo propósito.
Lock:Relation (p. 1515) Este evento ocurre cuando una consulta espera adquirir un
bloqueo en una tabla o vista que está actualmente bloqueada
por otra transacción.
Lock:transactionid (p. 1518) Este evento ocurre cuando una transacción espera un
bloqueo a nivel de fila.
Lock:tuple (p. 1521) Este evento ocurre cuando un proceso de backend espera
adquirir un bloqueo en una tupla.
lwlock:buffer_content (BufferContent) (p. 1524) Este evento ocurre cuando una sesión espera leer o escribir
una página de datos en la memoria mientras otra sesión
bloquea esa página para la escritura.
1487
Amazon Aurora Guía del usuario de Aurora
Client:ClientRead
LWLock:buffer_mapping (p. 1525) Este evento se produce cuando una sesión espera asociar
un bloque de datos con un búfer en el grupo de búferes
compartidos.
LWLock:BufferIO (p. 1527) Este evento ocurre cuando Aurora PostgreSQL o RDS
for PostgreSQL espera que otros procesos terminen sus
operaciones de entrada/salida (E/S) cuando intentan acceder
a una página de forma simultánea.
LWLock:lock_manager (p. 1528) Este evento ocurre cuando el motor de Aurora PostgreSQL
mantiene el área de memoria del bloqueo compartido para
asignar, verificar y desasignar un bloqueo cuando no es
posible un bloqueo de ruta rápida.
Timeout:PgSleep (p. 1532) Este evento ocurre cuando un proceso del servidor llamó a la
función pg_sleep y espera que el tiempo de espera expire.
Client:ClientRead
El evento Client:ClientRead ocurre cuando Aurora PostgreSQL espera recibir datos del cliente.
Temas
• Versiones del motor admitidas (p. 1488)
• Contexto (p. 1488)
• Causas probables del aumento de las esperas (p. 1488)
• Acciones (p. 1489)
Contexto
Un clúster de base de datos de Aurora PostgreSQL espera recibir datos del cliente. El clúster de la
base de datos de Aurora PostgreSQL tiene que recibir los datos del cliente antes de poder enviar más
datos al cliente. El tiempo que el clúster espera antes de recibir los datos del cliente es un evento
Client:ClientRead.
Puede haber un aumento de la latencia de la red entre el clúster de la base de datos PostgreSQL de
Aurora y el cliente. Una mayor latencia de red aumenta el tiempo necesario para que el clúster de la
base de datos reciba los datos del cliente.
Aumento de la carga en el cliente
1488
Amazon Aurora Guía del usuario de Aurora
Client:ClientRead
Un gran número de viajes de ida y vuelta de la red entre el clúster de la base de datos de Aurora
PostgreSQL y el cliente puede retrasar la transmisión de datos del cliente al clúster de la base de
datos de Aurora PostgreSQL.
Operación de copia grande
Durante una operación de copia, los datos se transfieren desde el sistema de archivos del cliente al
clúster de la base de datos de Aurora PostgreSQL. El envío de una gran cantidad de datos al clúster
de la base de datos puede retrasar la transmisión de datos del cliente al clúster de la base de datos.
Conexión de cliente inactivo
PgBouncer tiene un ajuste de configuración de red de bajo nivel llamado pkt_buf, que se establece
en 4.096 de forma predeterminada. Si la carga de trabajo envía paquetes de consulta de más de 4096
bytes a través de PgBouncer, recomendamos aumentar la configuración de pkt_buf a 8192. Si la
nueva configuración no disminuye el número de eventos Client:ClientRead, recomendamos
aumentar la configuración de pkt_buf a valores mayores, como 16 384 o 32 768. Si el texto de la
consulta es grande, el ajuste más grande puede ser particularmente útil.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Temas
• Coloque los clientes en la misma zona de disponibilidad y subred VPC que el clúster (p. 1489)
• Escale el cliente (p. 1489)
• Utilice las instancias de generación actual (p. 1489)
• Aumentar el ancho de banda de la red (p. 1490)
• Monitorear los máximos de rendimiento de la red (p. 1490)
• Monitorear las transacciones en el estado “inactivo en la transacción” (p. 1490)
Escale el cliente
Con Amazon CloudWatch u otras métricas del anfitrión, determine si su cliente está actualmente limitado
por la CPU o el ancho de banda de la red, o ambos. Si el cliente está restringido, escale su cliente en
forma adecuada.
1489
Amazon Aurora Guía del usuario de Aurora
Client:ClientWrite
generación actual para el cliente. Además, configure la unidad de transmisión máxima (MTU) en el sistema
operativo del cliente. Esta técnica podría reducir el número de viajes de ida y vuelta de la red y aumentar el
rendimiento de la red. Para más información, consulte Tramas gigantes (MTU 9001) en la Guía del usuario
de instancias de Linux de Amazon EC2.
Para obtener información acerca de las clases de instancia de base de datos, consulte Clases de instancia
de base de datos Aurora (p. 56). Para determinar la clase de instancia de base de datos que equivale a
un tipo de instancia de Amazon EC2, coloque db. antes del nombre del tipo de instancia de Amazon EC2.
Por ejemplo, la instancia de Amazon EC2 r5.8xlarge equivale a la clase de instancia de base de datos
db.r5.8xlarge.
Para obtener más información acerca de las métricas de CloudWatch, consulte Métricas de Amazon
Aurora (p. 618).
Para obtener más información, consulte Monitorear el rendimiento de la red de la instancia de Amazon
EC2 en la Guía del usuario de instancias de Linux de Amazon EC2 y Monitorear el rendimiento de la red
de la instancia de Amazon EC2 en la Guía del usuario de instancias de Windows de Amazon EC2.
Client:ClientWrite
El evento Client:ClientWrite ocurre cuando Aurora PostgreSQL espera escribir datos en el cliente.
Temas
• Versiones del motor admitidas (p. 1491)
• Contexto (p. 1491)
• Causas probables del aumento de las esperas (p. 1491)
• Acciones (p. 1491)
1490
Amazon Aurora Guía del usuario de Aurora
Client:ClientWrite
Contexto
Un proceso cliente debe leer todos los datos recibidos de un clúster de la base de datos de Aurora
PostgreSQL antes de que el clúster pueda enviar más datos. El tiempo que el clúster espera antes de
enviar más datos al cliente es un evento Client:ClientWrite.
La reducción del rendimiento de la red entre el clúster de base de datos de Aurora PostgreSQL y el
cliente puede causar este evento. La presión de la CPU y la saturación de la red en el cliente también
pueden causar este evento. La presión de la CPU es cuando la CPU se utiliza por completo y hay tareas
esperando por el tiempo de la CPU. La saturación de la red es cuando la red entre la base de datos y el
cliente transporta más datos de los que puede manejar.
Puede haber un aumento de la latencia de la red entre el clúster de la base de datos PostgreSQL
de Aurora y el cliente. Una mayor latencia de la red aumenta el tiempo necesario para que el cliente
reciba los datos.
Aumento de la carga en el cliente
El clúster de la base de datos Aurora PostgreSQL se encuentra enviando una gran cantidad de
datos al cliente. Es posible que el cliente no pueda recibir los datos tan rápido como el clúster los
envía. Actividades como una copia de una tabla grande pueden resultar en un aumento de eventos
Client:ClientWrite.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Temas
• Coloque los clientes en la misma zona de disponibilidad y subred VPC que el clúster (p. 1491)
• Utilice las instancias de generación actual (p. 1492)
• Reducir la cantidad de datos enviados al cliente (p. 1492)
• Escale el cliente (p. 1492)
1491
Amazon Aurora Guía del usuario de Aurora
CPU
Para obtener información acerca de las clases de instancia de base de datos, consulte Clases de instancia
de base de datos Aurora (p. 56). Para determinar la clase de instancia de base de datos que equivale a
un tipo de instancia de Amazon EC2, coloque db. antes del nombre del tipo de instancia de Amazon EC2.
Por ejemplo, la instancia de Amazon EC2 r5.8xlarge equivale a la clase de instancia de base de datos
db.r5.8xlarge.
Escale el cliente
Con Amazon CloudWatch u otras métricas del anfitrión, determine si su cliente está actualmente limitado
por la CPU o el ancho de banda de la red, o ambos. Si el cliente está restringido, escale su cliente en
forma adecuada.
CPU
Este evento ocurre cuando un subproceso está activo en la CPU o espera por la CPU.
Temas
• Versiones del motor admitidas (p. 1492)
• Contexto (p. 1492)
• Causas probables del aumento de las esperas (p. 1493)
• Acciones (p. 1494)
Contexto
La unidad de procesamiento central (CPU) es el componente de un ordenador que ejecuta instrucciones.
Por ejemplo, las instrucciones de la CPU hacen operaciones aritméticas e intercambian datos en la
memoria. Si una consulta aumenta el número de instrucciones que ejecuta a través del motor de base de
datos, aumenta el tiempo de ejecución de la consulta. La programación de la CPU consiste en dar tiempo
de CPU a un proceso. La programación es orquestada por el núcleo del sistema operativo.
Temas
• Cómo saber cuándo se produce esta espera (p. 1493)
• Métrica de DBloadCPU (p. 1493)
• Métrica os.cpuUtilization (p. 1493)
• Causa probable de la programación de la CPU (p. 1493)
1492
Amazon Aurora Guía del usuario de Aurora
CPU
Para ver los procesos del backend que se encuentran en uso o en espera de CPU, ejecute la siguiente
consulta.
SELECT *
FROM pg_stat_activity
WHERE state = 'active'
AND wait_event_type IS NULL
AND wait_event IS NULL;
Métrica de DBloadCPU
La métrica de Información sobre rendimiento para la CPU es DBLoadCPU. El valor de DBLoadCPU puede
diferir del valor de la métrica CPUUtilization de Amazon CloudWatch. Esta última métrica se recopila
del hipervisor para una instancia de base de datos.
Métrica os.cpuUtilization
Las métricas del sistema operativo de Información sobre rendimiento proporcionan información detallada
sobre la utilización de la CPU. Por ejemplo, puede mostrar las siguientes métricas:
• os.cpuUtilization.nice.avg
• os.cpuUtilization.total.avg
• os.cpuUtilization.wait.avg
• os.cpuUtilization.idle.avg
Información sobre rendimiento informa del uso de la CPU por parte del motor de base de datos como
os.cpuUtilization.nice.avg.
Es probable que los procesos esperen a que se programe una CPU cuando se cumplen las siguientes
condiciones:
1493
Amazon Aurora Guía del usuario de Aurora
CPU
Temas
• Causas probables de picos repentinos (p. 1494)
• Causas probables de alta frecuencia prolongada (p. 1494)
• Casos aislados (p. 1494)
• La aplicación abrió demasiadas conexiones simultáneas a la base de datos. Este escenario se conoce
como “tormenta de conexiones”
• La carga de trabajo de la aplicación ha cambiado de alguna de las siguientes maneras:
• Nuevas consultas
• Un aumento del tamaño del conjunto de datos
• Mantenimiento o creación de índices
• Nuevas funciones
• Nuevos operadores
• Aumento de la ejecución de consultas en paralelo
• Los planes de ejecución de sus consultas han cambiado. En algunos casos, un cambio puede provocar
un aumento de los búferes. Por ejemplo, la consulta utiliza ahora un escaneo secuencial cuando antes
utilizaba un índice. En este caso, las consultas necesitan más CPU para lograr el mismo objetivo.
• Demasiados procesos de backend se ejecutan de forma simultánea en la CPU. Estos procesos pueden
llegar a ser procesos de trabajo paralelos.
• Las consultas tienen un rendimiento subóptimo porque necesitan un gran número de búferes.
Casos aislados
Si ninguna de las causas probables resulta ser la causa real, es posible que se produzcan las siguientes
situaciones:
Acciones
Si el evento de espera de CPU domina la actividad de la base de datos, no indica necesariamente un
problema de rendimiento. Responda a este evento solo cuando el rendimiento se deteriore.
Temas
• Investigue si la base de datos es la causa del aumento de la CPU (p. 1495)
• Determine si el número de conexiones aumentó (p. 1495)
• Responder a los cambios en la carga de trabajo (p. 1496)
1494
Amazon Aurora Guía del usuario de Aurora
CPU
Si el número de conexiones aumentó, compare el número de procesos de backend que consumen CPU
con el número de vCPU. Los siguientes escenarios son posibles:
• El número de procesos de backend que consumen CPU es menor que el número de vCPU.
En este caso, el número de conexiones no es un problema. Sin embargo, puede intentar reducir la
utilización de la CPU.
• El número de procesos de backend que consumen CPU es mayor que el número de vCPU.
Examine las métricas de blks_hit en Información sobre rendimiento. Busque una correlación entre el
aumento de blks_hit y el uso de la CPU. Los siguientes escenarios son posibles:
En este caso, encuentre las principales instrucciones SQL que están relacionadas con el uso de la CPU
y busque los cambios de plan. Puede utilizar cualquiera de las siguientes técnicas:
• Explicar los planes manualmente y compararlos con el plan de ejecución esperado.
• Buscar un aumento en los aciertos de bloque por segundo y en los aciertos de bloque local por
segundo. En la sección Top SQL (SQL principal) del panel de Información sobre rendimiento, elija
Preferences (Preferencias).
• El uso de la CPU y blks_hit no están correlacionados.
En este caso, Información sobre rendimiento muestra que los procesos del backend consumen la CPU
durante más tiempo del habitual. Busque pruebas en las métricas de Información sobre rendimiento
os.cpuUtilization o en la métrica CloudWatch CPUUtilization. Si el sistema operativo está
1495
Amazon Aurora Guía del usuario de Aurora
IO:BufFileRead y IO:BufFileWrite
sobrecargado, consulte las métricas de Monitoreo mejorado para hacer un diagnóstico más profundo.
Específicamente, observe la lista de procesos y el porcentaje de CPU que consume cada proceso.
• Las instrucciones SQL más importantes son las que consumen demasiada CPU.
Examine las instrucciones que se relacionan con el uso de la CPU para ver si pueden utilizar
menos CPU. Ejecute un comando EXPLAIN, y céntrese en los nodos del plan que tienen el mayor
impacto. Considere utilizar un visualizador de planes de ejecución de PostgreSQL. Para probar esta
herramienta, consulte http://explain.dalibo.com/.
Nuevas consultas
Verifique si las nuevas consultas son las esperadas. Si es así, asegúrese de que los planes de
ejecución y el número de ejecuciones por segundo son los esperados.
Aumento del tamaño del conjunto de datos
Verifique si estas funciones se comportan como se espera durante las pruebas. En concreto, verifique
si el número de ejecuciones por segundo es el esperado.
Nuevos operadores
IO:BufFileRead y IO:BufFileWrite
Los eventos IO:BufFileRead e IO:BufFileWrite ocurren cuando Aurora PostgreSQL crea archivos
temporales. Cuando las operaciones requieren más memoria de la que los parámetros de la memoria de
trabajo definen actualmente, escriben datos temporales en el almacenamiento persistente. Esta operación
se llama a veces “derramamiento en el disco”
Temas
• Versiones del motor admitidas (p. 1497)
• Contexto (p. 1497)
• Causas probables del aumento de las esperas (p. 1497)
1496
Amazon Aurora Guía del usuario de Aurora
IO:BufFileRead y IO:BufFileWrite
Contexto
IO:BufFileRead e IO:BufFileWrite se relacionan con el área de memoria de trabajo y el área de
memoria de trabajo de mantenimiento. Para más información sobre estas áreas de memoria local, consulte
Área de memoria de trabajo (p. 1485) y Área de memoria de trabajo de mantenimiento (p. 1485).
Si se observa la siguiente secuencia de eventos, es posible que la base de datos genere archivos
temporales:
También puede observar un patrón de “motosierra”. Este patrón puede indicar que la base de datos crea
archivos pequeños de forma constante.
Consultas que necesitan más memoria de la que existe en la zona de memoria de trabajo
Las consultas con las siguientes características utilizan el área de memoria de trabajo:
• Combinaciones hash
• ORDER BYCláusula
• GROUP BYCláusula
• DISTINCT
• funciones de ventana
• CREATE TABLE AS SELECT
• Actualización de la vista materializada
Instrucciones que necesitan más memoria de la que existe en el área de memoria de trabajo de
mantenimiento
1497
Amazon Aurora Guía del usuario de Aurora
IO:BufFileRead y IO:BufFileWrite
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Temas
• Identifique el problema (p. 1498)
• Examine sus consultas de unión (join) (p. 1498)
• Examinar las consultas ORDER BY y GROUP BY (p. 1499)
• Evite utilizar la operación DISTINCT (p. 1500)
• Considere la posibilidad de utilizar funciones de ventana en lugar de funciones GROUP BY (p. 1500)
• Investigar las vistas materializadas y las instrucciones CTA (p. 1500)
• Utilizar pg_repack al crear índices (p. 1501)
• Aumentar maintenance_work_mem al hacer un clúster de tablas (p. 1501)
• Ajustar la memoria para evitar IO:BufFileRead e IO:BufFileWrite (p. 1501)
Identifique el problema
Imagine una situación en la que Información sobre rendimiento no está activado y sospecha que
IO:BufFileRead e IO:BufFileWrite se producen con más frecuencia de lo normal. Haga lo siguiente:
O establezca el parámetro log_temp_files. Este parámetro registra todas las consultas que generan
más de un umbral de KB de archivos temporales. Si el valor es 0, Aurora PostgreSQL registra todos los
archivos temporales. Si el valor es 1024, Aurora PostgreSQL registra todas las consultas que producen
archivos temporales de más de 1 MB. Para más información sobre log_temp_files, consulte Error
Reporting and Logging en la documentación de PostgreSQL.
SELECT *
FROM order
INNER JOIN order_item
ON (order.id = order_item.order_id)
INNER JOIN customer
ON (customer.id = order.customer_id)
INNER JOIN customer_address
ON (customer_address.customer_id = customer.id AND
order.customer_address_id = customer_address.id)
WHERE customer.id = 1234567890;
Una posible causa de los picos de uso de archivos temporales es un problema en la propia consulta. Por
ejemplo, una cláusula rota podría no filtrar las uniones correctamente. Considere la segunda unión interna
en el siguiente ejemplo.
SELECT *
1498
Amazon Aurora Guía del usuario de Aurora
IO:BufFileRead y IO:BufFileWrite
FROM order
INNER JOIN order_item
ON (order.id = order_item.order_id)
INNER JOIN customer
ON (customer.id = customer.id)
INNER JOIN customer_address
ON (customer_address.customer_id = customer.id AND
order.customer_address_id = customer_address.id)
WHERE customer.id = 1234567890;
La consulta anterior une por error customer.id con customer.id, lo que genera un producto cartesiano
entre cada cliente y cada pedido. Este tipo de unión accidental genera grandes archivos temporales.
Según el tamaño de las tablas, una consulta cartesiana puede incluso llenar el almacenamiento. Es posible
que la aplicación tenga uniones cartesianas cuando se den las siguientes condiciones:
Para ver si las tablas se unen con las claves adecuadas, inspeccione las directivas de consulta y de
asignación objeto-relacional. Tenga en cuenta que algunas consultas de la aplicación no se llaman todo el
tiempo, y algunas consultas se generan de forma dinámica.
• Incluya las columnas en una cláusula ORDER BY solo cuando sea necesario ordenarlas. Esta directriz
es especialmente importante para las consultas que devuelven miles de filas y especifican muchas
columnas en la cláusula ORDER BY.
• Considere la posibilidad de crear índices para acelerar las cláusulas ORDER BY cuando coincidan con
columnas que tengan el mismo orden ascendente o descendente. Los índices parciales son preferibles
porque son más pequeños. Los índices más pequeños se leen y recorren más rápidamente.
• Si crea índices para columnas que pueden aceptar valores nulos, considere si quiere que los valores
nulos se almacenen al final o al principio de los índices.
Si es posible, reduzca el número de filas que hay que ordenar, mediante el filtrado del conjunto de
resultados. Si utiliza instrucciones de la cláusula WITH o subconsultas, recuerde que una consulta
interna genera un conjunto de resultados y lo pasa a la consulta externa. Cuantas más filas pueda filtrar
una consulta, menos tendrá que ordenar esta última.
• Si no necesita obtener el conjunto de resultados completo, utilice la cláusula LIMIT. Por ejemplo, si
solo quiere las cinco primeras filas, una consulta que utilice la cláusula LIMIT no sigue generando
resultados. De este modo, la consulta requiere menos memoria y archivos temporales.
Una consulta que utiliza una cláusula GROUP BY también puede requerir archivos temporales. Las
consultas GROUP BY resumen los valores con funciones como las siguientes:
• COUNT
• AVG
• MIN
• MAX
• SUM
1499
Amazon Aurora Guía del usuario de Aurora
IO:BufFileRead y IO:BufFileWrite
• STDDEV
Para ajustar las consultas GROUP BY, siga las recomendaciones para las consultas ORDER BY.
Si necesita utilizar DISTINCT para varias filas de una misma tabla, considere la posibilidad de crear un
índice compuesto. Agrupar varias columnas en un índice puede mejorar el tiempo de evaluación de las
filas distintas. Además, si utiliza Amazon Aurora PostgreSQL versión 10 o posterior, puede correlacionar
estadísticas entre varias columnas con el comando CREATE STATISTICS.
• RANK
• ARRAY_AGG
• ROW_NUMBER
• LAG
• LEAD
Para minimizar el número de archivos temporales generados por una función de ventana, elimine las
duplicaciones para el mismo conjunto de resultados cuando necesite dos agregaciones distintas. Analice la
siguiente consulta.
1500
Amazon Aurora Guía del usuario de Aurora
IO:BufFileRead y IO:BufFileWrite
Una posible solución para recrear un índice grande es utilizar la herramienta pg_repack. Para más
información, consulte Reorganize tables in PostgreSQL databases with minimal locks en la documentación
de pg_repack.
Cuando el almacenamiento magnético era frecuente, los clústeres eran comunes porque el rendimiento
del almacenamiento era limitado. Ahora que el almacenamiento basado en SSD es común, los clústeres
son menos populares. Sin embargo, si se hacen clústeres en las tablas, se puede aumentar ligeramente el
rendimiento en función del tamaño de la tabla, índice, consulta, etc.
Para saber cuántos archivos temporales genera una consulta, establezca log_temp_files en 0. Si
aumenta el valor de work_mem hasta el valor máximo identificado en los registros, evitará que la consulta
genere archivos temporales. Sin embargo, work_mem establece el máximo por nodo del plan para cada
conexión o proceso de trabajo paralelo. Si la base de datos tiene 5000 conexiones, y si cada una utiliza
256 MiB de memoria, el motor necesita 1.2 TiB de RAM. Esto significa que la instancia podría quedarse sin
memoria.
1501
Amazon Aurora Guía del usuario de Aurora
IO:DataFileRead
Por ejemplo, supongamos que su clase de instancia Aurora PostgreSQL es db.r5.2xlarge. Esta clase
tiene 64 GiB de memoria. De forma predeterminada, el 75 por ciento de la memoria se reserva para el
grupo de búferes compartidos. Después de restar la cantidad asignada al área de memoria compartida,
quedan 16 384 MB. No asigne la memoria restante exclusivamente al área de memoria de trabajo porque
el sistema operativo y el motor también necesitan memoria.
La memoria que puedes asignar a work_mem depende de la clase de instancia. Si utiliza una clase de
instancia más grande, habrá más memoria disponible. Sin embargo, en el ejemplo anterior, no puedes usar
más de 16 GiB. De lo contrario, la instancia dejará de estar disponible cuando se agote la memoria. Para
recuperar la instancia del estado no disponible, los servicios de automatización de Aurora PostgreSQL se
reinician automáticamente.
Supongamos que la instancia de su base de datos tiene 5 000 conexiones simultáneas. Cada conexión
utiliza al menos 4 MiB de work_mem. El alto consumo de memoria de las conexiones puede degradar el
rendimiento. Para ello, tiene las siguientes opciones:
En el caso de los proxies, considere Amazon RDS Proxy, pgBouncer o un grupo de conexiones acorde
con su aplicación. Esta solución alivia la carga de la CPU. También reduce el riesgo cuando todas las
conexiones requieren el área de memoria de trabajo. Cuando hay menos conexiones a la base de datos,
puede aumentar el valor de work_mem. De esta manera, se reduce la ocurrencia de los eventos de espera
IO:BufFileRead y IO:BufFileWrite. Además, las consultas que esperan el área de memoria de
trabajo se aceleran de forma significativa.
IO:DataFileRead
El evento IO:DataFileRead ocurre cuando una conexión espera en un proceso backend para leer una
página requerida del almacenamiento porque la página no está disponible en la memoria compartida.
Temas
• Versiones del motor admitidas (p. 1502)
• Contexto (p. 1502)
• Causas probables del aumento de las esperas (p. 1503)
• Acciones (p. 1503)
Contexto
Todas las consultas y operaciones de manipulación de datos (DML) acceden a páginas en el grupo de
búferes. Las instrucciones que pueden inducir lecturas incluyen SELECT, UPDATE y DELETE. Por ejemplo,
un UPDATE puede leer páginas de tablas o índices. Si la página que se solicita o actualiza no está en el
grupo de búferes compartidos, esta lectura puede provocar el evento IO:DataFileRead.
Dado que el grupo de búferes compartidos es finito, puede llenarse. En este caso, las solicitudes de
páginas que no están en la memoria obligan a la base de datos a leer bloques del disco. Si el evento
IO:DataFileRead se produce con frecuencia, es posible que el grupo de búferes compartidos sea
1502
Amazon Aurora Guía del usuario de Aurora
IO:DataFileRead
demasiado pequeño para acomodar la carga de trabajo. Este problema se agudiza en las consultas
SELECT que leen un gran número de filas que no caben en el grupo de búferes. Para más información
sobre el grupo de búferes, consulte Grupo de búferes (p. 904).
Picos de conexión
Es posible que varias conexiones generen el mismo número de eventos de espera IO:DataFileRead.
En este caso, puede producirse un pico (aumento repentino y grande) en los eventos
IO:DataFileRead.
Instrucciones SELECT y DML que hacen escaneos secuenciales
Es posible que la aplicación realice una nueva operación. O una operación existente podría cambiar
debido a un nuevo plan de ejecución. En estos casos, busque las tablas (particularmente las
tablas grandes) que tengan un valor de seq_scan mayor. Encuéntrelas mediante la consulta de
pg_stat_user_tables. Para rastrear las consultas que generan más operaciones de lectura, utilice
la extensión pg_stat_statements.
CTAS y CREATE INDEX para grandes conjuntos de datos
Un CTAS es una instrucción CREATE TABLE AS SELECT. Si ejecuta un CTAS con un conjunto
de datos grande como origen, o crea un índice en una tabla grande, puede producirse el evento
IO:DataFileRead. Cuando se crea un índice, es posible que la base de datos tenga que leer todo
el objeto mediante una exploración secuencial. Un CTAS genera lecturas IO:DataFile cuando las
páginas no están en la memoria.
Varios procesos de trabajo de vacío que se ejecutan al mismo tiempo
Los procesos de trabajo de vacío pueden activarse de forma manual o automática. Se recomienda
adoptar una estrategia de vacío agresiva. Sin embargo, cuando una tabla tiene muchas filas
actualizadas o eliminadas, las esperas IO:DataFileRead aumentan. Una vez recuperado el
espacio, el tiempo de vacío dedicado a IO:DataFileRead disminuye.
Ingesta de grandes cantidades de datos
Cuando la aplicación ingiere grandes cantidades de datos, las operaciones ANALYZE pueden
producirse con mayor frecuencia. El proceso ANALYZE se puede activar mediante un desencadenador
de autovacuum o invocarse de forma manual.
La operación ANALYZE lee un subconjunto de la tabla. El número de páginas que deben ser
escaneadas se calcula al multiplicar 30 por el valor de default_statistics_target.
Para obtener más información, consulte la documentación de PostgreSQL. El parámetro
default_statistics_target acepta valores entre 1 y 10 000, siendo el valor por defecto 100.
Falta de recursos
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Temas
• Verificar los filtros de predicado para las consultas que generan esperas (p. 1504)
• Minimizar el efecto de las operaciones de mantenimiento (p. 1504)
1503
Amazon Aurora Guía del usuario de Aurora
IO:DataFileRead
Verificar los filtros de predicado para las consultas que generan esperas
Supongamos que identifica consultas específicas que generan eventos de espera IO:DataFileRead.
Puede identificarlos con las siguientes técnicas:
Le recomendamos que determine qué filtros se utilizan en el predicado (cláusula WHERE) de estas
consultas. Siga estas instrucciones:
• Ejecute el comando EXPLAIN. En la salida, identifique qué tipos de escaneos se utilizan. Un escaneo
secuencial no indica necesariamente un problema. Las consultas que utilizan escaneos secuenciales
producen naturalmente más eventos IO:DataFileRead en comparación con las consultas que utilizan
filtros.
• Ejecute las operaciones de mantenimiento de forma manual durante las horas de menor actividad. Esta
técnica evita que la base de datos alcance el umbral de las operaciones automáticas.
• Para tablas muy grandes, considere la posibilidad de particionar la tabla. Esta técnica reduce la
sobrecarga de las operaciones de mantenimiento. La base de datos solo accede a las particiones que
requieren mantenimiento.
• Cuando capture grandes cantidades de datos, considere la posibilidad de desactivar la característica de
autoanálisis.
La característica de autovacuum se activa de forma automática para una tabla cuando la siguiente fórmula
es verdadera.
La vista pg_stat_user_tables y el catálogo pg_class tienen varias filas. Una fila puede
corresponder a una fila de la tabla. Esta fórmula asume que las reltuples son para una tabla
1504
Amazon Aurora Guía del usuario de Aurora
IO:DataFileRead
Temas
• Buscar tablas que consumen espacio innecesario (p. 1505)
• Buscar índices que consumen espacio innecesario (p. 1506)
• Buscar tablas aptas para autovacuum (p. 1507)
Para buscar tablas que consumen espacio innecesario, ejecute la siguiente consulta.
/* WARNING: Run with a nonsuperuser role, the query inspects only tables
* that you have the permission to read.
* This query is compatible with PostgreSQL 9.0 and later.
*/
1505
Amazon Aurora Guía del usuario de Aurora
IO:DataFileRead
1506
Amazon Aurora Guía del usuario de Aurora
IO:DataFileRead
--This query shows tables that need vacuuming and are eligible candidates.
1507
Amazon Aurora Guía del usuario de Aurora
IO:DataFileRead
--The following query lists all tables that are due to be processed by autovacuum.
-- During normal operation, this query should return very little.
WITH vbt AS (SELECT setting AS autovacuum_vacuum_threshold
FROM pg_settings WHERE name = 'autovacuum_vacuum_threshold')
, vsf AS (SELECT setting AS autovacuum_vacuum_scale_factor
FROM pg_settings WHERE name = 'autovacuum_vacuum_scale_factor')
, fma AS (SELECT setting AS autovacuum_freeze_max_age
FROM pg_settings WHERE name = 'autovacuum_freeze_max_age')
, sto AS (SELECT opt_oid, split_part(setting, '=', 1) as param,
split_part(setting, '=', 2) as value
FROM (SELECT oid opt_oid, unnest(reloptions) setting FROM pg_class) opt)
SELECT
'"'||ns.nspname||'"."'||c.relname||'"' as relation
, pg_size_pretty(pg_table_size(c.oid)) as table_size
, age(relfrozenxid) as xid_age
, coalesce(cfma.value::float, autovacuum_freeze_max_age::float)
autovacuum_freeze_max_age
, (coalesce(cvbt.value::float, autovacuum_vacuum_threshold::float) +
coalesce(cvsf.value::float,autovacuum_vacuum_scale_factor::float) * c.reltuples)
as autovacuum_vacuum_tuples
, n_dead_tup as dead_tuples
FROM pg_class c
JOIN pg_namespace ns ON ns.oid = c.relnamespace
JOIN pg_stat_all_tables stat ON stat.relid = c.oid
JOIN vbt on (1=1)
JOIN vsf ON (1=1)
JOIN fma on (1=1)
LEFT JOIN sto cvbt ON cvbt.param = 'autovacuum_vacuum_threshold' AND c.oid = cvbt.opt_oid
LEFT JOIN sto cvsf ON cvsf.param = 'autovacuum_vacuum_scale_factor' AND c.oid =
cvsf.opt_oid
LEFT JOIN sto cfma ON cfma.param = 'autovacuum_freeze_max_age' AND c.oid = cfma.opt_oid
WHERE c.relkind = 'r'
AND nspname <> 'pg_catalog'
AND (
age(relfrozenxid) >= coalesce(cfma.value::float, autovacuum_freeze_max_age::float)
or
coalesce(cvbt.value::float, autovacuum_vacuum_threshold::float) +
coalesce(cvsf.value::float,autovacuum_vacuum_scale_factor::float) * c.reltuples <=
n_dead_tup
-- or 1 = 1
)
ORDER BY age(relfrozenxid) DES;
• Limite el número de conexiones que la aplicación puede abrir con cada instancia. Si la aplicación tiene
una característica de grupo de conexiones integrada, establezca un número razonable de conexiones.
Base el número en lo que las vCPU de su instancia puedan paralelizar de forma efectiva.
1508
Amazon Aurora Guía del usuario de Aurora
IO:XactSync
estas solicitudes al punto de conexión de solo lectura. Esta técnica reparte las peticiones de la aplicación
entre todos los nodos de lectura, lo que reduce la presión de E/S en el nodo de escritura.
• Considere la posibilidad de escalar verticalmente su instancia de base de datos. Una clase de instancia
de mayor capacidad proporciona más memoria, lo que le da a Aurora PostgreSQL un grupo de búferes
compartidos más grande para mantener las páginas. El tamaño más grande también le da a la instancia
de base de datos más vCPU para manejar las conexiones. Más vCPU son especialmente útiles cuando
las operaciones que generan eventos de espera IO:DataFileRead se escriben.
IO:XactSync
El evento IO:XactSync ocurre cuando la base de datos espera que el subsistema de almacenamiento
de Aurora acuse de recibo la confirmación de una transacción regular, o la confirmación o restauración
de una transacción preparada. Una transacción preparada es parte del soporte de PostgreSQL para una
confirmación en dos fases.
Temas
• Versiones del motor admitidas (p. 1509)
• Contexto (p. 1509)
• Causas probables del aumento de las esperas (p. 1509)
• Acciones (p. 1509)
Contexto
El evento IO:XactSync indica que la instancia pasa tiempo esperando que el subsistema de
almacenamiento de Aurora confirme que los datos de la transacción fueron procesados.
Saturación de la red
El tráfico entre los clientes y la instancia de base de datos o el tráfico hacia el subsistema de
almacenamiento podría ser demasiado pesado para el ancho de banda de la red.
Presión de la CPU
Una gran carga de trabajo podría evitar que el daemon de almacenamiento de Aurora obtenga
suficiente tiempo de CPU.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Temas
• Monitorear los recursos (p. 1510)
• Escalar verticalmente la CPU (p. 1510)
• Aumentar el ancho de banda de la red (p. 1510)
1509
Amazon Aurora Guía del usuario de Aurora
ipc:damrecordtxack
Para obtener información acerca de estas métricas, consulte Métricas de nivel de instancia para Amazon
Aurora (p. 625).
Si el ancho de banda de la red es un problema, considere cambiar a un tipo de instancia con más ancho
de banda de red. Para obtener información sobre el rendimiento de la red para una clase de instancia de
base de datos, consulte Especificaciones de hardware para clases de instancia de base de datos para
Aurora (p. 65).
ipc:damrecordtxack
El evento ipc:damrecordtxack ocurre cuando Aurora PostgreSQL en una sesión que utiliza
transmisiones de actividad de la base de datos genera un evento de transmisión de actividad, y luego
espera que ese evento se vuelva permanente.
Temas
• Versiones del motor relevantes (p. 1511)
• Contexto (p. 1511)
• Causas (p. 1511)
1510
Amazon Aurora Guía del usuario de Aurora
Lock:advisory
Contexto
En el modo síncrono, la durabilidad de los eventos de transmisión de actividad se ve favorecida por el
rendimiento de la base de datos. Mientras se espera una escritura duradera del evento, la sesión bloquea
otra actividad de la base de datos, lo que provoca el evento de espera ipc:damrecordtxack.
Causas
La causa más común para que el evento ipc:damrecordtxack aparezca en las esperas más altas es
que la característica de Transmisiones de actividades de la base de datos (DAS) es una auditoría integral.
Una mayor actividad SQL genera eventos de transmisiones de actividad que se deben registrar.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera:
Sin embargo, la característica DAS no puede garantizar la durabilidad de cada evento en modo
asíncrono.
Lock:advisory
El evento Lock:advisory ocurre cuando una aplicación PostgreSQL utiliza un bloqueo para coordinar la
actividad entre varias sesiones.
Temas
• Versiones del motor relevantes (p. 1511)
• Contexto (p. 1511)
• Causas (p. 1512)
• Acciones (p. 1512)
Contexto
Los bloqueos consultivos de PostgreSQL son bloqueos cooperativos a nivel de aplicación, bloqueados y
desbloqueados explícitamente por el código de la aplicación del usuario. Una aplicación puede usar los
bloqueos consultivos de PostgreSQL para coordinar la actividad a través de varias sesiones. A diferencia
1511
Amazon Aurora Guía del usuario de Aurora
Lock:advisory
de los bloqueos regulares a nivel de objeto o de fila, la aplicación tiene control total sobre el tiempo de vida
del bloqueo. Para más información, consulte Advisory Locks en la documentación de PostgreSQL.
Los bloqueos consultivos se pueden liberar antes de que finalice una transacción o mantenerse en una
sesión a través de las transacciones. Esto no es verdadero para los bloqueos implícitos, forzados por el
sistema, como un bloqueo de acceso exclusivo a una tabla adquirido por una instrucción CREATE INDEX.
Para una descripción de las funciones que se utilizan para adquirir (bloquear) y liberar (desbloquear) los
bloqueos de asesoramiento, consulte Advisory Lock Functions en la documentación de PostgreSQL.
Los bloqueos consultivos se implementan sobre el sistema de bloqueo regular de PostgreSQL y son
visibles en la vista del sistema pg_locks.
Causas
Este tipo de bloqueo es controlado exclusivamente por una aplicación que lo utiliza de forma explícita. Los
bloqueos consultivos que se adquieren para cada fila como parte de una consulta pueden causar un pico
de bloqueos o una acumulación a largo plazo.
Estos efectos se producen cuando la consulta se ejecuta de forma que adquiere bloqueos en más filas
de las que devuelve la consulta. La aplicación debe liberar finalmente todos los bloqueos, pero si se
adquieren bloqueos en filas que no se devuelven, la aplicación no puede encontrar todos los bloqueos.
En este ejemplo, la cláusula LIMIT solo puede detener la salida de la consulta después de que las
filas se hayan seleccionado internamente y sus valores de ID se hayan bloqueado. Esto puede ocurrir
de forma repentina cuando un volumen de datos creciente hace que el planificador elija un plan de
ejecución diferente que no fue probado durante el desarrollo. La acumulación en este caso ocurre porque
la aplicación llama explícitamente a pg_advisory_unlock para cada valor de ID que fue bloqueado.
Sin embargo, en este caso no se puede encontrar el conjunto de bloqueos adquiridos en las filas que no
fueron devueltas. Como los bloqueos se adquieren a nivel de sesión, no se liberan automáticamente al
final de la transacción.
Otra posible causa de los picos de intentos de bloqueo son los conflictos involuntarios. En estos conflictos,
partes no relacionadas de la aplicación comparten el mismo espacio de ID de bloqueo por error.
Acciones
Revisar el uso de la aplicación de los bloqueos consultivos y detallar dónde y cuándo en el flujo de la
aplicación se adquiere y libera cada tipo de bloqueo consultivo.
Determine si una sesión adquiere demasiados bloqueos o si una sesión de larga duración no libera los
bloqueos con suficiente antelación, lo que provoca una acumulación lenta de bloqueos. Puede corregir una
acumulación lenta de bloqueos de sesión si finaliza la sesión con pg_terminate_backend(pid).
A continuación, puede identificar la sesión de bloqueo al consultar pg_locks para el mismo bloqueo
consultivo con granted=t, como se muestra en el siguiente ejemplo.
1512
Amazon Aurora Guía del usuario de Aurora
Lock:extend
blocked_activity.usename AS blocked_user,
blocking_activity.usename AS blocking_user,
now() - blocked_activity.xact_start AS blocked_transaction_duration,
now() - blocking_activity.xact_start AS blocking_transaction_duration,
concat(blocked_activity.wait_event_type,':',blocked_activity.wait_event) AS
blocked_wait_event,
concat(blocking_activity.wait_event_type,':',blocking_activity.wait_event) AS
blocking_wait_event,
blocked_activity.state AS blocked_state,
blocking_activity.state AS blocking_state,
blocked_locks.locktype AS blocked_locktype,
blocking_locks.locktype AS blocking_locktype,
blocked_activity.query AS blocked_statement,
blocking_activity.query AS blocking_statement
FROM pg_catalog.pg_locks blocked_locks
JOIN pg_catalog.pg_stat_activity blocked_activity ON blocked_activity.pid =
blocked_locks.pid
JOIN pg_catalog.pg_locks blocking_locks
ON blocking_locks.locktype = blocked_locks.locktype
AND blocking_locks.DATABASE IS NOT DISTINCT FROM blocked_locks.DATABASE
AND blocking_locks.relation IS NOT DISTINCT FROM blocked_locks.relation
AND blocking_locks.page IS NOT DISTINCT FROM blocked_locks.page
AND blocking_locks.tuple IS NOT DISTINCT FROM blocked_locks.tuple
AND blocking_locks.virtualxid IS NOT DISTINCT FROM blocked_locks.virtualxid
AND blocking_locks.transactionid IS NOT DISTINCT FROM blocked_locks.transactionid
AND blocking_locks.classid IS NOT DISTINCT FROM blocked_locks.classid
AND blocking_locks.objid IS NOT DISTINCT FROM blocked_locks.objid
AND blocking_locks.objsubid IS NOT DISTINCT FROM blocked_locks.objsubid
AND blocking_locks.pid != blocked_locks.pid
JOIN pg_catalog.pg_stat_activity blocking_activity ON blocking_activity.pid =
blocking_locks.pid
WHERE NOT blocked_locks.GRANTED;
Todas las funciones de la API de bloqueo consultivo tienen dos conjuntos de argumentos, un argumento
bigint o dos argumentos integer:
• Para las funciones API con un argumento bigint, los 32 bits superiores están en pg_locks.classid
y los 32 bits inferiores están en pg_locks.objid.
• Para las funciones de la API con dos argumentos integer, el primer argumento es
pg_locks.classid y el segundo argumento es pg_locks.objid.
El valor de pg_locks.objsubid indica qué forma de la API se utilizó: 1 significa un argumento bigint;
2 significa dos argumentos integer.
Lock:extend
El evento Lock:extend se produce cuando un proceso del backend espera bloquear una relación para
extenderla mientras otro proceso tiene un bloqueo en esa relación con el mismo propósito.
Temas
• Versiones del motor admitidas (p. 1513)
• Contexto (p. 1514)
• Causas probables del aumento de las esperas (p. 1514)
• Acciones (p. 1514)
1513
Amazon Aurora Guía del usuario de Aurora
Lock:extend
Contexto
El evento Lock:extend indica que un proceso backend se encuentra a la espera de extender una
relación sobre la que otro proceso backend tiene un bloqueo mientras está extendiendo esa relación.
Debido a que solo un proceso a la vez puede extender una relación, el sistema genera un evento de
espera Lock:extend. Las operaciones INSERT, COPY y UPDATE pueden generar este evento.
Puede haber un aumento en el número de sesiones concurrentes con consultas que insertan o
actualizan la misma tabla.
Ancho de banda de red insuficiente
El ancho de banda de la red en la instancia de base de datos puede ser insuficiente para las
necesidades de comunicación del almacenamiento de la carga de trabajo actual. Esto puede contribuir
a la latencia del almacenamiento que provoca un aumento de los eventos Lock:extend.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Temas
• Reducir las inserciones y actualizaciones concurrentes en la misma relación (p. 1514)
• Aumentar el ancho de banda de la red (p. 1515)
Para obtener más información acerca de las consultas bloqueadas y no bloqueadas, consulte
pg_stat_activity como en el siguiente ejemplo:
SELECT
blocked.pid,
blocked.usename,
blocked.query,
blocking.pid AS blocking_id,
blocking.query AS blocking_query,
blocking.wait_event AS blocking_wait_event,
blocking.wait_event_type AS blocking_wait_event_type
FROM pg_stat_activity AS blocked
JOIN pg_stat_activity AS blocking ON blocking.pid = ANY(pg_blocking_pids(blocked.pid))
where
blocked.wait_event = 'extend'
and blocked.wait_event_type = 'Lock';
1514
Amazon Aurora Guía del usuario de Aurora
Lock:Relation
------+----------+------------------------------+-------------
+------------------------------------------------------------------+---------------------
+--------------------------
7143 | myuser | insert into tab1 values (1); | 4600 | INSERT INTO tab1 (a)
SELECT s FROM generate_series(1,1000000) s; | DataFileExtend | IO
Después de identificar las relaciones que contribuyen a aumentar los eventos Lock:extend, utilice las
siguientes técnicas para reducir la contención:
• Compruebe si puede utilizar el particionamiento para reducir la contención para la misma tabla. Separar
las tuplas insertadas o actualizadas en diferentes particiones puede reducir la contención. Para obtener
información sobre las particiones, consulte Administración de las particiones de PostgreSQL con la
extensión pg_partman (p. 1647).
• Si el evento de espera se debe principalmente a la actividad de actualización, considere reducir el valor
de fillfactor de la relación. Esto puede reducir las solicitudes de nuevos bloques durante la actualización.
El fillfactor es un parámetro de almacenamiento para una tabla que determina la cantidad máxima de
espacio para empaquetar una página de la tabla. Se expresa como un porcentaje del espacio total
de una página. Para más información sobre el parámetro fillfactor, consulte CREATE TABLE en la
documentación de PostgreSQL.
Important
Recomendamos ampliamente que pruebe su sistema si cambia el fillfactor porque cambiar este
valor puede impactar negativamente en el rendimiento, de acuerdo a su carga de trabajo.
Para obtener más información acerca de las métricas de CloudWatch, consulte Métricas de Amazon
Aurora (p. 618). Para obtener información sobre el rendimiento de la red para cada clase de instancia de
base de datos, consulte Especificaciones de hardware para clases de instancia de base de datos para
Aurora (p. 65).
Lock:Relation
El evento Lock:Relation ocurre cuando una consulta espera adquirir un bloqueo en una tabla o vista
(relación) que se encuentra bloqueada por otra transacción.
Temas
• Versiones del motor admitidas (p. 1515)
• Contexto (p. 1516)
• Causas probables del aumento de las esperas (p. 1516)
• Acciones (p. 1517)
1515
Amazon Aurora Guía del usuario de Aurora
Lock:Relation
Contexto
La mayoría de los comandos de PostgreSQL utilizan implícitamente bloqueos para controlar el acceso
concurrente a los datos de las tablas. También puede utilizar estos bloqueos explícitamente en su código
de aplicación con el comando LOCK. Muchos modos de bloqueo no son compatibles entre sí, y pueden
bloquear las transacciones cuando intentan acceder al mismo objeto. Cuando esto sucede, Aurora
PostgreSQL genera un evento Lock:Relation. Algunos ejemplos comunes son los siguientes:
• Los bloqueos exclusivos como ACCESS EXCLUSIVE pueden bloquear todos los accesos concurrentes.
Las operaciones del lenguaje de definición de datos (DDL) como DROP TABLE, TRUNCATE, VACUUM
FULL y CLUSTER adquieren bloqueos ACCESS EXCLUSIVE implícitamente. ACCESS EXCLUSIVE es
también el modo de bloqueo por defecto para las instrucciones LOCK TABLE que no especifican un
modo explícitamente.
• El uso de CREATE INDEX (without CONCURRENT) en una tabla entra en conflicto con las
instrucciones de lenguaje de manipulación de datos (DML) UPDATE, DELETE e INSERT, que adquieren
bloqueos ROW EXCLUSIVE.
Para más información sobre los bloqueos a nivel de tabla y los modos de bloqueo conflictivos, consulte
Explicit Locking en la documentación de PostgreSQL.
Las consultas y transacciones que se bloquean normalmente se desbloquean de una de las siguientes
maneras:
• Consulta de bloqueo: la aplicación puede cancelar la consulta o el usuario puede terminar el proceso. El
motor también puede forzar la finalización de la consulta debido al tiempo de espera de una sesión o a
un mecanismo de detección de bloqueos.
• Transacción bloqueada: una transacción deja de bloquearse cuando se ejecuta una instrucción
ROLLBACK o COMMIT. Las restauraciones también ocurren de forma automática cuando las sesiones
se desconectan por un cliente o por problemas de red, o se terminan. Las sesiones se pueden terminar
cuando el motor de base de datos se apaga, cuando el sistema se queda sin memoria, etc.
Puede haber un aumento en el número de sesiones concurrentes con consultas que bloquean la
misma tabla con modos de bloqueo conflictivos.
Operaciones de mantenimiento
Puede haber un aumento de los bloqueos adquiridos en las instancias de lectura. Desde el punto
de vista de los bloqueos, Aurora PostgreSQL trata las instancias de escritor y lector como una sola
unidad. Por lo tanto, los bloqueos adquiridos en una instancia lectora pueden bloquear las consultas
en el escritor. Del mismo modo, los bloqueos en el escritor pueden bloquear las consultas del lector.
1516
Amazon Aurora Guía del usuario de Aurora
Lock:Relation
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Temas
• Reducir el impacto de las instrucciones SQL que se bloquean (p. 1517)
• Minimizar el efecto de las operaciones de mantenimiento (p. 1517)
• Verificar los bloqueos de los lectores (p. 1517)
• Utilizar la opción NOWAIT: algunos comandos SQL, como las instrucciones SELECT y LOCK, admiten
esta opción. La directiva NOWAIT cancela la consulta que solicita el bloqueo si éste no puede adquirirse
inmediatamente. Esta técnica puede ayudar a evitar que una sesión bloqueada provoque una
acumulación de sesiones bloqueadas detrás de ella.
Por ejemplo: Supongamos que la transacción A espera un bloqueo que tiene la transacción B. Ahora,
si B solicita un bloqueo en una tabla que está bloqueada por la transacción C, la transacción A podría
quedar bloqueada hasta que la transacción C finalice. Pero si la transacción B utiliza un NOWAIT cuando
solicita el bloqueo en C, puede fallar rápido y asegurar que la transacción A no tenga que esperar de
forma indefinida.
• Utilice SET lock_timeout: establezca un valor de lock_timeout para limitar el tiempo que una
sentencia SQL espera para adquirir un bloqueo en una relación. Si el bloqueo no se adquiere dentro del
tiempo de espera especificado, la transacción que solicita el bloqueo se cancela. Establezca este valor
en la sesión.
• Ejecute las operaciones de mantenimiento de forma manual durante las horas de menor actividad.
• Para reducir las esperas de Lock:Relation causadas por las tareas de autovacuum, realice los
ajustes de autovacuum necesarios. Para obtener información sobre el ajuste de autovacuum, consulte
Trabajo con Autovacuum de PostgreSQL en Amazon RDS en la Guía del usuario de Amazon RDS.
1517
Amazon Aurora Guía del usuario de Aurora
Lock:transactionid
La sesión de lector
postgres=> SELECT
locktype, relation, mode, consulta pg_locks y
backend_type pg_stat_activity para
postgres-> FROM pg_locks l, determinar la causa del error. El
pg_stat_activity t1 resultado indica que el proceso
postgres-> WHERE de aurora wal replay
l.pid=t1.pid AND relation = mantiene un bloqueo ACCESS
't1'::regclass::oid;
EXCLUSIVE en la tabla t1.
locktype | relation |
mode |
backend_type
----------+----------
+---------------------
+-------------------
relation | 68628525 |
AccessExclusiveLock |
aurora wal replay
(1 row)
Lock:transactionid
El evento Lock:transactionid se produce cuando una transacción espera un bloqueo a nivel de fila.
Temas
1518
Amazon Aurora Guía del usuario de Aurora
Lock:transactionid
Contexto
El evento Lock:transactionid ocurre cuando una transacción intenta adquirir un bloqueo a nivel de
fila que ya fue otorgado a una transacción que se está ejecutando al mismo tiempo. La sesión que muestra
el evento de espera Lock:transactionid se encuentra bloqueada debido a este bloqueo. Después de
que la transacción bloqueada termine con una instrucción COMMIT o ROLLBACK, la transacción bloqueada
puede continuar.
La semántica de control de concurrencia multiversión de Aurora PostgreSQL garantiza que los lectores no
bloqueen a los escritores y que los escritores no bloqueen a los lectores. ara que se produzcan conflictos
en las filas, las transacciones bloqueantes y bloqueadas deben emitir instrucciones conflictivas de los
siguientes tipos:
• UPDATE
• SELECT … FOR UPDATE
• SELECT … FOR KEY SHARE
La instrucción SELECT … FOR KEY SHARE es un caso especial. La base de datos utiliza la cláusula
FOR KEY SHARE para optimizar el rendimiento de la integridad referencial. Un bloqueo en una fila puede
bloquear los comandos INSERT, UPDATE y DELETE en otras tablas que hacen referencia a la fila.
Temas
• Gran concurrencia (p. 1519)
• Inactividad en la transacción (p. 1519)
• Transacciones de larga duración (p. 1520)
Gran concurrencia
Aurora PostgreSQL puede utilizar una semántica de bloqueo pormenorizada por filas. La probabilidad de
conflictos entre filas aumenta cuando se cumplen las siguientes condiciones:
• Una carga de trabajo de gran concurrencia compite por las mismas filas.
• Aumenta la concurrencia.
Inactividad en la transacción
A veces la columna pg_stat_activity.state muestra el valor idle in transaction. Este
valor aparece para las sesiones que iniciaron una transacción, pero aún no han emitido un COMMIT o
ROLLBACK. Si el valor de pg_stat_activity.state no se encuentra active, la consulta mostrada en
1519
Amazon Aurora Guía del usuario de Aurora
Lock:transactionid
Si una transacción inactiva adquirió un bloqueo entre filas, puede impedir que otras sesiones lo adquieran.
Esta condición conduce a la aparición frecuente del evento de espera Lock:transactionid. Para
diagnosticar el problema, examine la salida de pg_stat_activity y pg_locks.
Acciones
El bloqueo de filas es un conflicto entre las instrucciones UPDATE, SELECT … FOR UPDATE, o SELECT
… FOR KEY SHARE. Antes de intentar una solución, averigüe cuándo se están ejecutando estas
instrucciones en la misma fila. Utilice esta información para elegir una estrategia descrita en las siguientes
secciones.
Temas
• Responder a la alta concurrencia (p. 1520)
• Responder a las transacciones inactivas (p. 1520)
• Responder a las transacciones de larga duración (p. 1520)
• Active la confirmación automática siempre que sea posible. Este enfoque evita que las transacciones
bloqueen otras transacciones mientras esperan un COMMIT o ROLLBACK.
• Busque rutas de código en las que falten COMMIT, ROLLBACK o END.
• Asegúrese de que la lógica de manejo de excepciones en su aplicación siempre tiene una ruta hacia
válido end of transaction.
• Asegúrese de que su aplicación procesa los resultados de la consulta después de finalizar la transacción
con COMMIT o ROLLBACK.
1520
Amazon Aurora Guía del usuario de Aurora
Lock:tuple
• Limite la longitud de las consultas mediante la implementación de confirmación automática siempre que
sea posible.
Lock:tuple
El evento Lock:tuple se produce cuando un proceso backend espera adquirir un bloqueo sobre una
tupla.
Temas
• Versiones del motor admitidas (p. 1521)
• Contexto (p. 1521)
• Causas probables del aumento de las esperas (p. 1521)
• Acciones (p. 1522)
Contexto
El evento Lock:tuple indica que un backend espera adquirir un bloqueo sobre una tupla mientras otro
backend mantiene un bloqueo conflictivo sobre la misma tupla. La siguiente tabla ilustra un escenario en el
que las sesiones generan el evento Lock:tuple.
t2 Actualiza la fila 1.
También puede simular este evento de espera con la herramienta de punto de referencia pgbench.
Configure un alto número de sesiones concurrentes para actualizar la misma fila en una tabla con un
archivo SQL personalizado.
Para obtener más información sobre los modos de bloqueo conflictivos, consulte E en la documentación
de PostgreSQL. Para más información sobre pgbench, consulte pgbench en la documentación de
PostgreSQL.
1521
Amazon Aurora Guía del usuario de Aurora
Lock:tuple
• Un gran número de sesiones concurrentes están intentando adquirir un bloqueo conflictivo para la
misma tupla al ejecutar instrucciones UPDATE o DELETE.
• Las sesiones altamente concurrentes se encuentran en ejecución con una instrucción SELECT que utiliza
los modos de bloqueo FOR UPDATE o FOR NO KEY UPDATE.
• Varios factores hacen que la aplicación o los grupos de conexión abran más sesiones para ejecutar las
mismas operaciones. A medida que nuevas sesiones intentan modificar las mismas filas, la carga de la
base de datos puede aumentar y puede aparecer Lock:tuple.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Temas
• Investigue la lógica de su aplicación (p. 1522)
• Encontrar la sesión bloqueadora (p. 1522)
• Reducir la concurrencia cuando es alta (p. 1523)
• Solucionar los cuellos de botella (p. 1523)
El siguiente ejemplo muestra todas las sesiones, con un filtro tuple y ordenadas por wait_time.
--AURORA_STAT_BACKEND_WAITS
SELECT a.pid,
a.usename,
a.app_name,
a.current_query,
a.current_wait_type,
a.current_wait_event,
a.current_state,
1522
Amazon Aurora Guía del usuario de Aurora
Lock:tuple
wt.type_name AS wait_type,
we.event_name AS wait_event,
a.waits,
a.wait_time
FROM (SELECT pid,
usename,
left(application_name,16) AS app_name,
coalesce(wait_event_type,'CPU') AS current_wait_type,
coalesce(wait_event,'CPU') AS current_wait_event,
state AS current_state,
left(query,80) as current_query,
(aurora_stat_backend_waits(pid)).*
FROM pg_stat_activity
WHERE pid <> pg_backend_pid()
AND usename<>'rdsadmin') a
NATURAL JOIN aurora_stat_wait_type() wt
NATURAL JOIN aurora_stat_wait_event() we
WHERE we.event_name = 'tuple'
ORDER BY a.wait_time;
Puede reducir la concurrencia mediante el uso de diferentes enfoques basados en los requisitos de la
empresa, lógica de la aplicación y tipo de carga de trabajo. Por ejemplo, puede hacer lo siguiente:
1523
Amazon Aurora Guía del usuario de Aurora
lwlock:buffer_content (BufferContent)
lwlock:buffer_content (BufferContent)
El evento lwlock:buffer_content ocurre cuando una sesión espera para leer o escribir una página de
datos en memoria mientras otra sesión tiene esa página bloqueada para escribir. En Aurora PostgreSQL
13 y versiones posteriores, este evento de espera se llama BufferContent.
Temas
• Versiones del motor admitidas (p. 1524)
• Contexto (p. 1524)
• Causas probables del aumento de las esperas (p. 1524)
• Acciones (p. 1524)
Contexto
Para leer o manipular datos, PostgreSQL accede a ellos a través de búferes de memoria compartida.
Para leer del búfer, un proceso obtiene un bloqueo ligero (LWLock) sobre el contenido del búfer en modo
compartido. Para escribir en el búfer, obtiene ese bloqueo en modo exclusivo. Los bloqueos compartidos
permiten a otros procesos adquirir simultáneamente bloqueos compartidos sobre ese contenido. Los
bloqueos exclusivos impiden que otros procesos obtengan cualquier tipo de bloqueo sobre él.
Puede haber un aumento en el número de sesiones concurrentes con consultas que actualizan
el mismo contenido del búfer. Esta contención puede ser más pronunciada en tablas con muchos
índices.
Los datos de carga de trabajo no están en la memoria
Cuando los datos que la carga de trabajo activa está procesando no están en memoria, estos eventos
de espera pueden aumentar. Este efecto se debe a que los procesos que mantienen bloqueos pueden
mantenerlos durante más tiempo mientras hacen operaciones de E/S en disco.
Uso excesivo de restricciones de clave externa
Las restricciones de clave externa pueden aumentar el tiempo que un proceso mantiene un bloqueo
de contenido de búfer. Este efecto se debe a que las operaciones de lectura requieren un bloqueo de
contenido de búfer compartido en la clave referenciada mientras se actualiza dicha clave.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera. Puede identificar
los eventos lwlock:buffer_content (BufferContent) mediante Información sobre rendimiento de
Amazon RDS o consultar la vista pg_stat_activity.
1524
Amazon Aurora Guía del usuario de Aurora
LWLock:buffer_mapping
Temas
• Mejorar la eficiencia en memoria (p. 1525)
• Reducir el uso de restricciones de clave externa (p. 1525)
• Eliminar los índices que no se utilizan (p. 1525)
LWLock:buffer_mapping
Este evento se produce cuando una sesión espera asociar un bloque de datos con un búfer en el grupo de
búferes compartidos.
Note
Temas
• Versiones del motor admitidas (p. 1525)
• Contexto (p. 1525)
• Causas (p. 1526)
• Acciones (p. 1526)
Contexto
El grupo de búferes compartidos es un área de memoria de Aurora PostgreSQL que contiene todas las
páginas que se están o se estaban utilizando por los procesos. Cuando un proceso necesita una página,
lee la página en el grupo de búferes compartidos. El parámetro shared_buffers establece el tamaño del
búfer compartido y reserva un área de memoria para almacenar las páginas de tablas e índices. Si cambia
este parámetro, asegúrese de reiniciar la base de datos. Para obtener más información, consulte . Búferes
compartidos (p. 1484).
1525
Amazon Aurora Guía del usuario de Aurora
LWLock:buffer_mapping
• Un proceso busca una página en la tabla de búferes y adquiere un bloqueo de asignación de búferes
compartidos.
• Un proceso carga una página en el grupo de búferes y adquiere un bloqueo de asignación de búferes
exclusivo.
• Un proceso elimina una página del grupo y adquiere un bloqueo de asignación de búferes exclusivo.
Causas
Cuando este evento aparece más de lo normal, lo que puede indicar un problema de rendimiento, la base
de datos entra y sale del grupo de búferes compartidos. Las causas típicas son las siguientes:
• Consultas grandes
• Índices y tablas sobrecargados
• Escaneos completos de tablas
• Un tamaño del grupo compartido menor que el conjunto de trabajo
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Temas
• Monitorear las métricas relacionadas con el buffer (p. 1526)
• Evaluar la estrategia de indexación (p. 1526)
• Reducir el número de búferes que deben ser asignados rápidamente (p. 1527)
BufferCacheHitRatio
Esta métrica de Amazon CloudWatch mide el porcentaje de solicitudes que se atienden en la caché
del búfer de una instancia de base de datos en su clúster de base de datos. Es posible que esta
métrica disminuya en el periodo previo al evento de espera LWLock:buffer_mapping.
blks_hit
Esta métrica del contador de Información sobre rendimiento indica el número de bloques que se
recuperaron del grupo de búferes compartidos. Después de que aparezca el evento de espera
LWLock:buffer_mapping, se puede observar un pico en blks_hit.
blks_read
Esta métrica del contador de Información sobre rendimiento indica el número de bloques que
requirieron E/S para leerse en el grupo de búferes compartidos. Puede observar un pico en
blks_read en el periodo previo al evento de espera LWLock:buffer_mapping.
1526
Amazon Aurora Guía del usuario de Aurora
LWLock:BufferIO
Para determinar si cuenta con los índices óptimos, monitoree las métricas del motor de base de datos
en Información sobre rendimiento. La métrica tup_returned muestra el número de filas leídas. La
métrica tup_fetched muestra el número de filas devueltas al cliente. Si tup_returned es mucho
mayor que tup_fetched, es posible que los datos no estén bien indexados. Además, es posible que
las estadísticas de la tabla no se encuentren actualizadas.
LWLock:BufferIO
El evento LWLock:BufferIO ocurre cuando Aurora PostgreSQL o RDS for PostgreSQL espera que otros
procesos terminen sus operaciones de entrada/salida (E/S) cuando intentan acceder a una página de
forma simultánea. Su propósito es que la misma página se lea en el búfer compartido.
Temas
• Versiones del motor relevantes (p. 1527)
• Contexto (p. 1527)
• Causas (p. 1528)
• Acciones (p. 1528)
Contexto
Cada búfer compartido tiene un bloqueo de E/S que está asociado con el evento de espera
LWLock:BufferIO, cada vez que un bloque (o una página) se tiene que recuperar fuera del grupo de
búferes compartidos.
Este bloqueo se utiliza para manejar múltiples sesiones que requieren acceso al mismo bloque. Este
bloque se tiene que leer desde fuera del grupo de búferes compartidos, que se define con el parámetro
shared_buffers.
Tan pronto como la página se lee dentro del grupo de búferes compartidos, el bloqueo LWLock:BufferIO
se libera.
Note
1527
Amazon Aurora Guía del usuario de Aurora
LWLock:lock_manager
Para obtener más información sobre los bloqueos ligeros, consulte Información general sobre los bloqueos.
Causas
Las causas más comunes para que el evento LWLock:BufferIO aparezca en el máximo de esperas son
las siguientes:
• Varios backends o conexiones que intentan acceder a la misma página que también tiene pendiente una
operación de E/S
• La relación entre el tamaño del grupo de búferes compartidos (definido por el parámetro
shared_buffers) y el número de búferes que necesita la carga de trabajo actual
• El tamaño del grupo de búferes compartidos no está bien equilibrado con el número de páginas que se
desalojan por otras operaciones
• Índices grandes o sobrecargados que requieren que el motor lea más páginas de las necesarias en el
grupo de búferes compartidos
• La falta de índices obliga al motor de la base de datos a leer más páginas de las necesarias en las tablas
• Puntos de control que se producen con demasiada frecuencia o que necesitan vaciar demasiadas
páginas modificadas
• Picos repentinos de conexiones a la base de datos que intentan hacer operaciones en la misma página
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera:
• Observe las métricas de Amazon CloudWatch en busca de una correlación entre los descensos bruscos
de los eventos de espera BufferCacheHitRatio y LWLock:BufferIO. Este efecto a veces significa
que tiene una configuración de búferes compartidos pequeña. Puede que tenga que aumentarla o
escalar verticalmente la clase de instancia de base de datos. Puede dividir su carga de trabajo en más
nodos de lectura.
• Ajuste max_wal_size y checkpoint_timeout en función del tiempo de pico de su carga de trabajo
si ve que LWLock:BufferIO coincide con las caídas de la métrica BufferCacheHitRatio. A
continuación, identifique qué consulta puede ser la causa.
• Verifique si tiene índices sin utilizar y elimínelos.
• Utilice tablas particionadas (que también tengan índices particionados). Esto ayuda a mantener un bajo
nivel de reordenación de índices y reduce su impacto.
• Evite indexar columnas innecesariamente.
• Evite los picos repentinos de conexión a la base de datos, utilice un grupo de conexiones.
• Limite el número máximo de conexiones a la base de datos como práctica recomendada.
LWLock:lock_manager
Este evento ocurre cuando el motor de Aurora PostgreSQL mantiene el área de memoria del bloqueo
compartido para asignar, verificar y desasignar un bloqueo cuando no es posible un bloqueo de ruta
rápida.
Temas
• Versiones del motor admitidas (p. 1529)
• Contexto (p. 1529)
• Causas probables del aumento de las esperas (p. 1530)
• Acciones (p. 1530)
1528
Amazon Aurora Guía del usuario de Aurora
LWLock:lock_manager
Contexto
Cuando se emite una instrucción SQL, Aurora PostgreSQL registra bloqueos para proteger la estructura,
datos e integridad de la base de datos durante las operaciones simultáneas. El motor puede lograr este
objetivo con un bloqueo de ruta rápido o con un bloqueo de ruta que no es rápido. Un bloqueo de ruta que
no es rápido es más caro y crea más sobrecarga que un bloqueo de ruta rápido.
El motor no puede utilizar el bloqueo de ruta rápida cuando se cumple alguna de las siguientes
condiciones:
Para más información sobre el bloqueo de ruta rápida, consulte fast path en el README del administrador
de bloqueos de PostgreSQL y pg-locks en la documentación de PostgreSQL.
1. Se consultan los datos de muchos días, lo que requiere que la base de datos lea muchas particiones.
2. La base de datos crea una entrada de bloqueo para cada partición. Si los índices de las particiones
forman parte de la ruta de acceso del optimizador, la base de datos también crea una entrada de
bloqueo para ellos.
3. Cuando el número de entradas de bloqueo solicitadas para el mismo proceso backend es superior a
16, que es el valor FP_LOCK_SLOTS_PER_BACKEND, el administrador de bloqueos utiliza el método de
bloqueo de ruta no rápida.
Las aplicaciones modernas pueden tener cientos de sesiones. Si las sesiones simultáneas consultan la
base de datos principal sin una poda adecuada de las particiones, la base de datos puede crear cientos
o incluso miles de bloqueos de ruta no rápida. Normalmente, cuando esta simultaneidad es mayor que el
número de vCPU, aparece el evento de espera LWLock:lock_manager.
Note
1529
Amazon Aurora Guía del usuario de Aurora
LWLock:lock_manager
• Las sesiones activas simultáneas ejecutan consultas que no utilizan bloqueos de ruta rápida. Estas
sesiones también exceden el máximo de vCPU.
• Un gran número de sesiones activas simultáneas acceden a una tabla con muchas particiones. Cada
partición tiene múltiples índices.
• La base de datos está experimentando una tormenta de conexiones. De forma predeterminada, algunas
aplicaciones y software de grupo de conexiones crean más conexiones cuando la base de datos es
lenta. Esta práctica empeora el problema. Ajuste el software de grupo de conexiones para que no se
produzcan tormentas de conexiones.
• Un gran número de sesiones consultan una tabla principal sin borrar particiones.
• Un lenguaje de definición de datos (DDL), un lenguaje de manipulación de datos (DML) o un comando
de mantenimiento bloquea exclusivamente una relación ocupada o tuplas a las que se accede o modifica
con frecuencia.
Acciones
Si se produce el evento de espera CPU, no indica necesariamente un problema de rendimiento. Responda
a este evento solo cuando el rendimiento disminuya y este evento de espera domine la carga de la base
de datos.
Temas
• Utilizar la poda de particiones (p. 1530)
• Eliminar índices innecesarios (p. 1530)
• Ajustar sus consultas para el bloqueo rápido de rutas (p. 1531)
• Ajustar otros eventos de espera (p. 1531)
• Reducir los cuellos de botella del hardware (p. 1531)
• Utilizar un grupo de conexiones (p. 1531)
• Actualice la versión Aurora PostgreSQL (p. 1531)
Las consultas pueden aprovechar la poda de particiones cuando la cláusula WHERE contiene la columna
que se utiliza para la partición. Para más información, consulte Partition Pruningc en la documentación de
PostgreSQL.
1530
Amazon Aurora Guía del usuario de Aurora
LWLock:lock_manager
• Ejecute PG Collector. Este script SQL recopila información de la base de datos y la presenta en un
informe HTML consolidado. Verifique la sección “Índices no utilizados”. Para más información, consulte
pg-collector en el repositorio GitHub de AWS Labs.
• Lock:Relation
• Lock:transactionid
• Lock:tuple
Para más información sobre la CPU, memoria y ancho de banda de red de EBS, consulte Tipos de
instancias de Amazon RDS.
Para más información sobre la agrupación de conexiones, consulte los siguientes recursos:
1531
Amazon Aurora Guía del usuario de Aurora
Timeout:PgSleep
sobre la versión 12, consulte las Notas de la versión 12.0 de PostgreSQL. Para más información sobre la
actualización de Aurora PostgreSQL, consulte Actualizaciones de Amazon Aurora PostgreSQL (p. 1721).
Timeout:PgSleep
El evento Timeout:PgSleep ocurre cuando un proceso del servidor llama a la función pg_sleep y
espera a que el tiempo de espera expire.
Temas
• Versiones del motor admitidas (p. 1532)
• Causas probables del aumento de las esperas (p. 1532)
• Acciones (p. 1532)
• pg_sleep
• pg_sleep_for
• pg_sleep_until
Las funciones anteriores retrasan la ejecución hasta que transcurra el número de segundos especificado.
Por ejemplo, SELECT pg_sleep(1) hace una pausa de 1 segundo. Para más información, consulte
Delaying Execution en la documentación de PostgreSQL.
Acciones
Identifique la sentencia que estaba ejecutando la función pg_sleep. Determine si el uso de la función es
adecuado.
• Establezca de forma agresiva paquetes keepalive de TCP para asegurarse de que las consultas que se
ejecutan durante más tiempo y siguen a la espera de una respuesta del servidor se detendrán antes de
que venza el tiempo de espera de lectura en caso de producirse un error.
1532
Amazon Aurora Guía del usuario de Aurora
Conmutación por error rápida
• Establezca, agresivamente, los tiempos de inactividad de la caché de DNS de Java para garantizar que
el punto de enlace de solo lectura de Aurora pueda desplazarse correctamente por nodos de solo lectura
en posteriores intentos de conexión.
• Establezca las variables de tiempo de inactividad, que se utilizan en la cadena de la conexión de JDBC,
con los valores más bajos posibles. Utilice objetos de conexión independientes para consultas de
ejecución corta y prolongada.
• Utilice los puntos de enlace de Aurora de lectura y escritura que se proporcionan para establecer una
conexión al clúster.
• Utilice las API de RDS para probar la respuesta de la aplicación ante errores del lado del servidor.
Asimismo, puede usar una herramienta para supresión de paquetes para probar la respuesta de la
aplicación ante errores del lado del cliente.
• Utilice el controlador JDBC para PostgreSQL de AWS (versión preliminar) para aprovechar al máximo
las capacidades de conmutación por error de Aurora PostgreSQL. Para obtener más información acerca
del controlador JDBC de AWS para PostgreSQL y las instrucciones completas para usarlo, consulte el
repositorio del controlador JDBC de AWS para PostgreSQL GitHub.
Contenido
• Configuración de parámetros Keepalive de TCP (p. 1533)
• Configuración de su aplicación para una conmutación por error rápida (p. 1534)
• Reducción de los tiempos de espera de la caché de DNS (p. 1534)
• Configuración de una cadena de conexión de Aurora PostgreSQL para conmutaciones por
error rápidas (p. 1535)
• Otras opciones para la obtención de la cadena de host (p. 1536)
• Ejemplo de Java para enumerar instancias mediante la API
DescribeDBClusters (p. 1537)
• Prueba de conmutación por error (p. 1538)
• Ejemplo de Java de conmutaciones rápidas (p. 1539)
tcp_keepalive_time = 1
• tcp_keepalive_intvl controla el tiempo, en segundos, entre el envío de posteriores
paquetes keepalive después de que se envía el paquete inicial (configúrelo con el parámetro
tcp_keepalive_time). Recomendamos la siguiente configuración:
tcp_keepalive_intvl = 1
1533
Amazon Aurora Guía del usuario de Aurora
Conmutación por error rápida
• tcp_keepalive_probes es la cantidad de sondeos keepalive sin confirmar que tienen lugar antes de
que se produzca la notificación a la aplicación. Recomendamos la siguiente configuración:
tcp_keepalive_probes = 5
Esta configuración debería realizar una notificación a la aplicación en un plazo de cinco segundos cuando
la base de datos deja de responder. Es posible configurar un valor de tcp_keepalive_probes más elevado
si los paquetes keepalive se suprimen con frecuencia dentro de la red de la aplicación. Esto posteriormente
incrementa el tiempo que se tarda en detectar un error real, pero ofrece más capacidad de búfer en redes
de menos confianza.
1. Le recomendamos que, cuando pruebe el modo de configurar parámetros keepalive de TCP, lo haga
mediante la línea de comando con los siguientes comandos: tenga en cuenta que esta configuración
sugerida es para todo el sistema, lo cual significa que afecta al resto de aplicaciones que crean
sockets con la opción SO_KEEPALIVE activada.
2. Una vez que haya encontrado una configuración que funciona para su aplicación, esta configuración
debe almacenarse de forma persistente agregando las siguientes líneas a /etc/sysctl.conf, incluido
cualquier cambio que haya realizado:
tcp_keepalive_time = 1
tcp_keepalive_intvl = 1
tcp_keepalive_probes = 5
Para obtener información sobre la configuración de parámetros keepalive de TCP en Windows, consulte
Things You May Want to Know About TCP Keepalive.
Temas
• Reducción de los tiempos de espera de la caché de DNS (p. 1534)
• Configuración de una cadena de conexión de Aurora PostgreSQL para conmutaciones por error
rápidas (p. 1535)
• Otras opciones para la obtención de la cadena de host (p. 1536)
1534
Amazon Aurora Guía del usuario de Aurora
Conmutación por error rápida
jdbc:postgresql://myauroracluster.cluster-c9bfei4hjlrd.us-east-1-
beta.rds.amazonaws.com:5432,
myauroracluster.cluster-ro-c9bfei4hjlrd.us-east-1-beta.rds.amazonaws.com:5432
/postgres?user=<primaryuser>&password=<primarypw>&loginTimeout=2
&connectTimeout=2&cancelSignalTimeout=2&socketTimeout=60
&tcpKeepAlive=true&targetServerType=primary
Para obtener más información acerca de los parámetros del controlador de JDBC de PostgreSQL, consulte
Connecting to the Database.
Para una mejor disponibilidad y evitar depender de una API de RDS, la mejor opción para conectarse
es mantener un archivo con una cadena de host desde la que su aplicación lee cuando establece una
conexión a la base de datos. Esta cadena de host tendrá todos los puntos de enlace de Aurora disponibles
para el clúster. Para obtener más información acerca de los puntos de enlace de Aurora, consulte
Administración de conexiones de Amazon Aurora (p. 34). Por ejemplo, podría almacenar los puntos de
enlace en un archivo localmente, como el siguiente:
myauroracluster.cluster-c9bfei4hjlrd.us-east-1-beta.rds.amazonaws.com:5432,
myauroracluster.cluster-ro-c9bfei4hjlrd.us-east-1-beta.rds.amazonaws.com:5432
Su aplicación realizará una lectura de este archivo para rellenar la sección host de la cadena de conexión
de JDBC. Cambiar el nombre del clúster de base de datos provoca que estos puntos de enlace cambien;
asegúrese de que su aplicación controle ese evento si se produce.
Otra opción consiste en usar una lista de nodos de instancia de base de datos:
my-node1.cksc6xlmwcyw.us-east-1-beta.rds.amazonaws.com:5432,
my-node2.cksc6xlmwcyw.us-east-1-beta.rds.amazonaws.com:5432,
my-node3.cksc6xlmwcyw.us-east-1-beta.rds.amazonaws.com:5432,
my-node4.cksc6xlmwcyw.us-east-1-beta.rds.amazonaws.com:5432
El beneficio de este enfoque es que el controlador de la conexión JDBC de PostgreSQL recorrerá todos los
nodos de esta lista para encontrar una conexión válida, mientras que al usar puntos de enlace de Aurora
solo se probarán dos nodos en cada intento de conexión. El inconveniente de usar nodos de instancia
de base de datos es que si agrega o elimina nodos de su clúster y la lista de puntos de enlace de la
instancia se queda obsoleta, el controlador de la conexión podría no encontrar nunca el host correcto al
que conectarse.
Configure los siguientes parámetros, de manera agresiva, para contribuir a garantizar que su aplicación no
tenga que esperar demasiado para conectarse a cualquier alojamiento.
1535
Amazon Aurora Guía del usuario de Aurora
Conmutación por error rápida
Los valores posibles para el parámetro targetServerType incluyen primary, secondary, any y
preferSecondary. El valor preferSecondary intenta establecer una conexión con un lector en
primer lugar, pero se conecta primero al escritor si no es posible establecer una conexión con el lector.
• loginTimeout: controla cuánto tiempo espera su aplicación para iniciar sesión en la base de datos
después de que se ha establecido una conexión de socket.
• connectTimeout: controla cuánto tiempo espera el socket para establecer una conexión con la base
de datos.
Puede modificar otros parámetros de la aplicación para acelerar el proceso de conexión, en función del
grado de agresividad deseado en la aplicación.
Su aplicación puede conectarse a cualquier instancia de base de datos del clúster de base de datos
y consultar la función aurora_replica_status para determinar quién es el escritor del clúster o
a fin de encontrar cualquier otro nodo lector del clúster. Puede utilizar esta función para reducir la
cantidad de tiempo que se tarda en encontrar un host al que conectarse, si bien en ciertos casos la
función aurora_replica_status podría mostrar información obsoleta o incompleta en determinadas
situaciones de error de la red.
Una buena manera de garantizar que la aplicación pueda encontrar un nodo al cual conectarse es intentar
conectarse al punto de conexión del escritor del clúster y, a continuación, al punto de conexión del lector
del clúster hasta que pueda establecer una conexión legible. Estos puntos de enlace no cambian a menos
que modifique el nombre de su clúster de base de datos. En general, pueden dejarse como miembros
estáticos de su aplicación o almacenarse en un archivo de recursos desde el cual lea dicha aplicación.
Luego de establecer una conexión con uno de estos puntos de enlace, puede llamar a la función
aurora_replica_status para obtener información sobre el resto del clúster. Por ejemplo, el siguiente
comando obtiene información con la función aurora_replica_status.
1536
Amazon Aurora Guía del usuario de Aurora
Conmutación por error rápida
-----------+--------------------------------------+------------------
+----------------------------+-------------------------------+------------------------
mynode-1 | 3e3c5044-02e2-11e7-b70d-95172646d6ca | 594221001 | 201421 | 2017-03-07
19:50:24.695322+00 | 2017-03-07 19:50:23+00
mynode-2 | 1efdd188-02e4-11e7-becd-f12d7c88a28a | 594221001 | 201350 | 2017-03-07
19:50:24.695322+00 | 2017-03-07 19:50:23+00
mynode-3 | MASTER_SESSION_ID | | | 2017-03-07 19:50:24.695322+00 | 2017-03-07 19:50:23+00
(3 rows)
Así por ejemplo, la sección hosts de su cadena de conexión podría empezar con los puntos de enlace del
clúster del escritor y del lector:
myauroracluster.cluster-c9bfei4hjlrd.us-east-1-beta.rds.amazonaws.com:5432,
myauroracluster.cluster-ro-c9bfei4hjlrd.us-east-1-beta.rds.amazonaws.com:5432
Ante esta situación, su aplicación tratará de establecer una conexión a cualquier tipo de nodo,
principal o secundario. Cuando la aplicación esté conectada, una buena práctica es examinar en
primer lugar el estado de lectura-escritura del nodo al consultar el resultado del comando SHOW
transaction_read_only.
Una cosa que debe tener en cuenta es cuando se conecta a una réplica que tiene datos obsoletos.
Cuando esto ocurre, la función aurora_replica_status podría mostrar información desactualizada.
Es posible establecer un umbral de obsolescencia en el nivel de la aplicación y examinarlo al analizar la
diferencia entre la hora del servidor y la hora de la last_update_timestamp. En general, su aplicación
debe evitar pasar de un alojamiento a otro debido a la información conflictiva devuelta por la función
aurora_replica_status. Su aplicación debe probar primero todos los alojamientos conocidos en lugar
de seguir ciegamente los datos devueltos por la función aurora_replica_status.
Puede encontrar, mediante programación, la lista de instancias con AWS SDK for Java, concretamente con
la API DescribeDBClusters. Se muestra aquí un breve ejemplo de cómo podría hacer esto en Java 8:
String pgJDBCEndpointStr =
singleClusterResult.getDBClusterMembers().stream()
.sorted(Comparator.comparing(DBClusterMember::getIsClusterWriter)
.reversed()) // This puts the writer at the front of the list
.map(m -> m.getDBInstanceIdentifier() + endpointPostfix + ":" +
singleClusterResult.getPort()))
.collect(Collectors.joining(","));
pgJDBCEndpointStr contendrá una lista con formato de puntos de enlace. Por ejemplo:
my-node1.cksc6xlmwcyw.us-east-1-beta.rds.amazonaws.com:5432,
my-node2.cksc6xlmwcyw.us-east-1-beta.rds.amazonaws.com:5432
1537
Amazon Aurora Guía del usuario de Aurora
Conmutación por error rápida
La variable endpointPostfix puede ser una constante que la aplicación establece o puede obtenerse
consultando la API DescribeDBInstances para una sola instancia en el clúster. Este valor permanece
constante dentro de una región y para un cliente individual, por lo que no sería necesaria una llamada a la
API si mantiene este valor en un archivo de recursos que pueda leer su aplicación. En el ejemplo anterior,
se establecería en:
.cksc6xlmwcyw.us-east-1-beta.rds.amazonaws.com
Para fines de disponibilidad, una buena práctica sería utilizar, de manera predeterminada, los puntos de
enlace de Aurora de su clúster de base de datos si la API no responde o tarda demasiado en responder.
Se garantiza que los puntos de enlace estén actualizados en el tiempo que se tarda en actualizar el
registro de DNS. Suele ser menos de 30 segundos. Puede almacenarlo en un archivo de recursos que
consume la aplicación.
Desde el lado del servidor, algunas API pueden causar una interrupción del servicio que se puede usar
para probar cómo responden sus aplicaciones:
• FailoverDBCluster: tratará de promover al escritor una instancia de base de datos nueva en su clúster de
base de datos.
rdsClient.failoverDBCluster(request);
}
Desde el lado de la aplicación/cliente, si está utilizando Linux, puede probar cómo responde la aplicación
ante supresiones repentinas de paquetes en función del puerto, del host o si no se envían o reciben
paquetes keepalive de TCP mediante iptables.
1538
Amazon Aurora Guía del usuario de Aurora
Conmutación por error rápida
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import org.joda.time.Duration;
public FastFailoverDriverManager() {
try {
Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
/*
* RO endpoint has a TTL of 1s, we should honor that here. Setting this
aggressively makes sure that when
* the PG JDBC driver creates a new connection, it will resolve a new different RO
endpoint on subsequent attempts
* (assuming there is > 1 read node in your cluster)
*/
java.security.Security.setProperty("networkaddress.cache.ttl" , "1");
// If the lookup fails, default to something like small to retry
java.security.Security.setProperty("networkaddress.cache.negative.ttl" , "3");
}
/*
* A good practice is to set socket and statement timeout to be the same thing
since both
* the client AND server will stop the query at the same time, leaving no running
queries
* on the backend
1539
Amazon Aurora Guía del usuario de Aurora
Solución de problemas de almacenamiento
*/
Statement st = conn.createStatement();
st.execute("set statement_timeout to " + queryTimeout.getMillis());
st.close();
return conn;
}
return newEndpointList;
}
1540
Amazon Aurora Guía del usuario de Aurora
Replicación con Aurora PostgreSQL
funciones de ordenación de datos para que usen más memoria o reducir el periodo de retención de datos
de sus archivos de registro de PostgreSQL. Para obtener más información acerca de cómo cambiar el
periodo de retención de los logs, consulte, Archivos de registro de base de datos de PostgreSQL (p. 759).
Si el clúster de Aurora tiene más de 40 TB, no utilice las clases de instancia db.t2, db.t3 ni db.t4.
Temas
• Uso de réplicas de Aurora (p. 1541)
• Monitoreo de replicación de Aurora PostgreSQL (p. 1541)
• Uso de la replicación lógica de PostgreSQL con Aurora (p. 1542)
El volumen del clúster de base de datos consta de varias copias de los datos del clúster de base de datos.
No obstante, los datos del volumen del clúster se representan como un único volumen lógico para la
instancia de base de datos de escritor principal y para las réplicas de Aurora del clúster de base de datos.
Para obtener más información acerca de las réplicas de Aurora, consulte Réplicas de Aurora (p. 75).
Las réplicas de Aurora funcionan bien para el escalado de lectura porque están totalmente dedicadas a
las operaciones de lectura en el volumen del clúster. La instancia de base de datos de escritor administra
operaciones de escritura. El volumen del clúster se comparte entre todas las instancias en su clúster de
base de datos Aurora PostgreSQL. Por lo tanto, no se necesita trabajo adicional para replicar una copia de
los datos de cada réplica Aurora.
Con Aurora PostgreSQL, cuando se elimina una réplica de Aurora, su punto de enlace de instancia se
quita inmediatamente y la réplica de Aurora se quita del punto de enlace del lector. Si hay instrucciones
que se ejecutan en la réplica de Aurora que se van a eliminar, hay un periodo de gracia de tres minutos.
Las instrucciones existentes pueden finalizar correctamente durante el periodo de gracia. Cuando termina
dicho periodo, se apaga la réplica de Aurora y se elimina.
Los clústeres de bases de datos de Aurora PostgreSQL no admiten las réplicas de Aurora en diferentes
regiones de AWS, por lo que no se pueden utilizar las réplicas de Aurora para la replicación entre regiones.
Note
1541
Amazon Aurora Guía del usuario de Aurora
Uso de la replicación lógica
del clúster de base de datos Aurora PostgreSQL mediante la monitorización de la métrica ReplicaLag
de Amazon CloudWatch. Como las réplicas de Aurora leen desde el mismo volumen de clúster que la
instancia de base de datos de escritor, la métrica ReplicaLag tiene un significado diferente para un
clúster de base de datos Aurora PostgreSQL. La métrica ReplicaLag de una réplica de Aurora indica el
retardo de la caché de página de la réplica de Aurora con respecto a la de la instancia de base de datos de
escritor.
Para obtener más información acerca de la monitorización de instancias de RDS y de las métricas de
CloudWatch, consulte Monitoreo de un clúster de base de datos de Amazon Aurora (p. 593).
A continuación encontrará información acerca de cómo trabajar con la replicación lógica de PostgreSQL
y Amazon Aurora. Para obtener información más detallada acerca de la implementación de PostgreSQL
en la replicación lógica, consulte la sección sobre replicación lógica y la sección sobre conceptos de
descodificación lógica.
Note
La replicación lógica está disponible con la versión 2.2.0 de Aurora PostgreSQL (compatible con
PostgreSQL 10.6) y posteriores.
A continuación encontrará información acerca de cómo trabajar con la replicación lógica de PostgreSQL y
Amazon Aurora.
Temas
• Configuración de la replicación lógica (p. 1542)
• Ejemplo de replicación lógica de una tabla de base de datos (p. 1544)
• Replicación lógica mediante el AWS Database Migration Service (p. 1545)
• Detener la replicación lógica (p. 1547)
La replicación lógica usa un modelo de publicación y suscripción. Los publicadores y los suscriptores son
los nodos. Una publicación es un conjunto de cambios generados a partir de una o varias tablas de base
de datos. Especifique una publicación en un publicador. La suscripción define la conexión a otra base de
datos y una o varias publicaciones a las que se suscribe. Especifique una suscripción en un suscriptor. La
publicación y la suscripción realizan la conexión entre el publicador y el suscriptor.
Note
• A fin de realizar la replicación lógica para una base de datos PostgreSQL, su cuenta de usuario
de AWS necesita el rol rds_superuser.
• La instancia de base de datos de RDS para PostgreSQL que utilice como origen debe tener
habilitadas las copias de seguridad automatizadas. Para obtener instrucciones sobre cómo
1542
Amazon Aurora Guía del usuario de Aurora
Uso de la replicación lógica
habilitar copias de seguridad automatizadas para una instancia de base de datos de RDS para
PostgreSQL, consulte Habilitación de copias de seguridad automatizadas en Guía del usuario
de Amazon RDS.
1. Cree un nuevo grupo de parámetros de clúster de base de datos a fin de usarlo para la replicación
lógica, tal como se describe en Creación de un grupo de parámetros de clúster de base de
datos (p. 374). Utilice los siguientes valores:
• Para usar un clúster de base de datos Aurora PostgreSQL para el publicador, la versión del motor
debe ser la 10.6 o posterior. Haga lo siguiente:
1. Modifique el grupo de parámetros del clúster de base de datos para establecerlo en el grupo que
creó tras habilitar la replicación lógica. Para obtener detalles acerca cómo modificar un clúster de
1543
Amazon Aurora Guía del usuario de Aurora
Uso de la replicación lógica
En este ejemplo, los datos de la tabla se replican desde una base de datos de Aurora PostgreSQL
como publicador, hasta una base de datos de PostgreSQL como suscriptor. Tenga en cuenta que
una base de datos de suscriptor puede ser una base de datos RDS PostgreSQL o una base de datos
Aurora PostgreSQL. Un suscriptor también puede ser una aplicación que utilice la replicación lógica de
PostgreSQL. Una vez configurado el mecanismo de replicación lógica, los cambios en el publicador se
envían ininterrumpidamente al suscriptor a medida que se producen.
1. Configure un clúster de base de datos Aurora PostgreSQL como publicador. Para hacerlo, cree un
nuevo clúster de base de datos Aurora PostgreSQL, tal como se describe al configurar el publicador en
Configuración de la replicación lógica (p. 1542).
2. Configure la base de datos de publicador.
Por ejemplo, cree una tabla mediante la siguiente instrucción SQL en la base de datos del publicador.
1544
Amazon Aurora Guía del usuario de Aurora
Uso de la replicación lógica
Para este ejemplo, creamos una base de datos Amazon RDS for PostgreSQL como suscriptor. Para
obtener más información sobre la creación de una instancia de base de datos, consulte Creación de una
instancia de base de datos en la Guía del usuario de Amazon RDS.
6. Configure la base de datos de suscriptor.
En este ejemplo, cree una tabla como la creada para el publicador mediante la siguiente instrucción
SQL.
7. Compruebe que hay datos en la tabla del publicador, pero ninguno todavía en el suscriptor utilizando la
siguiente instrucción SQL en ambas bases de datos.
Use la siguiente instrucción SQL en la base de datos de suscriptor y los siguientes ajustes del clúster de
publicador:
• anfitrión: la instancia de base de datos de escritor del clúster de publicador.
• puerto: el puerto en el que la instancia de base de datos de escritor está a la escucha. El valor
predeterminado de PostgreSQL es 5432.
• dbname: el nombre de la base de datos del clúster de publicador.
Una vez creada la suscripción, se crea una ranura de replicación lógica en el publicador.
9. Para comprobar en este ejemplo que se replican los datos iniciales en el suscriptor, use la siguiente
instrucción SQL en la base de datos de suscriptor.
En el siguiente ejemplo, se muestra cómo configurar la reproducción lógica desde una base de datos de
Aurora PostgreSQL como publicador y, luego, cómo usar AWS DMS para la migración. El publicador y
suscriptor usados en este ejemplo son los mismos que los creados en Ejemplo de replicación lógica de una
tabla de base de datos (p. 1544).
Para configurar la reproducción lógica con AWS DMS, necesita detalles acerca de su publicador y
suscriptor de Amazon RDS. Concretamente, necesita detalles acerca de la instancia de base de datos de
escritor del publicador y la instancia de base de datos de suscriptor.
Obtenga la siguiente información para la instancia de base de datos de escritor del publicador:
1545
Amazon Aurora Guía del usuario de Aurora
Uso de la replicación lógica
Para utilizar AWS DMS para la reproducción lógica con Aurora PostgreSQL
Para ello, tanto PostgreSQL 10.x como bases de datos posteriores requieren que aplique funciones
contenedoras de AWS DMS a la base de datos de publicador. Para obtener detalles acerca de este
paso y pasos posteriores, consulte las instrucciones en Uso de PostgreSQL versión 10.x y posterior
como origen para AWS DMS en la guía del usuario de AWS Database Migration Service.
2. Inicie sesión en la AWS Management Console y abra la consola de AWS DMS en https://
console.aws.amazon.com/dms/v2. En la parte superior derecha, elija la misma región de AWS en la
que se encuentran el publicador y el suscriptor.
3. Cree una instancia de replicación de AWS DMS.
Elija valores que sean los mismos que para la instancia de base de datos de escritor de su publicador.
Entre estos se incluyen los siguientes:
• En VPC, elija la misma VPC que para la instancia de base de datos de escritor.
• En Replication Subnet Group (Grupo de subredes de replicación), elija un grupo de subredes
con los mismos valores que para la instancia de base de datos de escritor. Cree uno nuevo si es
necesario.
• En la Availability zone (Zona de disponibilidad), elija la misma zona que para la instancia de base de
datos de escritor.
• En el VPC Security Group (Grupo de seguridad de VPC), elija el mismo grupo que para la instancia
de base de datos de escritor.
4. Cree un punto de enlace de AWS DMS para el origen.
Especifique el publicador como punto de enlace de origen mediante los siguientes valores:
• En Endpoint type (Tipo de punto de enlace), elija Source endpoint (Punto de enlace de origen).
• Elija Select RDS DB Instance (Seleccionar instancia de base de datos de RDS).
• En RDS Instance (Instancia RDS), elija el identificador de base de datos de la instancia de base de
datos de escritor del publicador.
• En Source engine (Motor de origen), elija postgres.
5. Cree un punto de enlace de AWS DMS para el destino.
Especifique el suscriptor como punto de enlace de destino mediante los siguientes valores:
• En Endpoint type (Tipo de punto de enlace), elija Target endpoint (Punto de enlace de destino).
• Elija Select RDS DB Instance (Seleccionar instancia de base de datos de RDS).
• En RDS Instance (Instancia RDS), elija el identificador de base de datos de la instancia de base de
datos de suscriptor.
1546
Amazon Aurora Guía del usuario de Aurora
Integración de Aurora PostgreSQL con los servicios de AWS
• Elija un valor para Source engine (Motor de origen). Por ejemplo, si el suscriptor es una base de
datos PostgreSQL de RDS, elija postgres. Si el suscriptor es una base de datos Aurora PostgreSQL,
elija aurora-postgresql.
6. Cree una tarea de migración de bases de datos de AWS DMS.
Debe usar una tarea de migración de bases de datos para especificar qué tablas de base de datos se
van a migrar, asignar los datos mediante un esquema de destino y crear tablas nuevas en la base de
datos de destino. Como mínimo, use los siguientes valores para Task configuration (Configuración de
tareas):
El resto de los detalles de la tarea dependen de su proyecto de migración. Para obtener más
información acerca de la especificación de todos los detalles de las tareas de DMS, consulte Trabajo
con las tareas DMS de AWS en la guía del usuario de AWS Database Migration Service.
Una vez que AWS DMS cree la tarea, comenzará a migrar datos del publicador al suscriptor.
Para eliminar todas las ranuras de replicación, conéctese al editor y ejecute el siguiente comando de
SQL
Las ranuras de replicación no pueden estar activas cuando ejecute este comando.
2. Modifique el grupo de parámetros del clúster de base de datos asociado al editor, tal como se describe
en Modificación de parámetros de un grupo de parámetros de clúster de base de datos (p. 381).
Establezca el parámetro estático rds.logical_replication en 0.
3. Reinicie el clúster de base de datos del editor para que se aplique el cambio en el parámetro estático
rds.logical_replication.
1547
Amazon Aurora Guía del usuario de Aurora
Importación de datos S3 en Aurora PostgreSQL
• Recopilar, ver y evaluar rápidamente el rendimiento de las instancias de base de datos Aurora
PostgreSQL con Performance Insights de Amazon RDS. Performance Insights amplía las características
de monitorización existentes de Amazon RDS para ilustrar el desempeño de la base de datos y le ayuda
a analizar cualquier problema que le afecte. Con el panel de Performance Insights, puede visualizar
la carga de la base de datos y filtrarla por esperas, instrucciones SQL, hosts o usuarios. Para obtener
más información acerca de Performance Insights, consulte Monitoreo de la carga de base de datos con
Información sobre rendimiento en Amazon Aurora (p. 642).
• Añada o quite de forma automática réplicas de Aurora con Aurora Auto Scaling. Para obtener más
información, consulte Uso de Auto Scaling de Amazon Aurora con réplicas de Aurora (p. 466).
• Puede configurar un clúster de base de datos de Aurora PostgreSQL para publicar datos de registro en
Amazon CloudWatch Logs. CloudWatch Logs ofrece un almacenamiento de larga duración para sus
registros. Con CloudWatch Logs, puede realizar análisis en tiempo real de los datos de registro y utilizar
CloudWatch para crear alarmas y ver métricas. Para obtener más información, consulte Publicación de
registros de Aurora PostgreSQL en Amazon CloudWatch Logs (p. 1600).
• Importe datos de un bucket de Amazon S3 a un clúster de base de datos de Aurora PostgreSQL o
exporte los datos de un clúster de base de datos de Aurora PostgreSQL a un bucket de Amazon S3.
Para obtener más información, consulte Importación de datos de Amazon S3 en un clúster de base de
datos Aurora PostgreSQL (p. 1548) y Exportación de datos de una Aurora PostgreSQL de base de
datos de clústerde Amazon S3 (p. 1561).
• Agregue predicciones basadas en machine learning a las aplicaciones de base de datos mediante
el lenguaje SQL. El machine learning de Aurora es una integración sumamente optimizada entre
los servicios de base de datos de Aurora y el machine learning (ML) de AWS SageMaker y Amazon
Comprehend. Para obtener más información, consulte Uso del machine learning (ML) con Aurora
PostgreSQL (p. 1608).
• Invoque funciones de AWS Lambda desde un clúster de base de datos de Aurora PostgreSQL. Para
ello, utilice la extensión de PostgreSQL aws_lambda proporcionada con Aurora PostgreSQL. Para
obtener más información, consulte Invocar una función de AWS Lambda desde un clúster de base de
datos de Aurora PostgreSQL (p. 1633).
• Puede utilizar la extensión oracle_fdw de PostgreSQL para proporcionar un contenedor de
datos externos que permita un acceso fácil y eficiente a las bases de datos de Oracle para Aurora
PostgreSQL. Para obtener más información, consulte Uso de la extensión oracle_fdw para acceder a
datos externos en Aurora PostgreSQL (p. 1644).
• Integre consultas de Amazon Redshift y Aurora PostgreSQL. Para obtener más información, consulte
Introducción al uso de consultas federadas en PostgreSQL en la Guía para desarrolladores de bases de
datos Amazon Redshift.
Si utiliza cifrado, el bucket de Amazon S3 debe cifrarse con una Clave administrada por AWS.
Actualmente, no se puede importar datos de un bucket que está cifrado con una clave administrada por el
cliente.
Para obtener información adicional sobre cómo almacenar datos con Amazon S3, consulte Crear un bucket
en la Guía del usuario de Amazon Simple Storage Service. Para obtener instrucciones sobre cómo cargar
un archivo en un bucket de Amazon S3, consulte Agregar un objeto a un bucket en la Guía del usuario de
Amazon Simple Storage Service.
1548
Amazon Aurora Guía del usuario de Aurora
Información general de la importación de datos de S3
Temas
• Información general de la importación de datos de Amazon S3 (p. 1549)
• Configuración del acceso a un bucket de Amazon S3 (p. 1550)
• Uso de la función aws_s3.table_import_from_s3 para importar datos de Amazon S3 (p. 1555)
• Referencia de funciones (p. 1557)
1. Instale las extensiones necesarias de PostgreSQL. Entre estas se incluyen las extensiones aws_s3 y
aws_commons. Para ello, inicie psql y utilice el siguiente comando.
a. Identifique la tabla de base de datos de PostgreSQL en la que desea colocar los datos. A
continuación, se muestra una tabla de base de datos de t1 que se utiliza en los ejemplos de este
tema.
b. Obtenga la siguiente información para identificar el archivo de Amazon S3 que desee importar:
Para descubrir cómo obtener esta información, consulte Ver un objeto en la Guía del usuario de
Amazon Simple Storage Service. Puede confirmar la información mediante el comando AWS CLI
de la aws s3 cp. Si la información es correcta, este comando descarga una copia del archivo de
Amazon S3.
aws s3 cp s3://sample_s3_bucket/sample_file_path ./
1549
Amazon Aurora Guía del usuario de Aurora
Configuración del acceso a un bucket de Amazon S3
Para importar datos de un archivo de Amazon S3, conceda permiso al clúster de base de datos
de Aurora PostgreSQL para obtener acceso al bucket de Amazon S3 en el que se encuentra el
archivo. Para ello, utilice un rol de AWS Identity and Access Management (IAM) o las credenciales de
seguridad. Para obtener más información, consulte Configuración del acceso a un bucket de Amazon
S3 (p. 1550).
4. Llame a la función aws_s3.table_import_from_s3 para importar los datos de Amazon S3.
Temas
• Uso de un rol de IAM para obtener acceso a un bucket de Amazon S3 (p. 1550)
• Uso de credenciales de seguridad para obtener acceso a un bucket de Amazon S3 (p. 1554)
• Solución de errores de acceso a Amazon S3 (p. 1555)
Para ello, cree una política de IAM que proporcione acceso al bucket de Amazon S3. Cree un rol de IAM y
conecte la política a dicho rol. A continuación, asigne el rol de IAM al clúster de base de datos.
Para dar a un clúster de base de datos de Aurora PostgreSQL acceso a Amazon S3 a través de
un rol de IAM, lleve a cabo el siguiente procedimiento:
Esta política concede los permisos de bucket y objeto que permiten que el clúster de base de datos de
Aurora PostgreSQL tenga acceso a Amazon S3.
1550
Amazon Aurora Guía del usuario de Aurora
Configuración del acceso a un bucket de Amazon S3
Incluya las siguientes acciones requeridas en la política para permitir la transferencia de archivos de
un bucket de Amazon S3 a Aurora PostgreSQL:
• s3:GetObject
• s3:ListBucket
Incluya los siguientes recursos en la política para identificar el bucket de Amazon S3 y los objetos
incluidos en este. A continuación se muestra el formato de nombre de recurso de Amazon (ARN) para
obtener acceso a Amazon S3.
• arn:aws:s3:::your-s3-bucket
• arn:aws:s3:::your-s3-bucket/*
Para obtener información adicional sobre cómo crear una política de IAM para Aurora PostgreSQL,
consulte Creación y uso de una política de IAM para el acceso a bases de datos de IAM (p. 1880).
Consulte también el Tutorial: Crear y asociar su primera política administrada por el cliente en la Guía
del usuario de IAM.
El siguiente comando de la AWS CLI crea una política de IAM denominada rds-s3-import-policy
con estas opciones. Otorga acceso a un bucket llamado your-s3-bucket.
Note
Example
Para Windows:
1551
Amazon Aurora Guía del usuario de Aurora
Configuración del acceso a un bucket de Amazon S3
"Sid": "s3import",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::your-s3-bucket",
"arn:aws:s3:::your-s3-bucket/*"
]
}
]
}'
Haga esto para que Aurora PostgreSQL pueda asumir este rol de IAM para obtener acceso a los
buckets de Amazon S3. Para obtener más información, vea Crear un rol para delegar permisos a un
IAM usuario en Guía del usuario de IAM.
Example
1552
Amazon Aurora Guía del usuario de Aurora
Configuración del acceso a un bucket de Amazon S3
}'
Para Windows:
El siguiente comando AWS CLI adjunta la política creada en el paso anterior al rol denominado rds-
s3-import-role. Sustituya your-policy-arn por el ARN de la política que ha anotado en un
paso anterior.
Example
Para Windows:
Para ello, utilice la AWS Management Console o la AWS CLI, tal y como se describe a continuación.
Note
No se puede asociar un rol de IAM a un clúster de base de datos de Aurora Serverless. Para
obtener más información, consulte Uso de Amazon Aurora Serverless v1 (p. 162).
Además, tenga cuidado de que la base de datos que utiliza no tenga las restricciones que
indican en Importación de datos de Amazon S3 en un clúster de base de datos Aurora
PostgreSQL (p. 1548).
1553
Amazon Aurora Guía del usuario de Aurora
Configuración del acceso a un bucket de Amazon S3
Consola
Para añadir un rol de IAM para un clúster de base de datos de PostgreSQL utilizando la consola
AWS CLI
Para añadir un rol de IAM para un clúster de base de datos de PostgreSQL mediante la CLI,
realice el siguiente procedimiento:
• Utilice el siguiente comando para añadir el rol al clúster de base de datos de PostgreSQL denominado
my-db-cluster. Sustituya your-role-arn por el ARN del rol que ha anotado en el paso anterior.
Utilice s3Import para el valor de la opción --feature-name.
Example
Para Linux, macOS o Unix:
Para Windows:
API de RDS
A fin de agregar un rol de IAM para un clúster de base de datos mediante la API de Amazon RDS, llame a
la operaciónAddRoleToDBCluster
1554
Amazon Aurora Guía del usuario de Aurora
Uso de la función aws_s3.table_import_from_s3
para importar datos de Amazon S3
En los siguientes ejemplos se utiliza el método de rol de IAM para proporcionar acceso al bucket
de Amazon S3. Por tanto, no hay parámetros de credenciales en las llamadas a la función
aws_s3.table_import_from_s3.
• t1: nombre de la tabla en el clúster de base de datos de PostgreSQL en la que desea copiar los datos.
1555
Amazon Aurora Guía del usuario de Aurora
Uso de la función aws_s3.table_import_from_s3
para importar datos de Amazon S3
• '': lista opcional de columnas en la tabla de la base de datos. Puede utilizar este parámetro para indicar
qué columnas de los datos de S3 van en las columnas de la tabla. Si no se especifica ninguna columna,
se copian en la tabla todas las columnas. Para obtener un ejemplo de uso de una lista de columnas,
consulte Importación de un archivo de Amazon S3 que utiliza un delimitador personalizado (p. 1556).
• (format csv): argumentos de COPY de PostgreSQL. El proceso de copia utiliza los argumentos y el
formato del comando COPY de PostgreSQL. En el ejemplo anterior, el comando COPY utiliza el formato
de archivo de valores separados con coma (CSV) para copiar los datos.
• s3_uri: una estructura que contiene la información que identifica el archivo de Amazon S3. Para ver
un ejemplo de cómo utilizar la función aws_commons.create_s3_uri (p. 1560) para crear una estructura
s3_uri, consulte Información general de la importación de datos de Amazon S3 (p. 1549).
Para obtener más información acerca de esta función, consulte aws_s3.table_import_from_s3 (p. 1558).
Temas
• Importación de un archivo de Amazon S3 que utiliza un delimitador personalizado (p. 1556)
• Importación de un archivo comprimido (gzip) de Amazon S3 (p. 1557)
• Importación de un archivo de Amazon S3 codificado (p. 1557)
En este ejemplo, supongamos que la siguiente información está organizada en columnas delimitadas por
barras verticales en el archivo de Amazon S3.
1|foo1|bar1|elephant1
2|foo2|bar2|elephant2
3|foo3|bar3|elephant3
4|foo4|bar4|elephant4
...
2. Utilice el siguiente formulario de la función aws_s3.table_import_from_s3 (p. 1558) para importar datos
desde el archivo de Amazon S3.
1556
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones
);
• Clave: Content-Encoding
• Valor: gzip
Si carga el archivo con AWS Management Console, el sistema suele aplicar los metadatos. Para obtener
información sobre cómo cargar archivos en Amazon S3 con AWS Management Console, AWS CLI o la
API, consulte Carga de objetos en la Guía del usuario de Amazon Simple Storage Service.
Para obtener más información acerca de los metadatos de Amazon S3 y detalles acerca de los metadatos
proporcionados por el sistema, consulte Edición de metadatos de objeto en la consola de Amazon S3 en la
Guía del usuario de Amazon Simple Storage Service.
Importe el archivo gzip en su clúster de base de datos Aurora PostgreSQL como se muestra a
continuación.
Referencia de funciones
Funciones
• aws_s3.table_import_from_s3 (p. 1558)
• aws_commons.create_s3_uri (p. 1560)
• aws_commons.create_aws_credentials (p. 1560)
1557
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones
aws_s3.table_import_from_s3
Importa datos de Amazon S3 en una tabla Aurora PostgreSQL. La extensión aws_s3 proporciona la
función aws_s3.table_import_from_s3. El valor de devolución es texto.
Sintaxis
Los parámetros obligatorios son table_name, column_list y options. Estos identifican la tabla de la
base de datos y especifican cómo se copian los datos en la tabla.
• El parámetro s3_info especifica el archivo Amazon S3 que se va a importar. Cuando utilice este
parámetro, se proporciona acceso a Amazon S3 mediante un rol de IAM para el clúster de base de datos
de PostgreSQL.
aws_s3.table_import_from_s3 (
table_name text,
column_list text,
options text,
s3_info aws_commons._s3_uri_1
)
• El parámetro credentials especifica las credenciales para acceder a Amazon S3. Cuando utilice este
parámetro, no utilice un rol de IAM.
aws_s3.table_import_from_s3 (
table_name text,
column_list text,
options text,
s3_info aws_commons._s3_uri_1,
credentials aws_commons._aws_credentials_1
)
Parámetros
table_name
Cadena de texto obligatoria que contiene el nombre de la tabla de la base de datos de PostgreSQL a
la que importar los datos.
column_list
Cadena de texto obligatoria que contiene una lista opcional de las columnas de la tabla de la base de
datos de PostgreSQL en la que se copiarán los datos. Si la cadena está vacía, se utilizan todas las
columnas de la tabla. Para ver un ejemplo, consulte Importación de un archivo de Amazon S3 que
utiliza un delimitador personalizado (p. 1556).
opciones
Cadena de texto obligatoria que contiene argumentos para el comando COPY de PostgreSQL. Estos
argumentos especifican cómo se copian los datos en la tabla PostgreSQL. Para obtener más detalles,
consulte la documentación de COPY de PostgreSQL.
s3_info
1558
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones
Sintaxis alternativa
Como ayuda en las pruebas, puede utilizar un conjunto de parámetros expandido en lugar de los
parámetros s3_info y credentials. A continuación, se incluyen variaciones de sintaxis adicionales
para la función aws_s3.table_import_from_s3:
• En lugar de utilizar el parámetro s3_info para identificar un archivo de Amazon S3, utilice la
combinación de los parámetros bucket, file_path y region. Con esta forma de la función, se facilita
acceso a Amazon S3 mediante un rol de IAM en la instancia de base de datos de PostgreSQL.
aws_s3.table_import_from_s3 (
table_name text,
column_list text,
options text,
bucket text,
file_path text,
region text
)
• En lugar de utilizar el parámetro credentials para especificar el acceso a Amazon S3, utilice la
combinación de parámetros access_key, session_key y session_token.
aws_s3.table_import_from_s3 (
table_name text,
column_list text,
options text,
bucket text,
file_path text,
region text,
access_key text,
secret_key text,
session_token text
)
Parámetros alternativos
bucket
Cadena de texto que incluye el nombre del bucket de Amazon S3 que contiene el archivo.
file_path
1559
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones
region
Cadena de texto que contiene la región de AWS en la que se encuentra el archivo. Para ver una
lista de los nombres de regiones de AWS y los valores asociados, consulte Regiones y zonas de
disponibilidad (p. 11).
access_key
Cadena de texto que contiene la clave de acceso que se va a utilizar para la operación de importación.
El valor predeterminado es NULL.
secret_key
Cadena de texto que contiene la clave secreta que se va a usar para la operación de importación. El
valor predeterminado es NULL.
session_token
(Opcional) Cadena de texto que contiene la clave de la sesión que se va a utilizar para la operación de
importación. El valor predeterminado es NULL.
aws_commons.create_s3_uri
Crea una estructura aws_commons._s3_uri_1 para contener la información de archivos de Amazon
S3. Utilice los resultados de la función aws_commons.create_s3_uri en el parámetro s3_info de la
función aws_s3.table_import_from_s3 (p. 1558).
Sintaxis
aws_commons.create_s3_uri(
bucket text,
file_path text,
region text
)
Parámetros
bucket
Cadena de texto obligatoria que contiene el nombre del bucket de Amazon S3 del archivo.
file_path
Cadena de texto obligatoria que contiene la región de AWS en la que se encuentra el archivo. Para ver
una lista de los nombres de regiones de AWS y los valores asociados, consulte Regiones y zonas de
disponibilidad (p. 11).
aws_commons.create_aws_credentials
Establece una clave de acceso y una clave secreta en una estructura
aws_commons._aws_credentials_1. Utilice los resultados de la función
aws_commons.create_aws_credentials en el parámetro credentials de la función
aws_s3.table_import_from_s3 (p. 1558).
1560
Amazon Aurora Guía del usuario de Aurora
Exportación de datos de PostgreSQL a Amazon S3
Sintaxis
aws_commons.create_aws_credentials(
access_key text,
secret_key text,
session_token text
)
Parámetros
access_key
Cadena de texto obligatoria que contiene la clave de acceso que se va a utilizar para importar un
archivo de Amazon S3. El valor predeterminado es NULL.
secret_key
Cadena de texto obligatoria que contiene la clave secreta que se va a utilizar para importar un archivo
de Amazon S3. El valor predeterminado es NULL.
session_token
Cadena de texto opcional que contiene el token de la sesión que se va a utilizar para importar un
archivo de Amazon S3. El valor predeterminado es NULL. Si facilita un session_token opcional,
puede usar credenciales temporales.
Para obtener información adicional sobre cómo almacenar datos con Amazon S3, consulte Crear un bucket
en la Guía del usuario de Amazon Simple Storage Service.
De forma predeterminada, la carga a Amazon S3 utiliza cifrado del lado del servidor. Si utiliza cifrado, el
bucket de Amazon S3 debe cifrarse con una Clave administrada por AWS. En la actualidad, no puede
exportar datos a un bucket que esté cifrado con una clave administrada por el cliente.
Note
Temas
• Información general de la exportación de datos a Amazon S3 (p. 1562)
• Confirme que su versión de Aurora PostgreSQL admite exportaciones. (p. 1562)
• Especificación de la ruta del archivo de Amazon S3 a exportar (p. 1563)
• Configuración del acceso a un bucket de Amazon S3 (p. 1564)
• Exportación de datos de consulta mediante la función aws_s3.query_export_to_s3 (p. 1567)
• Solución de errores de acceso a Amazon S3 (p. 1569)
• Referencia de funciones (p. 1569)
1561
Amazon Aurora Guía del usuario de Aurora
Información general de la exportación a S3
1. Instale las extensiones necesarias de PostgreSQL. Entre estas se incluyen las extensiones aws_s3 y
aws_commons. Para ello, inicie psql y utilice los siguientes comandos.
La extensión aws_s3 proporciona la función aws_s3.query_export_to_s3 (p. 1569) que se utiliza para
importar datos a Amazon S3. La extensión aws_commons se incluye para proporcionar funciones
auxiliares adicionales.
2. Identifique la ruta de archivo de Amazon S3 que se va a utilizar para exportar datos. Para obtener
más información sobre este proceso, consulte Especificación de la ruta del archivo de Amazon S3 a
exportar (p. 1563).
3. Conceda permiso para acceder al bucket de Amazon S3.
Para exportar datos a un archivo de Amazon S3, conceda permiso al clúster de base de datos de
Aurora PostgreSQL para obtener acceso al bucket de Amazon S3 que la exportación usará para el
almacenamiento. Esto incluye los siguientes pasos:
1. Cree una política de IAM que proporcione acceso al bucket de Amazon S3 al que se desea
exportar.
2. Cree un rol de IAM.
3. Asocie la política que ha creado al rol que ha creado.
4. Agregue este rol de IAM al clúster de base de datos.
Para obtener más información sobre este proceso, consulte Configuración del acceso a un bucket de
Amazon S3 (p. 1564).
4. Identifique una consulta de base de datos para obtener los datos. Exporte los datos de consulta
llamando a la función aws_s3.query_export_to_s3.
1562
Amazon Aurora Guía del usuario de Aurora
Especificación de la ruta del
archivo de Amazon S3 a exportar
Si en la salida se recoge la cadena de texto "s3Export", el motor admite las exportaciones de Amazon
S3 . Si no es así, el motor no las admite.
Para obtener más información sobre cómo almacenar datos con Amazon S3, consulte Crear un bucket y
Ver un objeto en la Guía del usuario de Amazon Simple Storage Service.
• Ruta del archivo: la ruta del archivo identifica dónde se almacena la exportación en el bucket de Amazon
S3. La ruta del archivo consta de lo siguiente:
• Un prefijo de ruta opcional que identifica una ruta de carpeta virtual.
• Un prefijo de archivo que identifica uno o varios archivos que se van a almacenar. Las
exportaciones más grandes se almacenan en varios archivos, cada uno con un tamaño máximo de
aproximadamente 6 GB. Los nombres de archivo adicionales tienen el mismo prefijo de archivo, pero
con _partXX anexado. XX representa 2, luego 3, y así sucesivamente.
Por ejemplo, una ruta de archivo con una carpeta exports y un prefijo de archivo query-1-export es
/exports/query-1-export.
• Región de AWS (opcional): la región de AWS donde se encuentra el bucket de Amazon S3. Si no
especifica un valor de región de AWS, Aurora guarda sus archivos en Amazon S3, en la misma región
de AWS que el clúster de base de datos de exportación.
Note
Actualmente, la región de AWS debe ser la misma región que la del clúster de base de datos e
de exportación.
Para ver una lista de los nombres de regiones de AWS y los valores asociados, consulte Regiones y
zonas de disponibilidad (p. 11).
Más adelante, proporcione este valor s3_uri_1 como un parámetro en la llamada a la función
aws_s3.query_export_to_s3 (p. 1569). Para ver ejemplos, consulte Exportación de datos de consulta
mediante la función aws_s3.query_export_to_s3 (p. 1567).
1563
Amazon Aurora Guía del usuario de Aurora
Configuración del acceso a un bucket de Amazon S3
Esta política concede los permisos de bucket y objeto que permiten al clúster de base de datos de
PostgreSQL acceder a Amazon S3.
a. Incluya las siguientes acciones necesarias en la política para permitir la transferencia de archivos
del clúster de base de datos de PostgreSQL a un bucket de Amazon S3:
• s3:PutObject
• s3:AbortMultipartUpload
b. Incluye el nombre de recurso de Amazon (ARN) que identifica el bucket de Amazon S3 y los
objetos del bucket. El formato del ARN para acceder a Amazon S3 es: arn:aws:s3:::your-
s3-bucket/*
Para obtener información adicional sobre cómo crear una política de IAM para Aurora PostgreSQL,
consulte Creación y uso de una política de IAM para el acceso a bases de datos de IAM (p. 1880).
Consulte también el Tutorial: Crear y asociar su primera política administrada por el cliente en la Guía
del usuario de IAM.
El siguiente comando de la AWS CLI crea una política de IAM denominada rds-s3-export-policy
con estas opciones. Otorga acceso a un bucket llamado your-s3-bucket.
Warning
Le recomendamos que configure la base de datos en una VPC privada que tenga políticas
de punto de enlace configuradas para acceder a buckets específicos. Para obtener más
información, consulte Uso de políticas de punto de enlace para Amazon S3 en la Guía del
usuario de Amazon VPC.
Recomendamos encarecidamente que no cree una política con acceso a todos los recursos.
Este acceso puede representar una amenaza para la seguridad de los datos. Si crea una
política que da acceso S3:PutObject a todos los recursos mediante "Resource":"*", un
usuario con privilegios de exportación puede exportar datos a todos los buckets de su cuenta.
Además, el usuario puede exportar datos a cualquier bucket en el que se pueda escribir
públicamente dentro de su región de AWS.
Después de crear la política, anote el nombre de recurso de Amazon (ARN) de la política. Cuando
asocia la política a un rol de IAM, necesita el ARN para realizar un paso posterior.
1564
Amazon Aurora Guía del usuario de Aurora
Configuración del acceso a un bucket de Amazon S3
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::your-s3-bucket/*"
]
}
]
}'
Realiza este paso para que Aurora PostgreSQL pueda asumir este rol de IAM en su nombre para
obtener acceso a los buckets de Amazon S3. Para obtener más información, consulte Creación de un
rol para delegar permisos a un usuario de IAM en la Guía del usuario de IAM.
Example
Para Windows:
1565
Amazon Aurora Guía del usuario de Aurora
Configuración del acceso a un bucket de Amazon S3
--assume-role-policy-document '{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "rds.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"aws:SourceAccount": 111122223333,
"aws:SourceArn": arn:aws:rds:us-east-1:111122223333:db:dbname
}
}
}
]
}'
El siguiente comando de la AWS CLI asocia la política creada anteriormente al rol denominado rds-
s3-export-role.. Sustituya your-policy-arn por el ARN de la política que ha anotado en un
paso anterior.
4. Añada el rol de IAM al clúster de base de datos. Para ello, utilice la AWS Management Console o la
AWS CLI, tal y como se describe a continuación.
Consola
Para añadir un rol de IAM para un clúster de base de datos de PostgreSQL utilizando la consola
AWS CLI
Para añadir un rol de IAM para un clúster de base de datos de PostgreSQL mediante la CLI,
realice el siguiente procedimiento:
• Utilice el siguiente comando para añadir el rol al clúster de base de datos de PostgreSQL denominado
my-db-cluster. Sustituya your-role-arn por el ARN del rol que ha anotado en el paso anterior.
Utilice s3Export para el valor de la opción --feature-name.
Example
1566
Amazon Aurora Guía del usuario de Aurora
Exportación de datos de consulta mediante
la función aws_s3.query_export_to_s3
Para Windows:
Temas
• Requisitos previos (p. 1567)
• Llamar a aws_s3.query_export_to_s3 (p. 1567)
• Exportación a un archivo CSV que utiliza un delimitador personalizado (p. 1569)
• Exportación a un archivo binario con codificación (p. 1569)
Requisitos previos
Antes de utilizar la función aws_s3.query_export_to_s3, asegúrese de completar los siguientes
requisitos previos:
Los ejemplos siguientes utilizan una tabla de base de datos llamada sample_table. Estos ejemplos
exportan los datos a un bucket llamado sample-bucket. La tabla y los datos de ejemplo se crean con las
siguientes instrucciones SQL en psql.
psql=> CREATE TABLE sample_table (bid bigint PRIMARY KEY, name varchar(80));
psql=> INSERT INTO sample_table (bid,name) VALUES (1, 'Monday'), (2,'Tuesday'), (3,
'Wednesday');
Llamar a aws_s3.query_export_to_s3
A continuación, se muestran las formas básicas de llamar a la función
aws_s3.query_export_to_s3 (p. 1569).
1567
Amazon Aurora Guía del usuario de Aurora
Exportación de datos de consulta mediante
la función aws_s3.query_export_to_s3
Aunque los parámetros varían para las dos llamadas a funciones siguientes
aws_s3.query_export_to_s3, los resultados son los mismos para estos ejemplos. Todas las filas de la
tabla sample_table se exportan a un bucket llamado sample-bucket.
• 'SELECT * FROM sample_table': el primer parámetro es una cadena de texto requerida que
contiene una consulta SQL. El motor de PostgreSQL ejecuta esta consulta. Los resultados de la consulta
se copian en el bucket de S3 identificado en otros parámetros.
• :'s3_uri_1': este parámetro es una estructura que identifica el archivo de Amazon S3. En este
ejemplo se utiliza una variable para identificar la estructura creada anteriormente. En su lugar, puede
crear la estructura incluyendo la llamada a la función aws_commons.create_s3_uri insertada dentro
de la llamada a la función aws_s3.query_export_to_s3 de la siguiente manera.
• options :='format text': el parámetro options es una cadena de texto opcional que contiene
argumentos COPY de PostgreSQL. El proceso de copia utiliza los argumentos y el formato del comando
COPY de PostgreSQL.
s3-region://bucket-name[/path-prefix]/file-prefix
Las exportaciones más grandes se almacenan en varios archivos, cada uno con un tamaño máximo de
aproximadamente 6 GB. Los nombres de archivo adicionales tienen el mismo prefijo de archivo, pero
con _partXX anexado. XX representa 2, luego 3, y así sucesivamente. Por ejemplo, supongamos que
especifica la ruta donde almacena los archivos de datos como sigue.
s3-us-west-2://my-bucket/my-prefix
Si la exportación tiene que crear tres archivos de datos, el bucket de Amazon S3 contiene los siguientes
archivos de datos.
s3-us-west-2://my-bucket/my-prefix
s3-us-west-2://my-bucket/my-prefix_part2
1568
Amazon Aurora Guía del usuario de Aurora
Solución de errores de acceso a Amazon S3
s3-us-west-2://my-bucket/my-prefix_part3
Para obtener la referencia completa de esta función y formas adicionales de llamarla, consulte
aws_s3.query_export_to_s3 (p. 1569). Para obtener más información sobre el acceso a archivos en
Amazon S3, consulte Ver un objeto en la Guía del usuario de Amazon Simple Storage Service.
Referencia de funciones
Funciones
• aws_s3.query_export_to_s3 (p. 1569)
• aws_commons.create_s3_uri (p. 1572)
aws_s3.query_export_to_s3
Exporta un resultado de consulta PostgreSQL a un bucket de Amazon S3. La extensión aws_s3
proporciona la función aws_s3.query_export_to_s3.
1569
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones
Los parámetros obligatorios son query y s3_info. Definen la consulta que se va a exportar e identifican
el bucket de Amazon S3 al que se va a exportar. Un parámetro opcional llamado options proporciona
la definición de varios parámetros de exportación. Para obtener ejemplos sobre el uso de la función
aws_s3.query_export_to_s3, consulte Exportación de datos de consulta mediante la función
aws_s3.query_export_to_s3 (p. 1567).
Sintaxis
aws_s3.query_export_to_s3(
query text,
s3_info aws_commons._s3_uri_1,
options text
)
Parámetros de entrada
query
Cadena de texto necesaria que contiene una consulta SQL que ejecuta el motor de PostgreSQL. Los
resultados de esta consulta se copian en un bucket de S3 identificado en el parámetro s3_info.
s3_info
Actualmente, este valor debe ser la misma región de AWS que la del clúster de base de datos e
de exportación. El valor predeterminado es la región de AWS del clúster de base de datos e de
exportación.
Cadena de texto opcional que contiene argumentos para el comando COPY de PostgreSQL. Estos
argumentos especifican cómo se copian los datos cuando se exportan. Para obtener más detalles,
consulte la documentación de COPY de PostgreSQL.
En lugar de utilizar el parámetro s3_info para identificar un archivo de Amazon S3, utilice la combinación
de los parámetros bucket, file_path y region.
aws_s3.query_export_to_s3(
query text,
bucket text,
file_path text,
region text,
options text
1570
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones
query
Cadena de texto necesaria que contiene una consulta SQL que ejecuta el motor de PostgreSQL. Los
resultados de esta consulta se copian en un bucket de S3 identificado en el parámetro s3_info.
bucket
Cadena de texto obligatoria que incluye el nombre del bucket de Amazon S3 que contiene el archivo.
file_path
Cadena de texto opcional que contiene la región de AWS en la que se encuentra el bucket. Para ver
una lista de los nombres de regiones de AWS y los valores asociados, consulte Regiones y zonas de
disponibilidad (p. 11).
Actualmente, este valor debe ser la misma región de AWS que la del clúster de base de datos e
de exportación. El valor predeterminado es la región de AWS del clúster de base de datos e de
exportación.
options
Cadena de texto opcional que contiene argumentos para el comando COPY de PostgreSQL. Estos
argumentos especifican cómo se copian los datos cuando se exportan. Para obtener más detalles,
consulte la documentación de COPY de PostgreSQL.
Parámetros de salida
aws_s3.query_export_to_s3(
OUT rows_uploaded bigint,
OUT files_uploaded bigint,
OUT bytes_uploaded bigint
)
rows_uploaded
Número de filas de tabla que se cargaron correctamente a Amazon S3 para la consulta dada.
files_uploaded
Ejemplos
1571
Amazon Aurora Guía del usuario de Aurora
Administración de planes de ejecución
de consultas para Aurora PostgreSQL
aws_commons.create_s3_uri
Crea una estructura aws_commons._s3_uri_1 para contener la información de archivos de Amazon
S3. Debe utilizar los resultados de la función aws_commons.create_s3_uri en el parámetro
s3_info de la función aws_s3.query_export_to_s3 (p. 1569). Para ver un ejemplo de uso de la función
aws_commons.create_s3_uri, consulte Especificación de la ruta del archivo de Amazon S3 a
exportar (p. 1563).
Sintaxis
aws_commons.create_s3_uri(
bucket text,
file_path text,
region text
)
Parámetros de entrada
bucket
Cadena de texto obligatoria que contiene el nombre del bucket de Amazon S3 del archivo.
file_path
Cadena de texto obligatoria que contiene la región de AWS en la que se encuentra el archivo. Para ver
una lista de los nombres de regiones de AWS y los valores asociados, consulte Regiones y zonas de
disponibilidad (p. 11).
Mediante la administración de planes de consultas, es posible controlar los planes de ejecución para un
conjunto de instrucciones que desee gestionar. Puede hacer lo siguiente:
1572
Amazon Aurora Guía del usuario de Aurora
Habilitar la administración de planes de consultas
• Obligar al optimizador a elegir a partir de un número limitado de planes buenos y conocidos para mejorar
la estabilidad de los planes.
• Optimizar los planes de manera centralizada y, a continuación, distribuir los mejores planes globalmente.
• Identificar índices fuera de uso y evaluar el impacto de crear o anular un índice.
• Detectar automáticamente un nuevo plan de costo mínimo que el optimizador haya descubierto.
• Probar características de optimizador nuevas con un menor nivel de riesgo, porque puede optar por
aprobar únicamente las modificaciones de planes que mejoren el rendimiento.
Temas
• Habilitar la administración de planes de consultas para Aurora PostgreSQL (p. 1573)
• Habilitación de la administración de planes de consultas (p. 1574)
• Aspectos básicos de la administración de planes de consultas (p. 1574)
• Prácticas recomendadas para la administración de planes de consultas (p. 1578)
• Examinar planes en la vista apg_plan_mgmt.dba_plans (p. 1579)
• Capturar planes de ejecución (p. 1582)
• Uso de planes administrados (p. 1583)
• Mantenimiento de planes de ejecución (p. 1586)
• Referencia de parámetros para la administración de planes de consultas (p. 1591)
• Referencia de funciones para la administración de planes de consultas (p. 1594)
Sólo los usuarios con el rol rds_superuser pueden completar el procedimiento siguiente. El
rds_superuser es necesario para crear la extensión apg_plan_mgmt y su apg_plan_mgmt función.
Se debe conceder a los usuarios el rol apg_plan_mgmt para administrar la extensión apg_plan_mgmt.
1573
Amazon Aurora Guía del usuario de Aurora
Habilitación de la administración de planes de consultas
de clúster con los clústeres de base de datos en los que desee utilizar la administración de planes de
consultas. Para obtener más información, consulte Modificación del clúster de base de datos con la
consola, CLI y API (p. 405).
4. Abra el grupo de parámetros en el nivel del clúster y establezca el parámetro
rds.enable_plan_management en 1. Para obtener más información, consulte Modificación de
parámetros de un grupo de parámetros de clúster de base de datos (p. 381).
5. Reinicie la instancia de base de datos para habilitar esta nueva configuración.
6. Conéctese a una instancia de base de datos con un cliente como psql.
7. Cree la extensión apg_plan_mgmt para su instancia de base de datos. A continuación se muestra un
ejemplo.
psql my-database
my-database=> CREATE EXTENSION apg_plan_mgmt;
Para actualizar, ejecute los siguientes comandos en el nivel de instancia de la base de datos o el clúster.
Temas
• Realización de una captura de plan manual (p. 1575)
• Ver planes capturados (p. 1575)
• Uso de las instrucciones administradas y el hash SQL (p. 1575)
1574
Amazon Aurora Guía del usuario de Aurora
Conceptos básicos
Puede ejecutar instrucciones SELECT, INSERT, UPDATE o DELETE, o puede incluir la instrucción
EXPLAIN como se muestra arriba. Utilice EXPLAIN para capturar un plan sin la sobrecarga o los efectos
secundarios potenciales de ejecutar la instrucción. Para obtener más información acerca de la captura
manual, consulte Captura manual de planes para instrucciones SQL específicas (p. 1582). Tenga en
cuenta que la administración de planes de consulta no guarda los planes para las sentencias que hacen
referencia a tablas del sistema como pg_class.
Cada fila mostrada representa un plan administrado. En el ejemplo anterior se muestra la siguiente
información.
Para obtener más información sobre la vista de apg_plan_mgmt.dba_plans, consulte Examinar planes
en la vista apg_plan_mgmt.dba_plans (p. 1579).
1575
Amazon Aurora Guía del usuario de Aurora
Conceptos básicos
• Para la captura manual, facilita las instrucciones específicas al optimizador, como se muestra en el
ejemplo anterior.
• Para la captura automática, el optimizador captura planes para instrucciones que se ejecutan varias
veces. La captura automática se muestra en un ejemplo posterior.
Cuando el optimizador procesa cualquier instrucción SQL, utiliza las siguientes reglas para crear la
instrucción SQL normalizada:
1576
Amazon Aurora Guía del usuario de Aurora
Conceptos básicos
También puede utilizar su grupo de parámetros de base de datos personalizado al crear una nueva
instancia de base de datos Aurora PostgreSQL. Para obtener más información acerca de los grupos de
parámetros, consulte Modificación de parámetros de un grupo de parámetros de base de datos (p. 378).
A medida que se ejecuta la aplicación, el optimizador captura los planes para cualquier instrucción que
se ejecute más de una vez. El optimizador siempre establece el estado del primer plan capturado de
una instrucción administrada en approved. Un conjunto de planes aprobados para una instrucción
administrada se denomina base de referencia del plan.
A medida que la aplicación sigue ejecutándose, puede que el optimizador encuentre planes adicionales
para las instrucciones administradas. El optimizador establece el estado de los planes adicionales
capturados en Unapproved.
El conjunto de todos los planes capturados para una instrucción administrada se denomina historial del
plan. Posteriormente, podrá decidir si los planes Unapproved rinden apropiadamente y cambiarlos a
Approved, Rejected o Preferred utilizando la función apg_plan_mgmt.evolve_plan_baselines
o la función apg_plan_mgmt.set_plan_status.
Para obtener más información acerca de la captura de planes, consulte Capturar planes de
ejecución (p. 1582).
Validación de planes
Los planes administrados pueden volverse no válidos ("obsoletos") cuando se eliminan los objetos de los
que dependen, como un índice. Para encontrar y eliminar todos los planes obsoletos, utilice la función
apg_plan_mgmt.validate_plans.
SELECT apg_plan_mgmt.validate_plans('delete');
El siguiente ejemplo aprueba automáticamente cualquier plan sin aprobar que esté habilitado y resulte al
menos un 10 por ciento más rápido que el plan de costo mínimo de la referencia de planes.
SELECT apg_plan_mgmt.evolve_plan_baselines(
sql_hash,
plan_hash,
1.1,
'approve'
)
FROM apg_plan_mgmt.dba_plans
WHERE status = 'Unapproved' AND enabled = true;
1577
Amazon Aurora Guía del usuario de Aurora
Prácticas recomendadas para la
administración de planes de consultas
Para obtener más información sobre la verificación de planes, consulte Evaluación del rendimiento de los
planes (p. 1586).
Eliminación de planes
El optimizador elimina planes automáticamente si no se han ejecutado o seleccionado como el
plan de costo mínimo para el periodo de retención de planes. El periodo de retención de planes
predeterminado es de 32 días. Para aplicar el periodo de retención de planes, establezca el parámetro
apg_plan_mgmt.plan_retention_period.
También puede revisar el contenido de la vista apg_plan_mgmt.dba_plans y eliminar los planes que
no quiera mediante la función apg_plan_mgmt.delete_plan. Para obtener más información, consulte
Eliminación de planes (p. 1589).
1. En un entorno de desarrollo, identifique las instrucciones SQL que causen un mayor impacto en el
rendimiento del sistema. Después, capture los planes para estas instrucciones según se describen
en Captura manual de planes para instrucciones SQL específicas (p. 1582) y Captura de planes
automática (p. 1583).
2. Exporte los planes capturados desde el entorno de desarrollo e impórtelos al entorno de producción.
Para obtener más información, consulte Importación y exportación de planes (p. 1590).
3. En producción, ejecute su aplicación y fuerce el uso de planes administrados aprobados. Para obtener
más información, consulte Uso de planes administrados (p. 1583). Cuando se ejecute la aplicación,
añada nuevos planes también a medida que el optimizador los descubra. Para obtener más información,
consulte Captura de planes automática (p. 1583).
4. Analice los planes no aprobados y apruebe los que muestren un buen rendimiento. Para obtener más
información, consulte Evaluación del rendimiento de los planes (p. 1586).
5. Mientras la aplicación continúa ejecutándose, el optimizador empezará a utilizar los nuevos planes,
según resulte conveniente.
1578
Amazon Aurora Guía del usuario de Aurora
Examinar planes en la vista dba_plans
1. Mientras se ejecute su aplicación, fuerce el uso de planes administrados y añada automáticamente los
planes recién descubiertos como no aprobados. Para obtener más información, consulte Uso de planes
administrados (p. 1583) y Captura de planes automática (p. 1583).
2. Monitorización de su aplicación en ejecución para detectar regresiones de rendimiento.
3. Cuando descubra una regresión del plan, configure el estado del plan en rejected. La próxima vez
que el optimizador ejecute la instrucción SQL, ignora automáticamente el plan rechazado y emplea un
plan aprobado diferente en su lugar. Para obtener más información, consulte Rechazar o desactivar
planes más lentos (p. 1587).
En algunos casos, puede que prefiera reparar un plan defectuoso en lugar de rechazarlo, deshabilitarlo
o eliminarlo. Utilice la extensión pg_hint_plan para experimentar con la mejora de un plan. Con
pg_hint_plan, puede utilizar comentarios especiales para decirle al optimizador que anule cómo
crea un plan habitualmente. Para obtener más información, consulte Corrección de planes mediante
pg_hint_plan (p. 1588).
Esta vista contiene el historial de planes para todas las instrucciones administradas. Cada plan
administrado se identifica mediante una combinación de un valor hash SQL y un valor hash de plan. Con
estos identificadores, puede usar herramientas como Performance Insights de Amazon RDS para seguir el
rendimiento individual de los planes. Para obtener más información sobre Información sobre rendimiento,
consulte Uso de Información sobre rendimiento de Amazon RDS.
Note
1579
Amazon Aurora Guía del usuario de Aurora
Examinar planes en la vista dba_plans
has_side_effects Un valor que indica que la instrucción SQL es una instrucción en lenguaje de
manipulación de datos (DML) o una instrucción SELECT que contiene una
función VOLATILE.
last_used Este valor se actualiza a la fecha actual siempre que el plan sea
ejecutado o cuando el plan sea el plan de costo mínimo del optimizador
de consultas. Este valor se almacena en la memoria compartida
y se vacía en el disco periódicamente. Para obtener el valor más
actualizado, lea la fecha de la memoria compartida llamando a la función
apg_plan_mgmt.plan_last_used(sql_hash, plan_hash) en lugar de
leer el valor last_used. Para obtener más información, consulte el parámetro
apg_plan_mgmt.plan_retention_period (p. 1592).
last_validated La fecha y hora más recientes en las que se comprobó que el plan se podría
recrear mediante la función apg_plan_mgmt.validate_plans (p. 1599) o la
función apg_plan_mgmt.evolve_plan_baselines (p. 1595).
last_verified La fecha y hora más recientes en las que se verificó un plan como el que mejor
rendimiento ofrece para los parámetros especificados mediante la función
apg_plan_mgmt.evolve_plan_baselines (p. 1595).
1580
Amazon Aurora Guía del usuario de Aurora
Examinar planes en la vista dba_plans
plan_outline Una representación del plan que se utiliza para recrear el plan de ejecución
real, y es independiente de la base de datos. Los operadores del árbol se
corresponden con los operadores que aparecen en el resultado de EXPLAIN.
sql_hash Un valor hash del texto de la instrucción SQL, normalizado con los literales
eliminados.
status El estado de un plan, que determina cómo utiliza un plan el optimizador. Entre
los valores válidos se incluyen los siguientes.
1581
Amazon Aurora Guía del usuario de Aurora
Capturar planes de ejecución
Al capturar planes, el optimizador establece el estado del primer plan capturado de una instrucción
administrada en approved. El optimizador establece el estado de cualquier plan adicional capturado para
una instrucción administrada en unapproved. Sin embargo, puede guardarse ocasionalmente más de un
plan con el estado approved. Esto puede ocurrir cuando se crean varios planes para una instrucción en
paralelo, y antes de que se confirme el primer plan para la instrucción.
Para controlar el número máximo de planes que se pueden capturar y almacenar en la vista dba_plans,
establezca el parámetro apg_plan_mgmt.max_plans en su grupo de parámetros en el nivel de la
instancia de la base de datos. Un cambio en el parámetro apg_plan_mgmt.max_plans requiere
un reinicio de la instancia de base de datos para que el nuevo valor tenga efecto. Para obtener más
información, consulte el parámetro apg_plan_mgmt.max_plans (p. 1592).
Temas
• Captura manual de planes para instrucciones SQL específicas (p. 1582)
• Captura de planes automática (p. 1583)
Tras capturar un plan para cada instrucción SQL, el optimizador añade una nueva fila a la vista
apg_plan_mgmt.dba_plans.
Recomendamos que utilice instrucciones EXPLAIN o EXPLAIN EXECUTE en el archivo de script de SQL.
Asegúrese de que incluye suficientes variaciones en los valores de parámetros para capturar todos los
planes de interés.
Si conoce un plan mejor que el plan de costo mínimo del optimizador, puede que sea capaz de forzar al
optimizador a que use el plan mejor. Para ello, especifique una o más sugerencias del optimizador. Para
1582
Amazon Aurora Guía del usuario de Aurora
Uso de planes administrados
obtener más información, consulte Corrección de planes mediante pg_hint_plan (p. 1588). Para comparar
el rendimiento de los planes unapproved y approved y aprobarlos, rechazarlos o eliminarlos, consulte
Evaluación del rendimiento de los planes (p. 1586).
A medida que se ejecuta la aplicación con los ajustes de parámetro del administrador de planes
de consulta predeterminados, el optimizador captura los planes para cada instrucción SQL que se
ejecute al menos dos veces. La captura de todos los planes con los valores predeterminados tiene
una sobrecarga de tiempo de ejecución muy pequeña y puede habilitarse en producción.
Para medir el rendimiento de los planes sin aprobar y aprobar, rechazar o eliminar dichos planes, consulte
Evaluación del rendimiento de los planes (p. 1586).
Mientras se ejecuta la aplicación, esta configuración hace que el optimizador utilice el plan de costo
mínimo, preferido o aprobado que sea válido y esté habilitado para cada instrucción administrada.
1583
Amazon Aurora Guía del usuario de Aurora
Uso de planes administrados
En el siguiente gráfico de flujo se muestra cómo el optimizador del administrador de planes de consulta
elige qué plan ejecutar.
El flujo es el siguiente:
1. Cuando el optimizador procesa cada una de las instrucciones SQL, genera un plan de costo mínimo.
1584
Amazon Aurora Guía del usuario de Aurora
Uso de planes administrados
Para obtener más información sobre cómo el optimizador captura los planes, consulte Capturar planes
de ejecución (p. 1582).
5. El optimizador ejecuta el plan generado si apg_plan_mgmt.use_plan_baselines es false.
6. Si el plan del optimizador no está en la vista apg_plan_mgmt.dba_plans, el optimizador captura el
plan como un nuevo plan unapproved.
7. El optimizador ejecuta el plan generado si se dan estas dos condiciones siguientes:
• El plan del optimizador no es un plan rejected ni disabled.
• El costo total del plan es menor que el umbral del plan de ejecución sin aprobar.
Un plan válido es aquel que el optimizador puede elegir para ejecutar. Los planes administrados pueden
dejar de ser válidos por varios motivos. Por ejemplo, los planes dejan de ser válidos cuando los objetos
de los que dependen se eliminan, como un índice o una partición de una tabla con particiones.
9. El optimizador determina el plan de costo mínimo de entre los planes aprobados por la instrucción
administrada que estén habilitados y sean válidos. A continuación, el optimizador ejecuta el plan
aprobado con costo mínimo.
QUERY PLAN
--------------------------------------------------------------------------
Aggregate (cost=393.29..393.30 rows=1 width=8) (actual time=7.251..7.251 rows=1 loops=1)
-> Index Only Scan using t1_pkey on t1 t (cost=0.29..368.29 rows=10000 width=0)
(actual time=0.061..4.859 rows=10000 loops=1)
Index Cond: ((id >= 1) AND (id <= 10000))
Heap Fetches: 10000
Planning time: 1.408 ms
1585
Amazon Aurora Guía del usuario de Aurora
Mantenimiento de planes de ejecución
El optimizador indica qué plan ejecutará, pero tenga en cuenta que en este ejemplo ha encontrado un
plan con menor costo. En ese caso, capture este plan de costo mínimo activando la captura de planes
automática, como se describe en Captura de planes automática (p. 1583).
Temas
• Evaluación del rendimiento de los planes (p. 1586)
• Validación de planes (p. 1587)
• Corrección de planes mediante pg_hint_plan (p. 1588)
• Eliminación de planes (p. 1589)
• Importación y exportación de planes (p. 1590)
Temas
• Aprobar planes mejores (p. 1586)
• Rechazar o desactivar planes más lentos (p. 1587)
SELECT apg_plan_mgmt.evolve_plan_baselines (
sql_hash,
plan_hash,
min_speedup_factor := 1.0,
action := 'approve'
)
FROM apg_plan_mgmt.dba_plans WHERE status = 'Unapproved';
1586
Amazon Aurora Guía del usuario de Aurora
Mantenimiento de planes de ejecución
NOTICE: Baseline [ Planning time 0.761 ms, Execution time 13.261 ms]
NOTICE: Baseline+1 [ Planning time 0.204 ms, Execution time 8.956 ms]
NOTICE: Total time benefit: 4.862 ms, Execution time benefit: 4.305 ms
NOTICE: Unapproved -> Approved
evolve_plan_baselines
-----------------------
0
(1 row)
El plan administrado incluye ahora dos planes aprobados que componen la base de referencia del
plan de la instrucción. También puede llamar a la función apg_plan_mgmt.set_plan_status para
establecer directamente el campo de estado de un plan en 'Approved', 'Rejected', 'Unapproved' o
'Preferred'.
SELECT apg_plan_mgmt.evolve_plan_baselines(
sql_hash, -- The managed statement ID
plan_hash, -- The plan ID
1.1, -- number of times faster the plan must be
'disable' -- The action to take. This sets the enabled field to false.
)
FROM apg_plan_mgmt.dba_plans
WHERE status = 'Unapproved' AND -- plan is Unapproved
origin = 'Automatic'; -- plan was auto-captured
Validación de planes
Use la función apg_plan_mgmt.validate_plans para eliminar o deshabilitar planes no válidos.
Los planes pueden volverse no válidos u obsoletos cuando se eliminan los objetos de los que dependen,
como un índice o una tabla. Sin embargo, puede que un plan deje de ser válido solo temporalmente si el
1587
Amazon Aurora Guía del usuario de Aurora
Mantenimiento de planes de ejecución
objeto eliminado se recrea. Si un plan no válido puede pasar a ser válido posteriormente, es posible que
prefiera deshabilitar un plan no válido o no hacer nada en lugar de eliminarlo.
Para encontrar y eliminar todos los planes que no sean válidos y no se hayan utilizado en la última
semana, utilice la función apg_plan_mgmt.validate_plans de la siguiente forma.
Al usar una de estas técnicas para forzar que el optimizador de consultas utilice un plan, también puede
utilizar la administración de planes de consulta para capturar y forzar el uso del nuevo plan.
Puede utilizar la extensión pg_hint_plan para cambiar el orden de las combinaciones, los métodos
de combinación o las rutas de acceso para una instrucción SQL. Puede utilizar un comentario SQL
con sintaxis pg_hint_plan especial para modificar cómo crea un plan el optimizador. Por ejemplo,
supongamos que la instrucción SQL del problema tiene una combinación bidireccional.
SELECT *
FROM t1, t2
WHERE t1.id = t2.id;
A continuación, supongamos que el optimizador elige el orden de combinación (t1, t2), pero que sabemos
que el orden de combinación (t2, t1) es más rápido. El siguiente consejo fuerza al optimizador a utilizar el
orden de combinación más rápido (t2, t1). Incluya EXPLAIN de modo que el optimizador genere un plan
para la instrucción SQL pero no ejecute la instrucción. (No se muestra el resultado).
Para modificar el plan generado por el optimizador y capturar el plan con pg_hint_plan
1588
Amazon Aurora Guía del usuario de Aurora
Mantenimiento de planes de ejecución
4. Establezca el estado del plan en Preferred. De este modo, se asegurará de que el optimizador
decida ejecutarlo en lugar de seleccionarlo del conjunto de planes aprobados cuando el plan de costo
mínimo no sea ya Approved o Preferred.
Ahora, cuando se ejecuta la instrucción SQL original, el optimizador elegirá un plan Approved o
Preferred. Si el plan de costo mínimo no es Approved ni Preferred, el optimizador elegirá el plan
Preferred.
Eliminación de planes
Elimine planes que no se hayan utilizado durante mucho tiempo o que ya no resulten relevantes. Cada
plan tiene una fecha last_used que utiliza el optimizador cada vez que ejecuta un plan o lo elige como
plan de costo mínimo para una instrucción. Utilice la fecha last_used para determinar si un plan se ha
utilizado recientemente y si sigue siendo relevante.
Para eliminar los planes que ya no sean válidos y que no espere que recuperen su validez, utilice la
función apg_plan_mgmt.validate_plans. Para obtener más información, consulte Validación de
planes (p. 1587).
Puede implementar su propia política para eliminar planes. Los planes se eliminan
automáticamente cuando la fecha actual - last_used es mayor que el valor del parámetro
apg_plan_mgmt.plan_retention_period, que de forma predeterminada es de 32 días. Puede
especificar un intervalo más largo o implementar su propia política de retención de planes llamando
directamente a la función delete_plan. La fecha de last_used es la fecha más reciente en que el
optimizador eligió un plan como plan de costo mínimo o en que se ejecutó el plan.
1589
Amazon Aurora Guía del usuario de Aurora
Mantenimiento de planes de ejecución
Important
Si no limpia los planes, podría quedarse eventualmente sin memoria compartida dedicada
a la administración de planes de consulta. Para controlar cuánta memoria tendrá disponible
para los planes administrados, utilice el parámetro apg_plan_mgmt.max_plans. Establezca
este parámetro en el grupo de parámetros de la instancia de base de datos y reiníciela
para que los cambios surtan efecto. Para obtener más información, consulte el parámetro
apg_plan_mgmt.max_plans (p. 1592).
1. Copie el archivo .tar de los planes administrados exportados al sistema en el que desee restaurar los
planes.
2. Utilice el comando pg_restore para copiar el archivo tar en una nueva tabla.
1590
Amazon Aurora Guía del usuario de Aurora
Referencia de parámetros para la
administración de planes de consultas
total_time_benefit_ms = EXCLUDED.total_time_benefit_ms,
execution_time_benefit_ms = EXCLUDED.execution_time_benefit_ms;
4. Vuelva a cargar los planes administrados en la memoria compartida y elimine la tabla de planes
temporal.
Parámetros
• apg_plan_mgmt.capture_plan_baselines (p. 1591)
• apg_plan_mgmt.max_databases (p. 1592)
• apg_plan_mgmt.max_plans (p. 1592)
• apg_plan_mgmt.plan_retention_period (p. 1592)
• apg_plan_mgmt.unapproved_plan_execution_threshold (p. 1593)
• apg_plan_mgmt.use_plan_baselines (p. 1593)
• Establézcalos en el nivel del clúster para que todas las instancias de bases de datos tengan los mismos
ajustes. Para obtener más información, consulte Modificación de parámetros de un grupo de parámetros
de clúster de base de datos (p. 381).
• Establézcalos en el nivel de la instancia de base de datos para aislar los ajustes en una instancia de
base de datos individual. Para obtener más información, consulte Modificación de parámetros de un
grupo de parámetros de base de datos (p. 378).
• Establézcalos en una sesión de cliente específica, como un psql, para aislar los valores únicamente para
esa sesión.
apg_plan_mgmt.capture_plan_baselines
Habilita la captura de planes de ejecución para instrucciones SQL.
Valor Descripción
automatic Habilita la captura de planes para instrucciones SQL subsiguientes que satisfagan los
criterios de elegibilidad.
1591
Amazon Aurora Guía del usuario de Aurora
Referencia de parámetros para la
administración de planes de consultas
apg_plan_mgmt.max_databases
Establece el número máximo de bases de datos que pueden usar la administración del plan de consulta.
Puede usar el metacomando psq1 (\l) para saber cuántas bases de datos hay en la instancia de base de
datos en el clúster de bases de datos de Aurora PostgreSQL. De forma predeterminada, la administración
de planes de consultas puede admitir 10 bases de datos. Puede cambiar el valor de este parámetro para el
clúster de base de datos o para la instancia de base de datos.
Important
apg_plan_mgmt.max_plans
Establece el número máximo de instrucciones SQL que el administrador del plan de consultas puede
mantener en la vista apg_plan_mgmt.dba_plans. Recomendamos establecer este parámetro en 10000
o superior para todas las versiones de Aurora PostgreSQL.
Important
apg_plan_mgmt.plan_retention_period
El número de días que los planes se mantienen en la vista apg_plan_mgmt.dba_plans antes de que se
eliminen automáticamente. Un plan se elimina cuando la fecha actual es el número de días especificado
desde la fecha del plan last_used. El valor predeterminado es 32 días. La fecha de last_used es la
fecha más reciente en que el optimizador eligió un plan como plan de costo mínimo o en que se ejecutó el
plan.
1592
Amazon Aurora Guía del usuario de Aurora
Referencia de parámetros para la
administración de planes de consultas
Entero positivo 32 Un valor entero positivo mayor o igual que 32, que representa los
días.
apg_plan_mgmt.unapproved_plan_execution_threshold
Un umbral de costos total calculado para el plan, bajo el cual el optimizador ejecuta un plan sin aprobar.
De forma predeterminada, el optimizador no ejecuta planes sin aprobar. Sin embargo, puede establecer un
umbral de ejecución para los planes sin aprobar más rápidos. Con esta configuración, el optimizador omite
la sobrecarga de aplicar solo los planes aprobados.
Entero positivo 0 Un valor entero positivo mayor o igual que 0. Un valor de 0 indica que
no se ejecutan planes sin aprobar cuando use_plan_baselines es
true.
Con el siguiente ejemplo, el optimizador ejecutará un plan sin aprobar si el costo estimado es de menos de
550, incluso si use_plan_baselines es true.
apg_plan_mgmt.use_plan_baselines
Forzar al optimizador a utilizar planes administrados para instrucciones administradas.
Valor Descripción
true Forzar el uso de planes administrados. Cuando se ejecuta una instrucción SQL y es
una instrucción administrada en la vista apg_plan_mgmt.dba_plans, el optimizador
selecciona un plan administrado en el siguiente orden.
1593
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones para la
administración de planes de consultas
Notas de uso
Funciones
• apg_plan_mgmt.delete_plan (p. 1594)
• apg_plan_mgmt.evolve_plan_baselines (p. 1595)
• apg_plan_mgmt.get_explain_plan (p. 1596)
• apg_plan_mgmt.plan_last_used (p. 1597)
• apg_plan_mgmt.reload (p. 1597)
• apg_plan_mgmt.set_plan_enabled (p. 1597)
• apg_plan_mgmt.set_plan_status (p. 1598)
• apg_plan_mgmt.update_plans_last_used (p. 1599)
• apg_plan_mgmt.validate_plans (p. 1599)
apg_plan_mgmt.delete_plan
Eliminar un plan administrado.
Sintaxis
apg_plan_mgmt.delete_plan(
sql_hash,
plan_hash
)
Valor devuelto
Parámetros
Parámetro Descripción
1594
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones para la
administración de planes de consultas
apg_plan_mgmt.evolve_plan_baselines
Comprueba si un plan ya aprobado es más rápido o si un plan identificado por el optimizador de consultas
como plan de costo mínimo es más rápido.
Sintaxis
apg_plan_mgmt.evolve_plan_baselines(
sql_hash,
plan_hash,
min_speedup_factor,
action
)
Valor devuelto
El número de planes que no han sido más rápidos que el mejor plan aprobado.
Parámetros
Parámetro Descripción
plan_hash El ID plan_hash del plan administrado. Utilice NULL para referirse a todos
los planes que tengan el mismo valor del ID de sql_hash.
min_speedup_factor El factor de aceleración mínimo es el número de veces más rápido que debe
ser un plan en relación con los planes ya aprobados para aprobarlo. Este
factor puede ser también el número de veces más lento que debe ser un plan
para rechazarlo o deshabilitarlo.
action La acción que va a realizar la función. Entre los valores válidos se incluyen los
siguientes. No distingue entre mayúsculas y minúsculas.
Notas de uso
1595
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones para la
administración de planes de consultas
apg_plan_mgmt.get_explain_plan
Genera el texto de una instrucción EXPLAIN para la instrucción SQL especificada.
Sintaxis
apg_plan_mgmt.get_explain_plan(
sql_hash,
plan_hash,
[explainOptionList]
)
Valor devuelto
Devuelve estadísticas de tiempo de ejecución para las instrucciones SQL especificadas. Utilizar sin
explainOptionList para devolver un plan EXPLAIN simple.
Parámetros
Parámetro Descripción
Notas de uso
Para explainOptionList, puede usar cualquiera de las mismas opciones que usaría con una
instrucción EXPLAIN. El optimizador de Aurora PostgreSQL concatena la lista de opciones que
proporciona a la instrucción EXPLAIN, por lo que puede solicitar cualquier opción que EXPLAIN admita.
1596
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones para la
administración de planes de consultas
apg_plan_mgmt.plan_last_used
Devuelve la fecha last_used del plan especificado de la memoria compartida.
Note
El valor de la memoria compartida siempre es actual en la instancia de base de datos principal del
clúster de base de datos. El valor solo se vacía periódicamente en la columna last_used de la
vista apg_plan_mgmt.dba_plans.
Sintaxis
apg_plan_mgmt.plan_last_used(
sql_hash,
plan_hash
)
Valor devuelto
Parámetros
Parámetro Descripción
apg_plan_mgmt.reload
Vuelve a cargar los planes en la memoria compartida desde la vista apg_plan_mgmt.dba_plans.
Sintaxis
apg_plan_mgmt.reload()
Valor devuelto
Ninguno.
Parámetros
Ninguno.
Notas de uso
• Utilícelo para actualizar la memoria compartida de una réplica de solo lectura inmediatamente, en lugar
de esperar a que los nuevos planes propaguen la réplica.
• Se utiliza tras importar los planes administrados.
apg_plan_mgmt.set_plan_enabled
Habilitar o deshabilitar un plan administrado.
1597
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones para la
administración de planes de consultas
Sintaxis
apg_plan_mgmt.set_plan_enabled(
sql_hash,
plan_hash,
[true | false]
)
Valor devuelto
Parámetros
Parámetro Descripción
apg_plan_mgmt.set_plan_status
Establezca el estado de un plan administrado en Approved, Unapproved, Rejected o Preferred.
Sintaxis
apg_plan_mgmt.set_plan_status(
sql_hash,
plan_hash,
status
)
Valor devuelto
Parámetros
Parámetro Descripción
• 'Approved'
• 'Unapproved'
• 'Rejected'
• 'Preferred'
1598
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones para la
administración de planes de consultas
Parámetro Descripción
El caso que utilice no importa, pero el valor de estado se establece en mayúscula
inicial en la vista apg_plan_mgmt.dba_plans. Para obtener más información
acerca de estos valores de la tarea, consulte status en Referencia de la vista
apg_plan_mgmt.dba_plans (p. 1580).
apg_plan_mgmt.update_plans_last_used
Actualiza inmediatamente la tabla de planes con la fecha de last_used almacenada en la memoria
compartida.
Sintaxis
apg_plan_mgmt.update_plans_last_used()
Valor devuelto
Ninguno.
Parámetros
Ninguno.
Notas de uso
Por ejemplo, si una instrucción con un sql_hash determinado comienza a ejecutarse lentamente,
puede determinar qué planes para esa instrucción se ejecutaron desde que comenzó la regresión de
rendimiento. Para ello, primero vacíe los datos de la memoria compartida al disco para que las fechas
de last_used estén actualizadas y, a continuación, consulte todos los planes de sql_hash de la
instrucción con la regresión del rendimiento. En la consulta, asegúrese de que la fecha de last_used
es superior o igual que la fecha en que comenzó la regresión del rendimiento. La consulta identifica el
plan o conjunto de planes que podrían ser responsables de la regresión del rendimiento. Puede usar
apg_plan_mgmt.get_explain_plan con explainOptionList establecidos en verbose, hashes.
También puede utilizar apg_plan_mgmt.evolve_plan_baselines para analizar el plan y cualquier
plan alternativo que pueda funcionar mejor.
apg_plan_mgmt.validate_plans
Validar que el optimizador aún puede recrear planes. El optimizador valida los planes Approved,
Unapproved y Preferred, aunque el plan esté habilitado o deshabilitado. Los planes Rejected no
se validan. Opcionalmente, puede usar la función apg_plan_mgmt.validate_plans para eliminar o
deshabilitar planes no válidos.
Sintaxis
apg_plan_mgmt.validate_plans(
sql_hash,
1599
Amazon Aurora Guía del usuario de Aurora
Publicación de registros de Aurora
PostgreSQL en CloudWatch Logs
plan_hash,
action)
apg_plan_mgmt.validate_plans(
action)
Valor devuelto
Parámetros
Parámetro Descripción
plan_hash El ID plan_hash del plan administrado. Utilice NULL para referirse a todos los planes
para el mismo valor del ID de sql_hash.
action La acción que va a realizar la función para los planes no válidos. Entre los valores de
cadena válidos se incluyen los siguientes. No distingue entre mayúsculas y minúsculas.
Notas de uso
Utilice el formulario validate_plans(action) para validar todos los planes administrados para las
instrucciones administradas en toda la vista apg_plan_mgmt.dba_plans.
Utilice el formulario validate_plans(sql_hash, NULL, action) para validar todos los planes
administrados para una instrucción administrada especificada con sql_hash.
1600
Amazon Aurora Guía del usuario de Aurora
Publicación de registros en Amazon CloudWatch
tiempo real de los datos de registro y utilizar CloudWatch para crear alarmas y ver métricas. Puede utilizar
CloudWatch Logs para almacenar los registros de registros en almacenamiento de larga duración. A
diferencia de RDS for PostgreSQL, que le permite publicar registros de actualización y postgresql, Aurora
PostgreSQL admite cargar registros de postgresql solo en CloudWatch Logs.
Aurora PostgreSQL admite la publicación de registros en CloudWatch Logs en las siguientes versiones:
Note
• Si la exportación de datos de log está deshabilitada, Aurora no elimina los grupos de logs o
flujos de logs.
• Si la exportación de los datos del registro está desactivada, los datos del registro de existentes
seguirán disponibles en CloudWatch Logs, en función de la configuración de la retención
del registro, lo que significa que seguirá incurriendo en gastos por los datos del registro de
auditoría almacenados. Puede eliminar los flujos y los grupos de registros mediante la consola
de CloudWatch Logs, la AWS CLI o la API de CloudWatch Logs.
• Si no desea exportar logs de auditoría a CloudWatch Logs, asegúrese de que todos los
métodos de exportación de logs de auditoría estén deshabilitados. Estos métodos son la AWS
Management Console, la AWS CLI y la API de RDS.
Consola
Puede publicar registros de Aurora PostgreSQL en CloudWatch Logs con la consola.
AWS CLI
Puede publicar registros de Aurora PostgreSQL con la AWS CLI. Puede ejecutar el comando modify-db-
cluster de la AWS CLI con las siguientes opciones:
1601
Amazon Aurora Guía del usuario de Aurora
Publicación de registros en Amazon CloudWatch
También puede publicar registros de Aurora PostgreSQL si ejecuta uno de los siguientes comandos de la
AWS CLI:
• create-db-cluster
• restore-db-cluster-from-s3
• restore-db-cluster-from-snapshot
• restore-db-cluster-to-point-in-time
Ejecute uno de estos comandos de la AWS CLI con las siguientes opciones:
Podrían ser necesarias otras opciones en función del comando de la AWS CLI que se ejecute.
Example
El siguiente comando crea un clúster de base de datos de Aurora PostgreSQL para publicar archivos de
registro en CloudWatch Logs.
Para Windows:
Example
El siguiente comando modifica un clúster de base de datos de Aurora PostgreSQL existente para publicar
archivos de registro en CloudWatch Logs. El valor --cloudwatch-logs-export-configuration es
un objeto JSON. La clave de este objeto es EnableLogTypes, y su valor es postgresql.
Para Windows:
1602
Amazon Aurora Guía del usuario de Aurora
Publicación de registros en Amazon CloudWatch
--db-cluster-identifier my-db-cluster ^
--cloudwatch-logs-export-configuration '{\"EnableLogTypes\":[\"postgresql\"]}'
Note
Al utilizar el símbolo del sistema de Windows, asegúrese de aplicar escape con comillas dobles (")
en código JSON al ponerlas como prefijo con una barra invertida (\).
Example
El siguiente ejemplo modifica un clúster de base de datos de Aurora PostgreSQL existente para desactivar
la publicación de archivos de registro en CloudWatch Logs. El valor --cloudwatch-logs-export-
configuration es un objeto JSON. La clave de este objeto es DisableLogTypes, y su valor es
postgresql.
Para Windows:
Note
Al utilizar el símbolo del sistema de Windows, debe aplicar escape con comillas dobles (") en
código JSON al ponerlas como prefijo con una barra invertida (\).
API de RDS
Puede publicar registros de Aurora PostgreSQL con la API de RDS. Puede ejecutar la operación
ModifyDBCluster con las siguientes opciones:
También puede publicar logs de Aurora PostgreSQL con la API de RDS mediante la ejecución de una de
las siguientes operaciones de API de RDS:
• CreateDBCluster
• RestoreDBClusterFromS3
• RestoreDBClusterFromSnapshot
• RestoreDBClusterToPointInTime
1603
Amazon Aurora Guía del usuario de Aurora
Monitoreo de eventos de registro en Amazon CloudWatch
Podrían ser necesarios otros parámetros en función del comando de la AWS CLI que ejecute.
Se crea un nuevo grupo de registros automáticamente para el clúster de base de datos de Aurora con
el siguiente prefijo. En este prefijo, cluster-name representa el nombre del clúster de base de datos y
log_type representa el tipo de registro.
/aws/rds/cluster/cluster-name/log_type
Por ejemplo, supongamos que configura la función de exportación para que incluya el registro de
postgresql para un clúster de base de datos denominado my-db-cluster. En este caso, los datos del
registro de PostgreSQL se almacenan en el grupo del registro /aws/rds/cluster/my-db-cluster/
postgresql.
Todos los eventos de todas las instancias de base de datos en un clúster de base de datos se envían a un
grupo de logs utilizando flujos de logs distintos.
Si ya existe un grupo de registros con el nombre especificado, Aurora utilizará dicho grupo de registros
para exportar los datos de registros para el clúster de base de datos Aurora. Puede utilizar la configuración
automática, como AWS CloudFormation, para crear grupos de logs con periodos de retención de log
predefinidos, filtros de métricas y acceso de cliente. De lo contrario, se crea un nuevo grupo de registros de
forma automática con el periodo de retención de registros predeterminado, Never Expire (Nunca expira),
en CloudWatch Logs. Puede utilizar la consola de CloudWatch Logs, la AWS CLI o la API de CloudWatch
Logs para modificar el periodo de retención de registros. Para obtener más información sobre cómo
cambiar los periodos de retención de registro en CloudWatch Logs, consulte Cambiar la retención de datos
de registro en CloudWatch Logs.
Puede utilizar la consola de CloudWatch Logs, la AWS CLI o la API de CloudWatch Logs para buscar
información en los eventos de registro para un clúster de base de datos. Para obtener más información
sobre la búsqueda y el filtrado de datos de registro, consulte Búsqueda y filtrado de datos de registros.
Para analizar los registros de Aurora PostgreSQL con CloudWatch Logs Insights
1604
Amazon Aurora Guía del usuario de Aurora
Análisis de los registros de Aurora PostgreSQL
mediante CloudWatch Logs Insights
1605
Amazon Aurora Guía del usuario de Aurora
Análisis de los registros de Aurora PostgreSQL
mediante CloudWatch Logs Insights
1606
Amazon Aurora Guía del usuario de Aurora
Análisis de los registros de Aurora PostgreSQL
mediante CloudWatch Logs Insights
c. En la ventana Add to this dashboard (Agregar a este panel), elija Logs (Registros).
d. En Select log group(s) (Seleccionar grupos de registros), seleccione el grupo de registros para el
clúster de base de datos.
e. En el editor de consultas, elimine la consulta que se muestra actualmente y, a continuación,
ingrese lo siguiente y elija Run query (Ejecutar consulta).
1607
Amazon Aurora Guía del usuario de Aurora
Uso del machine learning con Aurora PostgreSQL
by bin(5 min)
Entre los beneficios del Aurora Machine Learning se incluyen los siguientes:
1608
Amazon Aurora Guía del usuario de Aurora
Requisitos previos
AWSLos servicios de machine learning de son servicios administrados que se configuran y ejecutan en
sus propios entornos de producción. Actualmente, el machine learning de Aurora se integra con Amazon
Comprehend para los análisis de sentimiento y con SageMaker para una amplia variedad de algoritmos de
ML.
Para obtener información general acerca de Amazon Comprehend, consulte Amazon Comprehend. Para
obtener información acerca de cómo utilizar Aurora y Amazon Comprehend de manera conjunta, consulte
Uso de Amazon Comprehend para el procesamiento del lenguaje natural (p. 1612).
Para obtener información general acerca de SageMaker, consulte SageMaker. Para obtener información
acerca de cómo utilizar Aurora y SageMaker de manera conjunta, consulte Uso de SageMaker para
ejecutar sus propios modelos de ML (p. 1613).
Note
Temas
• Requisitos previos de Aurora Machine Learning (p. 1609)
• Habilitación del machine learning de Aurora (p. 1609)
• Uso de Amazon Comprehend para el procesamiento del lenguaje natural (p. 1612)
• Exportación de datos a Amazon S3 para el entrenamiento de modelos de SageMaker (p. 1613)
• Uso de SageMaker para ejecutar sus propios modelos de ML (p. 1613)
• Prácticas recomendadas con el machine learning de Aurora (p. 1617)
• Monitoreo del machine learning de Aurora (p. 1621)
• Referencia a la función de PostgreSQL para el machine learning de Aurora (p. 1622)
• Configuración manual de roles de IAM para SageMaker y Amazon Comprehend mediante la AWS
CLI (p. 1624)
Para obtener más información acerca de las regiones y la disponibilidad de la versión Aurora, consulte
Machine Learning de Aurora (p. 24).
Temas
• Configuración de acceso de IAM a los servicios de machine learning de AWS (p. 1610)
• Instalación de la extensión aws_ml para la inferencia de modelos (p. 1611)
1609
Amazon Aurora Guía del usuario de Aurora
Habilitación del machine learning de Aurora
Puede realizar la configuración de IAM automáticamente utilizando la AWS Management Console como se
muestra aquí. Para utilizar la AWS CLI para configurar el acceso de IAM, consulte Configuración manual
de roles de IAM para SageMaker y Amazon Comprehend mediante la AWS CLI (p. 1624).
Aurora Machine Learning, Amazon S3 se utiliza únicamente para entrenar modelos de SageMaker. Solo
tiene que utilizar Amazon S3 con Aurora Machine Learning si no dispone aún de un modelo entrenado y el
entrenamiento es su responsabilidad.
Para conectar un clúster de base de datos a estos servicios, ha de configurar un rol de AWS Identity and
Access Management (IAM) en cada servicio de Amazon. El rol de IAM permite a los usuarios del clúster de
base de datos autenticarse con el servicio correspondiente.
Para generar los roles de IAM en SageMaker, Amazon Comprehend o Amazon S3, repita los siguientes
pasos en cada servicio que necesite.
• Amazon S3
• Amazon Comprehend
• SageMaker
6. Elija Connect service (Conectar servicio).
7. Introduzca la información que se le pida del servicio específico en la ventana Connect cluster
(Conectar clúster):
1610
Amazon Aurora Guía del usuario de Aurora
Habilitación del machine learning de Aurora
Para obtener más información acerca del ARN de un bucket de Amazon S3, consulte Especificación
de recursos en una política en la Guía del usuario de Amazon Simple Storage Service. Para obtener
más información acerca del uso de un bucket de Amazon S3 con SageMaker, consulte Paso 1:
crear un bucket de Amazon S3 en la Guía para desarrolladores de Amazon SageMaker.
8. Elija Connect service (Conectar servicio).
9. Aurora crea un nuevo rol de IAM y lo añade a la lista de Current IAM roles for this cluster (Roles de
IAM actuales para este clúster) del clúster de base de datos. Inicialmente, el estado del rol de IAM es
In progress (En curso). El nombre del rol de IAM se genera automáticamente con el siguiente patrón
en cada servicio conectado:
Aurora también crea una nueva política de IAM y la adjunta al rol. El nombre de la política sigue una
convención de nomenclatura similar y también cuenta con una marca temporal.
Para instalar estas funciones en una base de datos específica, escriba el siguiente comando SQL en una
línea de comandos psql.
Si crea la extensión aws_ml en la base de datos predeterminada template1, las funciones estarán
disponible en cada nueva base de datos que cree.
psql>\dx
Si configura un rol de IAM para Amazon Comprehend, puede verificar la configuración de la siguiente
manera.
Al instalar la extensión aws_ml, se crea el rol administrativo aws_ml y se concede al rol rds_superuser.
También se crean esquemas separados para el servicio aws_sagemaker y para el servicio
aws_comprehend. El rol rds_superuser se convierte en el OWNER de ambos esquemas.
1611
Amazon Aurora Guía del usuario de Aurora
Uso de Amazon Comprehend para el
procesamiento del lenguaje natural
Para que los usuarios o roles obtengan acceso a las funciones de la extensión aws_ml, otorgue
privilegios EXECUTE a esas funciones. Posteriormente, puede REVOCAR los privilegios, si es necesario.
Los privilegios EXECUTE se revocan de PÚBLICO en las funciones de estos esquemas de forma
predeterminada. En una configuración de base de datos de varios suscriptores, para evitar que los
suscriptores tengan acceso a las funciones, utilice REVOKE USAGE en uno o varios esquemas de servicio
de ML.
Para obtener una referencia a las funciones instaladas de la extensión aws_ml, consulte Referencia a la
función de PostgreSQL para el machine learning de Aurora (p. 1622).
Aurora Machine Learning utiliza Amazon Comprehend para el análisis de opiniones del texto almacenado
en la base de datos. Una opinión es una opinión expresada en texto. El análisis de opiniones identifica y
clasifica opiniones para determinar si la actitud hacia algo (como un tema o producto) es positiva, negativa
o neutral.
Note
Amazon Comprehend solo está disponible actualmente en algunas regiones de AWS. Para
verificar en qué regiones de AWS puede utilizar Amazon Comprehend, consulte la página de la
tabla de regiones de AWS en el sitio de AWS.
Por ejemplo, si se utiliza Amazon Comprehend, puede analizar documentos de llamadas del centro de
contacto para detectar opiniones del intermediario y entender mejor la dinámica intermediario-agente.
Puede encontrar una descripción adicional en la publicación Analyzing contact center calls (Análisis de las
llamadas de los centros de contacto) en el blog de machine learning de AWS.
También puede combinar análisis de opiniones con análisis de otro tipo de información de la base de datos
mediante una única consulta. Por ejemplo, puede detectar el promedio de la opinión de los documentos del
centro de llamadas en relación con problemas que combinen las siguientes opciones:
El uso de Amazon Comprehend desde el machine learning de Aurora es tan fácil como llamar a una
función de SQL. Cuando instaló la extensión aws_ml (Instalación de la extensión aws_ml para la inferencia
de modelos (p. 1611)), esta proporciona la función aws_comprehend.detect_sentiment (p. 1622) para
realizar análisis de opiniones a través de Amazon Comprehend.
En cada fragmento de texto que analice, estas funciones le ayudan a determinar la opinión y el nivel de
confianza. Una consulta de Amazon Comprehend típica busca filas de la tabla en las que la opinión tenga
un determinado valor (POSITIVO o NEGATIVO), con un nivel de confianza superior a un determinado
porcentaje.
Por ejemplo, la siguiente consulta muestra cómo determinar la opinión promedio de los documentos en la
tabla de la base de datos, myTable.document. La consulta tiene en cuenta solo los documentos en los
que la confianza de la evaluación sea al menos del 80 por ciento. En el siguiente ejemplo, inglés (en) es el
idioma del texto de la opinión.
1612
Amazon Aurora Guía del usuario de Aurora
Exportación de datos a Amazon S3 para el
entrenamiento de modelos de SageMaker
Para evitar que se le cobre por el análisis de opiniones más de una vez por fila de tabla, puede materializar
los resultados del análisis una vez por fila. Haga esto en las filas de interés. En el siguiente ejemplo,
francés (fr) es el idioma del texto de la opinión.
Para obtener más información sobre cómo optimizar las llamadas a las funciones, consulte Prácticas
recomendadas con el machine learning de Aurora (p. 1617).
Para obtener información acerca de los parámetros y los tipos devueltos en la función de detección de
opiniones, consulte aws_comprehend.detect_sentiment (p. 1622).
Para entrenar modelos de SageMaker, exporte los datos a un bucket de Amazon S3. SageMaker utiliza
el bucket de Amazon S3 para entrenar el modelo antes de implementarlo. Puede consultar datos de un
clúster de base de datos de Aurora PostgreSQL y guardarlos directamente en archivos almacenados en un
bucket de Amazon S3. A continuación, SageMaker consume los datos del bucket de Amazon S3 para el
entrenamiento. Para obtener más información sobre el entrenamiento de modelos de SageMaker, consulte
Entrenamiento de un modelo con Amazon SageMaker.
Note
Cuando cree un bucket S3 para el entrenamiento del modelo de SageMaker o la puntuación por
lotes, incluya siempre el texto sagemaker en el nombre del bucket de S3. Para obtener más
información acerca de la creación de un bucket de S3 para SageMaker, consulte Paso 1: crear un
bucket de Amazon S3.
Para obtener más información acerca de la exportación de datos, consulte Exportación de datos de una
Aurora PostgreSQL de base de datos de clústerde Amazon S3 (p. 1561).
1613
Amazon Aurora Guía del usuario de Aurora
Uso de SageMaker para ejecutar
sus propios modelos de ML
SageMaker concede acceso a sus fuentes de datos para que pueda realizar exploraciones y análisis
sin administrar la infraestructura de hardware de los servidores. SageMaker también ofrece algoritmos
de Machine Learning comunes optimizados para ejecutarse de manera eficiente en conjuntos de datos
extremadamente grandes en un entorno distribuido. Con compatibilidad original para marcos y algoritmos
propios, SageMaker ofrece opciones de entrenamiento distribuido flexibles que se ajustan a sus flujos de
trabajo específicos.
Note
Actualmente, Aurora Machine Learning admite los puntos de enlace de SageMaker que
puedan leer y escribir el formato de valores separados por comas (CSV), a través de un valor
ContentType de text/csv. Los algoritmos de SageMaker integrados que actualmente aceptan
este formato son Bosque de corte aleatorio, Aprendiz lineal y XGBoost.
Asegúrese de implementar el modelo que está utilizando en la misma región de AWS como su clúster de
Aurora PostgreSQL. El Machine Learning de Aurora siempre invoca los puntos de enlace de SageMaker
presentes en la misma región de AWS que el clúster de Aurora.
Cuando instala la extensión aws_ml (como se describe en Instalación de la extensión aws_ml para la
inferencia de modelos (p. 1611)), esta proporciona la función aws_sagemaker.invoke_endpoint (p. 1623).
Utilice esta función para invocar su modelo de SageMaker y realizar la inferencia de modelos directamente
desde su aplicación de base de datos SQL.
Temas
• Creación de una función definida por el usuario para invocar un modelo de SageMaker (p. 1614)
• Transmisión de una matriz como entrada de un modelo de SageMaker (p. 1615)
• Especificación del tamaño del lote al invocar un modelo de SageMaker (p. 1615)
• Invocación de un modelo de SageMaker que tiene varias salidas (p. 1616)
• Puede dar a su modelo de machine learning su propio nombre en lugar de solo llamar a
aws_sagemaker.invoke_endpoint para todos sus modelos de ML.
• Puede especificar la dirección URL del punto de enlace del modelo en un solo lugar en el código de la
aplicación SQL.
• Puede controlar los privilegios EXECUTE de cada función de ML de forma independiente.
• Puede declarar los tipos de entrada y salida del modelo mediante tipos SQL. SQL aplica el número y el
tipo de argumentos pasados al modelo de ML y realiza la conversión de tipos si es necesario. El uso de
tipos SQL también traducirá SQL NULL al valor predeterminado adecuado esperado por su modelo de
ML.
• Puede reducir el tamaño máximo del lote si desea devolver las primeras filas un poco más rápido.
Para especificar una función definida por el usuario, utilice la instrucción de lenguaje de definición de datos
SQL (DDL) CREATE FUNCTION. Al definir la función, puede especificar lo siguiente:
1614
Amazon Aurora Guía del usuario de Aurora
Uso de SageMaker para ejecutar
sus propios modelos de ML
• El tipo de devolución.
La función definida por el usuario devuelve la inferencia calculada por el punto de enlace de SageMaker
después de ejecutar el modelo en los parámetros de entrada. En el siguiente ejemplo se crea una función
definida por el usuario para un modelo de SageMaker con dos parámetros de entrada.
CREATE FUNCTION classify_event (IN arg1 INT, IN arg2 DATE, OUT category INT)
AS $$
SELECT aws_sagemaker.invoke_endpoint (
'sagemaker_model_endpoint_name', NULL,
arg1, arg2 -- model inputs are separate arguments
)::INT -- cast the output to INT
$$ LANGUAGE SQL PARALLEL SAFE COST 5000;
Para obtener más detalles sobre los parámetros, consulte la referencia de la función
aws_sagemaker.invoke_endpoint (p. 1623).
• En este ejemplo se utiliza un tipo de salida INT. Si convierte la salida de un tipo varchar a otro
tipo, entonces debe convertirse a un tipo escalar integrado de PostgreSQL como INTEGER, REAL,
FLOAT o NUMERIC. Para obtener más información acerca de estos tipos, consulte Data Types en la
documentación de PostgreSQL.
• Especifique PARALLEL SAFE para habilitar el procesamiento de consultas paralelas. Para obtener más
información, consulte Explotación del procesamiento de consultas en paralelo (p. 1619).
• Especifique COST 5000 para estimar el costo de ejecución de la función. Utilice un número positivo que
indique el costo de ejecución estimado para la función, en unidades de cpu_operator_cost.
En el siguiente ejemplo se crea una función definida por el usuario que transfiere una matriz como entrada
al modelo de regresión de SageMaker.
1615
Amazon Aurora Guía del usuario de Aurora
Uso de SageMaker para ejecutar
sus propios modelos de ML
Esta función definida por el usuario devuelve valores de un modelo que devuelve varias salidas mediante
el uso de un tipo compuesto para las salidas.
Para el tipo compuesto, utilice los campos en el mismo orden que aparecen en la salida del modelo y
convierta la salida de aws_sagemaker.invoke_endpoint al tipo compuesto. El intermediario puede
extraer los campos individuales ya sea por nombre o con la notación ".*" de PostgreSQL.
1616
Amazon Aurora Guía del usuario de Aurora
Prácticas recomendadas con el machine learning de Aurora
Temas
• Optimización de la ejecución en el modo por lotes para llamadas a las funciones del machine learning
de Aurora (p. 1617)
• Explotación del procesamiento de consultas en paralelo (p. 1619)
• Uso de vistas materializadas y columnas materializadas (p. 1620)
Aurora utiliza automáticamente el modo por lotes si se hace referencia a la función desde la lista SELECT,
una cláusula WHERE o una cláusula HAVING. Tenga en cuenta que las expresiones CASE simples de nivel
superior son elegibles para la ejecución en el modo por lotes. Las expresiones CASE buscadas de nivel
superior también son elegibles para la ejecución en el modo por lotes siempre que la primera cláusula
WHEN sea un predicado simple con una llamada a la función en el modo por lotes.
Su función definida por el usuario debe ser una función LANGUAGE SQL y debe especificar PARALLEL
SAFE y COST 5000.
Temas
• Migración de funciones de la instrucción SELECT a la cláusula FROM (p. 1617)
• Uso del parámetro max_rows_per_batch (p. 1618)
• Verificación de la ejecución en el modo por lotes (p. 1619)
La migración de funciones elegibles para el modo por lotes a la cláusula FROM se puede examinar
manualmente en el nivel de consulta. Para ello, utilice instrucciones EXPLAIN (y ANALYZE y VERBOSE)
1617
Amazon Aurora Guía del usuario de Aurora
Prácticas recomendadas con el machine learning de Aurora
y busque la información "Procesamiento por lotes" debajo de cada modo por lotes Function Scan.
También puede usar EXPLAIN (con VERBOSE) sin ejecutar la consulta. A continuación, observe si las
llamadas a la función aparecen como un Function Scan bajo una unión de bucle anidado que no se
especificó en la instrucción original.
En el siguiente ejemplo, la presencia del operador de unión de bucle anidado en el plan muestra que
Aurora migró la función anomaly_score. Esta función se migró de la lista SELECT a la cláusula FROM,
donde es elegible para la ejecución en el modo por lotes.
Las funciones del modo por lotes mejoran la eficiencia gracias a la creación de lotes de filas que
distribuyen el costo de las llamadas a las funciones del machine learning de Aurora en un gran número de
filas. Sin embargo, si una instrucción SELECT termina de forma prematura debido a una cláusula LIMIT,
entonces el lote se puede construir en más filas de las que utiliza la consulta. Esta estrategia puede
dar lugar a cargos adicionales en su cuenta de AWS. Para obtener los beneficios de la ejecución en el
modo por lotes pero evitar la creación de lotes demasiado grandes, utilice un valor más pequeño para el
parámetro max_rows_per_batch en las llamadas a funciones.
Si realiza un EXPLAIN (VERBOSE, ANALYZE) de una consulta que utiliza la ejecución en el modo por lotes,
verá un operador FunctionScan que está por debajo de una unión de bucle anidado. El número de
bucles comunicados por EXPLAIN indica el número de veces que se ha obtenido una fila del operador
FunctionScan. Si una instrucción utiliza una cláusula LIMIT, el número de recuperaciones es coherente.
Para optimizar el tamaño del lote, establezca el parámetro max_rows_per_batch en este valor. Sin
embargo, si se hace referencia a la función del modo por lotes en un predicado en la cláusula WHERE o la
1618
Amazon Aurora Guía del usuario de Aurora
Prácticas recomendadas con el machine learning de Aurora
cláusula HAVING, entonces probablemente no pueda saber el número de recuperaciones por adelantado.
En este caso, utilice los bucles como guía y experimente con max_rows_per_batch para encontrar un
ajuste que optimice el rendimiento.
En este ejemplo, había 1 lote que contenía 3333 filas, que tardó 146 273 ms en procesarse. La sección
"Procesamiento por lotes" muestra lo siguiente:
Normalmente, el lote final es más pequeño que el resto, lo que a menudo resulta en un tamaño mínimo de
lote mucho más pequeño que el promedio.
Para devolver las primeras filas más rápidamente, establezca el parámetro max_rows_per_batch en un
valor más pequeño.
Para reducir el número de llamadas del modo por lotes al servicio de ML cuando se utiliza un LIMIT en la
función definida por el usuario, establezca el parámetro max_rows_per_batch en un valor menor.
El procesamiento de consultas en paralelo se produce tanto dentro de la base de datos como dentro
del servicio de ML. El número de núcleos de la clase de instancia de la base de datos limita el grado
de paralelismo que se puede utilizar cuando se ejecuta una consulta. El servidor de la base de datos
puede construir un plan de ejecución de consultas en paralelo que divide la tarea entre un conjunto de
subprocesos de trabajo paralelos. A continuación, cada uno de estos subprocesos de trabajo puede crear
solicitudes por lotes que contengan decenas de miles de filas (o tantas como permita cada servicio).
Las solicitudes por lotes de todos los subprocesos de trabajo paralelos se envían al punto de enlace
del servicio de AWS (SageMaker, por ejemplo). Por lo tanto, el número y el tipo de instancias detrás del
punto de enlace de servicio de AWS también limita el grado de paralelismo que puede aprovecharse
de manera útil. Incluso una clase de instancia de dos núcleos puede beneficiarse significativamente del
procesamiento de consultas en paralelo. Sin embargo, para aprovechar completamente el paralelismo en
grados K más altos, se precisa una clase de instancia de base de datos que tenga al menos núcleos K.
También debe configurar el servicio de AWS para que pueda procesar solicitudes por lotes K en paralelo.
1619
Amazon Aurora Guía del usuario de Aurora
Prácticas recomendadas con el machine learning de Aurora
Para SageMaker, debe configurar el punto de enlace de SageMaker para que su modelo de ML tenga
instancias iniciales K de una clase de instancia de rendimiento suficientemente alto.
-- If you change either of the following two parameters, you must restart
-- the database instance for the changes to take effect.
--
-- SET max_worker_processes to 8; -- default value is 8
-- SET max_parallel_workers to 8; -- not greater than max_worker_processes
--
SET max_parallel_workers_per_gather to 4; -- not greater than max_parallel_workers
-- You can set the parallel_workers storage parameter on the table that the data
-- for the ML function is coming from in order to manually override the degree of
-- parallelism that would otherwise be chosen by the query optimizer
--
ALTER TABLE yourTable SET (parallel_workers = 4);
Para obtener más información sobre el control de consultas en paralelo, consulte Parallel Plans en la
documentación de PostgreSQL.
La latencia de una instrucción INSERT de una sola fila ordinaria suele ser mucho menor que la latencia
de llamar a una función de modo por lotes. Por lo tanto, es posible que no pueda cumplir los requisitos de
latencia de su aplicación si invoca la función de modo por lotes para cada fila única INSERT que realiza la
aplicación. Para materializar el resultado de llamar a un servicio de AWS en una columna materializada,
las aplicaciones de alto rendimiento generalmente tienen que rellenar las columnas materializadas. Para
ello, emiten periódicamente una instrucción UPDATE que opera en un gran lote de filas al mismo tiempo.
UPDATE toma un bloqueo de nivel de fila que puede afectar a una aplicación en ejecución. Por lo tanto, es
posible que tenga que utilizar SELECT ... FOR UPDATE SKIP LOCKED o MATERIALIZED VIEW.
Las consultas de análisis que operan en un gran número de filas en tiempo real pueden combinar la
materialización en modo por lotes con el procesamiento en tiempo real. Para ello, estas consultas
ensamblan un UNION ALL de los resultados prematerializados con una consulta sobre las filas que aún
no tienen resultados materializados. En algunos casos, UNION ALL es necesario en varios lugares, o una
1620
Amazon Aurora Guía del usuario de Aurora
Monitoreo del machine learning de Aurora
aplicación de terceros genera la consulta. Si es así, puede crear un VIEW para encapsular la operación
UNION ALL para que este detalle no esté expuesto al resto de la aplicación SQL.
Puede utilizar una vista materializada para materializar los resultados de una instrucción SELECT arbitraria
en una instantánea en el tiempo. También puede utilizarse para actualizar la vista materializada en
cualquier momento en el futuro. Actualmente, PostgreSQL no admite la actualización incremental, por
lo que cada vez que se actualiza la vista materializada, la vista materializada se vuelve a calcular por
completo.
Puede actualizar vistas materializadas con la opción CONCURRENTLY, que actualiza el contenido de la vista
materializada sin tener un bloqueo exclusivo. Al hacer esto, una aplicación SQL puede leer desde la vista
materializada mientras se actualiza.
Para obtener información acerca del monitoreo del rendimiento de las operaciones de SageMaker
llamadas desde las funciones del machine learning de Aurora, consulte Monitoreo de Amazon SageMaker.
Para encontrar los nombres de las funciones SQL que llaman a la función
aws_sagemaker.invoke_endpoint, consulte el código fuente de las funciones en la tabla de catálogo
pg_proc de PostgreSQL.
1621
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones
Para obtener más información sobre la administración de planes de consulta, consulte Administración de
planes de ejecución de consultas para Aurora PostgreSQL (p. 1572).
\dx apg_plan_mgmt
En el ejemplo anterior se buscan todas las instrucciones de la carga de trabajo que llaman a funciones
SQL que a su vez llaman a la función aws_sagemaker.invoke_endpoint.
Para obtener estadísticas de tiempo de ejecución detalladas para cada una de estas instrucciones, llame a
la función apg_plan_mgmt.get_explain_stmt.
aws_comprehend.detect_sentiment
Realiza análisis de opiniones utilizando Amazon Comprehend. Para obtener más información sobre el uso,
consulte Uso de Amazon Comprehend para el procesamiento del lenguaje natural (p. 1612).
Sintaxis
aws_comprehend.detect_sentiment (
IN input_text varchar,
IN language_code varchar,
IN max_rows_per_batch int,
OUT sentiment varchar,
OUT confidence real)
1622
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones
Parámetros de entrada
input_text
El idioma del input_text. Para obtener valores válidos, consulte Idiomas admitidos en Amazon
Comprehend.
max_rows_per_batch
El número máximo de filas por lote para el procesamiento en el modo por lotes. Para obtener más
información, consulte Optimización de la ejecución en el modo por lotes para llamadas a las funciones
del machine learning de Aurora (p. 1617).
Parámetros de salida
sentiment
La opinión del texto. Los valores válidos son POSITIVO, NEGATIVO, NEUTRO o MIXTO.
confidence
El grado de confianza en el valor sentiment. Los valores oscilan entre 1,0 para 100 % y 0,0 para 0
%.
aws_sagemaker.invoke_endpoint
Después de entrenar un modelo e implementarlo en producción mediante los servicios de SageMaker, las
aplicaciones cliente utilizan la función aws_sagemaker.invoke_endpoint para obtener inferencias del
modelo. El modelo debe estar alojado en el punto de enlace especificado y debe estar en la misma región
de AWS que la instancia de base de datos. Para obtener más información sobre el uso, consulte Uso de
SageMaker para ejecutar sus propios modelos de ML (p. 1613).
Sintaxis
aws_sagemaker.invoke_endpoint(
IN endpoint_name varchar,
IN max_rows_per_batch int,
VARIADIC model_input "any",
OUT model_output varchar
)
Parámetros de entrada
endpoint_name
El número máximo de filas por lote para el procesamiento en el modo por lotes. Para obtener más
información, consulte Optimización de la ejecución en el modo por lotes para llamadas a las funciones
del machine learning de Aurora (p. 1617).
1623
Amazon Aurora Guía del usuario de Aurora
Configuración manual de roles de IAM mediante la AWS CLI
model_input
Uno o más parámetros de entrada para el modelo de ML. Estos pueden ser cualquier tipo de datos.
PostgreSQL le permite especificar hasta 100 parámetros de entrada para una función. Los tipos
de datos de matriz deben ser unidimensionales, pero pueden contener tantos elementos como se
esperan en el modelo de SageMaker. El número de entradas de un modelo de SageMaker solo está
limitado por el límite de tamaño de los mensajes de SageMaker,que es de 5 MB .
Parámetros de salida
model_output
Notas de uso
El ámbito de los puntos de enlace del modelo de SageMaker se aplica a una cuenta específica de
y estos puntos de enlace no son públicos. La URL endpoint_name no contiene el ID de la cuenta.
SageMaker determina el ID de cuenta a partir del token de autenticación proporcionado por el rol de IAM
de SageMaker de la instancia de base de datos.
La configuración de los roles de IAM para SageMaker o Amazon Comprehend mediante la AWS CLI o la
API de RDS consta de los siguientes pasos:
1. Cree una política de IAM para especificar los puntos de enlace de SageMaker que el clúster de Aurora
PostgreSQL puede invocar o permitir el acceso a Amazon Comprehend.
2. Cree un rol de IAM para permitir que el clúster de base de datos de Aurora PostgreSQL acceda a los
servicios de ML de AWS. Asocie también la política de IAM creada antes del rol de IAM creado aquí.
3. Asocie el rol de IAM que creó antes al clúster de base de datos de Aurora PostgreSQL para permitir el
acceso a los servicios de ML de AWS.
Temas
• Creación de una política de IAM para acceder a SageMaker mediante la AWS CLI (p. 1625)
• Creación de una política de IAM para acceder a Amazon Comprehend mediante la AWS CLI (p. 1625)
1624
Amazon Aurora Guía del usuario de Aurora
Configuración manual de roles de IAM mediante la AWS CLI
• Creación de un rol de IAM para obtener acceso a SageMaker y Amazon Comprehend (p. 1626)
• Asociación de un rol de IAM con un clúster de base de datos de Aurora PostgreSQL mediante la AWS
CLI (p. 1627)
Aurora puede crear automáticamente la política de IAM. Puede omitir la siguiente información
y seguir el procedimiento descrito en Conexión automática de un clúster de base de datos de
Aurora a los servicios de AWS mediante la consola (p. 1610).
La política siguiente agrega los permisos que Aurora PostgreSQL necesita para invocar una función de
SageMaker en su nombre. Puede especificar todos los puntos de enlace de SageMaker que necesite para
que las aplicaciones de bases de datos accedan desde el clúster Aurora PostgreSQL en una única política.
Note
El siguiente comando de la CLI de AWS crea una política de IAM con estas opciones.
Para el siguiente paso, consulte Creación de un rol de IAM para obtener acceso a SageMaker y Amazon
Comprehend (p. 1626).
Aurora puede crear automáticamente la política de IAM. Puede omitir la siguiente información
y seguir el procedimiento descrito en Conexión automática de un clúster de base de datos de
Aurora a los servicios de AWS mediante la consola (p. 1610).
La política siguiente agrega los permisos que requiere Aurora PostgreSQL para invocar Amazon
Comprehend en su nombre.
1625
Amazon Aurora Guía del usuario de Aurora
Configuración manual de roles de IAM mediante la AWS CLI
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAuroraToInvokeComprehendDetectSentiment",
"Effect": "Allow",
"Action": [
"comprehend:DetectSentiment",
"comprehend:BatchDetectSentiment"
],
"Resource": "*"
}
]
}
Para crear una política de IAM para conceder acceso a Amazon Comprehend
Para ver el siguiente paso, consulte Creación de un rol de IAM para obtener acceso a SageMaker y
Amazon Comprehend (p. 1626).
Aurora puede crear automáticamente el rol de IAM. Puede omitir la siguiente información y seguir
el procedimiento descrito en Conexión automática de un clúster de base de datos de Aurora a los
servicios de AWS mediante la consola (p. 1610).
Después de crear las políticas de IAM, cree un rol de IAM que el clúster de base de datos de Aurora
PostgreSQL pueda asumir para que los usuarios de las bases de datos accedan a los servicios de ML.
Para crear un rol de IAM, siga los pasos descritos en Creación de un rol para delegar permisos a un
usuario de IAM.
Asocie las políticas anteriores al rol de IAM que cree. Para obtener más información, consulte Asociación
de una política de IAM a un usuario o un rol de IAM (p. 1883).
Para obtener más información acerca de los roles de IAM, consulte Roles de IAM en Guía del usuario de
IAM.
Para el siguiente paso, consulte Asociación de un rol de IAM con un clúster de base de datos de Aurora
PostgreSQL mediante la AWS CLI (p. 1627).
1626
Amazon Aurora Guía del usuario de Aurora
Configuración manual de roles de IAM mediante la AWS CLI
Aurora puede asociar automáticamente un rol de IAM con su clúster de base de datos. Puede
omitir la siguiente información y seguir el procedimiento descrito en Conexión automática de un
clúster de base de datos de Aurora a los servicios de AWS mediante la consola (p. 1610).
El último proceso para configurar el acceso de IAM es asociar el rol de IAM y su política de IAM con el
clúster de base de datos de Aurora PostgreSQL. Haga lo siguiente:
Para asociar el rol con el clúster de base de datos, use AWS Management Console o el comando add-
role-to-db-cluster de AWS CLI.
• Agregar un rol de IAM para un cluster de base de datos de PostgreSQL mediante la consola
Utilice el siguiente comando para añadir el rol al clúster de base de datos de PostgreSQL denominado
my-db-cluster. Sustituya your-role-arn por el ARN del rol que ha anotado en el paso anterior.
Para el valor de la opción --feature-name, use SageMaker, Comprehend o s3Export según el
servicio que desee utilizar.
Example
Para Linux, macOS o Unix:
Para Windows:
2. Establezca el parámetro en el nivel de clúster para cada servicio de ML de AWS en el ARN del rol de
IAM asociado.
1627
Amazon Aurora Guía del usuario de Aurora
Recuperación rápida después de una conmutación por error
Los parámetros de nivel de clúster se agrupan en los grupos de parámetros de clúster de base de
datos. Para establecer los parámetros de clúster anteriores, utilice un grupo de clúster de base de datos
personalizado o cree uno nuevo. Para crear un nuevo grupo de parámetros de clúster de base de datos,
ejecute el comando create-db-cluster-parameter-group desde la AWS CLI, por ejemplo:
Configure el parámetro o parámetros adecuados en el nivel de clúster y los valores de ARN de rol de
IAM correspondientes dentro del grupo de parámetros de clúster de base de datos. Haga lo siguiente.
Modifique el clúster de base de datos de forma que use el nuevo grupo de parámetros de clúster de
base de datos. A continuación, reinicie el clúster. El siguiente ejemplo muestra cómo.
Una vez reiniciada la instancia, los roles de IAM están asociados al clúster de base de datos.
En una situación de conmutación por error típica, puede que observe una degradación del rendimiento
temporal, pero acusada, después de la conmutación por error. Esta degradación se produce porque
cuando se inicia la instancia de base de datos de conmutación por error, la caché del búfer está vacía. Una
caché vacía se conoce también como caché fría. Una caché fría degrada el rendimiento porque la instancia
de base de datos tiene que realizar la lectura a partir del disco inferior en lugar de aprovechar los valores
almacenados en la caché del búfer.
Con la administración de la caché del clúster, establecerá una instancia de base de datos del lector
específica como destino de conmutación por error. La administración de la caché del clúster garantiza
1628
Amazon Aurora Guía del usuario de Aurora
Configuración de la administración de la caché del clúster
que los datos en la caché del lector designada se mantiene sincronizada con los datos en la caché de la
instancia de la base de datos del escritor. La caché del lector designado con los valores precompletados se
conoce como caché templada. Si se produce una conmutación por error, el lector designado utiliza valores
en su caché templada de inmediato cuando se promociona en la nueva instancia de base de datos del
escritor. Este enfoque proporciona a su aplicación un rendimiento de recuperación mucho mejor.
La administración de caché de clústeres requiere que la instancia de lector designada tenga el mismo tipo
y tamaño de clase de instancia (db.r5.2xlarge o db.r5.xlarge, por ejemplo) que el escritor. Tenga
esto en cuenta cuando cree sus clústeres de base de datos Aurora PostgreSQL para que el clúster pueda
recuperarse durante una conmutación por error. Para obtener una lista de los tipos y tamaños de clase de
instancia, consulte Especificaciones de hardware para clases de instancia de base de datos para Aurora.
Note
La administración de caché de clúster no es compatible con los clústeres de base de datos Aurora
PostgreSQL que forman parte de bases de datos globales de Aurora.
Contenido
• Configuración de la administración de la caché del clúster (p. 1629)
• Habilitación de la administración de la caché del clúster (p. 1629)
• Establecimiento de la prioridad de la capa de promoción para la instancia de base de datos
del escritor (p. 1630)
• Establecimiento de la prioridad de la capa de promoción para una instancia de base de datos
del lector (p. 1631)
• Monitoreo de la caché del búfer (p. 1632)
Temas
• Habilitación de la administración de la caché del clúster (p. 1629)
• Establecimiento de la prioridad de la capa de promoción para la instancia de base de datos del
escritor (p. 1630)
• Establecimiento de la prioridad de la capa de promoción para una instancia de base de datos del
lector (p. 1631)
Note
Deje que transcurra al menos un minuto después de completar estos pasos para que la gestión de
la caché del clúster esté totalmente operativa.
Consola
1629
Amazon Aurora Guía del usuario de Aurora
Configuración de la administración de la caché del clúster
3. En la lista, elija el grupo de parámetros para el clúster de base de datos Aurora PostgreSQL.
El clúster de base de datos debe utilizar un grupo de parámetros distinto al predeterminado, ya que no
puede cambiar los valores en un grupo de parámetros predeterminado.
4. En Parameter group actions (Acciones de grupos de parámetros), seleccione Edit (Editar).
5. Establezca el valor del parámetro del clúster de apg_ccm_enabled en 1.
6. Elija Save changes.
AWS CLI
Para habilitar la administración de la caché del clúster para el clúster de base de datos de Aurora
PostgreSQL, utilice el comando de la AWS CLI modify-db-cluster-parameter-group con los
siguientes parámetros necesarios:
• --db-cluster-parameter-group-name
• --parameters
Example
Para Windows:
Consola
Para establecer la prioridad de la promoción para la instancia de base de datos del escritor en
tier-0, realice el siguiente procedimiento
1630
Amazon Aurora Guía del usuario de Aurora
Configuración de la administración de la caché del clúster
AWS CLI
Para configurar la prioridad de la capa de promoción en 0 para la instancia de base de datos del escritor
mediante la AWS CLI, invoque el comando modify-db-instance con los siguientes parámetros necesarios:
• --db-instance-identifier
• --promotion-tier
• --apply-immediately
Example
Para Linux, macOS o Unix:
Para Windows:
La prioridad de la capa de promoción es un valor que especifica el orden en el que se promociona el lector
de Aurora en la instancia de base de datos del escritor después de un error. Los valores válidos con de 0 a
15, donde 0 es la primera prioridad y 15 la última.
Consola
Para establecer la prioridad de la promoción para la instancia de base de datos del escritor en
tier-0, realice el siguiente procedimiento:
1631
Amazon Aurora Guía del usuario de Aurora
Monitoreo de la caché del búfer
AWS CLI
Para configurar la prioridad de la capa de promoción en 0 para la instancia de base de datos del lector
mediante la AWS CLI, invoque el comando modify-db-instance con los siguientes parámetros necesarios:
• --db-instance-identifier
• --promotion-tier
• --apply-immediately
Example
Para Windows:
1632
Amazon Aurora Guía del usuario de Aurora
Invocación de una función Lambda
desde Aurora PostgreSQL
En el siguiente ejemplo se muestra cómo utilizar la función aurora_ccm_status para convertir algunos
de sus resultados en una tasa templada y un porcentaje templado.
La configuración de Aurora PostgreSQL para trabajar con las funciones de Lambda es un proceso de
varios pasos que incluyeAWS Lambda, IAM, su VPC y su clúster de base de datos de Aurora PostgreSQL.
A continuación, se muestran resúmenes de los pasos necesarios.
Para obtener más información acerca de las funciones de Lambda, consulte Introducción a Lambda y
Conceptos básicos de AWS Lambda en la Guía para desarrolladores de AWS Lambda.
Temas
• Paso 1: configure el clúster de base de datos de Aurora PostgreSQL para conexiones salientes a AWS
Lambda. (p. 1634)
• Paso 2: configure IAM para su clúster de base de datos de Aurora PostgreSQL y AWS
Lambda. (p. 1634)
• Paso 3: instale la extensión de aws_lambda para un clúster de base de datos de Aurora
PostgreSQL (p. 1636)
• Paso 4: utilice las funciones auxiliares de Lambda con su clúster de base de datos de Aurora
PostgreSQL (Opcional) (p. 1636)
• Paso 5: invoque una función de Lambda desde su clúster de base de datos de Aurora
PostgreSQL (p. 1637)
• Mensajes de error de la función de Lambda (p. 1640)
1633
Amazon Aurora Guía del usuario de Aurora
Paso 1: configure las conexiones salientes
• Si su clúster de base de datos de Aurora PostgreSQL es público, solo tiene que configurar el grupo
de seguridad para permitir el tráfico saliente procedente de la VPC. Su instancia de base de datos
primaria del clúster de base de datos es pública si se encuentra en una subred pública de la VPC y si la
propiedad “PubliclyAccessible” de la instancia es true.
Para encontrar el valor de esta propiedad, puede utilizar el comando describe-db-instances de AWS CLI.
O, si lo desea, puede utilizar AWS Management Console para abrir la pestaña Connectivity & security
(Conectividad y seguridad) y verifique que Publicly accessible (Acceso público) sea Yes (Sí). También
puede utilizar AWS Management Console y AWS CLI para verificar que la instancia se encuentre en una
subred pública de la VPC.
• Si su clúster de base de datos de Aurora PostgreSQL es privado, tiene un par de opciones. Puede
utilizar una puerta de enlace de NAT o puede utilizar un punto de conexión de VPC. Para obtener
información acerca de las puertas de enlace de NAT, consulte Gateways NAT. A continuación, se
presenta el resumen de los pasos para utilizar un punto de conexión de VPC.
Para configurar la conectividad a AWS Lambda de una instancia de base de datos pública.
• Configure la VPC en la que su clúster de base de datos de Aurora PostgreSQL se ejecuta para
permitir conexiones salientes. Para ello, cree una regla de salida en el grupo de seguridad de la VPC
que permita el tráfico TCP hacia el puerto 443 y hacia cualquier dirección IPv4 (0.0.0.0/0).
Para configurar la conectividad a AWS Lambda de una instancia de base de datos privada.
1. Configure la VPC con un punto de conexión de VPC para AWS Lambda. Para obtener información
detallada, consulte Puntos de conexión de la VPC en la Guía del usuario de Amazon VPC. El punto
de conexión devuelve respuestas a las llamadas hechas por su clúster de base de datos de Aurora
PostgreSQL a las funciones de Lambda.
2. Agregue el punto de conexión a la tabla de enrutamiento de la VPC. Para obtener más información,
consulte Trabajo con tablas de enrutamiento en la Guía del usuario de Amazon VPC.
La VPC ahora puede interactuar con la VPC de AWS Lambda a nivel de red. Sin embargo, debe configurar
los permisos mediante IAM.
1634
Amazon Aurora Guía del usuario de Aurora
Paso 2: configure IAM para su clúster y Lambda
permita invocar funciones de Lambda, asignarla a un rol y, a continuación, aplicar el rol a su clúster de
base de datos. Este enfoque da al clúster de base de datos privilegios para invocar la función de Lambda
especificada en su nombre. En los pasos siguientes se muestra cómo hacer esto con AWS CLI.
Para configurar los permisos de IAM para utilizar su clúster con Lambda, lleve a cabo el siguiente
procedimiento.
1. Utilice el comando create-policy de AWS CLI para crear una política de IAM que permita a su clúster
de base de datos de Aurora PostgreSQLinvocar la función de Lambda especificada. (El ID de
instrucción (Sid) es una descripción opcional de la instrucción de política y no afecta al uso.) Esta
política proporciona a su clúster de base de datos de Aurora los permisos mínimos necesarios para
invocar la función de Lambda especificada.
También puede utilizar la política predefinida de AWSLambdaRole que le permite invocar cualquiera
de las funciones de Lambda. Para obtener más información, consulte Políticas de IAM basadas en
identidades para Lambda.
2. Utilice el comando create-role AWS CLI para crear un rol de IAM que la política pueda asumir en
tiempo de ejecución.
4. Aplique el rol a su clúster de base de datos de Aurora PostgreSQL mediante el comando add-role-to-
db-cluster de AWS CLI. En este último paso se permite a los usuarios de bases de datos de su clúster
de base de datos invocar funciones de Lambda.
1635
Amazon Aurora Guía del usuario de Aurora
Paso 3: instale la extensión
Con la VPC y las configuraciones de IAM completadas, ahora puede instalar la extensión de aws_lambda.
(Tenga en cuenta que puede instalar la extensión en cualquier momento, pero hasta que no configure
el soporte correcto de VPC y los privilegios de IAM, la extensión de aws_lambda no agrega nada a las
capacidades de su clúster de base de datos de Aurora PostgreSQL.
1. Conéctese a su clúster de base de datos de Aurora PostgreSQL como usuario con privilegios de
rds_superuser. El valor predeterminado de usuario de postgres se muestra en el ejemplo.
La extensión de aws_lambda se instala en su instancia de base de datos principal del clúster de base de
datos de Aurora PostgreSQL Ahora puede crear estructuras de conveniencia para invocar las funciones de
Lambda.
1636
Amazon Aurora Guía del usuario de Aurora
Paso 5: invoque una función de Lambda
SELECT aws_commons.create_lambda_function_arn(
'my-function',
'aws-region'
) AS aws_lambda_arn_1 \gset
SELECT aws_commons.create_lambda_function_arn(
'111122223333:function:my-function',
'aws-region'
) AS lambda_partial_arn_1 \gset
SELECT aws_commons.create_lambda_function_arn(
'arn:aws:lambda:aws-region:111122223333:function:my-function'
) AS lambda_arn_1 \gset
Cualquiera de estos valores se puede utilizar en las llamadas a la función aws_lambda.invoke (p. 1641).
Para ver ejemplos, consulte Paso 5: invoque una función de Lambda desde su clúster de base de datos de
Aurora PostgreSQL (p. 1637).
Como simple prueba de la configuración, puede conectarse a la instancia de base de datos mediante
psql e invocar una función de ejemplo desde la línea de comandos. Supongamos que tiene una de las
funciones básicas configuradas en su servicio Lambda, como la sencilla función de Python que se muestra
en la siguiente captura de pantalla.
1637
Amazon Aurora Guía del usuario de Aurora
Paso 5: invoque una función de Lambda
SELECT * from
aws_lambda.invoke(aws_commons.create_lambda_function_arn('arn:aws:lambda:aws-
region:444455556666:function:simple', 'us-west-1'), '{"body": "Hello from
Postgres!"}'::json );
A continuación, puede encontrar varios ejemplos de llamada a la función de aws_lambda.invoke (p. 1641).
La mayoría de los ejemplos utilizan la estructura compuesta aws_lambda_arn_1 que se crea en Paso
4: utilice las funciones auxiliares de Lambda con su clúster de base de datos de Aurora PostgreSQL
(Opcional) (p. 1636) para simplificar la transferencia de los detalles de la función. Para obtener un
ejemplo de invocación asincrónica, consulte Ejemplo: invocación asincrónica (Event) de funciones de
Lambda (p. 1639). El resto de ejemplos enumerados utilizan la invocación sincrónica.
Para obtener más información acerca de los tipos de invocación de Lambda, consulte Invocación de
funciones de Lambda en la Guía para desarrolladores de AWS Lambda. Para obtener más información
acerca de aws_lambda_arn_1, consulte aws_commons.create_lambda_function_arn (p. 1643).
Lista de ejemplos
• Ejemplo: invocación sincrónica (RequestResponse) de funciones de Lambda (p. 1639)
1638
Amazon Aurora Guía del usuario de Aurora
Paso 5: invoque una función de Lambda
1639
Amazon Aurora Guía del usuario de Aurora
Mensajes de error de la función de Lambda
Establezca el parámetro aws_lambda.invoke (p. 1641) de la función log_type en Tail para incluir el
registro de ejecución en la respuesta. El valor predeterminado para el parámetro log_type es None.
El log_result que se devuelve es una cadena codificada base64. Puede decodificar el contenido
utilizando una combinación de las funciones decode y convert_from PostgreSQL.
Para obtener más información acerca de log_type, consulte aws_lambda.invoke (p. 1641).
Para incluir el contexto del cliente, utilice un objeto JSON para el parámetro aws_lambda.invoke (p. 1641)
de la función context.
Para obtener más información sobre los parámetros de context, consulte la referencia de
aws_lambda.invoke (p. 1641).
Además, puede proporcionar un calificador de función de Lambda con los detalles del nombre de función
en su lugar de la siguiente manera.
Para obtener más información acerca de qualifier y otros parámetros, consulte la referencia de
aws_lambda.invoke (p. 1641).
1640
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones
Lo primero que debe verificar es el grupo de seguridad de la VPC. Asegúrese de tener abierta una regla de
salida para TCP en el puerto 443 para que la VPC pueda conectarse a la VPC de Lambda.
Referencia de funciones
A continuación se presenta la referencia destinada a las funciones a utilizar a fin de invocar Lambda
funciones con Aurora PostgreSQL .
Funciones
• aws_lambda.invoke (p. 1641)
• aws_commons.create_lambda_function_arn (p. 1643)
aws_lambda.invoke
Ejecuta una Lambda función destinada a un clúster de Aurora PostgreSQL base de datos .
Para obtener más detalles acerca de la invocación de funciones de Lambda, consulte también Invoke en la
guía para desarrolladores de AWS Lambda.
Sintaxis
JSON
aws_lambda.invoke(
IN function_name TEXT,
IN payload JSON,
IN region TEXT DEFAULT NULL,
IN invocation_type TEXT DEFAULT 'RequestResponse',
IN log_type TEXT DEFAULT 'None',
IN context JSON DEFAULT NULL,
IN qualifier VARCHAR(128) DEFAULT NULL,
OUT status_code INT,
OUT payload JSON,
OUT executed_version TEXT,
OUT log_result TEXT)
aws_lambda.invoke(
IN function_name aws_commons._lambda_function_arn_1,
IN payload JSON,
IN invocation_type TEXT DEFAULT 'RequestResponse',
IN log_type TEXT DEFAULT 'None',
IN context JSON DEFAULT NULL,
1641
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones
JSONB
aws_lambda.invoke(
IN function_name TEXT,
IN payload JSONB,
IN region TEXT DEFAULT NULL,
IN invocation_type TEXT DEFAULT 'RequestResponse',
IN log_type TEXT DEFAULT 'None',
IN context JSONB DEFAULT NULL,
IN qualifier VARCHAR(128) DEFAULT NULL,
OUT status_code INT,
OUT payload JSONB,
OUT executed_version TEXT,
OUT log_result TEXT)
aws_lambda.invoke(
IN function_name aws_commons._lambda_function_arn_1,
IN payload JSONB,
IN invocation_type TEXT DEFAULT 'RequestResponse',
IN log_type TEXT DEFAULT 'None',
IN context JSONB DEFAULT NULL,
IN qualifier VARCHAR(128) DEFAULT NULL,
OUT status_code INT,
OUT payload JSONB,
OUT executed_version TEXT,
OUT log_result TEXT
)
Parámetros de entrada
function_name
El nombre de identificación de la función Lambda. El valor puede ser el nombre de la función, un ARN
o un ARN parcial. Para obtener una lista de los formatos posibles, consulte los formatos de nombres
de función de Lambda en la guía para desarrolladores de AWS Lambda.
payload
La entrada de la función Lambda. El formato puede ser JSON o JSONB. Para obtener más
información, consulte la documentación de PostgreSQL sobre Tipos de JSON.
region
Tipo de invocación de la función Lambda. El valor distingue entre mayúsculas y minúsculas. Entre los
valores posibles se incluyen:
• RequestResponse – El valor de tiempo de espera predeterminado. Este tipo de invocación para
una función Lambda es sincrónica y devuelve una carga útil de respuesta en el resultado. Utilice el
1642
Amazon Aurora Guía del usuario de Aurora
Referencia de funciones
Contexto del cliente en formato JSON o JSONB. Los campos que se van a utilizar incluyen custom y
env.
Calificador
Un calificador que identifica la versión de una función Lambda que se va a invocar. Si este valor entra
en conflicto con uno proporcionado en el ARN function_name, se genera un error.
Parámetros de salida
status_code
Un código de respuesta de estado HTTP. Para obtener más información, consulte los elementos de
respuesta de invocación de Lambda en la guía para desarrolladores de AWS Lambda.
payload
La información devuelta de la función Lambda que se ejecutó. El formato está en JSON o JSONB.
executed_version
La información del registro de ejecución devuelta si el valor log_type es Tail cuando se invocó
la función Lambda. El resultado contiene los últimos 4 KB del registro de ejecución codificado en
Base64.
aws_commons.create_lambda_function_arn
Crea una estructura aws_commons._lambda_function_arn_1 para contener la
información del nombre de función Lambda. Puede utilizar los resultados de la función
aws_commons.create_lambda_function_arn en el parámetro function_name de la función
aws_lambda.invoke (p. 1641) aws_lambda.invoke.
Sintaxis
aws_commons.create_lambda_function_arn(
function_name TEXT,
region TEXT DEFAULT NULL
)
1643
Amazon Aurora Guía del usuario de Aurora
Uso de oracle_fdw para acceder a datos externos
RETURNS aws_commons._lambda_function_arn_1
Parámetros de entrada
function_name
Una cadena de texto obligatoria que contiene el nombre de la función Lambda. El valor puede ser un
nombre de función, un ARN parcial o un ARN completo.
region
Una cadena de texto opcional que contiene la región de AWS en la que se encuentra la función de
Lambda. Para ver una lista de los nombres de regiones de y los valores asociados, consulte Regiones
y zonas de disponibilidad (p. 11).
La extensión oracle_fdw es compatible con Amazon RDS for PostgreSQL 12.7, 13.3 y versiones
posteriores.
• Ejecute el siguiente comando con una cuenta que tenga los permisos rds_superuser.
Crear un servidor externo vinculado a una base de datos de RDS for Oracle
• punto de enlace
• Puerto
• Nombre de base de datos
2. Cree un servidor externo.
test=> CREATE SERVER oradb FOREIGN DATA WRAPPER oracle_fdw OPTIONS (dbserver
'//endpoint:port/DB_name');
1644
Amazon Aurora Guía del usuario de Aurora
Trabajo con cifrado en tránsito
CREATE SERVER
3. Conceda uso a un usuario que no tiene permisos rds_superuser, por ejemplo user1.
test=> CREATE USER MAPPING FOR user1 SERVER oradb OPTIONS (user 'oracleuser', password
'mypassword');
CREATE USER MAPPING
test=> create foreign table mytab (a int) SERVER oradb OPTIONS (table 'MYTABLE');
CREATE FOREIGN TABLE
Si la consulta informa el siguiente error, verifique el grupo de seguridad y la lista de control de acceso
(ACL) para asegurarse de que ambas instancias puedan comunicarse.
Puede utilizar el metacomando \du en psql para enumerar los roles existentes.
test=> \du
List of roles
Role name | Attributes |
Member of
-----------------+------------------------------------------------------------
+-------------------------------------------------------------
1645
Amazon Aurora Guía del usuario de Aurora
permisos pg_user_mapping y pg_user_mappings
rdssu1 | |
{rds_superuser}
rdssu2 | |
{rds_superuser}
user1 | | {}
Los usuarios con el rol rds_superuser no pueden consultar la tabla pg_user_mapping. El siguiente
ejemplo utiliza rdssu1,
En RDS for PostgreSQL, todos los usuarios, incluso los que tengan el rol rds_superuser: solo pueden
ver sus propios valores umoptions en la tabla pg_user_mappings. El siguiente ejemplo demuestra:
No requieren otros permisos adicionales para un usuario con el rol rds_superuser para ver las
contraseñas en information_schema._pg_user_mappings.
Los usuarios que no tienen el rol rds_superuser pueden ver contraseñas en pg_user_mappings solo
en las condiciones que se describen a continuación:
• El usuario actual es el usuario que se está asignando y es el propietario del servidor o tiene el privilegio
de USAGE en él.
• El usuario actual es el propietario del servidor, y la asignación es para PUBLIC.
1646
Amazon Aurora Guía del usuario de Aurora
Administración de las particiones
con la extensión pg_partman
Mediante el uso de particiones, puede dividir los datos en fragmentos de tamaño personalizado para su
procesamiento. Por ejemplo, puede dividir datos de series temporales para rangos como por hora, por
día, por semana, por mes, por trimestre, por año, personalizados o cualquier combinación de estos. Para
un ejemplo de datos de series temporales, si divide la tabla por hora, cada partición contiene una hora
de datos. Si divide la tabla de series temporales por día, las particiones contienen datos de un día, y así
sucesivamente. La clave de partición controla el tamaño de una partición.
Cuando se utiliza un comando INSERT o UPDATE de SQL en una tabla particionada, el motor de base de
datos enruta los datos a la partición adecuada. Las particiones de tablas de PostgreSQL que almacenan
los datos son tablas secundarias de la tabla principal.
Durante las lecturas de consultas de la base de datos, el optimizador de PostgreSQL analiza la cláusula
WHERE de la consulta y, si es posible, dirige el análisis de la base de datos solo a las particiones
relevantes.
A partir de la versión 10, PostgreSQL utiliza particiones declarativas para implementar particiones de
tablas. Esto también se conoce como particionado PostgreSQL nativo. Antes de PostgreSQL versión 10,
usaba desencadenadores para implementar particiones.
Por ejemplo, las particiones desmontables son útiles para eliminar datos históricos de la partición
principal, pero mantienen los datos históricos para su análisis.
• Las nuevas particiones heredan las propiedades de la tabla de base de datos principal, incluidas las
siguientes:
• Índices
• Claves principales, que deben incluir la columna de la clave de partición
• Claves externas
• Restricciones de comprobación
• Referencias
• creación de índices para la tabla completa o cada partición específica
No se puede modificar el esquema de una partición individual. Sin embargo, se puede modificar la tabla
principal (como agregar una nueva columna), que se propaga a las particiones.
Temas
• Información general de la extensión pg_partman de PostgreSQL (p. 1648)
• Habilitación de la extensión pg_partman (p. 1648)
1647
Amazon Aurora Guía del usuario de Aurora
Información general de la extensión
pg_partman de PostgreSQL
En lugar de tener que crear manualmente cada partición, configure pg_partman con las siguientes
opciones:
Después de crear una tabla con particiones de PostgreSQL, la registra con pg_partman al llamar a la
función create_parent. Al hacerlo, se crean las particiones necesarias en función de los parámetros que
pase a la función.
Note
Si recibe un error como el siguiente, conceda los privilegios rds_superuser a la cuenta o utilice su
cuenta de superusuario.
1648
Amazon Aurora Guía del usuario de Aurora
Configuración de particiones
mediante la función create_parent
Para los ejemplos que muestran el uso de la extensión pg_partman, utilizamos la siguiente tabla de base
de datos y partición de muestra. Esta base de datos utiliza una tabla particionada basada en una marca
temporal. Un esquema data_mart contiene una tabla denominada events con una columna denominada
created_at. En la events tabla se incluyen los siguientes ajustes:
• Claves primarias event_id y created_at, que deben tener la columna utilizada para guiar la partición.
• Una restricción de comprobación ck_valid_operation para aplicar los valores para una columna de
la tabla operation.
• Dos claves externas, donde una (fk_orga_membership) apunta a la tabla externa organization y
la otra (fk_parent_event_id) es una clave externa con referencia propia.
• Dos índices, donde uno (idx_org_id) es para la clave externa y el otro (idx_event_type) es para el
tipo de evento.
Las siguientes instrucciones DDL crean estos objetos, que se incluyen automáticamente en cada partición:
1649
Amazon Aurora Guía del usuario de Aurora
Configuración del mantenimiento de particiones
mediante la función run_maintenance_proc
• p_parent_table – La tabla principal particionada. Esta tabla ya debe existir y estar totalmente
cualificada, incluido el esquema.
• p_control – La columna en la que se basará la partición. El tipo de datos debe ser entero o basado en
el tiempo.
• p_type: el tipo es 'native' o 'partman'. Normalmente, utiliza el tipo native para sus mejoras de
rendimiento y flexibilidad. El tipo partman se basa en la herencia.
• p_interval – El intervalo de tiempo o intervalo de enteros para cada partición. Los valores de ejemplo
incluyen daily, por hora, etc.
• p_premake – La cantidad de particiones que se debe crear de antemano para admitir nuevas
inserciones.
Para obtener una descripción completa de la función create_parent, consulte Funciones de creación en
la documentación de pg_partman.
UPDATE partman.part_config
SET infinite_time_partitions = true,
retention = '3 months',
retention_keep_table=true
WHERE parent_table = 'data_mart.events';
SELECT cron.schedule('@hourly', $$CALL partman.run_maintenance_proc()$$);
A continuación, puede encontrar una explicación paso a paso del ejemplo anterior:
1. Modifique el grupo de parámetros asociado a la instancia de base de datos y agregue pg_cron al valor
del parámetro shared_preload_libraries. Este cambio requiere un reinicio de la instancia de base
de datos para que surta efecto. Para obtener más información, consulte Modificación de parámetros de
un grupo de parámetros de base de datos (p. 378).
2. Ejecute el comando CREATE EXTENSION pg_cron; con una cuenta que tenga los permisos
rds_superuser. Esto habilita la extensión pg_cron. Para obtener más información, consulte
Programación de mantenimiento con la extensión pg_cron de PostgreSQL (p. 1476).
1650
Amazon Aurora Guía del usuario de Aurora
Uso de la autenticación Kerberos
Cree un directorio de AWS Managed Microsoft AD para almacenar las credenciales de usuario. A
continuación, proporcione a su de clúster de base de datos de PostgreSQL el dominio de Active Directory y
otra información. Cuando los usuarios se autentican con la de clúster de base de datos de PostgreSQL, las
solicitudes de autenticación se reenvían al directorio AWS Managed Microsoft AD.
Mantener todas las credenciales en el mismo directorio puede ahorrarle tiempo y esfuerzo. Tiene un lugar
centralizado para almacenar y administrar credenciales para varios clústeres de bases de datos. El uso de
un directorio también puede mejorar su perfil de seguridad general.
También puede tener acceso a las credenciales desde su propio Microsoft Active Directory local. Para ello,
cree una relación de dominio de confianza para que el directorio de AWS Managed Microsoft AD confíe en
su Microsoft Active Directory local. De esta manera, los usuarios pueden acceder a las instancias de los
clústeres con la misma experiencia de inicio de sesión único (SSO) de Windows que cuando acceden a
cargas de trabajo en las instalaciones.
Una base de datos puede usar la autenticación de Kerberos, de AWS Identity and Access Management
(IAM), o ambas. Sin embargo, dado que la autenticación de Kerberos e IAM proporcionan diferentes
métodos de autenticación, un usuario específico puede iniciar sesión en una base de datos mediante
solo uno u otro método de autenticación, pero no ambos. Para obtener más información acerca de la
autenticación IAM, consulte Autenticación de bases de datos de IAM (p. 1877).
Temas
• Disponibilidad de la autenticación de Kerberos (p. 1652)
• Información general de la autenticación Kerberos para clústeres de base de datos de
PostgreSQL (p. 1653)
1651
Amazon Aurora Guía del usuario de Aurora
Disponibilidad
• Configuración de autenticación Kerberos para clústeres de base de datos de PostgreSQL (p. 1654)
• Administración de un clúster de base de datos en un dominio (p. 1663)
• Conexión a PostgreSQL con autenticación Kerberos (p. 1664)
Para obtener más información, consulte . Versiones de Amazon Aurora PostgreSQL y versiones del
motor (p. 1722).
Amazon Aurora admite la autenticación Kerberos para clústeres de base de datos de PostgreSQL en las
siguientes regiones de AWS:
1652
Amazon Aurora Guía del usuario de Aurora
Información general de la autenticación Kerberos
1. Utilice AWS Managed Microsoft AD para crear un directorio de AWS Managed Microsoft AD. Puede
utilizar la AWS Management Console, la AWS CLI o la API de AWS Directory Service para crear el
directorio. Asegúrese de abrir los puertos de salida relevantes en el grupo de seguridad del directorio
para que el directorio pueda comunicarse con el clúster.
2. Cree un rol que proporcione a Amazon Aurora acceso para realizar llamadas a su directorio de AWS
Managed Microsoft AD. Para ello, cree un rol de AWS Identity and Access Management (IAM) que
utilice la política administrada de IAM AmazonRDSDirectoryServiceAccess.
Para que el rol de IAM permita el acceso, el punto de enlace AWS Security Token Service (AWS STS)
debe activarse en la región de AWS correcta para su cuenta de AWS. Los puntos de enlace de AWS
STS están activos de forma predeterminada en todas las regiones de AWS y puede usarlos sin ninguna
acción posterior. Para obtener más información, consulte Activación y desactivación de AWS STS en
una región de AWS en la Guía del usuario de IAM.
3. Cree y configure usuarios en el directorio de AWS Managed Microsoft AD usando las herramientas
de Microsoft Active Directory. Para obtener más información sobre la creación de usuarios en su
Active Directory, consulte Administrar usuarios y grupos en AWS Managed Microsoft AD en la Guía de
administración de AWS Directory Service.
4. Si piensa localizar el directorio y la instancia de base de datos en diferentes cuentas de AWS o nubes
virtuales privadas (VPC), configure la interconexión de VPC. Para obtener más información, consulte
¿Qué es una interconexión de VPC? en la Amazon VPC Peering Guide.
5. Cree o modifique un clúster de base de datos de PostgreSQL desde la consola, la CLI o la API de RDS
utilizando uno de los siguientes métodos:
• Creación de un clúster de base de datos y cómo conectarse a una base de datos en un clúster de
base de datos de Aurora PostgreSQL (p. 104)
• Modificación de un clúster de base de datos de Amazon Aurora (p. 405)
• Restauración de una instantánea de clúster de base de datos (p. 545)
• Restauración de un clúster de base de dato a un momento indicado (p. 588)
Puede localizar el clúster en la misma Amazon Virtual Private Cloud (VPC) que el directorio o en una
VPC o cuenta de AWS diferente. Cuando cree o modifique el clúster de base de datos de PostgreSQL,
haga lo siguiente:
• Proporcione el identificador de dominio (identificador d-*) que se generó cuando creó el directorio.
• Proporcione el nombre del rol de IAM que ha creado.
• Asegúrese de que el grupo de seguridad de la instancia de base de datos pueda recibir tráfico de
entrada del grupo de seguridad del directorio.
6. Use las credenciales de usuario maestro de RDS para conectarse al clúster de base de datos de
PostgreSQL. Cree el usuario en PostgreSQL para que sea identificado externamente. Los usuarios
identificados externamente pueden iniciar sesión en el clúster de base de datos de PostgreSQL
utilizando la autenticación Kerberos.
1653
Amazon Aurora Guía del usuario de Aurora
Configuración
Temas
• Paso 1: crear un directorio con AWS Managed Microsoft AD (p. 1654)
• Paso 2: (opcional) crear una relación de confianza para un Active Directory en las
instalaciones (p. 1657)
• Paso 3: crear un rol de IAM para que Amazon Aurora acceda a AWS Directory Service (p. 1658)
• Paso 4: crear y configurar usuarios (p. 1659)
• Paso 5: habilitar el tráfico entre VPC entre el directorio y la instancia de base de datos (p. 1660)
• Paso 6: crear o modificar un clúster de base de datos de PostgreSQL (p. 1660)
• Paso 7: crear inicios de sesión de PostgreSQL de autenticación Kerberos (p. 1661)
• Paso 8: configurar un cliente de PostgreSQL (p. 1662)
Cuando se crea un directorio de AWS Managed Microsoft AD, AWS Directory Service realiza las siguientes
tareas en su nombre:
Asegúrese de guardar esta contraseña. AWS Directory Service no almacena esta contraseña y
no se puede recuperar ni restablecer.
• Crea un grupo de seguridad para los controladores del directorio. El grupo de seguridad debe permitir la
comunicación con el clúster de base de datos de PostgreSQL.
Al lanzar AWS Directory Service for Microsoft Active Directory, AWS crea una unidad organizativa (OU)
que contiene todos los objetos del directorio. Esta unidad organizativa, que tiene el nombre de NetBIOS
que introdujo al crear el directorio, se encuentra en la raíz del dominio. La raíz del dominio es propiedad
de , que también se encarga de su administració AWS.
La cuenta Admin que se creó con el directorio de AWS Managed Microsoft AD dispone de permisos para
realizar las actividades administrativas más habituales para la unidad organizativa:
1654
Amazon Aurora Guía del usuario de Aurora
Configuración
• Delegar autoridad
• Restaurar objetos eliminados de la papelera de reciclaje de Active Directory
• Ejecute módulos de Active Directory y Domain Name Service (DNS) para Windows Powershell en el
servicio web de Active Directory
La cuenta Admin también tiene derechos para realizar las siguientes actividades en todo el dominio:
• Administrar configuraciones DNS (agregar, quitar o actualizar registros, zonas y programas de envío).
• Ver logs de eventos DNS
• Ver logs de eventos de seguridad
Edición
Contraseña del administrador del directorio. Al crear el directorio, se crea también una cuenta de
administrador con el nombre de usuario Admin y esta contraseña.
1655
Amazon Aurora Guía del usuario de Aurora
Configuración
VPC
Elija la VPC del directorio. Puede crear el clúster de base de datos de PostgreSQL en esta misma
VPC o en una VPC diferente.
Subredes
Elija las subredes de los servidores del directorio. Las dos subredes deben estar en diferentes
zonas de disponibilidad.
7. Elija Next (Siguiente).
8. Revise la información del directorio. Si es necesario realizar algún cambio, seleccione Previous
(Anterior) y realizar los cambios. Cuando la información sea correcta, seleccione Create directory
(Crear directorio).
La creación del directorio tarda varios minutos. Cuando se haya creado correctamente, el valor de Status
(Estado) cambiará a Active (Activo).
Para ver información acerca de su directorio, seleccione el ID del directorio en la lista de directorios. Anote
el valor de Directory ID (ID de directorio). Necesita este valor cuando cree o modifique su instancia de base
de datos de PostgreSQL.
1656
Amazon Aurora Guía del usuario de Aurora
Configuración
Para obtener la autenticación Kerberos mediante Active Directory en las instalaciones, debe crear una
relación de dominio de confianza entre Microsoft Active Directory en las instalaciones y el directorio AWS
Managed Microsoft AD (creado en Paso 1: crear un directorio con AWS Managed Microsoft AD (p. 1654)).
La confianza puede ser unidireccional, donde el directorio AWS Managed Microsoft AD confía en Microsoft
Active Directory local. La confianza también puede ser bidireccional, donde ambos Active Directories
confían entre sí. Para obtener más información acerca de la configuración de relaciones de confianza con
AWS Directory Service, consulte Cuándo crear una relación de confianza en la guía de administración de
AWS Directory Service.
Note
1657
Amazon Aurora Guía del usuario de Aurora
Configuración
• Los clientes de Windows deben conectarse utilizando los puntos de enlace especializados
como se describe en Conexión a PostgreSQL con autenticación Kerberos (p. 1664).
• Los clientes de Windows no pueden conectarse con loa puntos de enlace
personalizados (p. 38).
• Para bases de datos globales (p. 247):
• Los clientes de Windows pueden conectarse mediante los puntos de enlace de la instancia o
los del clúster en la región de AWS principal de la base de datos global.
• Los clientes de Windows no pueden conectarse mediante los puntos de enlace del clúster en
regiones de AWS secundarias.
Asegúrese de que el nombre de dominio local de Microsoft Active Directory incluya un enrutamiento de
sufijo DNS que corresponda a la relación de confianza recién creada. En la siguiente captura de pantalla,
se muestra un ejemplo.
Cuando se crea una instancia de base de datos con la AWS Management Console y el usuario de la
consola tiene el permiso iam:CreateRole, la consola crea este rol automáticamente. En este caso, el
nombre del rol es rds-directoryservice-kerberos-access-role. De lo contrario, cree el rol de
IAM manualmente. Elija RDS y, a continuación, RDS - Directory Service. Asocie la política administrada de
AWS AmazonRDSDirectoryServiceAccess a este rol.
A fin de obtener más información acerca de la creación de roles de IAM para un servicio, consulte Creación
de un rol para delegar permisos a un servicio de AWS en la guía del usuario de IAM.
1658
Amazon Aurora Guía del usuario de Aurora
Configuración
Note
El rol de IAM utilizado para la autenticación de Windows para RDS para Microsoft SQL Server no
puede ser utilizado por Amazon Aurora.
Opcionalmente, puede crear políticas con los permisos requeridos en vez de utilizar la política de IAM
administrad AmazonRDSDirectoryServiceAccess. En este caso, el rol de IAM debe tener la siguiente
política de confianza de IAM.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": [
"directoryservice.rds.amazonaws.com",
"rds.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ds:DescribeDirectories",
"ds:AuthorizeApplication",
"ds:UnauthorizeApplication",
"ds:GetAuthorizedApplicationDetails"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
Para crear usuarios en un directorio de AWS Directory Service, debe conectarse a una instancia de
Amazon EC2 basada en Windows. Además, esta instancia EC2 debe ser miembro del directorio de AWS
Directory Service. Al mismo tiempo, debe iniciar sesión como usuario con privilegios para crear usuarios.
Para obtener más información, consulte Crear un usuario en la Guía de administración de AWS Directory
Service.
1659
Amazon Aurora Guía del usuario de Aurora
Configuración
Si tiene previsto ubicar el directorio y la instancia de base de datos en diferentes VPC, configure el tráfico
entre VPC mediante la interconexión de VPC o AWSTransit Gateway.
El siguiente procedimiento permite el tráfico entre VPC mediante la interconexión de VPC. Siga las
instrucciones de ¿Qué es una interconexión de VPC? en la Guía de interconexión de Amazon Virtual
Private Cloud.
1. Configure las reglas de enrutamiento de VPC adecuadas para garantizar que el tráfico de red pueda
fluir en ambos sentidos.
2. Asegúrese de que el grupo de seguridad de la instancia de base de datos pueda recibir tráfico de
entrada del grupo de seguridad del directorio.
3. Asegúrese de que no haya una regla de lista de control de acceso (ACL) a la red para bloquear el
tráfico.
1. Comience a compartir el directorio con la cuenta de AWS en la que se creará la instancia de base
de datos mediante las instrucciones de Tutorial: Uso compartido del directorio de AWS Managed
Microsoft AD para realizar la unión al dominio de EC2 sin problemas en la Guía de administración de
AWS Directory Service.
2. Inicie sesión en la consola de AWS Directory Service utilizando la cuenta para la instancia de base de
datos y asegúrese de que el dominio tiene el estado SHARED antes de continuar.
3. Una vez iniciada sesión en la consola de AWS Directory Service utilizando la cuenta de la instancia de
base de datos, anote el valor de Directory ID (ID de directorio). Utilice este identificador de directorio
para unir la instancia de base de datos al dominio.
• Cree un nuevo clúster de base de datos de PostgreSQL con la consola, el comando create-db-cluster de
la CLI o la operación CreateDBCluster de la API de RDS. Para obtener instrucciones, consulte Creación
de un clúster de base de datos y cómo conectarse a una base de datos en un clúster de base de datos
de Aurora PostgreSQL (p. 104).
• Modifique un clúster de base de datos PostgreSQL existente mediante la consola, el comando modify-
db-cluster de la CLI o la operación ModifyDBCluster de la API de RDS. Para obtener instrucciones,
consulte Modificación de un clúster de base de datos de Amazon Aurora (p. 405).
• Restaure un clúster de base de datos de PostgreSQL a partir de una instantánea de base de
datos con la consola, el comando restore-db-cluster-from-db-snapshot de la CLI o la operación
1660
Amazon Aurora Guía del usuario de Aurora
Configuración
La autenticación de Kerberos solo es compatible con instancias de base de datos de PostgreSQL en una
VPC. El clúster de DB puede estar en la misma VPC que el directorio o en una VPC diferente. El clúster
de base de datos debe usar un grupo de seguridad que permita el ingreso y la salida dentro de la VPC del
directorio, de modo que el clúster de base de datos pueda comunicarse con el directorio.
Consola
Si utiliza la consola para crear, modificar o restaurar un clúster de base de datos, elija Kerberos
authentication (Autenticación de Kerberos) en la sección Database authentication (Autenticación de base
de datos). Luego, elija Browse Directory (Examinar directorio). Seleccione el directorio o elija Create a new
directory (Crear un nuevo directorio) para utilizar Directory Service.
AWS CLI
Cuando utilice la AWS CLI, se necesitan los siguientes parámetros para que el clúster de base de datos
pueda usar el directorio que ha creado:
• Para el parámetro --domain, utilice el identificador de dominio (identificador "d-*") que se generó
cuando creó el directorio.
• Para el parámetro --domain-iam-role-name, utilice el rol que creó que usa la política
AmazonRDSDirectoryServiceAccess de IAM administrada.
Por ejemplo, el siguiente comando de CLI modifica un clúster de base de datos para que use un directorio.
Important
Para permitir que un usuario de Active Directory se autentique con PostgreSQL, use las credenciales
de usuario maestro de RDS. Use estas credenciales para conectarse al clúster de base de datos de
PostgreSQL igual que con cualquier otro clúster de base de datos. Después de iniciar sesión, cree un
usuario autenticado externamente en PostgreSQL y conceda el rol rds_ad a este usuario.
1661
Amazon Aurora Guía del usuario de Aurora
Configuración
Sustituya username por el nombre de usuario e incluya el nombre del dominio en mayúsculas.
Los usuarios (tanto humanos como aplicaciones) del dominio pueden conectarse ahora al clúster de
PostgreSQL de RDS desde un equipo cliente unido al dominio utilizando la autenticación Kerberos.
Tenga en cuenta que un usuario de base de datos puede utilizar la autenticación de Kerberos o IAM,
pero no ambas, por lo que este usuario tampoco puede tener el rol rds_iam. Esto se aplica también a
las membresías anidadas. Para obtener más información, consulte Autenticación de bases de datos de
IAM (p. 1877).
[libdefaults]
default_realm = EXAMPLE.COM
[realms]
EXAMPLE.COM = {
kdc = example.com
admin_server = example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
A continuación, se muestra el contenido krb5.conf de ejemplo para un Microsoft Active Directory local.
[libdefaults]
default_realm = EXAMPLE.COM
[realms]
EXAMPLE.COM = {
kdc = example.com
admin_server = example.com
}
ONPREM.COM = {
kdc = onprem.com
admin_server = onprem.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
.onprem.com = ONPREM.COM
onprem.com = ONPREM.COM
.rds.amazonaws.com = EXAMPLE.COM
.amazonaws.com.cn = EXAMPLE.COM
1662
Amazon Aurora Guía del usuario de Aurora
Administración de un clúster de
base de datos en un dominio
.amazon.com = EXAMPLE.COM
• Para volver a intentar habilitar la autenticación Kerberos para una suscripción con error, use el comando
modify-db-cluster de la CLI. Especifique el ID de directorio de pertenencia actual para la opción --
domain.
• Para deshabilitar la autenticación Kerberos en una instancia de base de datos, utilice el comando
modify-db-cluster de la CLI. Especifique none para la opción --domain.
• Para mover una instancia de base de datos desde un dominio a otro, utilice el comando modify-db-
cluster de la CLI. Especifique el identificador de dominio del nuevo dominio para la opción --domain.
Una solicitud para habilitar la autenticación Kerberos puede generar un error a causa de un problema
de conectividad de la red o de un rol de IAM incorrecto. En algunos casos, el intento de habilitar la
autenticación Kerberos podría producir un error al crear o modificar un clúster de base de datos. En tal
caso, asegúrese de que está utilizando el rol de IAM correcto, a continuación modifique el clúster de base
de datos para unirse al dominio.
1663
Amazon Aurora Guía del usuario de Aurora
Conexión con autenticación Kerberos
pgAdmin
Para utilizar pgAdmin para conectarse a PostgreSQL con la autenticación Kerberos, siga estos pasos:
Por ejemplo, suponga que el nombre de dominio de AWS Managed Active Directory es
corp.example.com. Luego, en Host, use el formato PostgreSQL-endpoint.AWS-
Region.corp.example.com.
• En Puerto, escriba el puerto asignado.
• En Base de datos de mantenimiento, escriba el nombre de la base de datos inicial a la que se
conectará el cliente.
• En Nombre de usuario, escriba el nombre de usuario que especificó para la autenticación Kerberos en
Paso 7: crear inicios de sesión de PostgreSQL de autenticación Kerberos (p. 1661).
5. Seleccione Save.
Psql
Para utilizar psql para conectar a PostgreSQL con autenticación Kerberos, siga los pasos siguientes:
kinit username
Sustituya username por el nombre de usuario. En el símbolo del sistema, introduzca la contraseña
almacenada en Microsoft Active Directory para el usuario.
2. Si el clúster de base de datos de PostgreSQL utiliza una VPC accesible públicamente, coloque una
dirección IP privada para su punto de conexión de clúster de base de datos en su archivo /etc/
hosts en el cliente EC2. Por ejemplo, los comandos siguientes obtienen la dirección IP privada y, a
continuación, la ponen en el archivo /etc/hosts.
1664
Amazon Aurora Guía del usuario de Aurora
Referencia de Aurora PostgreSQL
Por ejemplo, suponga que el nombre de dominio de su AWS Managed Active Directory
es corp.example.com. A continuación, use el formato PostgreSQL-endpoint.AWS-
Region.corp.example.com para el punto de enlace y colóquelo en el archivo /etc/hosts.
3. Utilice el comando psql siguiente para iniciar sesión en una de clúster de base de datos de PostgreSQL
que está integrada con Active Directory. Utilice un punto de enlace de clúster o instancia.
Para iniciar sesión en el clúster de base de datos de PostgreSQL desde un cliente de Windows
utilizando un Active Directory en las instalaciones, utilice el siguiente comando psql con el nombre de
dominio del paso anterior (corp.example.com):
• Grupo de parámetros del clúster de base de datos: un grupo de parámetros del clúster de base de datos
contiene el conjunto de parámetros de configuración del motor que se aplican en todo el clúster de base
de datos de Aurora. Por ejemplo, la administración de la caché del clúster es una característica de un
clúster de base de datos de Aurora que se controla mediante el parámetro apg_ccm_enabled, que
forma parte del grupo de parámetros del clúster de base de datos. El grupo de parámetros del clúster de
base de datos también contiene la configuración predeterminada del grupo de parámetros de base de
datos para las instancias de base de datos que componen el clúster.
• Grupo de parámetros de base de datos: un grupo de parámetros de base de datos es el conjunto de
valores de configuración del motor que se aplican a una instancia de base de datos específica de ese
1665
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
tipo de motor. Los grupos de parámetros de base de datos del motor de base de datos PostgreSQL se
usan en una instancia de base de datos de RDS for PostgreSQL y en el clúster de base de datos de
Aurora PostgreSQL. Estos ajustes de configuración se aplican a propiedades que pueden variar entre
las instancias de base de datos dentro de un clúster de Aurora, como los tamaños de los búferes de
memoria.
El usuario administra los parámetros de nivel de clúster de los grupos de parámetros de clúster de base de
datos. El usuario administra los parámetros de nivel de instancia de los grupos de parámetros de base de
datos. Puede administrar los parámetros con la consola de Amazon RDS, la AWS CLI o la API de Amazon
RDS. Hay comandos independientes para administrar los parámetros de nivel de clúster y los parámetros
de nivel de instancia.
Para obtener más información sobre la AWS CLI, consulte la sección Using the AWS CLI (Uso de la AWS
CLI) en la Guía del usuario de la AWS Command Line Interface.
Para obtener más información acerca de los grupos de parámetros, consulte Trabajo con los grupos de
parámetros de base de datos y grupos de parámetros de clúster de base de datos (p. 369).
En lugar de verlo en la AWS Management Console, también puede enumerar los parámetros contenidos
en los grupos de parámetros de clústeres de bases de datos y grupos de parámetros de bases de datos
utilizando la AWS CLI o la API de Amazon RDS. Por ejemplo, para enumerar los parámetros de un grupo
de parámetros de un clúster de base de datos, utilice el comando de la AWS CLI describe-db-cluster-
parameters como se indica a continuación:
El comando muestra descripciones JSON detalladas de cada parámetro. Para reducir la cantidad de
información devuelta, puede especificar lo que desea con la opción --query. Por ejemplo, puede obtener
el nombre del parámetro, su descripción y los valores permitidos del grupo de parámetros del clúster de
base de datos de Aurora PostgreSQL 12 predeterminado de la siguiente manera:
Para Windows:
1666
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
Para Windows:
Los comandos anteriores muestran listas de parámetros del grupo de parámetros de base de datos o del
clúster de base de datos con descripciones y otros detalles especificados en la consulta. A continuación,
se muestra un ejemplo de respuesta.
[
[
{
"ParameterName": "apg_enable_batch_mode_function_execution",
"ApplyType": "dynamic",
"Description": "Enables batch-mode functions to process sets of rows at a
time.",
"AllowedValues": "0,1"
}
],
[
{
"ParameterName": "apg_enable_correlated_any_transform",
"ApplyType": "dynamic",
"Description": "Enables the planner to transform correlated ANY Sublink (IN/NOT
IN subquery) to JOIN when possible.",
"AllowedValues": "0,1"
}
],...
A continuación se muestran las tablas que contienen los valores del parámetro del clúster de base de
datos y del parámetro de la base de datos predeterminados de la versión 13 de Aurora PostgreSQL.
1667
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
Todos los parámetros de la siguiente tabla son dinámicos a menos que se indique lo contrario en
la descripción.
Para obtener una lista de los parámetros de instancia de base de datos del mismo grupo de parámetros
predeterminados de Aurora, consulte Parámetros de nivel de instancia de Aurora PostgreSQL (p. 1680).
1668
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
Costo total estimado del plan por debajo del cual se ejecutará un
apg_plan_mgmt.unapproved_plan_execution_threshold
plan no aprobado.
Importe del costo del vacío disponible antes del tiempo de espera
autovacuum_vacuum_cost_limit
para autovacuum.
1669
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
autovacuum_work_mem (kB) Establece la memoria máxima que puede utilizar cada proceso
de empleado de autovacuum.
1670
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
enable_hashagg Habilita el uso de planes de agregación con hash por parte de los
planificadores.
1671
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
enable_hashjoin Habilita el uso de planes de combinación con hash por parte de los
planificadores.
enable_indexonlyscan Habilita el uso de planes de examen solo de índice por parte de los
planificadores.
enable_mergejoin Habilita el uso de planes de combinación por fusión por parte de los
planificadores.
from_collapse_limit Define el tamaño de la lista FROM por encima del cual las
subconsultas no se contraen.
1672
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
geqo_threshold Define el umbral de los elementos FROM por encima de los cuales
se usa GEQO.
join_collapse_limit Define el tamaño de la lista FROM por encima del cual las
construcciones JOIN no se aplanan.
1673
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
log_min_duration_statement (ms) Establece el tiempo mínimo de ejecución por encima del cual se
registrarán las instrucciones.
log_min_error_statement Hace que se registren todas las instrucciones que generen un error
por encima de este nivel.
logical_decoding_work_mem (kB) Cada búfer de reordenamiento interno puede usar esta cantidad
de memoria antes de volcar en el disco.
maintenance_work_mem (kB) Establece la memoria máxima que se puede usar para las
operaciones de mantenimiento
1674
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
1675
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
1676
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
pglogical.use_spi Usa SPI en lugar de la API de bajo nivel para aplicar los cambios
1677
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
rds.log_retention_period Amazon RDS eliminará los registros de PostgreSQL que tengan una
antigüedad superior a N minutos.
update_process_title Actualiza el título del proceso para mostrar el comando SQL activo.
vacuum_cost_limit Importe del costo del vacío disponible antes del periodo de reposo.
vacuum_cost_page_dirty Costo del vacío para una página ensuciada por el vacío.
vacuum_cost_page_hit Costo del vacío para una página encontrada en la caché del búfer.
vacuum_cost_page_miss Costo del vacío para una página no encontrada en la caché del
búfer.
vacuum_freeze_min_age Antigüedad mínima con la que VACUUM debe congelar una fila de la
tabla.
vacuum_freeze_table_age Antigüedad con la que VACUUM debe escanear toda la tabla para
congelar las tuplas.
1678
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
wal_receiver_timeout (ms) Establece el tiempo máximo de espera para recibir datos del
primario.
work_mem (kB) Establece la memoria máxima que se utilizará para los espacios
de trabajo de consulta.
1679
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
Para obtener una lista de los parámetros del clúster de base de datos para el grupo de parámetros
predeterminado de Aurora, consulte Parámetros de nivel de clúster de Aurora PostgreSQL (p. 1668).
Costo total estimado del plan por debajo del cual se ejecutará un
apg_plan_mgmt.unapproved_plan_execution_threshold
plan no aprobado.
1680
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
1681
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
enable_hashagg Habilita el uso de planes de agregación con hash por parte de los
planificadores.
enable_hashjoin Habilita el uso de planes de combinación con hash por parte de los
planificadores.
enable_indexonlyscan Habilita el uso de planes de examen solo de índice por parte de los
planificadores.
enable_mergejoin Habilita el uso de planes de combinación por fusión por parte de los
planificadores.
1682
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
from_collapse_limit Define el tamaño de la lista FROM por encima del cual las
subconsultas no se contraen.
geqo_threshold Define el umbral de los elementos FROM por encima de los cuales
se usa GEQO.
1683
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
join_collapse_limit Define el tamaño de la lista FROM por encima del cual las
construcciones JOIN no se aplanan.
log_filename Define el patrón del nombre de archivo para los archivos de registro.
logical_decoding_work_mem (kB) Cada búfer de reordenamiento interno puede usar esta cantidad
de memoria antes de volcar en el disco.
log_min_duration_statement (ms) Establece el tiempo mínimo de ejecución por encima del cual se
registrarán las instrucciones.
1684
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
log_min_error_statement Hace que se registren todas las instrucciones que generen un error
por encima de este nivel.
maintenance_work_mem (kB) Establece la memoria máxima que se puede usar para las
operaciones de mantenimiento
1685
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
1686
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
pglogical.use_spi Estático. Usa SPI en lugar de la API de bajo nivel para aplicar los
cambios
1687
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
1688
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
rds.log_retention_period Amazon RDS eliminará los registros de PostgreSQL que tengan una
antigüedad superior a N minutos.
rds.superuser_variables Lista de variables solo para superusuarios para las que elevamos las
declaraciones de modificación de rds_superuser.
1689
Amazon Aurora Guía del usuario de Aurora
Parámetros de Aurora PostgreSQL
search_path Define el orden de búsqueda del esquema para los nombres que no
cumplen los requisitos del esquema.
standard_conforming_stringsHace que las cadenas ... traten las barras diagonales invertidas
literalmente.
temp_tablespaces Define los espacios de tabla que se deben usar para las tablas
temporales y los archivos de ordenación.
1690
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
update_process_title Actualiza el título del proceso para mostrar el comando SQL activo.
work_mem (kB) Establece la memoria máxima que se utilizará para los espacios
de trabajo de consulta.
Activity:ArchiverMain
1691
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
Activity:RecoveryWalAll
El proceso de inicio está esperando a que llegue el registro de escritura anticipada (WAL) durante la
recuperación del streaming.
Activity:SysLoggerMain
El proceso de recepción del registro de escritura anticipada (WAL) está esperando la actividad.
Activity:WalSenderMain
El proceso de envío del registro de escritura anticipada (WAL) está esperando la actividad.
Activity:WalWriterMain
El proceso de escritura del registro de escritura anticipada (WAL) está esperando la actividad.
BufferPin:BufferPin
Un proceso está esperando para leer los datos del cliente mientras se establece una sesión de interfaz
de programación de aplicaciones del servicio de seguridad genérico (GSSAPI).
Client:ClientRead
Un proceso de backend está esperando para recibir datos de un cliente de PostgreSQL. Para obtener
más información, consulte Client:ClientRead (p. 1488).
Client:ClientWrite
Un proceso de backend está esperando para enviar más datos a un cliente de PostgreSQL. Para
obtener más información, consulte Client:ClientWrite (p. 1490).
Client:LibPQWalReceiverConnect
Un proceso está esperando en el receptor del registro de escritura anticipada (WAL) para establecer la
conexión con el servidor remoto.
Client:LibPQWalReceiverReceive
Un proceso está esperando en el receptor del registro de escritura anticipada (WAL) para recibir datos
del servidor remoto.
Client:SSLOpenServer
Un proceso está esperando la Capa de sockets seguros (SSL) mientras se intenta la conexión.
Client:WalReceiverWaitStart
Un proceso está esperando a que el proceso de inicio envíe datos iniciales para la replicación del
streaming.
Client:WalSenderWaitForWAL
Un proceso está esperando a que el registro de escritura anticipada (WAL) se vacíe en el proceso de
remitente de WAL.
1692
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
Client:WalSenderWriteData
Un proceso está esperando cualquier actividad al procesar las respuestas del receptor de registro de
escritura anticipada (WAL) en el proceso de remitente de WAL.
CPU
Un proceso de backend está activo en la CPU o a la espera de ella. Para obtener más información,
consulte CPU (p. 1492).
Extension:extension
Un proceso de backend está esperando una condición definida por una extensión o módulo.
IO:AuroraStorageLogAllocate
Una sesión está asignando metadatos y se prepara para escribir un registro de transacciones.
IO:BufFileRead
Cuando las operaciones requieren más memoria que la cantidad definida por los parámetros de
memoria de trabajo, el motor crea archivos temporales en el disco. Este evento de espera se produce
cuando las operaciones leen desde los archivos temporales. Para obtener más información, consulte
IO:BufFileRead y IO:BufFileWrite (p. 1496).
IO:BufFileWrite
Cuando las operaciones requieren más memoria que la cantidad definida por los parámetros de
memoria de trabajo, el motor crea archivos temporales en el disco. Este evento de espera se produce
cuando las operaciones escriben desde los archivos temporales. Para obtener más información,
consulte IO:BufFileRead y IO:BufFileWrite (p. 1496).
IO:ControlFileRead
Un proceso está esperando a que una actualización del archivo pg_control se almacene de forma
permanente.
IO:ControlFileWrite
Un proceso está esperando una lectura durante una operación de copia de archivos.
IO:CopyFileWrite
Un proceso está esperando una escritura durante una operación de copia de archivos.
IO:DataFileExtend
Un proceso está esperando a que un archivo de datos de relación se almacene de forma permanente.
1693
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
IO:DataFileImmediateSync
Un proceso está esperando una captura previa asíncrona desde un archivo de datos de relación.
IO:DataFileSync
Un proceso está esperando a que los cambios en un archivo de datos de relación se almacenen de
forma permanente.
IO:DataFileRead
Un proceso de backend intentó encontrar una página en los búferes compartidos, no la encontró
y, por lo tanto, la leyó desde el almacenamiento. Para obtener más información, consulte
IO:DataFileRead (p. 1502).
IO:DataFileTruncate
Un proceso está esperando para escribir cero bytes en un archivo de copia de seguridad de memoria
compartida dinámica.
IO:LockFileAddToDataDirRead
Un proceso está esperando una lectura mientras se agrega una línea al archivo de bloqueo del
directorio de datos.
IO:LockFileAddToDataDirSync
Un proceso está esperando a que los datos se almacenen de forma permanente mientras se agrega
una línea al archivo de bloqueo del directorio de datos.
IO:LockFileAddToDataDirWrite
Un proceso está esperando una escritura mientras se agrega una línea al archivo de bloqueo del
directorio de datos.
IO:LockFileCreateRead
Un proceso está esperando para escribir mientras se crea el archivo de bloqueo del directorio de
datos.
IO:LockFileCreateSync
Un proceso está esperando a que los datos se almacenen de forma permanente mientras se crea el
archivo de bloqueo del directorio de datos.
IO:LockFileCreateWrite
Un proceso está esperando una escritura mientras se crea el archivo de bloqueo del directorio de
datos.
IO:LockFileReCheckDataDirRead
Un proceso está esperando una lectura durante la nueva verificación del archivo de bloqueo del
directorio de datos.
1694
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
IO:LogicalRewriteCheckpointSync
Un proceso está esperando a que las asignaciones de reescritura lógica se almacenen de forma
permanente durante un punto de verificación.
IO:LogicalRewriteMappingSync
Un proceso está esperando a que los datos de asignación se almacenen de forma permanente
durante una rescritura lógica.
IO:LogicalRewriteMappingWrite
Un proceso está esperando una escritura de los datos de asignación durante una reescritura lógica.
IO:LogicalRewriteSync
Un proceso está esperando a que las asignaciones de rescritura lógica se almacenen de forma
permanente.
IO:LogicalRewriteTruncate
Un proceso está esperando el truncamiento de los datos de asignación durante una reescritura lógica.
IO:LogicalRewriteWrite
Un proceso está esperando una lectura durante la administración del búfer de reordenamiento.
IO:ReorderBufferWrite
Un proceso está esperando una escritura durante la administración del búfer de reordenamiento.
IO:ReorderLogicalMappingRead
Un proceso está a la espera de una lectura de una asignación lógica durante la administración del
búfer de reordenamiento.
IO:ReplicationSlotRead
Un proceso está esperando una lectura desde un archivo de control de ranuras de replicación.
IO:ReplicationSlotRestoreSync
1695
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
IO:SLRUFlushSync
Un proceso está esperando a que los datos segmentados de uso menos reciente (SLRU) se
almacenen de forma permanente durante un punto de verificación o cierre de la base de datos.
IO:SLRURead
Un proceso está esperando una lectura de una página segmentada de uso menos reciente (SLRU).
IO:SLRUSync
Un proceso está esperando a que los datos segmentados de uso menos reciente (SLRU) se
almacenen de forma permanente después de una escritura de página.
IO:SLRUWrite
Un proceso está esperando una escritura de una página segmentada de uso menos reciente (SLRU).
IO:SnapbuildRead
Un proceso está esperando una lectura de una instantánea del catálogo histórico en serie.
IO:SnapbuildSync
Un proceso está esperando a que una instantánea del catálogo histórico en serie se almacene de
forma permanente.
IO:SnapbuildWrite
Un proceso está esperando una escritura de una instantánea del catálogo histórico en serie.
IO:TimelineHistoryFileSync
Un proceso está esperando a que un archivo de historial de cronología recién creado se almacene de
forma permanente.
IO:TimelineHistoryWrite
Un proceso está esperando una escritura de un archivo de historial de cronología recién creado.
IO:TwophaseFileRead
Un proceso está esperando a que un archivo de estado de dos fases se almacene de forma
permanente.
IO:TwophaseFileWrite
Un proceso está esperando a que el registro de escritura anticipada (WAL) se almacene de forma
permanente durante el proceso de arranque.
1696
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
IO:WALBootstrapWrite
Un proceso está esperando una escritura de una página del registro de escritura anticipada (WAL)
durante el proceso de arranque.
IO:WALCopyRead
Un proceso está esperando una lectura al crear un nuevo segmento del registro de escritura
anticipada (WAL) mediante la copia de uno existente.
IO:WALCopySync
Un proceso está esperando a que un nuevo segmento del registro de escritura anticipada (WAL)
creado mediante la copia de uno existente se almacene de forma permanente.
IO:WALCopyWrite
Un proceso está esperando una escritura al crear un nuevo segmento del registro de escritura
anticipada (WAL) mediante la copia de uno existente.
IO:WALInitSync
Un proceso está esperando a que un archivo de registro de escritura anticipada (WAL) recién
inicializado se almacene de forma permanente.
IO:WALInitWrite
Un proceso está esperando una escritura mientras se inicializa un nuevo archivo de registro de
escritura anticipada (WAL).
IO:WALRead
Un proceso está esperando una lectura desde un archivo de registro de escritura anticipada (WAL).
IO:WALSenderTimelineHistoryRead
Un proceso está esperando una lectura desde un archivo de historial de cronología durante un
comando de cronología de remitente de WAL.
IO:WALSync
Un proceso está esperando a que un archivo de registro de escritura anticipada (WAL) se almacene
de forma permanente.
IO:WALSyncMethodAssign
Un proceso está esperando a que los datos se almacenen de forma permanente mientras se asigna
un nuevo método de sincronización del registro de escritura anticipada (WAL).
IO:WALWrite
Un proceso está esperando una escritura en un archivo de registro de escritura anticipada (WAL).
IO:XactSync
Un proceso está esperando los archivos de registro de escritura anticipada (WAL) necesarios para
archivar correctamente una copia de seguridad.
IPC:BgWorkerShutdown
1697
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
IPC:BgWorkerStartup
Un proceso está esperando a que esté disponible el número de páginas necesario para continuar un
análisis paralelo de árbol B.
IPC:CheckpointDone
Un proceso está esperando a que el líder del grupo actualice el estado de la transacción al final de
una transacción.
pc:damrecordtxack
Un proceso está esperando la actividad desde un proceso secundario mientras se ejecuta un nodo del
plan de Gather.
IPC:Hash/Batch/Allocating
Un proceso está esperando a que un participante hash paralelo elegido asigne una tabla hash.
IPC:Hash/Batch/Electing
Un proceso elige un participante hash paralelo para asignar una tabla hash.
IPC:Hash/Batch/Loading
Un proceso está esperando a que otros participantes hash paralelos terminen de cargar una tabla
hash.
IPC:Hash/Build/Allocating
Un proceso está esperando a que un participante hash paralelo elegido asigne la tabla hash inicial.
IPC:Hash/Build/Electing
Un proceso elige un participante hash paralelo para asignar la tabla hash inicial.
IPC:Hash/Build/HashingInner
Un proceso está esperando a que otros participantes hash paralelos terminen las operaciones hash de
la relación interna.
IPC:Hash/Build/HashingOuter
Un proceso está esperando a que otros participantes hash paralelos terminen la partición de la
relación externa.
IPC:Hash/GrowBatches/Allocating
Un proceso está esperando a que un participante hash paralelo elegido asigne más lotes.
IPC:Hash/GrowBatches/Deciding
Un proceso elige un participante hash paralelo para decidir sobre el crecimiento futuro de los lotes.
1698
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
IPC:Hash/GrowBatches/Electing
Un proceso está esperando a que un participante hash paralelo elegido decida sobre el crecimiento
futuro de los lotes.
IPC:Hash/GrowBatches/Repartitioning
Un proceso está esperando a que otros participantes hash paralelos terminen la creación de nuevas
particiones.
IPC:Hash/GrowBuckets/Allocating
Un proceso está esperando a que un participante hash paralelo elegido termine de asignar más
buckets.
IPC:Hash/GrowBuckets/Electing
Un proceso está esperando a que otros participantes hash paralelos terminen de insertar tuplas en los
buckets nuevos.
IPC:HashBatchAllocate
Un proceso está esperando a que un participante hash paralelo elegido asigne una tabla hash.
IPC:HashBatchElect
Un proceso está esperando para elegir un participante hash paralelo para asignar una tabla hash.
IPC:HashBatchLoad
Un proceso está esperando a que otros participantes hash paralelos terminen de cargar una tabla
hash.
IPC:HashBuildAllocate
Un proceso está esperando a que un participante hash paralelo elegido asigne la tabla hash inicial.
IPC:HashBuildElect
Un proceso está esperando para elegir un participante hash paralelo para asignar la tabla hash inicial.
IPC:HashBuildHashInner
Un proceso está esperando a que otros participantes hash paralelos terminen las operaciones hash de
la relación interna.
IPC:'HashBuildHashOuter
Un proceso está esperando a que otros participantes hash paralelos terminen la partición de la
relación externa.
IPC:HashGrowBatchesAllocate
Un proceso está esperando a que un participante hash paralelo elegido asigne más lotes.
IPC:'HashGrowBatchesDecide
Un proceso está esperando para elegir un participante hash paralelo para decidir sobre el crecimiento
futuro de los lotes.
IPC:HashGrowBatchesElect
Un proceso está esperando para elegir un participante hash paralelo para asignar más lotes.
1699
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
IPC:HashGrowBatchesFinish
Un proceso está esperando a que un participante hash paralelo elegido decida sobre el crecimiento
futuro de los lotes.
IPC:HashGrowBatchesRepartition
Un proceso está esperando a que otros participantes hash paralelos terminen la creación de nuevas
particiones.
IPC:HashGrowBucketsAllocate
Un proceso está esperando a que un participante hash paralelo elegido termine de asignar más
buckets.
IPC:HashGrowBucketsElect
Un proceso está esperando para elegir un participante hash paralelo para asignar más buckets.
IPC:HashGrowBucketsReinsert
Un proceso está esperando a que otros participantes hash paralelos terminen de insertar tuplas en los
buckets nuevos.
IPC:LogicalSyncData
Un proceso está esperando a que un servidor remoto de replicación lógica envíe datos para la
sincronización de la tabla inicial.
IPC:LogicalSyncStateChange
Un proceso está esperando a que un servidor remoto de replicación lógica cambie de estado.
IPC:MessageQueueInternal
Un proceso está esperando a que se adjunte otro proceso a una cola de mensajes compartida.
IPC:MessageQueuePutMessage
Un proceso está esperando para escribir un mensaje de protocolo en una cola de mensajes
compartida.
IPC:MessageQueueReceive
Un proceso está esperando para recibir bytes de una cola de mensajes compartida.
IPC:MessageQueueSend
Un proceso está esperando para enviar bytes a una cola de mensajes compartida.
IPC:ParallelBitmapScan
Un proceso está esperando a que los procesos de trabajo de CREATE INDEX paralelos terminen un
análisis de montón.
IPC:ParallelFinish
Un proceso está esperando a que los procesos de trabajo paralelos terminen de calcular.
IPC:ProcArrayGroupUpdate
Un proceso está esperando a que el líder de grupo borre el ID de transacción al final de una operación
paralela.
IPC:ProcSignalBarrier
Un proceso está esperando a que todos los backend procesen un evento de barrera.
1700
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
IPC:Promote
Un proceso está esperando la resolución de conflictos de recuperación para una limpieza vacuum.
IPC:RecoveryConflictTablespace
Un proceso está esperando a que un origen de replicación quede inactivo para que se pueda eliminar.
IPC:ReplicationSlotDrop
Un proceso está esperando a que una ranura de replicación quede inactiva para que pueda
eliminarse.
IPC:SafeSnapshot
Un proceso está esperando a obtener una instantánea válida para una transacción READ ONLY
DEFERRABLE.
IPC:SyncRep
Un proceso está esperando a que el líder de grupo actualice el estado de la transacción al final de una
operación paralela.
Lock:advisory
Un proceso de backend solicitó un bloqueo de asesoría y lo está esperando. Para obtener más
información, consulte Lock:advisory (p. 1511).
Lock:extend
Un proceso de backend está esperando a que se libere un bloqueo para que pueda extender una
relación. Este bloqueo es necesario porque solo un proceso de backend puede extender una relación
a la vez. Para obtener más información, consulte Lock:extend (p. 1513).
Lock:frozenid
Un proceso está esperando para obtener un bloqueo en un objeto de base de datos sin relación.
Lock:page
Un proceso está esperando para obtener un bloqueo en una página de una relación.
Lock:Relation
Un proceso de backend está esperando para adquirir un bloqueo de una relación bloqueada por otra
transacción. Para obtener más información, consulte Lock:Relation (p. 1515).
1701
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
Lock:spectoken
Una transacción está esperando un bloqueo a nivel de fila. Para obtener más información, consulte
Lock:transactionid (p. 1518).
Lock:tuple
Un proceso de backend está esperando para adquirir un bloqueo en una tupla, mientras que otro
proceso de backend mantiene un bloqueo conflictivo en la misma tupla. Para obtener más información,
consulte Lock:tuple (p. 1521).
Lock:userlock
Un proceso está esperando para administrar la asignación de espacio de una extensión en la memoria
compartida.
Lwlock:AddinShmemInitLock
Un proceso está esperando para leer o actualizar el estado actual de los procesos de trabajo de
autovacuum.
Lwlock:AutovacuumLock
Un proceso de trabajo o iniciador de autovacuum está esperando para actualizar o leer el estado
actual de los procesos de trabajo de autovacuum.
Lwlock:AutovacuumSchedule
Un proceso está esperando para garantizar que una tabla seleccionada para autovacuum aún
necesita la operación vacuum.
1702
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
Lwlock:AutovacuumScheduleLock
Un proceso está esperando para garantizar que la tabla que seleccionó para una operación vacuum
aún la necesita.
Lwlock:BackendRandomLock
Un proceso está esperando para leer o actualizar el estado del proceso de trabajo en segundo plano.
Lwlock:BackgroundWorkerLock
Un proceso está esperando para leer o actualizar el estado del proceso de trabajo en segundo plano.
Lwlock:BtreeVacuum
Un proceso está esperando para leer o actualizar la información relacionada con vacuum de un índice
del árbol B.
Lwlock:BtreeVacuumLock
Un proceso está esperando para leer o actualizar la información relacionada con vacuum de un índice
del árbol B.
LWLock:buffer_content
Un proceso de backend está esperando para adquirir un bloqueo ligero sobre el contenido de
un búfer de memoria compartida. Para obtener más información, consulte lwlock:buffer_content
(BufferContent) (p. 1524).
LWLock:buffer_mapping
Un proceso de backend está esperando para asociar un bloque de datos a un búfer del grupo de
búferes compartido. Para obtener más información, consulte LWLock:buffer_mapping (p. 1525).
LWLock:BufferIO
Un proceso de backend quiere leer una página en la memoria compartida. El proceso está esperando
a que otros procesos finalicen su E/S de la página. Para obtener más información, consulte
LWLock:BufferIO (p. 1527).
Lwlock:Checkpoint
Un proceso está esperando para ejecutar txid_status o actualizar el ID de transacción más antiguo
que tenga disponible.
1703
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
Lwlock:commit_timestamp
Un proceso está esperando para leer o actualizar el último valor establecido para una marca de tiempo
de confirmación de transacción.
Lwlock:CommitTsBuffer
Un proceso está esperando la E/S en un búfer segmentado de uso menos reciente (SLRU) para una
marca de tiempo de confirmación.
Lwlock:CommitTsControlLock
Un proceso está esperando para leer o actualizar las marcas de tiempo de confirmación de
transacciones.
Lwlock:CommitTsLock
Un proceso está esperando para leer o actualizar el último valor establecido para la marca de tiempo
de la transacción.
Lwlock:CommitTsSLRU
Un proceso está esperando para acceder a la caché segmentada de uso menos reciente (SLRU) para
una marca de tiempo de confirmación.
Lwlock:ControlFile
Un proceso está esperando para leer o actualizar el archivo pg_control o crear un nuevo archivo de
registro de escritura anticipada (WAL).
Lwlock:ControlFileLock
Un proceso está esperando para leer o actualizar el archivo de control o la creación de un nuevo
archivo de registro de escritura anticipada (WAL).
Lwlock:DynamicSharedMemoryControl
Un proceso está esperando para leer o actualizar la información de asignación dinámica de memoria
compartida.
Lwlock:DynamicSharedMemoryControlLock
Un proceso está esperando para leer o actualizar el estado de la memoria compartida dinámica.
LWLock:lock_manager
Un proceso de backend está esperando para agregar o examinar los bloqueos de los procesos de
backend. O bien está esperando para unirse o salir de un grupo de bloqueo utilizado por una consulta
paralela. Para obtener más información, consulte LWLock:lock_manager (p. 1528).
Lwlock:LockFastPath
Un proceso está esperando para leer o actualizar la información de bloqueo de método rápido de un
proceso.
Lwlock:LogicalRepWorker
Un proceso está esperando para leer o actualizar el estado de los procesos de trabajo de replicación
lógica.
Lwlock:LogicalRepWorkerLock
Un proceso está esperando a que finalice una acción en un proceso de trabajo de replicación lógica.
1704
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
Lwlock:multixact_member
Un proceso está esperando la E/S en un búfer segmentado de uso menos reciente (SLRU) para un
miembro de multixact.
Lwlock:MultiXactMemberControlLock
Un proceso está esperando para leer o actualizar las asignaciones de miembros de multixact.
Lwlock:MultiXactMemberSLRU
Un proceso está esperando para acceder a la caché segmentada de uso menos reciente (SLRU) de
un miembro de multixact.
Lwlock:MultiXactOffsetBuffer
Un proceso está esperando la E/S en un búfer segmentado de uso menos reciente (SLRU) para
obtener un desplazamiento de multixact.
Lwlock:MultiXactOffsetControlLock
Un proceso está esperando para leer o actualizar las asignaciones de desplazamiento de multixact.
Lwlock:MultiXactOffsetSLRU
Un proceso está esperando para acceder a la caché segmentada de uso menos reciente (SLRU) para
obtener un desplazamiento de multixact.
Lwlock:MultiXactTruncation
Un proceso está esperando la E/S en el búfer segmentado de uso menos reciente (SLRU) para un
mensaje de NOTIFY.
Lwlock:NotifyQueue
Un proceso está esperando para actualizar el límite del almacenamiento de mensajes de notificación.
1705
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
Lwlock:NotifySLRU
Un proceso está esperando para acceder a la caché segmentada de uso menos reciente (SLRU) para
un mensaje de NOTIFY.
Lwlock:OidGen
Un proceso está esperando para leer o actualizar la información antigua del control de instantáneas.
Lwlock:OldSnapshotTimeMapLock
Un proceso está esperando para leer o actualizar la información antigua del control de instantáneas.
Lwlock:parallel_append
Un proceso está esperando para elegir el siguiente subplan durante la ejecución del plan anexado
paralelo.
Lwlock:parallel_hash_join
Un proceso está esperando para asignar o intercambiar un fragmento de memoria o actualizar los
contadores durante la ejecución de un plan hash paralelo.
Lwlock:parallel_query_dsa
Un proceso está esperando a que se bloquee la asignación dinámica de memoria compartida para una
consulta paralela.
Lwlock:ParallelAppend
Un proceso está esperando para elegir el siguiente subplan durante la ejecución del plan anexado
paralelo.
Lwlock:ParallelHashJoin
Un proceso está esperando para sincronizar los procesos de trabajo durante la ejecución del plan para
una combinación hash paralela.
Lwlock:ParallelQueryDSA
Un proceso está esperando la asignación dinámica de memoria compartida para una consulta
paralela.
Lwlock:PerSessionDSA
Un proceso está esperando la asignación dinámica de memoria compartida para una consulta
paralela.
Lwlock:PerSessionRecordType
Un proceso está esperando para acceder a la información de una consulta paralela acerca de los tipos
compuestos.
1706
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
Lwlock:PerSessionRecordTypmod
Un proceso está esperando para acceder a la información de una consulta paralela acerca de los
modificadores de tipo que identifican tipos de registros anónimos.
Lwlock:PerXactPredicateList
Un proceso está esperando para acceder a la lista de bloqueos de predicados que la transacción
serializable actual mantiene durante una consulta paralela.
Lwlock:predicate_lock_manager
Un proceso está esperando para acceder a la información de bloqueo de predicado utilizada por las
transacciones serializables.
Lwlock:proc
Un proceso está esperando para leer o actualizar la información de bloqueo de método rápido.
Lwlock:ProcArray
Un proceso está esperando para acceder a las estructuras de datos compartidas por proceso
(normalmente, para obtener una instantánea o informar del ID de transacción de una sesión).
Lwlock:ProcArrayLock
Un proceso está esperando para obtener una instantánea o borrar un ID de transacción al final de una
transacción.
Lwlock:RelationMapping
Un proceso está esperando para leer o actualizar un archivo pg_filenode.map (utilizado para hacer
un seguimiento de las asignaciones de nodos de archivo de determinados catálogos del sistema).
Lwlock:RelationMappingLock
Un proceso está esperando para actualizar el archivo de asignación de relaciones utilizado para
almacenar la asignación de catálogo a nodo de archivo.
Lwlock:RelCacheInit
Un proceso está esperando para leer o actualizar un archivo pg_internal.init (un archivo de
inicialización de la caché de relaciones).
Lwlock:RelCacheInitLock
Un proceso está esperando para leer o escribir un archivo de inicialización de la caché de relaciones.
Lwlock:replication_origin
1707
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
Lwlock:ReplicationSlotAllocation
Un proceso está esperando la E/S en un búfer segmentado de uso menos reciente (SLRU) para un
conflicto de transacciones serializable.
Lwlock:SerializableFinishedList
Un proceso está esperando para acceder a la lista de bloqueos de predicados almacenados por las
transacciones serializables.
Lwlock:SerializablePredicateLockListLock
Un proceso está esperando para hacer una operación en una lista de bloqueos que las transacciones
serializables mantienen.
Lwlock:SerializableXactHash
Un proceso está esperando para leer o actualizar la información acerca de las transacciones
serializables.
Lwlock:SerializableXactHashLock
Un proceso está esperando para recuperar o almacenar información acerca de las transacciones
serializables.
Lwlock:SerialSLRU
Un proceso está esperando para acceder a la caché segmentada de uso menos reciente (SLRU) para
un conflicto de transacciones serializable.
Lwlock:SharedTidBitmap
Un proceso está esperando para acceder a un mapa de bits de identificador de tupla compartido (TID)
durante un análisis de índice de mapa de bits paralelo.
Lwlock:SharedTupleStore
Un proceso está esperando para acceder a un almacén de tuplas compartido durante una consulta
paralela.
Lwlock:ShmemIndex
1708
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
Lwlock:ShmemIndexLock
Un proceso está esperando para recuperar o eliminar mensajes de una cola de invalidación
compartida.
Lwlock:SInvalWrite
Un proceso está esperando para agregar un mensaje en una cola de invalidación compartida.
Lwlock:subtrans
Un proceso está esperando la E/S en un búfer segmentado de uso menos reciente (SLRU) para una
subtransacción.
Lwlock:SubtransControlLock
Un proceso está esperando para acceder a la caché segmentada de uso menos reciente (SLRU) para
una subtransacción.
Lwlock:SyncRep
Un proceso está esperando para leer o actualizar información acerca del estado de la replicación
síncrona.
Lwlock:SyncRepLock
Un proceso está esperando para leer o actualizar información acerca de las réplicas síncronas.
Lwlock:SyncScan
Un proceso está esperando para seleccionar la ubicación inicial de un análisis de tabla sincronizado.
Lwlock:SyncScanLock
Un proceso está esperando para obtener la ubicación inicial de una tabla para los análisis
sincronizados.
Lwlock:TablespaceCreate
Un proceso está esperando un bloqueo de iterador compartido en un mapa de bits de árbol (TBM).
1709
Amazon Aurora Guía del usuario de Aurora
Eventos de espera de Aurora PostgreSQL
Lwlock:TwoPhaseState
Un proceso está esperando para leer o actualizar el estado de las transacciones preparadas.
Lwlock:TwoPhaseStateLock
Un proceso está esperando para leer o actualizar el estado de las transacciones preparadas.
Lwlock:wal_insert
Un proceso está esperando para insertar el registro de escritura anticipada (WAL) en un búfer de
memoria.
Lwlock:WALBufMapping
Un proceso está esperando para reemplazar una página en los búferes del registro de escritura
anticipada (WAL).
Lwlock:WALBufMappingLock
Un proceso está esperando para reemplazar una página en los búferes del registro de escritura
anticipada (WAL).
Lwlock:WALInsert
Un proceso está esperando para insertar los datos del registro de escritura anticipada (WAL) en un
búfer de memoria.
Lwlock:WALWrite
Un proceso está esperando a que se escriban los búferes del registro de escritura anticipada (WAL)
en el disco.
Lwlock:WALWriteLock
Un proceso está esperando a que se escriban los búferes del registro de escritura anticipada (WAL)
en el disco.
Lwlock:WrapLimitsVacuum
Un proceso está esperando para actualizar los límites del ID de transacción y el consumo de multixact.
Lwlock:WrapLimitsVacuumLock
Un proceso está esperando para actualizar los límites del ID de transacción y el consumo de multixact.
Lwlock:XactBuffer
Un proceso está esperando la E/S en un búfer segmentado de uso menos reciente (SLRU) para un
estado de transacción.
Lwlock:XactSLRU
Un proceso está esperando para acceder a la caché segmentada de uso menos reciente (SLRU) para
un estado de transacción.
Lwlock:XactTruncation
Un proceso está esperando para ejecutar pg_xact_status o actualizar el ID de transacción más antiguo
que tiene disponible.
Bloqueo LW: Xidgen
1710
Amazon Aurora Guía del usuario de Aurora
Referencia de las funciones de Aurora PostgreSQL
Timeout:BaseBackupThrottle
Un proceso está esperando durante la copia de seguridad base cuando hicieron limitaciones
controladas de la actividad.
Timeout:PgSleep
Un proceso de backend llamó a la función pg_sleep y espera a que el tiempo de espera venza. Para
obtener más información, consulte Timeout:PgSleep (p. 1532).
Timeout:RecoveryApplyDelay
Un proceso está esperando para aplicar el registro de escritura anticipada (WAL) durante la
recuperación debido a una configuración de retraso.
Timeout:RecoveryRetrieveRetryInterval
Un proceso está esperando durante la recuperación cuando los datos del registro de escritura
anticipada (WAL) no están disponibles desde ningún origen (pg_wal, archivo o transmisión).
Timeout:VacuumDelay
Para obtener una lista completa de eventos de espera de PostgreSQL, consulte la tabla de eventos de
espera de PostgreSQL en la documentación de PostgreSQL.
Información general
Puede utilizar las siguientes funciones para instancias de base de datos de Amazon RDS que ejecutan
Aurora PostgreSQL:
aurora_list_builtins
Enumera todas las funciones incorporadas de Aurora PostgreSQL disponibles, junto con descripciones
breves y detalles de funciones.
Sintaxis
aurora_list_builtins()
1711
Amazon Aurora Guía del usuario de Aurora
Referencia de las funciones de Aurora PostgreSQL
Tipo de retorno
Registro SETOF
Argumentos
Ninguno
Ejemplos
En el ejemplo siguiente se muestran los resultados de llamar a la función aurora_list_builtins.
=> SELECT *
FROM aurora_list_builtins();
aurora_stat_dml_activity
Informa la actividad acumulativa para cada tipo de operación de lenguaje de manipulación de datos (DML)
en una base de datos en un clúster de Aurora PostgreSQL.
Sintaxis
1712
Amazon Aurora Guía del usuario de Aurora
Referencia de las funciones de Aurora PostgreSQL
aurora_stat_dml_activity(database_oid)
Tipo de retorno
Registro SETOF
Argumentos
database_oid
Notas de uso
La función aurora_stat_dml_activity solo está disponible con Aurora PostgreSQL versión 3.1
compatible con el motor de PostgreSQL 11.6 y versiones posteriores.
Utilice esta función en clústeres de Aurora PostgreSQL con un gran número de bases de datos para
identificar qué bases de datos tienen más actividad DML o más lenta, o ambas.
Ejemplos
En el siguiente ejemplo se muestra cómo informar de las estadísticas de actividad de DML para la base de
datos conectada.
=> SELECT *
FROM aurora_stat_dml_activity(:oid);
1713
Amazon Aurora Guía del usuario de Aurora
Referencia de las funciones de Aurora PostgreSQL
update_count | 519538
update_latency_microsecs | 1454579206167
delete_count | 1
delete_latency_microsecs | 53027
En el ejemplo siguiente se muestran las estadísticas de actividad de DML para todas las bases de datos
del clúster de Aurora PostgreSQL. Este clúster tiene dos bases de datos: postgres y mydb. La lista
separada por comas corresponde a los campos select_count, select_latency_microsecs,
insert_count, insert_latency_microsecs, update_count, update_latency_microsecs,
delete_count y delete_latency_microsecs.
Aurora PostgreSQL crea y utiliza una base de datos del sistema llamada rdsadmin para admitir
operaciones administrativas como copias de seguridad, restauraciones, comprobaciones de estado,
replicación, etc. Estas operaciones DML no tienen ningún impacto en su clúster de Aurora PostgreSQL.
En el siguiente ejemplo se muestran las estadísticas de actividad de DML para todas las bases de datos,
organizadas en columnas para una mejor legibilidad.
SELECT db.datname,
BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 1), '()') AS select_count,
BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 2), '()') AS select_latency_microsecs,
BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 3), '()') AS insert_count,
BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 4), '()') AS insert_latency_microsecs,
BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 5), '()') AS update_count,
BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 6), '()') AS update_latency_microsecs,
BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 7), '()') AS delete_count,
BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 8), '()') AS delete_latency_microsecs
FROM (SELECT datname,
aurora_stat_dml_activity(oid) AS asdmla
FROM pg_database
) AS db;
1714
Amazon Aurora Guía del usuario de Aurora
Referencia de las funciones de Aurora PostgreSQL
mydb | 71 | 453514 | 0 | 0
| 1 | 190 | 1 | 152
En el ejemplo siguiente se muestra la latencia acumulativa media (latencia acumulada dividida por
recuento) para cada operación DML de la base de datos con el OID 16401.
-[ RECORD 1 ]------------+-------------
select_count | 451312
select_latency_microsecs | 80205857
select_latency_per_exec | 177
insert_count | 451001
insert_latency_microsecs | 123667646
insert_latency_per_exec | 274
update_count | 1353067
update_latency_microsecs | 200900695615
update_latency_per_exec | 148478
delete_count | 12
delete_latency_microsecs | 448
delete_latency_per_exec | 37
aurora_stat_get_db_commit_latency
Obtiene la latencia de confirmación acumulada en microsegundos para las bases de datos de Aurora
PostgreSQL. La latencia de confirmación se mide como el tiempo transcurrido entre el momento en que un
cliente envía una solicitud de confirmación y el momento en que recibe el acuse de recibo de confirmación.
Sintaxis
aurora_stat_get_db_commit_latency(database_oid)
Tipo de retorno
Registro SETOF
Argumentos
database_oid
Notas de uso
Amazon CloudWatch utiliza esta función para calcular la latencia media de confirmación. Para obtener más
información acerca de las métricas de Amazon CloudWatch y cómo solucionar problemas de latencia de
1715
Amazon Aurora Guía del usuario de Aurora
Referencia de las funciones de Aurora PostgreSQL
confirmación alta, consulte Monitoreo de métricas de Amazon Aurora con Amazon CloudWatch (p. 618) y
Cómo tomar mejores decisiones sobre Amazon RDS con las métricas de Amazon CloudWatch.
Ejemplos
En el siguiente ejemplo se obtiene la latencia de confirmación acumulada de cada base de datos del
clúster.pg_database.
--Get the oid value from the connected database before calling
aurora_stat_get_db_commit_latency
=> SELECT *
FROM aurora_stat_get_db_commit_latency(:oid);
aurora_stat_get_db_commit_latency
-----------------------------------
1424279160
1716
Amazon Aurora Guía del usuario de Aurora
Referencia de las funciones de Aurora PostgreSQL
pg_stat_reset
---------------
=> SELECT *
FROM pg_stat_get_db_stat_reset_time(16427);
pg_stat_get_db_stat_reset_time
--------------------------------
2021-04-29 21:36:15.707399+00
aurora_stat_system_waits
Informa la información de eventos de espera para la instancia de base de datos de Aurora PostgreSQL.
Sintaxis
aurora_stat_system_waits()
Tipo de retorno
Registro SETOF
Argumentos
Ninguno
Notas de uso
Esta función devuelve el número acumulativo de esperas y el tiempo de espera acumulativo para cada
evento de espera generado por la instancia de base de datos a la que está conectado actualmente.
Las estadísticas devueltas por esta función se restablecen cuando se reinicia una instancia de base de
datos.
1717
Amazon Aurora Guía del usuario de Aurora
Referencia de las funciones de Aurora PostgreSQL
Ejemplos
En el ejemplo siguiente se muestran los resultados de llamar a la función aurora_stat_system_waits.
=> SELECT *
FROM aurora_stat_system_waits();
En el siguiente ejemplo se muestra cómo se puede usar esta función junto con
aurora_stat_wait_event y aurora_stat_wait_type para producir resultados más legibles.
aurora_stat_wait_event
Enumera todos los eventos de espera admitidos para Aurora PostgreSQL. Para obtener información
acerca de los eventos de espera de Aurora PostgreSQL, consulte Eventos de espera de Amazon Aurora
PostgreSQL (p. 1691).
Sintaxis
1718
Amazon Aurora Guía del usuario de Aurora
Referencia de las funciones de Aurora PostgreSQL
aurora_stat_wait_event()
Tipo de retorno
Registro SETOF
Argumentos
Ninguno
Notas de uso
Para ver nombres de eventos con tipos de eventos en lugar de los ID, utilice esta función junto con
otras funciones como aurora_stat_wait_type y aurora_stat_system_waits. Los nombres
de los eventos de espera devueltos por esta función son los mismos que los devueltos por la función
aurora_wait_report.
Ejemplos
En el ejemplo siguiente se muestran los resultados de llamar a la función aurora_stat_wait_event.
=> SELECT *
FROM aurora_stat_wait_event();
=> SELECT *
FROM aurora_stat_wait_type() t
JOIN aurora_stat_wait_event() e
ON t.type_id = e.type_id;
1719
Amazon Aurora Guía del usuario de Aurora
Referencia de las funciones de Aurora PostgreSQL
---------+-----------+---------+-----------+-------------------------------------------
1 | LWLock | 1 | 16777216 | <unassigned:0>
1 | LWLock | 1 | 16777217 | ShmemIndexLock
1 | LWLock | 1 | 16777218 | OidGenLock
1 | LWLock | 1 | 16777219 | XidGenLock
1 | LWLock | 1 | 16777220 | ProcArrayLock
.
.
.
3 | Lock | 3 | 50331648 | relation
3 | Lock | 3 | 50331649 | extend
3 | Lock | 3 | 50331650 | page
3 | Lock | 3 | 50331651 | tuple
.
.
.
10 | IO | 10 | 167772214 | TimelineHistorySync
10 | IO | 10 | 167772215 | TimelineHistoryWrite
10 | IO | 10 | 167772216 | TwophaseFileRead
10 | IO | 10 | 167772217 | TwophaseFileSync
.
.
.
11 | LSN | 11 | 184549376 | LsnDurable
aurora_stat_wait_type
Muestra todos los tipos de espera admitidos para Aurora PostgreSQL.
Sintaxis
aurora_stat_wait_type()
Tipo de retorno
Registro SETOF
Argumentos
Ninguno
Notas de uso
Para ver nombres de eventos de espera con tipos de eventos de espera en lugar de los ID, utilice esta
función junto con otras funciones como aurora_stat_wait_event y aurora_stat_system_waits.
Los nombres de tipo de espera devueltos por esta función son los mismos que los devueltos por la función
aurora_wait_report.
Ejemplos
En el ejemplo siguiente se muestran los resultados de llamar a la función aurora_stat_wait_type.
=> SELECT *
FROM aurora_stat_wait_type();
type_id | type_name
---------+-----------
1 | LWLock
3 | Lock
4 | BufferPin
1720
Amazon Aurora Guía del usuario de Aurora
Actualizaciones de Aurora PostgreSQL
5 | Activity
6 | Client
7 | Extension
8 | IPC
9 | Timeout
10 | IO
11 | LSN
Temas
• Identificación de las versiones de Amazon Aurora PostgreSQL (p. 1721)
• Versiones de Amazon Aurora PostgreSQL y versiones del motor (p. 1722)
• Versiones de extensión para Amazon Aurora PostgreSQL (p. 1794)
• Actualización del motor de base de datos de PostgreSQL para Aurora PostgreSQL (p. 1807)
• Versiones de soporte a largo plazo (LTS) de Aurora MySQL (p. 1817)
Una versión de base de datos de Aurora suele tener dos números de versión, el número de versión del
motor de base de datos y el número de versión de Aurora. Si una versión de Aurora PostgreSQL tiene
un número de versión de Aurora, se incluye después del número de versión del motor en el listado de
versiones de Versiones de Amazon Aurora PostgreSQL y versiones del motor (p. 1722).
Puede averiguar el número de versión de Aurora de su instancia de base de datos de Aurora PostgreSQL
con la siguiente consulta SQL:
A partir del lanzamiento de las versiones 13.3, 12.8, 11.13 y 10.18 de PostgreSQL, y para todas las
demás versiones posteriores, los números de versión de Aurora se ajustan más a la versión del motor de
PostgreSQL. Por ejemplo, la consulta de un clúster de base de datos de Aurora PostgreSQL 13.3 muestra
lo siguiente:
1721
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
aurora_version
----------------
13.3.1
(1 row)
Las versiones anteriores, como el clúster de base de datos de Aurora PostgreSQL 10.14, muestran
números de versión similares a los siguientes:
aurora_version
----------------
2.7.3
(1 row)
Ya no se admite la versión 9.6 del motor PostgreSQL. Para actualizar, consulte Actualización del
motor de base de datos de PostgreSQL para Aurora PostgreSQL (p. 1807).
Puede averiguar el número de versión del motor de base de datos PostgreSQL con la siguiente consulta
SQL:
Para un clúster de bases de datos de Aurora PostgreSQL 13.3, los resultados son los siguientes:
version
-------------------------------------------------------------------------------------------------
PostgreSQL 13.3 on x86_64-pc-linux-gnu, compiled by x86_64-pc-linux-gnu-gcc (GCC) 7.4.0,
64-bit
(1 row)
Para obtener información sobre extensiones y módulos, consulte Versiones de extensión para Amazon
Aurora PostgreSQL (p. 1794).
1722
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
Amazon Aurora para PostgreSQL 1.X (compatible con PostgreSQL 9.6.XX) llega al final de su vida
útil el 31 de enero de 2022. Para obtener más información, consulte Announcement: Amazon Aurora
PostgreSQL 9.6 End-of-Life date is January 31, 2022 (Anuncio: La fecha de fin de vida de Amazon
Aurora PostgreSQL 9.6 es el 31 de enero de 2022). Le recomendamos que actualice de forma proactiva
sus bases de datos que ejecutan Aurora PostgreSQL 9.6 a Amazon Aurora PostgreSQL 10 o una
versión posterior cuando le convenga antes del 31 de enero de 2022. Para saber cómo hacerlo, consulte
Actualización del motor de base de datos de PostgreSQL para Aurora PostgreSQL (p. 1807).
Para obtener más información sobre las versiones compatibles con Amazon Aurora, las políticas y
los plazos, consulte Cuánto tiempo permanecen disponibles las versiones principales de Amazon
Aurora (p. 8). Para obtener más información sobre la compatibilidad y otras políticas de Amazon Aurora,
consulte las preguntas frecuentes de Amazon RDS.
Para determinar qué versiones del motor de base de datos de Aurora PostgreSQL están disponibles en
una región de AWS, utilice el comando de la AWS CLI describe-db-engine-versions. Por ejemplo:
Para obtener una lista de AWS regiones, consulte Disponibilidad por región de Aurora PostgreSQL (p. 14).
Temas
• PostgreSQL 13.4 (p. 1724)
• PostgreSQL 13.3 (p. 1725)
• PostgreSQL 12.8 (p. 1726)
• PostgreSQL 12.7, Aurora PostgreSQL versión 4.2 (p. 1727)
• PostgreSQL 12.6, Aurora PostgreSQL versión 4.1 (p. 1729)
• PostgreSQL 12.4, Aurora PostgreSQL versión 4.0 (p. 1730)
• PostgreSQL 11.13 (p. 1732)
• PostgreSQL 11.12, Aurora PostgreSQL versión 3.6 (p. 1733)
• PostgreSQL 11.11, Aurora PostgreSQL versión 3.5 (p. 1735)
• PostgreSQL 11.9, Aurora PostgreSQL versión 3.4 (p. 1736)
• PostgreSQL 11.8, Aurora PostgreSQL versión 3.3 (p. 1739)
• PostgreSQL 11.7, Aurora PostgreSQL versión 3.2 (p. 1742)
• PostgreSQL 11.6, Aurora PostgreSQL versión 3.1 (p. 1746)
• PostgreSQL 11.4, Aurora PostgreSQL versión 3.0 (no compatible) (p. 1750)
• PostgreSQL 10.18 (p. 1751)
• PostgreSQL 10.17, Aurora PostgreSQL versión 2.9 (p. 1752)
• PostgreSQL 10.16, Aurora PostgreSQL versión 2.8 (p. 1754)
• PostgreSQL 10.14, Aurora PostgreSQL versión 2.7 (p. 1755)
• PostgreSQL 10.13, Aurora PostgreSQL versión 2.6 (p. 1757)
• PostgreSQL 10.12, Aurora PostgreSQL versión 2.5 (p. 1760)
• PostgreSQL 10.11, Aurora PostgreSQL versión 2.4 (p. 1764)
• PostgreSQL 10.7, Aurora PostgreSQL versión 2.3 (no compatible) (p. 1768)
• PostgreSQL 10.6, Aurora PostgreSQL versión 2.2 (no compatible) (p. 1770)
• PostgreSQL 10.5, Aurora PostgreSQL versión 2.1 (no compatible) (p. 1771)
• PostgreSQL 10.4, Aurora PostgreSQL versión 2.0 (no compatible) (p. 1773)
• PostgreSQL 9.6.22, Aurora PostgreSQL lanzamiento 1.11 (no compatible) (p. 1774)
• PostgreSQL 9.6.21, Aurora PostgreSQL lanzamiento 1.10 (no compatible) (p. 1776)
• PostgreSQL 9.6.19, Aurora PostgreSQL lanzamiento 1.9 (no compatible) (p. 1776)
1723
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• PostgreSQL 9.6.18, Aurora PostgreSQL lanzamiento 1.8 (no compatible) (p. 1778)
• PostgreSQL 9.6.17, Aurora PostgreSQL lanzamiento 1.7 (no compatible) (p. 1779)
• PostgreSQL 9.6.16, Aurora PostgreSQL lanzamiento 1.6 (no compatible) (p. 1782)
• PostgreSQL 9.6.12, Aurora PostgreSQL versión 1.5 (no compatible) (p. 1785)
• PostgreSQL 9.6.11, Aurora PostgreSQL versión 1.4 (no compatible) (p. 1787)
• PostgreSQL 9.6.9, Aurora PostgreSQL versión 1.3 (no compatible) (p. 1788)
• PostgreSQL 9.6.8, Aurora PostgreSQL versión 1.2 (no compatible) (p. 1790)
• PostgreSQL 9.6.6 Aurora PostgreSQL versión 1.1 (no compatible) (p. 1792)
• PostgreSQL 9.6.3, Aurora PostgreSQL versión 1.0 (no compatible) (p. 1793)
PostgreSQL 13.4
Esta versión de Aurora PostgreSQL es compatible con PostgreSQL 13.4. Para obtener más información
acerca de las mejoras en PostgreSQL 13.4, consulte PostgreSQL versión 13.4.
• Esta versión es compatible con Babelfish, lo que amplía la base de datos de Amazon Aurora
PostgreSQL con la capacidad de aceptar conexiones de bases de datos de clientes de Microsoft SQL
Server. Para obtener más información, consulte Uso de Babelfish for Aurora PostgreSQL.
• Se ha corregido un problema por el que, en raras circunstancias, una caché de datos de un nodo de
lectura podría ser incoherente tras el reinicio de ese nodo.
• Se ha corregido un problema que provocaba que las consultas dejaran de responder debido al
agotamiento de los recursos de E/S provocado por la recuperación previa.
• Se corrigió un error que provocaba que Aurora pudiera entrar en pánico tras una actualización de
la versión principal con el mensaje: “PÁNICO: no se pudo acceder al estado de la siguiente ID de
transacción xxxxxxxx”.
• Se ha corregido un problema que provocaba que los nodos de lectura se reiniciaran debido a un error en
la búsqueda de la caché de replicación de origen.
• Se ha corregido un error que provocaba que las consultas de lectura se agotaran en los nodos de lectura
durante la repetición del truncamiento lento desencadenado por el vacío en el nodo de escritura.
• Se ha corregido un problema que provocaba que Información sobre rendimiento estableciera
incorrectamente el tipo de backend de una conexión de base de datos.
• Se ha corregido un error que provocaba que la función aurora_postgres_replica_status() devolviera
estadísticas de CPU obsoletas o retrasadas.
• Se ha corregido un problema por el que el rol rds_superuser no tenía permiso para ejecutar la función
pg_stat_statements_reset().
• Se ha corregido un problema con la extensión apg_plan_mgmt por el que los tiempos de planificación y
ejecución se informaban como 0.
1724
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
PostgreSQL 13.3
Esta versión de Aurora PostgreSQL es compatible con PostgreSQL 13.3. Para obtener más información
acerca de las mejoras en PostgreSQL 13.3, consulte PostgreSQL versión 13.3.
Versiones de revisión
• Aurora PostgreSQL 13.3.1 (p. 1725)
• Versión 13.3.0 de Aurora PostgreSQL (p. 1726)
• Se ha corregido un problema por el que, en raras circunstancias, una caché de datos de un nodo de
lectura podría ser incoherente tras el reinicio de ese nodo.
• Se ha corregido un problema que provocaba que las consultas dejaran de responder debido al
agotamiento de los recursos de E/S provocado por la recuperación previa.
• Se corrigió un error que provocaba que Aurora pudiera entrar en pánico tras una actualización de
la versión principal con el mensaje: “PÁNICO: no se pudo acceder al estado de la siguiente ID de
transacción xxxxxxxx”.
• Se ha corregido un problema que provocaba que los nodos de lectura se reiniciaran debido a un error en
la búsqueda de la caché de replicación de origen.
• Se ha corregido un problema con la extensión apg_plan_mgmt por el que los tiempos de planificación y
ejecución se informaban como 0.
• Se ha corregido un problema que provocaba que Información sobre rendimiento estableciera
incorrectamente el tipo de backend de una conexión de base de datos.
• Se ha corregido un problema con la extensión apg_plan_mgmt en el que el esquema del plan de una
tabla particionada no aplicaba un plan basado en índices.
1725
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se ha corregido un problema que provocaba que los archivos huérfanos produjeran traducciones fallidas
en las rutas de código de lectura durante o después de una actualización de una versión principal.
• Se han corregido varios problemas en el daemon de almacenamiento de Aurora que podrían provocar
breves periodos de falta de disponibilidad cuando se utilizaban configuraciones de red específicas.
• Se ha corregido un problema de bloqueo de memoria insuficiente con el daemon de almacenamiento
Aurora que provocaba el reinicio del nodo del escritor. Esto también reduce el consumo general de
memoria del sistema.
• Admite una actualización de versión principal desde PostgreSQL 12.4, Aurora PostgreSQL versión
4.0 (p. 1730) y versiones posteriores.
• Admite bool_plperl versión 1.0.
• Admite rds_tools versión 1.0.
• Se ha corregido un problema por el que, en raras circunstancias, una caché de datos de un nodo de
lectura podría ser incoherente tras el reinicio de ese nodo.
• Contiene todas las correcciones, los recursos y las mejoras presentes en . PostgreSQL 12.7, Aurora
PostgreSQL versión 4.2 (p. 1727)
• Contiene varias mejores que se anunciaron para las versiones de PostgreSQL 13.0, 13.1, 13.2 y 13.3.
• El tipo de instancia R4 ha quedado obsoleto.
• Se han actualizado las siguientes extensiones:
• hll hasta la versión 2.15.
• hstore hasta la versión 1.7.
• intarray hasta la versión 1.3.
• log_fdw hasta la versión 1.2.
• ltree hasta la versión 1.2.
• pg_hint_plan hasta la versión 1.3.7.
• pg_repack hasta la versión 1.4.6.
• pg_stat_statements hasta la versión 1.8.
• pg_trgm hasta la versión 1.5.
• pgaudit hasta la versión 1.5.
• pglogical hasta la versión 2.3.3.
• pgrouting hasta la versión 3.1.0
• plcoffee hasta la versión 2.3.15.
• plls hasta la versión 2.3.15.
• plv8 hasta la versión 2.3.15.
PostgreSQL 12.8
Esta versión de Aurora PostgreSQL es compatible con PostgreSQL 12.8. Para obtener más información
acerca de las mejoras en PostgreSQL 12.8, consulte PostgreSQL versión 12.8.
1726
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se ha corregido un problema por el que, en raras circunstancias, una caché de datos de un nodo de
lectura podría ser incoherente tras el reinicio de ese nodo.
• Se ha corregido un problema que provocaba que las consultas dejaran de responder debido al
agotamiento de los recursos de E/S provocado por la recuperación previa.
• Se corrigió un error que provocaba que Aurora pudiera entrar en pánico tras una actualización de
la versión principal con el mensaje: “PÁNICO: no se pudo acceder al estado de la siguiente ID de
transacción xxxxxxxx”.
• Se ha corregido un problema que provocaba que los nodos de lectura se reiniciaran debido a un error en
la búsqueda de la caché de replicación de origen.
• Se ha corregido un error que provocaba que las consultas de lectura se agotaran en los nodos de lectura
durante la repetición del truncamiento lento desencadenado por el vacío en el nodo de escritura.
• Se ha corregido un problema que provocaba que Información sobre rendimiento estableciera
incorrectamente el tipo de backend de una conexión de base de datos.
• Se ha corregido un error que provocaba que la función aurora_postgres_replica_status() devolviera
estadísticas de CPU obsoletas o retrasadas.
• Se ha corregido un problema por el que el rol rds_superuser no tenía permiso para ejecutar la función
pg_stat_statements_reset().
• Se ha corregido un problema con la extensión apg_plan_mgmt por el que los tiempos de planificación y
ejecución se informaban como 0.
• Se ha eliminado la compatibilidad para los conjuntos de cifrado DES, 3DES y RC4.
• Extensión PostGIS actualizada a la versión 3.1.4.
Versiones de revisión
• Aurora PostgreSQL 4.2.1 (p. 1727)
• Versión 4.2.0 de Aurora PostgreSQL (p. 1728)
• Se ha corregido un problema por el que, en raras circunstancias, una caché de datos de un nodo de
lectura podría ser incoherente tras el reinicio de ese nodo.
• Se ha corregido un problema que provocaba que las consultas dejaran de responder debido al
agotamiento de los recursos de E/S provocado por la recuperación previa.
1727
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se corrigió un error que provocaba que Aurora pudiera entrar en pánico tras una actualización de
la versión principal con el mensaje: “PÁNICO: no se pudo acceder al estado de la siguiente ID de
transacción xxxxxxxx”.
• Se ha corregido un problema que provocaba que los nodos de lectura se reiniciaran debido a un error en
la búsqueda de la caché de replicación de origen.
• Se ha corregido un problema con la extensión apg_plan_mgmt que causaba que el tiempo de
planificación y ejecución se informara como 0.
• Se ha corregido un problema que provocaba que Información sobre rendimiento estableciera
incorrectamente el tipo de backend de una conexión de base de datos.
• Se ha corregido un problema con la extensión apg_plan_mgmt en el que el esquema del plan de una
tabla particionada no aplicaba un plan basado en índices.
• Se ha corregido un problema por el que los archivos huérfanos provocaban traducciones fallidas en las
rutas de código de lectura durante o después de la actualización de una versión principal.
• Se han corregido varios problemas en el daemon de almacenamiento de Aurora que podrían provocar
breves periodos de falta de disponibilidad cuando se utilizaban configuraciones de red específicas.
• Se ha corregido un problema de bloqueo de memoria insuficiente con el daemon de almacenamiento
Aurora que provocaba el reinicio del nodo del escritor. Esto también reduce el consumo general de
memoria del sistema.
Nuevas características
• Se ha corregido un problema por el que la creación de una base de datos a partir de una base de datos
de plantilla existente con espacio de tabla provocaba un error con el mensaje ERROR: could not
open file pg_tblspc/...: No such file or directory.
• Se ha corregido un problema que provocaba que, en casos raros, una réplica de Aurora no pudiera
iniciarse cuando se usaba un gran número de subtransacciones de PostgreSQL (es decir, puntos de
guardado SQL).
• Se ha corregido un problema por el que, en circunstancias raras, los resultados de lectura podían ser
inconsistentes para solicitudes de lectura repetidas en nodos de réplica.
1728
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se ha solucionado un problema que podía causar una falta de disponibilidad temporal en cargas de
trabajo pesadas.
• Se ha añadido la capacidad de retroceder para utilizar una barra diagonal hacia delante en la ruta S3
durante la importación de S3.
• Se ha agregado compatibilidad con Graviton para la extensión oracle_fdw versión 1.2.
• Se han modificado las siguientes extensiones:
• Actualización de la extensión Orafce a la versión 3.16.
• Actualización de la extensión pg_partman a la versión 4.5.1.
• Actualización de la extensión pg_cron a la versión 1.3.1.
• Actualización de la extensión postgis a la versión 3.0.3.
Nuevas características
• Se ha corregido un error en la extensión pglogical que podría provocar inconsistencia de datos para
la reproducción entrante.
• Se ha corregido un error por el que, en raras ocasiones, un lector tenía resultados inconsistentes cuando
se reiniciaba mientras se procesaba una transacción con más de 64 subtransacciones.
• Correcciones respaldadas para los siguientes problemas de seguridad de la comunidad de PostgreSQL:
• CVE-2021-32027
• CVE-2021-32028
• CVE-2021-32029
• Se ha corregido un error por el que la base de datos no podía iniciarse cuando había muchas relaciones
en entornos con restricciones de memoria.
• Se ha corregido un error en la extensión apg_plan_mgmt que podría causar breves periodos de
indisponibilidad debido a un desbordamiento del búfer interno.
• Se ha corregido un error en los nodos del lector que podría causar breves periodos de falta de
disponibilidad durante la reproducción de WAL.
• Se ha corregido un error en la extensión rds_activity_stream que causó un error durante el inicio al
intentar registrar eventos de auditoría.
1729
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se han corregido errores en la función aurora_replica_status donde las filas a veces se llenaban
parcialmente y algunos valores, como la latencia de reproducción, y el uso de la CPU siempre eran 0.
• Se ha corregido un error por el que el motor de base de datos intentaba crear segmentos de memoria
compartida mayores que la memoria total de la instancia y fallaba repetidamente. Por ejemplo, los
intentos de crear búferes compartidos de 128 GiB en una instancia db.r5.large fallarían. Con este
cambio, las solicitudes de asignaciones totales de memoria compartida mayores que la memoria de la
instancia permiten establecer la instancia en parámetros incompatibles.
• Se agregó una lógica para limpiar innecesaria los archivos temporales pg_wal innecesarios en el inicio
de una base de datos.
• Se ha corregido un error que podría provocar errores de sincronización de reproducción salientes
después de una actualización de versión principal.
• Se ha corregido un error que reportaba ERROR: rds_activity_stream stack item 2 not found on top -
cannot pop al intentar crear la extensión de rds_activity_stream.
• Se ha corregido un error que podía causar el error failed to build any 3-way joins en una subconsulta IN
correlacionada bajo una subconsulta EXISTS.
• Se respaldó la siguiente mejora de rendimiento de la comunidad de PostgreSQL: pg_stat_statements:
add missing check for pgss_enabled() (pg_stat_statements: agregar verificación que falta
pgss_enabled()).
• Se ha corregido un error que podría provocar que las actualizaciones de Aurora PostgreSQL 12.x fallen
debido a la imposibilidad de abrir el archivo pg_control.
• Se ha corregido un error que podría causar breves periodos de falta de disponibilidad debido a que se
quedaba sin memoria al crear la extensión postgis con pgAudit habilitado.
• Se respaldó la siguiente corrección de errores de la comunidad de PostgreSQL: Fix use-after-free bug
with AfterTriggersTableData.storeslot.
• Se ha corregido un error al usar la reproducción lógica saliente para sincronizar los cambios en otra
base de datos que podrían fallar con un mensaje de error como ERROR: could not map filenode
"base/16395/228486645" to relation OID.
• Se ha corregido un error que podría provocar un breve periodo de falta de disponibilidad al cancelar una
transacción.
• Se ha corregido un error que hacía que no se mostraran interrelaciones de UCI en el cuadro del catálogo
pg_collation después de crear una nueva instancia de Aurora PostgreSQL 12.x. Este problema no
afecta a la actualización de una versión anterior.
• Se ha corregido un error en el que el rol rds_ad no se creó después de actualizar desde una versión de
Aurora PostgreSQL que no admite la autenticación de Microsoft Active Directory.
• Se han agregado verificaciones de página btree para detectar la inconsistencia de metadatos de tupla.
• Se ha corregido un error en las lecturas del búfer asíncrono que podría causar breves periodos de falta
de disponibilidad en los nodos de lectura durante la reproducción de WAL.
• Se ha corregido un error que provocaba que la lectura de un valor TOAST desde el disco causara un
breve periodo de falta de disponibilidad.
• Se ha corregido un error que provocaba breves periodos de falta de disponibilidad al intentar recuperar
una tupla y un escaneo de índice.
Versiones de revisión
• Versión 4.0.2 de Aurora PostgreSQL (p. 1731)
• Aurora PostgreSQL versión 4.0.1 (p. 1731)
• Versión 4.0.0 de Aurora PostgreSQL (p. 1732)
1730
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se corrigió un error donde un nodo lector podía representar una fila extra o faltante si el lector se
reiniciaba mientras el nodo escritor procesaba una transacción larga con más de 64 subtransacciones.
• Se corrigió un error que podía provocar que el vacío se bloqueara en los índices GIST.
• Se corrigió un error donde después de actualizar a PostgreSQL 12, el vacío podía fallar en la tabla del
sistema pg_catalog.pg_shdescription con el siguiente error. ERROR: se encontró xmin 484
desde antes de relfrozenxid
• Se corrigió un error que podía provocar una falta de disponibilidad intermitente debido a una condición
de carrera al manejar las respuestas de los nodos de almacenamiento.
• Se corrigió un error que podía provocar una falta de disponibilidad intermitente debido a la rotación de
las claves de cifrado de red.
• Se corrigió un error que podía provocar una falta de disponibilidad intermitente debido a la gestión del
calor de los segmentos de almacenamiento subyacentes.
• Se corrigió un error por el que una gran importación de S3 con miles de clientes podía hacer que uno o
más de los clientes de importación dejaran de responder.
• Se eliminó una restricción que impedía establecer cadenas de variables de configuración que contenían
brazil.
• Se corrigió un error que podía provocar una falta de disponibilidad intermitente si un nodo lector
ejecutaba una consulta que accediera a muchas tablas mientras el nodo escritor adquiere bloqueos
exclusivos en todas las mismas tablas.
• Esta versión agrega soporte para las clases de instancia Graviton2 db.r6g (p. 57) a la versión 12.4 del
motor PostgreSQL.
• Se ha corregido un error que provocaba que una réplica de lectura se reiniciara repetidamente sin éxito
en casos raros.
• Se ha corregido un error por el que un clúster no estaba disponible al intentar crear más de 16 réplicas
de lectura o AWS regiones secundarias de base de datos globales de Aurora. El clúster volvió a estar
disponible cuando se quitó la nueva réplica de lectura o AWS región secundaria.
• Se ha corregido un error que provocaba que cuando bajo carga pesada, importación instantánea,
importación COPY o importación Amazon S3 dejaba de responder en casos raros.
• Se ha corregido un error que provocaba que una réplica de lectura no se uniera al clúster cuando el
escritor estaba muy ocupado con una carga de trabajo de escritura intensiva.
• Se ha corregido un error que provocaba que un clúster no estuviera disponible brevemente cuando se
estaba ejecutando una importación de S3 de gran volumen.
• Se ha corregido un error que provocaba que un clúster tardara varios minutos en reiniciarse si se
terminaba una secuencia de replicación lógica mientras manejaba muchas transacciones complejas.
1731
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se corrigió la compilación Just-in-Time (JIT, Justo a tiempo), que estaba incorrectamente habilitada por
defecto en Aurora PostgreSQL versión 4.0.0.
• No se permitió el uso de la autenticación de AWS Identity and Access Management (IAM) y Kerberos
para el mismo usuario.
• Esta versión admite una actualización de versión principal desde PostgreSQL 11.7, Aurora PostgreSQL
versión 3.2 (p. 1742) y versiones posteriores.
• Contiene varias mejores que se anunciaron para las versiones de PostgreSQL 12.0, 12.1, 12.2, 12.3 y
12.4.
• Contiene todas las correcciones, características y mejoras presentes en PostgreSQL 11.9, Aurora
PostgreSQL versión 3.4 (p. 1736).
• Correcciones respaldadas para los siguientes problemas de seguridad de la comunidad de PostgreSQL:
• CVE-2020-25694
• CVE-2020-25695
• CVE-2020-25696
• Se han actualizado las siguientes extensiones:
• address_standardizer hasta la versión 3.0.2
• address_standardizer_data_us hasta la versión 3.0.2
• amcheck hasta la versión 1.2
• citext hasta la versión 1.6
• hll hasta la versión 2.14
• hstore hasta la versión 1.6
• ip4r hasta la versión 2.4
• pg_repack hasta la versión 1.4.5
• pg_stat_statements hasta la versión 1.7
• pgaudit hasta la versión 1.4
• pglogical hasta la versión 2.3.2
• pgrouting hasta la versión 3.0.3
• plv8 hasta la versión 2.3.14
• postGIS hasta la versión 3.0.2
• postgis_tiger_geocoder hasta la versión 3.0.2
• postgis_topology hasta la versión 3.0.2
PostgreSQL 11.13
Esta versión de Aurora PostgreSQL es compatible con PostgreSQL 11.13. Para obtener más información
acerca de las mejoras en PostgreSQL 11.13, consulte PostgreSQL versión 11.13.
• Se ha corregido un problema por el que, en raras circunstancias, una caché de datos de un nodo de
lectura podría ser incoherente tras el reinicio de ese nodo.
1732
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se ha corregido un problema que provocaba que las consultas dejaran de responder debido al
agotamiento de los recursos de E/S provocado por la recuperación previa.
• Se corrigió un error que provocaba que Aurora pudiera entrar en pánico tras una actualización de
la versión principal con el mensaje: “PÁNICO: no se pudo acceder al estado de la siguiente ID de
transacción xxxxxxxx”.
• Se ha corregido un problema que provocaba que los nodos de lectura se reiniciaran debido a un error en
la búsqueda de la caché de replicación de origen.
• Se ha corregido un error que provocaba que las consultas de lectura se agotaran en los nodos de lectura
durante la repetición del truncamiento lento desencadenado por el vacío en el nodo de escritura.
• Se ha corregido un problema que provocaba que Información sobre rendimiento estableciera
incorrectamente el tipo de backend de una conexión de base de datos.
• Se ha corregido un error que provocaba que la función aurora_postgres_replica_status() devolviera
estadísticas de CPU obsoletas o retrasadas.
• Se ha corregido un problema que provocaba que, en casos excepcionales, un clúster espejo secundario
de la base de datos Aurora Global se reiniciara debido a una interrupción del proceso de aplicación de
registros.
• Se ha corregido un problema con la extensión apg_plan_mgmt por el que los tiempos de planificación y
ejecución se informaban como 0.
• Se ha eliminado la compatibilidad para los conjuntos de cifrado DES, 3DES y RC4.
• Extensión PostGIS actualizada a la versión 3.1.4.
• Se ha agregado soporte para la versión 3.1.4 de la extensión postgis_raster.
Versiones de revisión
• Aurora PostgreSQL 3.6.1 (p. 1733)
• Versión 3.6.0 de Aurora PostgreSQL (p. 1734)
Aurora PostgreSQL 3.6.1
Mejoras de estabilidad cruciales
• Se ha corregido un problema por el que, en raras circunstancias, una caché de datos de un nodo de
lectura podría ser incoherente tras el reinicio de ese nodo.
• Se ha corregido un problema que provocaba que las consultas dejaran de responder debido al
agotamiento de los recursos de E/S provocado por la recuperación previa.
• Se corrigió un error que provocaba que Aurora pudiera entrar en pánico tras una actualización de
la versión principal con el mensaje: “PÁNICO: no se pudo acceder al estado de la siguiente ID de
transacción xxxxxxxx”.
1733
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se han corregido varios problemas en el daemon de almacenamiento de Aurora que podrían provocar
breves periodos de falta de disponibilidad cuando se utilizaban configuraciones de red específicas.
• Se ha corregido un problema de bloqueo de memoria insuficiente con el daemon de almacenamiento
Aurora que provocaba el reinicio del nodo del escritor. Esto también reduce el consumo general de
memoria del sistema.
• Se ha corregido un problema que provocaba que los nodos de lectura se reiniciaran debido a un error en
la búsqueda de la caché de replicación de origen.
• Se ha corregido un problema con la extensión apg_plan_mgmt que causaba que el tiempo de
planificación y ejecución se informara como 0.
• Se ha corregido un problema que provocaba que Información sobre rendimiento estableciera
incorrectamente el tipo de backend de una conexión de base de datos.
• Se ha corregido un problema que provocaba que, en casos excepcionales, un clúster espejo secundario
de la base de datos Aurora Global se reiniciara debido a una interrupción del proceso de aplicación de
registros.
• Se ha corregido un problema por el que los archivos huérfanos provocaban traducciones fallidas en las
rutas de código de lectura durante o después de la actualización de una versión principal.
• Se han corregido varios problemas en el daemon de almacenamiento de Aurora que podrían provocar
breves periodos de falta de disponibilidad cuando se utilizaban configuraciones de red específicas.
• Se ha corregido un problema de bloqueo de memoria insuficiente con el daemon de almacenamiento
Aurora que provocaba el reinicio del nodo del escritor. Esto también reduce el consumo general de
memoria del sistema.
• Se ha corregido un problema por el que la creación de una base de datos a partir de una base de datos
de plantilla existente con espacio de tabla provocaba un error con el mensaje ERROR: could not
open file pg_tblspc/...: No such file or directory.
• Se ha corregido un problema que provocaba que, en casos raros, una réplica de Aurora no pudiera
iniciarse cuando se usaba un gran número de subtransacciones de PostgreSQL (es decir, puntos de
guardado SQL).
• Se ha corregido un problema por el que, en circunstancias raras, los resultados de lectura podían ser
inconsistentes para solicitudes de lectura repetidas en nodos de réplica.
1734
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se ha solucionado un problema que podía causar una falta de disponibilidad temporal en cargas de
trabajo pesadas.
• Se ha añadido la capacidad de retroceso para utilizar una barra diagonal hacia delante en la ruta S3
durante la importación de S3.
• Actualización de la extensión orafce a la versión 3.16.
• Se ha corregido un error por el que, en raras ocasiones, un lector tenía resultados inconsistentes cuando
se reiniciaba mientras se procesaba una transacción con más de 64 subtransacciones.
• Correcciones respaldadas para los siguientes problemas de seguridad de la comunidad de PostgreSQL:
• CVE-2021-32027
• CVE-2021-32028
• CVE-2021-32029
• Se ha corregido un error por el que la base de datos no podía iniciarse cuando había muchas relaciones
en entornos con restricciones de memoria.
• Se ha corregido un error en la extensión apg_plan_mgmt que podría causar breves periodos de
indisponibilidad debido a un desbordamiento del búfer interno.
• Se ha corregido un error en los nodos del lector que podría causar breves periodos de falta de
disponibilidad durante la reproducción de WAL.
• Se ha corregido un error en la extensión rds_activity_stream que causó un error durante el inicio al
intentar registrar eventos de auditoría.
• Se han corregido errores en la función aurora_replica_status donde las filas a veces se llenaban
parcialmente y algunos valores, como la latencia de reproducción, y el uso de la CPU siempre eran 0.
• Se ha corregido un error por el que el motor de base de datos intentaba crear segmentos de memoria
compartida mayores que la memoria total de la instancia y fallaba repetidamente. Por ejemplo, los
intentos de crear búferes compartidos de 128 GiB en una instancia db.r5.large fallarían. Con este
cambio, las solicitudes de asignaciones totales de memoria compartida mayores que la memoria de la
instancia permiten establecer la instancia en parámetros incompatibles.
• Se agregó una lógica para limpiar innecesaria los archivos temporales pg_wal innecesarios en el inicio
de una base de datos.
• Se ha corregido un error que reportaba ERROR: rds_activity_stream stack item 2 not found on top -
cannot pop al intentar crear la extensión de rds_activity_stream.
• Se ha corregido un error que podía causar el error failed to build any 3-way joins en una subconsulta IN
correlacionada bajo una subconsulta EXISTS.
1735
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
Versiones de revisión
• Aurora PostgreSQL versión 3.4.3 (p. 1736)
• Versión 3.4.2 de Aurora PostgreSQL (p. 1737)
• Aurora PostgreSQL versión 3.4.1 (p. 1737)
• Versión 3.4.0 de Aurora PostgreSQL (p. 1737)
• Se ha corregido un error en la extensión aws_s3 para permitir la importación de objetos con barras
diagonales delanteras en el identificador de objeto.
• Se ha corregido un error en la extensión rds_activity_stream que causó un error durante el inicio al
intentar registrar eventos de auditoría.
• Se ha corregido un error que devolvió un ERROR al intentar crear la extensión rds_activity_stream.
• Se ha corregido un error que podría causar breves periodos de falta de disponibilidad debido a que se
quedaba sin memoria al crear la extensión postgis con pgAudit habilitado.
• Se han corregido varios problemas en el daemon de almacenamiento de Aurora que podrían provocar
breves periodos de falta de disponibilidad cuando se utilizaban configuraciones de red específicas.
1736
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se ha corregido un error por el que, en raras ocasiones, un lector tenía resultados inconsistentes cuando
se reiniciaba mientras se procesaba una transacción con más de 64 subtransacciones.
• Se corrigió un error que podía provocar una falta de disponibilidad intermitente debido a una condición
de carrera al manejar las respuestas de los nodos de almacenamiento.
• Se corrigió un error que podía provocar una falta de disponibilidad intermitente debido a la rotación de
las claves de cifrado de red.
• Se corrigió un error que podía provocar una falta de disponibilidad intermitente debido a la gestión del
calor de los segmentos de almacenamiento subyacentes.
• Se corrigió un error por el que una gran importación de S3 con miles de clientes podía hacer que uno o
más de los clientes de importación dejaran de responder.
• Se eliminó una restricción que impedía establecer cadenas de variables de configuración que contenían
brazil.
• Se corrigió un error que podía provocar una falta de disponibilidad intermitente si un nodo lector
ejecutaba una consulta que accediera a muchas tablas mientras el nodo escritor adquiere bloqueos
exclusivos en todas las mismas tablas.
• Se ha corregido un error que provocaba que una réplica de lectura se reiniciara repetidamente sin éxito
en casos raros.
• Se ha corregido un error por el que un clúster no estaba disponible al intentar crear más de 16 réplicas
de lectura o AWS regiones secundarias de base de datos globales de Aurora. El clúster volvió a estar
disponible cuando se quitó la nueva réplica de lectura o AWS región secundaria.
• Se ha corregido un error que provocaba que cuando bajo carga pesada, importación instantánea,
importación COPY o importación S3 dejaba de responder en casos raros.
• Se ha corregido un error que provocaba que una réplica de lectura no se uniera al clúster cuando el
escritor estaba muy ocupado con una carga de trabajo de escritura intensiva.
• Se ha corregido un error que provocaba que un clúster no estuviera disponible brevemente cuando se
estaba ejecutando una importación de S3 de gran volumen.
• Se ha corregido un error que provocaba que un clúster tardara varios minutos en reiniciarse si se
terminaba una secuencia de replicación lógica mientras manejaba muchas transacciones complejas.
• No se permitió el uso de la autenticación IAM y Kerberos para el mismo usuario.
• Aurora PostgreSQL ahora admite la invocación de funciones de AWS Lambda. Esto incluye la nueva
extensión aws_lambda. Para obtener más información, consulte Invocar una función de AWS Lambda
desde un clúster de base de datos de Aurora PostgreSQL (p. 1633).
1737
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Las clases de instancia de r6g ahora están disponibles en la vista previa para Aurora. Para obtener más
información, consulte Clases de instancia de base de datos Aurora (p. 56).
• Ninguno
• Se ha corregido un error en la replicación Aurora PostgreSQL que podía dar como resultado el mensaje
de error ERROR: MultiXactId nnnn has not been created yet -- apparent wraparound.
• Se ha corregido un error que provocaba que, en algunos casos, los clústeres de base de datos
con replicación lógica habilitada no eliminaran los archivos de segmento WAL truncados del
almacenamiento. Esto dio lugar a un crecimiento del tamaño del volumen.
• Correcciones respaldadas para los siguientes problemas de seguridad de la comunidad de PostgreSQL:
• CVE-2020-25694
• CVE-2020-25695
• CVE-2020-25696
• Se ha corregido un error que provocaba un consumo excesivo de CPU en la extensión
pg_stat_statements.
1738
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se ha corregido un error relacionado con la replicación cuando Aurora PostgreSQL actuaba como una
réplica física de una instancia de PostgreSQL de RDS que utiliza índices GiST. En casos raros, este
error causó un breve período de indisponibilidad después de promover el clúster Aurora.
• Se ha corregido un error en los flujos de actividad de la base de datos en el que no se notificaba a los
clientes el final de una interrupción.
• Actualización de la extensión pg_audit a la versión 1.3.1.
Versiones de revisión
• Aurora PostgreSQL versión 3.3.2 (p. 1739)
• Versión 3.3.1 de Aurora PostgreSQL (p. 1740)
• Versión 3.3.0 de Aurora PostgreSQL (p. 1740)
• Ninguno
• Se ha corregido un error en la replicación Aurora PostgreSQL que podía dar como resultado el mensaje
de error ERROR: MultiXactId nnnn has not been created yet -- apparent wraparound.
• Se ha corregido un error que provocaba que, en algunos casos, los clústeres de base de datos
con replicación lógica habilitada no eliminaran los archivos de segmento WAL truncados del
almacenamiento. Esto dio lugar a un crecimiento del tamaño del volumen.
• Se ha corregido un problema al crear un clúster de base de datos global en una región secundaria.
• Correcciones respaldadas para los siguientes problemas de seguridad de la comunidad de PostgreSQL:
• CVE-2020-25694
• CVE-2020-25695
• CVE-2020-25696
• Se ha corregido un error que provocaba un consumo excesivo de CPU en la extensión
pg_stat_statements.
• Aurora PostgreSQL ya no se queda atrás en un nodo de lectura cuando el backend está bloqueado para
escribir en el cliente de base de datos.
• Se redujo el retraso de la métrica rpo_lag_in_msec al publicar en CloudWatch para clústeres globales
de bases de datos Aurora.
• Se ha corregido un error en el que una declaración DROP DATABASE no eliminaba ningún archivo de
relación.
• Se ha corregido un error en el que, en algunos casos, la reproducción de registros
XLOG_BTREE_REUSE_PAGE en instancias del lector Aurora causaba un retraso innecesario en la
reproducción.
1739
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se ha corregido una pequeña pérdida de memoria en un índice de árbol b que podía provocar una
condición de pérdida de memoria.
• Se ha corregido un error en la función aurora_replica_status() en la que el campo server_id a
veces se truncaba.
• Se ha corregido un error por el que un registro de registro se procesaba de manera incorrecta, lo que
provocaba que la réplica de Aurora se bloqueara.
• Se ha corregido un error de importación de S3 que reportaba el ERROR: HTTP 403. Permiso denegado
al importar datos desde un archivo dentro de una subcarpeta S3.
• Ahora puede utilizar pg_replication_slot_advance para avanzar una ranura de reproducción
lógica para los roles rds_replication y rds_superuser.
• Se ha mejorado el rendimiento del modo asincrónico de los flujos de actividad de la base de datos.
• Se ha corregido un error en la extensión aws_s3 que podía dar como resultado el mensaje de error Los
nombres de bucket S3 con un punto (.) no son compatibles.
• Se ha corregido una condición de carrera que provocaba que las importaciones válidas fallaran de
manera intermitente.
• Se ha corregido un error relacionado con la replicación cuando Aurora PostgreSQL actuaba como una
réplica física de una instancia de PostgreSQL de RDS que utiliza índices GiST. En casos raros, este
error causó un breve periodo de indisponibilidad después de promocionar el clúster de base de datos de
Aurora.
• Se ha corregido un error en la aws_s3 extensión por el que una importación podía bloquearse
indefinidamente si se tomaba un bloqueo exclusivo en la relación antes de comenzar la operación.
1. Se ha corregido un error que aparece cuando el operador NOT EXISTS devuelve incorrectamente
TRUE, que solo puede ocurrir cuando se produce el siguiente conjunto inusual de circunstancias:
• Una consulta está utilizando el operador NOT EXISTS.
• La columna o las columnas que se están evaluando con respecto a la consulta externa en la
subconsulta NOT EXISTS contiene un valor NULL.
• No hay otro predicado en la subconsulta que elimine la necesidad de evaluar los valores NULL.
• El filtro utilizado en la subconsulta no utiliza una búsqueda de índice para su ejecución.
• El optimizador de consultas no convierte el operador en una unión.
La extensión RDKit proporciona funciones de modelado para química informática. La química informática
es almacenar, indexar, buscar, recuperar y aplicar información sobre compuestos químicos. Por ejemplo,
con la extensión RDKit puede construir modelos de moléculas, buscar estructuras moleculares y leer
o crear moléculas en diversas notaciones. También puede realizar investigaciones sobre los datos
cargados desde el sitio web de ChEMBL o un archivo SMILES. El Sistema Simplificado de Entrada
Molecular de Línea de Entrada (SMILES) es una notación tipográfica para representar moléculas y
reacciones. Para obtener más información, consulte The RDKit database cartridge en la documentación
de RDKit.
• Se ha agregado compatibilidad para una versión mínima de TLS
1740
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
La compatibilidad con una versión mínima de Transport Layer Security (TLS) se ha adaptado desde
PostgreSQL 12. Permite al servidor de Aurora PostgreSQL restringir los protocolos TLS con los que se
permite a un cliente conectarse a través de dos nuevos parámetros de PostgreSQL. Estos parámetros
incluyen ssl_min_protocol_version y ssl_max_protocol_version. Por ejemplo, para limitar las conexiones
de cliente al servidor de Aurora PostgreSQL a al menos la versión del protocolo TLS 1.2, establezca el
valor en ssl_min_protocol_version TLSv1.2.
• Ahora es compatible con la versión 2.2.2 de la extensión pglogical.
• Se ha corregido un error relacionado con la extensión de la página del montón que en casos raros daba
lugar a un tiempo de recuperación más largo e influía en la disponibilidad.
• Se ha corregido un error en Aurora Global Database que podía provocar retrasos en la actualización del
motor de base de datos en una AWS región secundaria. Para obtener más información, consulte Uso de
bases de datos globales de Amazon Aurora (p. 247).
• Se ha corregido un error que en casos raros provocaba retrasos en la actualización de una base de
datos a la versión 11.8 del motor.
• Se ha corregido un error que provocaba que la réplica de Aurora se bloqueara cuando se realizaban
cargas de trabajo con subtransacciones pesadas en la instancia de escritor.
• Se ha corregido un error que provocaba que la instancia del escritor se bloqueara debido a una pérdida
de memoria y al agotamiento de la memoria utilizada para realizar un seguimiento de las transacciones
activas.
• Se ha corregido un error que provocaba un bloqueo debido a una inicialización incorrecta cuando no
había memoria libre disponible durante el inicio del backend de PostgreSQL.
• Se ha corregido un error por el que un clúster de base de datos sin servidor de Aurora PostgreSQL
podía devolver el siguiente error después de un evento de escalado: ERROR: ya existe la instrucción
preparada "S_6".
• Se ha corregido un problema de falta de memoria al emitir el comando CREATE EXTENSION con
PostGIS cuando las secuencias de actividad de la base de datos están habilitadas.
1741
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se ha corregido un error en el que una consulta SELECT podía devolver incorrectamente el error,
Intentando leer más allá de EOF de la relación rrrr. blockno=bbb nblocks=nnn.
• Se ha corregido un error que provocaba que la base de datos no estuviera disponible brevemente
debido a la gestión de errores en el crecimiento del almacenamiento de la base de datos.
• Se ha corregido un error en Aurora PostgreSQL Serverless que provocaba que las consultas que se
ejecutaban en conexiones previamente inactivas se retrasaran hasta que se completara la operación de
escala
• Se ha corregido un error que provocaba que un clúster de base de datos de Aurora PostgreSQL con
flujos de actividad de base de datos habilitados podía notificar el comienzo de una ventana de pérdida
potencial para registros de actividad, pero no notificaba la restauración de la conectividad.
• Se ha corregido un error con la función aws_s3.table_import_from_s3 (p. 1558) en la que unCOPY desde
S3 fallaba con el código de error HTTP: 248.
Versiones de revisión
• Versión 3.2.7 de Aurora PostgreSQL (p. 1742)
• Versión 3.2.6 de Aurora PostgreSQL (p. 1742)
• Versión 3.2.4 de Aurora PostgreSQL (p. 1743)
• Versión 3.2.3 de Aurora PostgreSQL (p. 1744)
• Versión 3.2.2 Aurora PostgreSQL (p. 1744)
• Versión 3.2.1 de Aurora PostgreSQL (p. 1744)
• Ninguno
• Ninguno
1742
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Ninguno
• Se ha corregido un error en la replicación Aurora PostgreSQL que podía dar como resultado el mensaje
de error ERROR: MultiXactId nnnn has not been created yet -- apparent wraparound.
• Se ha corregido un error que, en casos raros, provocaba que la réplica de lectura breve no esté
disponible cuando el volumen de almacenamiento aumentaba.
• Aurora PostgreSQL Serverless ahora admite la ejecución de consultas en todas las conexiones durante
un evento de escala.
• Se ha corregido un error en Aurora PostgreSQL Serverless en el que un bloqueo filtrado provocaba un
evento de escala prolongado.
• Se ha corregido un error en el que la función aurora_replica_status mostraba identificadores de
servidor truncados.
• Se ha corregido un error en Aurora PostgreSQL Serverless donde las conexiones que se migraban
durante un evento de escala se desconectarían con el mensaje: ERROR: could not open relation with
OID... (ERROR: no se pudo abrir la relación con OID...).
• Se ha corregido una pequeña pérdida de memoria en un índice de árbol b que podía provocar una
condición de pérdida de memoria.
• Se ha corregido un error en un índice GIST que podía provocar una condición de pérdida de memoria
después de promocionar una réplica de lectura de Aurora.
• Rendimiento mejorado para los flujos de actividad de la base de datos.
• Se ha corregido un error en los flujos de actividad de la base de datos en el que no se notificaba a los
clientes cuando terminaba una interrupción.
• Se ha corregido un error en la extensión aws_s3 para el manejo de URL prefirmado que podría haber
provocado el mensaje de error Los nombres de bucket S3 con un punto (.) no son compatibles.
• Se ha corregido un error en la extensión aws_s3 por el que un manejo incorrecto de errores podía
provocar fallos durante el proceso de importación.
• Se ha corregido un error en la aws_s3 extensión por el que una importación podía bloquearse
indefinidamente si se tomaba un bloqueo exclusivo en la relación antes de comenzar la operación.
1. Se ha corregido un error que aparece cuando el operador NOT EXISTS devuelve incorrectamente
TRUE, que solo puede ocurrir cuando se produce el siguiente conjunto inusual de circunstancias:
• Una consulta está utilizando el operador NOT EXISTS.
• La columna o las columnas que se están evaluando con respecto a la consulta externa en la
subconsulta NOT EXISTS contiene un valor NULL.
• No hay otro predicado en la subconsulta que elimine la necesidad de evaluar los valores NULL.
• El filtro utilizado en la subconsulta no utiliza una búsqueda de índice para su ejecución.
• El optimizador de consultas no convierte el operador en una unión.
1743
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Ninguno
• Ninguno
• Se ha corregido un error en Aurora PostgreSQL Serverless que provocaba que las consultas que se
ejecutaban en conexiones previamente inactivas se retrasaran hasta que se completara la operación de
escala
• Se ha corregido un error que podía provocar una breve falta de disponibilidad de cargas de trabajo de
subtransacciones pesadas cuando se reinician varias instancias de lector o se vuelven a unir al clúster.
• Se ha corregido un error relacionado con la extensión de la página del montón que en casos raros daba
lugar a un tiempo de recuperación más largo e influía en la disponibilidad.
• Se ha corregido un error en Aurora Global Database que podía provocar retrasos en la actualización
del motor de base de datos en una región secundaria. Para obtener más información, consulte Uso de
bases de datos globales de Amazon Aurora (p. 247).
• Se ha corregido un error que en casos raros provocaba retrasos en la actualización de una base de
datos a la versión 11.7 del motor.
• Se ha corregido un error que provocaba que la base de datos no estuviera disponible brevemente
debido a la gestión de errores en el crecimiento del almacenamiento de la base de datos.
• Se ha corregido un error en el que una consulta SELECT podía devolver incorrectamente el error,
Intentando leer más allá de EOF de la relación rrrr. blockno=bbb nblocks=nnn.
• Se ha corregido un error por el que un clúster de base de datos sin servidor de Aurora PostgreSQL
podía devolver el siguiente error después de un evento de escalado: ERROR: ya existe la instrucción
preparada "S_6".
• Se ha agregado soporte para la base de datos global de Amazon Aurora PostgreSQL. Para obtener más
información, consulte Uso de bases de datos globales de Amazon Aurora (p. 247).
1744
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
Ninguno.
• Mejora del rendimiento y la disponibilidad de las instancias de lectura al aplicar las operaciones DROP
TABLE y TRUNCATE TABLE.
• Se ha corregido una pérdida de memoria pequeña pero continua en un módulo de diagnóstico que podía
provocar una condición de fuera de memoria en tipos de instancias de base de datos más pequeños.
• Se ha corregido un error en la extensión PostGIS que podía provocar un reinicio de la base de datos.
Esto se ha notificado a la comunidad de PostGIS como https://trac.osgeo.org/postgis/ticket/4646.
• Se ha corregido un error por el que es posible que las solicitudes de lectura dejaran de responder debido
a una gestión de errores incorrecta en el motor de almacenamiento.
• Se ha corregido un error que se producía en algunas consultas y daba lugar al mensaje, ERROR: se ha
encontrado xmin xxxxxx de antes de relfrozenxid yyyyyyy. Esto podría ocurrir después de la promoción
de una instancia de lectura a una instancia de escritura.
• Se ha corregido un error que provocaba que un clúster de base de datos sin servidor de Aurora se
bloqueara al revertir un intento de escala.
• Rendimiento mejorado para las consultas que leen muchas filas del almacenamiento.
• Rendimiento y disponibilidad mejorados de las instancias de base de datos del lector durante cargas de
trabajo de lectura intensas.
• Se han habilitado las subconsultas IN y NOT IN correlacionadas para transformarlas en uniones cuando
sea posible.
• Se ha mejorado la estimación de filtrado para la inserción mejorada de filtros de semicombinación
mediante estadísticas o índices de varias columnas cuando estén disponibles.
• Mejora del rendimiento de lectura de la extensión pg_prewarm.
• Se ha corregido un error en el que un clúster de base de datos sin servidor de Aurora podía notificar el
mensaje ERROR: formato de datos binarios incorrecto en el parámetro bind… después de un evento de
escala.
• Se ha corregido un error que provocaba que un clúster de base de datos sin servidor pudiera notificar el
mensaje ERROR: se han dejado datos insuficientes en el mensaje después de un evento de escala.
• Se ha corregido un error que provocaba que un clúster de base de datos sin servidor de Aurora
experimentara intentos de escala prolongados o fallidos.
• Se ha corregido un error que provocaba el mensaje ERROR: could not create file "base/xxxxxx/yyyyyyy"
as a previous version still exists on disk: Success. Contáctese con el servicio de atención al cliente de
AWS. Esto puede ocurrir durante la creación de objetos después de que el identificador de objeto de 32
bits de PostgreSQL se haya ajustado.
• Se ha corregido un error en el que los archivos de segmento write-ahead-log (WAL) para la replicación
lógica de PostgreSQL no se eliminaban al cambiar el valor wal_level de logical a replica.
• Se ha corregido un error en la extensión pg_hint_plan por el que una consulta de varias instrucciones
podía provocar un bloqueo cuando enable_hint_table estaba habilitada. Se realiza un seguimiento
de ello en la comunidad de PostgreSQL como https://github.com/ossc-db/pg_hint_plan/issues/25.
1745
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se ha corregido un error en el que los clientes JDBC podían informar del mensaje, java.io.IOException:
tipo de paquete inesperado: 75 después de un evento de escala en un clúster de base de datos sin
servidor de Aurora.
• Se ha corregido un error en la replicación lógica de PostgreSQL que daba lugar al mensaje ERROR: la
referencia de instantánea no es propiedad del propietario del recurso TopTransaction.
• Se han modificado las siguientes extensiones:
• Se ha actualizado orafce a la versión 3.8.
• Se ha actualizado pgTAP a la versión 1.1.
• Se ha proporcionado compatibilidad para consultas de inyección de errores.
Esta versión contiene varias mejoras de estabilidad cruciales. Amazon recomienda encarecidamente
actualizar los clústeres de Aurora PostgreSQL que utilizan motores PostgreSQL 11 anteriores a esta
versión.
Versiones de revisión
• Versión 3.1.4 de Aurora PostgreSQL (p. 1746)
• Versión 3.1.3 de Aurora PostgreSQL (p. 1746)
• Versión 3.1.2 de Aurora PostgreSQL (p. 1747)
• Versión 3.1.1 de Aurora PostgreSQL (p. 1747)
• Versión 3.1.0 de Aurora PostgreSQL (p. 1748)
• Ninguno
• Ninguno
1746
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
almacenamiento en falso para que una tabla evite que el comando SQL VACUUM trunque las páginas
vacías finales de la tabla.
• Ninguno
• Se ha corregido un error que provocaba que las lecturas del almacenamiento dejaran de responder
debido a un control de errores incorrecto.
• Ninguno
• Se ha corregido un error en el que una instancia de base de datos de lector podía utilizar temporalmente
datos obsoletos. Esto podría producir resultados incorrectos, como escasez de filas o demasiadas
filas. Este error no persiste en el almacenamiento y se eliminará cuando la página de la base de datos
que contiene la fila se haya expulsado de la caché. Esto puede suceder cuando la instancia de base
de datos principal escribe un desbordamiento de instantáneas de transacciones al tener más de 64
transacciones secundarias en una sola transacción. Las aplicaciones susceptibles de sufrir este error
incluyen aquellas que usan puntos de guardado de SQL o controladores de excepciones PostgreSQL
con más de 64 transacciones secundarias en la transacción superior.
• Se ha corregido un error que puede provocar que una instancia de base de datos de lector se bloquee
provocando falta de disponibilidad al intentar unirse al clúster de base de datos. Esto puede suceder en
algunos casos cuando la instancia de base de datos principal tiene un desbordamiento de instantáneas
de transacciones debido a un gran número de transacciones secundarias. En esta situación, la instancia
de base de datos del lector no podrá unirse hasta que se haya eliminado el desbordamiento de
instantáneas.
• Se ha corregido un error que impedía que Información sobre rendimiento determinara el ID de consulta
de una instrucción en ejecución.
1747
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se ha corregido un error en el que la instancia de base de datos podía no estar disponible brevemente
debido a la función de recuperación automática del almacenamiento subyacente.
• Se corrigió un error en el que el motor de base de datos podía bloquearse y causar falta de
disponibilidad. Esto se producía al escanear una columna incluida y no clave de un índice de árbol B.
Esto solo se aplica a los índices de «columna incluida» de PostgreSQL 11.
• Se ha corregido un error que podía provocar que el motor de la base de datos se bloqueara y causara
falta de disponibilidad. Esto se producía si una conexión de base de datos recién establecida encontraba
un error relacionado con el agotamiento de recursos durante la inicialización después de la autenticación
correcta.
• Se ha proporcionado una corrección para la extensión pg_hint_plan que podría provocar que el motor
de base de datos se bloqueara y causara falta de disponibilidad. Se puede realizar un seguimiento del
problema de código abierto en https://github.com/ossc-db/pg_hint_plan/pull/45.
• Se ha corregido un error por el que SQL de formato ALTER FUNCTION ... OWNER TO ... informaba
incorrectamente ERROR: improper qualified name (too many dotted names).
• Se ha mejorado el rendimiento del vacío del índice GIN a través de la recuperación previa.
• Se ha corregido un error en PostgreSQL de código abierto que podía provocar un bloqueo del motor
de la base de datos y causar falta de disponibilidad. Esto se producía durante los análisis paralelos del
índice del árbol B. Este problema se ha informado a la comunidad de PostgreSQL.
• Se ha mejorado el rendimiento de los análisis de índice del árbol B en memoria.
Para obtener información sobre extensiones y módulos, consulte Extensiones admitidas para Aurora
PostgreSQL 11.x (p. 1800).
Nuevas características
1. Compatibilidad con exportación de datos a Amazon S3. Para obtener más información, consulte
Exportación de datos de una Aurora PostgreSQL de base de datos de clústerde Amazon S3 (p. 1561).
2. Compatibilidad con Amazon Aurora Machine Learning. Para obtener más información, consulte Uso del
machine learning (ML) con Aurora PostgreSQL (p. 1608).
3. Las mejoras de procesamiento de SQL incluyen:
• Optimizaciones para NOT IN con el parámetro apg_enable_not_in_transform.
• Mejoras de aplicación del filtro de semicombinación para combinaciones hash con el parámetro
apg_enable_semijoin_push_down.
• Optimizaciones para la eliminación de combinación interna redundante con el parámetro
apg_enable_remove_redundant_inner_joins.
• Se han mejorado las opciones de compatibilidad con ANSI con los parámetros
ansi_constraint_trigger_ordering, ansi_force_foreign_key_checks y
ansi_qualified_update_set_target.
Para obtener más información, consulte Parámetros de Amazon Aurora PostgreSQL. (p. 1665).
4. Las extensiones nuevas y actualizadas de PostgreSQL incluyen:
1748
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• La nueva extensión aws_ml. Para obtener más información, consulte Uso del machine learning (ML)
con Aurora PostgreSQL (p. 1608).
• La nueva extensión aws_s3. Para obtener más información, consulte Exportación de datos de una
Aurora PostgreSQL de base de datos de clústerde Amazon S3 (p. 1561).
• Actualizaciones de la extensión apg_plan_mgmt. Para obtener más información, consulte
Administración de planes de ejecución de consultas para Aurora PostgreSQL (p. 1572)
1. Se ha corregido un error relacionado con la creación de índices B-tree en tablas temporales que, en
casos raros, podía dar lugar a un mayor tiempo de recuperación y afectar a la disponibilidad.
2. Se ha corregido un error relacionado con la replicación cuando Aurora PostgreSQL actuaba como una
réplica física de una instancia de PostgreSQL de RDS. En casos raros, este error provoca un error
de escritura de registro que podría dar lugar a un tiempo de recuperación más largo y afectar a la
disponibilidad.
3. Se ha corregido un error relacionado con el manejo de lecturas con alta latencia de E/S que, en casos
raros, podría dar lugar a un mayor tiempo de recuperación y afectar a la disponibilidad.
1. Se ha corregido un error relacionado con la reproducción lógica en el que los wal segmentos no se
eliminan correctamente del almacenamiento. Esto puede dar lugar al sobredimensionamiento del
almacenamiento. Para monitorear esto, vea el parámetro TransactionLogDiskUsage.
2. Se han corregido varios errores, que causaban que Aurora se bloqueara durante las operaciones de
recuperación previa en los índices de Btree.
3. Se ha corregido un error por el que un reinicio de Aurora podía agotarse cuando se usaba la
reproducción lógica.
4. Se han mejorado las comprobaciones de validación realizadas en bloques de datos en la caché del
búfer. Esto mejora la detección de inconsistencia por parte de Aurora.
1749
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
10.Se ha corregido un error por el que el daemon de almacenamiento de Aurora podía bloquearse bajo una
carga pesada de E/S.
11.Se ha corregido un error relacionado hot_standby_feedback con los nodos de lectura en el que
el nodo de lectura podía informar de la época de identificación de transacción incorrecta al nodo de
escritura. Esto podía hacer que el nodo de escritura omitiese hot_standby_feedback e invalidase las
instantáneas en el nodo de lectura.
12.Se ha corregido un error en el que los errores de almacenamiento que se producen durante CREATE
DATABASE las instrucciones no se manejan correctamente. El error hacía que la base de datos
resultante fuera inaccesible. El comportamiento correcto es producir un error en la creación de la base
de datos y devolver el error apropiado al usuario.
13.Se ha mejorado el manejo del desbordamiento de instantáneas de PostgreSQL cuando un nodo de
lectura intenta conectarse a un nodo de escritura. Antes de este cambio, si el nodo de escritura estaba
en un estado de desbordamiento de instantáneas, el nodo de lectura no podía combinarse. Aparecía
un mensaje en el archivo de registro de PostgreSQL con el formato DEBUG: recovery snapshot
waiting for non-overflowed snapshot or until oldest active xid on standby is
at least xxxxxxx (now yyyyyyy). Un desbordamiento de instantáneas se produce cuando una
transacción individual crea más de 64 transacciones secundarias.
14.Se corrigió un error relacionado con expresiones de tabla comunes en las que un error se generaba
incorrectamente cuando una clase NOT IN existe en un CTE. El error es CTE with NOT IN fails
with ERROR: could not find CTE CTE-Name.
15.Se ha corregido un error relacionado con un valor last_error_timestamp incorrecto en la tabla
aurora_replica_status.
16.Se ha corregido un error para evitar rellenar los búferes compartidos con bloques pertenecientes
a objetos temporales. Estos bloques residen correctamente en búferes locales de backend de
PostgreSQL.
17.Se han modificado las siguientes extensiones:
• pg_hint_plan se ha actualizado a la versión 1.3.4
• Se ha agregado plprofiler versión 4.1.
• Se ha agregado pgTAP versión 1.0.0.
La versión 11.4 del motor PostgreSQL con la versión 3.0 de Aurora PostgreSQL ya no es
compatible. Para actualizar, consulte Actualización del motor de base de datos de PostgreSQL
para Aurora PostgreSQL (p. 1807).
Esta versión de Aurora PostgreSQL es compatible con PostgreSQL 11.4. Para obtener más información
acerca de las mejoras en la versión 11.4, consulte PostgreSQL Release 11.4.
Mejoras
1. Esta versión contiene todas las correcciones, características y mejoras presentes en Versión 2.3.5 de
Aurora PostgreSQL (p. 1769).
2. Partición: las mejoras en la partición incluyen la compatibilidad de la partición hash, lo que permite la
creación de una partición predeterminada y un movimiento de fila dinámico en otra partición basada en
la actualización de la columna clave.
3. Rendimiento: las mejoras en el rendimiento incluyen el paralelismo cuando se crean índices, vistas
materializadas, uniones hash y análisis secuenciales para hacer que las operaciones funcionen mejor.
1750
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
PostgreSQL 10.18
Esta versión de Aurora PostgreSQL es compatible con PostgreSQL 10.18. Para obtener más información
acerca de las mejoras en PostgreSQL 10.18, consulte PostgreSQL versión 10.18.
1751
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se ha corregido un problema por el que, en raras circunstancias, una caché de datos de un nodo de
lectura podría ser incoherente tras el reinicio de ese nodo.
• Se ha corregido un problema que provocaba que las consultas dejaran de responder debido al
agotamiento de los recursos de E/S provocado por la recuperación previa.
• Se corrigió un error que provocaba que Aurora pudiera entrar en pánico tras una actualización de
la versión principal con el mensaje: “PÁNICO: no se pudo acceder al estado de la siguiente ID de
transacción xxxxxxxx”.
• Se ha corregido un problema que provocaba que los nodos de lectura se reiniciaran debido a un error en
la búsqueda de la caché de replicación de origen.
• Se ha corregido un error que provocaba que las consultas de lectura se agotaran en los nodos de lectura
durante la repetición del truncamiento lento desencadenado por el vacío en el nodo de escritura.
• Se ha corregido un problema que provocaba que Información sobre rendimiento estableciera
incorrectamente el tipo de backend de una conexión de base de datos.
• Se ha corregido un error que provocaba que la función aurora_postgres_replica_status() devolviera
estadísticas de CPU obsoletas o retrasadas.
• Se ha corregido un problema que provocaba que, en casos excepcionales, un clúster espejo secundario
de la base de datos Aurora Global se reiniciara debido a una interrupción del proceso de aplicación de
registros.
• Se ha eliminado la compatibilidad para los conjuntos de cifrado DES, 3DES y RC4.
• Extensión PostGIS actualizada a la versión 3.1.4.
• Se ha agregado soporte para la versión 3.1.4 de la extensión postgis_raster.
Versiones de revisión
• Aurora PostgreSQL 2.9.1 (p. 1752)
• Versión 2.9 de Aurora PostgreSQL (p. 1753)
Aurora PostgreSQL 2.9.1
Mejoras de estabilidad cruciales
• Se ha corregido un problema por el que, en raras circunstancias, una caché de datos de un nodo de
lectura podría ser incoherente tras el reinicio de ese nodo.
• Se ha corregido un problema que provocaba que las consultas dejaran de responder debido al
agotamiento de los recursos de E/S provocado por la recuperación previa.
1752
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Se corrigió un error que provocaba que Aurora pudiera entrar en pánico tras una actualización de
la versión principal con el mensaje: “PÁNICO: no se pudo acceder al estado de la siguiente ID de
transacción xxxxxxxx”.
• Se ha corregido un problema que provocaba que los nodos de lectura se reiniciaran debido a un error en
la búsqueda de la caché de replicación de origen.
• Se ha corregido un problema que provocaba que, en casos excepcionales, un clúster espejo secundario
de la base de datos Aurora Global se reiniciara debido a una interrupción del proceso de aplicación de
registros.
• Se ha corregido un problema que provocaba que Información sobre rendimiento estableciera
incorrectamente el tipo de backend de una conexión de base de datos.
• Se ha corregido un problema por el que los archivos huérfanos provocaban traducciones fallidas en las
rutas de código de lectura durante o después de la actualización de una versión principal.
• Se han corregido varios problemas en el daemon de almacenamiento de Aurora que podrían provocar
breves periodos de falta de disponibilidad cuando se utilizaban configuraciones de red específicas.
• Se ha corregido un problema de bloqueo de memoria insuficiente con el daemon de almacenamiento
Aurora que provocaba el reinicio del nodo del escritor. Esto también reduce el consumo general de
memoria del sistema.
1. Se ha corregido un problema por el que la creación de una base de datos a partir de una base de datos
de plantilla existente con espacio de tabla provocaba un error con el mensaje ERROR: could not
open file pg_tblspc/...: No such file or directory.
2. Se ha corregido un problema que provocaba que, en casos raros, una réplica de Aurora no pudiera
iniciarse cuando se usaba un gran número de subtransacciones de PostgreSQL (es decir, puntos de
guardado SQL).
3. Se ha corregido un problema por el que, en circunstancias raras, los resultados de lectura podían ser
inconsistentes para solicitudes de lectura repetidas en nodos de réplica.
1753
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
1. Se ha corregido un error por el que, en raras ocasiones, un lector tenía resultados inconsistentes
cuando se reiniciaba mientras se procesaba una transacción con más de 64 subtransacciones.
2. Correcciones respaldadas para los siguientes problemas de seguridad de la comunidad de PostgreSQL:
• CVE-2021-32027
• CVE-2021-32028
• CVE-2021-32029
1. Se ha corregido un error por el que la base de datos no podía iniciarse cuando había muchas relaciones
en entornos con restricciones de memoria.
2. Se ha corregido un error en la extensión apg_plan_mgmt que podría causar breves periodos de
indisponibilidad debido a un desbordamiento del búfer interno.
3. Se ha corregido un error en los nodos del lector que podría causar breves periodos de falta de
disponibilidad durante la reproducción de WAL.
4. Se ha corregido un error en la extensión rds_activity_stream que causó un error durante el inicio
al intentar registrar eventos de auditoría.
5. Se ha corregido un error que impedía las actualizaciones de versiones menores de un clúster de base
de datos global de Aurora.
6. Se han corregido errores en la función aurora_replica_status donde las filas a veces se llenaban
parcialmente y algunos valores, como la latencia de reproducción, y el uso de la CPU siempre eran 0.
7. Se ha corregido un error por el que el motor de base de datos intentaba crear segmentos de memoria
compartida mayores que la memoria total de la instancia y fallaba repetidamente. Por ejemplo, los
intentos de crear búferes compartidos de 128 GiB en una instancia db.r5.large fallarían. Con este
cambio, las solicitudes de asignaciones totales de memoria compartida mayores que la memoria de la
instancia permiten establecer la instancia en parámetros incompatibles.
8. Se agregó una lógica para limpiar innecesaria los archivos temporales pg_wal innecesarios en el inicio
de una base de datos.
9. Se ha corregido un error que reportaba ERROR: rds_activity_stream stack item 2 not found on top -
cannot pop al intentar crear la extensión de rds_activity_stream.
10.Se ha corregido un error que podía causar el error failed to build any 3-way joins en una subconsulta IN
correlacionada bajo una subconsulta EXISTS.
11.Se ha corregido un error que podría causar breves periodos de falta de disponibilidad debido a que se
quedaba sin memoria al crear la extensión postgis con pgAudit habilitado.
12.Se ha corregido un error al usar la reproducción lógica saliente para sincronizar los cambios en otra
base de datos que podrían fallar con un mensaje de error como ERROR: could not map filenode
"base/16395/228486645" to relation OID.
13.Se ha corregido un error en el que el rol rds_ad no se creó después de actualizar desde una versión de
Aurora PostgreSQL que no admite la autenticación de Microsoft Active Directory.
14.Se han agregado verificaciones de página btree para detectar la inconsistencia de metadatos de tupla.
15.Se ha corregido un error en las lecturas del búfer asíncrono que podría causar breves periodos de falta
de disponibilidad en los nodos de lectura durante la reproducción de WAL.
1754
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
Versiones de revisión
• Versión 2.7.3 de Aurora PostgreSQL (p. 1755)
• Versión 2.7.2 de Aurora PostgreSQL (p. 1755)
• Aurora PostgreSQL versión 2.7.1 (p. 1755)
• Versión 2.7.0 de Aurora PostgreSQL (p. 1756)
1. Se ha corregido un error en la extensión aws_s3 para permitir la importación de objetos con barras
diagonales delanteras en el identificador de objeto.
2. Se ha corregido un error en la extensión rds_activity_stream que causó un error durante el inicio
al intentar registrar eventos de auditoría.
3. Se ha corregido un error que devolvió un ERROR al intentar crear la extensión rds_activity_stream.
4. Se ha corregido un error que podría causar breves periodos de falta de disponibilidad debido a que se
quedaba sin memoria al crear la extensión postgis con pgAudit habilitado.
5. Se han corregido varios problemas en el daemon de almacenamiento de Aurora que podrían provocar
breves periodos de falta de disponibilidad cuando se utilizaban configuraciones de red específicas.
1. Se corrigió un error donde un nodo lector podía representar una fila extra o faltante si el lector se
reiniciaba mientras el nodo escritor procesaba una transacción larga con más de 64 subtransacciones.
1. Se corrigió un error que podía provocar una falta de disponibilidad intermitente debido a la rotación de
las claves de cifrado de red.
2. Se corrigió un error por el que una gran importación de S3 con miles de clientes podía hacer que uno o
más de los clientes de importación dejaran de responder.
1. Se ha corregido un error que provocaba que una réplica de lectura se reiniciara repetidamente sin éxito
en casos raros.
1755
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
2. Se ha corregido un error por el que un clúster no estaba disponible al intentar crear más de 16 réplicas
de lectura o AWS regiones secundarias de base de datos globales de Aurora. El clúster volvió a estar
disponible cuando se quitó la nueva réplica de lectura o AWS región secundaria.
1. Se ha corregido un error que provocaba que cuando bajo carga pesada, importación instantánea,
importación COPY o importación S3 dejaba de responder en casos raros.
2. Se ha corregido un error que provocaba que una réplica de lectura no se uniera al clúster cuando el
escritor estaba muy ocupado con una carga de trabajo de escritura intensiva.
3. Se ha corregido un error que provocaba que un clúster tardara varios minutos en reiniciarse si se
terminaba una secuencia de replicación lógica mientras manejaba muchas transacciones complejas.
4. No se permitió el uso de la autenticación IAM y Kerberos para el mismo usuario.
• Ninguno
1. Se ha mejorado el rendimiento del modo asincrónico de los flujos de actividad de la base de datos.
2. Aurora Serverless v1 para PostgreSQL ahora admite la ejecución de consultas en todas las conexiones
durante un evento de escala.
3. Se redujo el retraso de la métrica rpo_lag_in_msec al publicar en CloudWatch para clústeres
globales de bases de datos Aurora.
4. Se ha corregido un error en los clústeres sin servidor en el que el procesamiento de transacciones se
suspendía innecesariamente durante largos periodos al crear un punto de escala.
5. Se ha corregido un error en Aurora Serverless v1 para PostgreSQL en el que un bloqueo filtrado
provocaba un evento de escala prolongado.
6. Se ha corregido un error en Aurora Serverless v1 para PostgreSQL en el que las conexiones que se
migraban durante un evento de escala se desconectaban con el siguiente mensaje: ERROR: could not
open relation with OID... (ERROR: no se pudo abrir la relación con OID...)
7. Aurora PostgreSQL ya no se queda atrás en un nodo de lectura cuando el backend está bloqueado para
escribir en el cliente de base de datos.
1756
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
Versiones de revisión
• Aurora PostgreSQL versión 2.6.2 (p. 1757)
• Versión 2.6.1 de Aurora PostgreSQL (p. 1758)
• Versión 2.6.0 de Aurora PostgreSQL (p. 1759)
1. Ninguno
1. Se ha corregido un error en la replicación Aurora PostgreSQL que podía dar como resultado el mensaje
de error ERROR: MultiXactId nnnn has not been created yet -- apparent wraparound.
2. Se ha corregido un error que provocaba que, en algunos casos, los clústeres de base de datos
con replicación lógica habilitada no eliminaran los archivos de segmento WAL truncados del
almacenamiento. Esto dio lugar a un crecimiento del tamaño del volumen.
3. Se ha corregido un problema al crear un clúster de base de datos global en una región secundaria.
4. Correcciones respaldadas para los siguientes problemas de seguridad de la comunidad de PostgreSQL:
• CVE-2020-25694
1757
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• CVE-2020-25695
• CVE-2020-25696
5. Se ha corregido un error que provocaba un consumo excesivo de CPU en la extensión
pg_stat_statements.
1. Aurora PostgreSQL ya no se queda atrás en un nodo de lectura cuando el backend está bloqueado para
escribir en el cliente de base de datos.
2. Se redujo el retraso de la métrica rpo_lag_in_msec al publicar en CloudWatch para clústeres
globales de bases de datos Aurora.
3. Se ha corregido un error en el que una declaración DROP DATABASE no eliminaba ningún archivo de
relación.
4. Se ha corregido un error en el que, en algunos casos, la reproducción de registros
XLOG_BTREE_REUSE_PAGE en instancias del lector Aurora causaba un retraso innecesario en la
reproducción.
5. Se ha corregido una pequeña pérdida de memoria en un índice de árbol b que podía provocar una
condición de pérdida de memoria.
6. Se ha corregido un error en la función aurora_replica_status() en la que el campo server_id a
veces se truncaba.
7. Se ha corregido un error por el que un registro de registro se procesaba de manera incorrecta, lo que
provocaba que la réplica de Aurora se bloqueara.
8. Se ha corregido un error de importación de S3 que reportaba el ERROR: HTTP 403. Permiso denegado
al importar datos desde un archivo dentro de una subcarpeta S3.
9. Se ha mejorado el rendimiento del modo asincrónico de los flujos de actividad de la base de datos.
10.Se ha corregido un error en la extensión aws_s3 que podía dar como resultado el mensaje de error Los
nombres de bucket S3 con un punto (.) no son compatibles.
11.Se ha corregido una condición de carrera que provocaba que las importaciones válidas fallaran de
manera intermitente.
12.Se ha corregido un error relacionado con la replicación cuando Aurora PostgreSQL actuaba como una
réplica física de una instancia de PostgreSQL de RDS que utiliza índices GiST. En casos raros, este
error causó un breve periodo de indisponibilidad después de promocionar el clúster de base de datos de
Aurora.
13.Se ha corregido un error en la aws_s3 extensión por el que una importación podía bloquearse
indefinidamente si se tomaba un bloqueo exclusivo en la relación antes de comenzar la operación.
1. Se ha corregido un error que aparece cuando el operador NOT EXISTS devuelve incorrectamente
TRUE, que solo puede ocurrir cuando se produce el siguiente conjunto inusual de circunstancias:
• Una consulta está utilizando el operador NOT EXISTS.
• La columna o las columnas que se están evaluando con respecto a la consulta externa en la
subconsulta NOT EXISTS contiene un valor NULL.
• No hay otro predicado en la subconsulta que elimine la necesidad de evaluar los valores NULL.
• El filtro utilizado en la subconsulta no utiliza una búsqueda de índice para su ejecución.
• El optimizador de consultas no convierte el operador en una unión.
1758
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
Nuevas características
1. Se ha corregido un error relacionado con la extensión de la página del montón que en casos raros daba
lugar a un tiempo de recuperación más largo e influía en la disponibilidad.
1. Se ha corregido un error al actualizar los clústeres de base de datos global de Aurora de la versión
10.11.
2. Se ha corregido un error en Aurora Global Database que podía provocar retrasos en la actualización del
motor de base de datos en una AWS región secundaria. Para obtener más información, consulte Uso de
bases de datos globales de Amazon Aurora (p. 247).
3. Se ha corregido un error que en casos raros provocaba retrasos en la actualización de una base de
datos a la versión 10.13 del motor.
1. Se ha corregido un error que provocaba que la réplica de Aurora se bloqueara cuando se realizaban
cargas de trabajo con subtransacciones pesadas en la instancia de escritor.
1759
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
2. Se ha corregido un error que provocaba que la instancia del escritor se bloqueara debido a una pérdida
de memoria y al agotamiento de la memoria utilizada para realizar un seguimiento de las transacciones
activas.
3. Se ha corregido un error que provocaba un bloqueo debido a una inicialización incorrecta cuando no
había memoria libre disponible durante el inicio del backend de PostgreSQL.
4. Se ha corregido un error por el que un clúster de base de datos sin servidor de Aurora PostgreSQL
podía devolver el siguiente error después de un evento de escalado: ERROR: ya existe la instrucción
preparada "S_6".
5. Se ha corregido un problema de falta de memoria al emitir el comando CREATE EXTENSION con
PostGIS cuando las secuencias de actividad de la base de datos están habilitadas.
6. Se ha corregido un error en el que una consulta SELECT podía devolver incorrectamente el error,
Intentando leer más allá de EOF de la relación rrrr. blockno=bbb nblocks=nnn.
7. Se ha corregido un error que provocaba que la base de datos no estuviera disponible brevemente
debido a la gestión de errores en el crecimiento del almacenamiento de la base de datos.
8. Se ha corregido un error en Aurora PostgreSQL Serverless que provocaba que las consultas que se
ejecutaban en conexiones previamente inactivas se retrasaran hasta que se completara la operación de
escala
9. Se ha corregido un error que provocaba que un clúster de base de datos de Aurora PostgreSQL con
flujos de actividad de base de datos habilitados podía notificar el comienzo de una ventana de pérdida
potencial para registros de actividad, pero no notificaba la restauración de la conectividad.
Versiones de revisión
• Versión 2.5.7 de Aurora PostgreSQL (p. 1760)
• Versión 2.5.6 de Aurora PostgreSQL (p. 1761)
• Versión 2.5.4 de Aurora PostgreSQL (p. 1761)
• Versión 2.5.3 de Aurora PostgreSQL (p. 1762)
• Versión de 2.5.2 de Aurora PostgreSQL (p. 1762)
• Versión 2.5.1 de Aurora PostgreSQL (p. 1763)
• Ninguno
1760
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• Ninguno
• Ninguno
1. Se ha corregido un error en la replicación Aurora PostgreSQL que podía dar como resultado el mensaje
de error ERROR: MultiXactId nnnn has not been created yet -- apparent wraparound.
1. Se ha corregido un error que, en casos raros, provocaba que la réplica de lectura breve no esté
disponible cuando el volumen de almacenamiento aumentaba.
2. Aurora PostgreSQL Serverless ahora admite la ejecución de consultas en todas las conexiones durante
un evento de escala.
3. Se ha corregido un error en Aurora PostgreSQL Serverless en el que un bloqueo filtrado provocaba un
evento de escala prolongado.
4. Se ha corregido un error en el que la función aurora_replica_status mostraba identificadores de
servidor truncados.
5. Se ha corregido un error en Aurora PostgreSQL Serverless donde las conexiones que se migraban
durante un evento de escala se desconectarían con el mensaje: ERROR: could not open relation with
OID... (ERROR: no se pudo abrir la relación con OID...).
6. Se ha corregido un error en un índice GIST que podía provocar una condición de pérdida de memoria
después de promocionar una réplica de lectura de Aurora.
7. Rendimiento mejorado para los flujos de actividad de la base de datos.
8. Se ha corregido un error en los flujos de actividad de la base de datos en el que no se notificaba a los
clientes cuando terminaba una interrupción.
9. Se ha corregido un error en la extensión aws_s3 para el manejo de URL prefirmado que podría haber
provocado el mensaje de error Los nombres de bucket S3 con un punto (.) no son compatibles.
10.Se ha corregido un error en la extensión aws_s3 por el que un manejo incorrecto de errores podía
provocar fallos durante el proceso de importación.
11.Se ha corregido un error en la aws_s3 extensión por el que una importación podía bloquearse
indefinidamente si se tomaba un bloqueo exclusivo en la relación antes de comenzar la operación.
1. Se ha corregido un error que aparece cuando el operador NOT EXISTS devuelve incorrectamente
TRUE, que solo puede ocurrir cuando se produce el siguiente conjunto inusual de circunstancias:
• Una consulta está utilizando el operador NOT EXISTS.
1761
Amazon Aurora Guía del usuario de Aurora
Versiones de Aurora PostgreSQL
• La columna o las columnas que se están evaluando con respecto a la consulta externa en la
subconsulta NOT EXISTS contiene un valor NULL.
• No hay otro predicado en la subconsulta que elimine la necesidad de evaluar los valores NULL.
• El filtro utilizado en la subconsulta no utiliza una búsqueda de índice para su ejecución.
• El optimizador de consultas no convierte el operador en una unión.
• Ninguno
• Ninguno
1. Se ha corregido un error en Aurora PostgreSQL Serverless que provocaba que las consultas que se
ej