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.
Utilisation de la commutation ou du basculement dans une base de données globale Amazon Aurora
Une base de données globale Aurora fournit une meilleure protection en matière de continuité des activités et de reprise après sinistre (BCDR) que la haute disponibilité standard fournie par un cluster de bases de données Aurora en une seule solution Région AWS. En utilisant une base de données globale Aurora, vous pouvez planifier et effectuer une reprise rapide après de véritables catastrophes régionales ou des interruptions complètes de niveau de service. La reprise après sinistre est généralement axée sur les deux objectifs stratégiques suivants :
-
Objectif de temps de reprise (RTO) : temps nécessaire à un système pour revenir en état de fonctionnement après un sinistre ou une panne de service. En d'autres termes, il RTO mesure les temps d'arrêt. Pour une base de données globale Aurora, RTO cela peut être de l'ordre de quelques minutes.
Objectif du point de reprise (RPO) : quantité de données pouvant être perdue (mesurée dans le temps) après un sinistre ou une interruption de service. Cette perte de données est généralement due à un retard de réplication asynchrone. Pour une base de données globale Aurora, RPO elle est généralement mesurée en secondes. Avec une base de données globale SQL basée sur Aurora Postgre, vous pouvez utiliser le
rds.global_db_rpo
paramètre pour définir et suivre la limite supérieureRPO, mais cela peut affecter le traitement des transactions sur le nœud d'écriture du cluster principal. Pour de plus amples informations, veuillez consulter Gestion des RPOs bases de données globales SQL basées sur Aurora Postgre.
La commutation ou le basculement d'une base de données globale Aurora implique la promotion d'un cluster de bases de données situé dans l'une des régions secondaires de votre base de données globale en tant que cluster de bases de données principal. Le terme « panne régionale » est couramment utilisé pour décrire divers scénarios de défaillance. Le pire des scénarios pourrait être une panne généralisée due à un événement catastrophique qui toucherait des centaines de kilomètres carrés. Toutefois, la plupart des pannes sont beaucoup plus localisées et ne concernent qu'un petit sous-ensemble de services cloud ou de systèmes clients. Tenez compte de toute l'étendue de la panne pour vous assurer que le basculement entre régions est la bonne solution et pour choisir la méthode de basculement adaptée à la situation. L'utilisation de l'approche de basculement ou de commutation dépend du scénario de panne spécifique :
Basculement : utilisez cette approche pour récupérer après une panne imprévue. Avec cette approche, vous effectuez un basculement entre régions vers l'un des clusters de bases de données secondaires de votre base de données globale Aurora. RPOPour cette approche, il s'agit généralement d'une valeur différente de zéro mesurée en secondes. L'ampleur de la perte de données dépend du délai global de réplication de la base de données Aurora Régions AWS au moment de la panne. Pour en savoir plus, consultez Reprise d'une base de données Amazon Aurora globale à partir d'une panne non planifiée.
Commutation : cette opération était précédemment appelée « basculement planifié géré ». Utilisez cette approche pour les scénarios contrôlés, tels que la maintenance opérationnelle et d'autres procédures opérationnelles planifiées. Comme cette fonctionnalité synchronise les clusters de base de données secondaires avec les clusters principaux avant d'apporter d'autres modifications, elle RPO est égale à 0 (aucune perte de données). Pour en savoir plus, consultez Réalisation de commutations pour les bases de données globales Amazon Aurora.
Note
Si vous souhaitez commuter ou basculer vers un cluster de bases de données Aurora secondaire sans tête, vous devez d'abord y ajouter une instance de base de données. Pour plus d'informations sur les clusters de bases de données sans tête, consultez Création d'un cluster de base de données Aurora sans tête dans une région secondaire.
Rubriques
Reprise d'une base de données Amazon Aurora globale à partir d'une panne non planifiée
En de très rares occasions, votre base de données Aurora globale peut rencontrer une interruption inattendue dans son Région AWS principale. Si cela se produit, votre cluster de bases de données Aurora principal et son nœud d'enregistreur ne sont pas disponibles, et la réplication entre les clusters de bases de données principal et secondaire s'interrompt. Pour minimiser à la fois les temps d'arrêt (RTORPO) et les pertes de données (), vous pouvez effectuer rapidement un basculement entre régions.
Il existe deux méthodes pour basculer en cas de reprise après sinistre :
Basculement géré : cette méthode est recommandée pour la reprise après sinistre. Lorsque vous utilisez cette méthode, Aurora réintègre automatiquement l'ancienne région principale dans la base de données globale en tant que région secondaire lorsqu'elle redevient disponible. Ainsi, la topologie d'origine de votre cluster global est conservée. Pour apprendre à utiliser cette méthode, consultez Réalisation de basculements gérés pour les bases de données globales Aurora.
Basculement manuel : cette méthode alternative peut être utilisée quand le basculement géré n'est pas une option, par exemple quand vos régions principale et secondaire exécutent des versions de moteur incompatibles. Pour apprendre à utiliser cette méthode, consultez Réalisation de basculements manuels pour les bases de données globales Aurora.
Important
Les deux méthodes de basculement peuvent entraîner la perte de données de transaction d'écriture qui n'ont pas été répliquées dans la région secondaire choisie avant que le basculement se produise. Toutefois, le processus de récupération qui fait la promotion d'une instance de base de données sur le cluster de bases de données secondaire choisi comme instance de base de données principale d'enregistreur garantit que les données sont dans un état de cohérence transactionnelle.
Réalisation de basculements gérés pour les bases de données globales Aurora
Cette approche vise à assurer la continuité des activités dans le cas d'une véritable catastrophe régionale ou interruption complète du niveau de service.
Lors d'un basculement géré, votre cluster principal est basculé vers la région secondaire de votre choix tandis que la topologie de réplication existante de votre base de données globale Aurora est conservée. Le cluster secondaire choisi promeut l'un de ses nœuds en lecture seule au statut d'enregistreur complet. Cette étape permet au cluster d'endosser le rôle de cluster principal. Votre base de données est indisponible pendant une courte période pendant que ce cluster endosse son nouveau rôle. Les données qui n'ont pas été répliquées de l'ancien cluster principal vers le cluster secondaire choisi sont manquantes lorsque ce cluster secondaire devient le nouveau cluster principal.
Note
Vous ne pouvez effectuer un basculement de base de données entre régions géré sur une base de données globale Aurora que si les clusters de bases de données principal et secondaire possèdent les mêmes versions de moteur majeures, mineures et de niveaux de correctif. Cependant, les niveaux de correctif peuvent varier en fonction de la version mineure du moteur. Pour de plus amples informations, veuillez consulter Compatibilité des niveaux de correctif pour les commutations ou basculements entre régions gérés. Si les versions de votre moteur sont incompatibles, vous pouvez effectuer le basculement manuellement en suivant les étapes décrites dans Réalisation de basculements manuels pour les bases de données globales Aurora.
Pour minimiser les pertes de données, nous vous recommandons de prendre les mesures suivantes avant d'utiliser cette fonctionnalité :
Déconnectez les applications pour empêcher l'envoi d'écritures vers le cluster principal de la base de données Aurora globale.
Vérifiez les temps de retard pour tous les clusters de bases de données Aurora secondaires de la base de données Aurora globale. Le choix de la région secondaire présentant le retard de réplication minimum peut minimiser les pertes de données avec la région principale actuellement défaillante. Pour toutes les bases de données globales SQL basées sur Aurora Postgre et pour les bases de données globales SQL basées sur Aurora My, à partir des versions du moteur 3.04.0 et supérieures, ou 2.12.0 et supérieures, utilisez Amazon CloudWatch pour consulter la
AuroraGlobalDBRPOLag
métrique pour tous les clusters de bases de données secondaires. Pour les versions mineures inférieures des bases de données globales SQL basées sur Aurora My, consultez plutôt laAuroraGlobalDBReplicationLag
métrique. Ces métriques indiquent le retard (en millisecondes) de la réplication vers un cluster secondaire par rapport au cluster de bases de données principal.Pour plus d'informations sur CloudWatch les métriques pour Aurora, consultezMétriques de niveau cluster pour Amazon Aurora.
Au cours d'un basculement géré, le cluster de bases de données secondaire choisi est promu dans son nouveau rôle de cluster principal. Toutefois, il n'hérite pas des différentes options de configuration du cluster de base de données principal. Une incompatibilité de configuration peut provoquer des problèmes de performances, des incompatibilités de charge de travail et d'autres comportements anormaux. Pour éviter de tels problèmes, nous vous recommandons de résoudre les différences entre vos clusters de bases de données Aurora globales pour les cas suivants :
Configurer le groupe de paramètres de cluster de base de données Aurora pour le nouveau cluster principal, si nécessaire – Vous pouvez configurer vos groupes de paramètres de cluster de base de données Aurora indépendamment pour chaque cluster Aurora de votre base de données Aurora globale. Par conséquent, lorsque vous promouvez un cluster de bases de données secondaire pour endosser le rôle de cluster principal, le groupe de paramètres du cluster secondaire peut être configuré différemment de celui du cluster principal. Si c'est le cas, modifiez le groupe de paramètres du cluster de base de données secondaire promu afin qu'il soit conforme aux paramètres de votre cluster principal. Pour savoir comment procéder, consultez Modification des paramètres d'une base de données Aurora globale.
Configurez les outils et options de surveillance, tels que les CloudWatch événements et les alarmes Amazon : configurez le cluster de base de données promu avec la même capacité de journalisation, les mêmes alarmes, etc. que celles requises pour la base de données globale. Comme pour les groupes de paramètres, la configuration de ces fonctionnalités n'est pas héritée du cluster principal durant le processus de basculement. Certaines CloudWatch mesures, telles que le délai de réplication, ne sont disponibles que pour les régions secondaires. Ainsi, un basculement modifie la façon d'afficher ces métriques et de définir des alarmes sur celles-ci, et peut nécessiter d'apporter des modifications à des tableaux de bord prédéfinis. Pour plus d'informations sur les clusters de bases de données Aurora et la surveillance, consultez Présentation de la surveillance Amazon Aurora.
Configurer les intégrations avec d'autres AWS services : si votre base de données globale Aurora s'intègre à des AWS services tels que AWS Secrets Manager Amazon S3 AWS Lambda, vous devez vous assurer que ceux-ci sont configurés selon vos besoins. AWS Identity and Access Management Pour plus d'informations sur l'intégration des bases de données globales Aurora à IAM Amazon S3 et Lambda, consultez. Utilisation des bases de données globales Amazon Aurora avec d'autres services AWS Pour en savoir plus sur Secrets Manager, consultez Comment automatiser la réplication des secrets dans AWS Secrets Manager Across Régions AWS
.
Généralement, le cluster secondaire choisi endosse le rôle principal en quelques minutes. Dès que le nœud d'enregistreur de la nouvelle région principale est disponible, vous pouvez y connecter vos applications et reprendre vos charges de travail. Une fois qu'Aurora a promu le nouveau cluster principal, il reconstruit automatiquement tous les clusters de régions secondaires supplémentaires.
Comme les bases de données globales Aurora utilisent la réplication asynchrone, le retard de réplication dans chaque région secondaire peut varier. Aurora reconstruit ces régions secondaires pour qu'elles disposent exactement des mêmes point-in-time données que le nouveau cluster de régions principal. La durée de la tâche de reconstruction complète peut prendre de quelques minutes à plusieurs heures, selon la taille du volume de stockage et la distance entre les régions. Lorsque les clusters des régions secondaires ont fini de se reconstruire à partir de la nouvelle région principale, ils sont disponibles pour un accès en lecture.
Dès que le nouvel enregistreur principal est promu et disponible, le cluster de la nouvelle région principale peut gérer les opérations de lecture et d'écriture pour la base de données globale Aurora. Veillez à modifier le point de terminaison de votre application pour utiliser le nouveau point de terminaison. Si vous avez accepté les noms fournis lors de la création de la base de données Aurora globale, vous pouvez modifier le point de terminaison en supprimant la chaîne -ro
du point de terminaison du cluster promu dans votre application.
Par exemple, le point de terminaison du cluster secondaire my-global.cluster-ro-aaaaaabbbbbb.us-west-1.rds.amazonaws.com
devient my-global.cluster-aaaaaabbbbbb.us-west-1.rds.amazonaws.com
lorsque ce cluster est promu cluster principal.
Si vous utilisez un RDS proxy, veillez à rediriger les opérations d'écriture de votre application vers le point de terminaison de lecture/écriture approprié du proxy associé au nouveau cluster principal. Ce point de terminaison du proxy peut être le point de terminaison par défaut ou un point de terminaison en lecture/écriture personnalisé. Pour plus d'informations, voir Fonctionnement des points de terminaison du proxy RDS avec les bases de données globales.
Pour restaurer la topologie d'origine du cluster de bases de données global, Aurora surveille la disponibilité de l'ancienne région principale. Dès que cette région est saine et à nouveau disponible, Aurora l'ajoute automatiquement au cluster global en tant que région secondaire. Avant de créer le nouveau volume de stockage dans l'ancienne région principale, Aurora essaie de prendre un instantané de l'ancien volume de stockage au point de défaillance. Il le fait pour que vous puissiez l'utiliser pour récupérer les données manquantes. Si cette opération est réussie, Aurora place cet instantané nommé « rds : - unplanned-global-failovername-of-old-primary-DB-cluster
-timestamp
« dans la section des instantanés du AWS Management Console. Vous pouvez également voir cet instantané répertorié dans les informations renvoyées par l'APIopération D escribeDBCluster Snapshots.
Note
L'instantané de l'ancien volume de stockage est un instantané du système soumis à la période de conservation des sauvegardes configurée sur l'ancien cluster principal. Pour conserver cet instantané en dehors de la période de conservation, vous pouvez le copier pour l'enregistrer en tant qu'instantané manuel. Pour en savoir plus sur la copie des instantanés, y compris la tarification, consultez Copie d'instantanés de clusters de bases.
Une fois la topologie d'origine restaurée, vous pouvez rétablir votre base de données globale dans la région principale d'origine en effectuant une opération de commutation au moment qui convient le mieux à votre activité et à votre charge de travail. Pour ce faire, suivez les étapes de Réalisation de commutations pour les bases de données globales Amazon Aurora.
Vous pouvez basculer sur votre base de données globale Aurora en utilisant le AWS Management Console, le AWS CLI, ou le RDSAPI.
Pour effectuer le basculement géré sur votre base de données globale Aurora
Connectez-vous à la RDS console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/
. Choisissez Databases (Bases de données) et recherchez la base de données Aurora globale que vous souhaitez basculer.
Choisissez Commuter ou basculer vers la base de données globale dans le menu Actions.
Choisissez Basculement (autoriser la perte de données).
Pour Nouveau cluster principal, choisissez un cluster actif dans l'un de vos clusters secondaires Régions AWS comme nouveau cluster principal.
Saisissez
confirm
, puis choisissez Confirmer.
Lorsque le basculement se termine, vous pouvez voir les clusters de bases de données Aurora et leur état actuel dans la liste Bases de données, comme illustré ci-dessous.
Pour effectuer le basculement géré sur une base de données globale Aurora
Utilisez la failover-global-cluster
CLI commande pour basculer sur votre base de données globale Aurora. Avec la commande, passez les valeurs pour les paramètres suivants.
-
--region
— Spécifiez l' Région AWS endroit où s'exécute le cluster de base de données secondaire que vous souhaitez utiliser comme nouveau principal pour la base de données globale Aurora. --global-cluster-identifier
– Spécifiez le nom de votre base de données Aurora globale.--target-db-cluster-identifier
— Spécifiez le nom de ressource Amazon (ARN) du cluster de base de données Aurora que vous souhaitez promouvoir en tant que nouveau serveur principal de la base de données globale Aurora.--allow-data-loss
: faites-en explicitement une opération de basculement à la place d'une opération de commutation. Une opération de basculement peut entraîner une certaine perte de données si les composants de réplication asynchrone n'ont pas terminé d'envoyer toutes les données répliquées vers la région secondaire.
Pour LinuxmacOS, ou Unix :
aws rds --region
region_of_selected_secondary
\ failover-global-cluster --global-cluster-identifierglobal_database_id
\ --target-db-cluster-identifierarn_of_secondary_to_promote
\ --allow-data-loss
Dans Windows :
aws rds --region
region_of_selected_secondary
^ failover-global-cluster --global-cluster-identifierglobal_database_id
^ --target-db-cluster-identifierarn_of_secondary_to_promote
^ --allow-data-loss
Pour basculer sur une base de données globale Aurora, exécutez l'FailoverGlobalClusterAPIopération.
Réalisation de basculements manuels pour les bases de données globales Aurora
Dans certains scénarios, vous ne pourrez peut-être pas utiliser le processus de basculement géré. Par exemple, si vos clusters de bases de données principal et secondaire n'exécutent pas des versions de moteur compatibles. Dans ce cas, vous pouvez suivre ce processus manuel pour commuter votre base de données globale vers votre région secondaire cible.
Astuce
Nous vous recommandons de comprendre ce processus avant de l'utiliser. Ayez un plan prêt pour agir rapidement au premier signe de problème à l'échelle de la région. Vous pouvez être prêt à identifier la région secondaire présentant le moins de retard de réplication en utilisant Amazon CloudWatch régulièrement pour suivre les temps de latence des clusters secondaires. Veillez à tester votre plan pour vérifier que vos procédures sont complètes et précises, et que le personnel est formé pour effectuer un basculement de reprise après sinistre avant que le cas de figure se présente réellement.
Pour basculer manuellement vers un cluster secondaire après une panne imprévue dans la région principale
-
Arrêtez d'émettre DML des instructions et d'autres opérations d'écriture sur le cluster de base de données Aurora principal en cas de panne. Région AWS
-
Identifiez un cluster de base de données Aurora à partir d'un cluster de base de données secondaire Région AWS à utiliser comme nouveau cluster de base de données principal. Si votre base de données globale Aurora comporte Régions AWS au moins deux clusters secondaires, choisissez le cluster secondaire présentant le moins de retard de réplication.
Détachez le cluster de base de données secondaire choisi de la base de données Aurora globale.
La suppression d'un cluster de base de données secondaire d'une base de données Aurora globale interrompt immédiatement la réplication du cluster principal vers le cluster secondaire et le promeut en cluster de base de données Aurora provisionné autonome avec des capacités complètes en lecture/écriture. Tous les autres clusters de bases de données Aurora secondaires associés au cluster principal dans la région concernée par la panne restent disponibles et peuvent accepter les appels de votre application. Ils consomment également des ressources. Puisque vous recréez la base de données Aurora globale, supprimez les autres clusters de bases de données secondaires avant de créer la nouvelle base de données Aurora globale dans les étapes suivantes. Cela évite les incohérences de données parmi les clusters de bases de données de la base de données Aurora globale (problèmes de split-brain).
Afin d'obtenir les étapes détaillées du détachement, consultez Dissociation d'un cluster d'une base de données Amazon Aurora globale.
-
Reconfigurez votre application pour envoyer toutes les opérations d'écriture à ce cluster de base de données Aurora désormais autonome à l'aide de son nouveau point de terminaison. Si vous avez accepté les noms fournis lors de la création de la base de données Aurora globale, vous pouvez modifier le point de terminaison en supprimant la chaîne
-ro
du point de terminaison du cluster promu dans votre application.Par exemple, le point de terminaison du cluster secondaire
my-global.cluster-ro-aaaaaabbbbbb.us-west-1.rds.amazonaws.com
devientmy-global.cluster-aaaaaabbbbbb.us-west-1.rds.amazonaws.com
lorsque ce cluster est détaché de la base de données Aurora globale.Ce cluster de base de données Aurora devient le cluster principal d'une nouvelle base de données Aurora globale lorsque vous commencez à y ajouter des Régions lors de l'étape suivante.
Si vous utilisez un RDS proxy, veillez à rediriger les opérations d'écriture de votre application vers le point de terminaison de lecture/écriture approprié du proxy associé au nouveau cluster principal. Ce point de terminaison du proxy peut être le point de terminaison par défaut ou un point de terminaison en lecture/écriture personnalisé. Pour plus d'informations, voir Fonctionnement des points de terminaison du proxy RDS avec les bases de données globales.
-
Ajoutez un Région AWS au cluster de base de données. Lorsque vous effectuez cette opération, le processus de réplication du cluster primaire vers le cluster secondaire commence. Afin d'obtenir les étapes détaillées pour ajouter une région, consultez Ajouter un Région AWS à une base de données globale Amazon Aurora.
-
Ajoutez-en Régions AWS d'autres si nécessaire pour recréer la topologie requise pour prendre en charge votre application.
Assurez-vous que les écritures d'application sont envoyées au cluster de base de données Aurora approprié avant, pendant et après l'application de ces modifications. Cela évite les incohérences de données parmi les clusters de bases de données de la base de données Aurora globale (problèmes de split-brain).
Si vous l'avez reconfiguré en réponse à une panne dans un Région AWS, vous pouvez en faire à nouveau Région AWS le serveur principal une fois la panne résolue. Pour ce faire, vous ajoutez l'ancienne Région AWS à votre nouvelle base de données globale, puis vous utilisez le processus de commutation pour échanger son rôle. Votre base de données globale Aurora doit utiliser une version d'Aurora Postgre SQL ou Aurora My SQL qui prend en charge les commutations. Pour de plus amples informations, veuillez consulter Réalisation de commutations pour les bases de données globales Amazon Aurora.
Réalisation de commutations pour les bases de données globales Amazon Aurora
Note
Les commutations étaient auparavant appelées « basculements planifiés gérés ».
En utilisant les switchovers, vous pouvez modifier régulièrement la région de votre cluster principal. Cette approche est destinée aux scénarios contrôlés tels que la maintenance opérationnelle et d'autres procédures opérationnelles planifiées.
Il existe trois cas d'utilisation courants pour l'utilisation des commutations.
Pour les exigences de « rotation régionale » imposées à des secteurs spécifiques. Par exemple, la réglementation des services financiers peut exiger que les systèmes de niveau 0 passent à une autre région pendant plusieurs mois afin de garantir que les procédures de reprise après sinistre sont régulièrement mises à l'épreuve.
Pour les applications « follow-the-sun » multirégionales. Par exemple, une entreprise peut souhaiter fournir une latence d'écriture plus faible dans différentes régions en fonction des heures d'ouverture dans différents fuseaux horaires.
En tant que zero-data-loss méthode pour revenir à la région principale d'origine après un basculement.
Note
Les commutations sont conçues pour être utilisées sur une base de données globale Aurora saine. Pour récupérer après une panne imprévue, suivez la procédure appropriée dans Reprise d'une base de données Amazon Aurora globale à partir d'une panne non planifiée.
Pour effectuer une commutation, votre cluster de bases de données secondaire cible doit exécuter exactement la même version de moteur que le cluster principal, y compris le niveau de correctif, en fonction de la version du moteur. Pour de plus amples informations, veuillez consulter Compatibilité des niveaux de correctif pour les commutations ou basculements entre régions gérés. Avant de commencer la commutation, vérifiez les versions du moteur de votre cluster global pour vous assurer qu'elles prennent en charge la commutation interrégionale gérée, et mettez-les à niveau si nécessaire.
Lors d'une commutation, Aurora commute votre cluster principal vers la région secondaire de votre choix tout en conservant la topologie de réplication existante de votre base de données globale. Avant de démarrer le processus de commutation, Aurora attend que tous les clusters des régions secondaires soient entièrement synchronisés avec le cluster de la région principale. Ensuite, le cluster de bases de données de la région principale passe en lecture seule et le cluster secondaire choisi promeut l'un de ses nœuds en lecture seule au statut d'enregistreur à part entière. La promotion de ce nœud au rang d'enregistreur permet à ce cluster secondaire d'endosser le rôle de cluster principal. Tous les clusters secondaires ayant été synchronisés avec le principal au début du processus, le nouveau cluster principal poursuit les opérations de la base de données Aurora globale sans perdre de données. Votre base de données est indisponible pendant une courte période durant laquelle les clusters principaux et secondaires sélectionnés endossent leurs nouveaux rôles.
Pour optimiser la disponibilité des applications, nous vous recommandons d'effectuer les opérations suivantes avant d'utiliser cette fonctionnalité :
-
Effectuez cette opération pendant les heures creuses ou à tout autre moment où les écritures sur le cluster de base de données principal sont minimales.
Déconnectez les applications pour empêcher l'envoi d'écritures vers le cluster principal de la base de données Aurora globale.
Vérifiez les temps de retard pour tous les clusters de bases de données Aurora secondaires de la base de données Aurora globale. Pour toutes les bases de données globales SQL basées sur Aurora Postgre et pour les bases de données globales SQL basées sur Aurora My, à partir des versions du moteur 3.04.0 et supérieures ou 2.12.0 et supérieures, utilisez Amazon CloudWatch pour consulter la
AuroraGlobalDBRPOLag
métrique pour tous les clusters de bases de données secondaires. Pour les versions mineures inférieures des bases de données globales SQL basées sur Aurora My, consultez plutôt laAuroraGlobalDBReplicationLag
métrique. Ces métriques indiquent le retard (en millisecondes) de la réplication vers un cluster secondaire par rapport au cluster de bases de données principal. Cette valeur est directement proportionnelle au temps nécessaire à Aurora pour terminer la commutation. Par conséquent, plus la valeur de retard est élevée, plus la commutation prendra de temps.Pour plus d'informations sur CloudWatch les métriques pour Aurora, consultezMétriques de niveau cluster pour Amazon Aurora.
Au cours d'une commutation, le cluster de bases de données secondaire choisi est promu dans son nouveau rôle de cluster principal. Toutefois, il n'hérite pas des différentes options de configuration du cluster de base de données principal. Une incompatibilité de configuration peut provoquer des problèmes de performances, des incompatibilités de charge de travail et d'autres comportements anormaux. Pour éviter de tels problèmes, nous vous recommandons de résoudre les différences entre vos clusters de bases de données Aurora globales pour les cas suivants :
Configurer le groupe de paramètres de cluster de base de données Aurora pour le nouveau cluster principal, si nécessaire – Vous pouvez configurer vos groupes de paramètres de cluster de base de données Aurora indépendamment pour chaque cluster Aurora de votre base de données Aurora globale. Cela signifie que lorsque vous promouvez un cluster de base de données secondaire pour endosser le rôle de cluster principal, le groupe de paramètres du cluster secondaire peut être configuré différemment de celui du principal. Si c'est le cas, modifiez le groupe de paramètres du cluster de base de données secondaire promu afin qu'il soit conforme aux paramètres de votre cluster principal. Pour savoir comment procéder, consultez Modification des paramètres d'une base de données Aurora globale.
Configurez les outils et options de surveillance, tels que les CloudWatch événements et les alarmes Amazon : configurez le cluster de base de données promu avec la même capacité de journalisation, les mêmes alarmes, etc. que celles requises pour la base de données globale. Comme pour les groupes de paramètres, la configuration de ces fonctionnalités n'est pas héritée du cluster principal durant le processus de commutation. Certaines CloudWatch mesures, telles que le délai de réplication, ne sont disponibles que pour les régions secondaires. Ainsi, une commutation modifie la façon d'afficher ces métriques et de définir des alarmes sur celles-ci, et peut nécessiter d'apporter des modifications à des tableaux de bord prédéfinis. Pour plus d'informations sur les clusters de bases de données Aurora et la surveillance, consultez Présentation de la surveillance Amazon Aurora.
Configurez les intégrations avec d'autres AWS services : si votre base de données globale Aurora s'intègre à des AWS services tels que AWS Secrets Manager Amazon S3 AWS Lambda, assurez-vous de configurer vos intégrations avec ces services selon vos besoins. AWS Identity and Access Management Pour plus d'informations sur l'intégration des bases de données globales Aurora à IAM Amazon S3 et Lambda, consultez. Utilisation des bases de données globales Amazon Aurora avec d'autres services AWS Pour en savoir plus sur Secrets Manager, consultez Comment automatiser la réplication des secrets dans AWS Secrets Manager Across Régions AWS
.
Note
En général, la commutation de rôle peut prendre plusieurs minutes. Toutefois, la création de clusters secondaires supplémentaires peut prendre de quelques minutes à plusieurs heures, selon la taille de votre base de données et la distance physique entre les régions.
Lorsque le processus de commutation se termine, le cluster de bases de données Aurora promu peut traiter les opérations d'écriture pour la base de données globale Aurora. Veillez à modifier le point de terminaison de votre application pour utiliser le nouveau point de terminaison. Si vous avez accepté les noms fournis lors de la création de la base de données Aurora globale, vous pouvez modifier le point de terminaison en supprimant la chaîne -ro
du point de terminaison du cluster promu dans votre application.
Par exemple, le point de terminaison du cluster secondaire my-global.cluster-ro-aaaaaabbbbbb.us-west-1.rds.amazonaws.com
devient my-global.cluster-aaaaaabbbbbb.us-west-1.rds.amazonaws.com
lorsque ce cluster est promu cluster principal.
Si vous utilisez un RDS proxy, veillez à rediriger les opérations d'écriture de votre application vers le point de terminaison de lecture/écriture approprié du proxy associé au nouveau cluster principal. Ce point de terminaison du proxy peut être le point de terminaison par défaut ou un point de terminaison en lecture/écriture personnalisé. Pour plus d'informations, voir Fonctionnement des points de terminaison du proxy RDS avec les bases de données globales.
Vous pouvez changer de base de données globale Aurora en utilisant le AWS Management Console, le AWS CLI, ou le RDSAPI.
Pour effectuer la commutation sur votre base de données globale Aurora
Connectez-vous à la RDS console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/
. Choisissez Bases de données et recherchez la base de données globale Aurora que vous souhaitez commuter.
Choisissez Commuter ou basculer vers la base de données globale dans le menu Actions.
Choisissez Commutation.
Pour Nouveau cluster principal, choisissez un cluster actif dans l'un de vos clusters secondaires Régions AWS comme nouveau cluster principal.
Choisissez Confirmer.
Lorsque la commutation se termine, vous pouvez voir les clusters de bases de données Aurora et leurs rôles actuels dans la liste Bases de données, comme illustré dans l'image suivante.
Pour effectuer la commutation sur une base de données globale Aurora
Utilisez la switchover-global-cluster
CLI commande pour basculer entre votre base de données globale Aurora. Avec la commande, passez les valeurs pour les paramètres suivants.
-
--region
— Spécifiez l' Région AWS endroit où s'exécute le cluster de base de données principal de la base de données globale Aurora. --global-cluster-identifier
– Spécifiez le nom de votre base de données Aurora globale.--target-db-cluster-identifier
— Spécifiez le nom de ressource Amazon (ARN) du cluster de base de données Aurora que vous souhaitez promouvoir comme principal pour la base de données globale Aurora.
Pour LinuxmacOS, ou Unix :
aws rds --region
region_of_primary
\ switchover-global-cluster --global-cluster-identifierglobal_database_id
\ --target-db-cluster-identifierarn_of_secondary_to_promote
Dans Windows :
aws rds --region
region_of_primary
^ switchover-global-cluster --global-cluster-identifierglobal_database_id
^ --target-db-cluster-identifierarn_of_secondary_to_promote
Pour basculer entre une base de données globale Aurora, exécutez l'SwitchoverGlobalClusterAPIopération.
Gestion des RPOs bases de données globales SQL basées sur Aurora Postgre
Avec une base de données globale SQL basée sur Aurora Postgre, vous pouvez gérer l'objectif du point de récupération (RPO) pour votre base de données globale Aurora à l'aide du rds.global_db_rpo
paramètre. RPOreprésente la quantité maximale de données susceptibles d'être perdues en cas de panne.
Lorsque vous définissez un RPO pour votre base de données globale SQL basée sur Aurora Postgre, Aurora surveille le temps de RPO latence de tous les clusters secondaires pour s'assurer qu'au moins un cluster secondaire reste dans la fenêtre cibleRPO. RPOle temps de latence est une autre métrique basée sur le temps.
Le RPO est utilisé lorsque votre base de données reprend ses opérations dans une nouvelle base de données Région AWS après un basculement. Aurora évalue RPO et retarde RPO les délais pour valider (ou bloquer) les transactions sur le serveur principal comme suit :
Valide la transaction si au moins un cluster de base de données secondaire a un temps de RPO latence inférieur àRPO.
Bloque la transaction si tous les clusters de base de données secondaires ont des temps de RPO latence supérieurs àRPO. Il enregistre également l'événement dans le fichier SQL journal Postgre et émet des événements « d'attente » indiquant les sessions bloquées.
En d'autres termes, si tous les clusters secondaires sont en retard par rapport à la cibleRPO, Aurora suspend les transactions sur le cluster principal jusqu'à ce qu'au moins un des clusters secondaires rattrape son retard. Les transactions suspendues sont reprises et validées dès que le délai d'au moins un cluster de base de données secondaire devient inférieur à. RPO Il en résulte qu'aucune transaction ne peut être validée tant que le seuil n'RPOest pas atteint.
Le paramètre rds.global_db_rpo
est dynamique. Si vous décidez de ne pas bloquer toutes les transactions d'écriture jusqu'à ce que le retard diminue suffisamment, vous pouvez le réinitialiser rapidement. Dans ce cas, Aurora reconnaît et met en œuvre le changement après un court délai.
Important
Dans une base de données globale assortie de seulement deux régions, nous recommandons de conserver la valeur par défaut du paramètre rds.global_db_rpo
dans le groupe de paramètres de la région secondaire. Dans le cas contraire, le basculement vers cette région à la suite de la perte de la région principale pourrait conduire Aurora à interrompre les transactions. Attendez plutôt qu'Aurora ait terminé de reconstruire le cluster dans l'ancienne région défaillante avant de modifier ce paramètre afin d'appliquer un maximumRPO.
Si vous définissez ce paramètre comme indiqué ci-dessous, vous pouvez également surveiller les métriques qu'il génère. Vous pouvez le faire en utilisant psql
un autre outil pour interroger le cluster de base de données principal de la base de données globale Aurora et obtenir des informations détaillées sur les opérations de votre base de données globale SQL basée sur Aurora Postgre. Pour savoir comment procéder, consultez Surveillance des bases de données globales SQL basées sur Aurora Postgre.
Rubriques
Configuration de l'objectif de point de récupération
Le rds.global_db_rpo
paramètre contrôle le RPO réglage d'une base de SQL données Postgre. Ce paramètre est pris en charge par Aurora PostgreSQL. Les valeurs valides pour rds.global_db_rpo
sont comprises entre 20 secondes et 2 147 483 647 secondes (68 ans). Choisissez une valeur réaliste pour répondre aux besoins de votre entreprise et à votre cas d'utilisation. Par exemple, vous pouvez prévoir jusqu'à 10 minutes pour votreRPO, auquel cas vous définissez la valeur sur 600.
Vous pouvez définir cette valeur pour votre base de données globale SQL basée sur Aurora Postgre en utilisant le AWS Management Console AWS CLI, le ou le. RDS API
Pour régler le RPO
Connectez-vous à la RDS console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/
. -
Choisissez le cluster principal de votre base de données Aurora globale et ouvrez l'onglet Configuration pour rechercher son groupe de paramètres de cluster de base de données. Par exemple, le groupe de paramètres par défaut pour un cluster de base de données principal exécutant Aurora Postgre SQL 11.7 est.
default.aurora-postgresql11
Les groupes de paramètres ne peuvent pas être modifiés directement. Au lieu de cela, procédez comme suit :
Créez un groupe de paramètres de cluster de base de données personnalisé en utilisant le groupe de paramètres par défaut approprié comme point de départ. Par exemple, créez un groupe de paramètres de cluster de base de données personnalisé basé sur le
default.aurora-postgresql11
.Sur votre groupe de paramètres de bases de données personnalisé, définissez la valeur du paramètre rds.global_db_rpo pour répondre à votre cas d'utilisation. Les valeurs valides sont comprises entre 20 secondes et la valeur entière maximale 2 147 483 647 secondes (68 ans).
Appliquez le groupe de paramètres de cluster de base de données modifié à votre cluster de base de données Aurora.
Pour de plus amples informations, veuillez consulter Modification des paramètres d'un groupe de paramètres de cluster de base de données dans Amazon Aurora.
Pour définir le rds.global_db_rpo
paramètre, utilisez la CLI commande modify-db-cluster-parameter-group. Dans la commande, spécifiez le nom du groupe de paramètres de votre cluster principal et les valeurs des RPO paramètres.
L'exemple suivant définit RPO à 600 secondes (10 minutes) le groupe de paramètres du cluster de base de données principal nommémy_custom_global_parameter_group
.
Pour LinuxmacOS, ou Unix :
aws rds modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name
my_custom_global_parameter_group
\ --parameters "ParameterName=rds.global_db_rpo,ParameterValue=600
,ApplyMethod=immediate"
Dans Windows :
aws rds modify-db-cluster-parameter-group ^ --db-cluster-parameter-group-name
my_custom_global_parameter_group
^ --parameters "ParameterName=rds.global_db_rpo,ParameterValue=600
,ApplyMethod=immediate"
Pour modifier le rds.global_db_rpo
paramètre, utilisez l'odifyDBClusterParameterGroupAPIopération Amazon RDS M.
Affichage de l'objectif de point de récupération
L'objectif du point de restauration (RPO) d'une base de données globale est stocké dans le rds.global_db_rpo
paramètre de chaque cluster de bases de données. Vous pouvez vous connecter au point de terminaison du cluster secondaire que vous souhaitez afficher et utiliser psql
afin d'interroger l'instance pour cette valeur.
show rds.global_db_rpo;
db-name
=>
Si ce paramètre n'est pas défini, la requête renvoie le résultat suivant :
rds.global_db_rpo
-------------------
-1
(1 row)
La réponse suivante provient d'un cluster de base de données secondaire doté d'un RPO paramètre de 1 minute.
rds.global_db_rpo
-------------------
60
(1 row)
Vous pouvez également utiliser le pour CLI obtenir des valeurs permettant de savoir s'il rds.global_db_rpo
est actif sur l'un des clusters de base de données Aurora en utilisant le CLI pour obtenir les valeurs de tous les user
paramètres du cluster.
Pour LinuxmacOS, ou Unix :
aws rds describe-db-cluster-parameters \ --db-cluster-parameter-group-name
lab-test-apg-global
\ --source user
Dans Windows :
aws rds describe-db-cluster-parameters ^ --db-cluster-parameter-group-name
lab-test-apg-global
* --source user
La commande renvoie une sortie similaire à celle ci-dessous pour tous les paramètres user
différents des paramètres de cluster de base de données default-engine
ou system
.
{
"Parameters": [
{
"ParameterName": "rds.global_db_rpo",
"ParameterValue": "60",
"Description": "(s) Recovery point objective threshold, in seconds, that blocks user commits when it is violated.",
"Source": "user",
"ApplyType": "dynamic",
"DataType": "integer",
"AllowedValues": "20-2147483647",
"IsModifiable": true,
"ApplyMethod": "immediate",
"SupportedEngineModes": [
"provisioned"
]
}
]
}
Pour en savoir plus sur l'affichage des paramètres du groupe de paramètres de cluster, consultez Affichage des valeurs de paramètres pour un groupe de paramètres de cluster de base de données dans Amazon Aurora.
Désactivation de l'objectif de point de récupération
Pour le désactiverRPO, réinitialisez le rds.global_db_rpo
paramètre. Vous pouvez réinitialiser les paramètres à l'aide du AWS Management Console AWS CLI, du ou du RDSAPI.
Pour désactiver le RPO
Connectez-vous à la RDS console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/
. -
Dans le volet de navigation, choisissez Groupes de paramètres.
-
Dans la liste, choisissez votre groupe de paramètres de cluster de base de données principal.
-
Choisissez Modifier les paramètres.
-
Sélectionnez la case en regard du paramètre rds.global_db_rpo.
-
Choisissez Réinitialiser.
-
Lorsque l'écran affiche Réinitialiser les paramètres dans le groupe de paramètres de base de données, choisissez Réinitialiser les paramètres.
Pour de plus amples informations sur la réinitialisation d'un paramètre avec la console, veuillez consulter Modification des paramètres d'un groupe de paramètres de cluster de base de données dans Amazon Aurora.
Pour réinitialiser le rds.global_db_rpo
paramètre, utilisez la commande reset-db-cluster-parameter-group.
Pour LinuxmacOS, ou Unix :
aws rds reset-db-cluster-parameter-group \ --db-cluster-parameter-group-name
global_db_cluster_parameter_group
\ --parameters "ParameterName=rds.global_db_rpo,ApplyMethod=immediate"
Dans Windows :
aws rds reset-db-cluster-parameter-group ^ --db-cluster-parameter-group-name
global_db_cluster_parameter_group
^ --parameters "ParameterName=rds.global_db_rpo,ApplyMethod=immediate"
Pour réinitialiser le rds.global_db_rpo
paramètre, utilisez l'esetDBClusterParameterGroupopération Amazon RDS API R.