AWS Aurora无服务器-通信链接失败

问题描述 投票:0回答:1

我在python代码中使用MySQL Aurora Serverless集群(启用了Data API),并且出现了communications link failure异常。通常在群集休眠一段时间后才会发生。

但是,一旦群集处于活动状态,我就不会出错。我每次都必须发送3-4个请求,然后才能正常运行。

异常详细信息:

上次成功发送到服务器的数据包为0毫秒前。驱动程序尚未收到来自服务器的任何数据包。一个错误调用ExecuteStatement时发生(BadRequestException)操作:通讯链接失败

我该如何解决这个问题?我正在使用标准的boto3库

mysql amazon-web-services amazon-rds-aurora aws-serverless
1个回答
0
投票

这里是AWS Premium Business Support的回复。

Summary: It is an expected behavior

详细答案:

我看到您的Aurora Serverless出现此错误实例处于非活动状态,一旦实例处于活动状态,您就停止接收它活动并接受连接。请注意,这是预期的行为。通常,Aurora Serverless的工作原理与已配置Aurora,在Aurora Serverless中,而群集是“休眠”没有分配计算资源,也没有分配给数据库。接收到连接,分配了计算资源。因为这种行为,您将不得不“唤醒”群集,这可能需要如您所见,几分钟就可以成功建立第一个连接。

为了避免您可以考虑增加客户端。另外,如果您启用了暂停功能,则可以考虑禁用它[2]。禁用暂停后,您还可以调整将最低Aurora容量单位提高到更高的值,以确保您的群集始终具有足够的计算资源来为新服务器提供服务连接[3]。请注意,调整最小ACU可能增加服务成本[4]。

也请注意,仅在某些情况下建议使用Aurora Serverless工作量[5]。如果您的工作量是高度可预测的,并且您应用程序需要定期访问数据库,我会建议您使用预配置Aurora群集/实例来确保高您的业​​务状况。

[[2] Aurora Serverless的工作原理-Aurora Serverless的自动暂停和恢复-https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.pause-resume

[[3]设置Aurora无服务器数据库群集的容量-https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.setting-capacity.html

[[4] Aurora无服务器价格https://aws.amazon.com/rds/aurora/serverless/

[[5]使用Amazon Aurora Serverless-Aurora Serverless的用例-https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.use-cases

© www.soinside.com 2019 - 2024. All rights reserved.