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 (创建 VPC)

  5. 在导航窗格中,选择您的 VPC. 记下 VPC IDDMSVPC.

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

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

    • VPC ID:选择 VPC ID 以用于DMSVPC.

    • 子网名称:DMSSubnet2

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

    • IPv4 CIDR block:10.0.1.0/24

  8. 选择创建子网,然后在Subnets页面上,选择DMSsubnet2.

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

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

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

  12. 选择名为的组默认那里有VPC ID与你记下的身份证相匹配DMSVPC.

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

  14. 选择 Add rule。添加类型规则MySQL/Aurora然后输入0.0.0.0/0为了.

  15. 选择添加规则。添加类型规则PostgreSQL然后输入0.0.0.0/0为了.

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

创建 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. 在存储库的创建参数组页面上,输入以下设置:

    • 参数组系列mysql8.0

    • 组名:dms-mysql-parameters

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

    选择 Create (创建)

  5. 在存储库的参数组页面上,选择dms-mysql 参数,然后在dms-参数组/组域页面上,选择编辑参数.

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

    • binlog_checksumNONE

    • binlog_format

    选择 Save Changes(保存更改)。

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

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

    • 参数组系列postgres12

    • 组名:dms-postgresql-parameters

    • 说明:Group for specifying role setting for replication

    选择 Create (创建)

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

  10. 在存储库的dms-postgresql 参数页面上,选择编辑参数,然后设置session_复制_role 参数复制品.

  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-2a

      • 其余设置保持原样。

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

    • Expand其他配置

      • UDER数据库选项输入,dms_sample为了Initial database name (初始数据库名称).

      • UDER数据库参数组,选择dms-mysql 参数.

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

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

      • UDER加密,清除启用加密

      • UDERPerformance Insights,清除启用 Performance Insights

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

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

  4. 选择 Create database(创建数据库)。

创建您的目标 Amazon RDS 数据库

重复上一步创建目标 Amazon RDS 数据库,但需进行以下更改。

为 PostgreSQL 数据库创建目标 RDS

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

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

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

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

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

    4. Clear启用自动备份.

  3. 选择 Create database(创建数据库)。

创建 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 卷类型部分,选择Select.

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

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

    • 网络DMSVPC

    • 子网DMSsubnet1

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

    将其他设置保持原样,然后选择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. 在导航窗格中,选择安全组,然后选择名为的组默认那里有VPC ID与您记录的 ID 相匹配的值DMSVPC.

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

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

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

填充您的源数据库

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

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

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

获取端节点

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

要查找数据库实例终端节点

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

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

  3. 选择dms-mysql数据库,然后注意端点数据库的值。

  4. dms-postgresql数据库。

填充您的源数据库

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

填充源数据库

  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 Package 存储库配置文件 (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 -p dms_sample < ~/aws-database-migration-samples/mysql/sampledb/v1/install-rds.sql
  7. 让数据库创建脚本运行。该脚本最多需要 45 分钟才能创建架构并填充数据。