Wondering why AWS DMS replication DB instance in the storage-full status? We can help you.
Here, at Bobcares, we assist our customers with several AWS queries as part of our AWS Support Services.
Today, let us see how our Support Techs assist with this AWS query.
AWS DMS replication DB instance in the storage-full status
Uually, AWS DMS replication DB instances have storage.
You can specify the allocated storage when you create a replication DB instance.
By default, the dms.t2.* and dms.r4.* replication DB instance types have volume sizes of 50 GiB.
The dms.c4.* replication DB instance types have volume sizes of 100 GiB.
Monitor the Amazon CloudWatch metric for FreeStorageSpace to monitor the free storage space of the replication DB instance.
Replication DB instance storage is used mostly for task logs and cached changes that are collected for ongoing replication.
Migrations that have a full load only
Task logs can cause storage-full issues if there are lots of task logs.
for example, if you enabled detailed debug logging for a task. By default, the AWS DMS task logging level is minimal, but sometimes you need more detailed logging to determine the cause of a migration error or failure.
But detailed debug logging can consume replication storage because AWS DMS writes each and every event to the log files.
Also, too many task logs can cause your replication DB instance to have a storage-full status.
Migrations that have ongoing replication
Cached events can cause storage issues during a full load phase, especially if you configure your migration to use the StopTaskCachedChangesNotApplied task setting.
If the storage size is too small to store the cached changes, then your replication DB instance has a storage-full status.
Swapped events during the change data capture (CDC) phase can cause storage issues when the changes captured from the source can’t be applied to the target.
AWS DMS first stores the cached events in memory, and then swaps them to storage when the values defined by the MemoryKeepTime or MemoryLimitTotal parameters are exceeded.
If there isn’t enough storage for the swapped data, the replication DB instance has a storage-full status.
How to resolve AWS DMS replication DB instance in the storage-full status?
Today, let us see the steps followed by our Support techs to resolve it.
Delete the task logs
If the replication DB instance is in an available status, you can delete the task logs:
- Firstly, open the AWS DMS console.
- Then, choose Replication instances from the navigation pane.
- Next, choose the name of the replication DB instance.
- From the Log management section, you see all the tasks and the Log size of each task.
- Select the tasks for which you want to delete logs, and then choose Delete.
Use CLI to modify the task setting
You can also delete the DMS task logs using the AWS Command Line Interface (AWS CLI) by modifying the task setting.
- Firstly, create a tasksetting.json JSON file using the following command:
"Logging": {
"DeleteTaskLogs": true
}
}
- Then, execute the command below to modify the task setting.
Please note that the task must have a status of Stopped or Failed to be modified.
aws dms modify-replication-task --replication-task-arn --replication-task-settings file://tasksetting.json
The command above modifies the task setting by changing the parameter “DeleteTaskLogs”: true.
After you have added this parameter and value to the task settings, all of the logs present for the task delete from the replication DB instance.
Once the logs delete, the task setting removes the “DeleteTaskLogs”: true parameter.
After running this command, confirm that the logs will delete from the replication DB instance and that the task setting removed the parameter “DeleteTaskLogs”: true.
To delete the logs periodically, you must modify the task setting with the “DeleteTaskLogs”: true parameter, every time.
You can schedule this command to run periodically using cronjob or Lambda scheduler, as per your implementation.
Increase the storage size of replication DB instance
If the replication DB instance is in a storage-full status, you can’t delete logs.
You must increase the allocated storage size, or delete the replication task.
To increase the storage size of a replication DB instance:
- Firstly, open the AWS DMS console.
- Choose Replication instances from the navigation pane.
- Choose the name of the replication DB instance that you want to modify the volume size for.
- Then, choose Modify.
- For the Allocated storage (GB) field, enter a new value.
- Finally, select Apply changes immediately, and choose Modify.
Please note that the allocated storage size can’t be decreased after it has been increased.
[Need help to fix DMS errors? We’d be happy to assist you]
Conclusion
To conclude, here we saw how our Support Techs resolved AWS DMS replication DB instance in the storage-full status issue.
0 Comments