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 Amazon Redshift privata in AWS, puoi eseguire la migrazione dei dati in BigQuery creando una rete Virtual Private Cloud (VPC) e connettendola alla rete VPC di Amazon Redshift. Il processo di migrazione dei dati funziona come segue:
- Creerai una rete VPC nel progetto che vuoi utilizzare per il trasferimento. La rete VPC non può essere una rete VPC condiviso.
- Devi configurare una rete privata virtuale (VPN) e connettere la rete VPC del progetto alla rete VPC Amazon Redshift.
- Puoi specificare la rete VPC del progetto e un intervallo IP riservato durante la configurazione del trasferimento.
- 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 un 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 temporanea in un bucket Amazon S3. La velocità di unload è determinata dalla configurazione del cluster.
- La migrazione di BigQuery Data Transfer Service trasferisce i tuoi dati dal bucket Amazon S3 a BigQuery.
Se vuoi trasferire i dati dalla tua istanza 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 account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API BigQuery and BigQuery Data Transfer Service.
-
Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API BigQuery and BigQuery Data Transfer Service.
Imposta le autorizzazioni richieste
Prima di creare un trasferimento Amazon Redshift, segui questi passaggi:
Assicurati che la persona che crea il trasferimento disponga delle seguenti autorizzazioni IAM (Identity and Access Management) obbligatorie in BigQuery:
bigquery.transfers.update
autorizzazioni per creare il trasferimentobigquery.datasets.update
autorizzazioni nel set di dati di destinazione
Il ruolo IAM predefinito
role/bigquery.admin
include le autorizzazionibigquery.transfers.update
ebigquery.datasets.update
. Per ulteriori informazioni sui ruoli IAM in BigQuery Data Transfer Service, consulta Controllo dell'accesso.Consulta la documentazione di Amazon S3 per assicurarti di aver configurato le autorizzazioni necessarie per abilitare il trasferimento. Ai dati di origine Amazon S3 deve essere applicato almeno il criterio gestito di 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 Google Cloud dell'utente per creare la connessione in 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.editor
eroles/compute.networkAdmin
includono le autorizzazionicompute.networks.addPeering
ecompute.networks.removePeering
per impostazione predefinita.- Autorizzazioni per creare il peering VPC:
Crea un set di dati
Crea un set di dati BigQuery per archiviare i tuoi dati. Non è necessario creare alcuna tabella.
Concedi l'accesso al tuo cluster Amazon Redshift
Segui le istruzioni in Configurare le regole in entrata per i client SQL per inserire nella lista consentita gli intervalli IP del tuo cluster Amazon Redshift privato. In un passaggio successivo, definirai l'intervallo IP privato in questa rete VPC quando configuri il trasferimento.
Concedere l'accesso al bucket Amazon S3
Devi avere un bucket Amazon S3 da utilizzare come area temporanea per trasferire i dati di Amazon Redshift in BigQuery. Per istruzioni dettagliate, consulta la documentazione di Amazon.
Ti consigliamo di creare un utente Amazon IAM dedicato e di concedergli 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 Amazon.
Configura il controllo dei carichi di lavoro con una coda di migrazione separata
Facoltativamente, puoi definire una coda 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 contemporaneità. Puoi quindi associare un determinato gruppo di utenti della migrazione alla coda e utilizzare queste credenziali durante la configurazione della migrazione per trasferire i dati a BigQuery. Il servizio di trasferimento ha accesso solo alla coda di migrazione.
Raccogli informazioni sui trasferimenti
Raccogli le informazioni necessarie per configurare la migrazione con BigQuery Data Transfer Service:
- Ottieni il VPC e l'intervallo IP riservato in Amazon Redshift.
- Segui queste istruzioni per ottenere l'URL JDBC.
- Ottieni il nome utente e la password di un utente con le autorizzazioni appropriate per il tuo database Amazon Redshift.
- Segui le istruzioni in Concedere l'accesso al bucket Amazon S3 per ottenere una coppia di chiavi di accesso AWS.
- Ottieni l'URI del bucket Amazon S3 che vuoi utilizzare per il trasferimento. Ti consigliamo di configurare un criterio Ciclo di vita per questo bucket per evitare addebiti non necessari. Il tempo di scadenza consigliato è di 24 ore per concedere tempo sufficiente per 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 consigliamo di valutare i tuoi dati per stabilire se questo potrebbe essere un problema per te. In caso affermativo, puoi risolvere il problema esportando i dati in Amazon S3 come file Parquet, per poi importarli utilizzando BigQuery Data Transfer Service. Per ulteriori informazioni, consulta la Panoramica dei trasferimenti di Amazon S3.
Configurare la rete VPC e la VPN
Assicurati di disporre delle autorizzazioni per abilitare il peering VPC. Per ulteriori informazioni, vedi Impostare le autorizzazioni richieste.
Segui le istruzioni in questa guida per configurare una rete VPC di Google Cloud, configurare una VPN tra la rete VPC del tuo progetto Google Cloud e la rete VPC di Amazon Redshift e abilitare il peering VPC.
Configura Amazon Redshift per consentire la connessione alla tua VPN. Per ulteriori informazioni, consulta la pagina relativa ai gruppi di sicurezza dei cluster Amazon Redshift.
Nella console Google Cloud, vai alla pagina Reti VPC per verificare che la tua rete VPC Google Cloud esista nel progetto Google Cloud sia connessa ad Amazon Redshift tramite la VPN.
La pagina della console elenca tutte le tue reti VPC.
Configura un trasferimento Amazon Redshift
Segui queste istruzioni per configurare un trasferimento ad Amazon Redshift:
Nella console Google Cloud, 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 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 di destinazione, scegli il set di dati che hai creato dall'elenco Set di dati.
Nella sezione Dettagli origine dati, procedi nel seguente modo:
- Per URL di connessione JDBC per Amazon Redshift, fornisci l'URL JDBC per accedere al cluster Amazon Redshift.
- In Nome utente del tuo database, inserisci il nome utente del database Amazon Redshift di cui vuoi eseguire la migrazione.
In Password del tuo database, inserisci la password del database.
In ID chiave di accesso e Chiave di accesso secret, inserisci la coppia di chiavi di accesso ottenuta da Concedi l'accesso al bucket S3.
In URI Amazon S3, inserisci l'URI del bucket S3 che utilizzerai come area temporanea.
In Amazon Redshift Schema, inserisci lo schema Amazon Redshift di cui stai eseguendo la migrazione.
Per Pattern dei nomi tabella, 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 modulo:
<table1Regex>;<table2Regex>
. Il pattern deve seguire la sintassi delle espressioni regolari Java. Ad esempio:lineitem;ordertb
corrisponde alle tabelle denominatelineitem
eordertb
..*
corrisponde a tutte le tabelle.
Lascia vuoto questo campo per eseguire la migrazione di tutte le tabelle dallo schema specificato.
Per VPC e l'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.
- Il modulo è
VPC_network_name:CIDR
, ad esempio:my_vpc:10.251.1.0/24
. - Utilizza intervalli di indirizzi di rete VPC privata standard nella notazione CIDR,
che iniziano con
10.x.x.x
. - L'intervallo IP deve contenere 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:CIDR
in ciascuno, in modo che più trasferimenti possano riutilizzare la stessa infrastruttura di migrazione.
- Il modulo è
(Facoltativo) Nella sezione Opzioni di notifica, procedi nel seguente modo:
- Fai clic sul pulsante di attivazione/disattivazione per abilitare le notifiche via email. Quando abiliti questa opzione, l'amministratore dei trasferimenti riceve una notifica via email quando l'esecuzione di un trasferimento non va a buon fine.
- 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 Pub/Sub per il trasferimento.
Fai clic su Salva.
La console Google Cloud visualizza tutti i dettagli di configurazione del trasferimento, compreso un Nome risorsa per questo trasferimento.
Quote e limiti
La migrazione di un'istanza privata Amazon Redshift con una rete VPC esegue l'agente di migrazione su un'unica infrastruttura tenant. A causa dei limiti delle risorse di calcolo, sono consentite al massimo 5 esecuzioni di trasferimenti simultanee.
BigQuery ha una quota di caricamento di 15 TB per ogni job di caricamento di ogni tabella. Internamente, Amazon Redshift comprime i dati della tabella, in modo che le dimensioni della tabella esportata siano maggiori di quelle riportate da Amazon Redshift. Se prevedi di eseguire la migrazione di una tabella di dimensioni superiori a 15 TB, contatta prima l'assistenza clienti Google Cloud.
Utilizzando questo servizio è possibile incorrere in costi esterni a Google. Per informazioni dettagliate, 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.