设置复制Amazon Database Migration Service - Amazon Database Migration Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

设置复制Amazon Database Migration Service

在本主题中,您设置源数据库和目标数据库之间的复制。

第 1 步:使用创建复制实例Amazon DMS控制台

要开始使用Amazon DMS中,创建复制实例。

A复制实例执行源和目标终端节点之间的实际数据迁移。您的实例需要足够的存储和处理能力来执行将数据从源数据库迁移至目标数据库的任务。此复制实例的大小取决于要迁移的数据量和您的实例需要执行的任务。有关复制实例的更多信息,请参阅使用 Amazon DMS 复制实例


                创建复制实例

使用控制台创建复制实例

  1. 登录到Amazon Web Services Management Console,然后打开Amazon DMS控制台https://console.aws.amazon.com/dms/v2/.

  2. 在导航窗格中,选择复制实例,然后选择创建复制实例.

  3. 在存储库的创建复制实例页面上,指定复制实例配置:

    1. 对于名称,请输入 DMS-instance

    2. 适用于说明中,输入复制实例的简短说明(可选)。

    3. 适用于实例类,离开dms.t3.medium选择。

      实例需要足够的存储、网络和处理能力来进行迁移。有关如何选择实例类的详细信息,请参阅选择正确的AmazonDMS 复制实例.

    4. 适用于引擎版本,请接受默认值。

    5. 适用于分配的存储空间 (GiB),接受默认值 50 GiB。

      InAmazon DMS,存储空间主要由日志文件和缓存的事务使用。对于缓存事务,仅在需要将缓存的事务写入磁盘时使用存储空间。因此,Amazon DMS不会使用大量存储空间。

    6. 适用于VPC中,选择DMSVPC.

  4. 选择高级安全性和网络配置选项卡以设置网络和加密设置值(如果需要):

    1. 适用于复制子网组中,保留当前选择的复制子网组。

    2. 适用于可用区中,选择us-west-2a.

    3. 适用于VPC 安全组中,选择默认值安全组(如果尚未选择)。

    4. 适用于Amazon KMS key,离开(默认)aws/dms选择。

  5. 将设置保留在维护选项卡。默认值是从每个 8 小时时间段中随机选择的 30 分钟时间。Amazon区域,在一周中的任意一天。

  6. 选择创建

Amazon DMS创建复制实例以执行您的迁移。

第 2 步:指定源和目标终端节点

在创建复制实例时,您可以为您之前创建的 Amazon RDS 数据库指定源和目标数据存储终端节点。您可以单独创建每个端点。


                创建终端节点

要指定源端点和数据库终端节点,请使用Amazon DMS控制台

  1. 在控制台上,选择终端节点,然后选择创建终端节点.

  2. 在存储库的创建终端节点页面上,选择终端节点类型。选择选择 RDS 数据库实例框中,然后选择dms-mysql实例。

  3. 终端节点配置部分,输入dms-mysql-source对于 来说为终端节点标识符.

  4. 适用于源引擎,离开MySQL选择。

  5. 适用于访问终端数据库中,选择手动提供访问信息. 确认端口安全套接字层 (SSL) 模式用户名, 和密码都正确无误。

  6. 选择测试终端节点连接(可选)选项卡。适用于VPC中,选择DMSVPC.

  7. 适用于复制实例,离开dms-medium (dms-medium)选择。

  8. 选择运行测试.

    在您选择运行测试、Amazon DMS使用您提供的详细信息创建终端节点并连接到它。如果连接失败,请编辑端点定义并再次测试连接。您还可以手动删除终端节点。

  9. 测试成功后,选择创建终端节点.

  10. 使用指定目标数据库终端节点Amazon DMS控制台。若要执行此操作,请使用以下设置重复上述步骤:

    • 终端节点类型目标终端节点

    • RDS Instancedms-postgreql

    • 终端节点标识符dms-postgresql-target

    • 目标引擎:离开PostgreSQL选择。

完成为终端节点提供所有信息后,Amazon DMS创建源端点和目标端点,以便在数据库迁移过程中使用。

第 3 步:创建任务并迁移数据

在此步骤中,您创建一个任务以在所创建的数据库之间迁移数据。


                创建迁移任务

创建迁移任务并开始数据库迁移

  1. 在控制台导航窗格中,选择数据库迁移任务,然后选择Create task (创建任务). 这些区域有:创建数据库迁移任务页面随即打开。

  2. 任务配置部分中,指定以下任务选项:

    • 任务标识符:输入 dms-task

    • 复制实例:选择您的复制实例 (dms-实例-vpc-<vpc id>)。

    • 源数据库终端节点:选择DMS-MySQL 源代码.

    • 目标数据库终端节:选择dms 后期目标.

    • 迁移类型:选择迁移现有数据并复制持续更改.

  3. 选择Task settings (任务设置)选项卡。设置以下设置:

    • 目标表准备模式不执行任何操作

    • 在完全加载完成后停止任务不要停下来

  4. 选择表映射选项卡,然后展开选择规则. 选择添加新的选择规则. 设置以下设置:

    • 架构输入架构

    • 架构名称dms_sample

  5. 选择迁移任务启动配置选项卡,然后选择创建时自动.

  6. 选择创建任务

Amazon DMS然后创建迁移任务并启动它。初始数据库复制需要大约 10 分钟。请确保在教程中执行下一步操作之前Amazon DMS完成数据迁移。

第 4 步:测试复制

在本节中,您可以在初始复制期间和之后将数据插入源数据库,并查询目标数据库中所插入的数据。

测试复制

  1. 确保您的数据库迁移任务显示正在运行但在上一步中启动的初始数据库复制尚未完成。

  2. Connect 到 Amazon EC2 客户端,并使用以下命令启 MySQL 客户端。提供 MySQL 数据库终端节点。

    mysql -h dms-mysql.abcdefg12345.us-west-2.rds.amazonaws.com -P 3306 -u admin -pchangeit dms_sample
  3. 运行以下命令以将记录插入源数据库。

    MySQL [dms_sample]> insert person (full_name, last_name, first_name) VALUES ('Test User1', 'User1', 'Test'); Query OK, 1 row affected (0.00 sec)
  4. 退出 MySQL 客户端。

    MySQL [dms_sample]> exit Bye
  5. 复制完成之前,请查询目标数据库中的新记录。

    从 Amazon EC2 实例,使用以下命令连接到目标数据库,并提供您的目标数据库终端节点。

    psql \ --host=dms-postgresql.abcdefg12345.us-west-2.rds.amazonaws.com \ --port=5432 \ --username=postgres \ --password \ --dbname=dms_sample

    提供密码 (changeit)。

  6. 复制完成之前,请查询目标数据库中的新记录。

    dms_sample=> select * from dms_sample.person where first_name = 'Test'; id | full_name | last_name | first_name ----+-----------+-----------+------------ (0 rows)
  7. 在运行迁移任务时,您可以监视数据库迁移的进度:

    • 在 DMS 控制台导航窗格中,选择数据库迁移任务.

    • 选择dMS 任务.

    • 选择表统计数据.

    有关监控的更多信息,请参阅监控AmazonDMS 任务

  8. 复制完成后,再次查询目标数据库中的新记录。Amazon DMS将在初始复制完成后迁移新记录。

    dms_sample=> select * from dms_sample.person where first_name = 'Test'; id | full_name | last_name | first_name ---------+------------+-----------+------------ 7077784 | Test User1 | User1 | Test (1 row)
  9. 退出 psql 客户端。

    dms_sample=> quit
  10. 重复步骤 1 以再次连接到源数据库。

  11. 将另一条记录插入person表。

    MySQL [dms_sample]> insert person (full_name, last_name, first_name) VALUES ('Test User2', 'User2', 'Test'); Query OK, 1 row affected (0.00 sec)
  12. 重复制步骤 3 和 4 以断开源数据库的连接并连接到目标数据库。

  13. 再次查询目标数据库中的复制数据。

    dms_sample=> select * from dms_sample.person where first_name = 'Test'; id | full_name | last_name | first_name ---------+------------+-----------+------------ 7077784 | Test User1 | User1 | Test 7077785 | Test User2 | User2 | Test (2 rows)

第 5 步:清除Amazon DMSresources

完成入门教程后,您可以删除所创建的资源。您可以使用Amazon控制台删除它们。确保删除复制实例和终端节点之前删除迁移任务。

使用控制台删除迁移任务

  1. 在存储库的Amazon DMS控制台导航窗格中,选择数据库迁移任务.

  2. 选择dMS 任务.

  3. 依次选择 ActionsDelete

使用 控制台删除复制实例

  1. 在存储库的Amazon DMS控制台导航窗格中,选择复制实例.

  2. 选择DMS Instance (DMS).

  3. 依次选择 ActionsDelete

Amazon DMS将删除复制实例并将其从复制实例页.

使用控制台删除终端节点

  1. 在存储库的Amazon DMS控制台导航窗格中,选择终端节点.

  2. 选择DMS-MySQL 源代码.

  3. 依次选择 ActionsDelete

删除您的Amazon DMS资源,请确保同时删除以下资源。有关删除其他服务中的资源的帮助,请参阅每个服务的文档。

  • RDS 数据库。

  • 您的 RDS 数据库参数组。

  • 您的 RDS 子网组。

  • 随数据库和复制实例一起创建的任何 Amazon CloudWatch 日志。

  • 为您的 Amazon VPC 和 Amazon EC2 客户端创建的安全组。请确保从中删除入站规则默认值(对于 )启动向导 D-1安全组,这是您能够删除它们所必需的。

  • Amazon EC2 客户端。

  • Amazon VPC。

  • 您的 Amazon EC2 客户端 key pair。