Création d'un déploiement bleu/vert - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'un déploiement bleu/vert

Lorsque vous créez un déploiement bleu/vert, vous spécifiez l'instance de base de données source à copier dans le déploiement. L'instance de base de données que vous choisissez est l'instance de base de données de production, et elle devient l'instance de base de données principale dans l'environnement bleu. Cette instance de base de données est copiée dans l'environnement vert, et RDS configure la réplication de l'instance de base de données de l'environnement bleu vers l'instance de base de données de l'environnement vert.

RDS copie la topologie de l'environnement bleu dans une zone de transit, ainsi que ses fonctionnalités configurées. Lorsque l'instance de base de données bleue comporte des réplicas en lecture, les réplicas en lecture sont copiés en tant que réplicas en lecture de l'instance de base de données verte dans le déploiement. Si l'instance de base de données bleue est un déploiement d'instance de base de données multi-AZ, alors l'instance de base de données verte est créée comme un déploiement d'instance de base de données multi-AZ.

Préparation d'un déploiement bleu/vert

Vous devez suivre certaines étapes avant de créer un déploiement bleu/vert, en fonction du moteur sur lequel votre instance de base de données de est exécutée.

Préparation d'une instance de base de données RDS pour MySQL pour un déploiement bleu/vert

Avant de créer un déploiement bleu/vert pour une instance de base de données RDS pour MySQL, vous devez activer les sauvegardes automatisées. Pour obtenir des instructions, veuillez consulter Activation des sauvegardes automatiques.

Préparation d'une instance de base de données RDS for PostgreSQL pour un déploiement bleu/vert

Avant de créer un déploiement bleu/vert pour une instance de base de données RDS for PostgreSQL, veillez à effectuer les opérations suivantes :

  • Associez l'instance à un groupe de paramètres de base de données personnalisé avec la réplication logique (rds.logical_replication) activée. La réplication logique est requise pour la réplication de l'environnement bleu vers l'environnement vert. Pour obtenir des instructions, veuillez consulter Modification de paramètres dans un groupe de paramètres de bases de données.

    Étant donné que les déploiements bleu/vert nécessitent au moins un assistant de fond par base de données, veillez à ajuster les paramètres de configuration suivants en fonction de votre charge de travail. Pour obtenir des instructions permettant de régler chaque paramètre, consultez la section Paramètres de configuration dans la documentation de PostgreSQL.

    • max_replication_slots

    • max_wal_senders

    • max_logical_replication_workers

    • max_worker_processes

    Après avoir activé la réplication logique et défini toutes les options de configuration, veillez à redémarrer l'instance de base de données pour que vos modifications prennent effet. Les déploiements bleu/vert nécessitent que l'instance de base de données soit synchronisée avec le groupe de paramètres de base de données, sans quoi la création échoue. Pour plus d’informations, consultez Redémarrage d'une instance de base de données.

  • Assurez-vous que votre instance de base de données exécute une version de RDS for PostgreSQL compatible avec les déploiements bleu/vert RDS. Pour obtenir une liste des versions compatibles, consultez Déploiements bleu/vert.

  • Vérifiez que l'instance de base de données n'est ni la source ni la cible de la réplication externe. Pour plus d’informations, consultez Limitations générales pour les déploiements bleu/vert.

  • Assurez-vous que toutes les tables de l'instance de base de données possèdent une clé primaire. La réplication logique PostgreSQL n'autorise pas les opérations UPDATE ou DELETE sur les tables dépourvues de clé primaire.

Spécification des modifications lors de la création d'un déploiement bleu/vert

Vous pouvez apporter les modifications suivantes à l'instance de base de données dans l'environnement vert lorsque vous créez le déploiement bleu/vert.

Vous pouvez apporter d'autres modifications à l'instance dans l'environnement vert après son déploiement. Par exemple, vous pouvez apporter des modifications au schéma de votre base de données ou changer la classe d'instances de base de données utilisée par une ou plusieurs instances de base de données dans l'environnement vert.

Pour savoir comment modifier une instance de base de données, consultez Modification d'une instance de base de données Amazon RDS.

Spécifier une version de moteur supérieure

Vous pouvez spécifier une version supérieure du moteur si vous voulez tester une mise à niveau du moteur de base de données. Lors de la commutation, la base de données est mise à niveau vers la version majeure ou mineure du moteur de base de données que vous spécifiez.

Spécifier un groupe de paramètres de base de données différent

Vous pouvez tester la manière dont les changements de paramètres affectent les instances de base de données dans l'environnement vert ou spécifier un groupe de paramètres pour une nouvelle version majeure du moteur de base de données dans le cas d'une mise à niveau.

Si vous spécifiez un groupe de paramètres de base de données différent, le groupe de paramètres de base de données spécifié est associé à toutes les instances de base de données dans l'environnement vert. Si vous ne spécifiez pas de groupe de paramètres différent, chaque instance de base de données dans l'environnement vert est associée au groupe de paramètres de son instance de base de données bleue correspondante.

Activer l'option Écritures optimisées pour RDS

Vous pouvez utiliser les déploiements bleu/vert pour effectuer une mise à niveau vers une classe d'instance de base de données qui prend en charge l'option Écritures optimisées pour RDS. Vous ne pouvez activer l'option Écritures optimisées pour RDS que sur une base de données créée avec une classe d'instance de base de données prise en charge. Cette option crée une base de données verte qui utilise une classe d'instance de base de données prise en charge, ce qui vous permet d'activer l'option Écritures optimisées pour RDS sur l'instance de base de données verte.

Si vous effectuez une mise à niveau à partir d'une classe d'instance de base de données qui ne prend pas en charge l'option Écritures optimisées pour RDS vers une classe qui le fait, vous devez également mettre à niveau la configuration de stockage de l'instance de base de données verte. Pour plus d’informations, consultez Mettre à niveau la configuration du stockage.

Vous ne pouvez mettre à niveau que la classe d'instance de base de données de l'instance de base de données verte principale. Par défaut, les réplicas en lecture dans l'environnement vert héritent des paramètres de l'instance de base de données de l'environnement bleu. Une fois l'environnement vert créé avec succès, vous devez modifier manuellement la classe d'instance de base de données des réplicas en lecture dans l'environnement vert.

Certaines mises à niveau de classe d'instance ne sont pas prises en charge selon la version du moteur et la classe d'instance de l'instance de base de données bleue. Pour plus d'informations sur les classes d'instance de base de données, veuillez consulter Classes d'instances de base de données .

Mettre à niveau la configuration du stockage

Si votre base de données bleue n'utilise pas la dernière configuration de stockage, RDS peut migrer l'instance de base de données verte de l'ancienne configuration de stockage (système de fichiers 32 bits) vers la configuration préférée. Vous pouvez utiliser les déploiements bleu/vert RDS pour surmonter les limitations de mise à l'échelle en matière de stockage et de taille de fichier pour les anciens systèmes de fichiers 32 bits. En outre, ce paramètre modifie la configuration du stockage pour qu'elle soit compatible avec l'option Écritures optimisées pour RDS si la classe d'instance de base de données spécifiée prend en charge l'option Écritures optimisées.

Note

La mise à niveau de la configuration du stockage est une opération à fort taux d'E/S et entraîne des délais de création plus longs pour les déploiements bleu/vert. Le processus de mise à niveau du stockage est plus rapide si l'instance de base de données bleue utilise un stockage SSD IOPS provisionnés (io1) et si vous avez provisionné l'environnement vert avec une taille d'instance au moins 4 fois plus grande. Les mises à niveau du stockage impliquant un stockage General Purpose SSD (gp2) peuvent épuiser votre solde de crédit d'E/S, ce qui entraîne des temps de mise à niveau plus longs. Pour plus d’informations, consultez Stockage d'instance de base de données Amazon RDS.

Pendant le processus de mise à niveau du stockage, le moteur de base de données n'est pas disponible. Si la consommation de stockage sur votre instance de base de données bleue est supérieure ou égale à 90 % de la taille de stockage allouée, le processus de mise à niveau du stockage augmentera la taille de stockage allouée de 10 % pour l'instance verte.

Cette option n'est disponible que si votre base de données bleue ne possède pas la dernière configuration de stockage ou si vous modifiez la classe d'instance de base de données dans la même demande.

Gestion du chargement différé lorsque vous créez un déploiement bleu/vert

Lorsque vous créez un déploiement bleu/vert, Amazon RDS crée l'instance de base de données principale dans l'environnement vert en restaurant à partir d'un instantané de base de données. Après sa création, l'instance de base de données verte continue à charger les données en arrière-plan, ce que l'on appelle le chargement différé. Si l'instance de base de données comporte des réplicas en lecture, celles-ci sont également créées à partir d'instantanés de la base et sont soumises à un chargement différé.

Si vous accédez à des données qui n'ont pas encore été chargées, l'instance de base de données télécharge immédiatement les données demandées à partir d'Amazon S3, et continue à charger le reste des données en arrière-plan. Pour plus d'informations, consultez Instantanés Amazon EBS.

Pour atténuer les effets du chargement différé sur des tables auxquelles vous avez besoin de pouvoir accéder rapidement, vous pouvez effectuer des opérations impliquant des analyses de table entière, telles que SELECT *. Cette opération permet à Amazon RDS de télécharger toutes les données de table sauvegardées à partir de S3.

Si une application tente d'accéder à des données qui ne sont pas chargées, l'application peut rencontrer une latence plus élevée que la normale pendant le chargement des données. Cette latence plus élevée due au chargement différé peut entraîner des performances médiocres pour les charges de travail sensibles à la latence.

Important

Si vous passez à un déploiement bleu/vert avant que le chargement des données ne soit terminé, votre application pourrait connaître des problèmes de performance en raison d'une latence élevée.

Création d'un déploiement bleu/vert

Vous pouvez créer un déploiement bleu/vert à l'aide de l'API AWS Management Console, de AWS CLI, ou de l'API RDS.

Pour créer un déploiement bleu/vert
  1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Bases de données, puis choisissez l'instance de base de données que vous voulez copier dans un environnement vert.

  3. Choisissez Actions, puis Créer un déploiement bleu/vert.

    Si vous choisissez une instance de base de données RDS for PostgreSQL, passez en revue et reconnaissez les limitations de la réplication logique. Pour plus d’informations, consultez Limitations de la réplication logique PostgreSQL pour les déploiements bleu/vert.

    La page Créer un déploiement bleu/vert apparaît.

    
                  Créer un déploiement bleu/vert
  4. Passez en revue les identifiants de base de données bleus. Assurez-vous qu'elles correspondent aux instances de base de données que vous attendez dans l'environnement bleu. Si ce n'est pas le cas, choisissez Annuler.

  5. Pour Identifiant de déploiement bleu/vert, saisissez un nom pour votre déploiement bleu/vert.

  6. (Facultatif) Pour Paramètres de déploiement bleu/vert, spécifiez les paramètres de l'environnement vert :

    • Choisissez une version de moteur de base de données si vous voulez tester une mise à niveau de la version de moteur de base de données.

    • Choisissez un groupe de paramètres de base de données à associer aux instances de base de données dans l'environnement vert.

    Vous pouvez apporter d'autres modifications aux bases de données dans l'environnement vert après son déploiement.

  7. (Facultatif) Pour Écritures optimisées pour RDS, activez l'option Écritures optimisées pour RDS en mettant à niveau la classe d'instance de base de données de l'instance de base de données verte principale. Pour plus d’informations, consultez Activer l'option Écritures optimisées pour RDS.

    Si vous passez d'une classe d'instance de base de données qui ne prend pas en charge l'option Écritures optimisées à une classe qui le fait, vous devez également mettre à niveau la configuration du stockage. Pour plus de détails, consultez l'étape suivante.

  8. (Facultatif) Pour Mise à niveau de la configuration du stockage, choisissez si vous souhaitez mettre à niveau la configuration de votre système de fichiers de stockage. Si vous activez cette option, RDS migre l'instance de base de données verte de l'ancien système de fichiers de stockage vers la configuration préférée. Pour plus d’informations, consultez Mise à niveau du système de fichiers de stockage d'une instance de base de données.

    Cette option n'est disponible que si votre base de données bleue ne possède pas la dernière configuration de stockage ou si vous activez l'option Écritures optimisées pour RDS dans la même demande.

  9. Choisissez Créer un environnement de mise en scène.

Pour créer un déploiement bleu/vert à l'aide de AWS CLI, utilisez la create-blue-green-deploymentcommande avec les options suivantes :

  • --blue-green-deployment-name : spécifiez le nom du déploiement bleu/vert.

  • --source : spécifiez l'ARN de l'instance de base de données que vous souhaitez copier.

  • --target-engine-version : spécifiez une version de moteur si vous voulez tester une mise à niveau de la version de moteur de base de données dans l'environnement vert. Cette option met à niveau les instances de base de données dans l'environnement vert vers la version de moteur de base de données spécifiée.

    Si elle n'est pas spécifiée, chaque instance de base de données dans l'environnement vert est créée avec la même version de moteur que l'instance de base de données correspondante dans l'environnement bleu.

  • --target-db-parameter-group-name : spécifiez un groupe de paramètres de base de données à associer aux instances de base de données dans l'environnement vert.

  • --target-db-instance-class : spécifiez une classe d'instance de base de données qui prend en charge l'option Écritures optimisées pour RDS. Cette option active Écritures optimisées pour RDS sur l'instance de base de données principale verte. Pour plus d’informations, consultez Activer l'option Écritures optimisées pour RDS.

  • --upgrade-target-storage-config : spécifiez si la configuration du système de fichiers de stockage doit être mise à niveau sur la base de données verte. Vous ne pouvez activer cette option que si la valeur de l'option is-storage-config-upgrade-available est true pour l'instance de base de données, ou si vous modifiez la valeur de l'option target-db-instance-class dans la même demande. Pour plus d’informations, consultez Mise à niveau du système de fichiers de stockage d'une instance de base de données.

Pour LinuxmacOS, ou Unix :

aws rds create-blue-green-deployment \ --blue-green-deployment-name my-blue-green-deployment \ --source arn:aws:rds:us-east-2:123456789012:db:mydb1 \ --target-engine-version 8.0.31 \ --target-db-parameter-group-name mydbparametergroup \ --target-db-instance-class db.m5.8xlarge \ --upgrade-target-storage-config

Dans Windows :

aws rds create-blue-green-deployment ^ --blue-green-deployment-name my-blue-green-deployment ^ --source arn:aws:rds:us-east-2:123456789012:db:mydb1 ^ --target-engine-version 8.0.31 ^ --target-db-parameter-group-name mydbparametergroup ^ --target-db-instance-class db.m5.8xlarge ^ --upgrade-target-storage-config

Pour créer un déploiement bleu/vert en utilisant l'API Amazon RDS, utilisez l'opération CreateBlueGreenDeployment avec les paramètres suivants :

  • BlueGreenDeploymentName : spécifiez le nom du déploiement bleu/vert.

  • Source : spécifiez l'ARN de l'instance de base de données que vous souhaitez copier dans l'environnement vert.

  • TargetEngineVersion : spécifiez une version de moteur si vous voulez tester une mise à niveau de la version de moteur de base de données dans l'environnement vert. Cette option met à niveau les instances de base de données dans l'environnement vert vers la version de moteur de base de données spécifiée.

    Si elle n'est pas spécifiée, chaque instance de base de données dans l'environnement vert est créée avec la même version de moteur que l'instance de base de données correspondante dans l'environnement bleu.

  • TargetDBParameterGroupName : spécifiez un groupe de paramètres de base de données à associer aux instances de base de données dans l'environnement vert.

  • TargetDBInstanceClass : spécifiez une classe d'instance de base de données qui prend en charge l'option Écritures optimisées pour RDS. Cette option active Écritures optimisées pour RDS sur l'instance de base de données principale verte. Pour plus d’informations, consultez Activer l'option Écritures optimisées pour RDS.

  • UpgradeTargetStorageConfig : spécifiez si la configuration du système de fichiers de stockage doit être mise à niveau sur la base de données verte. Vous ne pouvez activer cette option que si la valeur de l'option is-storage-config-upgrade-available est true pour l'instance de base de données, ou si vous modifiez la valeur de l'option target-db-instance-class dans la même demande. Pour plus d'informations, voir Mise à niveau du système de fichiers de stockage d'une instance de base de données.