Puoi eseguire la migrazione dei dati su reti private stabilendo la connettività tra gli indirizzi IP privati dei database di origine e di destinazione. Per configurare gli indirizzi IP privati per il database di destinazione, puoi utilizzare l'accesso privato ai servizi con il peering VPC o Private Service Connect.
Ogni metodo di connessione offre vantaggi e compromessi distinti. Assicurati di scegliere l'approccio più adatto al tuo scenario. Per saperne di più sull'accesso privato ai servizi e su Private Service Connect in Cloud SQL, consulta la panoramica degli IP privati nella documentazione di Cloud SQL.
Configurare la connettività utilizzando il peering VPC
Il peering VPC funziona configurando i VPC in modo che comunichino tra loro. Se l'origine si trova nello stesso Google Cloud progetto in Cloud SQL o Compute Engine, la destinazione può comunicare direttamente con l'origine. Se l'origine si trova all'interno di una VPN (ad esempio in AWS o nella tua VPN on-premise), configura la VPN di origine e Cloud VPN in modo che funzionino insieme. Per saperne di più, consulta Connessione di VPC tramite VPN.L'incatenamento di VPC non è supportato. Se l'origine si trova in un progetto Google Cloud diverso, consulta la panoramica del VPC condiviso per scoprire come connettere le risorse di più progetti a una rete VPC comune per il peering VPC.
Il firewall del server di database di origine deve essere configurato per consentire l'intero intervallo IP interno allocato per la connessione privata ai servizi della rete VPC che l'istanza di destinazione Cloud SQL utilizzerà.
Per trovare l'intervallo IP interno nella console:
Vai alla pagina Reti VPC nella Google Cloud console.
Seleziona la rete VPC che vuoi utilizzare.
Seleziona Accesso privato ai servizi > Intervalli IP allocati per i servizi.
Trova l'intervallo IP interno associato alla connessione creata da servicenetworking-googleapis-com.
pg_hba.conf o le definizioni dei gruppi di sicurezza in AWS RDS sul database di origine siano aggiornate in modo da accettare connessioni dall'intervallo di indirizzi IP del VPC di Cloud SQL.
Il peering VPC utilizza l'accesso privato ai servizi,
che deve essere configurato una volta per ogni progetto che utilizza il peering VPC. Dopo aver
stabilito private services access, testa il tuo
job di migrazione per verificare la connettività.
Configurare l'accesso privato ai servizi per Database Migration Service
Se utilizzi un IP privato per una delle tue istanze Database Migration Service, devi configurare l'accesso privato ai servizi una sola volta per ogni progetto Google Cloud che ha o deve connettersi a un'istanza Database Migration Service.
Per stabilire l'accesso privato ai servizi è necessario il
compute.networkAdmin. Dopo aver stabilito l'accesso privato ai servizi per la tua rete, non hai più bisogno del ruolo IAM compute.networkAdmin per configurare un'istanza in modo che utilizzi un IP privato.
L'accesso privato ai servizi richiede prima l'allocazione di un intervallo di indirizzi IP interni, quindi la creazione di una connessione privata e infine l'esportazione di una route personalizzata.
Un intervallo allocato è un blocco CIDR riservato che non può essere utilizzato nella rete VPC locale. Quando crei una connessione privata, devi specificare un'allocazione. La connessione privata collega la tua rete VPC alla rete VPC sottostante ("producer di servizi").
Quando crei una connessione privata, la rete VPC e la rete del producer di servizi scambiano solo le route di subnet. Devi esportare le route personalizzate della rete VPC in modo che la rete del fornitore di servizi possa importarle e instradare correttamente il traffico alla tua rete on-premise.
Una configurazione di peering stabilisce l'intenzione di connettersi a un'altra rete VPC. La tua rete e l'altra rete non sono connesse finché ognuna non ha una configurazione di peering per l'altra. Dopo che l'altra rete ha una configurazione corrispondente per il peering con la tua rete, lo stato del peering diventa ATTIVO in entrambe le reti e queste vengono connesse. Se nell'altra rete non è presente una configurazione di peering corrispondente, lo stato del peering rimane INATTIVO, il che indica che la tua rete non è connessa all'altra.
Una volta connesse, le due reti scambiano sempre le route di subnet. Se una rete in peering è stata configurata per esportare route personalizzate, puoi importare facoltativamente sia le route statiche sia quelle dinamiche.
La procedura di configurazione dell'accesso privato ai servizi è composta da due parti:
- Allocazione di un intervallo di indirizzi IP. L'intervallo comprende tutte le tue istanze.
- Creazione di una connessione privata dalla tua rete VPC alla rete del producer di servizi.
Allocare un intervallo di indirizzi IP
Console
- Vai alla pagina Reti VPC nella Google Cloud console.
- Seleziona la rete VPC che vuoi utilizzare.
- Seleziona la scheda Connessione privata ai servizi.
- Seleziona la scheda Intervalli IP allocati per i servizi.
- Fai clic su Assegna intervallo IP.
In Nome dell'intervallo allocato, specifica
google-managed-services-VPC_NETWORK_NAME, doveVPC_NETWORK_NAMEè il nome della rete VPC a cui ti stai connettendo (ad esempio,google-managed-services-default). La Descrizione è facoltativa.Fai clic su ASSEGNA per creare l'intervallo allocato.
gcloud
Esegui una delle seguenti operazioni:
Per specificare un intervallo di indirizzi e una lunghezza del prefisso (subnet mask), utilizza i flag
addresseseprefix-length. Ad esempio, per allocare il blocco CIDR192.168.0.0/16specifica192.168.0.0per l'indirizzo e16per la lunghezza del prefisso.gcloud compute addresses create google-managed-services-[VPC_NETWORK_NAME] \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --network=[VPC_NETWORK_NAME]Per specificare solo una lunghezza del prefisso (subnet mask), utilizza il flag
prefix-length. Se ometti l'intervallo di indirizzi, Google Cloud viene selezionato automaticamente un intervallo di indirizzi inutilizzato nella tua rete VPC L'esempio seguente seleziona un intervallo di indirizzi IP inutilizzato con una lunghezza del prefisso di16bit.gcloud compute addresses create google-managed-services-[VPC_NETWORK_NAME] \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --network=[VPC_NETWORK_NAME]
Sostituisci [VPC_NETWORK_NAME] con il nome della tua rete VPC, ad esempio my-vpc-network.
L'esempio seguente alloca un intervallo IP che consente alle risorse nella rete VPC my-vpc-network di connettersi alle istanze Database Migration Service utilizzando un IP privato.
gcloud compute addresses create google-managed-services-my-vpc-network \
--global \
--purpose=VPC_PEERING \
--prefix-length=16 \
--network=my-vpc-network \
--project=my-project
Creare una connessione privata
Console
- Vai alla pagina Reti VPC nella Google Cloud console.
- Seleziona la rete VPC che vuoi utilizzare.
- Seleziona la scheda Connessione privata ai servizi.
- Seleziona la scheda Connessioni private ai servizi.
- Fai clic su Crea connessione per creare una connessione privata tra la tua rete e un producer di servizi.
- In Allocazione assegnata, seleziona uno o più intervalli allocati esistenti che non vengono utilizzati da altri producer di servizi e fai clic su Ok.
- Fai clic su CONNETTI per creare la connessione.
gcloud
Crea una connessione privata.
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=google-managed-services-[VPC_NETWORK_NAME] \ --network=[VPC_NETWORK_NAME] \ --project=[PROJECT_ID]Sostituisci
[VPC_NETWORK_NAME]con il nome della tua rete VPC e[PROJECT_ID]con l'ID del progetto che contiene la tua rete VPC.Il comando avvia un'operazione a lunga esecuzione e restituisce un nome di operazione.
Verifica se l'operazione è andata a buon fine.
gcloud services vpc-peerings operations describe \ --name=[OPERATION_NAME]Sostituisci
[OPERATION_NAME]con il nome dell'operazione restituito nel passaggio precedente.
Quando crei una connessione privata, puoi specificare più di un intervallo allocato. Ad esempio, se un intervallo è esaurito, puoi assegnare intervalli allocati aggiuntivi. Il servizio utilizza gli indirizzi IP di tutti gli intervalli forniti nell'ordine in cui li hai specificati.
Esportare route personalizzate
Aggiorna una connessione peering di rete VPC esistente per modificare se la tua rete VPC esporta o importa route personalizzate nella rete VPC in peering.
La tua rete importa route personalizzate solo se anche la rete in peering le esporta e la rete in peering riceve route personalizzate solo se le importa.
Console
- Vai alla pagina Peering di rete VPC nella Google Cloud console.
Vai alla pagina Peering di rete VPC - Seleziona la connessione in peering da aggiornare.
- Fai clic su MODIFICA.
- Aggiorna le impostazioni delle route personalizzate selezionando o deselezionando Importa route personalizzate o Esporta route personalizzate.
- Fai clic su SALVA.
gcloud
Aggiorna la connessione in peering per modificare le impostazioni di importazione o esportazione delle route personalizzate.
gcloud compute networks peerings update [PEERING-NAME] \
--network=[MY-LOCAL-NETWORK] \
[--[no-]import-custom-routes] \
[--[no-]export-custom-routes]
Concedere il ruolo roles/servicenetworking.serviceAgent
gcloud beta services identity create \
--service=servicenetworking.googleapis.com \
--project=project-id
gcloud projects add-iam-policy-binding project-id \
--member="service-account-prefix@service-networking.iam.gserviceaccount.com" \
--role="roles/servicenetworking.serviceAgent"
Configurare la connettività utilizzando le interfacce Private Service Connect
Per le migrazioni omogenee, Cloud SQL può utilizzare le interfacce Private Service Connect per stabilire una connessione su reti private. Questo metodo di connettività è disponibile solo quando esegui la migrazione a un'istanza esistente.
Per utilizzare le interfacce Private Service Connect:
Crea un'istanza Cloud SQL abilitata per Private Service Connect. Consulta Creare un'istanza abilitata per Private Service Connect nella documentazione di Cloud SQL.
Configura Private Service Connect per la connettività in uscita sull'istanza. In linea generale, questa procedura prevede:
2.1. Creazione di un collegamento di rete nella rete VPC in cui puoi raggiungere l'indirizzo IP privato del database di origine. Tieni presente che l'intervallo di subnet riservato per il collegamento di rete deve essere compreso nell'intervallo RFC 1918.
2.2. Assegnazione del collegamento di rete all'istanza Cloud SQL per MySQL di destinazione.
Per la procedura completa, consulta Configurare la connettività in uscita nella documentazione di Cloud SQL.