Activer et désactiver la haute disponibilité sur une instance

Cette page vous explique comment configurer la haute disponibilité d'une instance PostgreSQL.

Vous pouvez configurer la haute disponibilité lors de la création d'une instance ou l'activer pour une instance existante.

Pour plus d'informations sur la configuration de haute disponibilité, consultez la rubrique Présentation de la configuration de la haute disponibilité.

Créer une nouvelle instance configurée pour la haute disponibilité

Lorsque vous créez une instance PostgreSQL et que vous la configurez pour la haute disponibilité, Cloud SQL la crée en tant qu'instance régionale.

Pour créer une instance configurée pour la haute disponibilité, procédez comme suit :

Console

  1. Accédez à la page "Instances Cloud SQL" de la console Google Cloud Platform.

    Accéder à la page "Instances Cloud SQL"

  2. Créez une instance de deuxième génération.
  3. Sur la page ID d'instance, sélectionnez Afficher les options de configuration.
  4. Activez les sauvegardes automatiques et la haute disponibilité.
  5. Cochez la case Haute disponibilité (régionale).

gcloud

  1. Créez l'instance régionale :
    gcloud beta sql instances create [REGIONAL_INSTANCE_NAME] \
                                     --availability-type=REGIONAL \
                                     --database-version=POSTGRES_9_6 \
                                     --cpu=[NUMBER_CPUS] --memory=[MEMORY_SIZE]
    
  2. Configurez l'utilisateur root :
    gcloud sql users set-password postgres no-host \
                          --instance=[REGIONAL_INSTANCE_NAME] --password=[PASSWORD]
    
Pour obtenir une liste complète des paramètres disponibles, consultez la page de référence sur la création d'instances SQL pour version bêta de gcloud.

cURL

  1. Créez l'instance régionale :
    ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"name":"[INSTANCE_NAME]", "region":"[REGION]",
                  "databaseVersion":"POSTGRES_9_6",
                  "settings": {
                      "tier":"[MACHINE_TYPE]",
                      "availabilityType":"REGIONAL"}}' \
         -X POST \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances
    
    Pour obtenir la liste complète des paramètres de cette requête, reportez-vous à la page instances.insert.
  2. Lorsque l'instance a terminé son initialisation, mettez à jour le mot de passe de l'utilisateur postgres :
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"name": "postgres", "host": "nohost", "password": "[PASSWORD]"}' \
         'https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/users?name=postgres'
    

Pour plus d'informations, consultez la section Créer des instances.

Configurer la haute disponibilité d'une instance existante

Console

La configuration de la haute disponibilité pour une instance existante provoque quelques minutes d'indisponibilité.

Pour configurer la haute disponibilité pour une instance existante, procédez comme suit :

  1. Accédez à la page "Instances Cloud SQL" dans la console Google Cloud Platform.

    Accéder à la page "Instances Cloud SQL"

  2. Cliquez sur le nom de l'instance pour ouvrir la page Présentation, puis cliquez sur Modifier dans la barre de boutons.
  3. Dans la section de configuration Activer les sauvegardes automatiques et la haute disponibilité, cochez la case Haute disponibilité (régionale).
  4. Cliquez sur Enregistrer.

    Vous êtes alors redirigé vers la page d'instance maître lors de la mise à jour de l'instance.

gcloud

Attribuez le type régional à l'instance :

gcloud beta sql instances patch [INSTANCE_NAME] --availability-type REGIONAL

cURL

La configuration de la haute disponibilité pour une instance existante provoque quelques minutes d'indisponibilité.

Attribuez le type régional à l'instance :

curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"settings": {"availabilityType":"REGIONAL"}}' \
     -X PATCH \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]

Démarrer un basculement

Tester le basculement est facultatif, mais il est recommandé de comprendre comment votre application répond en cas de basculement.

Console

  1. Accédez à la page "Instances Cloud SQL" de la console Google Cloud Platform.

    Accéder à la page "Instances Cloud SQL"

  2. Cliquez sur le nom de l'instance maître pour ouvrir sa page de détails d'instance.
  3. Cliquez sur Basculement dans la barre de boutons.

gcloud

Initiez le basculement comme suit :

gcloud sql instances failover [MASTER_INSTANCE_NAME]

cURL

  1. Décrivez l'instance maître pour obtenir la valeur du champ `settingsVersion`.
    ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         -X GET \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[MASTER_INSTANCE_NAME]
    
  2. Initiez le basculement comme suit :
    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/[MASTER_INSTANCE_NAME]/failover
              

Lors de ce processus de quelques minutes, l'instance n'est plus disponible.

Désactiver la haute disponibilité sur une instance

Avant de suivre cette procédure, assurez-vous qu'aucune opération n'est en cours d'exécution sur l'instance.

Pour désactiver la haute disponibilité, procédez comme suit :

Console

  1. Accédez à la page "Instances Cloud SQL" de la console Google Cloud Platform.

    Accéder à la page "Instances Cloud SQL"

  2. Sélectionnez l'instance pour laquelle vous souhaitez désactiver la haute disponibilité.
  3. Sur la page Détails de l'instance, cliquez sur Modifier.
  4. Ouvrez la page Activer les sauvegardes automatiques.
  5. Sous Disponibilité cliquez sur Zone unique.
  6. Cliquez sur Enregistrer. Cette modification nécessite un redémarrage de l'instance. Lorsque vous voyez la boîte de dialogue, cliquez sur ENREGISTRER ET REDÉMARRER.

gcloud

Pour plus d'informations, consultez gcloud sql instances patch.
gcloud beta sql instances patch [INSTANCE_NAME] --availability-type ZONAL

cURL

La demande suivante utilise la méthode instances:patch pour modifier le type de disponibilité de l'instance en ZONAL.
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"settings": {"availabilityType":"ZONAL"}}' \
     -X PATCH \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]

Étapes suivantes