

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

# 使用 AWS DMS 和 AWS SCT 从亚马逊上的 IBM Db2 迁移 EC2 到兼容 Aurora PostgreSQL
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct"></a>

*Sirsendu Halder 和 Abhimanyu Chhabra，Amazon Web Services*

## Summary
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-summary"></a>

此模式为将亚马逊弹性计算云（亚马逊 EC2）实例上的 IBM Db2 数据库迁移到兼容亚马逊 Aurora PostgreSQL 的版本数据库实例提供了指导。该模式使用 AWS Database Migration Service (AWS DMS) 和 AWS Schema Conversion Tool (AWS SCT) 进行数据迁移和架构转换。

该模式针对的是具有大量事务的多 TB IBM Db2 数据库的在线迁移策略，停机时间很少或没有停机时间。`NUMERIC`为了提高性能，我们建议您将数据类型的主键 (PKs) 和外键 (FKs) 中的列转换为 PostgreSQL `INT` 或`BIGINT`在 PostgreSQL 中。 

## 先决条件和限制
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-prereqs"></a>

**先决条件**
+ 一个有效的 Amazon Web Services account 
+ 实例上的源 IBM Db2 数据库 EC2 

**产品版本**
+ DB2/LINUXX8664 版本 11.1.4.4 及更高版本

## 架构
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-architecture"></a>

**源技术堆栈****  **
+ 实例上的 Db2 数据库 EC2  

**目标技术堆栈**
+ 兼容 Aurora PostgreSQL 10.18 或更高版本的数据库实例

**数据库迁移架构**** **

![\[使用 AWS DMS 从亚马逊上的 IMB Db2 迁移到兼容 A EC2 urora PostgreSQL 的版本。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/5e737fab-3e04-4887-9fb0-d1c88503b57d/images/789fabcc-8052-40d5-a746-986d799576e9.png)


## 工具
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-tools"></a>
+ [AWS Database Migration Service（AWS DMS）](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)可帮助您将数据库迁移到 Amazon Web Services Cloud，或者在云和本地设置的组合之间迁移。源数据库可在迁移过程中保持全面运行，从而最大程度地为依赖该数据库的应用程序减少停机时间。您可以使用 AWS DMS 在最广泛使用的商用和开源数据库之间迁移数据。AWS DMS 支持不同数据库平台之间的异构迁移，例如 IBM Db2 到 Aurora PostgreSQL 兼容版本 10.18 或更高版本。有关详细信息，请参阅 AWS DMS 文档中的[数据迁移源](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html)和[数据迁移目标](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html)。
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 通过自动将源数据库架构和大部分数据库代码对象（包括视图、存储过程和函数）转换为与目标数据库兼容的格式，支持异构数据库迁移。任何未自动转换的对象都会被明确标记，以便可以手动转换它们以完成迁移。AWS SCT 还可以扫描应用程序源代码中的嵌入式 SQL 语句并对其进行转换。 

## 操作说明
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-epics"></a>

### 设置环境
<a name="set-up-the-environment"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 创建 Aurora PostgreSQL-Compatible 数据库实例。 | 要创建数据库实例，请按照 [AWS 文档](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html)中的说明进行操作。对于引擎类型，选择 **Amazon Aurora**。对于版本，选择 **Amazon Aurora PostgreSQL 兼容版**。Aurora PostgreSQL-Compatible 10.18 或更高版本数据库实例应与源 IBM Db2 数据库位于同一虚拟私有云（VPC）中。 | Amazon RDS | 

### 转换数据库架构
<a name="convert-your-database-schema"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 安装和验证 AWS SCT。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | AWS 管理员，数据库管理员，迁移工程师 | 
| 启动 AWS SCT 并创建项目。 | 要启动 AWS SCT 工具并创建一个新项目来运行数据库迁移评测报告，请按 [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Launching) 文档中的说明进行操作。 | 迁移工程师 | 
| 添加数据库服务器，并创建映射规则。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | 迁移工程师 | 
| 创建数据库迁移评测报告。 | 按照 [AWS SCT 文档](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AssessmentReport) 中的步骤创建数据库迁移评测报告。 | 迁移工程师 | 
| 查看评测报告。 | 使用数据库迁移评测报告的**摘要**选项卡，查看报告并分析数据。此分析将帮助您确定迁移复杂性。有关更多信息，请参阅 [AWS SCT 文档](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.View.html)。 | 迁移工程师 | 
| 转换架构。 | 要转换源数据库架构：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html)有关更多信息，请参阅 [AWS SCT 文档](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Converting)。 | 迁移工程师 | 
| 将转换后的数据库架构应用于目标数据库实例。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html)有关更多信息，请参阅 [AWS SCT 文档](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.ApplyingConversion)。 | 迁移工程师 | 

### 迁移数据
<a name="migrate-your-data"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 设置 VPC 与数据库参数组。 | 设置 VPC 和数据库参数组，并配置迁移所需入站规则和参数。有关说明，请参阅 [AWS DMS 文档](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Prerequisites.html)。对于 VPC 安全组，请同时选择 Db2 的 EC2 实例和兼容 Aurora PostgreSQL 的数据库实例。此复制实例必须与源数据库实例和目标数据库实例位于同一 VPC。 | 迁移工程师 | 
| 准备源数据库实例与目标数据库实例。 | 准备要迁移的源数据库实例和目标数据库实例。在生产环境中，源数据库已经存在。对于源数据库，服务器名称必须是运行 Db2 的 EC2 实例的公共域名系统 (DNS)。对于用户名，您可使用 `db2inst1` 后跟端口，对于 IBM Db2，该端口将是 5000。 | 迁移工程师 | 
| 创建 Amazon EC2 客户端和终端节点。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | 迁移工程师 | 
| 创建复制实例。 | 使用 AWS DMS 控制台创建复制实例，并指定源和目标端点。复制实例执行端点之间的数据迁移。有关更多信息，请参阅 [AWS DMS 文档](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html)。 | 迁移工程师 | 
| 创建 AWS DMS 任务以迁移数据。 | 按照 [AWS DMS 文档](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Tasks)中的步骤创建任务，将源 IBM Db2 表加载到目标 PostgreSQL 数据库实例。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | 迁移工程师 | 

## 相关资源
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-resources"></a>

**参考**
+ [Amazon Aurora 文档](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
+ [PostgreSQL 外部数据包装器 (FDW) 文档](https://www.postgresql.org/docs/10/postgres-fdw.html) 
+ [PostgreSQL IMPORT FOREIGN SCHEMA 文档](https://www.postgresql.org/docs/10/sql-importforeignschema.html) 
+ [AWS DMS 文档](https://docs.aws.amazon.com/dms/index.html)  
+ [AWS SCT 文档](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 

**教程和视频**
+ [AWS DMS 入门](https://aws.amazon.com/dms/getting-started/)（演练）
+ [Amazon 简介 EC2 -使用 AWS 实现弹性云服务器和托管](https://www.youtube.com/watch?v=TsRBftzZsQo)（视频）