标签: aws-aurora-serverless

从 Django Lambda 函数连接到 Aurora Serverless 时出现“任务在 30 秒后超时”

我想连接到 django Lambda 函数内的 Aurora Serverless mysql 数据库。目前,我有:

  • 默认 VPC 内的 Lambda 函数
    • 使用默认安全组
    • 使用我创建的两个公共子网
    • 允许来自 TCP 端口 1024 - 65535 的入站请求
    • 允许 Aurora 安全组上的 Aurora/Mysql 出站请求
  • 默认 VPC 内的 Aurora 集群
    • 使用与 Lambda 相同的(默认)VPC
    • 使用我创建的两个私有子网
    • 允许来自 Lambda 安全组的端口 3306 上的入站请求
  • 默认 VPC 的互联网网关
  • NAT 网关,将通信传送到互联网网关
  • 具有互联网网关目标 ID 的公共路由表
  • 具有 NAT 网关目标 ID 的私有路由表

当我尝试将 Lambda 函数部署到 API 网关时,请求超时:

START RequestId: [request id] Version: $LATEST
Instancing..
END RequestId: [request id]
REPORT RequestId: [request id]  Duration: 30030.15 ms   Billed Duration: 30000 …
Run Code Online (Sandbox Code Playgroud)

django amazon-web-services aws-lambda amazon-aurora aws-aurora-serverless

6
推荐指数
0
解决办法
1080
查看次数

Aurora Serverless V1 是否已弃用?

Aurora Serverless V1 特别有趣,因为它提供了一个关系数据库,可以缩小到 0 单位,因此如果不使用则无需花费任何成本 - 非常适合开发和低流量服务。

Aurora Serverless V2 无法缩小到 0,因此它并不是其他 AWS 无服务器产品(如 Lambda 和 DynamoDB)所定义的真正的“无服务器”,并且不能使其成为低流量网站的 V1 的经济高效替代品。

尝试配置新的 Aurora Serverless V1 实例,几乎不可能找到提供 V1 支持的 Aurora 配置。

Aurora Serverless V1 是否已弃用/终止生命?

对于“无服务器”关系数据库,是否有一种实用的替代方案,您需要为所使用的存储和计算秒数付费?

amazon-web-services aws-aurora-serverless

6
推荐指数
1
解决办法
2229
查看次数

是否有关于如何通过 Lambda 连接到 AWS Aurora Serverless PostgreSQL 的 Node.js 示例

我已经设置了一个 AWS Aurora Serverless PostgreSQL 数据库。我还有 API Gateway 运行 Lambda 函数的端点。现在,Lambda 函数正在连接到 DynamoDB,但 RDS 将更适合我的用例。

我已经在互联网上搜索了几个小时,但似乎找不到关于如何使用 Node.js 通过 Lambda 访问我的 Aurora Serverless DB 的示例。我不确定我的函数中需要哪些导入,而且我也很难在 API 中找到正确的方法。

只是一个让我入门的基本 Node.js 示例会非常有帮助。

提前致谢。

node.js aws-lambda aws-aurora-serverless

5
推荐指数
1
解决办法
4802
查看次数

将 CSV 从 S3 加载到 AWS RDS Aurora MySQL Serverless

环顾四周后,我发现了一些有关将 CSV 从 S3 读取到 AWS Aurora MySQL 数据库表中的文档,但这似乎不适用于 SERVERLESS 实例。有谁知道如何做到这一点?

这大致是处理非无服务器实例的方式:

with conn.cursor() as cur:
            query = """
                    LOAD DATA FROM S3 'filepath' 
                    INTO TABLE table 
                    FIELDS TERMINATED BY ','
                    LINES TERMINATED BY '\n'
                    """
            cur.execute(query)
            conn.commit()
Run Code Online (Sandbox Code Playgroud)

在无服务器上下文中,这会产生错误:

拒绝访问; 您需要(至少一项)LOAD FROM S3 权限才能执行此操作

此错误的所有解决方案都是针对非无服务器实例,因此无法在我的用例中复制。

csv amazon-s3 aws-lambda aws-aurora-serverless

5
推荐指数
1
解决办法
5298
查看次数

使用 AWS Glue 将数据从 S3 加载到 Aurora Serverless

根据使用 AWS Glue 从 S3 移动数据 -> RDS

我发现需要一个实例才能添加与数据目标的连接。但是,我的RDS是无服务器的,因此没有可用的实例。Glue 支持这种情况吗?

amazon-s3 amazon-web-services aws-glue aws-aurora-serverless

5
推荐指数
1
解决办法
3067
查看次数

如何使用 AWS RDS DataService (Aurora Serverless) 跨多个 SELECT 实现一致读取

我不确定如何在多个SELECT查询中实现一致的读取。

我需要运行多个SELECT查询并确保它们之间没有UPDATEDELETE或者CREATE已经改变了整体一致性。对我来说最好的情况当然是非阻塞的东西。

我将 MySQL 5.6 与 InnoDB 和默认REPEATABLE READ隔离级别一起使用。

问题是当我将 RDS DataServicebeginTransaction与多个executeStatement(使用提供的transactionId)一起使用时。调用commitTransaction.

commitTransaction只为我提供了一个{ transactionStatus: 'Transaction Committed' }..

我不明白,提交事务函数不是应该给我整个(我的许多SELECT)数据集结果吗?

相反,即使有transactionId,每个人 executeStatement都会返回我个人的结果......这种行为显然不一致..

amazon-web-services sqltransaction mysql-5.6 aws-aurora-serverless aws-rds-data-service

5
推荐指数
1
解决办法
647
查看次数

Aurora 无服务器兼容版本

我正在尝试通过 Terraform 配置 Aurora Serverless 数据库。我有以下设置。

resource "aws_rds_cluster" "auth-db-cluster" {
  cluster_identifier        = "auth-db-cluster"
  engine                    = "aurora-postgresql"
  engine_mode               = "serverless"
  engine_version            = "10.7"
  database_name             = "${var.auth_db_name}"
  master_username           = "${var.auth_db_user}"
  master_password           = "${var.auth_db_password}"
  db_subnet_group_name      = "${aws_db_subnet_group.rds-subnet-group.id}"
  vpc_security_group_ids    = ["${aws_security_group.rds-security-group.id}"]
  skip_final_snapshot       = true
  final_snapshot_identifier = "Ignore"
}

resource "aws_rds_cluster_instance" "cluster_instances" {
  count              = 1
  identifier         = "auth-db-cluster-instance"
  cluster_identifier = "${aws_rds_cluster.auth-db-cluster.id}"
  instance_class     = "db.t3.micro"
}

Run Code Online (Sandbox Code Playgroud)

Terraform 失败将出现以下错误:

  • aws_rds_cluster.auth-db-cluster:创建 RDS 集群时出错:InvalidParameterValue:您请求的引擎模式无服务器当前不可用。状态代码:400,请求 ID:7d8bcb5b-0c41-4498-853d-5c6cfd491dd8

amazon-web-services terraform aws-aurora-serverless

5
推荐指数
1
解决办法
1990
查看次数

RDS 无服务器 - 预热缓慢?

我不确定这是故意的还是我配置不正确。

我将我的 Aurora Serverless PostgreSQL 数据库设置为在 5 分钟不活动后暂停。

问题是,每次我在暂停后尝试访问它时,服务器第一次响应需要将近 1 分钟。

除了禁用暂停之外,我还能做任何配置来解决这个问题吗?

amazon-web-services amazon-rds amazon-aurora aws-aurora-serverless

5
推荐指数
1
解决办法
1501
查看次数

如何将本地应用程序连接到 AWS Aurora Serverless

我们有一堆本地应用程序,每个应用程序都运行自己的本地 MySQL 服务器。我们的工作量很轻,偶尔会有突发活动(一种 B2B 业务模型,在每月的某些特定时间使用我们的应用程序更有利可图,因此我们会在那些日子里看到使用高峰)。我们决定通过将所有数据库移动到一个服务器/集群来简化基础架构是一个好主意,经过一些讨论后决定购买托管解决方案比尝试设置和维护我们自己的 MySQL 集群更好(没有我们中的人是 DBA)。

我们进行了大量研究,最终确定 Amazon Aurora Serverless 作为其自动扩展功能的可靠候选者,因此(可能)与我们研究的替代方案(AWS MySQL RDS 和 DigitalOcean 托管 MySQL)相比成本更低,原因是到我们平时很轻的工作量,偶尔会有突发活动。

但是,据我所知,无法从我们的本地应用程序简单地连接到 AWS Aurora Serverless(例如,请参阅无法从 SQL 客户端连接 Amazon Aurora Serverless),所以我的问题是:

  1. 解决此问题的最佳实践、现代方法是什么 - 我们是否应该使用站点到站点 VPN 将我们的本地主机连接到云?这最终会让我们付出更多的代价吗?
  2. Aurora Serverless 真的是最好的解决方案,还是我们应该回退到 Amazon RDS 或 DigitalOcean 的托管 MySQL 集群,这两者都允许分配公共 IP,但都不会自动扩展(这意味着我们需要购买一个层基于我们的高峰使用量,并且可能会浪费很多钱,因为它会在一个月的大部分时间里几乎闲置)?

我们想要实现的是一个简单的、一劳永逸的 MySQL 集群设置,它由其他人管理,理想情况下可以自动扩展,并且不会花费地球或最终比当前更难管理,on-处所解决方案。

我们并不厌恶云,但我们也不希望为了更简单的数据库基础架构而突然开始将所有内容都移到云中。

为了投入额外的工作,我们不管理自己的防火墙 - 因此设置站点到站点 VPN 可能会很棘手,并且需要与第三方(我们的网络提供商)进行协调。理想情况下,如果可能的话,我也想避免这种麻烦。

amazon-web-services aws-aurora-serverless

5
推荐指数
1
解决办法
821
查看次数

您请求的无服务器引擎模式目前在 5.7 (2.07.1) 中不可用

尝试使用 MySQL 2.07.1 创建 RDS aurora 服务器并收到错误“您请求的引擎模式无服务器当前不可用。(服务:AmazonRDS;状态代码:400;错误代码:InvalidParameterValue;请求 ID:xxxx;代理:无效的)”

任何建议都会对我有很大帮助

这是示例代码

{
  "AWSTemplateFormatVersion" : "2010-09-09",


  "Description" : "AWS CloudFormation Sample Template AuroraServerlessDBCluster: Sample template showing how to create an Amazon Aurora Serverless DB cluster. **WARNING** This template creates an Amazon Aurora DB cluster. You will be billed for the AWS resources used if you create a stack from this template.",


  "Parameters" : {
      "DBUsername" : {
        "NoEcho" : "true",
        "Description" : "Username for MySQL database access",

        "Type" : "String",
        "MinLength" …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-rds aws-cloudformation aws-aurora-serverless

5
推荐指数
1
解决办法
4970
查看次数