Création d'une réplique de lecture dans un autre Région AWS - Amazon Relational Database Service

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 Amazon RDS, vous pouvez créer une réplique en lecture dans une instance de base de données différente Région AWS de l'instance de base de données source.

Configuration d'un réplica en lecture entre régions

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 en 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-replicacommande ou appeler l'opération CreateDBInstanceReadReplicaAPI.

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.

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 sur Amazon RDS.

Création d'un réplica en lecture entre régions

Les procédures suivantes expliquent comment créer un réplica en lecture à partir d'une instance de base de données MariaDB, Microsoft SQL Server, MySQL, Oracle ou PostgreSQL source dans une autre 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
  1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à https://console.aws.amazon.com/rds/l'adresse.

  2. Dans le panneau de navigation, choisissez Databases (Bases de données).

  3. Choisissez l'instance de base de données MariaDB, Microsoft SQL Server, MySQL, Oracle ou PostgreSQL que vous souhaitez utiliser comme source pour un réplica en lecture.

  4. Sous Actions, choisissez Créer des réplicas en lecture.

  5. Sous Identifiant de l'instance DB, saisissez un nom pour le réplica en lecture.

  6. Choisissez la Région de destination.

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

  8. Pour créer une réplique de lecture cryptée dans un autre Région AWS :

    1. Choisissez Activer le chiffrement.

    2. Pour AWS KMS key, choisissez l' AWS KMS key identifiant de la clé KMS 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 Amazon RDS.

  9. Choisissez d'autres options, telles que la scalabilité automatique du stockage.

  10. Choisissez Créer un réplica en lecture.

Pour créer un réplica en lecture à partir d'une instance de base de données MySQL, Microsoft SQL Server, MariaDB, Oracle ou PostgreSQL source dans une autre Région AWS, vous pouvez utiliser la commande create-db-instance-read-replica. Dans ce cas, vous utilisez create-db-instance-read-replicadepuis 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 façon 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 US East (N. Virginia), l'ARN ressemble à l'exemple suivant :

arn:aws:rds:us-east-1:123456789012:db:mydbinstance

Pour plus d'informations sur ARNs, 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-replicacommande 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 format ARN pour la Région AWS source.

  • --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 \ --region us-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 ^ --region us-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 clé KMS à 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 \ --region us-west-2 \ --source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:mydbinstance \ --kms-key-id my-us-west-2-key

Dans Windows:

aws rds create-db-instance-read-replica ^ --db-instance-identifier myreadreplica ^ --region us-west-2 ^ --source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:mydbinstance ^ --kms-key-id my-us-west-2-key

--source-regionCette 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. Une URL présignée est une URL qui contient une demande signée via Signature Version 4 pour la commande create-db-instance-read-replica qui est appelée dans la Région AWS source. 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 PostgreSQL source dans une autre instance Région AWS, vous pouvez appeler l'opération Create de l'API Amazon RDS. DBInstance ReadReplica Dans ce cas, vous appelez Create DBInstance ReadReplica à partir de 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 façon unique une ressource créée dans Amazon Web Services.

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, vous pouvez utiliser l'CreateDBInstanceReadReplicaopération d'API Amazon RDS 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. PreSignedURLdoit contenir une demande pour que l'CreateDBInstanceReadReplicaopé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 bases de données source se trouve dans la région US East (N. Virginia), l'ARN ressemble à ce qui suit.

arn:aws:rds:us-east-1:123456789012:db:mydbinstance

Pour plus d'informations sur ARNs, 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=&region-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>

Processus de réplication entre régions au sein d'Amazon RDS

Amazon RDS utilise le processus ci-dessous pour créer un réplica en lecture entre régions. 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 :

  1. Amazon RDS commence par configurer l'instance DB source comme source de réplication et définit le statut sur modifying (modification).

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

  3. Amazon RDS crée un instantané de base de données automatisé de l'instance de base de données source dans la Région AWS source. 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'instance mysourceinstance le 2013-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).

  4. Amazon RDS commence une copie de l'instantané 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).

  5. Amazon RDS utilise alors l'instantané de base de données copié pour le chargement initial des données sur le réplica en lecture. 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.

  6. Lorsque le réplica 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 du réplica 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 de la limite du nombre d'entrées de liste de contrôle d'accès (ACL) pour le VPC source, RDS ne peut 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 à destination ou en provenance des GovCloud États-Unis.

  • Pour les moteurs RDS suivants, vous pouvez créer une réplique de lecture Amazon RDS interrégionale à partir d'une instance de base de données Amazon RDS source uniquement lorsqu'il ne s'agit pas d'une réplique en lecture d'une autre instance de base de données Amazon RDS :

    • RDS for SQL Server

    • RDS for Oracle

    • RDS pour les versions de PostgreSQL inférieures à 14.1

    Cette limitation ne s'applique pas aux instances de base de données exécutant RDS pour PostgreSQL version 14.1 ou ultérieure, RDS pour MariaDB et RDS pour MySQL.

  • Vous pouvez vous attendre à un délai 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 ces réplicas en lecture entre régions, toutes les commandes de création de réplica en lecture qui spécifient le paramètre --db-subnet-group-name doivent spécifier un groupe de sous-réseaux DB du même 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 MySQL et Oracle, vous pouvez spécifier un groupe de paramètres personnalisé pour la réplique en lecture dans l'--db-parameter-group-nameoption de la AWS CLI commande create-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, Microsoft SQL Server, MySQL et Oracle, lorsque l'instance de base de données source pour un réplica en lecture entre régions est supprimée, le réplica en lecture est promu.

  • Pour les instances de base de données PostgreSQL, lorsque l'instance de base de données source d'un réplica en lecture entre régions est supprimée, l'état de réplication du réplica en 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'un réplica en lecture entre régions, le demandeur (rôle IAM ou utilisateur IAM) doit avoir accès à l'instance de base de données source et à la région source.

Certaines conditions de la politique IAM du demandeur peuvent occasionner 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 illustrent les conditions de la politique IAM du demandeur qui occasionnent 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 par RDS pour le compte 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 ou aws:SourceVpce.

    Ces demandes peuvent échouer car l'appel effectué par RDS à la région distante ne provient pas du point de terminaison VPC ou du VPC spécifié.

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 de plus amples informations, veuillez consulter Policies and permissions in IAM (Stratégies et autorisations dans IAM) dans le IAM Guide de l'utilisateur.

Autorisation du réplica en lecture

Après qu'une demande de création d'un réplica en lecture de base de données inter-région a renvoyé success, RDS démarre la création du réplica en arrière-plan. Une autorisation devant permettre à RDS d'accéder à l'instance de base de données source est créée. Cette autorisation associe l'instance de base de données source au réplica en lecture et permet à RDS de ne copier que vers le réplica en lecture spécifié.

L'autorisation est vérifiée par RDS à l'aide de l'autorisation rds:CrossRegionCommunication dans le rôle IAM lié au service. Si le réplica est autorisé, RDS communique avec la région source et accomplit la création du réplica.

RDS n'a pas accès aux instances DB qui n'ont pas été autorisées auparavant par une demande CreateDBInstanceReadReplica. L'autorisation est révoquée lorsque la création du réplica en lecture est terminée.

RDS utilise le rôle lié au service afin de 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 Utilisation des rôles liés à un service dans le IAM Guide de l'utilisateur.

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 issues de l'opération d'assumeRoleAPI dans 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 dans le paramètre URL pré-signé.

Pour plus d'informations, consultez la section Gestion AWS STS dans et Région AWS dans le guide de l'utilisateur IAM.

Coûts de la réplication entre régions

Les données transférées pour la réplication entre régions génèrent des frais de transfert de données Amazon RDS. 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 un réplica en lecture, Amazon RDS prend un instantané de l'instance source et transfère cet instantané vers la Région AWS du réplica en lecture.

  • 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 Région AWS lue.

Pour de plus amples informations sur la tarification du transfert des données, veuillez consulter la Tarification Amazon RDS.

Pour les instances MySQL et MariaDB, vous pouvez réduire les coûts de transfert de données en réduisant le nombre de réplicas en 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écifiant source-instance-1 comme source.

  • Créez read-replica-2 à partir de read-replica-1.

  • Créez read-replica-3 à partir de read-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.