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

Pour minimiser les risques pour vos charges de travail de production AlloyDB pour PostgreSQL, vous pouvez utiliser un cluster de préproduction pour tester les nouvelles fonctionnalités et les performances avant d'appliquer les 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. Les mises à jour incluent de nouvelles fonctionnalités, des corrections de bugs, des mises à niveau de compatibilité de base de données et des correctifs de sécurité. Bien que les versions d'AlloyDB soient compatibles avec les versions ultérieures, 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. Configurer un cluster de préproduction.
  2. Configurer un intervalle de maintenance sur un cluster de production
  3. Gérer les mises à jour du cluster de préproduction.
  4. Gérer les mises à jour des clusters de production

Cette approche de validation en 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 schéma 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 projet Google Cloud que vous utilisez doit être autorisé à 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 projet Google Cloudque vous utilisez :

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

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

Configurer un cluster de préproduction

Pour réussir une stratégie de préproduction, 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 d'abord lorsque vous ne définissez pas d'intervalle de maintenance sur votre cluster de préproduction. AlloyDB met d'abord à jour les clusters sans intervalle 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 que votre cluster de préproduction 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 dans votre cluster de préproduction et vous assurer de la similarité des données et de la correspondance de la configuration. Nous vous recommandons également de séparer les environnements de préproduction et de production dans des projets différents.

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, selon la planification de la sauvegarde, les données peuvent dater de 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, selon l'heure de la dernière sauvegarde PITR, la restauration ou la récupération des données à l'heure 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, n'ont 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 n'ont pas d'intervalles de maintenance programmés avant de mettre à jour les clusters qui en ont.

Vous pouvez vérifier qu'aucun intervalle de maintenance n'est défini 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.

  4. Facultatif : sur la page Insights sur les systèmes, 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 de la maintenance unifiée, saisissez "Maintenance Cloud Hub" dans la barre de recherche, puis sélectionnez Maintenance. Sur cette page, vous pouvez consulter un récapitulatif 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 utiliser Cloud Shell.

    gcloud alloydb clusters describe STAGING_CLUSTER_ID \
        --region=LOCATION_ID \
        --project=PROJECT_ID
  2. Recherchez le champ maintenanceUpdatePolicy.maintenanceWindows 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 \
        --maintenance-window-any \
        --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 contrôler plus précisément le 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, à 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 automatiquement.
  2. Utilisez la maintenance en libre-service pour appliquer les mises à jour à vos environnements hors production selon le calendrier que vous avez spécifié.

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 ont lieu 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 subit la charge la plus faible. La durée totale requise 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 les mises à jour du cluster de préproduction, vous pouvez refuser les mises à jour de maintenance de production pendant 30 jours maximum et contacter l'assistanceGoogle Cloud 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 "Toutes les fenêtres".

    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 Mettre à jour pour enregistrer les modifications.

gcloud

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

Pour définir l'intervalle de maintenance d'un cluster AlloyDB, exécutez la commande gcloud alloydb clusters update :

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 : région Google Cloud .
  • DAY_OF_WEEK : jour de maintenance préféré, par exemple SUNDAY.
  • HOUR_OF_DAY : heure de maintenance souhaitée au format UTC (0-23).

    L'exemple suivant montre comment définir l'intervalle de maintenance pour le dimanche à 2h00 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 commande gcloud alloydb clusters describe :

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

Le résultat renvoie le champ maintenanceUpdatePolicy.maintenanceWindows 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 début de 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 Vue d'ensemble, dans la section Maintenance, cliquez sur Afficher les détails pour développer la section. Cliquez ensuite sur Modifier sur 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 (Activé).

Une fois que vous avez configuré l'intervalle de maintenance de 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 une notification par 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 mise à jour de production à venir.

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

Comme votre cluster de préproduction n'a 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. Toutefois, vous pouvez surveiller les mises à jour de maintenance à l'aide de l'explorateur de journaux dans la console Google Cloud .

  1. Dans la console Google Cloud , 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 dont le sous-titre est 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, puis maintenance_events, et cliquez sur Appliquer.

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

Effectuer une vérification 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.

Vérifier les 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 avoir préparé les mises à jour du cluster. Effectuez des tests fonctionnels et de performances complets pour vous assurer que vos applications se comportent comme prévu et qu'elles respectent les SLA de performances.

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

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

Prendre des mesures 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 réussissent, cela signifie que votre environnement de préproduction ne comporte pas d'erreur et que vous pouvez laisser la maintenance de production se dérouler comme prévu dans sa période de planification. Préparez la mise à jour de production et informez les parties prenantes concernées.
  • Échec de la validation : 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 indiquées dans le fuseau horaire UTC.

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

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

  1. Exécutez la commande gcloud alloydb clusters update avec les options 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 Google Cloud où se trouve ce cluster, par exemple us-central1.
    • 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 sont comprises entre 00:00 et 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 permettant de reproduire les problèmes.

  4. Ouvrez une demande d'assistance de priorité élevée auprès de Google Cloud et fournissez tous les problèmes documentés. Google Cloud collabore avec vous pour analyser et résoudre les problèmes.

Mises à jour du cluster de production

Si la validation de l'environnement de préproduction réussit et que vous autorisez la maintenance de l'environnement de production, les mises à jour ont lieu 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.

  4. Facultatif : sur la page Insights sur les systèmes, 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 de la maintenance unifiée, saisissez "Maintenance Cloud Hub" dans la barre de recherche, puis sélectionnez Maintenance. Sur cette page, vous pouvez consulter un récapitulatif 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 utiliser Cloud Shell.

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

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

Si un événement de maintenance est planifié, la sortie inclut maintenanceSchedule et startTime. Si vous avez choisi de recevoir des notifications, vous recevez é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 de la mise à jour après la maintenance

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

  • Fonctionnalités clés de l'application : exécutez un test de détection de fumée sur les 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.

Étapes suivantes