使用 AWS DMS 复制实例 - AWS Database Migration Service

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

使用 AWS DMS 复制实例

当您创建了一个 AWS DMS 复制实例, AWS DMS 将其创建在 Amazon EC2 虚拟私有云(VPC)中的实例,基于 Amazon VPC 服务。您可以使用此复制实例执行数据库迁移。通过使用复制实例,您可以在选择 多-AZ 选项。

在多可用区部署中,AWS DMS 自动在不同可用区中预置和维护复制实例的同步备用副本。主复制实例可以跨可用区同步复制到备用副本。此方法提供数据冗余,消除 I/O 冻结,并将延迟峰值降至最小。


             AWS Database Migration Service 复制实例

AWS DMS 使用复制实例连接到源数据存储,读取源数据并设置数据格式以供目标数据存储使用。复制实例还会将数据加载到目标数据存储中。大部分这种处理发生在内存中。但是,大型事务可能需要部分缓冲到磁盘上。缓存事务和日志文件也会写入磁盘。

您可以创建 AWS DMS 复制实例如下 AWS 区域。

区域 名称
亚太区域(东京) ap-northeast-1
亚太区域(首尔) ap-northeast-2
亚太地区 (孟买) 区域 ap-south-1
亚太区域(新加坡) ap-southeast-1
亚太区域(悉尼) ap-southeast-2
加拿大 (中部) 区域 ca-central-1
中国(北京)区域 cn-north-1
中国 (宁夏) 区域 cn-northwest-1
欧洲(斯德哥尔摩)区域 eu-north-1
欧洲(法兰克福)区域 eu-central-1
欧洲(爱尔兰)区域 eu-west-1
欧洲 (伦敦) 区域 eu-west-2
欧洲 (巴黎) 区域 eu-west-3
南美洲(圣保罗)区域 sa-east-1
美国东部(弗吉尼亚北部)地区 us-east-1
美国东部(俄亥俄)区域 us-east-2
美国西部(加利福利亚北部)区域 us-west-1
美国西部(俄勒冈)区域 us-west-2

AWS DMS 支持名为的特殊AWS区域 AWS GovCloud (US) 旨在允许美国政府机构和客户将敏感工作负载转移到云中。 AWS GovCloud (US) 满足美国政府的具体监管和合规要求。有关 AWS GovCloud (US),请参阅 什么是AWS GovCloud (美国)?

接下来,您可以了解有关复制实例的更多详细信息。

公有和私有复制实例

您可以指定复制实例在连接到源和目标数据库时使用公有还是私有 IP 地址。

私有复制实例 有一个专用IP地址,您无法在复制网络之外访问。当源数据库和目标数据库位于连接到复制实例的VPC的同一网络中时,您可以使用专用实例。可使用VPN将网络连接到VPC, AWS Direct Connect、或VPC对等。

VPCpeering 连接是两个 VPCs 启用使用每个VPC的专用IP地址的路由,就如同它们位于同一网络中一样。有关VPC同行的更多信息,请参阅 VPC同行AmazonVPC用户指南.

使用复制引擎版本

复制引擎是核心 AWS DMS 软件,它在复制实例上运行并执行指定的迁移任务。AWS 定期发布 AWS DMS 复制引擎软件的新版本以提供新功能和增强性能。每个版本的复制引擎软件具有自己的版本号以区别于其他版本。

除非另行指定,否则在启动新的复制实例时,它将运行最新的 AWS DMS 引擎版本。有关更多信息,请参阅使用 AWS DMS 复制实例

如果您有一个当前正在运行的复制实例,则可以将其升级到较新的引擎版本。(人AWS DMS 不支持引擎版本降级。)有关复制引擎版本的更多信息,请参阅 AWS DMS 发行说明.

使用控制台升级引擎版本

您可使用 AWS 管理控制台升级 AWS DMS 复制实例。

使用控制台升级复制实例

  1. https://console.aws.amazon.com/dms/ 打开 AWS DMS 控制台。

  2. 在导航窗格中,选择复制实例

  3. 选择您的复制引擎,然后选择修改

  4. 对于复制引擎版本,选择所需的版本号,然后选择修改

注意

复制实例升级需要几分钟的时间。在实例准备就绪后,其状态将变为可用

使用升级引擎版本 AWS CLI

您可使用 AWS CLI 升级 AWS DMS 复制实例,如下所示。

使用 AWS CLI 升级复制实例

  1. 使用以下命令确定您的复制实例的 Amazon 资源名称 (ARN)。

    aws dms describe-replication-instances \ --query "ReplicationInstances[*].[ReplicationInstanceIdentifier,ReplicationInstanceArn,ReplicationInstanceClass]"

    在输出中,记下要升级的复制实例的ARN,例如:arn:aws:dms:us-east-1:123456789012:rep:6EFQQO6U6EDPRCPKLNPL2SCEEY

  2. 使用以下命令确定可用的复制实例版本。

    aws dms describe-orderable-replication-instances \ --query "OrderableReplicationInstances[*].[ReplicationInstanceClass,EngineVersion]"

    在输出中,注意复制实例类可用的引擎版本号或数字。您应该会在步骤 1 的输出中看到此信息。

  3. 使用以下命令升级复制实例。

    aws dms modify-replication-instance \ --replication-instance-arn arn \ --engine-version n.n.n

    Replace arn 在前文中,用来自前一步骤的实际复制实例ARN。

    Replace n.n.n 使用您想要的引擎版本号,例如: 2.2.1

注意

复制实例升级需要几分钟的时间。您可以使用以下命令查看复制实例状态。

aws dms describe-replication-instances \ --query "ReplicationInstances[*].[ReplicationInstanceIdentifier,ReplicationInstanceStatus]"

在复制实例准备就绪后,其状态将变为可用

为复制实例设置加密密钥

AWS DMS 加密复制实例使用的存储以及终端节点连接信息。为了加密复制实例使用的存储,AWS DMS 使用对您 AWS 账户唯一的主密钥。您可以使用 AWS Key Management Service (AWS KMS) 查看和管理此主密钥。您可以在账户中使用默认主密钥 (aws/dms) 或者您创建的自定义主密钥。如果有一个现有的 AWS KMS 加密密钥,也可以使用该密钥加密。

您可以通过提供 KMS 密钥标识符来加密自己的 AWS DMS 资源,从而指定自己的加密密钥。在您指定自己的加密密钥时,执行数据库迁移所用的用户账户必须具有对该密钥的访问权限。有关创建您自己的加密密钥以及向用户提供对加密密钥访问权限的更多信息,请参阅 AWS KMS 开发人员指南

如果未指定 KMS 密钥标识符,则 AWS DMS 使用默认加密密钥。KMS 为您的 AWS 账户创建 AWS DMS 的默认加密密钥。您的 AWS 账户在每个 AWS 区域都有一个不同的默认加密密钥。

要管理用于加密 AWS DMS 资源的密钥,请使用 KMS。您可以在控制台主页上选择 Identity & Access Management,然后在导航窗格中选择加密密钥以在 AWS 管理控制台中查找 KMS。

KMS 将安全、高度可用的硬件和软件结合起来,提供可为云扩展的密钥管理系统。通过使用 KMS,您可创建加密密钥并定义控制这些密钥的使用方式的策略。KMS 支持 AWS CloudTrail,因此,您可审核密钥使用情况以验证密钥是否使用得当。您的KMS密钥可与 AWS DMS 和其他支持的AWS服务。支持的AWS服务包括 Amazon RDS, Amazon S3, Amazon Elastic Block Store (人Amazon EBS),和 Amazon Redshift.

创建带有特定加密密钥的 AWS DMS 资源后,无法更改这些资源的加密密钥。请确保先确定加密密钥要求,然后再创建 AWS DMS 资源。