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

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

Amazon Database Migration Service 的先决条件

在本节中,您可以了解Amazon DMS,例如设置您的源数据库和目标数据库。作为这些任务的一部分,您还根据 Amazon VPC 服务设置一个 Virtual Private Cloud (VPC) 以包含您的资源。此外,您还设置了一个 Amazon EC2 实例,用于填充源数据库并验证目标数据库上的复制。

注意

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

在本教程中,您将创建 MySQL 数据库作为源数据库,并创建 PostgreSQL 数据库作为您的目标。此方案使用常用的低成本数据库引擎来演示复制。使用不同的数据库引擎演示Amazon DMS功能,用于在异构平台之间迁移数据。

本教程中的资源使用美国西部(俄勒冈)区域。如果要使用不同的Amazon区域中,指定您选择的区域,而不是显示美国西部(俄勒冈)的位置。

注意

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

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

创建 VPC

在本节中,您创建一个 VPC,以包含您的Amazon资源的费用。使用 VPC 是使用Amazon资源,以便您的数据库、Amazon EC2 实例、安全组等在逻辑上进行组织和安全。

将 VPC 用于您的教程资源还可确保您在完成本教程时删除您使用的所有资源。您必须先删除 VPC 包含的所有资源,然后才能删除 VPC。

创建 VPC 以用于Amazon DMS

  1. 登录到Amazon Web Services Management Console并通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择。VPC 控制面板,然后选择。VPC 向导启动

  3. 离开带单个公有子网的 VPC,然后选择。Select

  4. 在存储库的步骤 2: 带单个公有子网的 VPC页面上,输入以下选项:

    • VPC 名称DMSVPC

    • 可用区:us-west-2a

    • 子网名称DMSSubnet1

    选择 Create VPC

  5. 在导航窗格中,选择。VPC。请注意 VPC IDDMSVPC

  6. 在导航窗格中,选择。Subnets,然后选择DMS子网 1。注意路由表ID详细信息部分。

  7. 选择创建子网,并在创建子网页面上,选择以下设置:

    • VPC ID:选择 VPC IDDMSVPC

    • 子网名称:DMSSubnet2

    • 可用区:US West (Oregon) / us-west-2b

    • IPv4 CIDR block10.0.1.0/24

  8. 选择创建子网,并在Subnets页面上,选择管理系统子网 2

  9. 选择路由表选项卡,然后选择。编辑路由表关联

  10. 在存储库的编辑路由表关联页面上,选择路由表 ID你之前注意到的。选择 Save

  11. 在导航窗格中,选择。个安全组

  12. 选择名为default (默认)具有VPC ID与您记录的 ID 相匹配DMSVPC

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

  14. 选择 Add rule。添加规则类型为MySQL/Aurora输入0.0.0.0/0对于 来说为

  15. 选择添加规则。添加规则类型为PostgreSQL输入0.0.0.0/0对于 来说为

  16. 选择 Save rules (保存规则)

创建亚马逊 RDS 参数组

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

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

  • 目标数据库的复制角色,以便Amazon DMS会在初始数据传输过程中忽略外键约束。有了这一设置,Amazon DMS可能不会按顺序迁移数据。

创建参数组以便与Amazon DMS

  1. 在处打开 Amazon RDS 控制台https://console.aws.amazon.com/rds/

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

  3. 在存储库的参数组页面上,选择创建参数组

  4. 在存储库的创建参数组页面上,输入以下设置:

    • 参数组系列Myql8.0

    • 组名:dms-mysql-parameters

    • 说明:Group for specifying binary log settings for replication

    选择 Create (创建)

  5. 在存储库的参数组页面上,选择dms-mysq-参数,并在dms 参数组页面上,选择编辑参数

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

    • 二进制日志校验和NONE

    • 二进制日志格式ROW

    选择 Save Changes (保存更改)

  7. 在存储库的参数组页面上,选择创建参数组

  8. 在存储库的创建参数组页面上,输入以下设置:

    • 参数组系列推迟 12

    • 组名:dms-postgresql-parameters

    • 说明:Group for specifying role setting for replication

    选择 Create (创建)

  9. 在存储库的参数组页面上,选择dms-postgreq-参数

  10. 在存储库的dms-postgreq-参数页面上,选择编辑参数,并设置会话复制角色参数副本

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

创建您的源 Amazon RDS 数据库

使用以下过程创建您的 Amazon RDS 源数据库。

为 MySQL 数据库创建源 RDS

  1. 在处打开 Amazon RDS 控制台https://console.aws.amazon.com/rds/

  2. 在存储库的控制面板页面上,选择创建数据库中的数据库部分。请不要选择创建数据库中的Amazon Aurora部分。

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

    • 引擎选项:对于引擎类型,请选择 MySQL

    • 模板:选择开发/测试

    • 设置

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

      • 主用户名:将保留为admin

      • 自动生成密码:将保留为未选中状态。

      • 主密码:输入 changeit

      • 确认密码:Enterchangeit

    • 数据库实例类

      • 数据库实例类:离开标准类选择。

      • 适用于数据库实例类中,选择db.m5.large

    • 存储

      • 清除启用存储自动扩展

      • 其余设置保持原样。

    • 可用性和耐用性:保持设置原样。

    • Connectivity (连接)

      • Virtual Private CloudDMSVPC

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

      • 可用区us-west-2 a

      • 其余设置保持原样。

    • Database authentication:离开密码验证选择。

    • Expand其他配置

      • UDER数据库选项输入dms_sample对于 来说为Initial database name (初始数据库名称)

      • UDER数据库参数组中,选择dms-mysq-参数

      • UDER备份,离开启用自动备份已选择。源数据库必须启用自动备份才能支持持续复制。

      • UDER备份保留期中,选择1 天

      • UDER加密,清除启用加密

      • UDERPerformance Insights, 清除启用 Performance Insights

      • UDER监控,清除启用增强监控

      • UDER维护,清除启用自动次要版本升级

  4. 选择创建数据库

创建您的目标 Amazon RDS 数据库

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

为 PostgreSQL 数据库创建目标 RDS 的步骤

  1. 重复上述过程中的步骤 1 和 2。

  2. 在存储库的创建数据库页面上,设置相同的选项,但这些选项除外:

    1. 适用于引擎选项中,选择PostgreSQL

    2. 适用于数据库实例标识符输入dms-postgresql

    3. 适用于数据库参数组中,选择dms-postgreq-参数

    4. Clear启用自动备份

  3. 选择创建数据库

创建 Amazon EC2 客户端

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

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

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

  • 我们已经确认,您在本教程中使用的工具可以在 Amazon Linux 2 上工作,并且易于安装,我们建议在本教程中使用这些工具。

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

创建和配置 Amazon EC2 客户端以填充源数据库

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在存储库的控制面板中,选择启动实例

  3. Amazon Linux 2 AMI (HVM), SSD Volume Type部分中,选择。Select

  4. 在存储库的步骤 2: 选择一个实例类型页面上,选择t2.xlarge。选择 Next:。配置实例详细信息

  5. 在存储库的步骤 3: 配置实例详细信息页面上,选择以下设置:

    • 网络DMSVPC

    • 子网DMS子网 1

    • 自动分配公有 IP:选择Enable (启用 Gem)

    其余设置保持原样,然后选择5. 添加标签在标头。

  6. 在存储库的步骤 5: 添加标签页面上,选择添加标签。添加标签密钥NameDMSClient

  7. 其余设置保持原样,选择7. 审核,然后选择。启动

  8. 在存储库的选择现有 key pair 或创建新 key pair页面上,执行以下操作:

    1. 选择 Create a new key pair

    2. 对 key pair 命名命名命名DMSKeyPair

    3. 选择下载密钥对,然后保存新 key pair 的密钥。

    注意

    您还可以使用现有的 Amazon EC2 key pair,而不是创建新密钥对。

  9. 确认您拥有 key pair 文件,然后选择启动实例

  10. 在导航窗格中,选择。实例,然后选择DMS 客户端。注意公有 IPv4 DNS值以供将来使用。

  11. 在导航窗格中,选择。安全组,然后选择名为default (默认)具有VPC ID值,该值与您记录的 ID 相匹配DMSVPC

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

  13. 选择 Add rule。Set类型所有流量Custom (自定义)启动向导(或您为 Amazon EC2 实例创建的任何安全组)。

  14. 选择 Save rules (保存规则)

填充您的源数据库

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

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

  • MySQL 客户端,以运行此脚本。

获取终端节点

查找并记下您用于 PostgreSQL 的 RDS 终端节点以及 PostgreSQL 数据库实例 RDS 以供以后使用。

查找数据库实例终端节点

  1. 登录到Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

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

  3. 选择MySQL — mysql数据库,并注意终端节点数据库的值。

  4. 重复上述步骤,对ds-postql数据库。

填充您的源数据库

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

填充您的源数据库

  1. 使用您在前面的步骤中保存的主机名和公钥 Connect 到客户端实例。

    有关连接 Amazon EC2 实例的详细信息,请参阅访问实例中的适用于 Linux 实例的 Amazon EC2 用户指南

    注意

    如果您使用的是 PuTTY,请在Connection设置页面,以便连接不会从非活动状态中超时。

  2. 安装 Git 和 MySQL。根据需要确认安装。

    $ sudo yum install git $ sudo yum install mysql
  3. 安装 PSQL。您以后可以使用 PSQL 客户端来验证复制。

    为此,请执行以下步骤:

    1. 创建 Yum 软件包资料档案库配置文件 (pgdg.repo)。

      $ sudo su # cd /etc/yum.repos.d # nano pgdg.repo
    2. 将以下内容添加到 pgdg.repo 文件。

      [pgdg11] name=PostgreSQL 11 $releasever - $basearch baseurl=https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.5-x86_64 enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-11
    3. 根据需要安装并确认安装。

      sed -i "s/rhel-\$releasever-\$basearch/rhel-7.5-x86_64/g" "/etc/yum.repos.d/pgdg.repo" yum groupinstall "PostgreSQL Database Server 11 PGDG"
    4. Exitsudo

      $ exit
  4. 运行以下命令可从 GitHub 下载数据库创建脚本。

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

  6. 运行以下命令。为您之前记录的源 RDS 实例提供终端节点,例如dms-mysql.cdv5fbeyiy4e.us-west-2.rds.amazonaws.com

    mysql -h dms-mysql.abcdefghij01.us-west-2.rds.amazonaws.com -P 3306 -u admin -pchangeit dms_sample < ~/aws-database-migration-samples/mysql/sampledb/v1/install-rds.sql
  7. 让数据库创建脚本运行。该脚本最多需要 45 分钟时间来创建架构并填充数据。