Configurazione legacy per l'alta disponibilità

Questa pagina descrive la configurazione precedente per l'alta disponibilità di un'istanza MySQL.

In una configurazione ad alta disponibilità precedente, un'istanza Cloud SQL per MySQL utilizza una replica di failover per aggiungere alta disponibilità all'istanza. Questa funzionalità non è disponibile nella console Google Cloud. La nuova configurazione non utilizza repliche di failover. Utilizza invece i dischi permanenti a livello di regione di Google, che replicano in modo sincrono i dati a livello di blocco tra due zone in una regione.

Per ulteriori informazioni sulla configurazione attuale dell'alta disponibilità, consulta la Panoramica della configurazione dell'alta disponibilità.

Aggiorna un'istanza da alta disponibilità legacy a quella attuale

Per aggiornare l'istanza dalla configurazione precedente alla nuova configurazione ad alta disponibilità:

  1. Elimina la replica di failover sulle istanze MySQL che vuoi aggiornare. Consulta Disabilitazione dell'alta disponibilità su un'istanza.
  2. Configura l'istanza in modo che utilizzi la versione attuale dell'alta disponibilità. Consulta Configurazione di un'istanza esistente per l'alta disponibilità.

Configurazione precedente: crea una nuova istanza configurata per l'alta disponibilità

Quando crei un'istanza, puoi configurarla per l'alta disponibilità. Cloud SQL crea la replica di failover nello stesso momento in cui crea l'istanza principale. La funzionalità legacy non è disponibile nella console Google Cloud. Utilizza invece i comandi gcloud CLI o cURL.

Per creare un'istanza configurata per l'alta disponibilità:

gcloud

  1. Crea l'istanza principale e la relativa replica di failover:
    gcloud sql instances create PRIMARY_INSTANCE_NAME \
    --backup-start-time=BACKUP_WINDOW_START_TIME \
    --failover-replica-name=FAILOVER_REPLICA_NAME \
    --cpu=CPU \
    --database-version=DATABASE_VERSION \
    --memory=MEMORY \
    --enable-bin-log
    

    L'ora di inizio della finestra di backup è nel formato HH:MM.

    Assicurati di sostituire il segnaposto DATABASE_VERSION con MySQL 5.6 o MySQL 5.7 (--database-version=MYSQL_5_6 o
    --database-version=MYSQL_5_7).

    Se non specifichi una versione per il parametro database-version, per impostazione predefinita viene selezionato MySQL 8.0. La configurazione legacy per l'alta disponibilità per MySQL non supporta la versione 8.0.

    Per un elenco completo dei parametri disponibili, consulta la pagina di riferimento gcloud sql instances create.

  2. Configura l'utente root nell'istanza principale:
    gcloud sql users set-password root --host=% \
    --instance PRIMARY_INSTANCE_NAME \
    --password PASSWORD
    

    La replica di failover viene creata con la stessa CPU e la stessa MEMORIA dell'istanza principale. Puoi modificare la CPU e la MEMORY della replica di failover in un secondo momento, ma le dimensioni devono essere almeno pari all'istanza principale.

arricciatura

  1. Crea l'istanza principale e la relativa replica di failover:
    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"name":"PRIMARY_INSTANCE_NAME", "region":"REGION",
                  "settings": {
                               "tier":"MACHINE_TYPE",
                               "backupConfiguration": {"binaryLogEnabled": true, "enabled": true}},
                               "failoverReplica": {"name": "FAILOVER_REPLICA_NAME"}}' \
         -X POST \
         https://www.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances
    
    Per l'elenco completo dei parametri per la richiesta, vedi la pagina instances:insert.
  2. Al termine dell'inizializzazione dell'istanza principale, aggiorna la password root sull'istanza principale:
    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"name": "root", "host": "%", "password": "ROOT_PASSWORD"}' \
         'https://www.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/INSTANCE_NAME/users?host=%25&name=root'
    
    Questa modifica viene propagata automaticamente alla replica.

Configurazione legacy: configura un'istanza esistente per l'alta disponibilità

La configurazione di un'istanza esistente per l'alta disponibilità causa alcuni minuti di inattività durante la riconfigurazione dell'istanza.

Per configurare l'alta disponibilità per un'istanza esistente:

gcloud

  1. Controlla lo stato dell'istanza principale:
    gcloud sql instances describe PRIMARY_INSTANCE_NAME
    

    Se la proprietà databaseReplicationEnabled è true, l'istanza è una replica. Non puoi creare una replica di failover per una replica.

  2. Se la proprietà enabled in backupConfiguration è false, abilita i backup per l'istanza principale ora:
    gcloud sql instances patch PRIMARY_INSTANCE_NAME \
    --backup-start-time HH:MM
    

    Il parametro backup-start-time è specificato nel formato 24 ore, nel fuso orario UTC±00, e specifica l'inizio di una finestra di backup di quattro ore. I backup possono essere avviati in qualsiasi momento durante il periodo di backup.

  3. Se la proprietà binaryLogEnabled è false, abilita i log binari:
    gcloud sql instances patch PRIMARY_INSTANCE_NAME \
    --enable-bin-log
    

    L'abilitazione dei log binari causa il riavvio dell'istanza.

  4. Crea la replica:
    gcloud sql instances create FAILOVER_REPLICA_NAME \
    --master-instance-name=PRIMARY_INSTANCE_NAME \
    --replica-type=FAILOVER
    

arricciatura

  1. Controlla lo stato dell'istanza principale:
    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         -X GET \
         https://www.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/PRIMARY_INSTANCE_NAME?fields=settings
    

    L'output conterrà backupConfiguration, ad esempio:

    "backupConfiguration": {
        "kind": "sql#backupConfiguration",
        "startTime": "12:00",
        "enabled": true,
        "binaryLogEnabled": true
    }
    
  2. Se enabled o binaryLogEnabled sono false, utilizza il metodo patch della risorsa istanze per abilitarli entrambi. Specifica le proprietà della configurazione di backup che vuoi mantenere così come sono e quelle che vuoi modificare.

    Per abilitare i backup, imposta enabled su true e startTime su un valore che corrisponde all'inizio della finestra di backup. Per abilitare il logging binario, imposta binaryLogEnabled su true.

    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"settings" : {"backupConfiguration" : {"startTime": "HH:MM", "enabled": true, "binaryLogEnabled": true}}}' \
         -X PATCH \
         https://www.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/PRIMARY_INSTANCE_NAME/
    
  3. Usa il metodo insert della risorsa instances per creare la replica di failover.

    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"name": "REPLICA_NAME", "masterInstanceName": "PRIMARY_INSTANCE_NAME",
                  "region": "PRIMARY_IMSTANCE_REGION", "databaseVersion": "PRIMARY_DATABASE_VERSION",
                  "replicaConfiguration": {"failoverTarget": true},
                  "settings": {"tier":"MACHINE_TYPE"}}' \
         -X POST \
         https://www.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances
    

    MACHINE_TYPE deve avere dimensioni pari almeno al tipo di macchina dell'istanza principale.

Avvia failover

Il test del failover è facoltativo, ma consigliato per verificare la risposta dell'applicazione in caso di failover.

Per scoprire di più sui failover, consulta la Panoramica dei failover.

gcloud

Avvia il failover:

gcloud sql instances failover PRIMARY_INSTANCE_NAME

arricciatura

  1. Descrivi l'istanza principale per ottenere il valore del campo settingsVersion.
    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         -X GET \
         https://www.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/PRIMARY_INSTANCE_NAME
    
  2. Avvia il failover:
    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"failoverContext":{"settingsVersion":"SETTINGS_VERSION"}}' \
         -X POST \
         https://www.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/PRIMARY_INSTANCE_NAME/failover
    

L'istanza esegue il failover e non è disponibile per gestire i dati per alcuni minuti.

Configurazione legacy: crea un avviso per il ritardo di replica

Il tempo necessario per un'operazione di failover dipende dal ritardo di replica all'avvio del failover. Puoi utilizzare Cloud Monitoring nella console Google Cloud per ricevere un avviso quando il ritardo di replica supera una soglia.

Per ulteriori informazioni sul ritardo di replica, cerca "seconds_behind_master" nella pagina SHOW SLAVE STATUS Syntax nella documentazione di MySQL.

Per ulteriori informazioni su Cloud Monitoring, consulta la documentazione di Cloud Monitoring.

Configurazione legacy: imposta un avviso per una replica di failover specifica

  1. Nel pannello di navigazione della console Google Cloud, seleziona Monitoring, quindi Avvisi.
  2. Fai clic su Crea criterio di avviso.
  3. Inserisci un nome descrittivo per l'avviso.
  4. Seleziona Soglia della metrica e fai clic su Avanti per aprire la scheda Destinazione.
  5. In Tipo di risorsa, seleziona Cloud SQL.
  6. In Si applica a, seleziona Singolo, quindi seleziona la replica di failover.
  7. Fai clic su Avanti per aprire la scheda Configurazione.
  8. Inserisci i seguenti valori:

    Campo Valore
    Se il parametro Metrica Secondi indietro rispetto al master
    Condizione oltre
    Soglie 120 (o qualsiasi valore appropriato per il tuo ambiente)
    Per 3 minuti

  9. Seleziona i metodi di notifica e fai clic su Salva condizione.

Configurazione legacy: imposta un avviso per un gruppo di repliche di failover

Se prevedi di creare più repliche di failover nello stesso progetto, potrebbe essere più semplice impostare l'avviso per l'intero gruppo, anziché per ogni replica di failover singolarmente. Per creare un gruppo per il monitoraggio, utilizza un suffisso per i nomi delle repliche di failover, ad esempio "-failover". Assicurati di non utilizzare questo suffisso per altri tipi di istanze Cloud SQL.

Crea il tuo gruppo di repliche di failover:

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

    Vai a Monitoring

  2. Nella barra del menu in alto, seleziona Gruppi > Crea....
  3. Inserisci un nome descrittivo per il gruppo.
  4. Lascia selezionate Nome e Contiene e inserisci la sottostringa del tuo nome.
  5. Fai clic su Salva gruppo. Viene visualizzata la pagina di riepilogo del nuovo gruppo.
  6. Conferma che le istanze previste siano incluse nel gruppo.

Crea l'avviso per il gruppo di repliche di failover:

  1. Nel pannello di navigazione della console Google Cloud, seleziona Monitoring, quindi Avvisi.
  2. Fai clic su Crea criterio di avviso.
  3. Inserisci un nome descrittivo per l'avviso relativo al gruppo.
  4. Seleziona Soglia della metrica e fai clic su Avanti per aprire la scheda Destinazione.
  5. In Tipo di risorsa, seleziona Cloud SQL.
  6. In Si applica a, seleziona Gruppo, quindi seleziona il gruppo di failover.
  7. Lascia selezionata l'opzione Qualsiasi membro viola selezionata e fai clic su Avanti per aprire la scheda Configurazione.
  8. Inserisci i seguenti valori:

    Campo Valore
    Se il parametro Metrica Secondi indietro rispetto al master
    Condizione oltre
    Soglie 120 (o qualsiasi valore appropriato per il tuo ambiente)
    Per 3 minuti

  9. Seleziona i metodi di notifica che preferisci e fai clic su Salva condizione.

Configurazione legacy: disabilita l'alta disponibilità su un'istanza

Per rimuovere l'alta disponibilità dall'istanza principale, devi eliminare l'istanza di replica di failover.

Prima di eseguire questa procedura, assicurati che non siano presenti operazioni in esecuzione sull'istanza principale.

Per disattivare l'alta disponibilità:

Console

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

    Vai a Istanze Cloud SQL

  2. Seleziona l'istanza di failover associata all'istanza per la quale vuoi disabilitare l'alta disponibilità.
  3. Nella pagina Dettagli istanza, fai clic su Elimina.
  4. Nella finestra Elimina replica, digita nuovamente il nome dell'istanza di failover.
  5. Fai clic su Elimina. La configurazione dell'istanza originale cambia in quella di zona.

gcloud

Per informazioni di riferimento, vedi gcloud sql instances delete.
gcloud sql instances delete FAILOVER_REPLICA_NAME

arricciatura

La seguente richiesta utilizza il metodo instances:delete per eliminare l'istanza.
gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json'\
      -X DELETE\
https://www.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/INSTANCE_NAME

Passaggi successivi