

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 AWS DMS 将 Db2 数据库从亚马逊迁移 EC2 到兼容 Aurora MySQL
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms"></a>

*Pinesh Singal，Amazon Web Services*

## Summary
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-summary"></a>

将 [IBM Db2 for LUW 数据库](https://www.ibm.com/docs/en/db2/11.5?topic=federation)迁移到[亚马逊弹性计算云 (Amazon EC2)](https://docs.aws.amazon.com/ec2/) 后，可以考虑通过迁移到亚马逊网络服务 (AWS) 云原生数据库来重新架构数据库。此模式包括将运行在亚马逊 EC2 实例上的 I [BM Db2 f](https://www.ibm.com/docs/en/db2/11.5) or LUW 数据库迁移到 AWS 上兼容[亚马逊](https://docs.aws.amazon.com/ec2/) [Aurora MySQL 的版本](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html)数据库。 

该模式描述了一种联机迁移策略，该策略对具有大量事务的多 TB Db2 源数据库的停机时间最短。 

此模式使用 [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 将 Db2 数据库架构转换为与 Aurora MySQL 兼容的架构。然后，该模式使用 [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 将数据从 Db2 数据库迁移到 Aurora MySQL 兼容数据库。AWS SCT 未转换的代码将需要手动转换。

## 先决条件和限制
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-prereqs"></a>

**先决条件**
+ 具有虚拟私有云（VPC）的有效 Amazon Web Services account
+ AWS SCT
+ AWS DMS

**产品版本**
+ AWS SCT 最新版本
+ Db2 for Linux V11.1.4.4 及更高版本

## 架构
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-architecture"></a>

**源技术堆栈**
+ DB2/Linux x86-64 位挂载在实例上 EC2  

**目标技术堆栈**
+ Amazon Aurora MySQL-兼容版数据库实例

**源架构和目标架构**

下图显示了源 Db2 和目标 Aurora MySQL 兼容数据库之间的数据迁移架构。Amazon Web Services Cloud 上的架构包括虚拟私有云（VPC）、可用区、Db2 实例和 AWS DMS 复制实例的公有子网以及 Aurora MySQL 兼容数据库的私有子网。

![\[源 Db2 和目标 Aurora MySQL 兼容版数据库之间的数据迁移架构。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/5abfccc4-148c-4794-8d80-e3c122679125/images/f30664f8-2d6a-4448-8d5c-cff3988a52c7.png)


## 工具
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-tools"></a>

**Amazon Web Services**
+ [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) 是与 MySQL 和 PostgreSQL 兼容的完全托管式的云端关系数据库引擎。
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 可帮助您将数据存储迁移到 Amazon Web Services Cloud，或者在云和本地设置的组合之间迁移。
+ [亚马逊弹性计算云 (Amazon EC2)](https://docs.aws.amazon.com/ec2/) 在 AWS 云中提供可扩展的计算容量。您可以根据需要启动任意数量的虚拟服务器，并快速纵向扩展或缩减这些服务器。
+ [AWS Schema Conversion Tool（AWS SCT）](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)通过自动将源数据库架构和大部分自定义代码转换为与目标数据库兼容的格式来支持异构数据库迁移。AWS SCT 支持 IBM Db2 for LUW 版本 9.1、9.5、9.7、10.1、10.5、11.1 和 11.5。

## 最佳实践
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-best-practices"></a>

有关最佳实践的信息，请参阅 [AWS Database Migration Service 最佳实践](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)。

## 操作说明
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-epics"></a>

### 配置源 IBM Db2 数据库
<a name="configure-the-source-ibm-db2-database"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 在亚马逊 EC2上创建 IBM Db2 数据库。 | 您可以使用来自 AWS Marketplace 的亚马逊系统映像 (AMI) 或在 EC2 实例上安装 Db2 软件，在实例 EC2 上创建 IBM Db2 数据库。通过选择适用于 IBM Db2 的 AMI（例如，IBM D [b2 v11.5.7 RHEL 7.9）来启动 EC2 实例，该AMI](https://aws.amazon.com/marketplace/pp/prodview-aclrjj4hq2ols?sr=0-1&ref_=beagle&applicationId=AWS-EC2-Console) 与本地数据库类似。 | 数据库管理员、常规 AWS | 
| 配置安全组。 | 分别配置端口为 22 和 50000 的 SSH（Secure Shell）和 TCP 的 VPC 安全组入方向规则。 | 常规 AWS | 
| 创建数据库实例。 | 创建新的实例（用户）和数据库（架构），或使用默认的 `db2inst1` 实例和示例数据库。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | 数据库管理员 | 
| 确认 Db2 数据库实例可用。 | 要确认 Db2 数据库实例已启动并正在运行，请使用 `Db2pd -` 命令。 | 数据库管理员 | 

### 配置目标 Aurora MySQL 兼容数据库
<a name="configure-the-target-aurora-mysql-compatible-database"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 创建 Aurora MySQL 兼容数据库。 | 从 AWS RDS 服务创建兼容 MySQL 的 Amazon Aurora 数据库[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | 数据库管理员、常规 AWS | 
| 配置安全组。 | 配置 SSH 和 TCP 连接的 VPC 安全组入方向规则。 | 常规 AWS | 
| 确认 Aurora 数据库可用。 | 要确保 Aurora MySQL 兼容数据库已启动并运行，请执行以下操作：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | 数据库管理员 | 

### 配置和运行 AWS SCT
<a name="configure-and-run-aws-sct"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 安装 AWS SCT。 | 下载并安装最新版本的 [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html)（当前最新版本 1.0.628）。 | 常规 AWS | 
| 配置 AWS SCT。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | 常规 AWS | 
| 创建 AWS SCT 项目。 | 创建一个 AWS SCT 项目和报告，该项目和报告使用 Db2 for LUW 作为源数据库引擎，并使用 Aurora MySQL 兼容作为目标数据库引擎。要确定连接到 Db2 for LUW 数据库所需特权，请参阅[将 Db2 LUW 用作 AWS SCT 的源](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.DB2LUW.html)。 | 常规 AWS | 
| 验证对象。 | 选择 **加载架构**，验证对象。更新目标数据库上任何不正确的对象：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | 数据库管理员、常规 AWS | 

### 配置和运行 AWS DMS
<a name="configure-and-run-aws-dms"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 创建复制实例。 | 登录 AWS 管理控制台，导航到 AWS DMS 服务，然后使用您为源数据库和目标数据库配置的 VPC 安全组的有效设置创建复制实例。 | 常规 AWS | 
| 创建端点。 | 为 Db2 数据库创建源端点，并为 Aurora MySQL 兼容数据库创建目标端点：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | 常规 AWS | 
| 创建迁移任务。 | 创建单个迁移任务或多个迁移任务，以实现完全加载和 CDC 或数据验证：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | 常规 AWS | 
| 计划生产运行。 | 与应用程序所有者等利益相关者确认停机时间，以便在生产系统中运行 AWS DMS。 | 迁移主管 | 
| 运行迁移任务。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | 常规 AWS | 
| 验证数据。 | 查看源 Db2 和目标 MySQL 数据库中的迁移任务结果和数据：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | 数据库管理员 | 
| 停止迁移任务。 | 数据验证成功完成后，停止验证迁移任务。 | 常规 AWS | 

## 问题排查
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-troubleshooting"></a>


| 问题 | 解决方案 | 
| --- | --- | 
| AWS SCT 源和目标测试连接失败。 | 配置 JDBC 驱动程序版本和 VPC 安全组入站规则以接受传入流量。 | 
| Db2 源端点测试运行失败。 | 配置额外连接设置 `CurrentLSN=<scan>;`。 | 
| 该 AWSDMS 任务无法连接到 Db2 源，并返回以下错误。`database is recoverable if either or both of the database configuration parameters LOGARCHMETH1 and LOGARCHMETH2 are set to ON` | 若要避免此错误，请运行以下命令：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | 

## 相关资源
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-resources"></a>

**Amazon EC2**
+ [Amazon EC2](https://aws.amazon.com/ec2/)
+ [Amazon EC2 用户指南](https://docs.aws.amazon.com/ec2/)

**数据库**
+ [IBM Db2 数据库](https://www.ibm.com/products/db2-database)
+ [Amazon Aurora](https://aws.amazon.com/rds/aurora/)
+ [使用 Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html)

**AWS SCT**
+ [AWS DMS 架构转换](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [AWS Schema Conversion Tool 用户指南](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [使用 AWS SCT 用户界面](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [将 IBM Db2 LUW 用作 AWS SCT 的源](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.DB2LUW.html)

**AWS DMS**
+ [AWS Database Migration Service](https://aws.amazon.com/dms/)
+ [AWS Database Migration Service 用户指南](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [数据迁移的源](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html)
+ [数据迁移的目标](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html)
+ [AWS Database Migration Service 和 AWS Schema Conversion Tool 现在支持将 IBM Db2 LUW 作为源](https://aws.amazon.com/blogs/database/aws-database-migration-service-and-aws-schema-conversion-tool-now-support-ibm-db2-as-a-source/)（博客文章）
+ [将运行关系数据库的应用程序迁移到 AWS](https://d1.awsstatic.com/whitepapers/Migration/migrating-applications-to-aws.pdf)