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


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

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 precedente:

Capacità Vecchia architettura di rete 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, migrazione da Cloud SQL ad AlloyDB per PostgreSQL.
Connetti l'istanza Cloud SQL utilizzando l'IP privato a servizi privati come Cloud Build o Vertex AI Non supportato a causa dell'intransitività del peering di rete Supportato
Istanze conformi ad Assured Workloads Non supportata Supportato
Knowledge Catalog Non supportata Supportato
AD gestito dal cliente Non supportata Supportato
Managed Microsoft AD Non supportata Supportato
Private Service Connect Non supportata Supportato
Quota di istanze Cloud SQL predefinita per progetto 100 1000

Pianifica l'upgrade

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

  • Se esegui l'upgrade dell'architettura di rete, puoi aspettarti un tempo di inattività dell'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 in peering siano aggiornate per abilitare l'esportazione delle route personalizzate.

  • Se utilizzi i perimetri di servizio, verifica che sia incluso il progetto host del 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.

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

Le istanze Cloud SQL possono risiedere 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 istanze Cloud SQL contemporaneamente, 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 per tutte le istanze di un progetto, puoi utilizzare gcloud CLI o l'API.

Considerazioni per i progetti a doppio stack

Quando utilizzi progetti a doppio stack, tieni presente quanto segue:

  • Esegui l'upgrade di un'istanza in modo implicito: quando modifichi la rete privata di un'istanza o abiliti l'indirizzo IP privato all'interno di un progetto a doppio 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 le richieste: se una modifica della rete richiede un downgrade per essere completata, Cloud SQL rifiuta la richiesta.
  • Le nuove istanze non possono utilizzare intervalli IP della vecchia architettura di rete: quando un progetto è in modalità dual-stack, non puoi creare istanze che utilizzano intervalli IP associati a connessioni di servizio della vecchia architettura di rete.
  • Applicazione della nuova architettura di rete: puoi forzare un'istanza a utilizzare la nuova architettura di rete quando crei l'istanza o ne modifichi la configurazione di rete. Quando utilizzi il flag --enforce-new-sql-network-architecture per creare o aggiornare l'istanza, questa viene inserita in una subnet separata rispetto alle istanze che utilizzano la vecchia architettura di rete. La separazione è permanente e persiste anche dopo l'upgrade delle istanze della vecchia architettura di rete alla nuova architettura di rete.

    Per maggiori dettagli sull'allocazione IP e sulle subnet, consulta Intervalli di indirizzi IP allocati.

Per evitare potenziali conflitti e garantire un upgrade di 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 di Cloud SQL

Per eseguire l'upgrade dell'architettura di rete della tua istanza Cloud SQL, segui questi passaggi:

  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.

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

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

gcloud

Per informazioni sull'installazione e su come iniziare a utilizzare gcloud CLI, consulta Installa gcloud CLI. Per informazioni sull'avvio di Cloud Shell, consulta Utilizza 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 l'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 sostituzioni seguenti:

  • 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 sostituzioni seguenti:

  • 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)
  ...
}

Controlla 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 sostituzioni seguenti:

  • 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 sostituzioni seguenti:

  • 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)
  ...
}

Esegui 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 dell'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, non sono consentiti altri aggiornamenti all'istanza nella richiesta. 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 dell'operazione:

operation_id

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

  • 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 va a buon fine, riprova l'operazione di upgrade.

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, non sono consentiti altri aggiornamenti all'istanza nella richiesta. 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 dell'operazione:

operation_id

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

  • 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 l'operazione di upgrade.

Domande frequenti

Questa sezione fornisce 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 è in stato MAINTENANCE. In questo stato, l'istanza subisce un tempo di inattività di quattro minuti massimo in media. Non sono consentite ulteriori modifiche 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 sulla nuova architettura esattamente come sulla precedente. Dopo aver eseguito l'upgrade di un'istanza per utilizzare la nuova architettura di rete, se vuoi cambiare la rete di quell'istanza, assicurati che anche tutte le istanze nella rete di destinazione siano state aggiornate 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 create prima di agosto 2021 e utilizzare ancora la vecchia architettura di rete. Pertanto, è necessario eseguire l'upgrade di tutte le istanze all'interno di un progetto esistente prima che le nuove istanze di quel progetto possano iniziare a utilizzare la nuova architettura di rete.

Tutte le nuove istanze Cloud SQL vengono create sulla 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, hai le seguenti opzioni:

  • Aggiorna tutte le istanze esistenti: aggiorna tutte le istanze esistenti nel progetto alla nuova architettura di rete. Se utilizzi un VPC condiviso, devi aggiornare tutte le istanze nei progetti che partecipano al VPC condiviso. Dopo aver aggiornato tutte le istanze esistenti nel progetto, attendi alcune ore prima di creare altre istanze nel progetto. Le nuove istanze che crei nel progetto utilizzeranno la nuova architettura di rete.

  • Forza l'utilizzo della nuova architettura di rete: puoi forzare Cloud SQL a utilizzare la nuova architettura di rete utilizzando il campo sqlNetworkArchitecture nell'API o il flag --enforce-new-sql-network-architecture in gcloud CLI quando crei un'istanza o modifichi la configurazione della rete IP privato di un'istanza esistente. Tuttavia, se applichi la nuova architettura di rete per le istanze prima che un progetto venga completamente sottoposto ad upgrade, potresti riscontrare un errore di creazione dell'istanza se non è disponibile spazio di indirizzi IP sufficiente. Per maggiori dettagli sull'allocazione degli intervalli di indirizzi IP, consulta Intervalli di indirizzi IP allocati.

Se sono presenti istanze eliminate di recente con la vecchia architettura di rete, devi attendere quattro giorni prima di creare una nuova istanza con la nuova architettura di rete. Questo ritardo consente di eseguire la procedura di ripristino di un'istanza eliminata.

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

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

Se eseguo l'upgrade della replica principale, viene eseguito automaticamente anche l'upgrade della replica?

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 ad upgrade separatamente. Ciò significa che se viene eseguito l'upgrade dell'istanza principale e la replica utilizza la vecchia architettura di rete, la replica non è interessata. Vale anche il contrario. Se esegui l'upgrade di una replica, l'istanza principale non verrà interessata.

Ho ricevuto una notifica che mi informa che verrà eseguito l'upgrade dell'architettura di rete delle mie istanze Cloud SQL. 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 seguendo la procedura descritta in Esegui l'upgrade dell'architettura di rete di una singola istanza Cloud SQL.

Quando provo a eseguire l'upgrade della mia istanza, ricevo l'errore "al di fuori dell'intervallo di indirizzi IP riservati". 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 privato ai servizi per la rete VPC.

Ad esempio, se un intervallo di indirizzi IP allocati 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 di indirizzi IP allocato originale ha il nome google-managed-services-VPC_NETWORK_NAME e l'intervallo di indirizzi IP allocato originale è 10.0.0.0/16. Quindi crei 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. In seguito, quando provi a eseguire l'upgrade dell'architettura di rete della tua istanza, viene visualizzato l'errore outside the reserved IP address range.

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

Quindi, riprova a eseguire l'upgrade dell'architettura di rete.

Passaggi successivi