我想更新我的 Amazon Relational Database Service (Amazon RDS) 和 Amazon Aurora 数据库的 SSL/TLS 证书,以加密连接之间的通信。
解决方法
识别当前的 SSL/TLS 证书
完成以下步骤:
- 打开 Amazon RDS 控制台。
- 在导航窗格中,选择 Databases(数据库),然后选择您的 Amazon RDS 或 Aurora 数据库。
- 在 Connectivity & security(连接和安全)下,查看数据库使用的证书颁发机构 (CA) 的 Security(安全)部分。
**注意:**有关可用于 Amazon RDS 和 Aurora 数据库的 CA 列表,请参阅证书颁发机构。
更新 SSL/TLS 证书
完成以下步骤:
- 打开 Amazon RDS 控制台。
- 在导航窗格中,选择 Databases(数据库),然后选择您的 Amazon RDS 或 Aurora 数据库。
- 选择 Modify(修改)。
- 在 Connectivity(连接)下,选择 Certificate authority(证书颁发机构)。
- 在 Certificate authority(证书颁发机构)下,选择 Continue(继续),然后查看修改。
- 对于无需重新启动即可支持证书轮换的数据库引擎,请选择 Apply immediately(立即应用)。
**注意:**如果您不选择 Apply immediately(立即应用),则更改将在下一个维护时段内生效。
对于需要重新启动的数据库引擎,在 Scheduling of modifications(修改计划)下,选择 Apply during the next scheduled maintenance window(在下一个预定维护时段内应用)。
- 选择 Modify DB instance(修改数据库实例)。
强制执行 SSL/TLS 连接
要强制执行 Amazon RDS 和 Aurora MySQL 兼容版的 SSL/TLS 连接,请完成以下步骤:
- 为您的数据库实例创建自定义参数组或使用现有参数组。
或者,为您的数据库集群创建自定义集群参数组或使用现有集群参数组。
- 在自定义参数组中,将 require_secure_transport 参数设置为 ON。此参数是动态的,无需重启即可立即生效。
启用 require_secure_transport 参数后,在建立与数据库实例或集群的连接时必须使用 CA。有关详细信息,请参阅下载 Amazon RDS 的证书捆绑包。
有关如何更新 SSL/TLS 证书应用程序的信息,请参阅以下 AWS 文档:
**注意:**当您使用 preferred(首选)SSL 模式并且 CA 不存在或不是最新版本时,连接将在不加密的情况下进行。使用 preferred(首选)模式不是最佳做法。
如果您无法建立加密连接,则可能会收到以下错误消息:
“MySQL Error 3159 (HY000): Connections using insecure transport are prohibited while —require_secure_transport=ON.”
要解决此问题,请运行以下命令:
mysql -h yourEndpoint -P 3306 -u yourUserName -pYourPassword --ssl-ca=full_path_to_CA_certificate
**注意:**请将示例值替换为您的值。
更新应用程序信任库
轮换数据库实例上的证书后,必须使用新的 CA 更新信任库。
**注意:**更新信任库的步骤可能因证书而异。
在 Amazon RDS 控制台上,SSL/TLS 证书包含证书颁发机构日期和数据库实例证书到期日期。证书颁发机构日期是根 CA 的到期日期。数据库实例证书到期日期是实例上证书的到期日期。RDS 自动处理数据库服务器证书的轮换,并使用相同的根 CA 进行轮换。您无需下载新的 CA 捆绑包。
相关信息
加密 Amazon RDS 资源
更新 Amazon Lightsail 数据库的 CA 证书版本
对 Amazon RDS for Db2 数据库实例使用 SSL/TLS