完成设置所需的先决条件 Amazon Database Migration Service - Amazon 数据库迁移服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

完成设置所需的先决条件 Amazon Database Migration Service

在本节中,您可以学习的先决任务 Amazon DMS,例如设置源数据库和目标数据库。作为这些任务的一部分,您还可以设置基于 Amazon VPC 服务的虚拟私有云 (VPC) 来容纳您的资源。此外,您还可以设置一个 Amazon EC2 实例,用于填充源数据库并验证目标数据库上的复制。

注意

填充源数据库最多需要 45 分钟。

在本教程中,您将创建一个 MariaDB 数据库作为源,并创建一个 Postgre SQL 数据库作为目标。此场景使用常用的低成本数据库引擎来演示复制。使用不同的数据库引擎演示了在异构平台之间迁移数据的 Amazon DMS 功能。

本教程中使用美国西部(俄勒冈州)地区的资源。如果您想使用其他 Amazon 区域,请改为在美国西部(俄勒冈)出现的任何地方指定您选择的区域。

注意

为简单起见,您为本教程创建的数据库不使用加密或其他高级安全功能。您必须使用安全功能来保护生产数据库的安全。有关更多信息,请参阅 Amazon 安全RDS

有关先决步骤,请参阅以下主题。

创建一个 VPC

在本节中,您将创建一个VPC来包含您的 Amazon 资源。在使用 Amazon 资源时,使用VPC是最佳实践,这样您的数据库、Amazon EC2 实例、安全组等才有逻辑组织和安全。

使用作为VPC教程资源还可以确保您在完成教程后删除使用的所有资源。必须先删除 a VPC 包含的所有资源,然后才能删除VPC。

要创建VPC要与一起使用 Amazon DMS
  1. 登录 Amazon Web Services Management Console 并打开 Amazon VPC 控制台,网址为https://console.aws.amazon.com/vpc/

  2. 在导航窗格上,选择VPC控制面板,然后选择创建VPC

  3. 在 “创建 VPC” 页面上,输入以下选项:

    • 要创建的资源VPC以及更多

    • 名称标签自动生成:选择自动生成,然后输入 DMSVPC

    • IPv4区块:10.0.1.0/24

    • IPv6CIDR方块没有IPv6CIDR方块

    • 租赁默认

    • 可用区数量:2

    • 公有子网的数量:2

    • 私有子网的数量:2

    • NAT网关 ($)

    • VPC端点

    选择 “创建” VPC。

  4. 在导航窗格上,选择您的VPCs。记下VPC的 ID DMSVPC

  5. 在导航窗格中,选择安全组

  6. 选择名为 de fault 的VPC群组,该群组的 ID 与您记下的 ID 相匹配DMSVPC

  7. 选择入站规则选项卡,然后选择编辑入站规则

  8. 选择 添加规则。添加一条类型为 “我的 SQL /Aurora” 的规则,然后IPv4为 “来源” 选择 “任何地方”。

  9. 再次选择添加规则。添加一条类型为 Postgre 的规则,SQL然后选择 Anywhere-IPv4 作为

  10. 选择保存规则

创建 Amazon RDS 参数组

要为您的源数据库和目标数据库指定设置 Amazon DMS,请使用 Amazon RDS 参数组。要允许数据库之间的初始复制和持续复制,请确保配置以下内容:

  • 源数据库的二进制日志,因此 Amazon DMS 可以确定需要复制哪些增量更新。

  • 目标数据库的复制角色,因此在初始数据传输期间 Amazon DMS 会忽略外键约束。使用此设置, Amazon DMS 可以乱序迁移数据。

创建参数组以与一起使用 Amazon DMS
  1. 打开 Amazon RDS 控制台,网址为https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择参数组

  3. 参数组页面上,选择创建参数组

  4. 创建参数组页上,输入以下设置:

    • 参数组系列mariadb10.6

    • 组名:dms-mariadb-parameters

    • 描述Group for specifying binary log settings for replication

    选择创建

  5. 参数组页面上,选择 dms-mariadb-parameters,然后在dms-mariadb-parameters页面上选择编辑

  6. 将以下参数设置为以下值之一:

    • binlog_check sum:NONE

    • 二进制日志格式ROW

    选择 Save changes(保存更改)

  7. 参数组页面上,再次选择创建参数组

  8. 创建参数组页上,输入以下设置:

    • 参数组系列postgres13

    • 组名:dms-postgresql-parameters

    • 描述Group for specifying role setting for replication

    选择创建

  9. 参数组页面上,选择dms-postgresql-parameters

  10. 在该dms-postgresql-parameters页面上,选择编辑,然后将 session_replication_role 参数设置为副本请注意,session_replication_role 参数不在参数的第一页上。使用分页控件或搜索字段查找该参数。

  11. 选择 Save changes(保存更改)

创建您的源 Amazon RDS 数据库

使用以下步骤创建您的源 Amazon RDS 数据库。

创建您的源 Amazon for Mar RDS iaDB 数据库
  1. 打开 Amazon RDS 控制台,网址为https://console.aws.amazon.com/rds/

  2. 控制面板页面上,选择数据库部分中的创建数据库。不要在页面顶部的 “为 My SQL 和 Postgre 试用新的 Amazon RDS 多可用区部署选项 SQL” 部分中选择 “创建数据库”。

  3. 创建数据库页面上,设置以下选项:

    • 选择数据库创建方法:选择标准创建

    • 引擎选项:对于引擎类型,请选择 MariaDB。对于版本,请保留选择 MariaDB 10.6.14

    • 模板:选择开发/测试

    • 设置

      • 数据库实例标识符:输入 dms-mariadb

      • 凭证设置部分,输入以下内容:

        • 主用户名:保留为 admin

        • 取消选中 S Amazon ecrets Manager 中的管理主凭证

        • 自动生成密码:保持未选中状态。

        • 主密码:输入 changeit

        • 确认密码:再次输入 changeit

    • 实例配置

      • 数据库实例类:保留选中标准类

      • 对于数据库实例类别,请选择 db.m5.large

    • 存储

      • 清除启用存储自动缩放复选框。

      • 其余设置保持原样。

    • 可用性和持久性:保留选中不要创建备用实例

    • Connectivity (连接)

      • 计算资源离开不要连接到EC2计算资源

      • 网络类型:保持IPv4选中状态。

      • 虚拟私有云DMSVPC-vpc

      • 公有访问权限。您必须启用公有访问权限才能使用 Amazon Schema Conversion Tool。

      • 可用区us-west-2a

      • 其余设置保持原样。

    • 数据库身份验证:保留选中密码身份验证

    • 监控下,清除开启性能详情复选框。展开其他配置部分,然后清除启用增强监控复选框。

    • 展开其他配置

      • 数据库选项下,对于初始数据库名称,键入 dms_sample

      • 数据库参数组下,选择dms-mariadb-parameters

      • 对于选项组,保留选中 default:mariadb-10-6

      • Backup(备份)下,执行以下操作:

        • 保留选中启用自动备份。您的源数据库必须启用自动备份才能支持持续复制。

        • 对于备份保留期,选择 1 天

        • 备份窗口中,保留选中无首选项

        • 清除将标签复制到快照复选框。

        • 取消选中 “在其他 Amazon 区域启用复制”。

      • 加密下,清除启用加密复选框。

      • 日志导出部分保留不变。

      • 维护下,清除允许自动次要版本升级复选框,并将维护窗口设置保留为无首选项

      • 保留启用删除保护未选中。

  4. 选择创建数据库

创建您的目标 Amazon RDS 数据库

重复前面的步骤创建您的目标 Amazon RDS 数据库,并进行以下更改。

为 Postgr RDS SQL e 数据库创建目标
  1. 重复上述过程的步骤 1 和 2。

  2. 创建数据库页面上,设置相同的选项,但以下选项除外:

    1. 对于引擎选项,请选择 Postgre。SQL

    2. 对于版本,请选择 P ostgre 13.7-R1 SQL

    3. 对于 DB instance identifier(数据库实例标识符),输入 dms-postgresql

    4. 对于主用户名,请保留选中 postgres

    5. 对于数据库参数组,选择dms-postgresql-parameters

    6. 清除启用自动备份

  3. 选择创建数据库

创建亚马逊EC2客户端

在本节中,您将创建一个 Amazon EC2 客户端。您可使用此客户端在源数据库中填充要复制的数据。您还可以使用此客户端通过在目标数据库上运行查询来验证复制。

与通过互联网访问数据库相比,使用 Amazon EC2 客户端访问您的数据库具有以下优势:

  • 您可以将数据库的访问权限限制为位于相同数据库的客户端VPC。

  • 我们已经确认您在本教程中使用的工具可以在 Amazon Linux 2023 上运行且易于安装,推荐在本教程中使用这些工具。

  • 组件之间的数据操作VPC通常比互联网上的数据操作性能更好。

创建和配置 Amazon EC2 客户端以填充您的源数据库
  1. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

  2. 控制面板上,选择启动实例

  3. 启动实例页面上,输入以下值:

    1. 名称和标签部分,对于名称,输入 DMSClient

    2. 应用程序和操作系统映像(亚马逊机器映像)部分,按原样保留设置。

    3. 实例类型部分中,选择 t2.xlarge

    4. 密钥对(登录)部分中,选择新建密钥对

    5. 创建密钥对页面上,输入以下内容:

      • Key pair nameDMSKeyPair

      • 密钥对类型:保留为RSA

      • 私钥文件格式:在 macOS 或 Linux SSH 上为 “打开” 选择 pem,在 Windows 上为 TTY Pu 选择 ppk。

      出现提示时保存密钥文件。

      注意

      您也可以使用现有的 Amazon EC2 密钥对,而不必创建新的密钥对。

    6. 网络设置部分中,选择编辑。选择以下设置:

      • VPC-必填:选择VPC带有您为 DMSVPC-v VPC pc 录制的 ID 的。

      • 子网:选择第一个公有子网。

      • 自动分配公有 IP:选择启用

      原样保留其余设置,然后选择启动实例

填充您的源数据库

在本节中,您将找到源数据库和目标数据库的端点以供稍后使用,并使用以下工具填充源数据库:

  • Git,用于下载填充源数据库的脚本。

  • MariaDB 客户端,运行此脚本。

获取端点

查找并记下您RDS的 MariaDB 和 Postgre SQL 数据库实例RDS的终端节点,以备日后使用。

查找数据库实例的端点
  1. 登录 Amazon Web Services Management Console 并打开 Amazon RDS 控制台,网址为https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择数据库

  3. 选择 dms-mariadb 数据库,并记下该数据库的端点值。

  4. dms-postgresql 数据库重复之前的步骤。

填充您的源数据库

接下来,连接到您的客户端实例,安装必要的软件,从 Git 下载 Amazon 示例数据库脚本,然后运行脚本来填充源数据库。

填充您的源数据库
  1. 使用您在前面步骤中保存的主机名和公有密钥连接到客户端实例。

    有关连接亚马逊EC2实例的更多信息,请参阅《亚马逊EC2用户指南》中的访问实例

    注意

    如果您使用的是 PuTTY,请在 “连接设置” 页面上启用 TCP keepalives,这样您的连接就不会因为处于非活动状态而超时。

  2. 安装 Git、MariaDB 和 Postgre。SQL根据需要确认安装。

    $ sudo yum install git $ sudo dnf install mariadb105 $ sudo dnf install postgresql15
  3. 运行以下命令从中下载数据库创建脚本 GitHub。

    git clone https://github.com/aws-samples/aws-database-migration-samples.git
  4. 切换到 aws-database-migration-samples/mysql/sampledb/v1/ 目录。

  5. 运行以下命令。例如,提供您之前记RDS下的源实例的终端节点dms-mariadb.cdv5fbeyiy4e.us-east-1.rds.amazonaws.com

    mysql -h dms-mariadb.abcdefghij01.us-east-1.rds.amazonaws.com -P 3306 -u admin -p dms_sample < ~/aws-database-migration-samples/mysql/sampledb/v1/install-rds.sql
  6. 运行数据库创建脚本。该脚本最多需要 45 分钟来创建架构和填充数据。您可以放心地忽略脚本显示的错误和警告。