Gérer les mises à jour de maintenance AlloyDB à l'aide d'un cluster de préproduction

Pour minimiser les risques liés à vos charges de travail de production AlloyDB pour PostgreSQL, vous pouvez utiliser un cluster de préproduction pour tester de nouvelles fonctionnalités, performances et fonctionnalités avant d'appliquer des mises à jour à vos systèmes de production. Un cluster de préproduction est une copie de votre cluster de production qui ajoute une couche de contrôle au processus de mise à jour de maintenance. L'utilisation d'un cluster de préproduction pour tester les mises à jour de maintenance vous permet d'identifier et de résoudre les problèmes potentiels dans un environnement hors production. Cette approche réduit le risque de temps d'arrêt et de dégradation des performances dans vos systèmes de production.

Les mises à jour de maintenance d'AlloyDB sont périodiques, souvent mensuelles. Elles incluent de nouvelles fonctionnalités, des corrections de bugs, des mises à niveau de la compatibilité de la base de données et des correctifs liés à la sécurité. Bien que les versions d'AlloyDB soient rétrocompatibles, nous vous recommandons de tester les nouvelles versions dans un environnement de préproduction pour garantir la stabilité et la prévisibilité de la base de données pour les applications critiques de votre cluster de production. Pour en savoir plus, consultez Présentation de la maintenance.

Pour utiliser un cluster de préproduction, procédez comme suit :

  1. Configurez un cluster de préproduction.
  2. Configurez un intervalle de maintenance sur un cluster de production.
  3. Gérez les mises à jour du cluster de préproduction.
  4. Gérez les mises à jour du cluster de production.

Cette approche de validation de la préproduction pour la maintenance d'AlloyDB garantit que votre environnement de production reste stable, performant et sécurisé tout en bénéficiant des dernières fonctionnalités et des derniers correctifs d'AlloyDB.

Le diagramme suivant illustre la relation entre votre cluster de préproduction et votre cluster de production, ainsi que le flux opérationnel du processus de mise à jour :

Relation entre les clusters de production et de préproduction

Pour en savoir plus sur le fonctionnement des mises à jour de maintenance avec les clusters AlloyDB, consultez Présentation de la maintenance. Pour en savoir plus sur la gestion des intervalles de maintenance, consultez Gérer les intervalles de maintenance des clusters AlloyDB pour PostgreSQL.

Avant de commencer

Le Google Cloud projet que vous utilisez doit être activé pour accéder à AlloyDB.

Pour configurer un cluster de préproduction, vous devez créer ou disposer d'un cluster de production AlloyDB existant. Pour en savoir plus, consultez Créer un cluster et son instance principale.

Vous devez disposer de l'un des rôles IAM suivants dans le Google Cloud projet que vous utilisez :

  • roles/alloydb.admin: rôle IAM prédéfini d'administrateur AlloyDB
  • roles/owner : rôle IAM de base de propriétaire
  • roles/editor : rôle IAM de base d'éditeur

Si vous ne disposez pas de ces rôles, contactez l'administrateur de votre organisation pour demander l'accès.

Configurer un cluster de préproduction

Pour qu'une stratégie de préproduction soit efficace, vous devez vous assurer que votre cluster de préproduction est semblable à votre environnement de production et qu'il reçoit les mises à jour avant la production. Vous configurez une stratégie de préproduction lorsque vous ne définissez pas d'intervalle de maintenance sur votre cluster de préproduction. AlloyDB met d'abord à jour les clusters sans intervalles de maintenance.

Créer un cluster de préproduction à partir de votre sauvegarde de production

Déployez un cluster de préproduction qui reflète votre environnement de production et assurez-vous qu'il dispose de la même version, de la même configuration et des mêmes données AlloyDB que votre cluster de production.

Pour vous assurer que votre cluster de préproduction est identique à votre environnement de production, utilisez la commande restore pour cloner votre base de données de production sur votre cluster de préproduction et vous assurer que les données et la configuration sont similaires. Nous vous recommandons également de séparer les environnements de préproduction et de production sur différents projets.

Vous pouvez utiliser les deux méthodes suivantes pour créer une sauvegarde de production :

  • Créez un cluster de préproduction en effectuant une restauration complète d'une sauvegarde de cluster de production existante. Cette méthode n'implique pas la récupération d'une base de données. Toutefois, en fonction de la planification des sauvegardes, les données peuvent remonter jusqu'à 24 heures. Pour utiliser cette méthode, consultez Restaurer un cluster à partir d'une sauvegarde stockée.
  • Créez un cluster de préproduction en effectuant une récupération à un moment précis (PITR) à un moment spécifique d'une sauvegarde de base de données de production existante, y compris au moment le plus récent. Cette option vous permet d'obtenir les données les plus récentes et la méthode est plus simple. Toutefois, en fonction de la dernière heure de sauvegarde PITR, la restauration ou la récupération des données au moment que vous spécifiez peut prendre plus de temps. Pour utiliser cette méthode, consultez Utiliser la récupération à un moment précis (PITR).

Vérifier qu'aucun intervalle de maintenance n'est défini sur le cluster de préproduction

Ne définissez pas d'intervalle de maintenance pour votre cluster de préproduction. Par défaut, les clusters AlloyDB nouvellement créés, même ceux que vous restaurez à partir d'une sauvegarde, ne disposent pas d'intervalle de maintenance défini. Il s'agit de l'état correct pour votre environnement de préproduction. AlloyDB met à jour les clusters qui ne disposent pas d'intervalles de maintenance planifiés avant de mettre à jour ceux qui en disposent.

Pour vérifier qu'aucun intervalle de maintenance n'est défini, procédez comme suit :

Console

  1. Accédez à la page Clusters.

    Accéder aux clusters

  2. Cliquez sur un cluster dans la colonne Nom de la ressource. La page Présentation s'ouvre.

  3. Sur la page Présentation, dans la section Maintenance, affichez les détails de l'intervalle de maintenance de votre cluster.

    Google Cloud
  4. Facultatif : Sur la page Insights système, vous pouvez afficher les détails de l'état de l'opération de maintenance, tels que la chronologie des événements.

  5. Pour afficher la gestion unifiée de la maintenance, saisissez "Maintenance Cloud Hub" dans la barre de recherche, puis sélectionnez Maintenance. Sur cette page, vous pouvez afficher un résumé de la maintenance, la maintenance contrôlée par Google et les détails de la maintenance planifiée.

gcloud

  1. Pour utiliser la gcloud CLI, vous pouvez installer et initialiser la Google Cloud CLI, ou vous pouvez utiliser Cloud Shell.

    gcloud alloydb clusters describe STAGING_CLUSTER_ID \
        --region=LOCATION_ID \
        --project=PROJECT_ID
  2. Recherchez le champ maintenanceSchedule dans le résultat. Si aucun intervalle de maintenance n'est défini, ce champ est absent ou vide. Si, pour une raison quelconque, un intervalle de maintenance est défini, effacez-le.

    gcloud alloydb clusters update STAGING_CLUSTER_ID \
        --region=LOCATION_ID \
        --clear-maintenance-window \
        --project=PROJECT_ID

Gérer plusieurs canaux de publication pour plusieurs environnements hors production

Si votre organisation dispose d'une cadence de publication bien définie et robuste, et que vous disposez de plusieurs environnements hors production, vous pouvez appliquer les nouvelles versions étape par étape. Par exemple, vous pouvez appliquer une version dans l'ordre suivant :

  1. Environnement de développement
  2. Environnement d'assurance qualité
  3. Environnement de préproduction

Pour un contrôle plus précis de votre calendrier de publication dans AlloyDB, vous pouvez utiliser la maintenance en libre-service. La maintenance en libre-service vous permet d'appliquer manuellement une nouvelle version à n'importe quel environnement et à tout moment.

Pour implémenter ce type de cadence de publication, procédez comme suit :

  1. Appliquez le refus de maintenance à tous vos environnements hors production pour vous assurer qu'ils ne reçoivent pas de mises à jour automatiques.
  2. Utilisez la maintenance en libre-service pour appliquer des mises à jour à vos environnements hors production en fonction de la planification que vous avez spécifiée.

Configurer un intervalle de maintenance sur un cluster de production

Pour votre cluster de production, il est important de planifier un intervalle de maintenance. Cela vous permet de contrôler le moment où les mises à jour sont effectuées et de les aligner sur les périodes de faible trafic de votre entreprise.

Définir un intervalle de maintenance sur le cluster de production

Planifiez un intervalle de maintenance pour votre cluster de production. Choisissez un jour et une heure où votre système de production connaît la charge la plus faible. Le temps total requis pour un seul événement de maintenance peut varier.

AlloyDB retarde automatiquement les mises à jour de votre cluster de production d'au moins une semaine après la mise à jour de votre cluster de préproduction. Si vous rencontrez des problèmes après la mise à jour du cluster de préproduction , vous pouvez refuser les mises à jour de maintenance de production pendant 30 jours maximum et collaborer avec Google Cloud l'assistance pour résoudre les problèmes.

Définissez un intervalle de maintenance sur votre cluster de production comme suit :

Console

  1. Accédez à la page Clusters.

    Accéder aux clusters

  2. Cliquez sur un cluster dans la colonne Nom de la ressource.

  3. Sur la page Présentation, dans la section Maintenance, cliquez sur Modifier. Une fenêtre de configuration s'ouvre.

  4. Dans la section Intervalle de maintenance préféré, sélectionnez le jour de la semaine pour cet intervalle de maintenance. L'option par défaut est "N'importe quel intervalle".

    Lorsque vous créez un cluster, AlloyDB lui attribue cet intervalle de maintenance par défaut.

  5. Si vous sélectionnez un jour pour les mises à jour de maintenance, sélectionnez l'heure de la journée pour l'intervalle de maintenance.

  6. Cliquez sur Modifier pour enregistrer les modifications.

gcloud

Pour utiliser la gcloud CLI, vous pouvez installer et initialiser la Google Cloud CLI, ou vous pouvez utiliser Cloud Shell.

Pour récupérer les détails de configuration d'un cluster AlloyDB, exécutez la commande suivante à l'aide de la gcloud alloydb clusters update commande.

gcloud alloydb clusters update PRODUCTION_CLUSTER_ID \
    --region=LOCATION_ID \
    --maintenance-window-day=DAY_OF_WEEK \
    --maintenance-window-hour=HOUR_OF_DAY \
    --project=PROJECT_ID

Effectuez les remplacements suivants :

  • PRODUCTION_CLUSTER_ID: ID de votre cluster de production.
  • LOCATION_ID: la Google Cloud région.
  • DAY_OF_WEEK: jour préféré pour la maintenance, par exemple SUNDAY.
  • HOUR_OF_DAY: heure préférée pour la maintenance en UTC (0-23).

    L'exemple suivant montre comment définir l'intervalle de maintenance pour le dimanche à 2 h UTC :

    gcloud alloydb clusters update my-prod-cluster \
        --region=us-central1 \
        --maintenance-window-day=SUNDAY \
        --maintenance-window-hour=2 \
        --project=my-production-project

Vérifier l'intervalle de maintenance sur le cluster de production

Pour vérifier que l'intervalle de maintenance est défini pour votre cluster de production, exécutez la gcloud alloydb clusters describe commande :

gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
--region=LOCATION_ID \
--project=PROJECT_ID

Le résultat renvoie le champ maintenanceSchedule avec le jour et l'heure de maintenance spécifiés.

Activer les notifications de maintenance

Nous vous recommandons d'activer les notifications concernant les événements de maintenance planifiés pour votre cluster de production. Les notifications vous aident à planifier le moment où vous devez commencer vos tests.

Pour activer les notifications de maintenance, procédez comme suit :

  1. Accédez à la page Clusters.

    Accéder aux clusters

  2. Cliquez sur un cluster dans la colonne Nom de la ressource. La page Présentation s'ouvre.

  3. Sur la page Présentation, dans la section Maintenance, cliquez sur Afficher les détails pour développer la section. Cliquez ensuite sur Modifier dans la ligne Notifications. La page Communication s'ouvre.

  4. Sur la page Communication, sélectionnez l'onglet Communications sur les produits.

  5. Sur la ligne AlloyDB, dans la colonne E-mail, activez le bouton de notification.

Une fois que vous avez configuré l'intervalle de maintenance pour votre cluster de production, AlloyDB le met à jour au plus tôt sept jours après la mise à jour de votre cluster de préproduction. Lorsque vous choisissez de recevoir des notifications, vous recevez un e-mail indiquant qu'une mise à jour de maintenance est planifiée pour votre cluster de production.

Mises à jour du cluster de préproduction

Utilisez votre environnement de préproduction pour valider la prochaine mise à jour de production.

Vérifier l'état avant la mise à jour

Étant donné que votre cluster de préproduction ne dispose pas d'intervalle de maintenance, il fait partie des premiers clusters à recevoir la mise à jour. Toutefois, AlloyDB n'envoie pas de notifications pour les clusters qui ne sont pas configurés avec l'intervalle de maintenance. Vous pouvez toutefois surveiller le moment où les mises à jour de maintenance sont effectuées à l'aide de l' explorateur de journaux de la Google Cloud console.

  1. Dans la Google Cloud console, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat avec le sous-titre Logging.

  2. Sélectionnez Toutes les ressources, choisissez votre cluster de préproduction, puis cliquez sur Appliquer.

  3. Sélectionnez Tous les noms de journaux, sélectionnez maintenance_events, puis cliquez sur Appliquer.

  4. Dans le volet Chronologie, sélectionnez la période pendant laquelle votre cluster de préproduction reçoit des mises à jour.

Effectuer une validation fonctionnelle après la mise à jour

Une fois qu'AlloyDB a mis à jour le cluster de préproduction, effectuez des tests fonctionnels pour vérifier que les mises à jour sont sûres et adaptées à votre environnement de production.

Effectuer une validation des performances après la mise à jour

Vérifiez votre cluster de préproduction une fois la mise à jour de maintenance terminée. Évaluez l'impact sur les performances de votre base de données après les mises à jour du cluster de préproduction. Effectuez des tests fonctionnels et de performances complets pour vous assurer que vos applications se comportent comme prévu et qu'elles respectent les contrats de niveau de service en termes de performances.

Pour garantir la stabilité et un fonctionnement optimal, procédez comme suit :

  • Comparez les valeurs de référence avant la mise à jour avec les métriques clés.
  • Exécutez des tests de charge pour identifier les régressions.
  • Analysez les performances des requêtes.
  • Surveillez l'utilisation des ressources.

Intervenir en fonction des résultats de la validation

Examinez les résultats de la validation et effectuez les actions suivantes en fonction des résultats :

  • La validation réussit : si vos tests fonctionnels et de performances sur le cluster de préproduction sont concluants, cela signifie que votre environnement de préproduction ne contient aucune erreur et que vous pouvez laisser la maintenance de production se dérouler comme prévu dans son intervalle planifié. Préparez la mise à jour de production et informez les parties prenantes concernées.
  • La validation échoue : si vos tests fonctionnels et de performances sur le cluster de préproduction échouent et que vous rencontrez des erreurs fonctionnelles, des dégradations des performances ou un comportement inattendu dans votre environnement de préproduction après la mise à jour de maintenance, vous devez refuser la maintenance de production.

Refuser un événement de maintenance planifié

Pour refuser un événement de maintenance planifié pour votre cluster de production, vous devez définir la date de début, la date de fin, ainsi que l'heure de début et de fin de l'intervalle.

Les dates de début et de fin doivent être au format suivant : YYYY-MM-DD. La date de début, la date de fin et l'heure sont toutes au format UTC.

Pour utiliser la gcloud CLI, vous pouvez installer et initialiser la Google Cloud CLI, ou vous pouvez utiliser Cloud Shell.

Pour ajouter une période de refus de maintenance à un cluster AlloyDB, procédez comme suit :

  1. Exécutez la gcloud alloydb clusters update commande avec les indicateurs deny-maintenance-period-start-date, deny-maintenance-period-end-date et deny-maintenance-period-time :

    gcloud alloydb clusters update CLUSTER_ID \
        --region LOCATION_ID \
        --deny-maintenance-period-start-date START_DATE \
        --deny-maintenance-period-end-date END_DATE \
        --deny-maintenance-period-time TIME
  2. Remplacez les éléments suivants :

    • CLUSTER_ID: cluster à configurer pour la période sans maintenance.
    • LOCATION_ID : région où se trouve ce cluster, par exemple us-central1. Google Cloud
    • START_DATE: date de début de la période sans maintenance au format UTC YYYY-MM-DD.
    • END_DATE: fin de la période sans maintenance au format UTC YYYY-MM-DD.
    • TIME: heure de la période sans maintenance au format UTC HH:MM. Les heures sont représentées au format 24 heures, où les valeurs vont de 00:00 à 23:59, par exemple 16:45.
  3. Documentez tous les problèmes, y compris les messages d'erreur, les métriques de performances et les étapes à suivre pour les reproduire.

  4. Ouvrez une demande d'assistance haute priorité auprès de Google Cloud et fournissez tous les problèmes documentés. Google Cloud vous aidera à analyser et à résoudre les problèmes.

Mises à jour du cluster de production

Si la validation de la préproduction réussit et que vous autorisez la maintenance de production à se poursuivre, les mises à jour sont effectuées pendant l'intervalle de maintenance planifié.

Vérifier l'intervalle de maintenance

Pour surveiller les événements de maintenance à venir sur votre cluster de production, procédez comme suit :

Console

  1. Accédez à la page Clusters.

    Accéder aux clusters

  2. Cliquez sur un cluster dans la colonne Nom de la ressource. La page Présentation s'ouvre.

  3. Sur la page Présentation, dans la section Maintenance, affichez les détails de l'intervalle de maintenance de votre cluster.

    Google Cloud
  4. Facultatif : Sur la page Insights système, vous pouvez afficher les détails de l'état de l'opération de maintenance, tels que la chronologie des événements.

  5. Pour afficher la gestion unifiée de la maintenance, saisissez "Maintenance Cloud Hub" dans la barre de recherche, puis sélectionnez Maintenance. Sur cette page, vous pouvez afficher un résumé de la maintenance, la maintenance contrôlée par Google et les détails de la maintenance planifiée.

gcloud

Pour utiliser la gcloud CLI, vous pouvez installer et initialiser la Google Cloud CLI, ou vous pouvez utiliser Cloud Shell.

Exécutez la commande suivante à l'aide gcloud alloydb clusters describe :

gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
    --region=LOCATION_ID \
    --project=PROJECT_ID

Si un événement de maintenance est prévu, le résultat inclut maintenanceSchedule et startTime. Si vous avez choisi de recevoir des notifications, vous recevrez également des notifications par e-mail.

Surveiller la production pendant un intervalle de maintenance

Bien que Google Cloud automatise le processus de maintenance, nous vous recommandons de surveiller votre environnement de production pour les éléments suivants pendant l'intervalle de maintenance planifié :

  • État de l'application : surveillez les journaux d'application et les vérifications d'état pour détecter tout signe de perturbation.
  • Connectivité de la base de données : vérifiez que vos applications peuvent se reconnecter à la base de données après l'interruption.
  • Métriques AlloyDB : utilisez Google Cloud Monitoring pour observer les métriques AlloyDB (processeur, mémoire, connexions et délai de réplication) et vous assurer qu'elles reviennent aux niveaux attendus après la mise à jour.

Vérification après la mise à jour de maintenance

Une fois la mise à jour de maintenance terminée, vérifiez votre environnement de production pour les fonctionnalités critiques et les indicateurs de performances.

  • Fonctionnalités clés de l'application : exécutez un test rapide des fonctionnalités les plus critiques de votre application.
  • Vérifications de base des performances : examinez les tableaux de bord pour détecter les pics de latence ou de consommation de ressources.

Étape suivante