Esegui l'upgrade di un'istanza alla nuova architettura di rete


Questa pagina descrive come eseguire l'upgrade delle istanze Cloud SQL dalla vecchia alla nuova architettura di rete.

Questa pagina sull'upgrade dell'architettura di rete di Cloud SQL si applica solo ad alcune istanze Cloud SQL. Se le tue istanze Cloud SQL utilizzano un progetto di rete Virtual Private Cloud (VPC) creato prima di agosto 2021, devi eseguire l'upgrade dell'architettura di rete Cloud SQL per le tue istanze.

Panoramica

La tabella seguente mostra i vantaggi della nuova architettura di rete rispetto alla vecchia:

Capacità Architettura di rete precedente Nuova architettura di rete
Migrazione da Cloud SQL ad AlloyDB per PostgreSQL utilizzando Database Migration Service Richiede la configurazione di un indirizzo IP privato per la migrazione Non è richiesta alcuna configurazione di rete aggiuntiva.

Ad esempio, la migrazione da Cloud SQL ad AlloyDB per PostgreSQL.
Connetti l'istanza Cloud SQL utilizzando un IP privato a servizi privati come Cloud Build o Vertex AI Non supportato a causa dell'intransitività del peering di rete Supportato
Istanze conformi a Assured Workloads Non supportata Supportato
Microsoft Active Directory gestito Non supportata Supportato
Private Service Connect Non supportata Supportato
Quota di istanze Cloud SQL predefinita per progetto 100 1000

Pianificare l'upgrade

Prima di eseguire l'upgrade dell'architettura di rete delle tue istanze Cloud SQL, pianifica l'upgrade in base ai seguenti vincoli di upgrade:

  • Se esegui l'upgrade dell'architettura di rete, puoi prevedere un tempo di inattività della tua istanza fino a 4 minuti in media.

  • Se è in corso una migrazione dei dati, non puoi eseguire l'upgrade dell'istanza di origine alla nuova architettura durante la migrazione dei dati.

  • Se ti connetti a un'istanza da un'origine esterna, verifica che tutte le connessioni di peering siano aggiornate per consentire l'esportazione delle route personalizzate.

  • Se utilizzi i perimetri di servizio, verifica che sia incluso il progetto host VPC condiviso. Se questo progetto non è incluso, la migrazione non va a buon fine.

  • Non puoi eseguire l'upgrade dell'architettura di rete delle istanze su una rete con più di 300 istanze Cloud SQL.

  • Se la tua rete include due o più istanze che utilizzano indirizzi IP privati nella stessa regione, Cloud SQL deve utilizzare uno o più intervalli /24 aggiuntivi dall'intervallo di indirizzi IP di accesso privato ai servizi allocati per ospitare le istanze nella nuova architettura di rete. Questo consumo aggiuntivo è temporaneo e viene rimosso durante un successivo evento di manutenzione di Cloud SQL.

  • Le istanze legacy ad alta disponibilità (HA) con repliche di failover non sono supportate per un upgrade.

  • Dopo aver eseguito l'upgrade dell'architettura di rete, non puoi creare repliche di failover HA precedenti per le istanze di cui è stato eseguito l'upgrade.

Pianificare l'upgrade di tutte le istanze Cloud SQL in un progetto di rete

Le istanze Cloud SQL possono trovarsi nello stesso progetto della rete VPC o in un progetto separato. Il progetto che ospita la rete VPC è il progetto di rete.

Un progetto di rete può funzionare in modalità dual stack, il che significa che può ospitare contemporaneamente istanze Cloud SQL utilizzando sia la vecchia che la nuova architettura di rete. Questo accade quando almeno un'istanza all'interno del progetto utilizza la vecchia architettura. Di conseguenza, Cloud SQL non può eseguire l'upgrade del progetto alla nuova architettura.

Per eseguire query sull'architettura di rete di tutte le istanze all'interno di un progetto, puoi utilizzare Google Cloud CLI o l'API.

Considerazioni per i progetti a doppio stack

Quando utilizzi progetti a doppio stack, tieni presenti le seguenti considerazioni:

  • Eseguire l'upgrade di un'istanza in modo implicito: quando modifichi la rete privata di un'istanza o attivi l'indirizzo IP privato all'interno di un progetto dual stack, Cloud SQL potrebbe eseguire l'upgrade dell'istanza alla nuova architettura di rete in modo implicito.
  • Nessun downgrade dell'architettura: le modifiche alla rete non eseguono mai il downgrade dell'architettura di rete di un'istanza.
  • Rifiuta richieste: se una modifica della rete richiede il completamento di un downgrade, Cloud SQL rifiuta la richiesta.

Per evitare potenziali conflitti e garantire un upgrade della rete senza problemi, ti consigliamo di pianificare l'upgrade di tutte le istanze del progetto alla nuova architettura.

Esegui l'upgrade dell'architettura di rete Cloud SQL

Per eseguire l'upgrade dell'architettura di rete della tua istanza Cloud SQL:

  1. Controlla l'architettura di rete di una singola istanza Cloud SQL o di più istanze Cloud SQL.
  2. Esegui l'upgrade dell'architettura di rete di un'istanza Cloud SQL.

Controllare l'architettura di rete di una singola istanza Cloud SQL

Per controllare l'attuale architettura di rete di una singola istanza, utilizza il comando gcloud sql instances describe o il metodo instances.get.

gcloud

Per informazioni su come installare e iniziare a utilizzare gcloud CLI, consulta Installare gcloud CLI. Per informazioni su come avviare Cloud Shell, consulta Utilizzare Cloud Shell.

Per controllare l'architettura di rete di una singola istanza, esegui il seguente comando:

   gcloud sql instances describe INSTANCE_NAME
   

Se l'istanza utilizza la vecchia architettura di rete, la risposta è simile alla seguente:

   name: INSTANCE_NAME
   project: PROJECT_ID
   ...
   sqlNetworkArchitecture: OLD_NETWORK_ARCHITECTURE
  

Se l'istanza utilizza la nuova architettura di rete, la risposta è simile alla seguente:

   name: INSTANCE_NAME
   project: PROJECT_ID
   ...
   sqlNetworkArchitecture: NEW_NETWORK_ARCHITECTURE
  

Il parametro sqlNetworkArchitecture indica se la tua istanza utilizza la vecchia architettura di rete (OLD_NETWORK_ARCHITECTURE) o la nuova architettura di rete (NEW_NETWORK_ARCHITECTURE).

REST v1

Per controllare l'architettura di rete di un'istanza, utilizza il metodo instances.get dell'API Cloud SQL Admin.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto.
  • INSTANCE_NAME: il nome dell'istanza.
  • NETWORK_ARCHITECTURE_TYPE: il tipo di architettura di rete è definito come segue:
    • OLD_NETWORK_ARCHITECTURE: l'istanza utilizza la vecchia architettura di rete.
    • NEW_NETWORK_ARCHITECTURE: l'istanza utilizza la nuova architettura di rete.

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Corpo JSON della richiesta:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": sql#instance
  "name": INSTANCE_NAME
  "project": PROJECT_ID
  "sqlNetworkArchitecture": enum (SqlNetworkArchitecture)
  ...
}

REST v1beta4

Per controllare l'architettura di rete di un'istanza, utilizza il metodo instances.get dell'API Cloud SQL Admin.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto.
  • INSTANCE_NAME: il nome dell'istanza.
  • NETWORK_ARCHITECTURE_TYPE: il tipo di architettura di rete è definito come segue:
    • OLD_NETWORK_ARCHITECTURE: l'istanza utilizza la vecchia architettura di rete.
    • NEW_NETWORK_ARCHITECTURE: l'istanza utilizza la nuova architettura di rete.

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

Corpo JSON della richiesta:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": sql#instance
  "name": INSTANCE_NAME
  "project": PROJECT_ID
  "sqlNetworkArchitecture": enum (SqlNetworkArchitecture)
  ...
}

Controllare l'architettura di rete di più istanze Cloud SQL

Per controllare l'architettura di rete di più istanze in un progetto, utilizza il comando gcloud sql instances list o il metodo instance.list.

gcloud

Per controllare l'architettura di rete di più istanze in un progetto, esegui il seguente comando:

gcloud sql instances list --show-sql-network-architecture

L'output è simile al seguente.

NAME        DATABASE_VERSION LOCATION   ...     SQL_NETWORK_ARCHITECTURE
instance_1  POSTGRES_13      asia-northeast1-b  OLD_NETWORK_ARCHITECTURE
instance_2  MYSQL_5_7        europe-west1-d     NEW_NETWORK_ARCHITECTURE
...

REST v1

Per controllare l'architettura di rete di più istanze in un progetto, utilizza il metodo instance.list.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto.
  • NETWORK_ARCHITECTURE_TYPE: il tipo di architettura di rete come segue:
    • OLD_NETWORK_ARCHITECTURE: l'istanza utilizza la vecchia architettura di rete.
    • NEW_NETWORK_ARCHITECTURE: l'istanza utilizza la nuova architettura di rete.

Metodo HTTP e URL:

LIST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

Corpo JSON della richiesta:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": sql#instance
  "name": INSTANCE_NAME
  "project": PROJECT_ID
  "sqlNetworkArchitecture": enum (SqlNetworkArchitecture)
  ...
}

REST v1beta4

Per controllare l'architettura di rete di più istanze in un progetto, utilizza il metodo instance.list.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto.
  • NETWORK_ARCHITECTURE_TYPE: il tipo di architettura di rete è definito come segue:
    • OLD_NETWORK_ARCHITECTURE: l'istanza utilizza la vecchia architettura di rete.
    • NEW_NETWORK_ARCHITECTURE: l'istanza utilizza la nuova architettura di rete.

Metodo HTTP e URL:

LIST https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances

Corpo JSON della richiesta:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": sql#instance
  "name": INSTANCE_NAME
  "project": PROJECT_ID
  "sqlNetworkArchitecture": enum (SqlNetworkArchitecture)
  ...
}

Eseguire l'upgrade dell'architettura di rete di una singola istanza Cloud SQL

Per eseguire l'upgrade dell'architettura di rete per una singola istanza, utilizza il comando gcloud sql instances patch, il metodo instance.update o il metodo instance.patch.

gcloud

Per eseguire l'upgrade dell'architettura di rete di un'istanza, esegui il seguente comando:

gcloud sql instances patch INSTANCE_NAME --upgrade-sql-network-architecture

L'operazione di upgrade richiede alcuni minuti.

Durante l'upgrade viene avviata un'operazione a lunga esecuzione e viene restituito un token di operazione:

operation_id

REST v1

Per eseguire l'upgrade dell'architettura di rete di un'istanza, utilizza il metodo instance.update o instance.patch dell'API Cloud SQL Admin.

Quando esegui l'upgrade dell'architettura di rete di Cloud SQL, nella richiesta non sono consentiti aggiornamenti aggiuntivi dell'istanza. Il corpo della richiesta contiene un'istanza dell'oggetto DatabaseInstance, con sqlNetworkArchitecture impostato su NEW_NETWORK_ARCHITECTURE.

Durante l'upgrade viene avviata un'operazione a lunga esecuzione e viene restituito un token di operazione:

operation_id

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto.
  • INSTANCE_NAME: il nome dell'istanza.
  • NETWORK_ARCHITECTURE_TYPE: il tipo di architettura di rete è definito come segue:
    • OLD_NETWORK_ARCHITECTURE: l'istanza utilizza la vecchia architettura di rete.
    • NEW_NETWORK_ARCHITECTURE: l'istanza utilizza la nuova architettura di rete.

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Corpo JSON della richiesta:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": sql#instance,
  "targetLink": string,
  "status": enum (SqlOperationStatus),
  "name": string,
  "insertTime": string,
  "startTime": string,
  "endTime": string
  ...
}

Se l'upgrade dell'istanza non riesce, riprova l'operazione.

REST v1beta4

Per eseguire l'upgrade dell'architettura di rete di un'istanza, utilizza instance.update method o instance.patch method dell'API Cloud SQL Admin.

Quando esegui l'upgrade dell'architettura di rete di Cloud SQL, nella richiesta non sono consentiti aggiornamenti aggiuntivi dell'istanza. Il corpo della richiesta contiene un'istanza dell'oggetto DatabaseInstance, con sqlNetworkArchitecture impostato su NEW_NETWORK_ARCHITECTURE.

Durante l'upgrade viene avviata un'operazione a lunga esecuzione e viene restituito il seguente token di operazione:

operation_id

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto.
  • INSTANCE_NAME: il nome dell'istanza.
  • NETWORK_ARCHITECTURE_TYPE: il tipo di architettura di rete è definito come segue:
    • OLD_NETWORK_ARCHITECTURE: l'istanza utilizza la vecchia architettura di rete.
    • NEW_NETWORK_ARCHITECTURE: l'istanza utilizza la nuova architettura di rete.

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

Corpo JSON della richiesta:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": sql#instance,
  "targetLink": string,
  "status": enum (SqlOperationStatus),
  "name": string,
  "insertTime": string,
  "startTime": string,
  "endTime": string
  ...
}

Se l'upgrade dell'istanza non va a buon fine per qualsiasi motivo, puoi riprovare con l'operazione di upgrade.

Domande frequenti

Questa sezione fornisce le risposte alle domande frequenti sull'upgrade dell'architettura di rete di Cloud SQL.

Qual è l'impatto dell'upgrade sulla mia istanza Cloud SQL?

Durante l'upgrade dell'architettura di rete, l'istanza Cloud SQL ha stato MANTENUTA. In questo stato, l'istanza presenta in media fino a quattro minuti di tempo di inattività. Non sono consentite modifiche aggiuntive all'istanza fino al completamento dell'upgrade. Le altre istanze del progetto o della rete non sono interessate dall'upgrade.

Tutte le funzionalità funzionano allo stesso modo dopo l'upgrade?

Tutte le funzionalità dell'istanza Cloud SQL funzionano allo stesso modo nella nuova architettura come nella vecchia. Dopo aver eseguito l'upgrade di un'istanza per utilizzare la nuova architettura di rete, se vuoi cambiare la rete dell'istanza, assicurati che anche tutte le istanze nella rete di destinazione vengano sottoposte all'upgrade alla nuova architettura di rete.

Quali istanze utilizzano la vecchia architettura di rete?

Tutti i nuovi progetti creati dopo agosto 2021 utilizzano automaticamente la nuova architettura di rete. I progetti esistenti possono contenere istanze Cloud SQL di più di due anni che utilizzano ancora la vecchia architettura di rete. Pertanto, è necessario eseguire l'upgrade di tutte le istanze di un progetto esistente prima che le nuove istanze del progetto possano iniziare a utilizzare la nuova architettura di rete.

Tutte le nuove istanze Cloud SQL vengono create nella nuova architettura di rete?

Per impostazione predefinita, le nuove istanze Cloud SQL create nei progetti creati dopo agosto 2021 utilizzano la nuova architettura di rete.

Se vuoi creare un'istanza in un progetto creato prima di agosto 2021 e utilizzare la nuova architettura di rete, devi aggiornare tutte le istanze esistenti nel progetto alla nuova architettura di rete. Se utilizzi VPC condivisa, devi aggiornare tutte le istanze nei progetti che partecipano al VPC condiviso.

Dopo aver aggiornato tutte le istanze esistenti nel progetto, attendi diverse ore prima di crearne altre. Le nuove istanze create nel progetto utilizzano la nuova architettura di rete.

È possibile aggiornare tutte le istanze di un progetto con un solo comando?

No, l'upgrade alla nuova architettura di rete si basa su ogni istanza.

L'upgrade della replica viene eseguito automaticamente se eseguo l'upgrade della principale?

No, l'upgrade alla nuova architettura di rete si basa su ogni singola istanza. Ogni replica viene trattata come un'istanza separata e deve essere sottoposta a upgrade singolarmente. Ciò significa che se viene eseguito l'upgrade dell'istanza principale e la replica utilizza la vecchia architettura di rete, la replica non è interessata. Questo è vero anche in caso contrario. Se esegui l'upgrade di una replica, la principale non sarà interessata.

Ho ricevuto una notifica che mi informa che verrà eseguito l'upgrade dell'architettura di rete delle mie istanze Cloud SQL. Che cosa devo fare?

Non è richiesta alcuna azione da parte tua.

In alcuni casi, quando l'upgrade automatico avviene su una rete privata, la richiesta viene rifiutata temporaneamente. Come soluzione alternativa, puoi eseguire l'upgrade dell'architettura di rete della tua istanza autonomamente seguendo la procedura descritta in Eseguire l'upgrade dell'architettura di rete di una singola istanza Cloud SQL.

Quando provo a eseguire l'upgrade della mia istanza, ricevo l'errore "Fuori dall'intervallo di indirizzi IP riservati". Che cosa devo fare?

Per utilizzare le istanze Cloud SQL in una rete VPC con IP privato, alloca gli intervalli di indirizzi IP quando configuri l'accesso ai servizi privati per la rete VPC.

Ad esempio, se un intervallo di indirizzi IP allocato viene modificato o eliminato, potresti riscontrare un errore simile al seguente:

Network architecture upgrade not allowed for private-ip instance PROJECT_ID:INSTANCE_NAME
whose IP address range 10.0.0.0/24 is outside the reserved IP address range for
private services access. Re-allocate the IP address range for private services access and retry.

In questo esempio, l'intervallo IP allocato originale ha il nome google-managed-services-VPC_NETWORK_NAME e l'intervallo IP allocato originale è 10.0.0.0/16. Poi crea un'istanza con un indirizzo IP privato 10.0.0.1. Se l'intervallo di indirizzi IP di google-managed-services-VPC_NETWORK_NAME viene eliminato o aggiornato in modo da fare riferimento a un intervallo di 10.1.0.0/16, questo intervallo non copre l'indirizzo IP privato dell'istanza 10.0.0.1. Successivamente, quando provi ad eseguire l'upgrade dell'architettura di rete dell'istanza, si verifica l'errore outside the reserved IP address range.

Per risolvere il problema, segui la procedura descritta in Configurare l'accesso privato ai servizi per Cloud SQL. Rialloca un intervallo di indirizzi IP che include l'indirizzo IP della tua istanza negli intervalli allocati per l'accesso ai servizi privati. Come minimo, puoi allocare l'intervallo di indirizzi IP indicato nel messaggio di errore (nell'esempio precedente, 10.0.0.0/24).

Poi riprova a eseguire l'upgrade dell'architettura di rete.

Passaggi successivi