Migrar 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 creando una red de nube privada virtual (VPC) y conectándola con la red de VPC de Amazon Redshift. El proceso de migración de datos funciona de la siguiente manera:
- Crea una red de VPC en el proyecto que quieras usar para la transferencia. La red de VPC no puede ser una red de VPC compartida.
- Configura una red privada virtual (VPN) y conecta la red de VPC de tu proyecto con la red de VPC de Amazon Redshift.
- Al configurar la transferencia, debes especificar la red de VPC de tu proyecto y un intervalo de IPs reservado.
- BigQuery Data Transfer Service crea un proyecto de arrendatario y lo asocia al proyecto que estés usando para la transferencia.
- BigQuery Data Transfer Service crea una red de VPC con una subred en el proyecto de arrendatario, usando el intervalo de IPs reservado que hayas especificado.
- BigQuery Data Transfer Service crea un peering de VPC entre la red de VPC de tu proyecto y la red de VPC del proyecto de inquilino.
- La migración de BigQuery Data Transfer Service se ejecuta en el proyecto de inquilino. Inicia una operación de descarga de Amazon Redshift a un área de stage de un segmento de Amazon S3. La velocidad de descarga se determina en función de la configuración de tu clúster.
- La migración de BigQuery Data Transfer Service transfiere tus datos del segmento de Amazon S3 a BigQuery.
Si quieres transferir datos de tu instancia de Amazon Redshift a través de IPs públicas, puedes migrar tus datos de Amazon Redshift a BigQuery siguiendo estas instrucciones.
Antes de empezar
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and BigQuery Data Transfer Service APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and BigQuery Data Transfer Service APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. Asegúrate de que la persona que cree la transferencia tenga los siguientes permisos de gestión de identidades y accesos (IAM) en BigQuery:
- Permisos de
bigquery.transfers.update
para crear la transferencia - Permisos de
bigquery.datasets.update
en el conjunto de datos de destino
El rol de gestión de identidades y accesos predefinido
role/bigquery.admin
incluye los permisosbigquery.transfers.update
ybigquery.datasets.update
. Para obtener más información sobre los roles de gestión de identidades y accesos en BigQuery Data Transfer Service, consulta el artículo sobre control de acceso.- Permisos de
Consulta la documentación de Amazon S3 para asegurarte de que has configurado los permisos necesarios para habilitar la transferencia. Como mínimo, los datos de origen de Amazon S3 deben tener aplicada la política gestionada por AWS
AmazonS3ReadOnlyAccess
.Concede los permisos de gestión de identidades y accesos adecuados para crear y eliminar el emparejamiento entre redes de VPC a la persona que vaya a configurar la transferencia. El servicio usa las Google Cloud credenciales de usuario de la persona para crear la conexión de intercambio de tráfico entre VPCs.
- Permisos para crear un emparejamiento de VPC:
compute.networks.addPeering
- Permisos para eliminar el emparejamiento de VPC:
compute.networks.removePeering
Los roles de gestión de identidades y accesos predefinidos
roles/project.owner
,roles/project.editor
yroles/compute.networkAdmin
incluyen los permisoscompute.networks.addPeering
ycompute.networks.removePeering
de forma predeterminada.- Permisos para crear un emparejamiento de VPC:
Te recomendamos que crees un usuario de Amazon IAM específico y que le concedas solo acceso de lectura a Amazon Redshift y acceso de lectura y escritura a Amazon S3. Para completar este paso, puedes aplicar las siguientes políticas:
Crea un par de claves de acceso de usuario de gestión de identidades y accesos de Amazon.
- Obtén la VPC y el intervalo de IP reservadas 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 acceder a tu base de datos de Amazon Redshift.
- Sigue las instrucciones que se indican en el artículo Grant access to your Amazon S3 bucket (Conceder acceso a tu segmento de Amazon S3) para obtener un par de claves de acceso de AWS.
- Obtén el URI del segmento de Amazon S3 que quieras usar para la transferencia. Te recomendamos que configures una política de ciclo de vida para este segmento y así evitar cargos innecesarios. El tiempo de vencimiento recomendado es de 24 horas para que haya tiempo suficiente para transferir todos los datos a BigQuery.
Asegúrate de que tienes permisos para habilitar el peering de VPC. Para obtener más información, consulta Definir permisos obligatorios.
Sigue las instrucciones de esta guía para configurar una red de Google Cloud VPC, una VPN entre la red de VPC de tu proyectoGoogle Cloud y la red de VPC de Amazon Redshift, y el emparejamiento de VPC.
Configura Amazon Redshift para permitir la conexión a tu VPN. Para obtener más información, consulta Grupos de seguridad de clústeres de Amazon Redshift.
En la consola de Google Cloud , ve a la página Redes de VPC para verificar que tu red de VPC de tuGoogle Cloud proyecto esté conectada a Amazon Redshift a través de la VPN. Google Cloud
En la página de la consola se muestran todas tus redes de VPC.
En la Google Cloud consola, ve a la página BigQuery.
Haz clic en Transferencias de datos.
Haz clic en Crear transferencia.
En la sección Tipo de fuente, seleccione Migración: Amazon Redshift en la lista Fuente.
En la sección Nombre de la configuración de transferencia, indica un nombre para la transferencia, como
My migration
, en el campo Nombre visible. El nombre visible puede ser cualquier valor que te permita identificar fácilmente la transferencia si necesitas modificarla más adelante.En la sección Configuración de destino, elija el conjunto de datos que ha creado en la lista Conjunto de datos.
En la sección Detalles de la fuente de datos, haga lo siguiente:
- En URL de conexión JDBC de Amazon Redshift, proporciona la URL de JDBC para acceder a tu clúster de Amazon Redshift.
- En Nombre de usuario de tu base de datos, introduce el nombre de usuario de la base de datos de Amazon Redshift que quieras migrar.
En Contraseña de la base de datos, introduce la contraseña de la base de datos.
En ID de clave de acceso y Clave de acceso secreta, introduce el par de claves de acceso que has obtenido en Conceder acceso a tu segmento de S3.
En URI de Amazon S3, introduce el URI del segmento de S3 que usarás como área de almacenamiento provisional.
En Esquema de Amazon Redshift, introduce el esquema de Amazon Redshift que vas a migrar.
En Patrones de nombres de tabla, especifica un nombre o un patrón para que coincida con los nombres de tabla del esquema. Puede usar expresiones regulares para especificar el patrón con el formato
<table1Regex>;<table2Regex>
. El patrón debe seguir la sintaxis de expresiones regulares de Java. Por ejemplo:lineitem;ordertb
coincide con las tablas llamadaslineitem
yordertb
..*
coincide con todas las tablas.
Deje este campo vacío para migrar todas las tablas del esquema especificado.
En VPC y el intervalo de IPs reservado, especifica el nombre de tu red de VPC y el intervalo de direcciones IP privadas que se va a usar en la red de VPC del proyecto de inquilino. Especifica el intervalo de direcciones IP como un bloque CIDR.
- El formato es
VPC_network_name:CIDR
, por ejemplo:my_vpc:10.251.1.0/24
. - Usa intervalos de direcciones de red de VPC privadas estándar con la notación CIDR,
que empiecen por
10.x.x.x
. - El intervalo de IP debe tener más de 10 direcciones IP.
- El intervalo de IPs no debe solaparse con ninguna subred de la red VPC de tu proyecto ni con la red VPC de Amazon Redshift.
- Si tienes configuradas varias transferencias para la misma instancia de Amazon Redshift, asegúrate de usar el mismo valor de
VPC_network_name:CIDR
en cada una de ellas para que varias transferencias puedan reutilizar la misma infraestructura de migración.
- El formato es
Opcional: En la sección Opciones de notificación, haz lo siguiente:
- Haz clic en el interruptor para habilitar las notificaciones por correo electrónico. Si habilitas esta opción, el administrador de las transferencias recibirá una notificación por correo cuando falle una ejecución de transferencia.
- En Selecciona un tema de Pub/Sub, elige el tema o haz clic en Crear un tema. Esta opción configura las notificaciones de Pub/Sub sobre la transferencia.
Haz clic en Guardar.
La consola muestra todos los detalles de la configuración de la transferencia, incluido el nombre del recurso de esta transferencia. Google Cloud
- Consulta información sobre las migraciones estándar de Amazon Redshift.
- Más información sobre BigQuery Data Transfer Service
- Migra código SQL con la traducción de SQL por lotes.
Definir los permisos necesarios
Antes de crear una transferencia de Amazon Redshift, sigue estos pasos:
Crear conjunto de datos
Crea un conjunto de datos de BigQuery para almacenar tus datos. No es necesario que crees ninguna tabla.
Conceder acceso a tu clúster de Amazon Redshift
Añada los siguientes intervalos de IP de su clúster de Amazon Redshift privado a una lista de permitidas configurando las reglas del grupo de seguridad. En un paso posterior, definirás el intervalo de IP privadas en esta red de VPC al configurar la transferencia.
Conceder acceso a tu segmento de Amazon S3
Debes tener un segmento de Amazon S3 que sirva como área de almacenamiento temporal para transferir los datos de Amazon Redshift a BigQuery. Para obtener instrucciones detalladas, consulta la documentación de Amazon.
Configurar el control de cargas de trabajo con una cola de migración independiente
También puedes definir una cola de Amazon Redshift para la migración con el fin de limitar y separar los recursos que se usan en la migración. Puedes configurar esta cola de migración con un número máximo de consultas simultáneas. Después, puedes asociar un grupo de usuarios de migración con la cola y usar esas credenciales al configurar la migración para transferir datos a BigQuery. El servicio de transferencia solo tiene acceso a la cola de migración.
Recoger información sobre la transferencia
Reúne la información que necesitas para configurar la migración con BigQuery Data Transfer Service:
Evalúa tus datos
Como parte de la transferencia de datos, BigQuery Data Transfer Service 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. Le recomendamos que evalúe sus datos para determinar si esto podría suponer un problema para usted. Si es así, puedes solucionar este problema exportando tus datos a Amazon S3 como archivos Parquet y, a continuación, importando esos archivos mediante BigQuery Data Transfer Service. Para obtener más información, consulta la descripción general de las transferencias de Amazon S3.
Configurar la red de VPC y la VPN
Configurar una transferencia de Amazon Redshift
Para configurar una transferencia de Amazon Redshift, sigue estas instrucciones:
Cuotas y límites
Al migrar una instancia privada de Amazon Redshift con una red de VPC, el agente de migración se ejecuta en una infraestructura de un solo inquilino. Debido a los límites de recursos de computación, se permiten como máximo 5 ejecuciones de transferencia simultáneas.
BigQuery tiene una cuota de carga de 15 TB por cada tarea de carga y por cada tabla. Internamente, 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 que indica Amazon Redshift. Si tienes previsto migrar una tabla de más de 15 TB, ponte en contacto con Cloud Customer Care primero.
Es posible que se apliquen cargos adicionales fuera de Google por utilizar este servicio. Consulta las páginas de precios de Amazon Redshift y Amazon S3 para obtener más información.
Debido al modelo de coherencia de Amazon S3, es posible que algunos archivos no se incluyan en la transferencia a BigQuery.