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:
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
Elija Snapshots (Instantáneas).
-
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.
-
Elija Actions (Acciones) y elija Migrate snapshot (Migrar instantánea).
-
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.
-
-
Elija Migrate (Migrar) para migrar la instantánea de base de datos.
-
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
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>
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.
-
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
: especificaaurora-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-postgresqlEn: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 -
-
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
-
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
: especificaaurora-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-postgresqlEn: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.