

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.

# Supervision de la réplication en lecture
<a name="USER_ReadRepl.Monitoring"></a>

Vous pouvez superviser le statut d'un réplica en lecture de différentes manières. La console Amazon RDS affiche le statut d'un réplica en lecture dans la section **Replication** (Réplication) de l'onglet **Connectivity & security** (Connectivité et sécurité), dans les détails du réplica en lecture. Pour consulter les détails d'un réplica en lecture, cliquez sur son nom dans la liste des instances de base de données de la console Amazon RDS.

![\[Statut du réplica en lecture\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ReadReplicaStatus.png)


Vous pouvez également consulter l'état d'une réplique lue à l'aide de la AWS CLI `describe-db-instances` commande ou de l'`DescribeDBInstances`opération d'API Amazon RDS.

Le statut d'un réplica en lecture peut avoir les valeurs suivantes :
+ ****replicating (réplication en cours)**** – Le réplica en lecture réplique correctement.
+ ****réplication dégradée** (SQL Server et PostgreSQL uniquement)** : les réplicas reçoivent des données de l'instance principale, mais une ou plusieurs bases de données peuvent ne pas recevoir de mises à jour. Cela peut se produire, par exemple, lorsqu'un réplica est en train de configurer des bases de données nouvellement créées. Cela peut également se produire lorsque des modifications de DDL non prises en charge ou d'objets volumineux sont apportées dans l'environnement bleu d'un blue/green déploiement.

  L'état ne passe pas de `replication degraded` à `error`, à moins qu'une erreur ne se produise pendant l'état dégradé.
+ ****error (erreur)**** – Une erreur s'est produite dans le cadre de la réplication. Examinez le champ **Replication Error (Erreur de réplication)** dans la console Amazon RDS ou le journal des événements pour déterminer l'erreur exacte. Pour plus d'informations sur la résolution d'une erreur de réplication, consultez [Résolution d'un problème de réplica en lecture MySQL](USER_ReadRepl.Troubleshooting.md).
+ ****terminated (arrêté)** (MariaDB, MySQL ou PostgreSQL uniquement)** – La réplication est arrêtée. Cela se produit si la réplication est arrêtée pendant plus de trente jours consécutifs, manuellement ou en raison d'une erreur de réplication. Dans ce cas, Amazon RDS met fin à la réplication entre l'instance de base de données principale et tous les réplicas en lecture. Amazon RDS fait cela pour éviter l'augmentation des besoins en stockage sur l'instance de base de données source et de longs délais de basculement.

  Une réplication interrompue peut affecter le stockage, car les journaux peuvent croître en taille et en nombre en raison du volume élevé des messages d'erreur consignés dans le journal. Une réplication interrompue peut également affecter la récupération en cas de défaillance en raison du temps dont a besoin Amazon RDS pour conserver et traiter le grand nombre de journaux au cours de la récupération.
+ ****terminated** (arrêté) (Oracle uniquement)** – La réplication est arrêtée. Cela se produit si la réplication est arrêtée pendant plus de 8 heures car l'espace de stockage restant sur le réplica en lecture est insuffisant. Dans ce cas, Amazon RDS met fin à la réplication entre l'instance de base de données principale et les réplicas en lecture affectés. Ce statut est un état terminal et le réplica en lecture doit être recréé.
+ ****stopped (interrompue)** (MariaDB ou MySQL uniquement)** – La réplication s'est interrompue en raison d'une demande initiée par le client.
+ ****replication stop point set (point d'arrêt de réplication réglé)** (MySQL uniquement)** – Un point d'arrêt de réplication a été réglé par le client à l'aide de la procédure stockée [](mysql-stored-proc-replicating.md#mysql_rds_start_replication_until) et la réplication est en cours.
+ ****replication stop point reached (point d'arrêt de réplication atteint)** (MySQL uniquement)** – Un point d'arrêt de réplication a été réglé par le client à l'aide de la procédure stockée [](mysql-stored-proc-replicating.md#mysql_rds_start_replication_until) et la réplication est arrêtée, car le point d'arrêt est atteint.

Vous pouvez voir où une instance de base de données est répliquée et, le cas échéant, vérifier son état de réplication. Sur la page **Bases de données** de la console RDS, elle affiche **Primaire** dans la colonne **Rôle** . Choisissez son nom d'instance de base de données. Sur sa page détaillée, dans l'onglet **Connectivité et sécurité**, son état de réplication se trouve sous **Réplication**.

## Surveillance du retard de réplication
<a name="USER_ReadRepl.Monitoring.Lag"></a>

Vous pouvez surveiller le délai de réplication dans Amazon CloudWatch en consultant la `ReplicaLag` métrique Amazon RDS.

Pour Db2, la métrique `ReplicaLag` correspond au retard maximal des bases de données qui ont pris du retard, en secondes. Par exemple, si deux bases de données accusent respectivement un retard de 5 secondes et 10 secondes, `ReplicaLag` a pour valeur 10 secondes. Les bases de données dont le statut HADR (High Availability Disaster Recovery) n’est pas disponible ne sont pas incluses dans le calcul.

Pour MySQL et MariaDB, la métrique `ReplicaLag` contient la valeur du champ `Seconds_Behind_Master` de la commande `SHOW REPLICA STATUS`. Les causes courantes du retard de réplication pour MySQL et MariaDB sont les suivantes :
+ Une indisponibilité du réseau.
+ L'écriture dans des tables avec des index sur un réplica en lecture. Si le paramètre `read_only` n'a pas pour valeur 0 sur le réplica en lecture, il peut interrompre la réplication.
+ Utilisation d'un moteur de stockage non transactionnel tel que MyISAM. La réplication est prise en charge uniquement pour le moteur de stockage InnoDB sur MySQL et pour le moteur de stockage XtraDB sur MariaDB.

**Note**  
Les versions précédentes de MariaDB utilisaient `SHOW SLAVE STATUS` à la place de `SHOW REPLICA STATUS`. Si vous utilisez une version de MariaDB antérieure à 10.5, utilisez `SHOW SLAVE STATUS`.

Lorsque la métrique `ReplicaLag` atteint 0, le réplica a rattrapé l'instance de bases de données principale. Si la métrique `ReplicaLag` retourne `-1`, la réplication n'est actuellement pas active. `ReplicaLag = -1` est équivalent à `Seconds_Behind_Master = NULL`.

Pour Oracle, la métrique `ReplicaLag` correspond à la somme de la valeur `Apply Lag` et à la différence entre la durée actuelle et la valeur `DATUM_TIME` du retard appliqué. La valeur `DATUM_TIME` correspond à la dernière heure à laquelle le réplica en lecture a reçu des données de son instance de base de données source. Pour plus d’informations, consultez [V\$1DATAGUARD\$1STATS](https://docs.oracle.com/database/121/REFRN/GUID-B346DD88-3F5E-4F16-9DEE-2FDE62B1ABF7.htm#REFRN30413) dans la documentation d’Oracle.

Pour SQL Server, la métrique `ReplicaLag` correspond au décalage maximal des bases de données qui ont pris du retard, en secondes. Par exemple, si vous avez deux bases de données qui accusent respectivement un retard de 5 secondes et 10 secondes, alors `ReplicaLag` a pour valeur 10 secondes. La métrique `ReplicaLag` renvoie la valeur de la requête suivante.

```
SELECT MAX(secondary_lag_seconds) max_lag FROM sys.dm_hadr_database_replica_states;
```

Pour plus d’informations, consultez [secondary\$1lag\$1seconds](https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-hadr-database-replica-states-transact-sql) dans la documentation Microsoft.

`ReplicaLag` renvoie `-1` si RDS ne peut pas déterminer le retard, par exemple lors de la configuration du réplica, ou lorsque le réplica en lecture est à l'état `error`.

**Note**  
Les nouvelles bases de données ne sont pas incluses dans le calcul du retard tant qu'elles ne sont pas accessibles sur le réplica en lecture.

Pour PostgreSQL, la métrique `ReplicaLag` renvoie la valeur de la requête suivante.

```
SELECT extract(epoch from now() - pg_last_xact_replay_timestamp()) AS reader_lag
```

PostgreSQL versions 9.5.2 et ultérieures utilise des emplacements physiques de réplication pour gérer la rétention WAL (Write Ahead Log) sur l'instance source. Pour chaque instance de réplica en lecture entre régions, Amazon RDS crée un emplacement de réplication physique et l'associe à l'instance. Deux CloudWatch indicateurs Amazon, `Oldest Replication Slot Lag` et`Transaction Logs Disk Usage`, montrent à quel point la réplique la plus en retard se situe en termes de données WAL reçues et de quantité de stockage utilisée pour les données WAL. La valeur `Transaction Logs Disk Usage` peut considérablement augmenter lorsqu'un réplica en lecture entre régions présente un retard important.

Pour plus d'informations sur la surveillance d'une instance de base de données avec CloudWatch, consultez[Surveillance des métriques Amazon RDS () avec Amazon CloudWatch](monitoring-cloudwatch.md).