Ripristina un cluster AlloyDB da un vault di backup

Questo documento mostra come ripristinare un cluster AlloyDB da un vault di backup utilizzando la Google Cloud console o la gcloud CLI. Descrive come eseguire il ripristino da un backup archiviato nel vault o eseguire il recupero point-in-time (PITR).

Per ulteriori informazioni sulle funzionalità concettuali di Backup e RE, consulta la panoramica di Backup e DR. Se vuoi eseguire prima il backup dei database, consulta Eseguire il backup dei cluster AlloyDB in un vault di backup.

Opzioni di ripristino di emergenza per i cluster AlloyDB.

I backup archiviati in un vault di backup sono indipendenti dal ciclo di vita e dal progetto del cluster di origine.

Puoi ripristinare i backup anche se il progetto del workload originale contenente il cluster AlloyDB di origine viene eliminato. Questo perché le autorizzazioni di decrittografia necessarie per i backup criptati con CMEK sono ancorate al service agent di Backup e RE nel progetto del vault di backup, non nel progetto del workload. In questo modo, i backup rimangono accessibili e ripristinabili finché il vault di backup e la chiave del vault di Cloud Key Management Service sono intatti e il service agent dispone delle autorizzazioni.

Prima di iniziare

Prima di ripristinare un cluster AlloyDB da un backup archiviato nel vault, assicurati di disporre dei ruoli e delle autorizzazioni richiesti.

Per ottenere le autorizzazioni necessarie per ripristinare un cluster AlloyDB da un backup archiviato nel vault, chiedi all'amministratore di concederti i seguenti ruoli IAM:

  • Per creare la destinazione di ripristino: AlloyDB Admin (roles/alloydb.admin) sul progetto in cui si trova il cluster di destinazione
  • Per leggere il backup dal vault: Utente Backup e DR Restore (roles/backupdr.restoreUser) sul progetto in cui esiste il backup di origine

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per ripristinare un cluster AlloyDB da un backup archiviato nel vault. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per ripristinare un cluster AlloyDB da un backup archiviato nel vault sono necessarie le seguenti autorizzazioni:

  • Per creare la destinazione di ripristino: alloydb.clusters.restore
  • Per leggere il backup dal vault:
    • backupdr.bvbackups.useReadOnlyForAlloydbCluster
    • backupdr.bvdataSources.useReadOnlyForAlloydbCluster

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Ruoli del service agent e requisiti della versione della chiave

Poiché i backup sono incrementali, un singolo backup può essere criptato da più versioni della chiave del vault di Cloud Key Management Service se la chiave è stata ruotata nel tempo. Affinché l'operazione di ripristino vada a buon fine, assicurati che siano soddisfatti i seguenti prerequisiti:

  • Devono esistere tutte le versioni della chiave del vault di Cloud Key Management Service utilizzate per un backup incrementale.

  • Il service agent di Backup e RE nel progetto del vault di backup deve disporre del ruolo Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) sulla chiave del vault utilizzata per il backup.

Comportamento della chiave KMS del cluster ripristinato

Se non viene fornita una CMEK specifica durante il processo di ripristino, il cluster ripristinato viene criptato per impostazione predefinita da una Google-managed encryption key. Non viene criptato automaticamente dalla chiave del vault o dalla chiave del cluster di origine originale.

Se viene fornita una CMEK durante la configurazione del ripristino, il cluster ripristinato viene criptato con la chiave appena specificata.

Ripristinare un cluster AlloyDB da un backup archiviato nel vault

Per ripristinare un cluster AlloyDB per PostgreSQL da un backup archiviato nel vault, completa le attività nelle sezioni seguenti.

Ripristinare il backup in un nuovo cluster

Console

  1. Nella Google Cloud console, vai alla pagina Backup archiviati nel vault.

    Vai ai backup archiviati nel vault

  2. Seleziona il backup che vuoi ripristinare. Nella pagina Dettagli backup del backup o dal menu, seleziona Ripristina.

    Viene visualizzata la pagina Ripristina un backup. Il campo Tipo di risorsa è precompilato con AlloyDB.

  3. In Nome risorsa, seleziona il cluster AlloyDB da ripristinare.

  4. Fai clic su Backup. Viene visualizzato un riquadro che mostra tutti i backup disponibili.

  5. Seleziona il backup specifico da ripristinare.

  6. In Scegli la destinazione di ripristino, seleziona il progetto in cui vuoi ripristinare il cluster AlloyDB.

  7. Fai clic su Continua.

    La pagina successiva mostra i dettagli del ripristino finora e ti chiede di configurare un nuovo cluster. Viene creato un nuovo cluster AlloyDB basato sulla configurazione memorizzata nel backup. Puoi personalizzare il cluster al termine del ripristino.

  8. Fornisci un nuovo ID cluster utilizzando lettere minuscole, numeri e trattini, a partire da una lettera.

  9. Scegli un metodo di connessione privato. Esistono due metodi per connettere servizi in Google Cloud o reti VPC ospitate da terze parti, senza assegnare indirizzi IP esterni:

    • Accesso privato ai servizi: assegna il cluster a una singola rete VPC utilizzando una connessione in peering. Utilizza questa opzione quando ti connetti a servizi Google e di terze parti specifici Google Cloud nella stessa rete VPC del cluster AlloyDB. Richiede API aggiuntive.

    • Private Service Connect: consente l'accesso al cluster da una o più reti VPC utilizzando liste consentite ed endpoint Private Service Connect.

gcloud

gcloud beta alloydb clusters restore RESTORED_CLUSTER_ID \
    --project=WORKLOAD_PROJECT_ID \
    --region=REGION \
    --backupdr-backup=BACKUP_NAME

Sostituisci quanto segue:

  • RESTORED_CLUSTER_ID: l'ID del nuovo cluster AlloyDB che stai ripristinando.

  • WORKLOAD_PROJECT_ID: l'ID del progetto in cui vuoi ripristinare il cluster AlloyDB.

  • REGION: la Google Cloud regione in cui vuoi ripristinare il cluster AlloyDB.

  • BACKUP_NAME: il nome del backup che vuoi ripristinare.

Crea istanza principale

Dopo che Backup e RE ha terminato la creazione del cluster, crea un'istanza principale per il cluster.

Quando crei la nuova istanza principale, devi specificarne la configurazione, incluse le dimensioni e i flag. Backup e RE non memorizza la configurazione dell'istanza come parte del backup. Tieni presente che la configurazione non deve corrispondere esattamente a quella dell'istanza principale originale.

Al termine della creazione dell'istanza da parte di Backup e RE, puoi utilizzarla per accedere ai dati ripristinati.

Configura le istanze del pool di lettura

Completa la configurazione del nuovo cluster configurando le istanze del pool di lettura, se necessario.

Ripristinare un cluster AlloyDB a un momento specifico

Per ripristinare un cluster AlloyDB per PostgreSQL a un momento specifico, completa le attività nelle sezioni seguenti.

Requisiti

  • Per un recupero point-in-time (PITR) riuscito di un cluster di origine criptato con CMEK, devono esistere e essere accessibili sia la chiave del cluster di origine sia la chiave del vault.

  • Il service agent di AlloyDB per PostgreSQL nel progetto del workload deve disporre del ruolo Cloud KMS CryptoKeyEncrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) sulla chiave del cluster di origine e il service agent di Backup e RE nel progetto del vault di backup deve disporre del ruolo Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) sulla chiave del vault.

Ripristinare il backup in un nuovo cluster

Console

  1. Nella Google Cloud console, vai alla pagina Backup archiviati nel vault.

    Vai ai backup archiviati nel vault

    La pagina Backup archiviati nel vault elenca solo le risorse dati a cui sono applicati piani di backup e i cui backup sono archiviati in un vault di backup all'interno di questo progetto.

  2. Nella parte superiore dell'elenco dei backup, seleziona Ripristina da un momento specifico.

    Viene visualizzato il riquadro Ripristina da un momento specifico in un nuovo cluster , in cui puoi selezionare il momento specifico a cui eseguire il ripristino e i dettagli del nuovo cluster che creerai.

  3. Inserisci un'ora di inizio passata all'interno della finestra di recupero di questo cluster per ripristinare i dati del cluster.

  4. Configura un nuovo cluster. Viene creato un nuovo cluster AlloyDB basato sulla configurazione memorizzata nel backup. Puoi personalizzare il cluster al termine del ripristino.

  5. Fornisci un nuovo ID cluster utilizzando lettere minuscole, numeri e trattini, a partire da una lettera.

  6. Scegli un metodo di connessione privato. Esistono due metodi per connettere servizi in Google Cloud o reti VPC ospitate da terze parti, senza assegnare indirizzi IP esterni:

    • Accesso privato ai servizi: assegna il cluster a una singola rete VPC utilizzando una connessione in peering. Utilizza questa opzione quando ti connetti a servizi Google e di terze parti specifici Google Cloud nella stessa rete VPC del cluster AlloyDB. Richiede API aggiuntive.

    • Private Service Connect: consente l'accesso al cluster da una o più reti VPC utilizzando liste consentite ed endpoint Private Service Connect.

gcloud

  1. Trova l'ID dell'origine dati utilizzando il seguente comando:

    gcloud backup-dr data-source-references fetch-for-resource-type alloydb.googleapis.com/Cluster \
        --location=REGION \
        --project=WORKLOAD_PROJECT_ID \
        --filter='dataSourceGcpResourceInfo.gcp_resourcename="projects/WORKLOAD_PROJECT_NUMBER/locations/REGION/clusters/CLUSTER_NAME'
    
  2. Ripristina il cluster utilizzando l'ID dell'origine dati individuato nel passaggio precedente:

    gcloud beta alloydb clusters restore RESTORED_CLUSTER_ID \
        --project=WORKLOAD_PROJECT_ID \
        --region=REGION \
        --backupdr-data-source=projects/VAULT_PROJECT_ID/locations/REGION/backupVaults/BV_ID/dataSources/DS_ID \
        --point-in-time=POINT_IN_TIME
    

    Sostituisci quanto segue:

    • WORKLOAD_PROJECT_ID: l'ID del progetto in cui vuoi ripristinare il cluster AlloyDB.

    • REGION: la Google Cloud regione in cui vuoi ripristinare il cluster AlloyDB.

    • RESTORED_CLUSTER_ID: l'ID del nuovo cluster AlloyDB che stai ripristinando.

    • VAULT_PROJECT_ID: l'ID del progetto contenente il vault di backup.

    • BV_ID: l'ID del vault di backup.

    • DS_ID: l'ID dell'origine dati.

    • POINT_IN_TIME: il momento specifico a cui vuoi ripristinare il cluster. Un valore di esempio è 2025-10-10T10:16:10Z

Crea istanza principale

Dopo che Backup e RE ha terminato la creazione del cluster, crea un'istanza principale per il cluster.

Quando crei la nuova istanza principale, devi specificarne la configurazione, incluse le dimensioni e i flag. Backup e RE non memorizza la configurazione dell'istanza come parte del backup. Tieni presente che la configurazione non deve corrispondere esattamente a quella dell'istanza principale originale.

Al termine della creazione dell'istanza da parte di Backup e RE, puoi utilizzarla per accedere ai dati ripristinati.

Configura le istanze del pool di lettura

Completa la configurazione del nuovo cluster configurando le istanze del pool di lettura, se necessario.

Elencare i backup nel vault di backup

Elenca i backup e seleziona il backup da ripristinare utilizzando gcloud CLI:

  1. Trova l'ID dell'origine dati utilizzando il seguente comando:

       gcloud backup-dr data-source-references fetch-for-resource-type alloydb.googleapis.com/Cluster \
         --location=REGION \
         --project=WORKLOAD_PROJECT_ID \
         --filter='dataSourceGcpResourceInfo.gcp_resourcename="projects/WORKLOAD_PROJECT_NUMBER/locations/REGION/clusters/CLUSTER_NAME "'
     ```
    
  2. Elenca i backup utilizzando il seguente comando:

       gcloud backup-dr backups list \
         --project=VAULT_PROJECT_ID \
         --location=REGION \
         --backup-vault=BV_ID \
         --data-source='projects/VAULT_PROJECT_ID/locations/REGION/backupVaults/BV_ID/dataSources/DS_ID'
    

Sostituisci quanto segue:

  • REGION: la Google Cloud regione.

  • WORKLOAD_PROJECT_ID: l'ID del progetto in cui si trova il cluster AlloyDB.

  • WORKLOAD_PROJECT_NUMBER: il numero del progetto in cui si trova il cluster AlloyDB.

  • CLUSTER_NAME: il nome del cluster AlloyDB.

  • VAULT_PROJECT_ID: l'ID del progetto contenente il vault di backup.

  • BV_ID: l'ID del vault di backup.

  • DS_ID: l'ID dell'origine dati.

Passaggi successivi