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.
Création d'une réplique de lecture dans un autre Région AWS
Avec AmazonRDS, vous pouvez créer une réplique en lecture dans une instance de base de données Région AWS différente de l'instance de base de données source.
Vous créez une réplique de lecture dans un autre Région AWS pour effectuer les opérations suivantes :
-
Améliorer vos capacités de reprise après sinistre.
-
Adaptez les opérations de lecture au Région AWS plus près de vos utilisateurs.
-
Facilitez la migration d'un centre de données de l'un Région AWS vers un centre de données d'un autre Région AWS.
La création d'une réplique de lecture dans une instance Région AWS différente de l'instance source est similaire à la création d'une réplique dans la même instance Région AWS. Vous pouvez utiliser AWS Management Console, exécuter la create-db-instance-read-replica
commande ou appeler l'CreateDBInstanceReadReplica
APIopération.
Note
Pour créer une réplique de lecture chiffrée dans une instance de base de données Région AWS différente de l'instance de base de données source, l'instance de base de données source doit être chiffrée.
Rubriques
Disponibilité des régions et des versions
La disponibilité et la prise en charge des fonctionnalités varient selon les versions spécifiques de chaque moteur de base de données, et selon les Régions AWS. Pour obtenir plus d'informations sur la disponibilité des versions et des régions avec la réplication entre régions, consultez Régions et moteurs de base de données pris en charge pour les répliques de lecture entre régions dans Amazon RDS.
Création d'un réplica en lecture entre régions
Les procédures suivantes montrent comment créer une réplique en lecture à partir d'une instance de base de données MariaDB, SQL Microsoft ServerSQL, My, Oracle SQL ou Postgre source dans une autre instance. Région AWS
Vous pouvez créer une réplique en lecture à Régions AWS travers le AWS Management Console.
Pour créer une réplique en lecture Régions AWS avec la console
-
Connectez-vous à la RDS console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/
. -
Dans le panneau de navigation, choisissez Databases (Bases de données).
-
Choisissez l'instance de base de données MariaDB, SQL Microsoft ServerSQL, My, Oracle SQL ou Postgre que vous souhaitez utiliser comme source pour une réplique en lecture.
-
Sous Actions, choisissez Créer des réplicas en lecture.
-
Sous Identifiant de l'instance DB, saisissez un nom pour le réplica en lecture.
-
Choisissez la Région de destination.
-
Choisissez les spécifications de l'instance que vous souhaitez utiliser. Nous vous recommandons d'utiliser un type de stockage et une classe d'instances de base de données identiques ou supérieurs pour le réplica en lecture.
-
Pour créer une réplique de lecture cryptée dans un autre Région AWS :
-
Choisissez Activer le chiffrement.
-
Pour AWS KMS key, choisissez l' AWS KMS key identifiant de la KMS clé dans la destination Région AWS.
Note
L'instance de base de données source doit être chiffrée pour que vous puissiez créer un réplica en lecture chiffré. Pour en savoir plus sur le chiffrement de l'instance de bases de données source, consultez Chiffrement des ressources RDS.
-
-
Choisissez d'autres options, telles que la scalabilité automatique du stockage.
-
Choisissez Créer un réplica en lecture.
Pour créer une réplique en lecture à partir d'une instance de base de données MySQL, Microsoft SQL Server, MariaDB, Oracle ou SQL Postgre source dans une Région AWS autre instance, vous pouvez utiliser la commande. create-db-instance-read-replica
Dans ce cas, vous utilisez create-db-instance-read-replica
depuis l' Région AWS endroit où vous souhaitez lire la réplique (région de destination) et vous spécifiez le nom de ressource Amazon (ARN) pour l'instance de base de données source. Un ARN identifie de manière unique une ressource créée dans Amazon Web Services.
Par exemple, si votre instance de base de données source se trouve dans la région USA Est (Virginie du Nord), cela ARN ressemble à cet exemple :
arn:aws:rds:us-east-1:123456789012:db:mydbinstance
Pour plus d'informations surARNs, voirNoms des ressources Amazon (ARNs) dans Amazon RDS.
Pour créer une réplique de lecture dans une instance de base de données Région AWS différente de l'instance de base de données source, vous pouvez utiliser la AWS CLI create-db-instance-read-replica
commande depuis la destination Région AWS. Les paramètres suivants sont nécessaires pour créer un réplica en lecture dans une autre Région AWS :
-
--region
— Destination Région AWS où la réplique lue est créée. -
--source-db-instance-identifier
– Identifiant d'instance de base de données de l'instance de base de données source. Cet identifiant doit être au ARN format de la source Région AWS. -
--db-instance-identifier
– Identifiant du réplica en lecture dans la Région AWS de destination.
Exemple d'un réplica en lecture entre régions
Le code suivant crée un réplica en lecture dans la région USA Ouest (Oregon) à partir d'une instance de base de données source dans la région US East (N. Virginia).
Dans Linux, macOS, ou Unix:
aws rds create-db-instance-read-replica \ --db-instance-identifier
myreadreplica
\ --regionus-west-2
\ --source-db-instance-identifier arn:aws:rds:us-east-1
:123456789012
:db:mydbinstance
Dans Windows:
aws rds create-db-instance-read-replica ^ --db-instance-identifier
myreadreplica
^ --regionus-west-2
^ --source-db-instance-identifier arn:aws:rds:us-east-1
:123456789012
:db:mydbinstance
Le paramètre suivant est également nécessaire pour créer un réplica en lecture chiffré dans une autre Région AWS :
-
--kms-key-id
— L' AWS KMS key identifiant de la KMS clé à utiliser pour chiffrer la réplique lue dans la destination Région AWS.
Exemple d'un réplica en lecture entre régions chiffré
Le code suivant crée un réplica en lecture chiffré dans la région USA Ouest (Oregon) à partir d'une instance de base de données source dans la région US East (N. Virginia).
Dans Linux, macOS, ou Unix:
aws rds create-db-instance-read-replica \ --db-instance-identifier
myreadreplica
\ --regionus-west-2
\ --source-db-instance-identifier arn:aws:rds:us-east-1
:123456789012
:db:mydbinstance
\ --kms-key-idmy-us-west-2-key
Dans Windows:
aws rds create-db-instance-read-replica ^ --db-instance-identifier
myreadreplica
^ --regionus-west-2
^ --source-db-instance-identifier arn:aws:rds:us-east-1
:123456789012
:db:mydbinstance
^ --kms-key-idmy-us-west-2-key
--source-region
Cette option est requise lorsque vous créez une réplique de lecture cryptée entre les régions AWS GovCloud (USA Est) et AWS GovCloud (USA Ouest). Pour --source-region
, spécifiez la Région AWS de l'instance de base de données source.
Si --source-region
n'est pas spécifié, spécifiez une valeur --pre-signed-url
. Un présigné URL est un URL qui contient une demande signée Signature version 4 pour la create-db-instance-read-replica
commande appelée dans la source Région AWS. Pour en savoir plus sur pre-signed-url
cette option, consultez create-db-instance-read-replica dans le manuel de référence des AWS CLI commandes.
Pour créer une réplique en lecture à partir d'une instance de base de données MySQL, Microsoft SQL Server, MariaDB, Oracle ou SQL Postgre source dans une Région AWS autre instance, vous pouvez appeler l'opération Amazon C. RDS API reateDBInstance ReadReplica Dans ce cas, vous appelez C reateDBInstance ReadReplica depuis l' Région AWS endroit où vous souhaitez lire la réplique (région de destination) et vous spécifiez le nom de ressource Amazon (ARN) pour l'instance de base de données source. Un ARN identifie de manière unique une ressource créée dans Amazon Web Services.
Pour créer une réplique de lecture chiffrée dans une instance de base Région AWS de données différente de l'instance de base de données source, vous pouvez utiliser l'RDSAPICreateDBInstanceReadReplica
opération Amazon depuis la destination Région AWS. Pour créer une réplique de lecture cryptée dans un autre Région AWS, vous devez spécifier une valeur pourPreSignedURL
. PreSignedURL
doit contenir une demande pour que l'CreateDBInstanceReadReplica
opération appelle la source dans Région AWS laquelle la réplique de lecture est créée. Pour en savoir plus sur PreSignedUrl
, consultez CreateDBInstanceReadReplica
.
Par exemple, si votre instance de base de données source se trouve dans la région de l'est des États-Unis (Virginie du Nord), ARN cela ressemble à ce qui suit.
arn:aws:rds:us-east-1:123456789012:db:mydbinstance
Pour plus d'informations surARNs, voirNoms des ressources Amazon (ARNs) dans Amazon RDS.
Exemple
https://us-west-2.rds.amazonaws.com/ ?Action=CreateDBInstanceReadReplica &KmsKeyId=my-us-east-1-key &PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F %253FAction%253DCreateDBInstanceReadReplica %2526DestinationRegion%253Dus-east-1 %2526KmsKeyId%253Dmy-us-east-1-key %2526SourceDBInstanceIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%123456789012%25253Adb%25253Amydbinstance %2526SignatureMethod%253DHmacSHA256 %2526SignatureVersion%253D4%2526SourceDBInstanceIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%25253A123456789012%25253Ainstance%25253Amydbinstance %2526Version%253D2014-10-31 %2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256 %2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds%252Faws4_request %2526X-Amz-Date%253D20161117T215409Z %2526X-Amz-Expires%253D3600 %2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-content-sha256%253Bx-amz-date %2526X-Amz-Signature%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613 &DBInstanceIdentifier=myreadreplica &SourceDBInstanceIdentifier=®ion-arn;rds:us-east-1:123456789012:db:mydbinstance &Version=2012-01-15 &SignatureVersion=2 &SignatureMethod=HmacSHA256 &Timestamp=2012-01-20T22%3A06%3A23.624Z &AWSAccessKeyId=<&AWS; Access Key ID> &Signature=<Signature>
Comment Amazon RDS effectue la réplication entre régions
Amazon RDS utilise le processus suivant pour créer une réplique de lecture interrégionale. Ce processus peut prendre des Régions AWS heures en fonction de l'enjeu et de la quantité de données contenues dans les bases de données. Vous pouvez utiliser ces informations pour déterminer l'avancement du processus lorsque vous créez un réplica en lecture entre régions :
-
Amazon RDS commence à configurer l'instance de base de données source en tant que source de réplication et définit le statut sur Modification.
-
Amazon RDS commence à configurer la réplique de lecture spécifiée dans la destination Région AWS et définit le statut de création.
-
Amazon RDS crée un instantané de base de données automatique de l'instance de base de données source dans la source Région AWS. Le format du nom de l'instantané de base de données est :
rds:<InstanceID>-<timestamp>
, où<InstanceID>
est l'identifiant de l'instance source, et<timestamp>
est la date et l'heure du début de la copie. Par exemple,rds:mysourceinstance-2013-11-14-09-24
a été créé à partir de l'instancemysourceinstance
le2013-11-14-09-24
. Pendant la création de l'instantané de base de données automatique, le statut de l'instance de base de données source reste modifying (modification), le statut du réplica en lecture reste creating (création) et le statut de l'instantané de base de données est creating (création). La colonne d'avancement de la page de l'instantané de base de données dans la console indique le niveau d'avancement de la création de l'instantané de base de données. Une fois l'instantané de base de données terminé, le statut de l'instantané de base de données et celui de l'instance de base de données source sont définis sur available (disponible). -
Amazon RDS lance une copie instantanée entre régions pour le transfert de données initial. La copie instantanée est répertoriée en tant que capture automatique dans la destination Région AWS avec un statut de création. Elle porte le même nom que l'instantané de base de données source. La colonne d'avancement de l'affichage de l'instantané de base de données indique le niveau d'avancement de la copie. Une fois la copie terminée, le statut de la copie de l'instantané de base de données est défini sur available (disponible).
-
Amazon utilise RDS ensuite l'instantané de base de données copié pour le chargement initial des données sur la réplique lue. Au cours de cette phase, le réplica en lecture figure dans la liste des instances de bases de données de la destination, avec le statut creating (création). Une fois le chargement terminé, le statut du réplica en lecture est défini sur available (disponible) et la copie de l'instantané de base de données est supprimée.
-
Lorsque la réplique en lecture atteint le statut disponible, Amazon RDS commence par répliquer les modifications apportées à l'instance source depuis le début de l'opération de création de la réplique en lecture. Durant cette phase, la durée du retard de réplication pour le réplica en lecture est supérieure à 0.
Pour plus d'informations sur la durée du retard de réplication, veuillez consulter Supervision de la réplication en lecture.
Considérations liées à la réplication entre régions
Toutes les considérations relatives à la réalisation de la réplication au sein d'un Région AWS s'appliquent à la réplication entre régions. Les considérations supplémentaires suivantes s'appliquent lors d'une réplication entre Régions AWS :
-
Une instance de base de données source peut avoir des réplicas en lecture entre régions dans plusieurs Régions AWS. En raison du nombre limité d'entrées de liste de contrôle d'accès (ACL) pour la sourceVPC, nous ne RDS pouvons pas garantir plus de cinq instances de base de données de répliques en lecture interrégionales.
-
Vous pouvez effectuer une réplication entre les régions GovCloud (USA Est) et GovCloud (USA Ouest), mais pas vers ou depuis GovCloud (États-Unis).
-
Pour les instances de SQL base de données Microsoft SQL Server, Oracle et Postgre, vous ne pouvez créer une réplique de RDS lecture Amazon entre régions qu'à partir d'une instance de base de RDS données Amazon source qui n'est pas une réplique en lecture d'une autre instance de base de RDS données Amazon. Cette limitation ne s'applique pas aux instances MariaDB et SQL My DB.
-
Vous pouvez vous attendre à un temps de latence plus élevé pour toute réplique en lecture située dans une instance différente Région AWS de celle de la source. Cette latence vient des canaux de réseau plus longs entre les centres de données régionaux.
-
Pour les répliques de lecture entre régions, toutes les commandes de création de répliques de lecture qui spécifient le
--db-subnet-group-name
paramètre doivent spécifier un groupe de sous-réseaux de base de données provenant de celui-ci. VPC -
Dans la plupart des cas, le réplica en lecture utilise le groupe de paramètres de base de données par défaut et le groupe d'options de base de données par défaut pour le moteur de base de données spécifié.
Pour les moteurs de base de données My SQL et Oracle, vous pouvez spécifier un groupe de paramètres personnalisé pour la réplique de lecture dans l'
--db-parameter-group-name
option de la AWS CLI commandecreate-db-instance-read-replica
. Vous ne pouvez pas spécifier un groupe de paramètres personnalisé lorsque vous utilisez AWS Management Console. -
Le réplica en lecture utilise le groupe de sécurité par défaut.
-
Pour les instances de base de données MariaDB, SQL Microsoft ServerSQL, My et Oracle, lorsque l'instance de base de données source pour une réplique de lecture entre régions est supprimée, la réplique de lecture est promue.
-
Pour les instances de SQL base de données Postgre, lorsque l'instance de base de données source d'une réplique de lecture interrégionale est supprimée, l'état de réplication de la réplique de lecture est défini sur.
terminated
Le réplica en lecture n'est pas promu.Vous devez promouvoir le réplica en lecture ou le supprimer manuellement.
Demande d'un réplica en lecture entre régions
Pour communiquer avec la région source afin de demander la création d'une réplique de lecture entre régions, le demandeur (IAMrôle ou IAM utilisateur) doit avoir accès à l'instance de base de données source et à la région source.
Certaines conditions de la IAM politique du demandeur peuvent entraîner l'échec de la demande. Les exemples suivants supposent que l'instance de base de données source se trouve dans la USA Est (Ohio) et que le réplica en lecture est créé dans la US East (N. Virginia). Ces exemples montrent les conditions de la IAM politique du demandeur qui entraînent l'échec de la demande :
-
La stratégie du demandeur est assortie d'une condition pour la
aws:RequestedRegion
.... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "us-east-1" } }
La demande échoue car la politique interdit l'accès à la région source. Pour qu'une demande aboutisse, spécifiez les régions source et destination.
... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": [ "us-east-1", "us-east-2" ] } }
-
La politique du demandeur interdit l'accès à l'instance de base de données source.
... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "arn:aws:rds:us-east-1:123456789012:db:myreadreplica" ...
Pour qu'une demande aboutisse, spécifiez à la fois l'instance source et le réplica.
... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": [ "arn:aws:rds:us-east-1:123456789012:db:myreadreplica", "arn:aws:rds:us-east-2:123456789012:db:mydbinstance" ] ...
-
La stratégie du demandeur refuse
aws:ViaAWSService
.... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "*", "Condition": { "Bool": {"aws:ViaAWSService": "false"} }
La communication avec la région source est effectuée RDS au nom du demandeur. Pour que la demande soit acceptée, ne refusez pas les appels passés par AWS les services.
-
La stratégie du demandeur est assortie d'une condition pour
aws:SourceVpc
ouaws:SourceVpce
.Ces demandes peuvent échouer car lorsque l'appel est RDS effectué vers la région distante, il ne provient pas de la zone spécifiée VPC ou du point de VPC terminaison.
Si vous devez utiliser l'une des conditions précédentes, qui sont susceptibles d'occasionner l'échec d'une requête, vous pouvez inclure une deuxième instruction avec aws:CalledVia
dans votre politique pour que la demande soit couronnée de succès. Par exemple, vous pouvez utiliser aws:CalledVia
avec aws:SourceVpce
comme indiqué ici :
... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "*", "Condition": { "Condition" : { "ForAnyValue:StringEquals" : { "aws:SourceVpce": "vpce-1a2b3c4d" } } }, { "Effect": "Allow", "Action": [ "rds:CreateDBInstanceReadReplica" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "rds.amazonaws.com" ] } } }
Pour plus d'informations, consultez la section Politiques et autorisations IAM dans le guide de IAM l'utilisateur.
Autorisation du réplica en lecture
Une fois qu'une demande de création de réplique de lecture de base de données interrégionale est renvoyéesuccess
, la création de la réplique RDS démarre en arrière-plan. Une autorisation d'accès RDS à l'instance de base de données source est créée. Cette autorisation lie l'instance de base de données source à la réplique de lecture et permet RDS de copier uniquement vers la réplique de lecture spécifiée.
L'autorisation est vérifiée à l'RDSaide de l'rds:CrossRegionCommunication
autorisation associée au rôle lié au serviceIAM. Si la réplique est autorisée, RDS communique avec la région source et termine la création de la réplique.
RDSn'a pas accès aux instances de base de données qui n'étaient pas autorisées auparavant par une CreateDBInstanceReadReplica
demande. L'autorisation est révoquée lorsque la création du réplica en lecture est terminée.
RDSutilise le rôle lié au service pour vérifier l'autorisation dans la région source. Si vous supprimez le rôle lié au service durant le processus de création de réplication, la création échoue.
Pour plus d'informations, consultez la section Utilisation des rôles liés à un service dans le Guide de l'IAMutilisateur.
Utilisation des AWS Security Token Service informations d'identification
Les jetons de session provenant du point de terminaison global AWS Security Token Service (AWS STS) ne sont valides Régions AWS que s'ils sont activés par défaut (régions commerciales). Si vous utilisez les informations d'identification de l'assumeRole
APIopération AWS STS, utilisez le point de terminaison régional si la région source est une région optionnelle. Sinon, la demande échoue. Cela se produit parce que vos informations d'identification doivent être valides dans les deux régions, ce qui n'est vrai pour les régions optionnelles que lorsque le point de AWS STS terminaison régional est utilisé.
Pour utiliser le point de terminaison global, assurez-vous qu'il est activé dans les opérations pour les deux régions. Définissez le point de terminaison global sur Valid in all Régions AWS
dans les paramètres du AWS STS compte.
La même règle s'applique aux informations d'identification figurant dans le URL paramètre présigné.
Pour plus d'informations, consultez la section Gestion AWS STS dans et Région AWS dans le guide de IAM l'utilisateur.
Coûts de la réplication entre régions
Les données transférées pour la réplication entre régions sont soumises aux frais de transfert de RDS données Amazon. Ces actions de réplication entre régions génèrent des frais pour les données transférées hors de la Région AWS source :
-
Lorsque vous créez une réplique en lecture, Amazon RDS prend un instantané de l'instance source et le transfère vers le réplica en lecture Région AWS.
-
Pour chaque modification de données effectuée dans les bases de données sources, Amazon RDS transfère les données de la source Région AWS vers la réplique lue Région AWS.
Pour plus d'informations sur les tarifs de transfert de données, consultez RDSles tarifs Amazon
Pour les instances My SQL et MariaDB, vous pouvez réduire les coûts de transfert de données en réduisant le nombre de répliques de lecture entre régions que vous créez. Supposons, par exemple, que vous ayez une instance de base de données source dans l'une Région AWS et que vous souhaitiez avoir trois répliques de lecture dans une autre Région AWS. Dans ce cas, vous créez uniquement l'un des réplicas en lecture à partir de l'instance de base de données source. Ensuite, vous créez les deux autres réplicas à partir du premier réplica en lecture plutôt qu'à partir de l'instance de base de données source.
Par exemple, si vous source-instance-1
en avez un Région AWS, vous pouvez effectuer les opérations suivantes :
-
Créez
read-replica-1
dans le nouveau Région AWS, en spécifiantsource-instance-1
comme source. -
Créez
read-replica-2
à partir deread-replica-1
. -
Créez
read-replica-3
à partir deread-replica-1
.
Dans cet exemple, seules les données transférées de source-instance-1
vers read-replica-1
vous sont facturées. Les données transférées de read-replica-1
vers les deux autres réplicas ne vous sont pas facturées, car ils figurent tous dans la même Région AWS. Si vous créez les trois réplicas directement à partir de source-instance-1
, les transferts de données vers les trois réplicas vous sont facturés.