SSL与一起使用 AWS Database Migration Service - AWS 数据库迁移服务

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

SSL与一起使用 AWS Database Migration Service

您可以使用安全套接字层 (SSL) 对源端点和目标端点的连接进行加密。为此,您可以使用 AWS DMS 管理控制台或 AWS DMS API为端点分配证书。您也可以使用 AWS DMS 控制台来管理您的证书。

并非所有数据库SSL的使用方式都相同。Amazon Aurora 我的SQL兼容版使用服务器名称(集群中主实例的终端节点)作为终端节点。SSLAmazon Redshift 终端节点已使用SSL连接,不需要通过设置连接。SSL AWS DMS Oracle 终端节点需要其他步骤;有关更多信息,请参阅 Oracle 终端节点的 SSL 支持

要将证书分配给终端节点,您需要提供根证书或通往根证书的中间 CA 证书链(作为证书包),该证书用于对部署在您的终端节点上的服务器SSL证书进行签名。仅接受PEM格式化的 X509 文件的证书。导入证书时,您会收到一个 Amazon 资源名称 (ARN),您可以使用该名称为终端节点指定该证书。如果您使用亚马逊RDS,则可以下载亚马逊托管rds-combined-ca-bundle.pem的文件中提供的根 CA 和证书包RDS。有关下载此文件的更多信息,请参阅 Amazon RDS 用户指南中的使用SSL/TLS加密与数据库实例的连接

您可以从多种SSL模式中进行选择以进行SSL证书验证。

  • none – 不加密连接。该选项不安全,但需要的开销较少。

  • 要求 — 使用 SSL (TLS) 对连接进行加密,但未进行 CA 验证。该选项更为安全,但需要的开销较多。

  • verify-ca – 加密连接。该选项更为安全,但需要的开销较多。该选项将验证服务器证书。

  • verify-full – 加密连接。该选项更为安全,但需要的开销较多。该选项验证服务器证书并验证服务器主机名与证书的主机名属性匹配。

并非所有SSL模式都适用于所有数据库端点。下表显示了每个数据库引擎支持哪些SSL模式。

数据库引擎

none

require

verify-ca

verify-full

MySQL/MariaDB/AmazonAurora My SQL

默认 不支持 支持 支持

微软SQL服务器

默认 支持 不支持 支持

Postgre SQL

默认 支持 支持 支持

Amazon Redshift

默认 SSL未启用 SSL未启用 SSL未启用

Oracle

默认 不支持 支持 不支持

SAP ASE

默认 SSL未启用 SSL未启用 支持

MongoDB

默认 支持 不支持 支持

Db2 LUW

默认 不支持 支持 不支持

Db2 for z/OS

默认 不支持 支持 不支持
注意

DMS控制台上的 “SSL模式” 选项或 “API不适用于某些数据流” 和 “无” SQL 服务,例如 Kinesis 和 DynamoDB。默认情况下,它们是安全的,因此DMS显示SSL模式设置等于无(SSLMode=None)。您无需为终端节点提供任何其他配置即可使用SSL。例如,使用 Kinesis 作为目标端点时,默认情况下它是安全的。所有API对 Kinesis 的调用都使用SSL,因此无需在端点中添加其他SSL选项。DMS您可以使用协议安全地放置数据并通过SSL端点检索数据,该HTTPS协议在连接到 Kinesis 数据流时默认DMS使用。

SSL与一起使用的限制 AWS DMS

以下是SSL与一起使用的限制 AWS DMS:

  • SSL不支持与 Amazon Redshift 目标终端节点的连接。 AWS DMS 使用亚马逊 S3 存储桶将数据传输到亚马逊 Redshift 数据库。此传输默认情况下由 Amazon Redshift 加密。

  • SQL使用SSL启用的 Oracle 端点执行更改数据捕获 (CDC) 任务时,可能会出现超时。如果您遇到CDC计数器无法反映预期数字的问题,请将任务设置ChangeProcessingTuning部分中的MinimumTransactionSize参数设置为较低的值。您可以从最低值 100 开始。有关 MinimumTransactionSize 参数的更多信息,请参阅 更改处理优化设置

  • 您只能以 .pem 和 .sso (Oracle wallet) 格式导入证书。

  • 在某些情况下,您的服务器SSL证书可能由中间证书颁发机构 (CA) 签名。此种情况下,请确保从中间 CA 到根 CA 的整个证书链作为单个 .pem 文件导入。

  • 如果您在服务器上使用自签名证书,请选择 req uire 作为您的SSL模式。requir SSL e 模式隐式信任服务器的SSL证书,并且不尝试验证证书是否由 CA 签名。

管理证书

您可以使用DMS控制台查看和管理您的SSL证书。您也可以使用DMS控制台导入证书。

AWS Database Migration Service SSL证书管理

启SSL用 “我的SQL兼容”、“PostgreSQL” 或 SQL “服务器” 端点

您可以向新创建的终端节点或现有终端节点添加SSL连接。

使用创建 AWS DMS 终端节点 SSL
  1. 登录 AWS Management Console 并在 https://console.aws.amazon.com/dms/v2/上打开 AWS DMS 控制台。

    如果您以 AWS Identity and Access Management (IAM) 用户身份登录,请确保您拥有相应的访问权限 AWS DMS。有关数据库迁移所需权限的更多信息,请参阅 IAM使用所需的权限 AWS DMS

  2. 在导航窗格中,选择证书

  3. 选择导入证书

  4. 将要用于加密连接的证书上传到终端节点。

    注意

    您还可以在创建或修改端点时使用 AWS DMS 控制台上传证书,方法是在 “创建数据库终端节点” 页面上选择添加新 CA 证书

    对于 Aurora Serverless 作为目标,请获取在 A urora Serverless 中SSL使用TLS/中提到的证书。

  5. 步骤 2:指定源和目标端点中所述创建终端节点

修改要使用的现有 AWS DMS 终端节点 SSL
  1. 登录 AWS Management Console 并在 https://console.aws.amazon.com/dms/v2/上打开 AWS DMS 控制台。

    如果您以IAM用户身份登录,请确保您拥有相应的访问权限 AWS DMS。有关数据库迁移所需权限的更多信息,请参阅 IAM使用所需的权限 AWS DMS

  2. 在导航窗格中,选择证书

  3. 选择导入证书

  4. 将要用于加密连接的证书上传到终端节点。

    注意

    您还可以在创建或修改端点时使用 AWS DMS 控制台上传证书,方法是在 “创建数据库终端节点” 页面上选择添加新 CA 证书

  5. 在导航窗格中选择终端节点,选择要修改的终端节点,然后选择修改

  6. SSL模式选择一个值。

    如果选择 verify-caverify-full 模式,则需指定要用于 CA certificate (CA 证书) 的证书,如下所示。

    AWS Database Migration Service SSL证书管理

  7. 选择 Modify(修改)。

  8. 修改端点后,选择端点并选择测试连接以确定SSL连接是否正常工作。

创建源和目标终端节点之后,创建使用这些终端节点的任务。有关创建任务的更多信息,请参阅步骤 3:创建任务并迁移数据