Condividi tramite


Creare e gestire repliche in lettura in Database di Azure per PostgreSQL - Server flessibile dall'API REST portale di Azure, interfaccia della riga di comando o API REST

SI APPLICA A: Database di Azure per PostgreSQL - Server flessibile

Questo articolo illustra come creare e gestire repliche in lettura in Database di Azure per PostgreSQL server flessibile dal portale di Azure, dall'interfaccia della riga di comando e dall'API REST. Per altre informazioni sulle repliche in lettura, vedere la panoramica.

Prerequisiti

Un'istanza del server flessibile Database di Azure per PostgreSQL essere il server primario.

Nota

Quando si distribuiscono repliche in lettura per carichi di lavoro primari a elevato utilizzo di scrittura persistente, il ritardo di replica potrebbe continuare a crescere e non può mai essere aggiornato con il database primario. Questo potrebbe anche aumentare l'utilizzo dell'archiviazione nel database primario perché i file WAL vengono eliminati solo una volta ricevuti nella replica.

Esaminare le impostazioni primarie

Prima di configurare una replica di lettura per Database di Azure per PostgreSQL server flessibile, verificare che il server primario sia configurato per soddisfare i prerequisiti necessari. Le impostazioni specifiche nel server primario possono influire sulla possibilità di creare repliche.

Aumento automatico dell'archiviazione: le impostazioni di aumento automatico dell'archiviazione nel server primario e le relative repliche in lettura devono rispettare linee guida specifiche per garantire coerenza e impedire interruzioni della replica. Per informazioni dettagliate su regole e impostazioni, vedere Aumento automatico archiviazione .

SSD Premium v2: la versione corrente non supporta la creazione di repliche in lettura per i server primari che usano l'archiviazione SSD Premium v2. Se il carico di lavoro richiede repliche in lettura, scegliere un'opzione di archiviazione diversa per il server primario.

  1. Nella portale di Azure scegliere l'istanza del server flessibile Database di Azure per PostgreSQL desiderata per la replica.

  2. Nella finestra di dialogo Panoramica prendere nota della versione di PostgreSQL (ad esempio 15.4). Si noti anche che l'area primaria viene distribuita in (ad esempio, East US).

    Screenshot della revisione delle impostazioni primarie.

  3. Nella barra laterale del server, in Impostazioni, selezionare Calcolo e archiviazione.

  4. Esaminare e prendere nota delle impostazioni seguenti:

    • Livello di calcolo, Processore, Dimensioni (ad esempio Standard_D4ads_v5).

    • Storage

      • Dimensioni di archiviazione (ad esempio 128GB)
      • Aumento automatico
    • Disponibilità elevata

      • Abilitato/Disabilitato
      • Impostazioni della zona di disponibilità
    • Impostazioni backup

      • Periodo di memorizzazione
      • Opzioni di ridondanza
  5. In Impostazioni selezionare Rete.

  6. Rivedere le impostazioni di rete.

    Screenshot delle impostazioni del server.

Creare una replica in lettura

Per creare una replica in lettura, seguire questi passaggi:

  1. Selezionare un'istanza del server flessibile Database di Azure per PostgreSQL esistente da usare come server primario.

  2. Nella barra laterale del server, in Impostazioni, selezionare Replica.

  3. Selezionare Crea replica.

    Screenshot della creazione di un'azione di replica.

  4. Immettere il modulo Informazioni di base con le informazioni seguenti.

    Screenshot che mostra l'immissione delle informazioni di base.

  5. Selezionare Rivedi e crea per confermare la creazione della replica o Avanti: Rete se si desidera aggiungere, eliminare o modificare le regole del firewall.

    Screenshot dell'azione di modifica delle regole del firewall.

  6. Lasciare le impostazioni predefinite rimanenti e quindi selezionare il pulsante Rivedi e crea nella parte inferiore della pagina oppure passare ai moduli successivi per aggiungere tag o modificare il metodo di crittografia dei dati.

  7. Esaminare le informazioni nella finestra di conferma finale. Al termine, selezionare Crea. Viene creata una nuova distribuzione.

    Screenshot della revisione delle informazioni nella finestra di conferma finale.

  8. Durante la distribuzione viene visualizzato lo stato primario Updating .

    Screenshot dell'immissione primaria dello stato di aggiornamento. Dopo aver creato la replica di lettura, può essere visualizzata dalla finestra Replica .

    Screenshot della visualizzazione della nuova replica nella finestra di replica.

  • Impostare il nome del server di replica.

    Suggerimento

    Si tratta di una procedura consigliata di Cloud Adoption Framework (CAF) per usare una convenzione di denominazione delle risorse che consentirà di determinare facilmente l'istanza a cui ci si connette o si sta gestendo e dove si trova.

  • Selezionare una località diversa da quella primaria, ma si noti che è possibile selezionare la stessa area.

    Suggerimento

    Per altre informazioni sulle aree in cui è possibile creare una replica, vedere l'articolo Concetti relativi alle repliche in lettura.

  • Impostare il calcolo e l'archiviazione su ciò che è stato registrato dall'istanza primaria. Se il calcolo visualizzato non corrisponde, selezionare Configura server e selezionare quello appropriato.

    Nota

    Se si seleziona una dimensione di calcolo inferiore a quella primaria, la distribuzione avrà esito negativo. Tenere presente anche che le dimensioni di calcolo potrebbero non essere disponibili in un'area diversa.

    Screenshot della scelta delle dimensioni di calcolo.

Importante

Rivedere la sezione considerazioni della panoramica di Replica in lettura.

Per evitare problemi durante la promozione delle repliche, modificare costantemente i parametri del server seguenti nelle repliche prima di applicarli al database primario: max_connections, max_prepared_transactions, max_locks_per_transaction, max_wal_senders, max_worker_processes.

Creare endpoint virtuali

Nota

Tutte le operazioni che coinvolgono endpoint virtuali, ad esempio l'aggiunta, la modifica o la rimozione, vengono eseguite nel contesto del server primario.

  1. Nella portale di Azure selezionare il server primario.

  2. Nella barra laterale del server, in Impostazioni, selezionare Replica.

  3. Selezionare Crea endpoint.

  4. Nella finestra di dialogo digitare un nome significativo per l'endpoint. Si noti l'endpoint DNS generato.

    Screenshot della creazione di un nuovo endpoint virtuale con nome personalizzato.

  5. Seleziona Crea.

    Nota

    Se non si crea un endpoint virtuale, verrà visualizzato un errore nel tentativo di promozione della replica.

    Screenshot dell'errore di promozione quando manca l'endpoint virtuale.

Elencare gli endpoint virtuali

Per elencare gli endpoint virtuali, seguire questa procedura:

  1. Nella portale di Azure selezionare il server primario.

  2. Nella barra laterale del server, in Impostazioni, selezionare Replica.

  3. Nella parte superiore della pagina vengono visualizzati sia gli endpoint lettore che gli endpoint del writer, insieme ai nomi dei server a cui puntano.

    Screenshot dell'elenco di endpoint virtuali.

Modificare l'applicazione in modo che punti all'endpoint virtuale

Modificare tutte le applicazioni che usano l'istanza del server flessibile Database di Azure per PostgreSQL per usare i nuovi endpoint virtuali ,ad esempio corp-pg-001.writer.postgres.database.azure.com e corp-pg-001.reader.postgres.database.azure.com.

Alzare di livello le repliche

Con tutti i componenti necessari, è possibile eseguire un'operazione di promozione alla replica primaria.

Per alzare di livello la replica dal portale di Azure, seguire questa procedura:

  1. Nella portale di Azure selezionare l'istanza del server flessibile Database di Azure per PostgreSQL primaria.

  2. Nel menu del server, in Impostazioni, selezionare Replica.

  3. In Server selezionare l'icona Alza di livello per la replica.

    Screenshot della selezione di per alzare di livello una replica.

  4. Nella finestra di dialogo verificare che l'azione sia Alza di livello al server primario.

  5. Per Sincronizzazione dati assicurarsi che i dati pianificati - sincronizzano prima di promuovere l'opzione .

    Screenshot di come selezionare alza di livello per una replica.

  6. Selezionare Alza di livello per avviare il processo. Al termine, i ruoli si invertono: la replica diventa primaria e la replica primaria assume il ruolo della replica.

Nota

La replica che si promuove deve avere l'endpoint virtuale lettore assegnato oppure verrà visualizzato un errore durante l'innalzamento di livello.

Testare le applicazioni

Per eseguire alcune operazioni, riavviare le applicazioni e quindi tentare tali operazioni. Le applicazioni devono funzionare senza problemi senza modificare l'endpoint virtuale stringa di connessione o le voci DNS. Lasciare le applicazioni in esecuzione questa volta.

Failback nel server e nell'area originali

Ripetere le stesse operazioni per alzare di livello il server originale al server primario.

  1. Nella portale di Azure selezionare la replica.

  2. Nella barra laterale del server, in Impostazioni, selezionare Replica

  3. In Server selezionare l'icona Alza di livello per la replica.

  4. Nella finestra di dialogo verificare che l'azione sia Alza di livello al server primario.

  5. Per Sincronizzazione dati assicurarsi che i dati pianificati - sincronizzano prima di promuovere l'opzione .

  6. Selezionare Alza di livello, viene avviato il processo. Al termine, i ruoli si invertono: la replica diventa primaria e la replica primaria assume il ruolo della replica.

Testare le applicazioni

Anche in questo caso, passare a una delle applicazioni che utilizzano. Attendere che lo stato primario e di replica venga modificato Updating in e quindi tentare di eseguire alcune operazioni. Durante la promozione della replica, l'applicazione potrebbe riscontrare problemi di connettività temporanei all'endpoint:

Screenshot di potenziali errori di connettività alzati di livello.

Aggiungere una replica in lettura secondaria

Creare una replica di lettura secondaria in un'area separata per modificare l'endpoint virtuale lettore e consentire la creazione di un server indipendente dalla prima replica.

  1. Nella portale di Azure scegliere l'istanza del server flessibile Database di Azure per PostgreSQL primaria.

  2. Nella barra laterale del server, in Impostazioni, selezionare Replica.

  3. Selezionare Crea replica.

  4. Immettere il modulo Informazioni di base con le informazioni in una terza area (ad esempio westus e corp-pg-westus-001)

  5. Selezionare Rivedi e crea per confermare la creazione della replica o Avanti: Rete se si desidera aggiungere, eliminare o modificare le regole del firewall.

  6. Verificare le impostazioni del firewall. Si noti che le impostazioni primarie vengono copiate automaticamente.

  7. Lasciare le impostazioni predefinite rimanenti e quindi selezionare il pulsante Rivedi e crea nella parte inferiore della pagina oppure passare ai moduli seguenti per configurare la sicurezza o aggiungere tag.

  8. Esaminare le informazioni nella finestra di conferma finale. Al termine, selezionare Crea. Viene creata una nuova distribuzione.

  9. Durante la distribuzione viene visualizzato lo stato primario Updating .

    Screenshot dell'immissione primaria dello stato di aggiornamento.

Modificare l'endpoint virtuale

  1. Nella portale di Azure scegliere l'istanza del server flessibile Database di Azure per PostgreSQL primaria.

  2. Nella barra laterale del server, in Impostazioni, selezionare Replica.

  3. Selezionare i puntini di sospensione e quindi selezionare Modifica.

    Screenshot della modifica dell'endpoint virtuale.

  4. Nella finestra di dialogo selezionare la nuova replica secondaria.

    Screenshot della selezione della replica secondaria.

  5. Seleziona Salva. L'endpoint del lettore è ora associato alla replica secondaria e l'operazione di promozione è ora associata a questa replica.

Alzare di livello la replica al server indipendente

Anziché passare a una replica, è anche possibile interrompere la replica di una replica in modo che diventi il server autonomo.

  1. Nella portale di Azure scegliere il server primario del server flessibile Database di Azure per PostgreSQL.

  2. Nella barra laterale del server, nel menu del server, in Impostazioni selezionare Replica.

  3. In Server selezionare l'icona Alza di livello per la replica da alzare di livello a un server indipendente.

    Screenshot di come selezionare per alzare di livello una replica 2.

  4. Nella finestra di dialogo verificare che l'azione sia Alza di livello al server indipendente e rimuovere dalla replica. Questo non influirà sul server primario.

  5. Per Sincronizzazione dati assicurarsi che i dati pianificati - sincronizzano prima di promuovere l'opzione .

    Screenshot della promozione della replica in un server indipendente.

  6. Selezionare Alza di livello, viene avviato il processo. Al termine, il server non è più una replica del database primario.

Nota

Quando una replica viene alzata di livello a un server indipendente, non può essere aggiunta di nuovo al set di replica.

Eliminare l'endpoint virtuale

  1. Nella portale di Azure selezionare il server primario.

  2. Nella barra laterale del server, in Impostazioni, selezionare Replica.

  3. Nella parte superiore della pagina individuare la Virtual endpoints sezione . Passare ai tre puntini (opzioni di menu) accanto al nome dell'endpoint, espanderlo e scegliere Delete.

  4. Viene visualizzata una finestra di dialogo di conferma dell'eliminazione. Viene visualizzato un avviso: "Questa azione elimina l'endpoint virtualendpointNamevirtuale . Tutti i client connessi con questi domini potrebbero perdere l'accesso." Confermare le implicazioni e confermare facendo clic su Elimina.

Eliminare una replica

È possibile eliminare una replica in lettura simile alla modalità di eliminazione di un'istanza autonoma del server Database di Azure per PostgreSQL flessibile.

  1. Nel portale di Azure aprire la pagina Panoramica relativa alla replica in lettura. Selezionare Elimina.

    Screenshot della pagina Panoramica della replica, selezionare per eliminare la replica.

È anche possibile eliminare la replica in lettura dalla finestra Replica seguendo la procedura seguente:

  1. Nella portale di Azure selezionare l'istanza del server flessibile Database di Azure per PostgreSQL primaria.

  2. Nel menu del server, in Impostazioni, selezionare Replica.

  3. Selezionare la replica di lettura da eliminare e quindi selezionare i puntini di sospensione. Selezionare Elimina.

    Screenshot della selezione della replica da eliminare.

  4. Confermare l'operazione di eliminazione .

Eliminare un server primario

È possibile eliminare il server primario solo dopo aver eliminato tutte le repliche in lettura. Per eliminare le repliche, seguire le istruzioni nella sezione Eliminare una replica e quindi procedere con i passaggi forniti.

Per eliminare un server dal portale di Azure, seguire questa procedura:

  1. Nella portale di Azure selezionare l'istanza del server flessibile Database di Azure per PostgreSQL primaria.

  2. Aprire la pagina Panoramica per il server e selezionare Elimina.

    Screenshot della pagina Panoramica del server, selezionare per eliminare il server primario.

  3. Immettere il nome del server primario da eliminare. Selezionare Elimina per confermare l'eliminazione del server primario.

    Screenshot della conferma dell'eliminazione del server primario.

Monitorare una replica

Per monitorare le repliche in lettura sono disponibili due metriche.

Ritardo massimo replica fisica

Disponibile solo nel database primario.

La metrica Max Physical Replication Lag (Ritardo replica fisica massima) mostra il ritardo di byte tra il server primario e la replica più in ritardo.

  1. Nella portale di Azure selezionare il server primario.

  2. Selezionare Metriche. Nella finestra Metriche selezionare Max Physical Replication Lag ( Max Physical Replication Lag).

    Screenshot della pagina Metriche che mostra la metrica Max Physical Replication Lag (Ritardo replica fisica massima).

  3. Selezionare Max come Aggregazione.

Metrica Read Replica Lag (Ritardo replica in lettura)

La metrica Read Replica Lag indica l'ora dell'ultima transazione riprodotta in una replica. Se non si verificano transazioni nel database primario, la metrica riflette questo intervallo di tempo. Ad esempio, se non si verificano transazioni nel server primario e l'ultima transazione è stata riprodotta 5 secondi fa, il ritardo di replica di lettura mostra un ritardo di 5 secondi.

  1. Nella portale di Azure selezionare Replica di lettura.

  2. Selezionare Metriche. Nella finestra Metriche selezionare Read Replica Lag (Ritardo replica lettura).

    Screenshot della pagina Metriche che mostra la metrica Ritardo replica lettura.

  3. Selezionare Max come Aggregazione.