Une fois que vous avez testé et validé votre environnement vert, vous lancez un basculement pour convertir l'environnement vert en votre nouvel environnement de production en lecture et en écriture.
Avant de commencer
Avant de lancer un basculement, assurez-vous de disposer des autorisations requises et que votre déploiement est prêt pour le cutover.
Rôles et autorisations nécessaires
Pour obtenir les autorisations nécessaires pour exécuter un basculement, demandez à votre administrateur de vous accorder le rôle IAM suivant sur votre projet :
- Administrateur Cloud SQL (
roles/cloudsql.admin)
Pour les rôles personnalisés, assurez-vous de disposer des autorisations suivantes :
cloudsql.blueGreenDeployments.switchovercloudsql.blueGreenDeployments.getcloudsql.instances.switchovercloudsql.operations.get
Pour en savoir plus sur les rôles et les autorisations IAM dans Cloud SQL, consultez Rôles et autorisations.
Vérification avant le transfert
Avant de lancer une permutation, vérifiez les conditions suivantes :
- État du déploiement : le déploiement doit être à l'état
SWITCHOVER_READY. - Validation de la charge de travail : effectuez tous les tests et la validation sur l'instance de préproduction verte.
- Faible latence de réplication : assurez-vous que la latence de réplication entre les environnements bleu et vert est minimale pour réduire le temps de transition.
Fonctionnement du transfert
Lorsque vous lancez un basculement, Cloud SQL effectue la séquence automatisée suivante :
- Validation avant le basculement : avant l'opération de basculement, Cloud SQL valide que la réplication n'est pas interrompue et effectue une série de vérifications de configuration pour s'assurer que le déploiement est prêt.
- Exécution du workflow de bascule : pendant l'exécution du workflow, Cloud SQL prépare les instances pour la bascule. Si le décalage de réplication est trop élevé ou si une transaction active bloque le basculement, l'opération échoue et votre environnement de production bleu reste en ligne.
- Redirection du trafic : Cloud SQL échange les points de terminaison de connexion entre les instances bleue et verte.
- Conversion des rôles : l'instance verte devient l'instance de production active en lecture et écriture, et l'instance bleue devient une instance autonome en lecture et écriture.
Lors du basculement, les connexions aux applications subissent une brève interruption (généralement en quelques secondes) avant de se reconnecter automatiquement à l'instance de production mise à niveau. La durée d'indisponibilité lors du basculement varie en fonction de l'édition Cloud SQL :
- Édition Cloud SQL Enterprise Plus : le temps d'arrêt pour le basculement est généralement inférieur à une seconde.
- Édition Cloud SQL Enterprise : le temps d'arrêt pour basculement est généralement inférieur à 60 secondes, selon la charge de travail et le décalage de réplication. Aucune modification de la configuration de l'application ni de la chaîne de connexion n'est requise.
États du cycle de vie de la permutation
Avant, pendant et après une permutation, le déploiement passe par les états suivants dans le champ de réponse state :
SWITCHOVER_READY: la réplication logique du bleu vers le vert est opérationnelle et le déploiement est prêt pour le basculement. L'étatSWITCHOVER_READYdépend uniquement du bon fonctionnement de la réplication. Cloud SQL n'évalue pas le décalage de réplication lors de la définition de cet état.SWITCHOVER_NOT_READY: le déploiement est provisionné, mais le basculement ne peut pas être lancé. Cela se produit si la réplication logique est interrompue, mise en pause ou arrêtée, ou si une erreur de nœud sous-jacente s'est produite. Cloud SQL n'évalue pas le décalage de réplication lors de la définition de cet état. InspectezerrorDetailet corrigez l'erreur avant de tenter le basculement.SWITCHOVER_IN_PROGRESS: la commande de permutation est en cours d'exécution. Cloud SQL échange les points de terminaison de connexion et convertit l'instance verte en instance de production avec accès en lecture et en écriture.SWITCHOVER_COMPLETED: le basculement s'est terminé avec succès. L'instance verte est désormais votre instance de base de données de production active, qui traite le trafic de lecture et d'écriture. L'instance bleue est conservée en tant qu'instance de lecture et d'écriture autonome jusqu'à ce que vous supprimiez le déploiement.
Bonnes pratiques avant le basculement
- Planifiez la bascule pendant les périodes de faible trafic : même si le temps d'arrêt est minime (généralement en secondes), lancez la bascule pendant les périodes de faible activité d'écriture (par exemple, pendant les heures creuses ou les intervalles de maintenance lorsque les requêtes par seconde [RPS] sont au plus bas). Cela minimise le décalage de réplication et réduit le risque d'annulation des transactions.
- Vérifiez le délai de réplication : assurez-vous qu'il est minimal avant de commencer le basculement. La description d'un déploiement bleu-vert n'affiche pas le délai avant réplication, et Cloud SQL ne vérifie pas le délai avant réplication avant l'opération de basculement. Toutefois, lors de l'exécution du workflow, le basculement échoue si le délai de réplication est trop élevé. Pour surveiller le décalage de réplication, consultez les métriques Cloud Monitoring (telles que
replica_lag) ou inspectez l'état de la réplication directement sur l'instance verte. Pour en savoir plus, consultez Délai avant réplication. - Vérifiez les transactions actives : assurez-vous que les opérations LDD de longue durée ou les écritures par lot sont terminées avant de commencer la commutation.
Lancer une commutation
Démarrez l'opération de transfert à l'aide de la console Google Cloud , de la gcloud CLI ou de l'API Cloud SQL Admin :
Console
-
Dans la console Google Cloud , accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Dans la fiche État du déploiement bleu-vert, cliquez sur Détails pour ouvrir la page Présentation du déploiement.
- Cliquez sur Déployer la permutation.
- Dans la boîte de dialogue Différences de paramètres d'instance, examinez les différences de paramètres entre les instances Source et Cible, puis cliquez sur Continuer pour lancer le basculement.
gcloud
Exécutez la commande blue-green-deployments switchover :
gcloud beta sql blue-green-deployments switchover DEPLOYMENT_NAME \ --region=REGION \ --async
Les opérations de basculement peuvent prendre plusieurs minutes. Il est possible qu'un message indique que l'opération prend plus de temps que prévu. Vous pouvez ignorer ce message ou exécuter la commande gcloud sql
operations wait pour l'ignorer et attendre la fin de l'opération :
gcloud sql operations wait OPERATION_ID
Pour vérifier l'état de l'opération de basculement, exécutez la commande gcloud sql
operations describe :
gcloud sql operations describe OPERATION_ID
Remplacez les éléments suivants :
- DEPLOYMENT_NAME : nom de votre déploiement bleu-vert.
- REGION : région Google Cloud dans laquelle le déploiement a été créé.
- OPERATION_ID : ID de l'opération de bascule.
REST v1
Envoyez une requête POST à la méthode blueGreenDeployments.switchover :
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/ locations/REGION/ blueGreenDeployments/DEPLOYMENT_NAME:switchover
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet Google Cloud .
- REGION : région Google Cloud dans laquelle le déploiement a été créé.
- DEPLOYMENT_NAME : nom de votre déploiement bleu-vert.
REST v1beta4
Envoyez une requête POST à la méthode blueGreenDeployments.switchover :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/ locations/REGION/ blueGreenDeployments/DEPLOYMENT_NAME:switchover
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet Google Cloud .
- REGION : région Google Cloud dans laquelle le déploiement a été créé.
- DEPLOYMENT_NAME : nom de votre déploiement bleu-vert.
Surveillance post-commutation
Une fois la migration terminée :
- Vérifiez que votre application se reconnecte correctement et que les opérations de base de données de production reprennent.
- Surveillez le débit des requêtes, les journaux d'erreurs et l'état de la réplication sur la nouvelle instance de production.
- Conservez l'instance autonome bleue intacte pendant la période de validation initiale après la mise à niveau. Une fois la stabilité confirmée, supprimez le déploiement. Pour en savoir plus, consultez Supprimer un déploiement bleu-vert.
Étapes suivantes
- Supprimez un déploiement bleu-vert pour supprimer les métadonnées de déploiement et l'ancienne instance bleue.
- Découvrez comment surveiller les instances.
- En savoir plus sur la sauvegarde et la récupération