Chiffrer une instance de base de données Amazon RDS pour Postgre SQL existante - Recommandations AWS

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 Postgre SQL existante

Créé par Piyush Goyal (AWS), Shobana Raghu () et Yaser Raja () AWS AWS

Environnement : Production

Technologies : bases de données ; sécurité, identité, conformité

AWSservices : Amazon RDS AWS KMS ; AWS DMS

Récapitulatif

Ce modèle explique comment chiffrer une instance de base de données Amazon Relational Database Service (RDSAmazon) pour SQL Postgre existante dans le cloud Amazon Web Services AWS () avec un temps d'arrêt minimal. Ce processus fonctionne également RDS pour les instances Amazon for My SQL DB.

Vous pouvez activer le chiffrement pour une RDS instance de base de données Amazon lorsque vous la créez, mais pas après sa création. Toutefois, vous pouvez ajouter le 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 AWS Database Migration Service (AWSDMS) 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. 

RDSLes instances de base de données cryptées Amazon utilisent l'algorithme de chiffrement standard AES -256 pour chiffrer vos données sur le serveur qui héberge vos instances de RDS base de données Amazon. 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

Limites

  • Vous pouvez activer le chiffrement pour une RDS instance de base de données Amazon 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 pour travailler avec Postgre SQL.

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

  • AWSDMSne 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 RDS chiffrées Amazon dans la RDS documentation Amazon.

Architecture

Architecture source

  • Instance de base de données non RDS chiffrée

Architecture cible

  • RDSinstance de base de données cryptée

    • L'RDSinstance de base de données de destination est créée en restaurant la copie instantanée de base de données de l'RDSinstance de base de données source.

    • Une AWS KMS clé est utilisée pour le chiffrement lors de la restauration de l'instantané.

    • Une tâche AWS DMS de réplication est utilisée pour migrer les données.

Processus utilisé AWS DMS pour chiffrer une SQL instance de base de données Amazon RDS for Postgre existante vers une nouvelle base de données.

Outils

Outils utilisés pour activer le chiffrement :

  • AWSKMSclé de 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é AWS gérée par Amazon RDS pour 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é AWS gérée pour votre nouvelle instance de base de données. Amazon RDS crée une clé AWS gérée pour Amazon RDS pour votre AWS compte. Votre AWS compte possède une clé AWS gérée différente pour Amazon RDS pour chaque AWS région. Pour plus d'informations sur l'utilisation KMS des clés pour le RDS chiffrement Amazon, consultez Encrypting Amazon RDS Resources.

Outils utilisés pour la réplication continue :

  • AWSDMS— Vous pouvez utiliser AWS Database Migration Service (AWSDMS) 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 AWS DMS et la création de tâches, consultez la AWSDMSdocumentation.

Épopées

TâcheDescriptionCompétences requises

Vérifiez les détails de l'SQLinstance de base de données Postgre source.

Sur la RDS console Amazon, choisissez l'SQLinstance de base de données Postgre 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 RDS documentation Amazon.

DBA

Chiffrez l'instantané.

Dans le volet de navigation de RDS la console Amazon, choisissez Snapshots, puis sélectionnez l'instantané de base de données que vous avez créé. Sous Actions, choisissez Copier un instantané. Indiquez la AWS région 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 Master Key, spécifiez l'identifiant de KMS clé à utiliser pour chiffrer la copie instantanée de la base de données. Choisissez Copier l'instantané. Pour plus d'informations, consultez Copier un instantané dans la RDS documentation Amazon.

DBA
TâcheDescriptionCompétences requises

Restaurez le snapshot de base de données.

Sur la RDS console Amazon, 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 RDS documentation Amazon.

DBA

Migrez les données en utilisant AWSDMS.

Sur la AWS DMS console, créez une AWS DMS tâche. 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 AWS DMS documentation.

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 sur l'instance de base de données cible, puis lancez la AWS DMS tâche. Pour plus d'informations sur la désactivation des déclencheurs et des contraintes liées aux clés étrangères, consultez la AWSDMSdocumentation.

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 AWS DMS des données dans la AWS DMS documentation.

DBA
TâcheDescriptionCompé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 AWS DMS que la réplication des données du pipeline est terminée. 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 d'instance Amazon RDS DB. 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 pour l'SQLinstance de base de données Postgre source :

La page Résumé de l'SQLinstance de base de données Postgre source indique que le chiffrement n'est pas activé pour le stockage.

Remarques supplémentaires concernant ce modèle :

  • Activez la réplication sur Postgre SQL en définissant le rds.logical_replication paramètre sur 1.

Remarque importante : les emplacements de réplication conservent les fichiers log d'écriture anticipée (WAL) 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_sendersmax_replication_slots,, et. Si des emplacements de réplication logiques sont présents mais qu'aucun consommateur n'est utilisé pour les WAL fichiers 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 pour Postgre ? SQL dans le AWS Support Knowledge Center.

  • 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 KMS clé utilisée par cette instance de base de données. Assurez-vous de déterminer vos exigences KMS clés 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 AWS DMS tâche. Vous pouvez les réactiver une fois la tâche terminée.