将 SSL 与 Amazon Database Migration Service 配合使用 - Amazon 数据库迁移服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

将 SSL 与 Amazon Database Migration Service 配合使用

您可以使用安全套接字层 (SSL) 为源和目标终端节点的连接加密。要执行此操作,可以使用 Amazon DMS 管理控制台或 Amazon DMS API 将证书分配到终端节点。也可以使用 Amazon DMS 控制台来管理证书。

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

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

您可从多个 SSL 模式中选择用于 SSL 证书验证的模式。

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

  • require – 使用 SSL (TLS) 加密连接,但不进行任何 CA 验证。该选项更为安全,但需要的开销较多。

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

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

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

数据库引擎

none

require

verify-ca

verify-full

MySQL/MariaDB/Amazon Aurora MySQL

默认 不支持 支持 支持

Microsoft SQL Server

默认 支持 不支持 支持

PostgreSQL

默认 支持 支持 支持

Amazon Redshift

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

Oracle

默认 不支持 支持 不支持

SAP ASE

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

MongoDB

默认 支持 不支持 支持

Db2 LUW

默认 不支持 支持 不支持

Db2 for z/OS

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

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

将 SSL 与 Amazon DMS 配合使用的限制

以下是将 SSL 与 Amazon DMS 配合使用的限制:

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

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

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

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

  • 如果在服务器上使用自签名证书,请选择 require 以作为 SSL 模式。require SSL 模式隐式信任服务器的 SSL 证书,而不会尝试验证证书是否由 CA 签名。

管理证书

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


                     Amazon Database Migration Service SSL 证书管理

为 MySQL 兼容、PostgreSQL 或 SQL Server 终端节点启用 SSL

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

使用 SSL 创建 Amazon DMS 终端节点
  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon DMS 控制台:https://console.aws.amazon.com/dms/v2/

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

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

  3. 选择导入证书

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

    注意

    在创建或修改终端节点时,您也可以在 Amazon DMS 控制台的创建数据库终端节点页上选择添加新的 CA 证书以上传证书。

    要将 Aurora Serverless 作为目标,请获取在将 TLS/SSL 与 Aurora Serverless 结合使用中提到的证书。

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

修改现有 Amazon DMS 终端节点以使用 SSL
  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon DMS 控制台:https://console.aws.amazon.com/dms/v2/

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

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

  3. 选择导入证书

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

    注意

    在创建或修改终端节点时,您也可以在 Amazon DMS 控制台的创建数据库终端节点页上选择添加新的 CA 证书以上传证书。

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

  6. SSL mode (SSL 模式) 选择一个值。

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

    
                             Amazon Database Migration Service SSL 证书管理

  7. 选择修改

  8. 在修改终端节点后,选择终端节点,然后选择Test connection (测试连接) 以确定 SSL 连接是否正常工作。

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