在Aurora AWS无服务器MySQL上启用SSL

时间:2020-10-20 17:35:53

标签: mysql amazon-web-services ssl aws-aurora aws-aurora-serverless

我想建立从我的Ubuntu服务器到引擎版本为5.7的Aurora Serverless MySQL的加密连接,但是默认情况下该服务似乎禁用了SSL。

show variables like '%ssl%';
| Variable_name | Value
                                                                                                                                                                                                                                                                                                
| have_openssl  | DISABLED                                                                                                                                                                                                                                                                                             |
| have_ssl      | DISABLED                                           

这不同于Aurora RDS,后者使用SSL非常简单,并且默认情况下已启用。

这是错误:

mysql -h <cluster-endpoint> -u <username> -p --ssl-ca=rds-ca-2019-us-east-1-bundle.pem
Enter password:
ERROR 2026 (HY000): SSL connection error: error:00000001:lib(0):func(0):reason(1)

MySQL客户端版本

mysql  Ver 14.14 Distrib 5.7.31, for Linux (x86_64) using  EditLine wrapper

参数组设置为默认设置。

该错误似乎与此处解决的错误类似,但消息完全不同。

https://aws.amazon.com/premiumsupport/knowledge-center/rds-error-2026-ssl-connection/

用于无服务器的TLS / SSL文档似乎表明RDS和无服务器的用法基本相同。

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.tls

我几乎是一个数据库菜鸟,任何故障排除帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您需要了解有关Aurora Serverless的两件事。

  1. 强烈建议使用SSL,它是建立新连接的首选。因此,您无需为此做任何事情。您绝对不需要下载SSL / TLS证书,而实际上您不需要下载。让Aurora上的证书轮换和管理。它使您的生活更简单。

  2. 基于官方文档[1]-检查have_opensslhave_ssl不是验证您的连接使用SSL的正确方法。您需要使用--ssl-mode参数进行验证。

[1] https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.tls

您可以确保您的会话在客户端和客户端之间使用TLS Aurora无服务器VPC端点。为此,请在 客户端使用--ssl-mode参数。