View a markdown version of this page

Meilleures pratiques pour Amazon RDS blue/green déploiements - 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.

Meilleures pratiques pour Amazon RDS blue/green déploiements

Les meilleures pratiques en matière de blue/green déploiements sont les suivantes.

Meilleures pratiques générales pour les blue/green déploiements

Prenez en compte les bonnes pratiques générales suivantes lorsque vous créez un blue/green déploiement.

  • Testez minutieusement les instances de base de données dans l’environnement vert avant le basculement.

  • Gardez vos bases de données dans l’environnement vert en lecture seule. Nous vous recommandons d’activer les opérations d’écriture sur l’environnement vert avec prudence, car elles peuvent entraîner des conflits de réplication. Elles peuvent également entraîner la présence de données involontaires dans les bases de données de production après la commutation.

  • Si vous utilisez un blue/green déploiement pour implémenter des modifications de schéma, apportez uniquement des modifications compatibles avec la réplication.

    Par exemple, vous pouvez ajouter de nouvelles colonnes à la fin d’une table sans interrompre la réplication du déploiement bleu vers le déploiement vert. Toutefois, les modifications de schéma, telles que le renommage de colonnes ou de tables, interrompent la réplication vers le déploiement vert.

    Pour plus d’informations sur les modifications compatibles avec la réplication, consultez Replication with Differing Table Definitions on Source and Replica dans la documentation MySQL, et Restrictions dans la documentation Réplication logique PostgreSQL.

    Note

    Cette limitation ne s'applique pas aux blue/green déploiements RDS pour PostgreSQL qui utilisent la réplication physique. Pour de plus amples informations, veuillez consulter Limitations de RDS pour PostgreSQL pour les blue/green déploiements avec réplication physique.

  • Après avoir créé le blue/green déploiement, gérez le chargement différé si nécessaire. Assurez-vous que le chargement des données est terminé avant de basculer. Pour de plus amples informations, veuillez consulter Chargement différé et initialisation du stockage pour les blue/green déploiements.

  • Lorsque vous réduisez l'espace de stockage alloué lors d'un blue/green déploiement, suivez les instructions relatives au dimensionnement du stockage. Pour de plus amples informations, veuillez consulter Modification des paramètres de stockage et de performances.

  • Lorsque vous passez d'un blue/green déploiement à un autre, suivez les meilleures pratiques de transition. Pour de plus amples informations, veuillez consulter Bonnes pratiques de bascule.

RDS for MySQL meilleures pratiques pour les blue/green déploiements

Prenez en compte les bonnes pratiques suivantes lorsque vous créez un blue/green déploiement à partir d'un cluster de bases de données RDS pour MySQL .

  • Évitez d’utiliser des moteurs de stockage non transactionnels, tels que MyISAM, qui ne sont pas optimisés pour la réplication.

  • Optimisez les réplicas en lecture et l’environnement vert pour la réplication des journaux binaires. Si votre moteur de base de données le prend en charge, activez la réplication GTID, parallèle et résistante aux pannes pour garantir la cohérence et la durabilité des données avant de créer votre déploiement. blue/green Pour de plus amples informations, veuillez consulter Utilisation de GTID-based la réplication.

  • Si l’environnement vert connaît un retard de réplica, tenez compte des éléments suivants :

    • Définissez temporairement le paramètre innodb_flush_log_at_trx_commit sur 2 dans le groupe de paramètres de base de données vert. Une fois que la réplication a rattrapé son retard, revenez à la valeur par défaut de 1 avant la bascule. Si un arrêt ou un incident inattendu survient avec la valeur du paramètre temporaire, reconstruisez l’environnement vert pour éviter toute corruption de données non détectée.

  • Surveillez les CloudWatch indicateurs suivants pour identifier les périodes de faible activité dans votre environnement de production :

    • DatabaseConnections

    Planifiez le blue/green passage au cours de la fenêtre de maintenance que vous avez planifiée ou pendant une période de faible activité.

  • Blue/Green la durée du basculement varie en fonction de votre charge de travail et du nombre de régions secondaires. Lorsque vous lancez une blue/green commutation, le service attend que le délai de réplication atteigne zéro avant de poursuivre. Nous vous recommandons de vérifier le décalage des répliques avant de lancer un basculement.

  • Si vous avez l'intention d'utiliser un paramètre de base de données ou un groupe de paramètres de cluster de bases de données autre que celui par défaut pour votre environnement vert, créez le groupe de paramètres souhaité avec le même nom dans toutes les régions secondaires avant de lancer le blue/green déploiement.

Meilleures pratiques RDS pour PostgreSQL pour les déploiements blue/green

Prenez en compte les bonnes pratiques suivantes lorsque vous créez un blue/green déploiement à partir d'une instance de base de données RDS pour PostgreSQL.

Meilleures pratiques générales de RDS pour PostgreSQL pour les déploiements blue/green

Prenez en compte les bonnes pratiques générales suivantes lorsque vous créez un blue/green déploiement à partir d'une instance de base de données RDS pour PostgreSQL.

  • Mettez à jour toutes vos extensions PostgreSQL vers la dernière version avant de créer un blue/green déploiement. Pour de plus amples informations, veuillez consulter Mise à niveau des extensions PostgreSQL dans RDS pour les bases de données RDS pour PostgreSQL.

  • Long-running les transactions peuvent entraîner un retard de réplication important. Pour réduire le retard de réplica, envisagez les opérations suivantes :

    • Réduisez les transactions de longue durée qui peuvent être retardées jusqu’à ce que l’environnement vert rattrape l’environnement bleu.

    • Réduisez les opérations en bloc dans l’environnement bleu jusqu’à ce que l’environnement vert rattrape l’environnement bleu.

    • Lancez une opération manuelle de congélation sous vide sur les tables occupées avant de créer le blue/green déploiement.

    • Dans PostgreSQL versions 12 et ultérieures, désactivez le paramètre index_cleanup sur les tables volumineuses ou occupées afin d’améliorer le taux de maintenance régulière des bases de données bleues. Pour plus d’informations, consultez Vidage d’une table le plus rapidement possible.

      Note

      Le fait de ne pas nettoyer régulièrement l’index pendant l’opération de vacuum peut entraîner un gonflement de l’index, ce qui peut dégrader les performances d’analyse. Il est recommandé d'utiliser cette approche uniquement lors d'un blue/green déploiement. Une fois le déploiement terminé, nous vous recommandons de reprendre la maintenance et le nettoyage réguliers de l’index.

  • Une réplication lente peut entraîner des redémarrages fréquents des expéditeurs et des destinataires, ce qui retarde la synchronisation. Pour vous assurer qu’ils restent actifs, désactivez les délais d’expiration en réglant le paramètre wal_sender_timeout sur 0 dans l’environnement bleu et le paramètre wal_receiver_timeout sur 0 dans l’environnement vert.

  • Pour éviter que les segments du journal d’écriture anticipée (WAL) ne soient supprimés de l’environnement bleu, définissez le paramètre wal_keep_segments sur 15625 pour PostgreSQL versions 13 et inférieures. Pour les versions 14 et ultérieures, définissez le paramètre wal_keep_size sur 1 Tio, s’il y a suffisamment d’espace de stockage disponible.

Meilleures pratiques RDS pour PostgreSQL pour les blue/green déploiements avec réplication physique

Avec la réplication physique, Amazon RDS crée un réplica en lecture de l’instance de base de données source. Pour en savoir plus sur les paramètres, la surveillance, le réglage et le dépannage associés, consultez Utilisation de réplicas en lecture pour Amazon RDS pour PostgreSQL.

Pour savoir quand les blue/green déploiements utilisent la réplication physique au lieu de la réplication logique, consultezMéthodes de réplication PostgreSQL pour les déploiements blue/green.

Meilleures pratiques RDS pour PostgreSQL pour les blue/green déploiements avec réplication logique

Prenez en compte les bonnes pratiques suivantes lorsque vous créez un blue/green déploiement qui utilise la réplication logique. Pour savoir quand les blue/green déploiements utilisent la réplication logique au lieu de la réplication physique, consultezMéthodes de réplication PostgreSQL pour les déploiements blue/green.

  • Si votre base de données dispose de suffisamment de mémoire disponible, augmentez la valeur du paramètre de base de données logical_decoding_work_mem dans l’environnement bleu. Cela permet de réduire le nombre de décodages sur disque et d’utiliser de la mémoire à la place. Pour plus d’informations, consultez la documentation sur PostgreSQL.

    • Vous pouvez surveiller le dépassement des transactions en cours d'écriture sur disque à l'aide de cette ReplicationSlotDiskUsage CloudWatch métrique. Cette métrique fournit des informations sur l’utilisation des emplacements de réplication sur le disque, ce qui permet d’identifier les cas où les données de transaction dépassent la capacité de mémoire et sont stockées sur disque. Vous pouvez contrôler la mémoire libérable à l'aide de la FreeableMemory CloudWatch métrique. Pour de plus amples informations, veuillez consulter Statistiques Amazon CloudWatch au niveau de l'instance pour Amazon RDS.

    • Dans RDS pour PostgreSQL versions 14 et ultérieures, vous pouvez surveiller la taille des fichiers de dépassement logique à l’aide de la vue système pg_stat_replication_slots.

  • Si vous utilisez l’extension aws_s3, autorisez l’instance de base de données verte à accéder à Amazon S3 via un rôle IAM une fois l’environnement vert créé. Cela permet aux commandes d’importation et d’exportation de continuer à fonctionner après la bascule. Pour obtenir des instructions, consultez Configuration de l’accès à un compartiment Amazon S3.

  • Vérifiez les performances de vos instructions UPDATE et DELETE et déterminez si la création d’un index sur la colonne utilisée dans la clause WHERE peut optimiser ces requêtes. Cela peut améliorer les performances lorsque les opérations sont réexécutées dans un environnement vert.

  • Si vous utilisez des déclencheurs, assurez-vous qu’ils n’interfèrent pas avec la création, la mise à jour et la suppression d’objets pg_catalog.pg_publication, pg_catalog.pg_subscription et pg_catalog.pg_replication_slots dont le nom commence par « rds ».

  • Si vous spécifiez une version du moteur supérieure pour l’environnement vert, exécutez l’opération ANALYZE sur toutes les bases de données pour actualiser la table pg_statistic. Les statistiques de l’optimiseur ne sont pas transférées lors d’une mise à niveau de version majeure. Vous devez donc régénérer toutes les statistiques pour éviter les problèmes de performances. Pour connaître les bonnes pratiques supplémentaires lors des mises à niveau des versions majeures, consultez Comment effectuer une mise à niveau de version majeure pour RDS pour PostgreSQL.

  • Évitez de configurer les déclencheurs comme ENABLE REPLICA ou ENABLE ALWAYS si le déclencheur est utilisé sur la source pour manipuler des données. Dans le cas contraire, le système de réplication propage les modifications et exécute le déclencheur, ce qui entraîne une duplication.