Cambio del cifrado del clúster - Amazon Redshift

Cambio del cifrado del clúster

Puede modificar un clúster no cifrado para que use el cifrado de AWS Key Management Service (AWS KMS), mediante una clave administrada por AWS o una clave administrada por el cliente. Cuando modifica su clúster para habilitar el cifrado de AWS KMS, Amazon Redshift migra sus datos de manera automática a un nuevo clúster cifrado. También puede migrar un clúster no cifrado a un clúster cifrado modificando el clúster.

Durante la operación de migración, el clúster se encuentra disponible en modo de solo lectura y su estado es resizing (cambiando tamaño).

Si el clúster está configurado para permitir la copia de instantáneas entre regiones de AWS, debe desactivarla antes de cambiar el cifrado. Para obtener más información, consulte Copia de instantáneas a otra región de AWS y Configurar la copia de instantáneas entre regiones para un clúster cifrado en AWS KMS. No puede habilitar el cifrado de Hardware Security Module (HSM, Módulo de seguridad de hardware) modificando el clúster. En lugar de ello, debe crear un nuevo clúster cifrado con HSM y migrar los datos al nuevo clúster. Para obtener más información, consulte Migración a un clúster cifrado con HSM.

Para modificar el cifrado de la base de datos en un clúster
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon Redshift en https://console.aws.amazon.com/redshiftv2/.

  2. En el menú de navegación, elija Clusters (Clústeres) y, a continuación, elija el clúster del cual desea modificar el cifrado.

  3. Seleccione Propiedades.

  4. En la sección Database configurations (Configuraciones de las bases de datos), elija Edit (Editar) y, luego, Edit encryption (Editar cifrado).

  5. Elija alguna de las opciones de cifrado y seleccione Save changes (Guardar cambios).

Para cambiar el cifrado de un clúster mediante la CLI

Para modificar su clúster no cifrado para usar AWS KMS, ejecute el comando de la CLI modify-cluster y especifique –-encrypted, tal como se muestra a continuación. De forma predeterminada, se utiliza la clave de KMS predeterminada. Para especificar una clave administrada por el cliente, incluya la opción --kms-key-id.

aws redshift modify-cluster --cluster-identifier <value> --encrypted --kms-key-id <value>

Para quitar el cifrado de su clúster, ejecute el siguiente comando de la CLI.

aws redshift modify-cluster --cluster-identifier <value> --no-encrypted

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
  1. 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).

  2. 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;
  3. 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.

  4. 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');
  5. 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.

  6. 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.

  7. 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.

  8. 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
  1. 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.

  2. 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.

  3. (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.

  4. Ejecute UnloadCopyUtility utilizando la cola data_migrate.

    Monitoree el proceso de UNLOAD y COPY a través de la consola de Amazon Redshift.

  5. Vuelva a ejecutar las consultas de validación y verifique que los resultados coinciden con los del clúster de origen.

  6. 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.

  7. 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.

  8. Cierre el clúster de origen sin cifrar.