Migración a un clúster cifrado con HSM
Para migrar un clúster sin cifrar a un clúster cifrado mediante un módulo de seguridad de hardware (HSM), debe crear un nuevo clúster cifrado y trasladar los datos al nuevo clúster. No puede realizar una migración a un clúster cifrado con HSM modificando el clúster.
Para migrar de un clúster sin cifrar a un clúster cifrado con HSM, primero debe descargar los datos del clúster de origen existente. A continuación, vuelva a cargar los datos en un clúster nuevo, o clúster de destino, con la configuración de cifrado que desee. Para obtener más información sobre cómo lanzar un clúster cifrado, consulte Cifrado de la base de datos de Amazon Redshift.
Durante el proceso de migración, el clúster de origen está disponible para consultas de solo lectura hasta el último paso. El último paso consiste en cambiar el nombre de los clústeres de destino y de origen, lo que cambia los puntos de enlace para que todo el tráfico se dirija al nuevo clúster de destino. El clúster de destino no está disponible hasta que se reinicia después de cambiarle el nombre. Suspenda todas las cargas de datos y otras operaciones de escritura en el clúster de origen mientras durante la transferencia de los datos.
Para preparar la migración
-
Identifique todos los sistemas dependientes que interactúan con Amazon Redshift, por ejemplo, las herramientas de inteligencia empresarial (BI) y los sistemas de extracción, transformación y carga (ETL).
-
Identifique las consultas de validación que permiten probar la migración.
Por ejemplo, puede utilizar la consulta siguiente para buscar el número de tablas definidas por el usuario.
select count(*) from pg_table_def where schemaname != 'pg_catalog';
La consulta siguiente devuelve una lista de todas las tablas definidas por el usuario y el número de filas de cada tabla.
select "table", tbl_rows from svv_table_info;
-
Elija un buen momento para la migración. Para encontrar un momento en el que el uso del clúster sea mínimo, monitorice las métricas del clúster, como la utilización de la CPU y el número de conexiones a la base de datos. Para obtener más información, consulte Visualización de datos de rendimiento del clúster.
-
Elimine las tablas que no se utilicen.
Para crear una lista de tablas con el número de veces que se ha consultado cada tabla, ejecute la consulta siguiente.
select database, schema, table_id, "table", round(size::float/(1024*1024)::float,2) as size, sortkey1, nvl(s.num_qs,0) num_qs from svv_table_info t left join (select tbl, perm_table_name, count(distinct query) num_qs from stl_scan s where s.userid > 1 and s.perm_table_name not in ('Internal worktable','S3') group by tbl, perm_table_name) s on s.tbl = t.table_id where t."schema" not in ('pg_internal');
-
Lance un clúster cifrado nuevo.
Utilice el mismo número de puerto para el clúster de destino que para el clúster de origen. Para obtener más información sobre cómo lanzar un clúster cifrado, consulte Cifrado de la base de datos de Amazon Redshift.
-
Configure el proceso de descarga y carga.
Puede utilizar la utilidad Unload/Copy de Amazon Redshift
para facilitar la migración de datos entre clústeres. La utilidad exporta los datos del clúster de origen a una ubicación en Amazon S3. Los datos se cifran con AWS KMS. A continuación, la utilidad importa automáticamente los datos en el clúster de destino. También puede usar la utilidad para limpiar Amazon S3 una vez finalizada la migración. -
Ejecute una prueba para verificar el proceso y estimar durante cuánto tiempo deben suspenderse las operaciones de escritura.
Durante las operaciones de descarga y carga, mantenga la consistencia de los datos suspendiendo las cargas de datos y otras operaciones de escritura. Ejecute el proceso de descarga y carga usando una de sus tablas más grandes para realizar una estimación del tiempo.
-
Cree los objetos de base de datos, como esquemas, vistas y tablas. Los scripts de AdminViews
del repositorio GitHub de AWS pueden ayudarlo a generar las instrucciones de lenguaje de definición de datos (DDL) necesarias.
Para migrar el clúster
-
Detenga todos los procesos ETL en el clúster de origen.
Para confirmar que no hay operaciones de escritura en proceso, utilice la consola de administración de Amazon Redshift para monitorear las IOPS de escritura. Para obtener más información, consulte Visualización de datos de rendimiento del clúster.
-
Ejecute las consultas de validación que identificó anteriormente para recopilar información sobre el clúster de origen sin cifrar antes de la migración.
-
(Opcional) Cree una cola de administración de cargas de trabajo (WLM) para utilizar el máximo de recursos disponibles, tanto en el clúster de origen como en el de destino. Por ejemplo, cree una cola denominada
data_migrate
y configúrela con una memoria del 95 por ciento y una simultaneidad de 4. Para obtener más información, consulte Enrutamiento de consultas a las colas en función de los grupos de usuarios y consultas en la Guía para desarrolladores de bases de datos de Amazon Redshift. -
Ejecute UnloadCopyUtility utilizando la cola
data_migrate
.Monitoree el proceso de UNLOAD y COPY a través de la consola de Amazon Redshift.
-
Vuelva a ejecutar las consultas de validación y verifique que los resultados coinciden con los del clúster de origen.
-
Cambie el nombre de los clústeres de origen y de destino para intercambiar los puntos de enlace. Para evitar interrupciones, realice esta operación fuera del horario normal de trabajo.
-
Compruebe que puede conectarse al clúster de destino utilizando todos sus clientes SQL, como las herramientas de ETL y de generación de informes.
-
Cierre el clúster de origen sin cifrar.