Ancienne configuration de haute disponibilité

Cette page décrit l'ancienne configuration d'une instance MySQL pour la haute disponibilité (HA).

Dans une ancienne configuration de la haute disponibilité, une instance Cloud SQL pour MySQL utilise une instance dupliquée de basculement pour ajouter la haute disponibilité à l'instance. Cette fonctionnalité n'est pas disponible dans la console Google Cloud. La configuration recommandée n'utilise pas ces instances dupliquées de basculement. Au lieu de cela, la configuration actuelle de haute disponibilité 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.

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

Mettre à jour l'ancienne version de haute disponibilité d'une instance vers la version actuelle

Pour mettre à jour votre instance de l'ancienne configuration vers la configuration de haute disponibilité actuelle, procédez comme suit:

  1. Mettez à jour votre instance vers la configuration de haute disponibilité actuelle.

    1. Supprimez l'instance dupliquée de basculement pour l'instance MySQL que vous souhaitez mettre à jour. Pour en savoir plus, consultez Désactiver la haute disponibilité sur une instance.
    2. Configurez l'instance principale pour qu'elle utilise la version actuelle de la haute disponibilité. Pour en savoir plus, consultez Configurer la haute disponibilité d'une instance existante.

    Vous pouvez également utiliser Database Migration Service pour migrer vers une instance qui utilise la configuration actuelle de haute disponibilité.

  2. Créez une instance d'instance dupliquée avec accès en lecture pour décharger les charges de travail de lecture que vous ne souhaitez pas effectuer sur l'instance principale.

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.

gcloud

Initiez le basculement comme suit :

gcloud sql instances failover PRIMARY_INSTANCE_NAME

curl

  1. Décrivez l'instance primaire pour obtenir la valeur du champ 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. Initiez le basculement comme suit :
    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

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

Ancienne configuration : Créer une alerte pour le délai de duplication

Le temps requis pour une opération de basculement dépend du délai de réplication lorsque le basculement est initié. Vous pouvez utiliser Cloud Monitoring dans la console Google Cloud pour vous avertir lorsque le délai de duplication dépasse un certain seuil.

Pour plus d'informations sur le délai de duplication, recherchez "seconds_behind_master" sur la page Syntaxe SHOW SLAVE STATUS de la documentation MySQL.

Pour en savoir plus sur Cloud Monitoring, consultez la documentation Cloud Monitoring.

Ancienne configuration : Définir une alerte pour une instance dupliquée de basculement spécifique

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Monitoring, puis  Alertes.
  2. Cliquez sur Créer une règle d'alerte.
  3. Saisissez un nom descriptif pour votre alerte.
  4. Sélectionnez Seuil de métriques et cliquez sur Suivant pour ouvrir l'onglet "Cible".
  5. Pour Type de ressource, sélectionnez Cloud SQL.
  6. Pour S'applique à, sélectionnez Unique, puis sélectionnez votre instance dupliquée de basculement.
  7. Cliquez sur Suivant pour ouvrir l'onglet "Configuration".
  8. Saisissez les valeurs suivantes :

    Champ Valeur
    Si métrique Secondes de retard sur le maître
    Condition au-dessus
    Seuils 120 (ou toute valeur appropriée pour votre environnement)
    Durée 3 minutes

  9. Sélectionnez les méthodes de notification souhaitées, puis cliquez sur Enregistrer la condition.

Ancienne configuration : Définir une alerte pour un groupe d'instances dupliquées de basculement

Si vous prévoyez de créer plusieurs instances dupliquées de basculement dans le même projet, il sera plus facile de définir l'alerte pour l'ensemble du groupe plutôt que sur chaque instance dupliquée de basculement individuellement. Pour créer un groupe à surveiller, utilisez un suffixe pour les noms d'instances dupliquées de basculement, tel que "-basculement". Assurez-vous de ne pas utiliser ce suffixe pour d'autres types d'instances Cloud SQL.

Créez votre groupe d'instances de basculement comme suit :

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

    Accéder à Monitoring

  2. Dans la barre de menu supérieure, sélectionnez Groupes > Créer.
  3. Entrez un nom descriptif pour votre groupe.
  4. Gardez la sélection Nom et Contient et saisissez le nom de la sous-chaîne.
  5. Cliquez sur Enregistrer le groupe. La page récapitulative du nouveau groupe s'ouvre.
  6. Confirmez l'inclusion des instances attendues dans le groupe.

Créez l'alerte pour le groupe d'instances dupliquées de basculement comme suit :

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Monitoring, puis  Alertes.
  2. Cliquez sur Créer une règle d'alerte.
  3. Saisissez un nom descriptif pour votre alerte de groupe.
  4. Sélectionnez Seuil de métriques et cliquez sur Suivant pour ouvrir l'onglet "Cible".
  5. Pour Type de ressource, sélectionnez Cloud SQL.
  6. Pour S'applique à, sélectionnez Groupe, puis sélectionnez votre groupe de basculement.
  7. Gardez la sélection Non-respect de la stratégie par un des membres et cliquez sur Suivant pour ouvrir l'onglet "Configuration".
  8. Saisissez les valeurs suivantes :

    Champ Valeur
    Si métrique Secondes de retard sur le maître
    Condition au-dessus
    Seuils 120 (ou toute valeur appropriée pour votre environnement)
    Durée 3 minutes

  9. Sélectionnez les méthodes de notification souhaitées, puis cliquez sur Enregistrer la condition.

Ancienne configuration : Désactiver la haute disponibilité sur une instance

Vous devez supprimer l'instance dupliquée de basculement pour désactiver la haute disponibilité de l'instance principale.

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

Pour désactiver 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 l'instance de basculement associée à l'instance pour laquelle vous souhaitez désactiver la haute disponibilité.
  3. Sur la page des Détails de l'instance, cliquez sur Supprimer.
  4. Dans la fenêtre Supprimer l'instance dupliquée, retapez le nom de l'instance de basculement.
  5. Cliquez sur Supprimer. La configuration de l'instance d'origine devient zonale.

gcloud

Pour plus d'informations, consultez la page sur gcloud sql instances delete.
gcloud sql instances delete FAILOVER_REPLICA_NAME

curl

La requête suivante exécute la méthode instances:delete pour supprimer l'instance.
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

Étape suivante