Migración de una tabla mediante la exportación a S3 y la importación desde S3 - Amazon DynamoDB

Migración de una tabla mediante la exportación a S3 y la importación desde S3

Requisitos previos

Información sobre precios

AWS cobra por PITR (en función del tamaño de la tabla y del tiempo durante el que se habilite PITR). Si no necesita PITR salvo para la exportación, puede desactivarla una vez que termine. AWStambién cobra por las solicitudes realizadas en S3, por almacenar los datos exportados en S3 y por la importación (en función del tamaño sin comprimir de los datos importados).

Para obtener más información sobre los precios de DynamoDB, consulte Precios de DynamoDB.

nota

Hay límites en cuanto al tamaño y la cantidad de objetos al importar de S3 a DynamoDB. Para obtener más información, consulte Cuotas de importación.

Solicitud de una exportación de tabla a Amazon S3

  1. Inicie sesión en la consola de administración de AWS y abra la consola de DynamoDB.

  2. En el panel de navegación del lado izquierdo de la consola, elija Exports to S3 (Exportación a S3).

  3. Elija una tabla de origen y un bucket de S3 de destino. Introduzca la URL del bucket de la cuenta de destino con el formato s3://bucketname/prefix. /prefix es una carpeta opcional que lo ayuda a mantener organizado el bucket de destino.

  4. Seleccione Exportación completa. Una exportación completa genera la instantánea completa de la tabla en el momento que especifique.

    1. Seleccione Hora actual para exportar la instantánea completa de la tabla más reciente.

    2. En Formato de archivo exportado, elija entre DynamoDB JSON y Amazon Ion. La opción predeterminada es DynamoDB JSON.

  5. Haga clic en el botón Export (Exportar) para comenzar la exportación.

  6. Las exportaciones de tablas pequeñas deberían completarse en unos minutos, pero las tablas que tienen terabytes pueden tardar más de una hora.

Solicitud de la importación de una tabla desde Amazon S3

  1. Inicie sesión en la consola de administración de AWS y abra la consola de DynamoDB.

  2. En el panel de navegación del lado izquierdo de la consola, elija Import from S3 (Importar desde S3).

  3. En la página que aparece, seleccione Import from S3 (Importar desde S3).

  4. Introduzca la URL de origen de Amazon S3. También puede encontrarla si utiliza el botón Buscar S3. La ruta esperada tiene el formato s3://bucket/prefix/AWSDynamoDB/<XXXXXXXX-XXXXXX>/data/.

  5. Especifique si es S3 bucket owner (Propietario del bucket de S3).

  6. En Compresión de archivos de importación, seleccione GZIP para que coincida con la de la exportación.

  7. En Formato de archivo de importación, seleccione DynamoDB JSON para que coincida con el de la exportación.

  8. Seleccione Siguiente. En Especificar los detalles de la tabla, elija las opciones de la nueva tabla que se creará para almacenar los datos.

  9. Seleccione Siguiente. En Configurar la configuración de la tabla, personalice cualquier ajuste adicional de la tabla, si procede.

  10. Vuelva a seleccionar Next (Siguiente) para revisar las opciones de importación y, a continuación, haga clic en Import (Importar) para iniciar la tarea de importación. Verá la nueva tabla en Importaciones desde S3 con el estado Importando. No puede acceder a la tabla durante este tiempo. Las importaciones pequeñas deberían completarse en unos minutos, pero las tablas que tienen terabytes pueden tardar más de una hora.

  11. Una vez completada la importación, el estado se muestra como Activo y puede empezar a utilizar la tabla.

Mantenimiento de las tablas sincronizadas durante la migración

Si puede pausar las operaciones de escritura en la tabla de origen durante la migración, el origen y la salida deberían coincidir exactamente después de la migración. Si no puede pausar las operaciones de escritura, lo normal es que la tabla de destino se quede un poco por detrás de la de origen tras la migración. Para poner al día la tabla de origen, puede utilizar flujos (DynamoDB Streams o Kinesis Data Streams para DynamoDB) para reproducir las escrituras que se produjeron en la tabla de origen desde la copia de seguridad o la exportación.

Debería empezar leyendo los registros de flujo antes de la fecha y hora en que exportó la tabla de origen a S3. Por ejemplo, si la exportación a S3 se produjo a las 14:00 horas y la importación a la tabla de destino concluyó a las 23:00 horas, deberá iniciar la lectura del flujo de DynamoDB a las 13:58 horas. La tabla de opciones de flujo para la captura de datos de cambios resume las características de cada modelo de flujo.

El uso de DynamoDB Streams con Lambda ofrece un enfoque simplificado para sincronizar los datos entre las tablas de DynamoDB de origen y destino. Puede utilizar una función de Lambda para reproducir cada escritura de la tabla de destino.

nota

Los elementos se mantienen en DynamoDB Streams durante 24 horas, por lo que debe planificar la realización de su copia de seguridad y restauración o la exportación e importación dentro de ese periodo de tiempo.