问题标签 [amazon-rds-proxy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1953 浏览

mysql - AWS Lambda 在峰值期间泛滥 RDS MySQL 连接

我在 AWS Lambda 上运行 Django,连接到 RDS 上的 MySQL。大多数时候一切都很好。

但是,如果峰值执行 10000 个并发请求,则会产生许多 Lambda 容器,并且每个容器都会打开一个数据库连接,该连接最终将超过 RDS 连接限制。(根据https://serverfault.com/questions/862387/aws-rds-connection-limits

什么是最好的策略(如果有的话)可以在不丢失 SQL 的情况下实现网络规模。一些想法:

  • 有没有办法限制 AWS 容器的数量以鼓励/强制重复使用而不是产生更多?(例如,将最大 lambda 容器设置为数据库连接限制的某个比例)。如果达到容器限制,则连接可能会等到热 aws 容器可用。
  • API Gateway 可以检测到连接到 Lambda 的峰值和延迟吗?这将允许通过重复使用不会创建过多数据库连接的热容器来完成大部分工作。我知道 API Gateway 允许节流,但这非常粗略,除了丢弃超过限制的连接之外不能做任何事情。
  • 自由使用 MySQL/RDS 只读副本
0 投票
3 回答
4380 浏览

aws-lambda - AWS Lambda 中数据库代理的目的是什么?

我正在研究 AWS Lambda,我已经使用 node.js 集成了 SQL 服务器。是它的例子。现在,我的问题是,AWS lambda 中的数据库代理是什么,我如何从中受益?

谢谢

0 投票
1 回答
1272 浏览

amazon-aurora - RDS代理是否支持自动或透明的读写拆分

我们是否可以使用亚马逊 RDS 代理进行自动或透明的读/写拆分,或者我们需要明确地给读写器点来拆分它?

0 投票
0 回答
882 浏览

amazon-web-services - AWS Lambda RDS 代理 - 无法选择 RDS 实例

我无法从我的 lambda 中选择任何 RDS 实例来设置数据库代理。

我已经创建了 3 种不同的类型(mysql、mariadb、aurora),但它从未向我显示要选择的 RDS 实例。

我必须做什么才能选择 RDS 实例以从 Lambda 创建代理?

解决了

问题是我没有使用 MySQL 5.6 或 5.7 版本。它仅适用于该版本

现在我的问题是超时。

0 投票
1 回答
1721 浏览

java - 从 Java 连接到 AWS RDS 代理

在 EC2 实例中,我已成功从 Java 连接到“AWS MySQL RDS”,因为典型的 jdbc 技术已用于此目的。

但是,我无法从我的 java 代码中使用“Mysql RDS 代理”的预览,因为根本没有关于这件事的文档。

我发现了这个:https ://aws.amazon.com/es/blogs/compute/using-amazon-rds-proxy-with-aws-lambda/但它使用 JS,它对我理解我怎么能没有帮助用Java做。

所以,我的问题是:我在哪里可以从我的 java 代码中获取有关使用“AWS Mysql RDS 代理”的信息?(请注意,我将从 EC2 实例内部运行该代码)

0 投票
1 回答
914 浏览

amazon-web-services - RDS Aurora 代理连接失败并显示“无法连接到 MySQL”

所以基本上 - 我已经为我的 Aurora MySQL 数据库启用了 RDS 代理(仍处于预览阶段),并且代理已创建并可供使用。

  1. 代理使用源自 Secrets Manager 的数据库用户/密码组合连接到 MySQL 数据库。

  2. 无需身份验证即可访问代理(支持基于 IAM 角色的身份验证,但我尚未配置)。

当我连接到代理端点时,它在我的 MySQL 客户端和代理的 Cloudwatch 日志上失败并显示“无法连接到 MySQL ”,每次连接尝试我都会看到以下 2 行。

[INFO] [clientConnection=3488645722] 来自 10.XX.XX.XX:63344 的新客户端连接 [INFO] [clientConnection=3488645722] 客户端连接已关闭。原因:内部错误。

Cloudwatch Metrics 仅报告每次连接尝试的ClientConnectionsReceived指标增加,而ClientConnectionsClo ​​sed 指标没有变化。

所以基本上我对客户端连接关闭的原因一无所知..任何提示/线索将不胜感激..

0 投票
1 回答
115 浏览

aws-lambda - AWS Lambda 和 RDS Aurora 集成 - 如何处理打开的连接?

我有一个 API 网关来公开服务,使用 lambda 集成(Python 3.6),我需要将 lambda 与 RDS Aurora MySQL 集成。

据我所知,lambda 是无状态的,这意味着我无法保存 lambda 中所有打开连接的状态。所以我的问题是....如果我的数据库中有 100 个打开的连接的限制,我应该控制来自 lambda 的打开连接列表,还是在执行查询后打开和关闭连接就足够了?

在这种情况下,最佳做法是什么?我想使用 RDS 代理,但它现在处于预览状态。另外,我读到了 Aurora 无服务器的一些限制,所以现在我正在使用数据库实例。

0 投票
2 回答
1555 浏览

amazon-web-services - 使用 AWS RDS 代理时准备好的语句的替代方案

它在 RDS 代理的文档中说,当应用程序使用准备好的语句时,连接会自动固定:

准备好的语句使代理固定会话。无论准备好的语句使用 SQL 文本还是二进制协议,此规则都适用。(https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-proxy.html

在使用 RDS 代理时,我应该如何保护我的应用程序免受 SQL 注入?我正在使用此服务在我的微服务中更快地建立与数据库的连接,因此我希望重用该连接。

0 投票
2 回答
4079 浏览

postgresql - 数据库代理支持哪些 RDS 数据库实例?

我正在尝试通过 CloudFormation 为 Postgres 12.3 RDS 实例(不是 Aurora)创建 RDS 数据库代理。堆栈创建失败并显示以下消息:

我找不到任何关于支持哪些数据库实例的文档,即 Postgres 12.2 可以吗?配置集群会有什么不同吗?从我看到的文档看来,只有 Aurora 数据库支持集群,所以这可能不是一个选项。

根据这篇亚马逊博客文章,Postgres 的 RDS 代理现在“普遍可用”。

编辑:11.2 也失败了Database engine POSTGRES 11.2 for DB Instance db-name is not supported.

0 投票
1 回答
2704 浏览

postgresql - 使用 TypeORM 通过 IAM 凭证连接到 Amazon RDS PostgresQL 代理

我试图弄清楚如何使用 TypeORM 在 lambda 函数中连接到 RDS PG 代理(因此建立连接没有问题)。我能够使用 Lambda 函数成功连接到 RDS 实例 - 但是,当我将信息指向代理时(更改 Lambda 函数中的环境变量),我收到以下错误:

以下是用于创建与 TypeORM 的连接的代码:

就这两个环境变量而言,HOSTNAME 等于 RDS 代理提供的 URL,USERNAME 是在密钥中为 RDS 代理分配的用户名。Lambda 函数和 RDS 代理都被授予了管理员访问权限,只是为了确保那里没有干扰(我知道这很可怕,一旦我开始工作就会降低权限!)。IAM 身份验证已设置为代理所需。

2020 年 8 月 14 日更新

本文解释了如何将 RDS MySQL Proxy 与 TypeORM 连接,但仍然没有弄清楚如何连接到 RDS PG Proxy。

https://dev.to/vikasgarghb/rds-proxy-via-sam-15gn