本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 DMS 架构转换创建数据提供器
接下来,创建描述源数据库和目标数据库的数据提供程序。对于每个数据提供程序,可以指定数据存储类型和位置信息。您不会将数据库凭证存储在数据提供程序中。
- AWS Management Console
-
创建数据提供程序
-
登录 AWS 管理控制台,然后打开 AWS DMS 控制台。
-
在导航窗格中,选择数据提供程序,然后选择创建数据提供程序。
-
对于名称,为源数据提供程序输入唯一名称。例如,输入
sc-dp。 -
对于目的,请选择架构转换。
-
对于引擎类型,为数据提供程序选择数据库引擎类型。
-
要在不连接到数据库的情况下使用此数据提供器进行架构转换,请打开虚拟模式。
有两种应用虚拟模式的用例:
离线源-无需连接到源数据库即可从导出的脚本文件中转换架构。离线源目前可用于微软 SQL 服务器。
虚拟目标 — 无需配置目标基础架构即可转换架构。适用于所有支持的目标数据库。
虚拟模式开启时,控制台使用默认值自动设置连接信息。
有关使用虚拟模式的更多信息,请参阅离线源和虚拟目标的虚拟模式。
-
对于引擎配置,请选择以下选项之一:
-
从列表中选择 RDS 数据库实例 -选择 “浏览”,然后选择您的 Amazon RDS 数据库。DMS 架构转换会自动检索引擎类型、服务器名称和端口。对于数据库名称,输入数据库的名称。
-
手动输入 -输入数据库的连接信息。连接参数取决于数据库引擎。有关更多信息,请参阅 创建实例提供程序。
-
-
对于安全套接字层(SSL)模式,选择 SSL 强制执行类型。
-
选择创建数据提供程序。
-
- AWS CLI
-
要创建数据提供器,请使用 create-data-pro vider 命令。
aws dms create-data-provider \ --data-provider-namemy-data-provider\ --engineengine-type\ --settings '{"EngineSettings":{ "ServerName":"server-name", "Port":port, "DatabaseName":"database-name", "SslMode":"ssl-mode" }}'替换以下内容:
my-data-provider— 您的数据提供商的唯一名称。engine-type– 数据库引擎。有效值包括sqlserver、postgres、oracle、mysql、aurora、aurora-postgresql。EngineSettings— 特定于引擎的设置对象,例如MicrosoftSqlServerSettingsPostgreSqlSettings、或。OracleSettingsserver-name— 您的数据库服务器的 DNS 名称或 IP 地址。该值成为选择规则。server-nameport— 用于连接数据库服务器的端口。database-name— 数据库的名称。ssl-mode— SSL 模式。有效值:none、require、verify-ca、verify-full。
创建离线源
要创建离线源数据提供器,请在引擎配置中使用带有
--virtual标志和 S3 设置的 create-data-provider 命令。aws dms create-data-provider \ --data-provider-namemy-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 服务器为 1433)。未建立任何连接。 DatabaseName是 数据库名称值。未建立任何连接。 SslMode是 使用 none。未建立任何连接。S3Path是 包含您导出的 DDL 脚本的 S3 URI 前缀(例如, s3://amzn-s3-demo-bucket/my-prefix)。S3AccessRoleArn是 授予 DMS 对 S3 存储桶的读取权限的 IAM 角色的 ARN。有关更多信息,请参阅 为离线源配置 S3 访问权限。 有关离线源先决条件和 S3 权限的更多信息,请参阅离线来源。
创建虚拟目标
要创建虚拟目标数据提供器,请使用带有标志的 create-data-provider 命令。
--virtual请勿包含S3Path或S3AccessRoleArn— 虚拟目标的这些设置会被拒绝。aws dms create-data-provider \ --data-provider-namemy-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 请勿包含。虚拟目标被拒绝。 有关虚拟模式的更多信息,请参阅虚拟目标。