Migrazione dei dati di Amazon Redshift con una rete VPC
Questo documento spiega come eseguire la migrazione dei dati da Amazon Redshift a BigQuery utilizzando un VPC.
Se hai un'istanza privata di Amazon Redshift in AWS, puoi eseguire la migrazione di questi dati a BigQuery creando una rete VPC (Virtual Private Cloud) e collegandola alla rete VPC di Amazon Redshift. La procedura di migrazione dei dati funziona nel seguente modo:
- Crea una rete VPC nel progetto che vuoi utilizzare per il trasferimento. La rete VPC non può essere una rete VPC condivisa.
- Configura una rete privata virtuale (VPN) e collega la rete VPC del progetto e la rete VPC di Amazon Redshift.
- Quando configuri il trasferimento, specifica la rete VPC del progetto e un intervallo IP riservato.
- BigQuery Data Transfer Service crea un progetto tenant e lo collega al progetto che stai utilizzando per il trasferimento.
- BigQuery Data Transfer Service crea una rete VPC con una subnet nel progetto tenant, utilizzando l'intervallo IP riservato che hai specificato.
- BigQuery Data Transfer Service crea peering VPC tra la rete VPC del progetto e la rete VPC del progetto tenant.
- La migrazione di BigQuery Data Transfer Service viene eseguita nel progetto tenant. Attiva un'operazione di unload da Amazon Redshift verso un'area intermedia in un bucket Amazon S3. La velocità di unload è determinata dalla configurazione del cluster.
- La migrazione di BigQuery Data Transfer Service trasferisce i dati dal bucket Amazon S3 a BigQuery.
Se vuoi trasferire i dati dalla tua istanza di Amazon Redshift tramite IP pubblici, puoi eseguire la migrazione dei dati di Amazon Redshift a BigQuery seguendo queste istruzioni.
Prima di iniziare
- Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare il rendimento dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. Learn how to grant roles.
Imposta le autorizzazioni richieste
Prima di creare un trasferimento di Amazon Redshift, segui questi passaggi:
Assicurati che la persona che crea il trasferimento disponga delle seguenti autorizzazioni IAM (Identity and Access Management) richieste in BigQuery:
- Autorizzazioni
bigquery.transfers.updateper creare il trasferimento - Autorizzazioni
bigquery.datasets.updatesul set di dati di destinazione
Il ruolo IAM predefinito
role/bigquery.admininclude le autorizzazionibigquery.transfers.updateebigquery.datasets.update. Per saperne di più sui ruoli IAM in BigQuery Data Transfer Service, consulta Controllo dell'accesso.- Autorizzazioni
Consulta la documentazione di Amazon S3 per assicurarti di aver configurato tutte le autorizzazioni necessarie per abilitare il trasferimento. Come minimo, ai dati di origine di Amazon S3 deve essere applicato il criterio gestito da AWS
AmazonS3ReadOnlyAccess.Concedi le autorizzazioni IAM appropriate per la creazione e l'eliminazione del peering di rete VPC alla persona che configura il trasferimento. Il servizio utilizza le credenziali utente della persona Google Cloud per creare la connessione di peering VPC.
- Autorizzazioni per creare il peering VPC:
compute.networks.addPeering - Autorizzazioni per eliminare il peering VPC:
compute.networks.removePeering
I ruoli IAM predefiniti
roles/project.owner,roles/project.editoreroles/compute.networkAdminincludono le autorizzazionicompute.networks.addPeeringecompute.networks.removePeeringper impostazione predefinita.- Autorizzazioni per creare il peering VPC:
Crea un set di dati
Crea un set di dati BigQuery per archiviare i dati. Non devi creare tabelle.
Concedi l'accesso al cluster Amazon Redshift
Aggiungi i seguenti intervalli IP del cluster Amazon Redshift privato a una lista consentita configurando le regole del gruppo di sicurezza. In un passaggio successivo, definirai l'intervallo IP privato in questa rete VPC quando configurerai il trasferimento.
Concedi l'accesso al bucket Amazon S3
Devi avere un bucket Amazon S3 da utilizzare come area di staging per trasferire i dati di Amazon Redshift a BigQuery. Per istruzioni dettagliate, consulta la documentazione di Amazon.
Ti consigliamo di creare un utente IAM di Amazon dedicato e di concedere a questo utente solo l'accesso in lettura ad Amazon Redshift e l'accesso in lettura e scrittura ad Amazon S3. Per eseguire questo passaggio, puoi applicare i seguenti criteri:

Crea una coppia di chiavi di accesso utente IAM di Amazon.
Configura il controllo dei carichi di lavoro con una coda di migrazione separata
(Facoltativo) Puoi definire una coda di Amazon Redshift per la migrazione per limitare e separare le risorse utilizzate per la migrazione. Puoi configurare questa coda di migrazione con un numero massimo di query di concorrenza. Puoi quindi associare un determinato gruppo di utenti di migrazione alla coda e utilizzare queste credenziali quando configuri la migrazione per trasferire i dati a BigQuery. Il servizio di trasferimento ha accesso solo alla coda di migrazione.
Raccogli le informazioni sul trasferimento
Raccogli le informazioni necessarie per configurare la migrazione con BigQuery Data Transfer Service:
- Recupera l'intervallo IP VPC e riservato in Amazon Redshift.
- Segui queste istruzioni per recuperare l'URL JDBC.
- Recupera il nome utente e la password di un utente con le autorizzazioni appropriate per il tuo database Amazon Redshift.
- Segui le istruzioni riportate in Concedi l'accesso al bucket Amazon S3 per recuperare una coppia di chiavi di accesso AWS.
- Recupera l'URI del bucket Amazon S3 che vuoi utilizzare per il trasferimento. Ti consigliamo di configurare un criterio del ciclo di vita per questo bucket per evitare addebiti non necessari. Il tempo di scadenza consigliato è di 24 ore per consentire il trasferimento di tutti i dati a BigQuery.
Valuta i tuoi dati
Nell'ambito del trasferimento dei dati, BigQuery Data Transfer Service scrive i dati da Amazon Redshift a Cloud Storage come file CSV. Se questi file contengono il carattere ASCII 0, non possono essere caricati in BigQuery. Ti suggeriamo di valutare i tuoi dati per determinare se questo potrebbe essere un problema per te. In caso affermativo, puoi aggirare il problema esportando i dati in Amazon S3 come file Parquet e poi importando questi file utilizzando BigQuery Data Transfer Service. Per saperne di più, consulta Panoramica dei trasferimenti di Amazon S3.
Configura la rete VPC e la VPN
Assicurati di disporre delle autorizzazioni per abilitare il peering VPC. Per saperne di più, consulta Imposta le autorizzazioni richieste.
Segui le istruzioni riportate in questa guida per configurare una Google Cloud rete VPC, configurare una VPN tra la Google Cloud rete VPC del progetto e la rete VPC di Amazon Redshift e abilitare il peering VPC.
Configura Amazon Redshift in modo da consentire la connessione alla VPN. Per saperne di più, consulta Gruppi di sicurezza del cluster Amazon Redshift.
Nella Google Cloud console, vai alla pagina Reti VPC per verificare che la Google Cloud rete VPC esista nel tuo Google Cloud progetto e sia connessa ad Amazon Redshift tramite la VPN.
La pagina della console elenca tutte le reti VPC.
Annuncia gli IP riservati come route personalizzate
Quando fornisci l'intervallo di indirizzi IP riservati nella configurazione del trasferimento, devi prima aggiungere l'intervallo IP come route personalizzata all'annuncio del router Cloud o della sessione BGP esistente.
Configura un trasferimento di Amazon Redshift
Segui queste istruzioni per configurare un trasferimento di Amazon Redshift:
Nella Google Cloud console, vai alla pagina BigQuery.
Fai clic su Trasferimenti di dati.
Fai clic su Crea trasferimento.
Nella sezione Tipo di origine, seleziona Migrazione: Amazon Redshift dall'elenco Origine.
Nella sezione Nome configurazione di trasferimento, inserisci un nome per il trasferimento, ad esempio
My migration, nel campo Nome visualizzato. Il nome visualizzato può essere qualsiasi valore che ti consenta di identificare facilmente il trasferimento se devi modificarlo in un secondo momento.Nella sezione Impostazioni destinazione, scegli il set di dati che hai creato dall'elenco Set di dati.
Nella sezione Dettagli origine dati, segui questi passaggi:
- In URL di connessione JDBC per Amazon Redshift, fornisci l' URL JDBC per accedere al cluster Amazon Redshift.
- In Nome utente del database, inserisci il nome utente del database Amazon Redshift di cui vuoi eseguire la migrazione.
In Password del database, inserisci la password del database.
In ID chiave di accesso e Chiave di accesso segreta, inserisci la coppia di chiavi di accesso che hai ottenuto da Concedi l'accesso al bucket S3.
In URI Amazon S3, inserisci l'URI del bucket S3 che utilizzerai come area di staging.
In Schema Amazon Redshift, inserisci lo schema Amazon Redshift di cui stai eseguendo la migrazione.
In Pattern dei nomi delle tabelle, specifica un nome o un pattern per la corrispondenza dei nomi delle tabelle nello schema. Puoi utilizzare le espressioni regolari per specificare il pattern nel formato:
<table1Regex>;<table2Regex>. Il pattern deve seguire la sintassi delle espressioni regolari Java. Ad esempio:lineitem;ordertbcorrisponde alle tabelle denominatelineitemeordertb..*corrisponde a tutte le tabelle.
Lascia vuoto questo campo per eseguire la migrazione di tutte le tabelle dallo schema specificato.
In VPC e intervallo IP riservato, specifica il nome della rete VPC e l'intervallo di indirizzi IP privati da utilizzare nella rete VPC del progetto tenant. Specifica l'intervallo di indirizzi IP come blocco CIDR.
- Gli indirizzi IP devono essere prima annunciati come route personalizzata. Per saperne di più, consulta Annuncia gli IP riservati come route personalizzate.
- Il formato è
VPC_network_name:CIDR, ad esempio:my_vpc:10.251.1.0/24. - Utilizza gli intervalli di indirizzi di rete VPC privati standard nella notazione CIDR, a partire da
10.x.x.x. - L'intervallo IP deve avere più di 10 indirizzi IP.
- L'intervallo IP non deve sovrapporsi ad alcuna subnet nella rete VPC del progetto o nella rete VPC di Amazon Redshift.
- Se hai configurato più trasferimenti per la stessa istanza di Amazon Redshift, assicurati di utilizzare lo stesso valore
VPC_network_name:CIDRin ognuno, in modo che più trasferimenti possano riutilizzare la stessa infrastruttura di migrazione.
(Facoltativo) Nella sezione Opzioni di notifica, segui questi passaggi:
- Fai clic sul pulsante di attivazione/disattivazione per abilitare le notifiche via email. Quando attivi questa opzione, l'amministratore del trasferimento riceve una notifica via email quando l'esecuzione di un trasferimento non riesce.
- In Seleziona un argomento Pub/Sub, scegli il nome dell'argomento o fai clic su Crea un argomento. Questa opzione configura le notifiche di esecuzione di Pub/Sub per il trasferimento.
Fai clic su Salva.
La Google Cloud console mostra tutti i dettagli di configurazione del trasferimento, incluso un Nome risorsa per questo trasferimento.
Quote e limiti
La migrazione di un'istanza privata di Amazon Redshift con una rete VPC esegue l'agente di migrazione su un'infrastruttura a tenant singolo. A causa dei limiti delle risorse di calcolo, sono consentite al massimo 5 esecuzioni di trasferimento simultanee.
BigQuery ha una quota di caricamento di 15 TB per ogni job di caricamento per ogni tabella. Internamente, Amazon Redshift comprime i dati della tabella, quindi le dimensioni della tabella esportata saranno maggiori delle dimensioni della tabella riportate da Amazon Redshift. Se prevedi di eseguire la migrazione di una tabella di dimensioni superiori a 15 TB, contatta l'assistenza clienti Google Cloud prima.
L'utilizzo di questo servizio può comportare costi al di fuori di Google. Per maggiori dettagli, consulta le pagine dei prezzi di Amazon Redshift e Amazon S3.
A causa del modello di coerenza di Amazon S3, è possibile che alcuni file non vengano inclusi nel trasferimento a BigQuery.
Passaggi successivi
- Scopri di più sulle migrazioni standard di Amazon Redshift.
- Scopri di più su BigQuery Data Transfer Service.
- Esegui la migrazione del codice SQL con la traduzione SQL batch.