完成设置所需的先决条件 AWS Database Migration Service - AWS 数据库迁移服务

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

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

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

注意

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

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

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

注意

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

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

创建一个 VPC

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

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

要创建VPC要与一起使用 AWS DMS
  1. 登录 AWS 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 参数组

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

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

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

创建参数组以与一起使用 AWS 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 AWS ecrets Manager 中的管理主凭证

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

        • 主密码:输入 changeit

        • 确认密码:再次输入 changeit

    • 实例配置

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

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

    • 存储

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

      • 其余设置保持原样。

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

    • Connectivity (连接)

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

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

      • 虚拟私有云DMSVPC-vpc

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

      • 可用区us-west-2a

      • 其余设置保持原样。

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

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

    • 展开其他配置

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

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

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

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

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

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

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

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

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

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

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

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

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

  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. 登录 AWS Management Console 并打开 Amazon RDS 控制台,网址为https://console.aws.amazon.com/rds/

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

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

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

填充您的源数据库

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

填充您的源数据库
  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 分钟来创建架构和填充数据。您可以放心地忽略脚本显示的错误和警告。