Migra datos de Amazon Redshift con una red de VPC

En este documento, se explica cómo migrar datos de Amazon Redshift a BigQuery mediante una VPC.

Si tienes una instancia privada de Amazon Redshift en AWS, puedes migrar esos datos a BigQuery mediante la creación de una red de nube privada virtual (VPC) y conectándola a la red de VPC de Amazon Redshift. El proceso de migración de datos funciona de la siguiente manera:

  1. Debes crear una red de VPC en el proyecto que deseas usar para la transferencia. La red de VPC no puede ser una red de VPC compartida.
  2. Configura una red privada virtual (VPN) y conecta la red de VPC del proyecto y la red de VPC de Amazon Redshift.
  3. Debes especificar la red de VPC del proyecto y un rango de IP reservado cuando configures la transferencia.
  4. El Servicio de transferencia de datos de BigQuery crea un proyecto de usuario y lo conecta al proyecto que estás usando para la transferencia.
  5. El Servicio de transferencia de datos de BigQuery crea una red de VPC con una subred en el proyecto de usuario, mediante el rango de IP reservado que especificaste.
  6. El Servicio de transferencia de datos de BigQuery crea un intercambio de tráfico de VPC entre tu red de VPC del proyecto y la red de VPC del proyecto de usuario.
  7. La migración del Servicio de transferencia de datos de BigQuery se ejecuta en el proyecto de usuario. Activa una operación de descarga de Amazon Redshift a un área de etapa de pruebas en un bucket de Amazon S3. La configuración del clúster determina la velocidad de descarga.
  8. El Servicio de transferencia de datos de BigQuery transfiere los datos del bucket de Amazon S3 a BigQuery.

Si deseas transferir datos de tu instancia de Amazon Redshift a través de IP públicas, puedes migrar tus datos de Amazon Redshift a BigQuery con estas instrucciones.

Antes de comenzar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and BigQuery Data Transfer Service APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and BigQuery Data Transfer Service APIs.

    Enable the APIs

Establece los permisos necesarios

Antes de crear una transferencia de Amazon Redshift, sigue estos pasos:

  1. Asegúrate de que la persona que crea la transferencia tenga los siguientes permisos obligatorios de Identity and Access Management (IAM) en BigQuery:

    • Los permisos bigquery.transfers.update para crear la transferencia
    • Los permisos bigquery.datasets.update en el conjunto de datos de destino

    La función predefinida de IAM role/bigquery.admin incluye los permisos bigquery.transfers.update y bigquery.datasets.update. Para obtener más información sobre los roles de IAM en el Servicio de transferencia de datos de BigQuery, consulta Control de acceso.

  2. Consulta la documentación de Amazon S3 y asegúrate de tener configurados los permisos necesarios para habilitar la transferencia. Como mínimo, los datos de origen de Amazon S3 deben estar sujetos a la política administrada de AWS AmazonS3ReadOnlyAccess.

  3. Otorga los permisos de IAM adecuados para crear y borrar el intercambio de tráfico entre redes de VPC a la persona que configura la transferencia. El servicio usa las credenciales de usuario de Google Cloud de la persona para crear la conexión de intercambio de tráfico de VPC.

    • Los permisos para crear intercambio de tráfico de VPC son los siguientes: compute.networks.addPeering
    • Los permisos para borrar el intercambio de tráfico de VPC son los siguientes: compute.networks.removePeering

    Los roles predefinidos de IAM roles/project.owner, roles/project.editor y roles/compute.networkAdmin incluyen los permisos compute.networks.addPeering y compute.networks.removePeering de forma predeterminada.

Cree un conjunto de datos

Crea un conjunto de datos de BigQuery para almacenar tus datos. No es necesario crear ninguna tabla.

Otorga acceso a tu clúster de Amazon Redshift

Sigue las instrucciones en Configura reglas de entrada para clientes de SQL a fin de incluir los rangos de IP de tu clúster privado de Amazon Redshift en la lista de entidades permitidas. En un paso posterior, debes definir el rango de IP privado en esta red de VPC, cuando configures la transferencia.

Otorga acceso a tu bucket de Amazon S3

Debes tener un bucket Amazon S3 para usarlo como área de etapa de pruebas a fin de transferir los datos de Amazon Redshift a BigQuery. Para obtener instrucciones detalladas, consulta la documentación de Amazon.

  1. Recomendamos que crees un usuario IAM dedicado de Amazon y le otorgues a ese usuario solo acceso de lectura a Amazon Redshift y acceso de lectura y escritura a Amazon S3. Para lograr este paso, puedes aplicar las siguientes políticas:

    Permisos de migración de Amazon Redshift

  2. Crea un par de claves de acceso de usuario de IAM de Amazon.

Configura cargas de trabajo con una cola de migración independiente

De manera opcional, puedesdefinir una cola de Amazon Redshift con fines de migración para limitar y separar los recursos usados en la migración. Puedes configurar esta cola de migración con un recuento máximo de consultas simultáneas. Luego, puedes asociar un grupo de usuarios de migración determinado a la cola y usar esas credenciales mediante la configuración de la migración para transferir datos a BigQuery. El servicio de transferencia solo tiene acceso a la cola de migración.

Recopila información de transferencia

Recopila la información que necesitas para configurar la migración con el Servicio de transferencia de datos de BigQuery:

  • Obtén la VPC y el rango de IP reservado en Amazon Redshift.
  • Sigue estas instrucciones para obtener la URL de JDBC.
  • Obtén el nombre de usuario y la contraseña de un usuario con los permisos adecuados para tu base de datos de Amazon Redshift.
  • Sigue las instrucciones en Otorga acceso a tu bucket Amazon S3 para obtener un par de claves de acceso de AWS.
  • Obtén el URI del bucket de Amazon S3 que deseas usar para la transferencia. Te recomendamos que configures una política de ciclo de vida para este bucket a fin de evitar cargos innecesarios. La fecha de caducidad recomendada es de 24 horas a fin de permitir el tiempo suficiente para transferir todos los datos a BigQuery.

Evalúa tus datos

Como parte de la transferencia de datos, el Servicio de transferencia de datos de BigQuery escribe datos de Amazon Redshift en Cloud Storage como archivos CSV. Si estos archivos contienen el carácter ASCII 0, no se pueden cargar en BigQuery. Te sugerimos que evalúes tus datos para determinar si esto podría ser un problema para ti. Si presenta un problema, lo puedes solucionar mediante la exportación de tus datos a Amazon S3 como archivos de Parquet y, luego, la importación de esos archivos con el Servicio de transferencia de datos de BigQuery. Para obtener más información, consulta Descripción general de las transferencias de Amazon S3.

Configura la red de VPC y la VPN

  1. Asegúrate de tener permisos para habilitar el intercambio de tráfico entre VPC. Para obtener más información, consulta Configura los permisos necesarios.

  2. Sigue las instrucciones de esta guía para configurar una red de VPC de Google Cloud, configurar una VPN entre la red de VPC de tu proyecto de Google Cloud y la red de VPC de Amazon Redshift, y habilitar el intercambio de tráfico entre VPC.

  3. Configura Amazon Redshift para permitir la conexión a tu VPN. Para obtener más información, consulta los Grupos de seguridad de clústeres de Amazon Redshift.

  4. En la consola de Google Cloud, ve a la página Redes de VPC para verificar que la red de VPC de Google Cloud exista en tu proyecto de Google Cloud conectado a Amazon Redshift a través de la VPN.

    Ir a las redes de VPC

    En la página de la consola, se enumeran todas tus redes de VPC.

Configura una transferencia de Amazon Redshift

Usa las siguientes instrucciones para configurar una transferencia de Amazon Redshift:

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. Haz clic en Transferencias de datos.

  3. Haz clic en Crear transferencia.

  4. En la sección Tipo de fuente, selecciona Migración: Amazon Redshift en la lista Origen.

  5. En la sección Transfer config name (Nombre de la configuración de transferencia), ingresa un nombre para la transferencia, como My migration, en el campo Display name (Nombre visible). El nombre que se muestra puede ser cualquier valor que te permita identificar la transferencia con facilidad si necesitas modificarla más tarde.

  6. En la sección Destination settings (Configuración de destino), elige el conjunto de datos que creaste de la lista Dataset (Conjunto de datos).

  7. En la sección Detalles de fuente de datos (Data source details), haz lo siguiente:

    1. En URL de conexión de JDBC para Redshift (JDBC connection url for Redshift), proporciona la URL de JDBC a fin de acceder a tu clúster de Amazon Redshift.
    2. En Nombre de usuario de tu base de datos, (Username of your database) ingresa el nombre de usuario de la base de datos de Amazon Redshift que deseas migrar.
    3. En Contraseña de tu base de datos (Password of your database), ingresa la contraseña de la base de datos.

    4. En ID de clave de acceso (Access key ID) y Clave de acceso secreta (Secret access key), ingresa el par de claves de acceso que obtuviste en Otorgar acceso a tu depósito S3.

    5. En URI de Amazon S3 (Amazon S3 URI), ingresa el URI del depósito S3 que usarás como área de etapa de pruebas.

    6. En Esquema de Redshift (Redshift schema), ingresa el esquema de Amazon Redshift que estás migrando.

    7. En Patrones de nombre de la tabla (Table name patterns), especifica un nombre o un patrón para hacer coincidir los nombres de tabla en el esquema. Puedes usar expresiones regulares para especificar el patrón en el formato <table1Regex>;<table2Regex>. El patrón debe seguir la sintaxis de la expresión regular de Java. Por ejemplo:

      • lineitem;ordertb coincide con las tablas llamadas lineitem y ordertb.
      • .* coincide con todas las tablas.

      Deja este campo vacío para migrar todas las tablas del esquema especificado.

    8. En VPC y el rango de IP reservado, especifica el nombre de tu red de VPC y el rango de direcciones IP privadas que se usará en la red de VPC del proyecto de usuario. Especifica el rango de direcciones IP como un bloque CIDR.

      Campo de CIDR de la migración de Amazon Redshift

      • El formato es VPC_network_name:CIDR, por ejemplo: my_vpc:10.251.1.0/24.
      • Usa rangos de direcciones de red de VPC estándar privadas en la notación de CIDR que comiencen con 10.x.x.x.
      • El rango de IP debe tener más de 10 direcciones IP.
      • El rango de IP no debe superponerse con ninguna subred en la red de VPC de tu proyecto ni en la red de VPC de Amazon Redshift.
      • Si tienes varias transferencias configuradas para la misma instancia de Amazon Redshift, asegúrate de usar el mismo valor VPC_network_name:CIDR en cada una, de modo que varias transferencias puedan volver a usar la misma infraestructura de migración.
  8. Opcional: En la sección Opciones de notificación, haz lo siguiente:

    1. Haz clic en el botón de activación para habilitar las notificaciones por correo electrónico. Cuando habilitas esta opción, el administrador de transferencias recibe una notificación por correo electrónico cuando falla una ejecución de transferencia.
    2. En Seleccionar un tema de Cloud Pub/Sub (Select a Cloud Pub/Sub topic), elige el nombre de tu tema o haz clic en Crear un tema (Create a topic). Con esta opción, se configuran las notificaciones de ejecución de Pub/Sub para tu transferencia.
  9. Haz clic en Guardar.

  10. La consola de Google Cloud muestra todos los detalles de configuración de la transferencia, incluido un Nombre de recurso para esta transferencia.

Cuotas y límites

En una migración de una instancia privada de Amazon Redshift con una red de VPC, se ejecuta el agente de migración en una sola infraestructura de instancia. Debido a los límites de recursos de procesamiento, se permiten, como máximo, 5 ejecuciones simultáneas de transferencias.

BigQuery tiene una cuota de carga de 15 TB para cada trabajo de carga por cada tabla. Por dentro, Amazon Redshift comprime los datos de la tabla, por lo que el tamaño de la tabla exportada será mayor que el tamaño de la tabla informado por Amazon Redshift. Si planeas migrar una tabla de más de 15 TB, comunícate primero con la Atención al cliente de Cloud.

Se pueden generar costos fuera de Google por el uso de este servicio. Revisa las páginas de precios de Amazon Redshift y Amazon S3 para obtener más detalles.

Debido al modelo de coherencia de Amazon S3, es posible que algunos archivos no se incluyan en la transferencia a BigQuery.

¿Qué sigue?