Utilizzare la replica tra regioni

Questa pagina descrive come utilizzare la replica tra regioni di AlloyDB per PostgreSQL creando e lavorando con cluster secondari.

Per una panoramica concettuale della replica tra regioni, vedi Informazioni sulla replica tra regioni.

Prima di iniziare

  • Il Google Cloud progetto che utilizzi deve essere stato abilitato per accedere ad AlloyDB.
  • Devi disporre di uno di questi ruoli IAM nel progetto che stai utilizzando:
      Google Cloud
    • roles/alloydb.admin (il ruolo IAM predefinito AlloyDB Admin)
    • roles/owner (il ruolo IAM di base Proprietario)
    • roles/editor (il ruolo IAM di base Editor)

    Se non disponi di nessuno di questi ruoli, contatta l'Amministratore organizzazione per richiedere l'accesso.

Crea un cluster secondario

Quando crei un cluster secondario, AlloyDB copia e applica alcune delle configurazioni del cluster primario, tra cui il recupero point-in-time (PITR) e la configurazione del backup, al cluster secondario. AlloyDB non aggiunge istanze del pool di lettura al cluster secondario dopo la creazione, indipendentemente dal numero di istanze del pool di lettura esistenti nel cluster principale.

Se aggiorni la configurazione del cluster primario dopo aver creato il cluster secondario, le modifiche non sono disponibili sul cluster secondario. Tuttavia, puoi aggiornare manualmente il cluster secondario in modo che abbia la configurazione più recente disponibile nel cluster primario.

Puoi creare fino a cinque cluster secondari per un cluster primario. Tutti i cluster secondari vengono replicati da una singola istanza principale. Se promuovi un cluster secondario, questo diventa un cluster primario indipendente.

Il seguente diagramma illustra come promuovere il cluster secondario denominato cluster-2 in us-east4:

Esempio di promozione di un cluster secondario.

Figura 1. Esempio di promozione di un cluster secondario.

Per creare un cluster secondario AlloyDB e un'istanza secondaria:

Console

  1. Nella console Google Cloud , vai alla pagina Cluster.

    Vai a Cluster

  2. Fai clic su un cluster nella colonna Nome risorsa.

  3. Nella pagina Panoramica, fai clic su Crea cluster secondario.

  4. Configura il cluster secondario:

    1. Nel campo ID cluster, inserisci un ID risorsa per il cluster secondario.
    2. Seleziona una regione per il cluster secondario diversa da quella del cluster principale.
    3. Seleziona la crittografia gestita da Google predefinita o una chiave gestita dal cliente (CMEK) come metodo di crittografia per criptare il cluster secondario.

    Se vuoi criptare questo cluster utilizzando la chiave CMEK, segui questi passaggi:

    1. Fai clic su Opzioni di crittografia avanzate.
    2. Seleziona Chiave di crittografia gestita dal cliente (CMEK).
    3. Seleziona una chiave gestita dal cliente dal menu visualizzato.

      La console Google Cloud limita questo elenco alle chiavi all'interno dello stesso Google Cloud progetto e della stessa regione del nuovo cluster.

      Per utilizzare una chiave non presente in questo elenco:

      1. Fai clic su Non trovi la chiave? Inserisci il nome risorsa della chiave.
      2. Inserisci il nome risorsa nel campo Nome risorsa chiave.
      3. Fai clic su Salva.
      4. Fai clic su Continua.

    L'utilizzo della chiave CMEK con AlloyDB richiede una configurazione aggiuntiva. Per maggiori informazioni, consulta Utilizzare CMEK.

    Se l'istanza primaria associata è criptata con una chiave CMEK, devi criptare anche il cluster secondario con una chiave CMEK.

  5. Configura l'istanza secondaria:

    1. Nel campo ID istanza, inserisci un ID risorsa per l'istanza secondaria. L'ID risorsa deve essere univoco all'interno di un cluster.
  6. Fai clic su Crea cluster.

gcloud

Per utilizzare gcloud CLI, puoi installare e inizializzare Google Cloud CLI oppure puoi utilizzare Cloud Shell.

Utilizza il comando gcloud alloydb clusters create-secondary:

 gcloud alloydb clusters create-secondary SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --primary-cluster=projects/PROJECT_ID/locations/LOCATION_ID/clusters/ PRIMARY_CLUSTER_ID
 gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID

Sostituisci quanto segue:

  • SECONDARY_CLUSTER_ID: l'ID del cluster secondario che vuoi creare.
  • SECONDARY_INSTANCE_ID: l'ID dell'istanza secondaria che vuoi creare.
  • REGION_ID: l'ID della regione del cluster secondario, ad esempio us-central1.
  • PROJECT_ID: l'ID del progetto del cluster secondario.
  • LOCATION_ID: la località in cui si trova il cluster primario, ad esempio us-central1.
  • PRIMARY_CLUSTER_ID: l'ID del cluster primario a cui è associato il cluster secondario.
  • SECONDARY_CLUSTER_ID: l'ID del cluster secondario a cui è associata l'istanza secondaria.
  • ALLOWED_PSC_PROJECTS (facoltativo): l'elenco separato da virgole di ID progetto o numeri di progetto a cui vuoi consentire l'accesso all'istanza, ad esempio my-project-1, 12345,my-project-n. Se il cluster utilizza Private Service Connect come metodo di connessione all'istanza, devi impostare un elenco di progetti o numeri consentiti.
  • --no-enable-automated-backup(Facoltativo): disabilita la creazione di backup automatici sul cluster secondario.

Per creare un'istanza secondaria abilitata a Private Service Connect, aggiungi il flag allowed-psc-projects per impostare un elenco separato da virgole di ID progetto o numeri di progetto a cui vuoi consentire l'accesso all'istanza, ad esempio my-project-1, 12345 e my-project-n.

 gcloud alloydb clusters create-secondary SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --primary-cluster=projects/PROJECT_ID/locations/LOCATION_ID/clusters/ PRIMARY_CLUSTER_ID \
 gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --allowed-psc-projects=ALLOWED_PSC_PROJECTS

Sostituisci quanto segue:

  • ALLOWED_PSC_PROJECTS (facoltativo): l'elenco separato da virgole di ID progetto o numeri di progetto a cui vuoi consentire l'accesso all'istanza, ad esempio my-project-1, 12345 e my-project-n. Se il cluster utilizza Private Service Connect come metodo di connessione all'istanza, devi impostare un elenco di progetti o numeri consentiti.

Per creare un'istanza secondaria per un cluster abilitato all'IP pubblico, aggiungi il parametro --assign-inbound-public-ip=ASSIGN_IPV4.

 gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
  --assign-inbound-public-ip=ASSIGN_IPV4

(Facoltativo) Passa l'elenco separato da virgole dei blocchi CIDR, ad esempio 64.233.160.0/16, al parametro --authorized-external-networks per impostare le reti esterne autorizzate sull'istanza.

Visualizzare un cluster secondario

Per visualizzare informazioni dettagliate su un cluster secondario AlloyDB:

  1. Nella console Google Cloud , vai alla pagina Cluster.

    Vai a Cluster

  2. Fai clic su un cluster secondario nella colonna Nome risorsa.

  3. Nella pagina Panoramica, visualizza tutti i dettagli del cluster secondario.

Aggiorna un'istanza secondaria

Puoi aggiornare un'istanza secondaria per aggiungere, modificare o eliminare i flag di database. Puoi anche scalare il tipo di macchina dell'istanza secondaria.

Configurare i flag di database su un'istanza secondaria

Per aggiungere, modificare o eliminare i flag del database, completa i seguenti passaggi:

Console

  1. Nella console Google Cloud , vai alla pagina Cluster.

    Vai a Cluster

  2. Nella colonna Nome risorsa, fai clic su un cluster secondario da modificare.

  3. Nella pagina Panoramica, vai a Istanze nel cluster, seleziona l'istanza secondaria e poi fai clic su Modifica secondaria.

  4. Aggiungi, modifica o elimina un flag di database dalla tua istanza:

    Aggiungere un flag

    1. Per aggiungere un flag di database all'istanza, fai clic su Aggiungi flag.
    2. Seleziona un flag dall'elenco Nuovo flag database.
    3. Specifica un valore per il flag.
    4. Fai clic su Fine.

    Modificare un flag

    1. Per modificare un flag di database presente nella tua istanza, espandi il flag di database e modifica il valore del flag esistente nella sezione Modifica flag di database.
    2. Fai clic su Fine.

    Eliminare un flag

    1. Per eliminare un flag del database dall'istanza, seleziona un flag e fai clic sull'icona di eliminazione.
    2. Fai clic su Fine.
  5. Fai clic su Aggiorna secondario.

gcloud

Utilizza il comando gcloud alloydb instances update per modificare i flag del database per un'istanza secondaria.

 gcloud alloydb instances update SECONDARY_INSTANCE_ID \
  --database-flags FLAGS_LIST \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID

Sostituisci quanto segue:

  • SECONDARY_INSTANCE_ID: l'ID dell'istanza secondaria.
  • FLAGS_LIST: un elenco separato da virgole di una o più specifiche di flag di database. Ogni specifica è costituita dal nome del flag, dal segno di uguale (=) e dal valore da assegnare ai flag. Per i flag di database che non accettano valori, fornisci il nome del flag seguito dal segno uguale (=).
  • REGION_ID: la regione in cui viene inserita l'istanza secondaria, ad esempio us-central1.
  • CLUSTER_ID: l'ID del cluster in cui viene inserita l'istanza secondaria.
  • PROJECT_ID: l'ID del progetto in cui viene inserito il cluster secondario.

Scalare il tipo di macchina dell'istanza secondaria

Per scalare il tipo di macchina dell'istanza secondaria, completa i seguenti passaggi:

Console

  1. Nella console Google Cloud , vai alla pagina Cluster.

    Vai a Cluster

  2. Nella colonna Nome risorsa, fai clic su un cluster secondario da modificare.

  3. Nella pagina Panoramica, vai alla sezione Istanze nel cluster e fai clic su Modifica secondario.

    Tieni presente che questa azione non è disponibile se la pagina riporta lo stato del cluster come Manutenzione. L'azione torna disponibile dopo che lo stato diventa Pronto.

  4. Seleziona un tipo di macchina.

  5. Fai clic su Aggiorna secondario.

gcloud

Utilizza il comando gcloud alloydb instances update per modificare il tipo di macchina dell'istanza secondaria.

 gcloud alloydb instances update SECONDARY_INSTANCE_ID \
  --cpu-count=CPU_COUNT \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID

Sostituisci quanto segue:

  • SECONDARY_INSTANCE_ID: l'ID dell'istanza secondaria che stai aggiornando.
  • CPU_COUNT: il numero di vCPU che vuoi per l'istanza. I valori validi includono:

    • 2 (2 vCPU, 16 GB di RAM)
    • 4 (4 vCPU, 32 GB di RAM)
    • 8 (8 vCPU, 64 GB di RAM)
    • 16 (16 vCPU, 128 GB di RAM)
    • 32 (32 vCPU, 256 GB di RAM)
    • 64 (64 vCPU, 512 GB di RAM)
  • REGION_ID: la regione in cui si trova l'istanza.

  • CLUSTER_ID: l'ID del cluster in cui viene inserita l'istanza.

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

Se il comando restituisce un messaggio di errore che include la frase invalid cluster state MAINTENANCE, il cluster è in fase di manutenzione di routine. In questo modo, la riconfigurazione dell'istanza viene temporaneamente disattivata. Esegui nuovamente il comando dopo che il cluster torna allo stato READY.

Per controllare lo stato del cluster, vedi Visualizzare i dettagli del cluster.

Aggiungi istanze del pool di lettura a un cluster secondario

Per aggiungere un'istanza del pool di lettura a un cluster secondario:

  1. Nella console Google Cloud , vai alla pagina Cluster.

    Vai a Cluster

  2. Nella colonna Nome risorsa, fai clic su un cluster secondario a cui vuoi aggiungere un'istanza del pool di lettura.

  3. Nella pagina Panoramica, vai alla sezione Istanze nel cluster e fai clic su Aggiungi pool di lettura.

  4. Configura l'istanza del pool di lettura:

    1. Nel campo ID istanza pool di lettura, inserisci un ID per l'istanza pool di lettura.
    2. Nel campo Conteggio nodi, inserisci un conteggio nodi. Il numero di nodi in un'istanza del pool di lettura determina la capacità di calcolo complessiva dell'istanza. Puoi avere un massimo di 20 nodi in tutte le istanze del pool di lettura di un cluster.
    3. Seleziona un tipo di macchina.
    4. (Facoltativo) Imposta flag personalizzati per l'istanza. Per ogni flag, svolgi i seguenti passaggi:

      1. Fai clic su Aggiungi flag.
      2. Seleziona un flag dall'elenco Nuovo flag database.
      3. Specifica un valore per il flag.
      4. Fai clic su Fine.
  5. Fai clic su Aggiungi pool di lettura.

Promuovere un cluster secondario

Prima di promuovere un cluster secondario, esegui i seguenti passaggi per verificare che il cluster secondario abbia applicato tutte le transazioni ricevute dal cluster primario:

  1. Interrompi tutte le scritture nel cluster principale.
  2. Controlla lo stato della replica del cluster secondario completando i seguenti passaggi:

    1. Nella console Google Cloud , vai alla pagina Cluster.

      Vai a Cluster

    2. Nell'elenco dei cluster, fai clic sul nome del cluster secondario che vuoi promuovere.

    3. Nella pagina dei dettagli del cluster, fai clic su Monitoraggio.

    4. Nell'elenco Monitoraggio, seleziona l'istanza secondaria. Viene visualizzato nell'elenco come Secondario: INSTANCE_NAME.

    5. Nell'elenco delle metriche, individua il grafico Ritardo della replica dall'istanza principale.

    6. Verifica che il grafico mostri un ritardo minimo.

      Un valore di ritardo di 0 è ideale. Se il ritardo è superiore a 0, puoi comunque promuovere il cluster secondario, con il rischio di perdere alcune transazioni recenti già eseguite nel cluster primario.

    7. Nell'elenco delle metriche, individua il grafico Stato della replica.

    8. Verifica che tutti i nodi rappresentati nel grafico abbiano un valore di streaming.

Per promuovere un cluster secondario a cluster primario:

Console

  1. Nella console Google Cloud , vai alla pagina Cluster.

    Vai a Cluster

  2. Nella colonna Nome risorsa, fai clic su un cluster secondario che vuoi promuovere come cluster primario.

  3. Nella pagina Panoramica, fai clic su Promuovi cluster.

  4. Nella finestra di dialogo visualizzata, inserisci l'ID del cluster secondario per confermare che vuoi promuovere il cluster.

  5. Fai clic su Promuovi.

    Dopo la promozione del cluster, il campo Tipo: cluster secondario (disponibilità elevata) nella pagina Panoramica viene aggiornato a Tipo: alta affidabilità con pool di lettura.

gcloud

Utilizza il comando gcloud alloydb clusters promote:

 gcloud alloydb clusters promote SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --project=PROJECT_ID \

Sostituisci quanto segue:

  • SECONDARY_CLUSTER_ID: l'ID del cluster secondario che vuoi promuovere.
  • REGION_ID: l'ID della regione del cluster secondario,ad esempio us-central1.
  • PROJECT_ID: l'ID del progetto del cluster secondario.

Eseguire un cambio

Prima di eseguire un failover, verifica che tutte le regioni a cui appartengono le istanze primaria e secondaria siano online e che le istanze siano in uno stato integro. Per ulteriori informazioni, consulta Monitorare un'istanza utilizzando la dashboard System Insights di AlloyDB.

Se esegui un cambio quando hai più cluster secondari, vengono apportate le seguenti modifiche:

  • Il cluster secondario che riceve il comando di failover diventa un cluster primario.
  • Il cluster primario precedente diventa un cluster secondario, che esegue la replica dal nuovo cluster primario.
  • Tutti gli altri cluster secondari passano alla replica dal nuovo cluster principale.

Il seguente diagramma illustra un failover da cluster-1 in us-central1 a cluster-2 in us-east4:

Esempio di esecuzione di un failover su uno dei due cluster secondari.

Figura 2. Esempio di esecuzione di un failover su uno dei due cluster secondari.

Per eseguire un cambio di operatore:

Console

  1. Nella console Google Cloud , vai alla pagina Cluster.

    Vai a Cluster

  2. Nella colonna Nome risorsa, fai clic su un cluster secondario che vuoi utilizzare come cluster primario.

  3. Nella pagina Panoramica, fai clic su Switchover.

  4. Nella finestra di dialogo visualizzata, inserisci l'ID del cluster secondario per confermare che vuoi eseguire il failover del cluster.

  5. Fai clic su Cambio.

Dopo il failover del cluster, il campo Tipo: cluster secondario nella pagina Panoramica viene aggiornato a
Tipo di cluster: cluster primario e Tipo di cluster: cluster secondario.

gcloud

Utilizza il comando gcloud alloydb clusters switchover:

 gcloud alloydb clusters switchover SECONDARY_CLUSTER_ID \
   --region=REGION_ID \
   --project=PROJECT_ID \

Sostituisci quanto segue:

  • SECONDARY_CLUSTER_ID: l'ID del cluster secondario che vuoi promuovere.
  • REGION_ID: l'ID della regione del cluster secondario, ad esempio us-central1.
  • PROJECT_ID: l'ID del progetto del cluster secondario.

Passaggi successivi