Pourquoi mon instance de base de données de réplication AWS DMS présente-t-elle le statut Stockage plein ?

Lecture de 5 minute(s)
0

Je souhaite savoir pourquoi mon instance de base de données de réplication AWS Database Migration Service (AWS DMS) présente le statut Stockage plein.

Brève description

Vous avez la possibilité de spécifier le stockage alloué aux instances de base de données de réplication AWS DMS lorsque vous créez une instance de base de données de réplication. Par défaut, la taille des volumes est de 50 Gio pour les types d'instances de base de données de réplication dms.t2.* et dms.r4.*. La taille des volumes est de 100 Gio pour les types d'instances de base de données de réplication dms.c4.*. Pour surveiller l'espace de stockage disponible associé à l'instance de base de données de réplication, consultez la métrique Amazon CloudWatch FreeStorageSpace. Le stockage des instances de base de données de réplication est principalement utilisé pour les journaux de tâches et les modifications mises en cache qui sont collectés en cas de réplication continue. La raison pour laquelle votre instance de base de données de réplication AWS DMS présente le statut Stockage plein peut dépendre du type de migration.

Migrations avec chargement complet

Les journaux de tâches peuvent entraîner des problèmes de type Stockage plein s'ils sont nombreux. Par exemple, si vous activez la journalisation détaillée du débogage pour une tâche, votre instance de base de données contiendra davantage de journaux de tâches.

Migrations avec réplication continue

Les événements mis en cache peuvent entraîner des problèmes de stockage en phase de chargement complet, notamment si vous configurez votre migration pour utiliser le paramètre de tâche StopTaskCachedChangesNotApplied. Si la taille de stockage est trop petite pour stocker les modifications mises en cache, l'instance de base de données de réplication présente le statut Stockage plein. Les événements échangés pendant la phase de capture de données modifiées (CDC) peuvent entraîner des problèmes de stockage lorsque les modifications provenant de la source ne peuvent pas être appliquées à la cible. AWS DMS stocke d'abord les événements mis en cache en mémoire. Lorsque les valeurs définies par le paramètre MemoryKeepTime ou MemoryLimitTotal sont dépassées, AWS DMS remplace les événements mis en cache par du stockage. S'il n'y a pas assez de stockage pour les données échangées, l'instance de base de données de réplication est considérée comme présentant le statut Stockage plein. Pour en savoir plus, consultez la page Modifier les paramètres d'ajustement du traitement.

Résolution

Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la page Résolution des erreurs liées à AWS CLI. Vérifiez également que vous utilisez la version la plus récente d'AWS CLI.

Suppression des journaux de tâches

Si l'instance de base de données de réplication présente le statut Disponible, supprimez les journaux de tâches :

  1. Ouvrez la console AWS DMS.
  2. Dans le volet de navigation, sélectionnez Instances de réplication.
  3. Choisissez le nom de l'instance de base de données de réplication. Dans la section Gestion des journaux, vous pouvez voir toutes les tâches et la taille du journal de chacune.
  4. Sélectionnez les tâches pour lesquelles vous souhaitez supprimer les journaux, puis choisissez Supprimer.

Pour en savoir plus, consultez la page Affichage et gestion des journaux de tâches AWS DMS.

Modification du paramètre de tâche

Pour utiliser AWS CLI afin de supprimer les journaux de tâches DMS, vous devez modifier le paramètre de tâche. Exécutez la commande suivante pour créer un fichier JSON tasksetting.json :

{
  "Logging": {
    "DeleteTaskLogs":true
  }
}

Une fois le fichier JSON créé, exécutez la commande ci-dessous pour modifier le paramètre de tâche.

Remarque : pour pouvoir modifier la tâche, celle-ci doit présenter le statut Arrêté ou Échoué.

aws dms modify-replication-task --replication-task-arn  --replication-task-settings file://tasksetting.json

Pour modifier le paramètre de tâche, la commande précédente modifie le paramètre « DeleteTaskLogs » : vrai. Une fois le paramètre modifié, tous les journaux de tâches présents sont supprimés de l'instance de base de données de réplication. Le paramètre de tâche supprime ensuite le paramètre « DeleteTaskLogs » : vrai. Vérifiez que les journaux sont supprimés de l'instance de base de données de réplication et que le paramètre de tâche a bien supprimé le paramètre « DeleteTaskLogs » : vrai.

Pour supprimer les journaux de manière périodique, vous devez modifier à chaque fois le paramètre de tâche avec le paramètre « DeleteTaskLogs » : vrai. Vous pouvez utiliser le planificateur Lambda ou cronjob pour planifier l'exécution périodique de cette commande. Pour en savoir plus, consultez la page modify-replication-task.

Augmentation de la taille de stockage de l'instance de base de données de réplication

Si l'instance de base de données de réplication présente le statut Stockage plein, vous ne pourrez pas supprimer les journaux. Vous devez augmenter la taille de stockage allouée ou supprimer la tâche de réplication. Pour augmenter la taille de stockage d'une instance de base de données de réplication :

  1. Ouvrez la console AWS DMS.
  2. Dans le volet de navigation, sélectionnez Instances de réplication.
  3. Choisissez le nom de l'instance de base de données de réplication dont vous souhaitez modifier la taille du volume.
  4. Choisissez Modifier.
  5. Dans le champ Stockage alloué (Go), saisissez une nouvelle valeur.
  6. Sélectionnez Appliquer les modifications immédiatement, puis choisissez Modifier.

Important : une fois la taille de stockage allouée augmentée, il est impossible de la réduire.

Informations connexes

Bonnes pratiques pour AWS Database Migration Service

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 6 mois