Pourquoi mon instance de réplication AWS DMS est-elle a l’état espace de stockage saturé ?

Dernière mise à jour : 07/10/2020

Pourquoi mon instance de réplication AWS Database Migration Service (AWS DMS) a-t-elle l'état espace de stockage saturé ?

Brève description

Les instances de base de données de réplication AWS DMS disposent d'un stockage et vous pouvez spécifier le stockage alloué lorsque vous créez une instance de base de données de réplication. Par défaut, les types d'instances de base de données de réplication dms.t2. * Et dms.r4. * ont des tailles de volume de 50 Gio. Les types d'instance de base de données de réplication dms.c4. * ont des tailles de volume de 100 Gio. Surveillez la métrique Amazon CloudWatch pour FreeStorageSpace afin de surveiller l'espace de stockage libre de l'instance de base de données de réplication.

Le stockage d'instance 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 pour la réplication continue.

Migrations ayant un chargement complet uniquement

Les journaux de tâches peuvent provoquer des problèmes de saturation de l'espace de stockage s'il existe un grand nombre de journaux de tâches, par exemple, si vous avez activé la journalisation détaillée du débogage d'une tâche. Par défaut, le niveau de journalisation des tâches AWS DMS est minimal, mais vous avez parfois besoin d'une journalisation plus détaillée pour déterminer la cause d'une erreur ou d'un échec de migration. Mais la journalisation détaillée du débogage peut consommer du stockage de réplication car AWS DMS écrit chaque événement dans les fichiers journaux. En outre, un trop grand nombre de journaux de tâches peut amener votre instance de base de données de réplication à avoir l’état espace de stockage saturé.

Migrations ayant une réplication continue

Les événements mis en cache peuvent entraîner des problèmes de stockage pendant une phase de chargement complet, en particulier si vous configurez votre migration pour utiliser le paramètre de tâche StopTaskCachedChangesNotApplied. Pour plus d'informations, consultez Création d'une instance de réplication. Si la taille de stockage est trop petite pour stocker les modifications mises en cache, votre instance de base de données de réplication a l'état espace de stockage saturé.

Les événements échangés pendant la phase de capture des données modifiées (CDC) peuvent entraîner des problèmes de stockage lorsque les modifications capturées à partir 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, puis les échange vers le stockage lorsque les valeurs définies par les paramètres MemoryKeepTime ou MemoryLimitTotal sont dépassées (respectivement 60 secondes et 1 Gio). 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 à l’état espace de stockage saturé. Pour plus d'informations, consultez Modifier les paramètres de réglage du traitement.

Résolution

Remarque : si vous recevez des erreurs lors de l'exécution des commandes de l'AWS Command Line Interface (AWS CLI), assurez-vous que vous utilisez la version la plus récente de l'AWS CLI..

Supprimer les journaux des tâches

Si l'instance de base de données de réplication est à l’état disponible, vous pouvez supprimer les journaux de tâches :

  1. Ouvrez la console AWS DMS.
  2. Choisissez instances de réplication dans le panneau de navigation.
  3. Choisissez le nom de l'instance de base de données de réplication.
  4. Dans la section Gestion des journaux vous voyez toutes les tâches et la taille du journal de chaque tâche.
  5. Sélectionnez les tâches pour lesquelles vous souhaitez supprimer les journaux, puis choisissez Supprimer.

Pour plus d'informations, consultez Gestion journaux des tâches AWS DMS.

Utilisez CLI pour modifier le paramètre de tâche

Vous pouvez également supprimer les journaux de tâches DMS à l'aide d'AWS Command Line Interface (AWS CLI) en modifiant le paramètre de tâche. Tout d'abord, créez un fichier JSON tasksetting.json à l'aide de la commande suivante :

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

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

Remarque: la tâche doit avoir le statut Arrêté ou Échec de la modification.

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

La commande ci-dessus modifie le paramètre de la tâche en changeant le paramètre « DeleteTaskLogs » : vrai. Après avoir ajouté ce paramètre et cette valeur aux paramètres de la tâche, tous les journaux présents pour la tâche sont supprimés de l'instance de base de données de réplication. Après avoir supprimé les journaux, le paramètre de tâche supprime le paramètre « DeleteTaskLogs » : vrai . Après avoir exécuté cette commande, confirmez 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 supprimé le paramètre« DeleteTaskLogs » : true.

Pour supprimer périodiquement les journaux, vous devez modifier le paramètre de la tâche avec le paramètre « DeleteTaskLogs » : vrai à chaque fois. Vous pouvez planifier cette commande pour qu'elle s'exécute périodiquement à l'aide de cronjob ou du planificateur Lambda, selon votre implémentation.

Pour plus d'informations, consultez modifier-tâche-de-réplication.

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

Si l'instance de réplication est a l'état espace de stockage saturé, vous ne pouvez pas supprimer les journaux. Vous devez augmenter la taille d'espace 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. Choisissez Instances de réplication dans le panneau de navigation.
  3. Choisissez le nom de l'instance de base de données de réplication pour laquelle vous souhaitez modifier la taille du volume.
  4. Sélectionnez Modifier.
  5. Dans le champ Stockage alloué (Go), entrez une nouvelle valeur.
  6. Sélectionnez Appliquer immédiatement les modifications, puis choisissez Modifier.

Important : la taille d'espace de stockage allouée ne peut pas être réduite après avoir été augmentée.


Cet article vous a-t-il été utile ?


Besoin d'une facturation ou du support technique ?