连接到 Aurora AWS 无服务器

Posted

技术标签:

【中文标题】连接到 Aurora AWS 无服务器【英文标题】:Connecting to Aurora AWS Serverless 【发布时间】:2019-06-15 17:45:09 【问题描述】:

我现在尝试创建一个无服务器 Aurora(与 mysql 兼容)数据库并连接到它两天,但我似乎无法让它工作。据说我应该能够在五分钟内启动并运行它。

无论如何,我在美国东部(弗吉尼亚北部)区域 (us-east-1) 创建了一个 Aurora Serverless 数据库,并且能够使用 AWS 查询编辑器连接到它。我在同一区域也有一台 EC2 服务器,并为 Aurora 数据库提供了相同的安全组(在 RDS > 安全组下),并且在我为所有来源的 MYSQL/Aurora(TCP,3306)打开的安全组中。当我单击数据库上的修改按钮时,还会列出另一个(VPC)安全组(rds-launch-wizard-4),它是自动创建的。这个我也位于我的 EC2 仪表板下,并允许访问来自所有源(入站)和所有端口(出站)的所有端口。还有一个网络 VPC 和子网组,我不知道该怎么处理,如果有的话。

我尝试使用以下命令行命令连接到数据库: mysql -h hest2.cluster-xxxxx.us-east-1.rds.amazonaws.com -P 3306 -u root –p

它会在我的 EC2 实例、本地计算机和其他在线服务器上生成错误“ERROR 2003 (HY000): Can't connect to MySQL server on”。

【问题讨论】:

【参考方案1】:

在 EC2 实例中,尝试在数据库端口上执行 telnet,以测试您的所有安全组设置是否都已正确应用。

telnet hest2.cluster-xxxxx.us-east-1.rds.amazonaws.com 3306

如果连接成功,那么问题出在您的客户端代码上。交叉检查您是否在代码中连接了正确的端点。

如果 telnet 连接没有分组(我猜它不会),那么可以保证您的安全组设置没有正确设置。为了进一步调试,我们需要更多细节:

    与您的集群关联的 vpc 安全组列表。 每个 vpc 安全组的详细信息(您已经提到 你已经打开了一切,但我想看看确切的规则 地点)

至于笔记本电脑和其他服务器 - 如果它们在 VPC 之外,那么它将无法工作。到目前为止,Aurora Serverless 只能从 VPC 内部访问。

【讨论】:

以上是关于连接到 Aurora AWS 无服务器的主要内容,如果未能解决你的问题,请参考以下文章

如何从无服务器应用程序安全地连接到 AWS DynamoDB 或其他 aws 数据库

如何使用 ssh 隧道将谷歌数据工作室连接到 AWS 上的 postgres 无服务器?

没有名为 pymysql 的模块 - aws 无服务器框架

如何使用 aws cloudformation 或 aws cdk 设置 aws aurora mysql 表?

使用 Amazon Aurora Serverless构建无服务器应用程序仅仅只需要10分钟

如何在 Amazon Aurora 中的标准配置和无服务器配置之间切换