Migración de datos a Amazon Aurora con compatibilidad con PostgreSQL - Amazon Aurora

Migración de datos a Amazon Aurora con compatibilidad con PostgreSQL

Tiene varias opciones para migrar datos desde una base de datos a un clúster de base de datos de Edición compatible con Amazon Aurora PostgreSQL. Las opciones de migración dependen también de la base de datos desde la que se realiza la migración y del tamaño de los datos que se van a migrar. A continuación se muestran sus opciones:

Migración de una instancia de base de datos de RDS for PostgreSQL mediante una instantánea

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

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 de Amazon S3 a RDS para Aurora PostgreSQL

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.

nota

Actualmente, el clúster de base de datos de Aurora PostgreSQL no permite habilitar la autenticación Kerberos durante la migración desde RDS para PostgreSQL. Solo puede habilitar la autenticación Kerberos en un clúster de base de datos de Aurora PostgreSQL independiente.

Para obtener una lista de las Regiones de AWS en las que está disponible Aurora, consulte Amazon Aurora en la Referencia general de AWS.

importante

Si planea migrar una instancia de base de datos de RDS for PostgreSQL a un clúster de base de datos de Aurora PostgreSQL en un futuro próximo, se recomienda encarecidamente que desactive 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.

Migración de una instantánea de una instancia de base de datos de RDS for PostgreSQL a un clúster de base de datos de Aurora PostgreSQL

Para crear un clúster de base de datos de Aurora PostgreSQL, puede migrar una instantánea de base de datos de una instancia de base de datos de RDS for PostgreSQL. El nuevo clúster de base de datos de Aurora PostgreSQL se completa con los datos de la instancia de base de datos de RDS for PostgreSQL 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 Región de AWS 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 for PostgreSQL 11.1 se puede migrar a las versiones 11.4, 11.7, 11.8 u 11.9 de Aurora PostgreSQL en la región Oeste de EE. UU. (Norte de California). Una instantánea de RDS for 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.

Para migrar una instantánea de base de datos PostgreSQL con la consola de RDS, realice el siguiente procedimiento:
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. Elija Snapshots (Instantáneas).

  3. En la página Snapshots (Instantáneas), elija la instantánea de RDS for PostgreSQL que desea migrar a un clúster de base de datos de Aurora PostgreSQL.

  4. Elija Actions (Acciones) y elija Migrate snapshot (Migrar instantánea).

  5. Defina los siguientes valores en la página Migrate Database (Migrar base de datos):

    • 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 instancias de bases de datos): ingrese un nombre para el clúster de base de datos que sea único para su cuenta en la Región de AWS que eligió. 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 eligió, por ejemplo, aurora-cluster1.

      El identificador de instancias de bases de datos tiene las siguientes limitaciones:

      • Debe incluir entre 1 y 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 por cada cuenta de AWS y por cada Región de AWS.

    • 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.r6g.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. Por lo tanto, solo tiene que elegir 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 Amazon Aurora.

    • 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 más información acerca de la creación de una VPC, consulte Tutorial: Creación de una VPC para utilizarla con un clúster de base de datos (solo IPv4).

      De lo contrario, puede optar por hacer que Amazon RDS cree una VPC por usted eligiendo Create a new VPC (Crear una VPC nueva).

    • DB Subnet Group (Grupo de subred de BD): 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.

      nota

      No es necesario que su clúster de base de datos de producción esté en una subred pública, ya que solo los servidores de su aplicación necesitan acceso a su clúster de base de datos. Si no es necesario que su clúster de base de datos esté en una subred pública, defina Public Access (Acceso público) como No.

    • VPC security group (Grupo de seguridad de VPC): elija un grupo de seguridad de VPC para permitir el acceso a la base de datos.

    • Availability Zone (Zona de disponibilidad): elija la zona de disponibilidad para alojar la instancia principal de su clúster de base de datos Aurora PostgreSQL. Para hacer que Amazon RDS elija un valor de Availability Zone (Zona de disponibilidad), elija No Preference (Sin preferencia).

    • Database Port (Puerto de base de datos): especifique el puerto predeterminado que se utilizará al conectar a instancias del clúster de base de datos Aurora PostgreSQL. El valor predeterminado es 5432.

      nota

      Es posible que se encuentre detrás de un firewall de una compañía que no permite el acceso a los puertos predeterminados, como el puerto predeterminado de PostgreSQL, el 5432. 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 PostgreSQL.

    • Enable Encryption (Habilitar cifrado): elija Enable Encryption (Habilitar cifrado) para que el nuevo clúster de base de datos de Aurora PostgreSQL se cifre en reposo. Elija también una clave de KMS como valor de AWS KMS key.

    • Auto Minor Version Upgrade (Actualización automática de versiones secundarias): seleccione Enable auto minor version upgrade (Habilitar actualización automática de versiones secundarias) si desea habilitar su clúster de base de datos Aurora PostgreSQL para recibir actualizaciones de las versiones secundarias del motor de base de datos PostgreSQL automáticamente cuando estén disponibles.

      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. Cuando se complete la migración, el estado del clúster será Available (Disponible). En la pestaña Connectivity & security (Conectividad y seguridad), puede encontrar el punto de enlace del clúster que se va a utilizar 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.

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
  1. Use el comando describe-db-snapshots para obtener información sobre la instantánea de base de datos que desea migrar. Puede especificar el parámetro --db-instance-identifier o el --db-snapshot-identifier en el comando. Si no especifica uno de estos parámetros, obtendrá todas las instantáneas.

    aws rds describe-db-snapshots --db-instance-identifier <your-db-instance-name>
  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:

    • --db-cluster-identifier: el nombre que desea dar al clúster de base de datos de Aurora PostgreSQL. Este clúster de base de datos de Aurora es el destino de la migración de la instantánea de base de datos.

    • --snapshot-identifier: el nombre de recurso de Amazon (ARN) de la instantánea de base de datos que se va a migrar.

    • --engine: especifica aurora-postgresql para el motor del clúster de bases de datos de Aurora.

    • --kms-key-id: este parámetro opcional le permite crear un clúster de base de datos de Aurora PostgreSQL cifrado a partir de una instantánea de base de datos sin cifrar. También le permite elegir una clave de cifrado diferente para el clúster de base de datos que la clave utilizada para la instantánea de base de datos.

      nota

      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.

    Sin el parámetro --kms-key-id especificado como se muestra a continuación, el comando de la AWS CLI restore-db-cluster-from-snapshot crea un clúster de base de datos de Aurora PostgreSQL vacío que está cifrado con la misma clave que la instantánea de base de datos o no está cifrado si la instantánea de base de datos de origen no está cifrada.

    Para Linux, macOS o Unix:

    aws rds restore-db-cluster-from-snapshot \ --db-cluster-identifier cluster-name \ --snapshot-identifier arn:aws:rds:aws-region:111122223333:snapshot:your-snapshot-name \ --engine aurora-postgresql

    En Windows:

    aws rds restore-db-cluster-from-snapshot ^ --db-cluster-identifier new_cluster ^ --snapshot-identifier arn:aws:rds:aws-region:111122223333:snapshot:your-snapshot-name ^ --engine aurora-postgresql
  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.

    aws rds describe-db-clusters --db-cluster-identifier cluster-name
  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:

    • --db-cluster-identifier: el nombre del nuevo clúster de base de datos Aurora PostgreSQL que creó en el paso anterior.

    • --db-instance-identifier: el nombre que desea dar a la instancia de base de datos. Esta instancia se convierte en el nodo principal de su clúster de base de datos de Aurora PostgreSQL.

    • ----db-instance-class : especifica la clase de instancia de base de datos que se va a usar. Elija una de las clases de instancia de base de datos admitidas por la versión de Aurora PostgreSQL a la que va a migrar. Para obtener más información, consulte Tipos de clase de instancia de base de datos y Motores de base de datos compatibles para clases de instancia de base de datos.

    • --engine: especifica aurora-postgresql para la instancia de base de datos.

    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 Linux, macOS o Unix:

    aws rds create-db-instance \ --db-cluster-identifier cluster-name \ --db-instance-identifier --db-instance-class db.instance.class \ --engine aurora-postgresql

    En Windows:

    aws rds create-db-instance ^ --db-cluster-identifier cluster-name ^ --db-instance-identifier --db-instance-class db.instance.class ^ --engine aurora-postgresql

Cuando finaliza el proceso de migración, el clúster de Aurora PostgreSQL tiene una instancia de base de datos principal rellenada.

Migración de datos desde una instancia de base de datos de RDS for PostgreSQL a un clúster de base de datos de Aurora PostgreSQL utilizando una réplica de lectura de Aurora

Para realizar el proceso de migración, puede utilizar una instancia de base de datos de RDS for PostgreSQL como base para un nuevo clúster de base de datos de Aurora PostgreSQL mediante el uso de una réplica de lectura de Aurora. La opción de réplica de lectura de Aurora solo está disponible para migrar dentro de la misma Región de AWS y cuenta, y solo está disponible si la región ofrece una versión compatible de Aurora PostgreSQL para su instancia de base de datos de RDS for PostgreSQL. Compatible significa que la versión de Aurora PostgreSQL es la misma que la versión de RDS for PostgreSQL o que es una versión secundaria superior de la misma familia de versiones principales.

Por ejemplo, para utilizar esta técnica de migración de una instancia de base de datos de RDS for PostgreSQL 11.14, la región debe ofrecer la versión 11.14 de Aurora PostgreSQL o una versión secundaria superior de la familia PostgreSQL, versión 11.

Información general de la migración de datos mediante una réplica de lectura de Aurora

La migración desde una instancia de base de datos de RDS for PostgreSQL a un clúster de base de datos de Aurora PostgreSQL es un procedimiento que consta de varios pasos. En primer lugar, cree una réplica de lectura de Aurora de su instancia de base de datos de RDS for PostgreSQL de origen. Esto inicia un proceso de replicación desde la instancia de base de datos de RDS for PostgreSQL a un clúster de base de datos específico conocido como clúster de réplicas. El clúster de réplicas consiste únicamente en una réplica de lectura de Aurora (una instancia de lector).

Una vez que exista el clúster de réplicas, supervise el retraso entre este y el origen de la instancia de base de datos de RDS for PostgreSQL. Cuando el retraso de la réplica es cero (0), puede promocionar el clúster de réplicas. La replicación se detiene, el clúster de réplicas se convierte en un clúster de base de datos independiente de Aurora y el lector se convierte en una instancia de escritor para el clúster. A continuación, puede agregar instancias al clúster de base de datos de Aurora PostgreSQL para dimensionar el clúster de base de datos de Aurora PostgreSQL para su caso de uso. También puede eliminar la instancia de base de datos de RDS for PostgreSQL si no va a necesitarla más.

nota

La migración puede tardar varias horas por tebibyte de datos en completarse.

No puede crear una réplica de lectura de Aurora si su instancia de base de datos de RDS for PostgreSQL ya tiene una réplica de lectura de Aurora o si tiene una réplica de lectura entre regiones.

Preparación para la migración de datos mediante una réplica de lectura de Aurora

Durante el proceso de migración mediante la réplica de lectura de Aurora, las actualizaciones que se efectúan 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 del clúster de réplicas. El proceso utiliza la funcionalidad de replicación de streaming nativa de PostgreSQL, que almacena segmentos de registros de escritura anticipada (WAL) en la instancia de origen. Antes de iniciar este proceso de migración, asegúrese de que su instancia disponga de una capacidad de almacenamiento suficiente mediante la verificación de los valores de las métricas enumeradas en la tabla.

Métrica Descripción

FreeStorageSpace

Espacio de almacenamiento disponible.

Unidades: bytes

OldestReplicationSlotLag

Tamaño de retardo de datos de WAL en la replica con mayor retardo.

Unidades: megabytes

RDSToAuroraPostgreSQLReplicaLag

Cantidad de tiempo en segundos de retardo de un clúster de base de datos de Aurora PostgreSQL con respecto a la instancia de base de datos de RDS de origen.

TransactionLogsDiskUsage

Espacio en disco utilizado por los logs de transacciones.

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.

Creación de una réplica de lectura de Aurora

Puede crear una réplica de lectura de Aurora para una instancia de base de datos de RDS for PostgreSQL a través de la AWS Management Console y la AWS CLI. La opción de crear una réplica de lectura de Aurora mediante la AWS Management Console solo está disponible si la Región de AWS ofrece una versión compatible de Aurora PostgreSQL. Es decir, solo se encuentra disponible si existe una versión de Aurora PostgreSQL que sea la misma que la versión de RDS for PostgreSQL, o bien, que sea una versión secundaria superior de la misma familia de versiones principales.

Para crear una réplica de lectura de Aurora a partir de una instancia de base de datos PostgreSQL
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Databases (Bases de datos).

  3. Elija la instancia de base de datos de RDS for PostgreSQL que quiera usar como origen para su réplica de lectura de Aurora. En Actions (Acciones), elija Create Aurora read replica (Crear réplica de lectura de Aurora). Si esta opción no se muestra, significa que una versión compatible de Aurora PostgreSQL no está disponible en la región.

    
                                    Creación de una réplica de lectura de Aurora
  4. En la página de configuración Create Aurora read replica (Crear réplica de lectura de Aurora), se configuran las propiedades del clúster de base de datos de Aurora PostgreSQL, tal como se muestra en la siguiente tabla. El clúster de la base de datos de réplica se crea a partir de una instantánea de la instancia de base de datos de origen con el mismo nombre de usuario y contraseña “maestros” que el origen, por lo que no puede cambiarlos en este momento.

    Opción Descripción

    DB instance class (Clase de instancia de base de datos)

    Elija una clase de instancia de base de datos que cumpla con los requisitos de procesamiento y memoria para la instancia principal del clúster de base de datos. Para obtener más información, consulte Clases de instancia de base de datos de Aurora.

    Multi-AZ deployment (Implementación Multi-AZ)

    No se encuentra disponible durante la migración

    DB Instance Identifier (Identificador de instancias de bases de datos)

    Ingrese el nombre que desea dar a la instancia de base de datos. Este identificador se utiliza en la dirección del punto de enlace de la instancia principal del nuevo clúster de base de datos.

    El identificador de instancias de bases de datos tiene las siguientes limitaciones:

    • Debe incluir entre 1 y 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 de AWS.

    Virtual Private Cloud (VPC) (Nube virtual privada)

    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.

    Grupo de subred de base de datos

    Elija el grupo de subredes de base de datos que desea utilizar para el clúster de base de datos. Elija Create new DB subnet group (Crear nuevo grupo de subredes de base de datos) para que Amazon RDS cree un grupo de subredes de base de datos. Para obtener más información, consulte Requisitos previos de clúster de base de datos.

    Public accessibility (Accesibilidad pública)

    Elija Yes (Sí) para asignar al clúster de base de datos 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 un clúster de base de datos en una VPC desde Internet..

    Availability zone (Zona de disponibilidad)

    Determine si desea especificar una zona de disponibilidad concreta. Para obtener más información acerca de las zonas de disponibilidad, consulte Regiones y zonas de disponibilidad.

    VPC security groups

    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.

    Database port (Puerto de base de datos)

    Especifique el puerto que deben usar las aplicaciones 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.

    Grupo de parámetros de base de datos

    Elija un grupo de parámetros de base de datos para el clúster de base de datos de Aurora PostgreSQL. Aurora tiene un grupo de parámetros de base de datos predeterminado que puede utilizar. Si lo prefiere, puede crear su propio grupo de parámetros de base de datos. Para obtener más información acerca de los grupos de parámetros de base de datos, consulte Working with parameter groups (Trabajar con grupos de parámetros).

    Grupo de parámetros de clúster de base de datos

    Elija un grupo de parámetros de clúster de base de datos para el clúster de base de datos de Aurora PostgreSQL. Aurora cuenta con un grupo de parámetros de clúster de base de datos predeterminado que puede utilizar. Si lo prefiere, puede crear su propio grupo de parámetros de clúster de base de datos. Para obtener más información acerca de los grupos de parámetros de clúster de base de datos, consulte Working with parameter groups (Trabajar con grupos de parámetros).

    Cifrado

    Elija Enable encryption (Habilitar cifrado) para que el nuevo clúster de base de datos de Aurora se cifre en reposo. Si elige Enable encryption (Habilitar cifrado), elija también una clave de KMS como valor de AWS KMS key.

    Prioridad

    Elija una prioridad de conmutación por error para el clúster de base de datos. Si no elije un valor, el ajuste predeterminado es tier-1. Esta prioridad determina el orden en que se promueven las réplicas de Aurora 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.

    Backup retention period (Periodo de retención de copia de seguridad)

    Elija el tiempo (entre 135 y 35 días) durante el que Aurora 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.

    Enhanced monitoring (Supervisión mejorada)

    Elija Enable enhanced monitoring (Habilitar monitorización mejorada) a fin de habilitar la recopilación de métricas en tiempo real para el sistema operativo en el que se ejecuta su clúster de base de datos. Para obtener más información, consulte Supervisión de las métricas del sistema operativo con Supervisión mejorada.

    Monitoring Role (Rol de supervisión)

    Solo está disponible si eligió Enable Enhanced Monitoring (Habilitar monitorización mejorada). El rol de AWS Identity and Access Management (IAM) que se debe usar para Enhanced Monitoring. Para obtener más información, consulte Configuración y habilitación del monitoreo mejorado.

    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 (Actualización automática de versiones secundarias)

    Elija Yes (Sí) para habilitar el clúster de base de datos de Aurora PostgreSQL para recibir actualizaciones de las versiones secundarias del motor de base de datos PostgreSQL automáticamente cuando estén disponibles.

    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.

    Periodo de mantenimiento

    Elija el intervalo de tiempo semanal durante el que se puede llevar a cabo el mantenimiento del sistema.

  5. Elija Create read replica (Crear réplica de lectura).

Para crear una réplica de lectura de Aurora a partir de una instancia de base de datos de RDS for PostgreSQL de origen mediante la AWS CLI, use el comando de la CLI create-db-cluster para crear un clúster de base de datos de Aurora vacío. Cuando exista el clúster de base de datos, utilice el comando create-db-instance para crear 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 bases de datos de Aurora. En este caso, se crea inicialmente como una réplica de lectura de Aurora de su instancia de base de datos de RDS for PostgreSQL. Cuando concluya el proceso, la instancia de base de datos de RDS for PostgreSQL se habrá migrado de forma efectiva a un clúster de base de datos de Aurora PostgreSQL.

No tiene que especificar la cuenta de usuario principal (normalmente, postgres), su contraseña o el nombre de la base de datos. La réplica de lectura de Aurora las obtiene automáticamente a partir de la instancia de base de datos de RDS for PostgreSQL de origen que identifica al invocar los comandos AWS CLI.

Necesita especificar la versión del motor que se va a utilizar para el clúster de base de datos de Aurora PostgreSQL y la instancia de base de datos. La versión que especifique debe coincidir con la instancia de base de datos de RDS for PostgreSQL de origen. Si la instancia de base de datos de RDS for PostgreSQL de origen está cifrada, debe especificar también el cifrado para la instancia principal del clúster de base de datos de Aurora PostgreSQL. No se admite la migración de una instancia cifrada a un clúster de base de datos Aurora sin cifrar.

Los siguientes ejemplos crean un clúster de base de datos de Aurora PostgreSQL denominado my-new-aurora-cluster que va a utilizar una instancia de base de datos RDS de origen sin cifrar. En primer lugar, cree el clúster de base de datos de Aurora PostgreSQL llamando al comando create-db-clusterde la CLI. En el ejemplo se muestra cómo utilizar el parámetro --storage-encrypted opcional para especificar que el clúster de base de datos debe cifrarse. Debido a que la base de datos de origen no está cifrada, --kms-key-id se utiliza para especificar la clave que se debe usar. Para obtener más información sobre los parámetros obligatorios y opcionales, consulte la lista que sigue al ejemplo.

Para Linux, macOS o Unix:

aws rds create-db-cluster \ --db-cluster-identifier my-new-aurora-cluster \ --db-subnet-group-name my-db-subnet --vpc-security-group-ids sg-11111111 --engine aurora-postgresql \ --engine-version same-as-your-rds-instance-version \ --replication-source-identifier arn:aws:rds:aws-region:111122223333:db/rpg-source-db \ --storage-encrypted \ --kms-key-id arn:aws:kms:aws-region:111122223333:key/11111111-2222-3333-444444444444

En Windows:

aws rds create-db-cluster ^ --db-cluster-identifier my-new-aurora-cluster ^ --db-subnet-group-name my-db-subnet ^ --vpc-security-group-ids sg-11111111 ^ --engine aurora-postgresql ^ --engine-version same-as-your-rds-instance-version ^ --replication-source-identifier arn:aws:rds:aws-region:111122223333:db/rpg-source-db ^ --storage-encrypted ^ --kms-key-id arn:aws:kms:aws-region:111122223333:key/11111111-2222-3333-444444444444

En la siguiente lista encontrará más información sobre algunas de las opciones que se muestran en el ejemplo. A menos que se especifique lo contrario, estos parámetros son obligatorios.

  • --db-cluster-identifier: debe asignar un nombre a su nuevo clúster de base de datos de Aurora PostgreSQL.

  • --db-subnet-group-name: cree su clúster de base de datos de Aurora PostgreSQL en la misma subred de base de datos que la instancia de base de datos de origen.

  • --vpc-security-group-ids: especifique el grupo de seguridad del clúster de base de datos de Aurora PostgreSQL.

  • --engine-version: especifique la versión que se va a utilizar para el clúster de base de datos de Aurora PostgreSQL. Debería ser la misma que la versión utilizada por su instancia de base de datos de RDS for PostgreSQL de origen.

  • --replication-source-identifier: identifique la instancia de base de datos de RDS for PostgreSQL con su 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) en la Referencia general de AWS de su clúster de base de datos.

  • --storage-encrypted: opcional. Úsela solo cuando sea necesario para especificar el cifrado de la siguiente manera:

    • Utilice este parámetro cuando la instancia de base de datos de origen tenga almacenamiento cifrado. La llamada a create-db-cluster falla si no utiliza este parámetro con una instancia de base de datos de origen que tenga almacenamiento cifrado. Si desea utilizar una clave distinta para el clúster de base de datos de Aurora PostgreSQL a la clave utilizada por la instancia de base de datos de origen, debe especificar también --kms-key-id.

    • Utilice este parámetro si el almacenamiento de la instancia de base de datos de origen no está cifrado pero desea que el clúster de base de datos de Aurora PostgreSQL utilice el cifrado. Si es así, también deberá identificar la clave de cifrado que se va a utilizar con el parámetro --kms-key-id.

  • --kms-key-id: opcional. Si se utiliza, puede especificar la clave que se va a utilizar para el cifrado de almacenamiento (--storage-encrypted) mediante el ARN, el ID, el alias ARN o el nombre de alias de la clave. Este parámetro solo es necesario para las siguientes situaciones:

    • Para elegir una clave distinta para el clúster de base de datos de Aurora PostgreSQL a la utilizada por la instancia de base de datos de origen.

    • Para crear un clúster cifrado a partir de un origen sin cifrar. En este caso, debe especificar la clave que Aurora PostgreSQL debe utilizar para el cifrado.

Después de crear el clúster de base de datos de Aurora PostgreSQL, cree la instancia principal mediante el comando de la CLI create-db-instance, tal y como se muestra en la siguiente:

Para Linux, macOS o Unix:

aws rds create-db-instance \ --db-cluster-identifier my-new-aurora-cluster \ --db-instance-class db.x2g.16xlarge \ --db-instance-identifier rpg-for-migration \ --engine aurora-postgresql

En Windows:

aws rds create-db-instance ^ --db-cluster-identifier my-new-aurora-cluster ^ --db-instance-class db.x2g.16xlarge ^ --db-instance-identifier rpg-for-migration ^ --engine aurora-postgresql

En la siguiente lista encontrará más información sobre algunas de las opciones que se muestran en el ejemplo.

  • --db-cluster-identifier: especifique el nombre del nuevo clúster de base de datos de Aurora PostgreSQL que creó en el paso anterior con el comando create-db-instance.

  • --db-instance-class: nombre de la clase de instancia de base de datos que se va a utilizar para la instancia principal, como db.r4.xlarge, db.t4g.medium, db.x2g.16xlarge, etc. Para obtener una lista de las clases de instancia de base de datos disponibles, consulte Tipos de clase de instancia de base de datos.

  • --db-instance-identifier: especifique el nombre que desea asignar a la instancia principal.

  • --engine aurora-postgresql: especifique aurora-postgresql para el motor.

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 primero la operación de la API de RDS CreateDBCluster para crear un nuevo clúster de base de datos de Aurora para la réplica de lectura de Aurora que se crea a partir de su instancia de base de datos de RDS for PostgreSQL de origen. Cuando el clúster de base de datos de Aurora PostgreSQL esté disponible, debe utilizar la CreateDBInstance para crear la instancia principal del clúster de base de datos de Aurora.

No tiene que especificar la cuenta de usuario principal (normalmente postgres), su contraseña o el nombre de la base de datos. La réplica de lectura de Aurora las obtiene automáticamente a partir de la instancia de base de datos de RDS for PostgreSQL de origen especificada con ReplicationSourceIdentifier.

Necesita especificar la versión del motor que se va a utilizar para el clúster de base de datos de Aurora PostgreSQL y la instancia de base de datos. La versión que especifique debe coincidir con la instancia de base de datos de RDS for PostgreSQL de origen. Si la instancia de base de datos de RDS for PostgreSQL de origen está cifrada, debe especificar también el cifrado para la instancia principal del clúster de base de datos de Aurora PostgreSQL. No se admite la migración de una instancia cifrada a un clúster de base de datos de Aurora sin cifrar.

Para crear el clúster de base de datos de Aurora para la réplica de lectura de Aurora, utilice la operación de la API de RDS CreateDBCluster con los siguientes parámetros:

  • DBClusterIdentifier: nombre del clúster de base de datos que se creará.

  • DBSubnetGroupName: nombre del grupo de subredes de la base de datos que desea asociar con este clúster de base de datos.

  • Engine=aurora-postgresql: nombre del motor que se debe utilizar.

  • ReplicationSourceIdentifier: nombre de recurso de Amazon (ARN) de la instancia de base de datos de 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 Amazon Web Services. Si ReplicationSourceIdentifier identifica un origen cifrado, Amazon RDS utiliza la clave KMS predeterminada a menos que especifique otra clave mediante la opción KmsKeyId.

  • VpcSecurityGroupIds: lista de grupos de seguridad de VPC de Amazon EC2 que asociar a este clúster de base de datos.

  • StorageEncrypted: indica si el clúster de base de datos está cifrado. Cuando utiliza este parámetro sin especificar también ReplicationSourceIdentifier, Amazon RDS utiliza la clave de KMS predeterminada.

  • KmsKeyId: clave de un clúster cifrado. Si se utiliza, puede especificar la clave que se va a utilizar para el cifrado de almacenamiento mediante el ARN, el ID, el ARN de alias o el nombre de alias de la clave.

Para obtener más información, consulte CreateDBCluster en la Referencia de la API de Amazon RDS.

Cuando el clúster de base de datos de Aurora esté disponible, puede crear una instancia principal para él con la operación CreateDBInstance de la API de RDS y los siguientes parámetros:

  • DBClusterIdentifier: nombre del clúster de base de datos.

  • DBInstanceClass: nombre de la clase de instancia de base de datos que se va a utilizar para la instancia principal.

  • DBInstanceIdentifier: nombre de la instancia principal.

  • Engine=aurora-postgresql: nombre del motor que se debe utilizar.

Para obtener más información, consulte CreateDBInstance en la Referencia de la API de Amazon RDS.

Promoción de una réplica de lectura de Aurora

La migración a Aurora PostgreSQL no está completa hasta que se promocione el clúster de réplicas, así que todavía no elimine la instancia de base de datos de origen de RDS for PostgreSQL.

Antes de promocionar el clúster de réplicas, asegúrese de que la instancia de base de datos de RDS for PostgreSQL no tenga transacciones en proceso ni escritura de otra actividad en la base de datos. Cuando el retraso de réplica en la réplica de lectura de Aurora llegue a cero (0), puede promocionar el clúster de réplicas. Para obtener más información sobre la supervisión del retraso de réplica, consulte Monitoreo de replicación de Aurora PostgreSQL y Métricas de nivel de instancia para Amazon Aurora.

Para promover una réplica de lectura de Aurora a un clúster de base de datos Aurora
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, seleccione Databases (Bases de datos).

  3. Elija el clúster de réplicas.

    
                                    Promocionar un clúster de réplicas a un estado completo del clúster de base de datos Aurora PostgreSQL
  4. En Actions (Acciones), seleccione Promote (Promover). Esto puede tardar unos minutos y causar tiempo de inactividad.

Cuando se completa el proceso, el clúster de réplica de Aurora es un clúster de base de datos regional de Aurora PostgreSQL, con una instancia de escritor que contiene los datos de la instancia de base de datos de RDS for PostgreSQL.

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.

ejemplo

Para Linux, macOS o Unix:

aws rds promote-read-replica-db-cluster \ --db-cluster-identifier myreadreplicacluster

En Windows:

aws rds promote-read-replica-db-cluster ^ --db-cluster-identifier myreadreplicacluster

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 .

Después de promocionar el clúster de réplicas, puede confirmar que la promoción se ha completado mediante la revisión del registro de eventos de la siguiente manera.

Para confirmar que se ha promocionado el clúster de réplicas de Aurora
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, seleccione Events.

  3. En la página Events (Eventos), busque el nombre de su clúster en la lista Source (Origen). Cada evento tiene un origen, un tipo, una hora y un mensaje. Puede ver todos los eventos que se han producido en su Región de AWS para su cuenta. Una promoción exitosa genera el siguiente mensaje.

    Promoted Read Replica cluster to a stand-alone database cluster.

Una vez que haya finalizado la promoción, la instancia de base de datos de RDS for PostgreSQL de origen y el clúster de base de datos de Aurora se desvinculan. Puede dirigir sus aplicaciones de cliente al punto de conexión para la réplica de lectura de Aurora. Para obtener más información acerca de los puntos de enlace de Aurora, consulte Administración de conexiones de Amazon Aurora. En ese momento, podrá eliminar de forma segura la instancia de base de datos.