使用 AWS 迁移功能轻松迁移大型数据工作负载
本指南演示了将大型 Oracle 数据库迁移到 Amazon Aurora PostgreSQL 的最佳实践,有助您以经济实惠的方式实现数据基础设施的现代化。本指南使用 AWS Database Migration Service(AWS DMS)来简化迁移流程,减少运营开销并尽可能减少停机时间。借助本指南,您可以优化成本、提高可扩展性,为长期增长和适应性做好准备,同时受益于 AWS 强大的安全与合规能力。
注意:[免责声明]
架构图
[架构图描述]
第 1 步
从 GitHub 存储库下载 AWS CloudFormation 模板并部署 CloudFormation 堆栈。
第 2 步
此 CloudFormation 堆栈会部署一个 Amazon Elastic Compute Cloud(Amazon EC2)实例、一个 Amazon Relational Database Service(Amazon RDS)Oracle 实例、一个 Amazon Aurora PostgreSQL 集群、用于管理密钥的 AWS Secrets Manager 以及 AWS Database Migration Service(AWS DMS)基础设施和任务。
第 3 步
使用 AWS Systems Manager 连接到 Amazon EC2 堡垒主机。将 GitHub 存储库克隆到该主机。运行数据加载过程。
第 4 步
满载启动 AWS DMS 任务。AWS DMS 已预先配置了示例任务,利用分区表的自动并行功能来提升性能。在 AWS 管理控制台的 AWS DMS 部分监控任务的性能和完成情况。
第 5 步
在管理控制台的 AWS DMS 部分监控任务是否满载。完成后,继续执行更改数据捕获(CDC)任务。
第 6 步
启动 AWS DMS CDC 任务,注意用于确保高性能的非默认任务设置。
第 7 步
在管理控制台的 AWS DMS 部分中监控 CDC 任务。
开始使用
Well-Architected 支柱
当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
CloudFormation 用于预置迁移所需的 AWS 资源,从而简化了预置和操作管理。Aurora 向 Amazon CloudWatch 发布性能和利用率指标。AWS DMS 提供用于监控迁移任务的指标,包括任务、源数据库、目标数据库以及复制实例的性能统计数据。这些工具有助您主动监控和优化迁移任务。
-
安全性
在本指南中,Amazon Virtual Private Cloud(Amazon VPC)、Amazon EC2 安全组、AWS Identity and Access Management(IAM)和 AWS Key Management Service(AWS KMS)协同工作,以增强安全性。通过使用安全组和 IAM 策略,确保按照最低权限原则向相关服务授予访问权限。例如,仅允许 AWS DMS 通过必需的端口在源(Oracle)和目标(Aurora PostgreSQL)实例之间进行复制。Secrets Manager 以编程方式存储和检索数据库凭证,避免对密码进行任何硬编码。
-
可靠性
Amazon RDS Oracle、Aurora PostgreSQL 和 AWS DMS 支持多可用区(AZ)配置,以实现高可用性和自动失效转移,从而尽可能减少因可用区故障而造成的中断。 AWS DMS 任务配置为使用 Amazon RDS 和 Aurora 集群端点,以在主数据库实例出现任何问题时提供无缝失效转移支持。Aurora 跨同一个区域的三个可用区保留数据副本,以实现高持久性。Amazon RDS 和 Aurora 都支持通过手动和自动快照进行数据库备份,以防止意外删除和逻辑损坏。
-
性能效率
本指南提供了根据源数据库交易负载、数据大小和数据库对象数量调整 AWS DMS 复制实例大小的最佳实践。AWS DMS 任务配置经过优化,以实现在满载和 CDC 迁移场景下的最大吞吐量。这包括任务数、每复制实例任务数、线程数、并行性和转换规则等。Aurora 支持基于 Graviton3 的 R7g 实例,后者的内存带宽相比前几代实例增加了 50%,从而支持对内存中数据的高速访问。
-
成本优化
Amazon RDS 和 Aurora 数据库实例可以纵向扩展和缩减以满足迁移目标要求。Aurora 标准配置提供经济实惠的定价,适合 I/O 使用率中等的应用程序,而 Aurora I/O 优化型配置提供的增强定价适合 I/O 密集型工作负载,并且能够在不超支的情况下支持理想性能。 Amazon RDS Oracle 支持多种实例类型,可满足不同的性能和成本需求。
-
可持续性
Aurora PostgreSQL、AWS DMS 和 Amazon EC2 可以轻松根据负载要求纵向扩展或缩减,实现对资源的可持续利用。此外,本指南支持使用 AWS Graviton 处理器等节能型处理器实例,提供更好的可持续性。通过在 Amazon EC2 和 Aurora中使用 AWS Graviton,能够以更少的资源消耗提供更好的工作负载性能,减少总体资源占用量。
相关内容
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。