使用 AWS DMS 优化数据库迁移成本:第二部分 数据库博客
优化 AWS DMS 数据库迁移成本:第二部分
关键要点
在本系列的第二部分中,我们将聚焦于如何定期评估 AWS DMS 实例的大小并根据需求进行扩展或缩减,同时介绍如何利用 AWS DMS 的功能和配置来优化迁移成本。我们强调了以下策略:
定期评估实例大小以保持最佳性能和成本效益。通常在完整加载和 CDC 阶段变化的情况下调整 DMS 实例大小。使用 AWS DMS Serverless 实现更灵活的资源管理和成本控制。选择性地迁移数据,通过排除不必要的数据来减少迁移成本和时间。定期评估实例大小并根据需求进行调整
您应定期进行容量规划,以确保复制实例与当前负载需求保持一致。根据需要调整实例大小,以维持最佳性能和成本效率。可以考虑以下策略:
策略描述正确设置 AWS DMS 资源根据工作负载需求调整资源根绝迁移阶段与吞吐量要求进行扩展或缩减根据实际需求灵活调整使用 AWS DMS Serverless 自动扩展动态调整资源,在高峰和闲置期间节省成本在本节中,我们将讨论何时需要重新评估 AWS DMS 实例大小的各种情况。
迁移从完整加载转到 CDC 或反之
在 AWS DMS 迁移的完整加载阶段,AWS DMS 实例会缓存来自源端点的所有更改。这可能导致实例消耗更多内存和磁盘空间。但是,在迁移的 CDC 阶段,实例通常不会长时间缓存来自源端点的更改。因此,在 CDC 阶段评估和调整实例大小以节省成本非常重要。评估 AWS DMS 实例资源使用情况时,请考虑以下因素:
源端点中发生更改的数量源端点中更改的大小实例上可用的内存和磁盘空间在评估过后,您可以根据需要扩大或缩小实例。这有助于在不中断迁移性能的情况下节省成本。
启用或禁用调试模式
在故障排查 AWS DMS 迁移时,有时需要启用调试模式以获取详细日志。这可能会导致 AWS DMS 实例需要更多的 Amazon Elastic Block Store 存储来存储日志。因此,重要的是在启用或禁用调试模式时重新评估实例大小。
蘑菇加速器pc端调试模式可以帮助您通过提供详细日志来排查 AWS DMS 迁移中的问题。然而,调试模式也可能导致实例消耗更多的 EBS 存储。所需的 EBS 存储量将取决于您所需的详细程度。在启用调试模式之前,评估所需的 EBS 存储量是很重要的。评估后,您可以根据需要调整实例大小。
AWS DMS 数据验证作业
AWS DMS 提供了 数据验证 功能,以确保您的数据从源正确迁移到目标。然而,值得注意的是,数据验证可能会消耗源和目标的额外资源,以及额外的网络资源。因此,在决定是否启用数据验证时,需要权衡数据验证的成本与确保数据准确迁移的重要性。
在决定是否启用数据验证时,可以考虑以下几点:
正在迁移的数据大小确保数据准确迁移的重要性可用的资源量如果数据较小且准确性不是关键,那么数据验证可能就不是必要的。然而,如果数据量大或准确性至关重要,那么启用数据验证可能是一个值得的投资。
亚马逊 CloudWatch 指标
为了根据性能需求定期评估和调整 AWS DMS 复制实例的大小,您可以使用 CloudWatch 指标、监控和警报功能及自动化能力来制定行动计划。
通过遵循此行动计划,您可以持续监控和优化 AWS DMS 复制实例的大小,确保其与性能需求相一致,同时最大限度地降低成本,确保数据库迁移过程顺利高效。
您可以配置 CloudWatch 警报和事件通知主动监控复制实例的性能和资源利用情况。在特定性能阈值被突破或复制延迟超过可接受限制时设置警报。这些提示可以帮助您及时识别和解决任何性能问题。
有关更多信息,请参阅 使用 AWS DMS 自动化数据库迁移监控。
监控复制实例的指标
定期监控 CloudWatch 指标以确保复制实例不会超载并影响 AWS DMS 迁移任务的性能是非常重要的。成功的迁移需要监控 CPU、内存和 IOPS 使用情况。源和目标的数据库引擎以及数据类型都会影响这些指标。有关详细信息,请参阅 AWS DMS 关键故障排除指标和性能增强。
以下是运行多个任务时需监控的关键指标:
CPUUtilizationFreeableMemorySwapUsageReadIOPSWriteIOPSReadThroughputWriteThroughputReadLatencyWriteLatencyDiskQueueDepth测试数据迁移的基准
在基准测试阶段,您应评估收集的性能指标。如果复制实例的性能持续低于所需阈值,请考虑扩展到更大的实例。对于初始测试,测试大表和小表迁移的时间线,并在实际生产迁移过程中适时调整实例大小。

选择 MultiAZ 实例
本节探讨在成本最小化优先级较高且迁移任务不涉及关键或敏感数据的场景。在这种情况下,您可以选择单区配置。单区实例通常比多区实例更具成本效益。在选择 MultiAZ 和 SingleAZ 配置时,应考虑迁移任务的具体要求和特性。
AWS DMS 部署类型MultiAZSingleAZ数据保护与业务连续性需要短期迁移长期和持续的复制任务需要仅限完整加载任务关键生产迁移需要可能需要重启任务选择性数据迁移
您应该分析源数据库中的数据,并识别任何不必要或不相关的数据,以便在迁移过程中将其排除。通过选择性地迁移仅所需的数据,您可以减少迁移时间、网络带宽使用和相关成本。需要考虑以下内容:
仅迁移子集数据 如果您只需要迁移源数据库中最新数据,可以使用 AWS DMS 过滤器 根据特定标准迁移数据。例如,可以根据日期范围、列值或其他标准进行过滤。例如: json { rules [{ ruletype selection ruleid 1 rulename 1 objectlocator { schemaname test tablename employee } ruleaction include filters [{ filtertype source columnname empid filterconditions [{ filteroperator lte value 100 }] } { filtertype source columnname dept filterconditions [{ filteroperator eq value tech }] }] }] }
仅迁移特定表或视图 如果您只需要迁移源数据库中的子集表或视图,可以使用 AWS DMS 表映射功能指定要迁移的特定表或视图。利用 AWS DMS 提升成本效率
有多种设置可以优化 AWS DMS 迁移的性能和成本。例如,您可以配置用于完整加载的线程数、用于 CDC 的任务数量和复制缓冲区的大小。可以考虑以下方面:
正确配置复制任务以优化成本和性能根据工作负载模式安排和自动化任务使用 AWS DMS 功能如 CDC 和持续复制优化使用 AWS DMS Serverless 优化成本
AWS DMS Serverless 是一项完全托管的服务,可以自动配置、扩展和管理迁移资源。这能够通过消除自行配置和管理迁移基础设施的需求来帮助您降低数据库迁移的成本。AWS DMS Serverless 是按需计费选项,比使用按需实例更具成本效益。
AWS DMS Serverless 的最大 DCU 是其针对迁移使用的 CPU 和内存限制的上限。设置最大 DCU 太高可能会导致不必要的成本,而设置得过低可能会导致迁移速度慢。
通过使用 AWS DMS Serverless 并根据实际需求调整容量,您可以高效管理成本,实现无缝扩展并确保最佳性能。
总结
在这篇博客系列中,我们讨论了数据库迁移的组件、迁移成本及其因素,以及如何选择适当的 AWS DMS 实例类型以确定 DMS 作业的容量。在第二部分中,我们讨论了如何定期评估 AWS DMS 实例大小,并根据需求进行扩展或缩减,以及如何利用 AWS DMS 功能和配置来优化迁移成本。通过理解这些 AWS DMS 复制任务配置及其潜在成本影响,您可以做出明智决策以优化资源分配和有效管理成本。
我们欢迎您的反馈,请留下评论。
作者介绍
Shailesh K Mishra 是亚马逊网络服务AWS金融服务团队的高级解决方案架构师,专注于数据库迁移及支持客户构建良好架构的解决方案。
Babaiah Valluru 是 AWS 专业服务团队的数据库首席顾问,专注于数据库迁移。目前的兴趣是探索和学习机器学习服务。他对开源数据库如 MySQL、PostgreSQL 和 MongoDB 情有独钟。在业余时间,他喜欢旅行,与家人和朋友共度时光。
亚马逊 EMR 在 EC2 上的成本优化:全球金融服务提供商如何将成本降低 30 大数据博客
亚马逊 EMR 在 EC2 上的成本优化:全球金融服务提供商如何将成本降低 30关键要点在这篇文章中,我们讨论了一家全球金融服务提供商如何将他们的 Apache Hadoop 集群迁移到 AWS,并使用最佳实践将其 Amazon EMR、Amazon EC2 和 Amazon S3 的成本降低了 3...
如何使用 AWS 数据库加密 SDK 进行客户端加密并在 DynamoDB 表中对加密属性进行搜索
使用 AWS 数据库加密 SDK 进行客户端加密并对 DynamoDB 表中的加密属性执行搜索文章重点在本文中,我们将介绍如何使用 AWS 数据库加密 SDK (DBESDK) 进行客户端数据加密,以保护客户的敏感信息。我们将讨论配置加密、在加密数据上进行搜索的步骤,以及如何在 DynamoDB 中...