View a markdown version of this page

为 DMS 架构转换创建数据提供器 - AWS Database Migration Service

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

为 DMS 架构转换创建数据提供器

接下来,创建描述源数据库和目标数据库的数据提供程序。对于每个数据提供程序,可以指定数据存储类型和位置信息。您不会将数据库凭证存储在数据提供程序中。

AWS Management Console
创建数据提供程序
  1. 登录 AWS 管理控制台,然后打开 AWS DMS 控制台。

  2. 在导航窗格中,选择数据提供程序,然后选择创建数据提供程序

  3. 对于名称,为源数据提供程序输入唯一名称。例如,输入 sc-dp

  4. 对于目的,请选择架构转换

  5. 对于引擎类型,为数据提供程序选择数据库引擎类型。

  6. 要在不连接到数据库的情况下使用此数据提供器进行架构转换,请打开虚拟模式

    虚拟模式适用于两种用例:

    • 离线源-无需连接到源数据库即可从导出的脚本文件转换架构。离线源目前可用于微软 SQL Server。

    • 虚拟目标-无需配置目标基础架构即可转换架构。适用于所有支持的目标数据库。

    虚拟模式开启后,控制台会使用默认值自动设置连接信息。

    有关使用虚拟模式的更多信息,请参阅离线源和虚拟目标的虚拟模式

  7. 对于引擎配置,请选择以下选项之一:

    • 从列表中选择 RDS 数据库实例 — 选择浏览,然后选择您的 Amazon RDS 数据库。DMS 架构转换会自动检索引擎类型、服务器名称和端口。对于数据库名称,输入数据库的名称。

    • 手动输入-输入数据库的连接信息。连接参数取决于数据库引擎。有关更多信息,请参阅 创建实例提供程序

  8. 对于安全套接字层(SSL)模式,选择 SSL 强制执行类型。

  9. 选择创建数据提供程序

AWS CLI

要创建数据提供器,请使用 create-data-p rovider 命令。

aws dms create-data-provider \ --data-provider-name my-data-provider \ --engine engine-type \ --settings '{"EngineSettings":{ "ServerName":"server-name", "Port":port, "DatabaseName":"database-name", "SslMode":"ssl-mode" }}'

替换以下内容:

  • my-data-provider— 您的数据提供商的唯一名称。

  • engine-type – 数据库引擎。有效值包括sqlserverpostgresoraclemysqlauroraaurora-postgresql

  • EngineSettings— 引擎特定的设置对象,例如MicrosoftSqlServerSettingsPostgreSqlSettings、或。OracleSettings

  • server-name— 您的数据库服务器的 DNS 名称或 IP 地址。此值将成为选择规则server-name中的值。

  • port— 用于连接数据库服务器的端口。

  • database-name-数据库的名称。

  • ssl-mode— SSL 模式。有效值:nonerequireverify-caverify-full

创建离线来源

要创建离线源数据提供器,请在引擎配置中使用带有--virtual标志和 S3 设置的 create-data-pro vider 命令。

aws dms create-data-provider \ --data-provider-name my-offline-source \ --engine sqlserver \ --settings '{"MicrosoftSqlServerSettings": {"ServerName": "my-source-server", "Port": 1433, "DatabaseName": "MyDatabase", "SslMode": "none", "S3Path": "s3://amzn-s3-demo-bucket/my-prefix", "S3AccessRoleArn": "arn:aws:iam::111122223333:role/my-s3-read-role"}}' \ --virtual

下表描述了每种设置。离线来源需要进行所有设置。

离线来源设置
设置 必需 描述
ServerName此数据提供者的标识符。与选择规则一样server-name使用。不需要是真实的主机名。
Port引擎的标准端口(SQL Server 为 1433)。未建立任何连接。
DatabaseName数据库名称值。未建立任何连接。
SslMode使用 none。未建立任何连接。
S3Path包含导出的 DDL 脚本的 S3 URI 前缀(例如,s3://amzn-s3-demo-bucket/my-prefix)。
S3AccessRoleArn授予 DMS 对 S3 存储桶的读取权限的 IAM 角色的 ARN。有关更多信息,请参阅 为离线源配置 S3 访问权限

有关离线源先决条件和 S3 权限的更多信息,请参阅离线来源

创建虚拟目标

要创建虚拟目标数据提供器,请使用带有标志的 create-data-provid er 命令。--virtual请勿包括S3PathS3AccessRoleArn — 虚拟目标的这些设置将被拒绝。

aws dms create-data-provider \ --data-provider-name my-virtual-target \ --engine postgres \ --settings '{"PostgreSqlSettings": {"ServerName": "my-target-server", "Port": 5432, "DatabaseName": "postgres", "SslMode": "none"}}' \ --virtual

下表描述了每种设置。

虚拟目标设置
设置 必需 描述
ServerName此数据提供者的标识符。与选择规则一样server-name使用。不需要是真实的主机名。
Port引擎的标准端口(PostgreSQL 为 5432,MySQL 为 3306)。未建立任何连接。
DatabaseName数据库名称占位符。未建立任何连接。
SslMode使用 none。未建立任何连接。
S3PathN/A不包括。针对虚拟目标被拒绝。
S3AccessRoleArnN/A不包括。针对虚拟目标被拒绝。

有关虚拟模式的更多信息,请参阅虚拟目标