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.
Automatisez le basculement et le retour en arrière entre régions à l'aide de DR Orchestrator Framework
Créé par Jitendra Kumar (AWS), Oliver Francis (AWS) et Pavithra Balasubramanian () AWS
Référentiel de code : aws-cross-region-dr -databases | Environnement : Production | Technologies : bases de données ; infrastructure ; migration ; modernisation |
AWSservices : Amazon Aurora ; Amazon AWS CloudFormation ; Amazon ElastiCache RDS ; AWS Step Functions |
Récapitulatif
Ce modèle décrit comment utiliser DR Orchestrator Framework pour orchestrer et automatiser les étapes manuelles, sujettes aux erreurs, pour effectuer une reprise après sinistre dans les régions Amazon Web Services ().AWS Le modèle couvre les bases de données suivantes :
Amazon Relational Database Service (RDSAmazon) pour SQL My, Amazon pour SQL Postgre ou RDS Amazon RDS pour MariaDB
Amazon Aurora My SQL -Compatible Edition ou Amazon Aurora Postgre SQL -Compatible Edition (à l'aide d'un fichier centralisé)
Amazon ElastiCache (RedisOSS)
Pour démontrer les fonctionnalités de DR Orchestrator Framework, vous devez créer deux instances ou clusters de base de données. Le primaire est dans le Région AWS us-east-1
, et le secondaire est dansus-west-2
. Pour créer ces ressources, vous devez utiliser les AWS CloudFormation modèles contenus dans le App-Stack
dossier du GitHub référentiel aws-cross-region-dr-databases
Conditions préalables et limitations
Prérequis généraux
Framework DR Orchestrator déployé à la fois dans le primaire et le secondaire Régions AWS
Un cloud privé virtuel (VPC)
avec deux sous-réseaux et un groupe AWS de sécurité
Prérequis spécifiques au moteur
Amazon Aurora — Au moins une base de données globale Aurora doit être disponible sur deux Régions AWS. Vous pouvez l'utiliser
us-east-1
comme région principale et l'utiliserus-west-2
comme région secondaire.Amazon ElastiCache (RedisOSS) — Une banque de données ElastiCache globale doit être disponible en deux. Régions AWS Vous pouvez le faire
use us-east-1
comme région principale et l'utiliserus-west-2
comme région secondaire.
RDSLimitations d'Amazon
DR Orchestrator Framework ne vérifie pas le délai de réplication avant d'effectuer un basculement ou un retour en arrière. Le délai de réplication doit être vérifié manuellement.
Cette solution a été testée à l'aide d'une instance de base de données principale avec une réplique en lecture. Si vous souhaitez utiliser plusieurs répliques de lecture, testez soigneusement la solution avant de l'implémenter dans un environnement de production.
Limites d'Aurora
La disponibilité et le support des fonctionnalités varient en fonction des versions spécifiques de chaque moteur de base de données et d'une version à l'autre Régions AWS. Pour plus d'informations sur la disponibilité des fonctionnalités et des régions pour la réplication entre régions, voir Répliques de lecture entre régions.
Les bases de données globales Aurora ont des exigences de configuration spécifiques pour les classes d'instances de base de données Aurora prises en charge et le nombre maximum de Régions AWS. Pour plus d'informations, consultez la section Exigences de configuration d'une base de données globale Amazon Aurora.
Cette solution a été testée à l'aide d'une instance de base de données principale avec une réplique en lecture. Si vous souhaitez utiliser plusieurs répliques de lecture, testez soigneusement la solution avant de l'implémenter dans un environnement de production.
ElastiCache limites
Pour plus d'informations sur la disponibilité des régions pour Global Datastore et les exigences ElastiCache de configuration, consultez la section Conditions préalables et limites de la ElastiCache documentation.
RDSVersions des produits Amazon
Amazon RDS prend en charge les versions de moteur suivantes :
My SQL — Amazon RDS prend en charge les instances de base de données exécutant les versions suivantes de My SQL : My SQL 8.0 et My SQL 5.7
Postgre SQL — Pour plus d'informations sur les versions prises en charge d'Amazon RDS pour PostgreSQL, consultez la section Versions de base de données Postgre SQL disponibles.
MariaDB 10.11
MariaDB 10.6
MariaDB 10.5
Versions des produits Aurora
Le passage à la base de données globale Amazon Aurora nécessite la compatibilité Aurora My SQL -Compatible with My SQL 5.7, version 2.09.1 ou ultérieure
Pour plus d'informations, consultez Limitations des bases de données mondiales Amazon Aurora.
ElastiCache Versions des produits (RedisOSS)
Amazon ElastiCache (RedisOSS) prend en charge les versions Redis suivantes :
Redis 7.1 (améliorée)
Redis 7.0 (améliorée)
Redis 6.2 (améliorée)
Redis 6.0 (améliorée)
Redis 5.0.6 (améliorée)
Pour plus d'informations, consultez la section Versions prises en charge ElastiCache (RedisOSS).
Architecture
RDSArchitecture d'Amazon
L'RDSarchitecture Amazon inclut les ressources suivantes :
L'instance Amazon RDS DB principale créée dans la région principale (
us-east-1
) avec un accès en lecture/écriture pour les clientsUne réplique Amazon RDS Read créée dans la région secondaire (
us-west-2
) avec un accès en lecture seule pour les clientsFramework DR Orchestrator déployé dans les régions principale et secondaire
Le diagramme décrit les éléments suivants :
Réplication asynchrone entre l'instance principale et l'instance secondaire
Accès en lecture/écriture pour les clients de la région principale
Accès en lecture seule pour les clients de la région secondaire
Architecture Aurora
L'architecture Amazon Aurora inclut les ressources suivantes :
Le cluster de base de données Aurora principal créé dans la région principale (
us-east-1
) avec un point de terminaison d'écriture activeUn cluster de base de données Aurora créé dans la région secondaire (
us-west-2
) avec un point de terminaison d'écriture inactifFramework DR Orchestrator déployé dans les régions principale et secondaire
Le diagramme décrit les éléments suivants :
Réplication asynchrone entre le cluster principal et le cluster secondaire
Le cluster de base de données principal avec un point de terminaison d'écriture active
Le cluster de base de données secondaire avec un point de terminaison d'écriture inactif
ElastiCache architecture (RedisOSS)
L'architecture Amazon ElastiCache (RedisOSS) inclut les ressources suivantes :
Une banque de données globale ElastiCache (RedisOSS) créée avec deux clusters :
Le cluster principal de la région principale (
us-east-1
)Le cluster secondaire de la région secondaire (
us-west-2
)
Un lien interrégional Amazon avec chiffrement TLS 1.2 entre les deux clusters
Framework DR Orchestrator déployé dans les régions principale et secondaire
Automatisation et mise à l'échelle
DR Orchestrator Framework est évolutif et prend en charge le basculement ou le repli de plusieurs bases de données AWS en parallèle.
Vous pouvez utiliser le code de charge utile suivant pour basculer entre plusieurs AWS bases de données de votre compte. Dans cet exemple, trois AWS bases de données (deux bases de données globales telles qu'Aurora My SQL -Compatible ou Aurora Postgre SQL -Compatible, et une SQL instance Amazon RDS for My) basculent vers la région DR :
{ "StatePayload": [ { "layer": 1, "resources": [ { "resourceType": "PlannedFailoverAurora", "resourceName": "Switchover (planned failover) of Amazon Aurora global databases (MySQL)", "parameters": { "GlobalClusterIdentifier": "!Import dr-globaldb-cluster-mysql-global-identifier", "DBClusterIdentifier": "!Import dr-globaldb-cluster-mysql-cluster-identifier" } }, { "resourceType": "PlannedFailoverAurora", "resourceName": "Switchover (planned failover) of Amazon Aurora global databases (PostgreSQL)", "parameters": { "GlobalClusterIdentifier": "!Import dr-globaldb-cluster-postgres-global-identifier", "DBClusterIdentifier": "!Import dr-globaldb-cluster-postgres-cluster-identifier" } }, { "resourceType": "PromoteRDSReadReplica", "resourceName": "Promote RDS for MySQL Read Replica", "parameters": { "RDSInstanceIdentifier": "!Import rds-mysql-instance-identifier", "TargetClusterIdentifier": "!Import rds-mysql-instance-global-arn" } } ] } ] }
Outils
AWS services
Amazon Aurora est un moteur de base de données relationnelle entièrement géré conçu pour le cloud et compatible avec My SQL et SQL Postgre.
Amazon vous ElastiCache aide à configurer, à gérer et à faire évoluer des environnements de cache en mémoire distribués dans le AWS Cloud. Ce modèle utilise Amazon ElastiCache (RedisOSS).
AWS Lambda
est un service de calcul qui vous aide à exécuter du code sans avoir à allouer ni à gérer des serveurs. Il exécute votre code uniquement lorsque cela est nécessaire et évolue automatiquement, de sorte que vous ne payez que pour le temps de calcul que vous utilisez. Dans ce modèle, les fonctions Lambda sont utilisées pour AWS Step Functions effectuer les étapes. Amazon Relational Database Service (RDSAmazon) vous aide à configurer, exploiter et dimensionner une base de données relationnelle dans le. AWS Cloud Ce modèle est compatible avec Amazon RDS for MySQL, Amazon RDS pour Postgre SQL et Amazon RDS pour MariaDB.
AWS SDK for Python (Boto3)
vous permet d'intégrer votre application, bibliothèque ou script Python à Services AWS. Dans ce modèle, les Boto3 APIs sont utilisés pour communiquer avec les instances de base de données ou les bases de données globales. AWS Step Functions
est un service d'orchestration sans serveur qui vous aide à combiner des AWS Lambda fonctions et d'autres fonctions Services AWS pour créer des applications critiques pour l'entreprise. Dans ce modèle, les machines d'état Step Functions sont utilisées pour orchestrer et exécuter le basculement et le retour en arrière entre régions des instances de base de données ou des bases de données globales.
Référentiel de code
Le code de ce modèle est disponible dans le référentiel aws-cross-region-dr-databases
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Clonez le GitHub dépôt. | Pour cloner le dépôt, exécutez la commande suivante :
| AWS DevOps, AWS administrateur |
Package Lambda utilise le code des fonctions dans une archive de fichier .zip. | Créez les fichiers d'archive pour les fonctions Lambda afin d'inclure les dépendances du DR Orchestrator Framework :
| AWSadministrateur |
Créez des compartiments S3. | Les compartiments S3 sont nécessaires pour stocker le framework DR Orchestrator ainsi que votre dernière configuration. Créez deux compartiments S3, l'un dans la région principale (
| AWSadministrateur |
Créez des sous-réseaux et des groupes de sécurité. | Dans la région principale (
| AWSadministrateur |
Mettez à jour les fichiers de paramètres de DR Orchestrator. | Dans le
Utilisez les valeurs de paramètres suivantes, en
| AWSadministrateur |
Téléchargez le code DR Orchestrator Framework dans le compartiment S3. | Le code sera plus sûr dans un compartiment S3 que dans le répertoire local. Téléchargez le Pour télécharger le code, procédez comme suit :
| AWSadministrateur |
Déployez DR Orchestrator Framework dans la région principale. | Pour déployer DR Orchestrator Framework dans la région principale (
| AWSadministrateur |
Déployez DR Orchestrator Framework dans la région secondaire. | Dans la région secondaire (
| AWSadministrateur |
Vérifier le déploiement. | Si la AWS CloudFormation commande s'exécute correctement, elle renvoie le résultat suivant :
Vous pouvez également accéder à la AWS CloudFormation console et vérifier l'état de la | AWSadministrateur |
Tâche | Description | Compétences requises |
---|---|---|
Créez les sous-réseaux et les groupes de sécurité de la base de données. | Dans votreVPC, créez deux sous-réseaux et un groupe de sécurité pour l'instance de base de données ou la base de données globale dans les régions principale (
| AWSadministrateur |
Mettez à jour le fichier de paramètres pour l'instance ou le cluster de base de données principal. | Dans le Amazon RDS Dans le
Amazon Aurora Dans le
Amazon ElastiCache (RedisOSS) Dans le
| AWSadministrateur |
Déployez votre instance ou cluster de base de données dans la région principale. | Pour déployer votre instance ou votre cluster dans la région principale ( Amazon RDS
Amazon Aurora
Amazon ElastiCache (RedisOSS)
Vérifiez que les AWS CloudFormation ressources ont été déployées avec succès. | AWSadministrateur |
Mettez à jour le fichier de paramètres pour l'instance ou le cluster de base de données secondaire. | Dans le Amazon RDS Dans le
Amazon Aurora Dans le
Amazon ElastiCache (RedisOSS) Dans le
| AWSadministrateur |
Déployez votre instance ou cluster de base de données dans la région secondaire. | Exécutez les commandes suivantes, en fonction de votre moteur de base de données. Amazon RDS
Amazon Aurora
Amazon ElastiCache (RedisOSS)
Vérifiez que les AWS CloudFormation ressources ont été déployées avec succès. | AWSadministrateur |
Ressources connexes
Stratégie de reprise après sinistre pour les bases de données sur AWS (stratégie d'orientation AWS prescriptive)
Automatisez votre solution de reprise après sinistre pour les bases de données relationnelles sur AWS (AWS guide prescriptif)
Réplication à Régions AWS l'aide de banques de données globales
Automatisez votre solution de reprise après sinistre pour les bases de données relationnelles sur AWS (AWS guide prescriptif)