En cas de reprise après sinistre globale, il est essentiel que la sauvegarde de la base de données soit stockée dans un autre compte AWS. Aurora RDS peut copier les sauvegardes de base de données vers une autre région ou un autre compte, mais pas les deux. De plus, la copie entre comptes n'est pas prise en charge si le cluster Aurora DB est déployé avec des clés gérées par AWS. La modification d'une clé de cluster nécessite un redéploiement du cluster.
Pour un tel cas d'utilisation, l'une des approches consiste à utiliser la sauvegarde AWS
Pour un tel cas d'utilisation, l'une des approches décrites dans le document AWS : Protection des instances Amazon RDS chiffrées avec des sauvegardes entre comptes et entre régions.
Mais la documentation AWS est basée sur le modèle AWS cloudformation. J'ai recréé cela en utilisant Terraform.
Cette approche offre la flexibilité de copier la sauvegarde AWS Aurora vers Vault à la fois entre comptes et entre régions. Nous n'avons pas besoin que le cluster Aurora soit déployé avec une clé KMS personnalisée.
La solution utilise un plan AWS Backup pour créer des sauvegardes planifiées de la base de données Amazon RDS vers un coffre-fort source (région Prod, compte Prod).
Le même plan de sauvegarde définit une règle de copie, qui copie la sauvegarde vers un coffre-fort intermédiaire dans le même compte, mais dans une région DR (compte Prod, région de stockage DR).
La solution utilise ensuite EventBridge pour capturer la réussite de la tâche de copie de sauvegarde AWS et utilise ces événements pour déclencher une fonction AWS Lambda. La fonction AWS Lambda utilise ensuite AWS Backup pour effectuer une autre tâche de copie de sauvegarde afin de copier la sauvegarde du coffre-fort intermédiaire du compte Prod vers le coffre-fort de destination qui se trouve dans un compte DR (Compte DR, région de stockage DR) .
source :https://aws.amazon.com/blogs/storage/protecting-encrypted-amazon-rds-instances-with-cross-account-and-cross-region-backups/
L'instance de base de données RDS chiffrée avec la clé gérée RDS KMS AWS par défaut dans le compte de production est sauvegardée par AWS Backup sur un SourceVault (configuré pour utiliser le cmk-source-vault-account-a-region-a chiffrement ), et la sauvegarde est ensuite copiée sur IntermediateVault (configuré pour utiliser cmk-intermediate-vault-account-a-region-b cryptage). Bien que SourceVault soit configuré pour utiliser le chiffrement « cmk-source-vault-account-a-region-a », l'instantané Amazon RDS stocké sur SourceVault est toujours chiffré avec le RDS KMS par défaut géré par AWS. clé (aws/rds). L'étape de copie de l'instantané de SourceVault vers IntermediateVault déchiffrera l'instantané et rechiffrera l'instantané avec « cmk-intermediate-vault-account-a-region-b » dans IntermediateVault. La clé gérée par le client « cmk-intermediate-vault-account-a-region-b » peut ensuite être partagée avec le compte de sauvegarde DR pour être utilisée pour la copie entre comptes. Lors de la copie entre comptes, l'instantané sera à nouveau chiffré avec la clé du coffre-fort de destination « cmk-destination-vault-account-b-region-b ».
Une fois la copie vers IntermediateVault terminée, une règle EvenBridge dans le compte de production (compte A, région A) identifie l'événement « travail de copie terminé » et transmet l'événement à EventBridge dans le compte A, région B, qui dans turn déclenche une fonction Lambda. La fonction Lambda vérifiera que les balises appropriées existent sur les points de récupération et demandera à AWS Backup de copier la sauvegarde du compte de production (compte A, Région B, IntermediateVault) vers le compte de sauvegarde DR (compte B, Région B, DestinationVault). pour réaliser la copie de sauvegarde entre comptes et entre régions.
Avantages
Inconvénients
Mise en œuvre
Prérequis
Flux de sauvegarde
Instance RDS/S3/EFS → Sauvegarde AWS dans le coffre-fort de votre compte → Sauvegarde de copie entre comptes de votre coffre-fort vers le coffre-fort GDR
Vous pouvez obtenir le code Terraform depuis Github Repo
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!