Clonación de un volumen de clúster de base de datos de Amazon DocumentDB - Amazon DocumentDB

Clonación de un volumen de clúster de base de datos de Amazon DocumentDB

Con la clonación de Amazon DocumentDB, puede crear un nuevo clúster que utilice el mismo volumen de clúster de Amazon DocumentDB y tenga los mismos datos que el original. El proceso está diseñado para ser rápido y rentable. El nuevo clúster con su volumen de datos asociado se conoce como clon. La creación de un clon es más rápido y más eficiente en el espacio que copiar físicamente los datos mediante una técnica diferente, como la restauración de una instantánea.

Amazon DocumentDB admite la creación de un clon aprovisionado de Amazon DocumentDB a partir de un clúster de Amazon DocumentDB aprovisionado. 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 Amazon DocumentDB.

Cuando crea clones desde sus clústeres de base de datos de Amazon DocumentDB, los clones se crean en su cuenta de AWS: la misma cuenta que posee el clúster de base de datos de Amazon DocumentDB de origen.

Información general de la clonación de Amazon DocumentDB

Amazon DocumentDB utiliza un protocolo de copia en escritura para crear un clon. Este mecanismo utiliza un espacio adicional mínimo para crear un clon inicial. Cuando se crea el clon por primera vez, Amazon DocumentDB guarda una sola copia de los datos que utiliza el clúster de base de datos de Amazon DocumentDB de origen y el nuevo clúster de base de datos de Amazon DocumentDB (clonado). El almacenamiento adicional solo se asigna cuando el clúster de base de datos de Amazon DocumentDB de origen o el clon del clúster de base de datos de Amazon DocumentDB realizan cambios en los datos (en el volumen de almacenamiento de Amazon DocumentDB). Para obtener más información sobre el protocolo de copia en escritura, consulte Cómo funciona la clonación de Amazon DocumentDB.

La clonación de Amazon DocumentDB 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.

  • 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 Amazon DocumentDB. También puede crear varios clones desde otro clon.

Tras crear un clon de Amazon DocumentDB, puede configurar las instancias de Amazon DocumentDB de forma diferente a la del clúster de Amazon DocumentDB 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 Amazon DocumentDB de producción de origen. En este caso, puede configurar el clon con una única instancia de base de datos de Amazon DocumentDB en lugar de las múltiples instancias de base de datos utilizadas por el clúster de base de datos de Amazon DocumentDB.

Cuando termine de utilizar el clon para realizar pruebas, desarrollo u otros fines, puede eliminarlo.

Limitaciones de la clonación de Amazon DocumentDB

La clonación de Amazon DocumentDB tiene las siguientes limitaciones:

  • Puede crear tantos clones como desee, hasta el número máximo de clústeres de base de datos permitido en la Región de AWS. No obstante, después de crear 15 clones, el siguiente es una copia completa. La operación de clonación actúa como una recuperación a un momento dado.

  • No se puede crear un clon en una región de AWS distinta a la del clúster de base de datos de Amazon DocumentDB de origen.

  • No se puede crear un clon desde un clúster de base de datos de Amazon DocumentDB que no tiene instancias de base de datos. Solo se pueden clonar clústeres de base de datos de Amazon DocumentDB que tengan al menos una instancia de base de datos.

  • Se puede crear un clon en una nube privada virtual (VPC) diferente de la del clúster de base de datos de Amazon DocumentDB. Sin embargo, las subredes de esas VPC deben estar asignadas al mismo conjunto de zonas de disponibilidad.

Cómo funciona la clonación de Amazon DocumentDB

La clonación de Amazon DocumentDB funciona en la capa de almacenamiento de un clúster de Amazon DocumentDB. Utiliza un protocolo copy-on-write que es rápido y eficiente en el espacio en términos de los medios permanentes subyacentes que soportan el volumen de almacenamiento de Amazon DocumentDB. Puede obtener más información sobre volúmenes de clúster de Amazon DocumentDB en Administración de clústeres de Amazon DocumentDB.

Descripción del protocolo de copia en escritura

Un clúster de Amazon DocumentDB almacena datos en páginas en el volumen de almacenamiento de Amazon DocumentDB subyacente.

Por ejemplo, en el siguiente diagrama puede encontrar un clúster de base de datos de Amazon DocumentDB (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 Amazon DocumentDB. 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 Amazon DocumentDB de origen.

Volumen del clúster de Amazon DocumentDB con 4 páginas para clúster de origen, A y clon, B

Cuando se crea el clon, generalmente no se necesita almacenamiento adicional. El protocolo de copia en escritura utiliza el mismo segmento en los medios de almacenamiento físico que el segmento de origen. Solo se requiere almacenamiento adicional si la capacidad del segmento de origen no es suficiente para todo el segmento de clones. Si ese es el caso, el segmento de origen se copia en otro dispositivo físico.

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 Amazon DocumentDB (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, Amazon DocumentDB crea una nueva página 1 [A]. El volumen del clúster de base de datos de Amazon DocumentDB 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.

Volumen del clúster de base de datos de origen de Amazon DocumentDB y su clon, ambos con cambios.

En el clon, se realiza un cambio en la página 4 del volumen de almacenamiento. En lugar de escribir en la página original 4, Amazon DocumentDB crea una nueva página 4 [B]. El clon ahora apunta a las páginas 1, 2, 3 y a la página 4 [B], mientras que el clúster (A) continúa apuntando a 1 [A], 2, 3 y 4.

Volumen del clúster de base de datos de origen de Amazon DocumentDB y su clon, ambos con cambios.

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 Amazon DocumentDB de origen, necesitará cada vez más almacenamiento para capturar y almacenar los cambios.

Eliminación de un volumen del clúster de origen

Cuando elimina un volumen del clúster de origen que tiene uno o más clones asociados, los clones no se ven afectados. Los clones siguen apuntando a las páginas que antes pertenecían al volumen del clúster de origen.

Creación de un clon de Amazon DocumentDB

Puede crear un clon en la misma cuenta de AWS como clúster de base de datos de Amazon DocumentDB de origen. Para ello, puede utilizar la AWS Management Console o la AWS CLI, y los procedimientos siguientes.

Al utilizar la clonación de Amazon DocumentDB, puede crear un clon de clúster de Amazon DocumentDB aprovisionado a partir de un clúster de Amazon DocumentDB aprovisionado.

Using the AWS Management Console

El siguiente procedimiento describe cómo clonar un clúster de Amazon DocumentDB usando la AWS Management Console.

Crear un clon con la AWS Management Console da lugar a un clúster de Amazon DocumentDB con una instancia de Amazon DocumentDB.

Estas instrucciones se aplican a los clústeres de base de datos que pertenecen a la misma cuenta de AWS que crea la clonación. El clúster de base de datos debe ser propiedad de la misma cuenta de AWS, ya que Amazon DocumentDB no admite la clonación entre cuentas.

Creación de un clon de un clúster de base de datos propiedad de la cuenta de AWS mediante el comando de la AWS Management Console
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon DocumentDB en https://console.aws.amazon.com/docdb.

  2. En el panel de navegación, seleccione Clusters (Clústeres).

  3. Elija su clúster de base de datos de Amazon DocumentDB de la lista y para Acciones, elija Crear clon.

    La creación de un clon comienza seleccionando su clúster de base de datos de Amazon DocumentDB.

    Se abre la página Crear clon, donde puede configurar un Identificador de clúster y una Clase de instancia, y otras opciones para el clon del clúster de Amazon DocumentDB.

  4. En la sección Settings, realice lo siguiente:

    1. 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 Amazon DocumentDB clonado.

    2. Para la Configuración de instancias, seleccione una Clase de instancia adecuada para su clúster clonado de Amazon DocumentDB.

      La creación de un clon comienza seleccionando su clúster de Amazon DocumentDB y especificando el tamaño de la instancia de base de datos.
    3. En la Configuración de red, elija un Grupo de subredes para su caso de uso y los grupos de seguridad de VPC asociados.

    4. Respecto a Cifrado en reposo, si el clúster de origen (el clúster que se está clonando) tiene el cifrado activado, el clúster clonado también debe tenerlo activado. Si se da este escenario, las opciones de Habilitar el cifrado aparecen atenuadas (deshabilitadas), pero con la opción Habilitar el cifrado seleccionada. Por el contrario, si el clúster de origen no tiene el cifrado habilitado, están disponibles las opciones de Habilitar el cifrado y puede elegir habilitar o deshabilitar el cifrado.

      Especifique la configuración de red y cifrado para el clon del clúster de Amazon DocumentDB.
    5. Complete la nueva configuración del clon del clúster seleccionando el tipo de registros que desea exportar (opcional), introduciendo un puerto específico utilizado para conectarse al clúster y habilitando la protección contra la eliminación accidental del clúster (esta opción está habilitada de forma predeterminada).

      Complete la nueva configuración del clon del clúster seleccionando el tipo de registros que desea exportar (opcional), introduciendo un puerto específico utilizado para conectarse al clúster y habilitando la protección contra la eliminación accidental del clúster.
    6. Termine de ingresar todos los ajustes para su clon de clúster de base de datos de Amazon DocumentDB. Para obtener más información sobre la configuración del clúster y de la instancia de base de datos de Amazon DocumentDB, consulte Administración de clústeres de Amazon DocumentDB.

  5. Seleccione Crear clon para lanzar el clon de Amazon DocumentDB del clúster de Amazon DocumentDB que haya elegido.

Cuando se crea el clon, aparece junto con los otros clústeres de base de datos de Amazon DocumentDB en la sección Bases de datos de la consola y muestra su estado actual. Su clon está listo para utilizar cuando su estado es Available (Disponible).

Using the AWS CLI

El uso de la AWS CLI para clonar su clúster de base de datos de Amazon DocumentDB implica un par de pasos.

El comando restore-db-cluster-to-point-in-time de la AWS CLI que utiliza da como resultado un clúster de Amazon DocumentDB vacío con 0 instancias de Amazon DocumentDB. Es decir, el comando restaura solo el clúster de base de datos de Amazon DocumentDB, no las instancias de base de datos de dicho clúster. Lo hace por separado después de que el clon está disponible. Los dos pasos en el proceso son los siguientes:

  1. Cree el clon mediante el comando restore-db-cluster-to-point-in-time de la CLI. Los parámetros que utiliza con este comando controlan el tipo de capacidad y otros detalles del clúster vacío (clon) de base de datos de Amazon DocumentDB que se está creando.

  2. Cree la instancia de base de datos de Amazon DocumentDB para el clon mediante el comando create-db-instance de la CLI para volver a crear la instancia de base de datos de Amazon DocumentDB en el clúster de base de datos de Amazon DocumentDB restaurado.

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 la CLI que siguen.

Temas

    Creación del clon

    Los parámetros específicos que se pasan al comando restore-db-cluster-to-point-in-time de la CLI varían. Lo que pase dependerá del tipo de clon que desea crear.

    Utilice el siguiente procedimiento para crear un clon de Amazon DocumentDB aprovisionado a partir de un clúster de Amazon DocumentDB aprovisionado.

    Creación de un clon del mismo modo de motor que el clúster de base de datos de Amazon DocumentDB de origen
    • Utilice el comando restore-db-cluster-to-point-in-time de la CLI y especifique los valores para los siguientes parámetros:

      • --db-cluster-identifier: elija un nombre significativo para su clon. Se asigna un nombre al clon cuando se utiliza el comando restore-db-clúster-to-point-in-time de la CLI.

      • --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 Amazon DocumentDB en lugar de crear un clon. El valor predeterminado para restore-type es full-copy.

      • --source-db-cluster-identifier: utilice el nombre del clúster de base de datos de Amazon DocumentDB de origen que desea clonar.

      • --use-latest-restorable-time: este valor apunta a los datos de volumen restaurables más recientes para el clon. Este parámetro es obligatorio para restore-type copy-on-write, pero no se puede utilizar restore-to-time parameter con él.

    El siguiente ejemplo crea un clon del clúster de denominado my-clone desde un clúster denominado my-source-cluster.

    Para Linux, macOS o Unix:

    aws docdb restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier my-source-cluster \ --db-cluster-identifier my-clone \ --restore-type copy-on-write \ --use-latest-restorable-time

    Para Windows:

    aws docdb restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier my-source-cluster ^ --db-cluster-identifier my-clone ^ --restore-type copy-on-write ^ --use-latest-restorable-time

    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 a continuación:

    Comprobación del estado y obtención de detalles del clon

    Puede utilizar el siguiente comando para verificar el estado del clúster de base de datos vacío recién creado.

    $ aws docdb describe-db-clusters --db-cluster-identifier my-clone --query '*[].[Status]' --output text

    O puede obtener el estado y los otros valores que necesita para crear la instancia de base de datos para su clon mediante el uso de la siguiente consulta de la AWS CLI:

    Para Linux, macOS o Unix:

    aws docdb describe-db-clusters --db-cluster-identifier my-clone \ --query '*[].{Status:Status,Engine:Engine,EngineVersion:EngineVersion}'

    Para Windows:

    aws docdb describe-db-clusters --db-cluster-identifier my-clone ^ --query "*[].{Status:Status,Engine:Engine,EngineVersion:EngineVersion}"

    Esta consulta devuelve un resultado similar al siguiente:

    [ { "Status": "available", "Engine": "docdb", "EngineVersion": "4.0.0", } ]

    Creación de la instancia de Amazon DocumentDB para su clon

    Llame al comando create-db-instance de la CLI para crear la instancia de base de datos para su clon.

    El parámetro --db-instance-class se utiliza sólo para clústeres de base de datos aprovisionados de Amazon DocumentDB.

    Para Linux, macOS o Unix:

    aws docdb create-db-instance \ --db-instance-identifier my-new-db \ --db-cluster-identifier my-clone \ --db-instance-class db.r5.4xlarge \ --engine docdb

    Para Windows:

    aws docdb create-db-instance ^ --db-instance-identifier my-new-db ^ --db-cluster-identifier my-clone ^ --db-instance-class db.r5.4xlarge ^ --engine docdb

    Parámetros para utilizar durante la clonación

    En la siguiente tabla se resumen los diversos parámetros utilizados con restore-db-cluster-to-point-in-time para clonar clústeres de base de datos de Amazon DocumentDB.

    Parámetro Descripción

    --source-db-cluster-identifier

    Utilice el nombre del clúster de base de datos de Amazon DocumentDB de origen que desea 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.

    —restore-type

    Especifique copy-on-write como el --restore-type para crear un clon del clúster de base de datos de origen en lugar de restaurar el clúster de base de datos de Amazon DocumentDB de origen.

    --use-latest-restorable-time

    Este valor apunta a los datos de volumen restaurables más recientes para el clon.