Activer et désactiver la haute disponibilité

Cette page explique comment configurer une instance pour la haute disponibilité.

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

Pour en savoir plus sur la haute disponibilité, consultez la page Présentation de la configuration de la haute disponibilité.

L'ancienne configuration de la haute disponibilité faisait appel à une instance failover replica. La nouvelle configuration n'utilise pas de failover replica. Au lieu de cela, elle utilise les disques persistants régionaux de Google, qui répliquent de manière synchrone les données au niveau du bloc entre deux zones d'une région. Si une instance MySQL existante utilise l'ancienne configuration à haute disponibilité, vous pouvez mettre à jour votre configuration pour utiliser la version actuelle. Pour connaître les autres procédures liées à l'ancienne configuration de la haute disponibilité, consultez la section Ancienne configuration de la haute disponibilité.

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

Lorsque vous créez une instance 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. Dans Google Cloud Console, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Sélectionnez Créer une instance.
  3. Sélectionnez le moteur de base de données.
  4. Dans la section Choisir la disponibilité régionale et zonale, sélectionnez Zones multiples (disponibilité élevée).
  5. Développez Spécifier des zones.
  6. Sélectionnez les zones principale et secondaire. Les conditions suivantes s'appliquent lorsque la zone secondaire est utilisée lors de la création ou de la modification de l'instance :
    • Les zones sont définies par défaut sur Any pour la zone principale et sur Any (different from primary) pour la zone secondaire.
    • Si les zones principale et secondaire sont spécifiées, elles doivent être distinctes l'une de l'autre.

  7. Cliquez sur Enregistrer.

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

gcloud

  1. Créez l'instance régionale :
    gcloud sql instances create REGIONAL_INSTANCE_NAME \
    --availability-type=REGIONAL \
    --database-version=DATABASE_VERSION \
    --tier=MACHINE_TYPE \
    --enable-bin-log
    
    Pour obtenir la liste complète des paramètres disponibles, consultez la page de référence Créer des instances gcloud sql.
  2. Vous pouvez spécifier les zones principale et secondaire à l'aide des paramètres --zone et --secondary-zone. Les restrictions suivantes s'appliquent lorsque la zone secondaire est utilisée lors de la création ou de la modification de l'instance :
    • Les zones doivent être valides.
    • Si la zone secondaire est spécifiée, la zone principale doit également être spécifiée.
    • Si les zones principale et secondaire sont spécifiées, elles doivent être distinctes l'une de l'autre.
    • Si les zones principale et secondaire sont spécifiées, elles doivent appartenir à la même région.
  3. Configurez l'utilisateur racine :
    gcloud sql users set-password root --host=% \
    --instance=PRIMARY_INSTANCE_NAME \
    --password=PASSWORD
    

Terraform

Pour créer une instance à haute disponibilité, utilisez une ressource Terraform.

resource "google_sql_database_instance" "mysql_instance_ha" {
  name             = "mysql-instance-ha"
  region           = "asia-northeast1"
  database_version = "MYSQL_8_0"
  settings {
    tier              = "db-f1-micro"
    availability_type = "REGIONAL"
    backup_configuration {
      enabled            = true
      binary_log_enabled = true
      start_time         = "20:55"
    }
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

Appliquer les modifications

Pour appliquer votre configuration Terraform dans un projet Google Cloud, suivez les procédures des sections suivantes.

Préparer Cloud Shell

  1. Lancez Cloud Shell.
  2. Définissez le projet Google Cloud par défaut dans lequel vous souhaitez appliquer vos configurations Terraform.

    Vous n'avez besoin d'exécuter cette commande qu'une seule fois par projet et vous pouvez l'exécuter dans n'importe quel répertoire.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Les variables d'environnement sont remplacées si vous définissez des valeurs explicites dans le fichier de configuration Terraform.

Préparer le répertoire

Chaque fichier de configuration Terraform doit avoir son propre répertoire (également appelé module racine).

  1. Dans Cloud Shell, créez un répertoire et un nouveau fichier dans ce répertoire. Le nom du fichier doit comporter l'extension .tf, par exemple main.tf. Dans ce tutoriel, le fichier est appelé main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si vous suivez un tutoriel, vous pouvez copier l'exemple de code dans chaque section ou étape.

    Copiez l'exemple de code dans le fichier main.tf que vous venez de créer.

    Vous pouvez également copier le code depuis GitHub. Cela est recommandé lorsque l'extrait Terraform fait partie d'une solution de bout en bout.

  3. Examinez et modifiez les exemples de paramètres à appliquer à votre environnement.
  4. Enregistrez les modifications.
  5. Initialisez Terraform. Cette opération n'est à effectuer qu'une seule fois par répertoire.
    terraform init

    Vous pouvez également utiliser la dernière version du fournisseur Google en incluant l'option -upgrade :

    terraform init -upgrade

Appliquer les modifications

  1. Examinez la configuration et vérifiez que les ressources que Terraform va créer ou mettre à jour correspondent à vos attentes :
    terraform plan

    Corrigez les modifications de la configuration si nécessaire.

  2. Appliquez la configuration Terraform en exécutant la commande suivante et en saisissant yes lorsque vous y êtes invité :
    terraform apply

    Attendez que Terraform affiche le message "Apply completed!" (Application terminée).

  3. Ouvrez votre projet Google Cloud pour afficher les résultats. Dans la console Google Cloud, accédez à vos ressources dans l'interface utilisateur pour vous assurer que Terraform les a créées ou mises à jour.

Supprimer les modifications

Pour supprimer vos modifications, procédez comme suit :

  1. Pour désactiver la protection contre la suppression, définissez l'argument deletion_protection sur false dans le fichier de configuration Terraform.
    deletion_protection =  "false"
  2. Appliquez la configuration Terraform mise à jour en exécutant la commande suivante et en saisissant yes lorsque vous y êtes invité :
    terraform apply
  1. Supprimez les ressources précédemment appliquées à votre configuration Terraform en exécutant la commande suivante et en saisissant yes à la requête :

    terraform destroy

REST v1

Pour obtenir la liste complète des paramètres pour cette requête, consultez la page instances:insert.

Créez l'instance régionale.

  1. Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • project-id : ID du projet
    • instance-name : nom de l'instance
    • database-version : chaîne d'énumération de la version de base de données
    • region : région GCP
    • machine-type : type de machine

    Méthode HTTP et URL :

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances

    Corps JSON de la requête :

    {
      "name": "instance-name",
      "region": "region",
      "databaseVersion": "database-version",
       "settings": {
         "tier": "machine-type",
         "backupConfiguration": {
             "binaryLogEnabled": true,
             "enabled": true
          },
          "availabilityType": "REGIONAL"
       }
    }
    

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

  2. Une fois l'instance initialisée, mettez à jour le mot de passe racine sur l'instance :

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • project-id : ID du projet
    • instance-id : ID de l'instance
    • password : nouveau mot de passe de l'utilisateur racine

    Méthode HTTP et URL :

    PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=root&host=%25'

    Corps JSON de la requête :

    {
       "name": "root",
       "host": "%",
       "password": "password"}
    

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.

REST v1beta4

Pour obtenir la liste complète des paramètres pour cette requête, consultez la page instances:insert.

Créez l'instance régionale.

  1. Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • project-id : ID du projet
    • instance-name : nom de l'instance
    • database-version : chaîne d'énumération de la version de base de données
    • region : région GCP
    • machine-type : type de machine

    Méthode HTTP et URL :

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances

    Corps JSON de la requête :

    {
      "name": "instance-name",
      "region": "region",
      "databaseVersion": "database-version",
       "settings": {
         "tier": "machine-type",
         "backupConfiguration": {
             "binaryLogEnabled": true,
             "enabled": true
          },
          "availabilityType": "REGIONAL"
       }
    }
    

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

  2. Une fois l'instance initialisée, mettez à jour le mot de passe racine sur l'instance :

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • project-id : ID du projet
    • instance-id : ID de l'instance
    • password : nouveau mot de passe de l'utilisateur racine

    Méthode HTTP et URL :

    PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=root&host=%25'

    Corps JSON de la requête :

    {
       "name": "root",
       "host": "%",
       "password": "password"}
    

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.

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

Configurer la haute disponibilité d'une instance existante

Vous pouvez configurer la haute disponibilité d'une instance Cloud SQL en utilisant la console Google Cloud, gcloud CLI ou l'API.

Console

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

  1. Dans Google Cloud Console, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Cliquez sur Modifier.
  4. Dans la section Choisir la disponibilité régionale et zonale, sélectionnez Zones multiples (disponibilité élevée).
  5. Développez Spécifier des zones.
  6. Sélectionnez les zones principale et secondaire. Les conditions suivantes s'appliquent lorsque vous utilisez la zone secondaire lors de la création ou de la modification d'une instance :
    • Les zones sont définies par défaut sur Any pour la zone principale et sur Any (different from primary) pour la zone secondaire.
    • Si vous spécifiez à la fois les zones principale et secondaire, elles doivent être distinctes l'une de l'autre.

  7. Cliquez sur Enregistrer.

gcloud

Pour configurer une instance comme instance à haute disponibilité régionale, utilisez la commande gcloud sql instances patch :

gcloud sql instances patch INSTANCE_NAME \
--availability-type REGIONAL \
--enable-bin-log \
--backup-start-time=HH:MM

Effectuez les remplacements suivants :

  • INSTANCE_NAME : nom de l'instance Cloud SQL que vous configurez pour la haute disponibilité.
  • HH:MM : heure (en heures et en minutes).

REST v1

Pour configurer une instance en tant qu'instance régionale à haute disponibilité, procédez comme suit :

  1. Vérifiez l'instance pour voir si les sauvegardes automatiques et la journalisation binaire sont activées. Ces paramètres sont requis pour les instances à haute disponibilité.

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
    • INSTANCE_NAME : nom de l'instance que vous configurez pour la haute disponibilité.

    Méthode HTTP et URL :

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

    {
      "kind": "sql#instance",
      "state": "RUNNABLE",
      "databaseVersion": "MYSQL_8_0"
    }
    

    Le résultat contient une section semblable à celle-ci :

      "backupConfiguration": {
        "kind": "sql#backupConfiguration",
        "startTime": "12:00",
        "enabled": true,
        "binaryLogEnabled": true
        }
      
  2. Si les valeurs enabled ou binaryLogEnabled sont définies sur false, utilisez la méthode instances:patch pour les activer. Pour activer les sauvegardes, définissez enabled sur true et startTime sur une valeur correspondant au début de l'intervalle de sauvegarde. Pour activer la journalisation binaire, définissez binaryLogEnabled sur true.

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
    • INSTANCE_NAME : nom de l'instance principale ou de l'instance répliquée avec accès en lecture que vous configurez pour la haute disponibilité.
    • START_TIME : heure (en heures et en minutes).

    Méthode HTTP et URL :

    PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

    Corps JSON de la requête :

    {
      "settings":
      {
        "backupConfiguration":
        {
          "startTime": "START_TIME",
          "enabled": true,
          "binaryLogEnabled": true
        }
      }
    }
    

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

  3. Configurez l'instance en tant qu'instance régionale à haute disponibilité :

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
    • INSTANCE_NAME : nom de l'instance que vous configurez pour la haute disponibilité.

    Méthode HTTP et URL :

    PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

    Corps JSON de la requête :

    {
      "settings": {"availabilityType": "REGIONAL" }
    }
    

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.

REST v1beta4

Pour configurer une instance en tant qu'instance régionale à haute disponibilité, procédez comme suit :

  1. Vérifiez l'instance pour voir si les sauvegardes automatiques et la journalisation binaire sont activées. Ces paramètres sont requis pour les instances à haute disponibilité.

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
    • INSTANCE_NAME : nom de l'instance que vous configurez pour la haute disponibilité.

    Méthode HTTP et URL :

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

    {
      "kind": "sql#instance",
      "state": "RUNNABLE",
      "databaseVersion": "MYSQL_8_0"
    }
    

    Le résultat contient une section semblable à celle-ci :

      "backupConfiguration": {
        "kind": "sql#backupConfiguration",
        "startTime": "12:00",
        "enabled": true,
        "binaryLogEnabled": true
        }
      
  2. Si les valeurs enabled ou binaryLogEnabled sont définies sur false, utilisez la méthode instances:patch pour les activer. Pour activer les sauvegardes, définissez enabled sur true et startTime sur une valeur correspondant au début de l'intervalle de sauvegarde. Pour activer la journalisation binaire, définissez binaryLogEnabled sur true.

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
    • INSTANCE_NAME : nom de l'instance principale ou de l'instance répliquée avec accès en lecture que vous configurez pour la haute disponibilité.
    • START_TIME : heure (en heures et en minutes).

    Méthode HTTP et URL :

    PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

    Corps JSON de la requête :

    {
      "settings":
      {
        "backupConfiguration":
        {
          "startTime": "START_TIME",
          "enabled": true,
          "binaryLogEnabled": true
        }
      }
    }
    

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

  3. Configurez l'instance en tant qu'instance régionale à haute disponibilité :

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
    • INSTANCE_NAME : nom de l'instance que vous configurez pour la haute disponibilité.

    Méthode HTTP et URL :

    PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

    Corps JSON de la requête :

    {
      "settings": {"availabilityType": "REGIONAL" }
    }
    

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.

Lancer le basculement

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

Pour en savoir plus sur les basculements, consultez la présentation du basculement.

Console

  1. Dans Google Cloud Console, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Cliquez sur Basculement.
  4. Dans la boîte de dialogue Déclencher manuellement un basculement, saisissez l'ID de votre instance dans le champ de texte, puis cliquez sur Déclencher le basculement.

gcloud

Initiez le basculement comme suit :

gcloud sql instances failover PRIMARY_INSTANCE_NAME

REST v1

  1. Décrivez l'instance principale pour obtenir la valeur du champ settingsVersion.

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
    • INSTANCE_NAME : nom de l'instance que vous configurez pour la haute disponibilité.

    Méthode HTTP et URL :

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

    {
      "kind": "sql#instance",
      "state": "RUNNABLE",
      "databaseVersion": "MYSQL_8_0"
    }
    
  2. Initiez le basculement comme suit :

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • project-id : ID du projet
    • instance-name : nom de l'instance
    • settings-version : valeur settingsVersion de instanceInfo

    Méthode HTTP et URL :

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-name/failover

    Corps JSON de la requête :

    {
      "failoverContext":
         {
            "settingsVersion":"settings-version"
         }
    }
    

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

REST v1beta4

  1. Décrivez l'instance principale pour obtenir la valeur du champ settingsVersion.

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
    • INSTANCE_NAME : nom de l'instance que vous configurez pour la haute disponibilité.

    Méthode HTTP et URL :

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

    {
      "kind": "sql#instance",
      "state": "RUNNABLE",
      "databaseVersion": "MYSQL_8_0"
    }
    
  2. Initiez le basculement comme suit :

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • project-id : ID du projet
    • instance-name : nom de l'instance
    • settings-version : valeur settingsVersion de instanceInfo

    Méthode HTTP et URL :

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-name/failover

    Corps JSON de la requête :

    {
      "failoverContext":
         {
            "settingsVersion":"settings-version"
         }
    }
    

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

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

Vérifier la configuration de haute disponibilité d'une instance

Pour vérifier la haute disponibilité d'une instance et afficher les zones dans lesquelles elle est exécutée, procédez comme suit :

Console

  1. Dans Google Cloud Console, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Vérifiez que les paramètres de haute disponibilité suivants s'affichent dans la section Configuration :
    • Disponibilité élevée (régional)
    • Emplacement : affiche la zone principale actuelle de l'instance.

gcloud

gcloud sql instances describe INSTANCE_NAME

Le résultat indique que la valeur de availabilityType est définie sur REGIONAL. Les champs gceZone et secondaryGceZone indiquent les zones principale et secondaire actuelles de l'instance.

REST v1

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
  • INSTANCE_NAME : nom de l'instance que vous configurez pour la haute disponibilité.

Méthode HTTP et URL :

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_8_0"
}

Le résultat indique que la valeur de availabilityType est définie sur REGIONAL. Les champs gceZone et secondaryGceZone indiquent les zones principale et secondaire actuelles de l'instance.

REST v1beta4

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
  • INSTANCE_NAME : nom de l'instance que vous configurez pour la haute disponibilité.

Méthode HTTP et URL :

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_8_0"
}

Le résultat indique que la valeur de availabilityType est définie sur REGIONAL. Les champs gceZone et secondaryGceZone indiquent les zones principale et secondaire actuelles de l'instance.

Modifier les zones d'une instance à haute disponibilité

La modification d'une zone (ou des deux zones) d'une instance à haute disponibilité existante, entraîne un temps d'arrêt de quelques minutes pendant la reconfiguration de l'instance. Pour connaître les zones principale et secondaire actuelles dans lesquelles l'instance à haute disponibilité est en cours d'exécution, consultez la page Vérifier la configuration de la haute disponibilité d'une instance.

Pour modifier les zones d'une instance à haute disponibilité, procédez comme suit :

Console

  1. Dans Google Cloud Console, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Cliquez sur Modifier.
  4. Dans la section Sélectionner la disponibilité régionale et zonale, développez Spécifier des zones et sélectionnez de nouvelles zones. Les zones sont définies par défaut sur Any pour la zone principale et sur Any (different from primary) pour la zone secondaire. Les restrictions suivantes s'appliquent :
    • Vous pouvez spécifier la zone principale uniquement, ou les zones principale et secondaire.
    • Si les zones principale et secondaire sont spécifiées, elles doivent être distinctes l'une de l'autre.
  5. Cliquez sur Enregistrer.

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

gcloud

Modifiez la zone dans laquelle l'instance est en cours d'exécution :

gcloud sql instances patch INSTANCE_NAME \
  --zone=PRIMARY_ZONE --secondary-zone=SECONDARY_ZONE

Le paramètre --secondary-zone est facultatif. Si vous l'omettez, Cloud SQL sélectionne une zone disponible différente de la zone principale.

Les restrictions suivantes s'appliquent :

  • Les zones doivent être des zones valides appartenant à la même région que l'instance Cloud SQL.
  • Si la zone secondaire est spécifiée, elle doit être différente de la zone principale.

REST v1

  1. Modifiez les zones de l'instance régionale :

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID du projet
    • INSTANCE_NAME : nom de l'instance
    • PRIMARY_ZONE : zone principale
    • SECONDARY_ZONE : zone secondaire

    Méthode HTTP et URL :

    PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

    Corps JSON de la requête :

    {
    "settings": {"locationPreference": {"zone": "PRIMARY_ZONE", "secondaryZone": "SECONDARY_ZONE"}}
    }
    

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.

    Le paramètre secondaryZone est facultatif. Si vous l'omettez, Cloud SQL sélectionne une zone disponible différente de la zone principale.

    Les restrictions suivantes s'appliquent :

    • Les zones doivent être valides.
    • Toutes les zones que vous choisissez doivent appartenir à la même région que l'instance Cloud SQL.

REST v1beta4

  1. Modifiez les zones de l'instance régionale :

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID du projet
    • INSTANCE_NAME : nom de l'instance
    • PRIMARY_ZONE : zone principale
    • SECONDARY_ZONE : zone secondaire

    Méthode HTTP et URL :

    PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

    Corps JSON de la requête :

    {
    "settings": {"locationPreference": {"zone": "PRIMARY_ZONE", "secondaryZone": "SECONDARY_ZONE"}}
    }
    

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.

    Le paramètre secondaryZone est facultatif. Si vous l'omettez, Cloud SQL sélectionne une zone disponible différente de la zone principale.

    Les restrictions suivantes s'appliquent :

    • Les zones doivent être valides.
    • Toutes les zones que vous choisissez doivent appartenir à la même région que l'instance Cloud SQL.

Désactiver la haute disponibilité pour une instance

Vous pouvez désactiver la haute disponibilité d'une instance Cloud SQL en utilisant la console Google Cloud, gcloud CLI ou l'API.

Console

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

  1. Dans Google Cloud Console, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Cliquez sur Modifier.
  4. Cliquez sur Sauvegardes automatiques.
  5. Dans la section Disponibilité, cliquez sur Zone unique.
  6. Cliquez sur Enregistrer. Cette modification nécessite le redémarrage de l'instance.
  7. Lorsque la boîte de dialogue s'affiche, cliquez sur Enregistrer et redémarrer.

gcloud

Pour désactiver la haute disponibilité pour une instance, utilisez la commande gcloud sql instances patch :

gcloud sql instances patch INSTANCE_NAME \
--availability-type ZONAL

Remplacez INSTANCE_NAME par le nom de l'instance Cloud SQL pour laquelle vous désactivez la haute disponibilité.

REST v1

Pour basculer le type de disponibilité de l'instance sur ZONAL, utilisez la méthode instances:patch. Cette méthode désactive la haute disponibilité pour l'instance.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
  • INSTANCE_NAME : nom de l'instance pour laquelle vous désactivez la haute disponibilité.

Méthode HTTP et URL :

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Corps JSON de la requête :

{
  "settings": {"availabilityType": "ZONAL" }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.

REST v1beta4

Pour basculer le type de disponibilité de l'instance sur ZONAL, utilisez la méthode instances:patch. Cette méthode désactive la haute disponibilité pour l'instance.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
  • INSTANCE_NAME : nom de l'instance pour laquelle vous désactivez la haute disponibilité.

Méthode HTTP et URL :

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

Corps JSON de la requête :

{
  "settings": {"availabilityType": "ZONAL" }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.

Résoudre les problèmes

Problème Dépannage
Vous ne trouvez pas les métriques d'un basculement manuel. Seuls les basculements automatiques sont pris en compte dans les métriques.
L'utilisation des ressources d'instance Cloud SQL (processeur et mémoire RAM) arrive bientôt à 100 %, ce qui entraîne l'arrêt de l'instance à haute disponibilité. La taille de la machine de l'instance est insuffisante pour la charge.

Modifiez l'instance en augmentant la taille de la machine afin d'obtenir plus de processeurs et de mémoire.

Étape suivante