Descrivi ed elenca i deployment blu/verde

Questo documento descrive come elencare e descrivere i deployment blu/verde di Cloud SQL, esaminare i dettagli di connessione e le differenze di configurazione e connettersi all'ambiente di staging verde per testare e convalidare i tuoi carichi di lavoro.

Prima di iniziare

Per elencare o descrivere un deployment blu/verde e connetterti all'istanza di staging verde, verifica di disporre dei ruoli e delle credenziali del database necessari.

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per elencare e descrivere le implementazioni blue-green, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:

  • Visualizzatore Cloud SQL (roles/cloudsql.viewer)
  • Editor Cloud SQL (roles/cloudsql.editor)
  • Amministratore Cloud SQL (roles/cloudsql.admin)

Per i ruoli personalizzati, assicurati di disporre delle seguenti autorizzazioni:

  • cloudsql.blueGreenDeployments.get
  • cloudsql.blueGreenDeployments.list

Per connetterti all'istanza di staging verde ed eseguire query di test, devi anche configurare le credenziali utente del database nell'istanza di origine.

Per saperne di più sui ruoli e sulle autorizzazioni IAM in Cloud SQL, consulta Ruoli e autorizzazioni.

Panoramica

Il comando describe consente di monitorare e tenere traccia dello stato di un deployment blu/verde di Cloud SQL in qualsiasi momento del suo ciclo di vita, dal provisioning iniziale e dallo staging al completamento del trasferimento.

La descrizione di un deployment blu/verde fornisce visibilità su:

  • Stato del ciclo di vita del deployment:monitora lo stato in tempo reale del deployment durante la transizione tra stati come PROVISIONING, SWITCHOVER_READY, SWITCHOVER_NOT_READY, SWITCHOVER_IN_PROGRESS e SWITCHOVER_COMPLETED.
  • Dettagli della connessione dell'istanza target:recupera il nome della connessione univoco e gli endpoint di rete per l'istanza di staging verde. In questo modo, gli amministratori di database (DBA) e gli ingegneri QA possono connettere le applicazioni, eseguire query di test e convalidare le prestazioni nell'istanza verde senza influire sul traffico di produzione blu live.
  • Integrità della replica e preparazione al failover: verifica che la replica logica continua da blu a verde sia integra e controlla i dettagli degli errori di diagnostica in caso di problemi. Tieni presente che la descrizione di un deployment non mostra il ritardo di replica.
  • Differenze di configurazione:se richiesto con la visualizzazione dettagliata, esamina un confronto fianco a fianco (diffs) delle versioni del database, dei livelli delle macchine, delle impostazioni di archiviazione e delle configurazioni di alta affidabilità tra le istanze blu e verdi.

Elenca i deployment blu/verde

Per elencare i deployment blu/verde in un progetto:

Console

  1. Nella console Google Cloud , vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Nell'elenco delle istanze, visualizza la colonna ID deployment blu/verde per visualizzare i deployment blu/verde associati alle tue istanze. Le istanze che fanno parte di un deployment blu/verde mostrano anche un tag di ruolo (Blue, Green, Old-blue o New-blue) accanto al nome dell'istanza.

gcloud

Per elencare i deployment blu/verde utilizzando gcloud, esegui il comando blue-green-deployments list:

gcloud beta sql blue-green-deployments list \
  --region=REGION

Per elencare i deployment in tutte le regioni del tuo progetto, ometti il flag --region.

REST v1

Per elencare i deployment utilizzando l'API Cloud SQL Admin, invia una richiesta GET al metodo blueGreenDeployments.list:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/blueGreenDeployments

REST v1beta4

Per elencare i deployment utilizzando l'API Cloud SQL Admin, invia una richiesta GET al metodo blueGreenDeployments.list:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/blueGreenDeployments

Descrivi il deployment blu/verde

Per esaminare lo stato del deployment e ottenere i dettagli della connessione all'istanza verde, descrivi il deployment:

Console

  1. Nella console Google Cloud , vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica del deployment, procedi in uno dei seguenti modi:
    • Nella colonna ID deployment blu/verde, fai clic sull'ID del deployment.
    • Fai clic sul nome dell'istanza per aprire la pagina Panoramica, quindi nella scheda Stato del deployment blu/verde fai clic su Dettagli.
  3. Nella pagina Panoramica del deployment, esamina la scheda Dettagli del deployment per controllare lo Stato, l'Istanza di origine, l'istanza target, l'Endpoint dell'istanza di destinazione e la Versione di destinazione, nonché la scheda Avanzamento del deployment per controllare lo stato delle attività.

gcloud

Per descrivere un deployment utilizzando gcloud, esegui il comando blue-green-deployments describe:

gcloud beta sql blue-green-deployments describe DEPLOYMENT_NAME \
  --region=REGION

Sostituisci quanto segue:

  • DEPLOYMENT_NAME: il nome del deployment blu/verde.
  • REGION: la regione Google Cloud in cui è stato creato il deployment.

REST v1

Per descrivere un deployment utilizzando l'API Cloud SQL Admin, invia una richiesta GET al metodo blueGreenDeployments.get:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME

REST v1beta4

Per descrivere un deployment utilizzando l'API Cloud SQL Admin, invia una richiesta GET al metodo blueGreenDeployments.get:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME

Controllare lo stato e i dettagli della connessione

Nell'output del comando, verifica lo stato del deployment e individua le informazioni di connessione per l'istanza verde di destinazione:

name: projects/my-project/locations/us-central1/
  blueGreenDeployments/my-deployment
createTime: '2026-08-13T10:00:00.000Z'
state: SWITCHOVER_READY
sourceInstance: my-source-instance
switchoverTargetInstance: my-target-instance
requestedConfig:
  databaseVersion: MYSQL_8_4
deploymentMappings:
- source:
    connection: my-project:us-central1:my-source-instance
    dns: my-source-instance.123456789012.us-central1.sql.goog.
    instance: projects/my-project/instances/my-source-instance
    ipAddresses:
    - ipAddress: 10.0.0.1
      type: PRIMARY
  state: PROVISIONED
  target:
    connection: my-project:us-central1:my-target-instance
    dns: my-target-instance.123456789012.us-central1.sql.goog.
    instance: projects/my-project/instances/my-target-instance
    ipAddresses:
    - ipAddress: 10.0.0.2
      type: PRIMARY
  tasks:
  - type: PROVISION
    state: SUCCEEDED
    startTime: '2026-08-13T10:00:00.000Z'
    endTime: '2026-08-13T10:15:00.000Z'
deploymentTasks:
- type: PROVISION
  state: SUCCEEDED
  startTime: '2026-08-13T10:00:00.000Z'
  endTime: '2026-08-13T10:15:00.000Z'

Esamina i seguenti campi nella risposta:

  • name: il percorso completo della risorsa del deployment nel formato projects/PROJECT_ID/locations/REGION/blueGreenDeployments/DEPLOYMENT_NAME.
  • createTime: il timestamp della creazione del deployment.
  • state: lo stato complessivo del ciclo di vita del deployment:
    • PROVISIONING: il deployment sta eseguendo il provisioning dell'ambiente verde e configurando la replica.
    • SWITCHOVER_READY: lo staging è completo, la replica logica è integra e il deployment è pronto per il cambio. Conferma questo stato prima di eseguire i test.
    • SWITCHOVER_NOT_READY: il deployment non è pronto per il cambio. Controlla errorDetail per la risoluzione dei problemi.
    • SWITCHOVER_IN_PROGRESS: un'operazione di switchover è in esecuzione.
    • SWITCHOVER_COMPLETED: il cambio è stato completato correttamente e l'istanza verde ora gestisce il traffico di produzione come istanza di lettura e scrittura attiva.
    • DELETING: la risorsa di deployment è in fase di eliminazione.
  • sourceInstance: l'identificatore dell'istanza di produzione blu originale.
  • switchoverTargetInstance: l'identificatore dell'istanza di staging verde che diventa l'istanza di produzione di lettura e scrittura durante il failover.
  • requestedConfig: la configurazione prevista per l'istanza target al momento della creazione, ad esempio databaseVersion per gli upgrade della versione principale.
  • errorDetail: dettagli dell'errore di diagnostica che spiegano perché il cambio non è pronto o perché un'attività di provisioning o di cambio non è riuscita.
  • deploymentMappings: l'elenco delle coppie di istanze di origine e istanza target nel deployment. Per ogni coppia, esamina:
    • source: dettagli di connessione e di rete per l'istanza blu, incluso il percorso della risorsa istanza (instance), il nome della connessione (connection), il nome host DNS (dns) e gli indirizzi IP (ipAddresses).
    • target: dettagli di connessione e di rete per l'istanza verde. Utilizza il nome connection o ipAddresses di destinazione per connettere le applicazioni di staging e le suite di test all'ambiente verde.
    • diffs: differenze di configurazione tra le istanze blu e verdi quando utilizzi la visualizzazione dettagliata. Durante l'anteprima, le modifiche ai flag di database non vengono mostrate.
    • state: lo stato di attività del nodo accoppiato (ad esempio PROVISIONING, PROVISIONED, UPGRADING, UPGRADED, UPGRADE_FAILED, SWITCHOVER_IN_PROGRESS, SWITCHOVER_FAILED, SWITCHOVER_SUCCEEDED o DELETING).
    • tasks: lo stato di esecuzione, l'ora di inizio, l'ora di fine e i dettagli degli errori per le attività di deployment eseguite su questo nodo.
  • deploymentTasks:un elenco consolidato di tutte le attività di deployment in tutti i nodi, incluse le attività type (PROVISION, UPGRADE, SWITCHOVER, DELETE o POST_SWITCHOVER_OPERATIONS), state (PENDING, RUNNING, SUCCEEDED o FAILED), startTime, endTime e errorMessage.

Visualizzare le differenze di configurazione

Per impostazione predefinita, la descrizione di un deployment restituisce la visualizzazione di base con i metadati principali. Per esaminare le differenze di configurazione tra le istanze blu e verdi, visualizza le differenze di impostazione nella console Google Cloud o richiedi la visualizzazione dettagliata utilizzando gcloud CLI o l'API Cloud SQL Admin:

Console

  1. Nella console Google Cloud , vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Nella scheda Stato del deployment blu/verde, fai clic su Dettagli per aprire la pagina Panoramica del deployment.
  4. Nella scheda Dettagli del deployment, fai clic su Visualizza differenze impostazioni.
  5. Nella finestra di dialogo Differenze tra le impostazioni delle istanze, esamina il confronto tra le istanze Origine e Destinazione, quindi fai clic su Chiudi.

gcloud

Esegui il comando blue-green-deployments describe con il flag --show-config-diff:

gcloud beta sql blue-green-deployments describe DEPLOYMENT_NAME \
  --region=REGION \
  --show-config-diff

REST v1

Invia una richiesta GET al metodo blueGreenDeployments.get con il parametro di query view=DETAILED:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME?view=DETAILED

REST v1beta4

Invia una richiesta GET al metodo blueGreenDeployments.get con il parametro di query view=DETAILED:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME?view=DETAILED

Esamina le differenze di configurazione

Quando specifichi la visualizzazione dettagliata, la risposta include una sezione diffs all'interno di ogni nodo accoppiato in deploymentMappings:

deploymentMappings:
- diffs:
  - field: database_version
    sourceValue: MYSQL_8_0
    targetValue: MYSQL_8_4
  - field: settings/tier
    sourceValue: db-custom-2-7680
    targetValue: db-custom-4-15360
  source:
    instance: projects/PROJECT_ID/instances/my-source-instance
  target:
    connection: PROJECT_ID:REGION:my-target-instance
    instance: projects/PROJECT_ID/instances/my-target-instance

La sezione diffs evidenzia le differenze tra le istanze di origine e l'istanza target per attributi quali:

  • database_version: la versione del motore del database sulle istanze blu e verdi.
  • settings/tier: il tipo di macchina (vCPU e memoria) allocato all'istanza.
  • edition: la versione Cloud SQL (Cloud SQL Enterprise o Cloud SQL Enterprise Plus).
  • availability_type: configurazione ad alta affidabilità (ZONAL o REGIONAL).
  • settings/data_disk_size_gb: capacità di archiviazione in gigabyte.
  • settings/data_disk_type: tipo di spazio di archiviazione (PD_SSD).

Prima di iniziare i test funzionali del workload, verifica che tutte le modifiche elencate corrispondano alle specifiche di deployment pianificate.

Connetti e convalida i carichi di lavoro delle applicazioni

Connetti la tua applicazione o i tuoi strumenti client all'istanza verde utilizzando la relativa stringa di connessione univoca:

gcloud sql connect TARGET_INSTANCE_NAME --user=DB_USER

Sostituisci quanto segue:

  • TARGET_INSTANCE_NAME: il nome dell'istanza verde di destinazione.
  • DB_USER: il nome utente del database.

Esegui i seguenti passaggi di convalida:

  • Esegui test di integrazione:verifica che le query dell'applicazione e le procedure archiviate vengano eseguite senza errori nell'istanza verde.
  • Controlla i log degli errori:controlla i log degli errori di Cloud Logging e del database Cloud SQL per individuare avvisi relativi a sintassi deprecate o errori imprevisti del motore.
  • Esamina le statistiche sul rendimento:monitora le metriche relative a CPU, memoria e I/O nell'istanza verde per assicurarti che il rendimento soddisfi gli SLO operativi.

Passaggi successivi