Création d'un blue/green déploiement dans Amazon RDS ( Aurora) - 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 blue/green déploiement dans Amazon RDS ( Aurora)

Lorsque vous créez un blue/green déploiement, 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 et les fonctionnalités de l’environnement bleu dans une zone de transit. Si l’instance de base de données bleue comporte des réplicas en lecture, ils sont copiés en tant que réplicas en lecture de l’instance verte. Le stockage alloué à tous les réplicas verts correspond à l’instance principale verte, tandis que les autres paramètres de stockage sont hérités des réplicas bleus.

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 blue/green déploiement, en fonction du moteur sur lequel votre instance de base de données de cluster de base est exécutée.

Préparation d'une instance de base de données RDS pour MySQL ou RDS pour MariaDB pour un déploiement blue/green

Avant de créer un blue/green déploiement pour une instance de base de données RDS pour MySQL ou RDS pour MariaDB, 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 pour PostgreSQL pour blue/green un déploiement avec réplication physique

Avant de créer un déploiement RDS pour blue/green PostgreSQL utilisant la réplication physique, veillez à effectuer les opérations suivantes. Pour obtenir la liste des versions qui utilisent la réplication physique par opposition à la réplication logique, consultez Méthodes de réplication PostgreSQL pour les déploiements bleu/vert.

Préparation d'une instance de base de données RDS pour PostgreSQL pour blue/green un déploiement avec réplication logique

Avant de créer un déploiement RDS pour blue/green PostgreSQL utilisant la réplication logique, veillez à effectuer les opérations suivantes. Pour obtenir la liste des versions qui utilisent la réplication logique par opposition à la réplication logique, consultez Méthodes de réplication PostgreSQL pour les déploiements bleu/vert.

  • 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 base de données dans Amazon RDS.

    Étant donné que blue/green les déploiements nécessitent au moins un assistant 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 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, assurez-vous de redémarrer l'instance de base de données afin que vos modifications prennent effet. Blue/green les déploiements nécessitent que l'instance de base de données soit synchronisée avec le groupe de paramètres de base de données, sinon la création échoue. Pour de plus amples informations, veuillez consulter Redémarrage d'une instance de base de données.

  • 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.

  • RDS pour PostgreSQL utilise la réplication logique native de PostgreSQL, et stocke les segments de journaux d’écriture anticipée (WAL) sur l’instance bleue jusqu’à ce qu’ils soient relus dans l’environnement vert. Avant de créer un blue/green déploiement, vérifiez que l'instance bleue dispose d'une capacité adéquate en vérifiant les mesures suivantes :

    • FreeStorageSpace

    • TransactionLogsGeneration

    • TransactionLogsDiskUsage

    • OldestReplicationSlotLag

    Pour estimer le stockage supplémentaire requis sur l'instance bleue, surveillez la TransactionLogsGeneration CloudWatch métrique pendant les périodes de charge de travail de pointe. Par exemple, si votre charge de travail génère 100 Go de données WAL en 24 heures, assurez-vous de disposer d’au moins 100 Go de stockage supplémentaire pour accueillir l’équivalent d’une journée de segments WAL. Pour de plus amples informations, veuillez consulter Surveillance des métriques dans une instance Amazon RDS.

Spécification des modifications lors de la création d'un blue/green déploiement

Vous pouvez apporter les modifications suivantes au d'instances de base de données dans l'environnement vert lorsque vous créez le blue/green déploiement.

Vous pouvez apporter d’autres modifications à l’instance dans l’environnement vert après son déploiement. Par exemple, vous pouvez spécifier une version supérieure du moteur ou un autre groupe de paramètres.

Pour plus d’informations sur la modification d’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 bascule, 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.

Modification des paramètres de stockage et de performances

Ajustez les paramètres de stockage et de performances dans un environnement vert afin d’optimiser l’allocation des ressources. Ces paramètres incluent le stockage alloué, les IOPS provisionnées, le type de stockage et le débit de stockage (pour le stockage gp3).

Vous pouvez remplacer le type de stockage de l’instance de base de données verte par gp2, gp3, io1 ou io2. Pour le stockage gp3, vous pouvez également ajuster le débit de stockage afin d’améliorer les performances de transfert de données pour les charges de travail les plus exigeantes ou de réduire les coûts pour les applications moins intensives. Pour plus d’informations, consultez Stockage d'instance de base de données Amazon RDS.

Vous pouvez également choisir d’augmenter ou de diminuer le stockage alloué dans l’environnement vert. Toutefois, une réduction du stockage ne se produit que si le stockage cible alloué est supérieur d’au moins 20 % à l’utilisation actuelle du stockage. Si vous diminuez le stockage alloué, Amazon RDS lance une mise à niveau de la configuration du stockage. Pour plus d’informations, consultez Mettre à niveau la configuration du stockage.

Si l’instance de base de données bleue utilise un stockage magnétique, vous devez remplacer l’instance de base de données verte par un type de stockage à usage général ou IOPS provisionnées afin d’augmenter ou de diminuer le stockage alloué.

Activer l’option Écritures optimisées pour RDS

Vous pouvez utiliser un blue/green déploiement pour passer à une classe d'instance de base de données qui prend en charge les écritures optimisées 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, consultez Classes d’instance 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 Blue/Green déploiements RDS pour surmonter les limites de dimensionnement 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 de stockage entraîne un solde I/O-intensive operation and leads to longer creation times for blue/green deployments. The storage upgrade process is faster if the blue DB instance uses Provisioned IOPS SSD (io1 or io2 Block Express) storage, and if you provisoned the green environment with an instance size of 4xlarge or larger. Storage upgrades involving General Purpose SSD (gp2) storage can deplete your I/O créditeur, ce qui allonge les délais de mise à niveau. Pour de plus amples informations, veuillez consulter Stockage d'instance de base de données Amazon RDS.

Pendant la mise à niveau du stockage, l’instance de base de données verte est temporairement indisponible, tandis que l’instance de base de données bleue reste disponible. La réplication est interrompue pendant cette période. Surveillez le stockage sur l’instance bleue et envisagez de le mettre à l’échelle s’il atteint 90 %, car l’instance verte est mise à l’échelle automatiquement de 10 % après la mise à niveau.

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. Vous ne pouvez mettre à niveau la configuration de stockage que lors de la création initiale d’un déploiement bleu/vert.

Chargement différé et initialisation du stockage pour les blue/green déploiements

Lorsque vous créez un blue/green déploiement, Amazon RDS crée l'instance de base de données principale dans un environnement écologique en effectuant une restauration à partir d'un instantané de base de données. Après sa création, l’instance de base de données verte et ses réplicas en lecture continuent à charger les données en arrière-plan, ce que l’on appelle le chargement différé.

Le chargement différé ne charge les blocs de données que lorsque les applications les demandent. Si vous essayez d’accéder à des données qui n’ont pas encore été chargées, Amazon EBS les récupère immédiatement sur Amazon S3, tandis que les données restantes continuent à se charger en arrière-plan. Pour plus d’informations, consultez Instantanés Amazon EBS.

Pour accélérer les performances du volume complet, Amazon RDS propose une initialisation du stockage, qui lit tous les blocs du volume de l’environnement vert. Amazon EBS télécharge des blocs de manière proactive depuis Amazon S3, offrant ainsi des performances de volume maximales dès la première utilisation. L’initialisation du stockage s’effectue entièrement en arrière-plan, ce qui garantit qu’il n’y a aucun impact sur la disponibilité de votre instance de base de données ou sur les activités en cours, telles que l’application de correctifs ou les mises à niveau.

L'initialisation du stockage n'est disponible que pour les instances dans blue/green les déploiements avecgp2, gp3io1, et types de io2 volumes. Elle prend en charge toutes les classes d’instance à l’exception des familles t3 et t4. Si vous faites d’une instance de base de données verte dans un déploiement mono-AZ un déploiement d’instance de base de données multi-AZ, l’initialisation du stockage inclut le nœud secondaire dans la configuration multi-AZ.

Pendant l’initialisation du stockage, l’instance reste entièrement disponible et utilisable pour les opérations de base de données, même si le stockage risque de ne pas atteindre ses performances optimales tant que l’initialisation n’est pas terminée. Lorsque l’initialisation du stockage est en cours, l’état général de l’instance passe à Initialisation du stockage, et l’indicateur de progression reflète le niveau d’initialisation minimal sur tous les volumes de l’instance de base de données.

Utilisez la console ou l' AWS CLI API Amazon RDS pour surveiller l'initialisation du stockage.

Console

Dans le AWS Management Console, vous pouvez voir la progression de l'initialisation du stockage avec l'état de l'instance de base de données.

Indicateur de progression de l'initialisation du stockage pour un déploiement blue/green
AWS CLI

Avec le AWS CLI, vous pouvez surveiller l'initialisation du stockage à l'aide de la describe-db-instancescommande. Le champ PercentProgress de la réponse indique le pourcentage de données extraites d’Amazon S3.

aws rds describe-db-instances --db-instance-identifier my-db-instance { "DBInstances": [ { "DBInstanceIdentifier": "my-db-instance", "DBInstanceClass": "db.m5.2xlarge", "Engine": "postgres", "DBInstanceStatus": "storage-initialization", ... "PercentProgress": "34" } ] }
Amazon RDS API

Avec l'API Amazon RDS, vous pouvez récupérer l'état de l'initialisation du stockage en appelant l'action DBInstancesDescribe.

L’indicateur de progression est mis à jour à mesure que la tâche d’initialisation avance en arrière-plan, ce qui vous permet de suivre l’état de préparation du stockage avant la fin de l’initialisation complète du stockage. L’initialisation du stockage permet d’optimiser les performances lorsque votre instance de base de données verte devient pleinement opérationnelle.

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

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

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

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

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

    La page Créer un blue/green déploiement apparaît.

    Création d'un blue/green déploiement
  4. Passez en revue les identifiants de base de données bleue. Assurez-vous qu’ils 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 le nom du déploiement bleu/vert, entrez un nom pour votre blue/green déploiement.

  6. Dans les sections restantes, spécifiez les paramètres de l’environnement vert. Pour plus d’informations sur chaque paramètre, consultez Paramètres de création de déploiement bleu/vert.

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

  7. Choisissez Créer.

Pour créer un blue/green déploiement à l'aide de AWS CLI, utilisez la create-blue-green-deploymentcommande. Pour obtenir des informations sur toutes les options disponibles, consultez Paramètres de création de déploiement bleu/vert.

Pour Linux, macOS 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

Pour 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

Pour créer un blue/green déploiement à l'aide de l'API Amazon RDS, utilisez l'CreateBlueGreenDeploymentopération. Pour plus d’informations sur chaque option, consultez Paramètres de création de déploiement bleu/vert.

Paramètres de création de déploiement bleu/vert

Le tableau suivant décrit les paramètres que vous pouvez choisir lorsque vous créez un blue/green déploiement. Pour plus d'informations sur les AWS CLI options, consultez create-blue-green-deployment. Pour plus d'informations sur les paramètres de l'API RDS, consultez CreateBlueGreenDeployment.

Paramètre de la console Description du paramètre Option de l’interface CLI et paramètre de l’API RDS

Stockage alloué

Quantité de stockage à allouer pour votre instance de base de données verte (en gibioctets). Vous pouvez choisir d’augmenter ou de diminuer le stockage alloué.

Si l’instance de base de données bleue utilise un stockage magnétique (standard), vous devez remplacer l’instance de base de données verte par un type de stockage à usage général ou d’IOPS provisionnées afin de modifier le stockage alloué dans l’environnement vert.

Pour plus d’informations, consultez Stockage d'instance de base de données Amazon RDS.

Option de l’interface CLI :

--target-allocated-storage

Paramètre de l’API :

TargetAllocatedStorage

Identifiant de déploiement bleu/vert

Nom du blue/green déploiement.

Option de l’interface CLI :

--blue-green-deployment-name

Paramètre de l’API :

BlueGreenDeploymentName

Identifiant de base de données bleue

Identifiant de l’instance que vous souhaitez copier dans l’environnement vert. Lorsque vous utilisez l’interface de ligne de commande ou l’API, spécifiez l’Amazon Resource Name (ARN) de l’instance .

Option de l’interface CLI :

--source

Paramètre de l’API :

Source

Groupe de paramètres de de bases de données pour les bases de données vertes Groupe de paramètres à associer aux bases de données dans l’environnement vert.

Option de l’interface CLI :

--target-db-parameter-group-name

--target-db-cluster-parameter-group-name

Paramètre de l’API :

TargetDBParameterGroupName

TargetDBClusterParameterGroupName

Activer Écritures optimisées pour la base de données verte

Activez É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.

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 d’informations, consultez Mettre à niveau la configuration du stockage.

Pour l’interface de ligne de commande et l’API, la spécification d’une classe d’instance de base de données cible qui prend en charge Écritures optimisées pour RDS l’active automatiquement sur l’instance de base de données principale verte.

Version du moteur pour les bases de données vertes

Cette option met à niveau les bases 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 base de données dans l’environnement vert se voit créer avec la même version de moteur que l’instance de base de données correspondante dans l’environnement bleu.

Si vous choisissez une instance de base de données RDS pour PostgreSQL qui utilise la réplication logique, passez en revue et reconnaissez les limitations de la réplication logique. Pour plus d’informations, consultez Limitations spécifiques à la réplication logique pour les déploiements blue/green .

Option de l’interface CLI :

--target-engine-version

Paramètre de l’API RDS :

TargetEngineVersion

Classe d’instance de base de données verte

Capacité de calcul et de mémoire de l’instance de base de données dans l’environnement vert, par exemple db.m5d.xlarge.

Cette option n’est visible que lorsque vous activez Écritures optimisées pour RDS pour la base de données verte.

Option de l’interface CLI :

--target-db-instance-class

Paramètre de l’API RDS :

TargetDBInstanceClass

IOPS provisionnés

Nombre d' input/output opérations provisionnées par seconde (IOPS) à allouer initialement à la base de données verte.

Cette valeur s’applique uniquement à l’instance de base de données principale verte, et non aux réplicas verts.

Option de l’interface CLI :

--target-iops

Paramètre de l’API RDS :

TargetIops

Mise à niveau de la configuration du stockage

Choisissez si vous souhaitez mettre à niveau la configuration du système de fichiers de stockage. Si vous activez ce paramètre, 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.

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. Vous ne pouvez mettre à niveau la configuration de stockage que lors de la création initiale d'un blue/green déploiement.

Pour de plus amples informations, veuillez consulter Mise à niveau du système de fichiers de stockage d'une instance de base de données.

Option de l’interface CLI :

--upgrade-target-storage-config

Paramètre de l’API RDS :

UpgradeTargetStorageConfig

Storage throughput (Débit de stockage)

Valeur de débit de stockage de la base de données verte. Ce paramètre n’est visible que si vous choisissez SSD à usage général (gp3) pour le type de stockage.

Cette valeur s’applique uniquement à l’instance de base de données principale verte, et non aux réplicas verts.

Pour plus d’informations, consultez Stockage gp3 (recommandé).

Option de l’interface CLI :

--target-storage-throughput

Paramètre de l’API RDS :

TargetStorageThroughput

Type de stockage

Type de stockage de la base de données verte. Les types de stockage suivants sont pris en charge :

  • SSD à usage général (gp2)

  • SSD à usage général (gp3)

  • IOPS provisionnés (io1)

  • SSD à IOPS provisionnées (io2)

Cette valeur s’applique uniquement à l’instance de base de données principale verte, et non aux réplicas verts.

Pour plus d’informations, consultez Types de stockage Amazon RDS.

Option de l’interface CLI :

--target-storage-type

Paramètre de l’API RDS :

TargetStorageType