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.
Chiffrer une instance de base de données Amazon RDS pour PostgreSQL existante
Créée par Piyush Goyal (AWS), Shobana Raghu (AWS) et Yaser Raja (AWS)
Récapitulatif
Ce modèle explique comment chiffrer une instance de base de données Amazon Relational Database Service (Amazon RDS) existante pour PostgreSQL dans le cloud Amazon Web Services (AWS) avec un temps d'arrêt minimal. Ce processus fonctionne également pour les instances de base de données Amazon RDS for MySQL.
Vous pouvez activer le chiffrement pour une instance de base de données Amazon RDS lorsque vous la créez, mais pas après sa création. Toutefois, vous pouvez ajouter du chiffrement à une instance de base de données non chiffrée en créant un instantané de votre instance de base de données, puis en créant une copie chiffrée de cet instantané. Vous pouvez ensuite restaurer une instance de base de données à partir de l'instantané chiffré pour obtenir une copie chiffrée de votre instance de base de données d'origine. Si votre projet prévoit des temps d'arrêt (au moins pour les transactions d'écriture) pendant cette activité, c'est tout ce que vous devez faire. Lorsque la nouvelle copie chiffrée de l'instance de base de données est disponible, vous pouvez faire pointer vos applications vers la nouvelle base de données. Toutefois, si votre projet ne prévoit pas de temps d'arrêt important pour cette activité, vous avez besoin d'une autre approche permettant de minimiser le temps d'arrêt. Ce modèle utilise le service AWS Database Migration Service (AWS DMS) pour migrer et répliquer en continu les données afin que le passage à la nouvelle base de données chiffrée puisse être effectué avec un temps d'arrêt minimal.
Les instances de base de données chiffrées Amazon RDS utilisent l'algorithme de chiffrement standard AES-256 pour chiffrer vos données sur le serveur qui héberge vos instances de base de données Amazon RDS. Une fois vos données chiffrées, Amazon RDS gère l'authentification de l'accès et le déchiffrement de vos données de manière transparente, avec un impact minimal sur les performances. Vous n'avez pas besoin de modifier vos applications clientes de base de données pour utiliser le chiffrement.
Conditions préalables et limitations
Prérequis
Un compte AWS actif
Une instance de base de données Amazon RDS pour PostgreSQL non chiffrée
Expérience de travail avec (création, modification ou arrêt) de tâches AWS DMS (voir Utilisation des tâches AWS DMS dans la documentation AWS DMS)
Connaissance d'AWS Key Management Service (AWS KMS) pour le chiffrement des bases de données (voir la documentation AWS KMS)
Limites
Vous pouvez activer le chiffrement pour une instance de base de données Amazon RDS uniquement lorsque vous la créez, et non après la création de l'instance de base de données.
Les données des tables non enregistrées
ne seront pas restaurées à l'aide de snapshots. Pour plus d'informations, consultez les meilleures pratiques d'utilisation de PostgreSQL. Vous ne pouvez pas avoir un réplica en lecture chiffré d'une instance de base de données non chiffrée ni un réplica en lecture non chiffré d'une instance de base de données chiffrée.
Vous ne pouvez pas restaurer un instantané non chiffré ou une sauvegarde non chiffrée vers une instance de base de données chiffrée.
AWS DMS ne transfère pas automatiquement les séquences. Des étapes supplémentaires sont donc nécessaires pour gérer cela.
Pour plus d'informations, consultez la section Limitations des instances de base de données chiffrées Amazon RDS dans la documentation Amazon RDS.
Architecture
Architecture de la source
Instance de base de données RDS non chiffrée
Architecture cible
Instance de base de données RDS cryptée
L'instance de base de données RDS de destination est créée en restaurant la copie instantanée de base de données de l'instance de base de données RDS source.
Une clé AWS KMS est utilisée pour le chiffrement lors de la restauration du snapshot.
Une tâche de réplication AWS DMS est utilisée pour migrer les données.

Outils
Outils utilisés pour activer le chiffrement :
Clé AWS KMS pour le chiffrement : lorsque vous créez une instance de base de données chiffrée, vous pouvez choisir une clé gérée par le client ou la clé gérée par AWS pour Amazon RDS afin de chiffrer votre instance de base de données. Si vous ne spécifiez pas l'identifiant de clé pour une clé gérée par le client, Amazon RDS utilise la clé gérée AWS pour votre nouvelle instance de base de données. Amazon RDS crée une clé gérée par AWS pour Amazon RDS pour votre compte AWS. Votre compte AWS possède une clé gérée AWS différente pour Amazon RDS pour chaque région AWS. Pour plus d'informations sur l'utilisation des clés KMS pour le chiffrement Amazon RDS, consultez la section Chiffrement des ressources Amazon RDS.
Outils utilisés pour la réplication continue :
AWS DMS — Vous pouvez utiliser AWS Database Migration Service (AWS DMS) pour répliquer les modifications de la base de données source vers la base de données cible. Il est important de synchroniser les bases de données source et cible afin de minimiser les temps d'arrêt. Pour plus d'informations sur la configuration d'AWS DMS et la création de tâches, consultez la documentation AWS DMS.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Vérifiez les détails de l'instance de base de données PostgreSQL source. | Sur la console Amazon RDS, choisissez l'instance de base de données PostgreSQL source. Dans l'onglet Configuration, assurez-vous que le chiffrement n'est pas activé pour l'instance. Pour une illustration d'écran, consultez la section Informations supplémentaires. | DBA |
Créez le snapshot de base de données. | Créez un instantané de base de données de l'instance que vous souhaitez chiffrer. Le temps nécessaire à la création d'un instantané dépend de la taille de votre base de données. Pour obtenir des instructions, consultez la section Création d'un instantané de base de données dans la documentation Amazon RDS. | DBA |
Chiffrez le cliché. | Dans le volet de navigation de la console Amazon RDS, choisissez Snapshots, puis sélectionnez l'instantané de base de données que vous avez créé. Sous Actions, choisissez Copier un instantané. Indiquez la région AWS de destination et le nom de la copie instantanée de base de données dans les champs correspondants. Cochez la case Activer le chiffrement. Pour Clé principale, spécifiez l'identifiant de clé KMS à utiliser pour chiffrer la copie de l'instantané de base de données. Choisissez Copier l'instantané. Pour plus d'informations, consultez Copier un instantané dans la documentation Amazon RDS. | DBA |
Tâche | Description | Compétences requises |
---|---|---|
Restaurez le snapshot de base de données. | Sur la console Amazon RDS, choisissez Snapshots. Choisissez l'instantané chiffré que vous avez créé. Pour Actions, choisissez Restore Snapshot (Restaurer l'instantané). Pour l'identifiant d'instance de base de données, fournissez un nom unique pour la nouvelle instance de base de données. Passez en revue les détails de l'instance, puis choisissez Restore DB Instance. Une nouvelle instance de base de données cryptée sera créée à partir de votre instantané. Pour plus d'informations, consultez la section Restauration à partir d'un instantané de base de données dans la documentation Amazon RDS. | DBA |
Migrez les données à l'aide d'AWS DMS. | Sur la console AWS DMS, créez une tâche AWS DMS. Pour le type de migration, choisissez Migrer les données existantes et répliquer les modifications en cours. Dans Paramètres des tâches, pour le mode de préparation de la table cible, choisissez Truncate. Pour plus d'informations, consultez la section Création d'une tâche dans la documentation AWS DMS. | DBA |
Activez la validation des données. | Dans Paramètres des tâches, choisissez Activer la validation. Cela vous permet de comparer les données source aux données cibles afin de vérifier que les données ont été migrées correctement. | DBA |
Désactivez les contraintes sur l'instance de base de données cible. | Désactivez les déclencheurs et les contraintes de clé étrangère | DBA |
Vérifiez les données. | Une fois le chargement complet terminé, vérifiez les données de l'instance de base de données cible pour voir si elles correspondent aux données source. Pour plus d'informations, consultez la section Validation des données AWS DMS dans la documentation AWS DMS. | DBA |
Tâche | Description | Compétences requises |
---|---|---|
Arrêtez les opérations d'écriture sur l'instance de base de données source. | Arrêtez les opérations d'écriture sur l'instance de base de données source afin que le temps d'arrêt de l'application puisse commencer. Vérifiez qu'AWS DMS a terminé la réplication des données du pipeline. Activez les déclencheurs et les clés étrangères sur l'instance de base de données cible. | DBA |
Mettre à jour les séquences de base | Si la base de données source contient des numéros de séquence, vérifiez et mettez à jour les séquences dans la base de données cible. | DBA |
Configurez le point final de l'application. | Configurez les connexions de vos applications pour utiliser les nouveaux points de terminaison de l'instance de base de données Amazon RDS. L'instance de base de données est désormais cryptée. | DBA, propriétaire de l'application |
Ressources connexes
Informations supplémentaires
Vérification du chiffrement de l'instance de base de données PostgreSQL source :

Remarques supplémentaires concernant ce modèle :
Activez la réplication sur PostgreSQL en définissant
rds.logical_replication
le paramètre sur 1.
Remarque importante : les emplacements de réplication conservent les fichiers WAL (Write Ahead Log) jusqu'à ce qu'ils soient consommés en externe, par exemple par pg_recvlogical
des tâches d'extraction, de transformation et de chargement (ETL) ou par AWS DMS. Lorsque vous définissez la valeur du rds.logical_replication
paramètre sur 1, AWS DMS définit les max_connections
paramètres wal_level
max_wal_senders
,max_replication_slots
, et. Si des emplacements de réplication logiques sont présents mais qu'aucun consommateur n'est utilisé pour les fichiers WAL conservés par le slot de réplication, vous pouvez constater une augmentation de l'utilisation du disque du journal des transactions et une diminution constante de l'espace de stockage disponible. Pour plus d'informations et pour savoir comment résoudre ce problème, consultez l'article Comment puis-je identifier la cause de l'erreur « Aucun espace restant sur l'appareil » ou « » DiskFull sur Amazon RDS for PostgreSQL ?
Les modifications de schéma que vous apportez à l'instance de base de données source après avoir créé le snapshot de base de données ne seront pas présentes sur l'instance de base de données cible.
Après avoir créé une instance de base de données chiffrée, vous ne pouvez pas modifier la clé KMS utilisée par cette instance de base de données. Assurez-vous de déterminer vos exigences en matière de clé KMS avant de créer votre instance de base de données chiffrée.
Vous devez désactiver les déclencheurs et les clés étrangères sur l'instance de base de données cible avant d'exécuter la tâche AWS DMS. Vous pouvez les réactiver une fois la tâche terminée.