标签: amazon-rds

8
推荐指数
1
解决办法
2755
查看次数

mysql 升级后 AWS RDS 参数组显示“Pending-Reboot”

我们将 AWS RDS mysql 实例从 5.5.42 升级到 53,并将原始参数组应用于此实例。

但是,当我检查 rds 实例的配置详细信息时,即使我已手动重新启动 rds,参数组值仍为“pending-reboot”。

我该如何解决这个问题?谢谢!

amazon-web-services amazon-rds

8
推荐指数
1
解决办法
5480
查看次数

RDS 不支持使用以下组合创建数据库实例

我想弄清楚如何创建一个简单的数据库实例。到目前为止,我只有一个DBSubnetGroupDBInstance。在这一点上,我已经根据我尝试使用我的模板(在 Designer 中创建)创建堆栈时遇到的错误找出了一些事情。

我现在遇到了一个错误,根据实例类文档,它似乎应该被支持,但我想不是。根据我下面的片段,我应该使用什么?

myDB:
  Type: 'AWS::RDS::DBInstance'
  Properties:
    DBInstanceClass: db.m1.small
    DBName: myDB
    DBSubnetGroupName: !Ref myDBSubnetGroup
    Engine: mysql
    EngineVersion: 5.6.41
    AllocatedStorage: '100'
    MasterUsername: admin
    MasterUserPassword: AmazingPassword
Run Code Online (Sandbox Code Playgroud)

实际错误是

RDS does not support creating a DB instance with the following combination: DBInstanceClass=db.m1.small, Engine=mysql, EngineVersion=5.6.41, LicenseModel=general-public-license. For supported combinations of instance class and database engine version, see teh documentation. (Service: AmazonRDS; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 04a8be38-9368-40e4-b677-1cdc442b3cae
Run Code Online (Sandbox Code Playgroud)

再次,我查看了文档,它说 db.m1.small 支持 MySQL v5.6。也许这已经过时了?我想我可以尝试5.7。

有什么想法吗?

amazon-web-services amazon-rds aws-cloudformation

8
推荐指数
3
解决办法
9083
查看次数

在高流量期间阻塞 ClientRead 上的空闲连接以进行参数化查询(绑定)

我正在为我在高流量高峰期间出现的问题寻找好的解决方案。我在 AWS 上使用 postgres 和 nodejs(knex 用于查询构建) - 详细信息如下。

当我在 RDS 控制台中查看 Performance Insights 时,我看到一些查询停留在“ClientRead”上。我的 RDS 实例相当大,我的 CPU 利用率非常低(1%-10%)。所以我通过连接到数据库并运行查询来确认它pg_stats,结果我看到很多查询在 ClientRead 事件上是空闲的。

什么连接这些查询?绑定。我假设这些参数化查询等待从我的 EC2 实例获取值。我觉得我的服务太慢了,所以我扩展到更多的实例,但在RDS上的结果更糟,更多的连接被阻塞。

对于测试解决方案,我将几个查询从参数化转换为没有绑定的原始 sql 查询(直接在查询中使用值)。而这些查询正是立即运行,没有任何问题。但即使出于安全原因,似乎也不是完美的解决方案。

目前我不知道问题出在哪里?我应该通过在 api gw 上添加节流来减少流量吗?在我的服务中创建内部队列?这是我的 RDS/postgre 的通信问题或设置吗?

如果有人对类似案例有更多经验,或者可以指出可能的解决方案,请链接到可以帮助我或检测问题所在的文档,那就太好了。

AWS RDS (Aurora) Postgres 9.6.9 nodejs 10.12.0 knex 0.17.3 node-postgres 7.4.1

postgresql amazon-web-services amazon-rds node.js amazon-aurora

8
推荐指数
1
解决办法
4694
查看次数

使用 TypeORM 使用 IAM 凭证连接到 Amazon RDS PostgresQL 代理

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

{
    "errorType": "Error",
    "errorMessage": "read ECONNRESET",
    "code": "ECONNRESET",
    "errno": "ECONNRESET",
    "syscall": "read",
    "stack": [
        "Error: read ECONNRESET",
        "    at TCP.onStreamRead (internal/stream_base_commons.js:205:27)"
    ]
}
Run Code Online (Sandbox Code Playgroud)

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

const config = getDBConfig();
connection = await createConnection(config);

// Retrieve database connection options
const getDBConfig = (): ConnectionOptions => {
  // Use IAM-based authentication to connect
  const signer = new RDS.Signer({
    region: "us-east-1",
    username: process.env.USERNAME,
    hostname: process.env.HOSTNAME,
    port: …
Run Code Online (Sandbox Code Playgroud)

postgresql proxy amazon-rds typeorm amazon-rds-proxy

8
推荐指数
1
解决办法
1979
查看次数

如何将 RDS 可用区更改为 AWS 上同一区域内的不同可用区?

我目前有一个使用 MySQL RDS 数据库的 EC2 实例。它们位于同一区域,但位于不同的可用区。目前我的应用程序遇到了一些滞后,我的直觉是这是由于这个原因。

如何更改 RDS 数据库的可用区以加速我的应用程序?

我在本地运行相同的应用程序,并且速度明显更快。

mysql latency amazon-ec2 amazon-web-services amazon-rds

8
推荐指数
2
解决办法
1万
查看次数

有没有办法让 Postgres 提交超时?

我们有一个使用 psycopg2 将记录写入 RDS Postgres 的应用程序。有时,当发生缩减事件并且容器在插入提交期间停止时,这会在表上造成死锁。我们正在使用具有一些标准超时的线程连接池,如下所示:

    self._pool = pool.ThreadedConnectionPool(
        mincount,
        maxcount,
        dsn,
        cursor_factory=cursor_factory,
        application_name=application_name or name,
        keepalives_idle=1,
        keepalives_interval=1,
        keepalives_count=5,
        options=f"-c statement_timeout={statement_timeout}s -c idle_in_transaction_session_timeout={idle_in_transaction_session_timeout}s",
Run Code Online (Sandbox Code Playgroud)

事务超时空闲似乎是在抛出超时错误后发生的事务而不是静默等待,但我们仍然遇到锁定问题。我们应该使用不同的超时让 Postgres 终止这些事务吗?

问题更新:

我们有 2 个不同的应用程序。一个写入表,另一个读取表。我们看到写入应用程序中偶尔会弹出此错误:

deadlock detected
DETAIL:  Process 31504 waits for ShareLock on transaction 33994594; blocked by process 28310.
Process 28310 waits for ShareLock on transaction 33994595; blocked by process 31504.
HINT:  See server log for query details.
CONTEXT:  while inserting
Run Code Online (Sandbox Code Playgroud)

如果我为这些 pid 提取 pg_stat_activity,我会得到这个:

[
  {
    "datid": 262668,
    "datname": "app_db",
    "pid": 31504,
    "usename": …
Run Code Online (Sandbox Code Playgroud)

postgresql psycopg2 amazon-rds

8
推荐指数
1
解决办法
337
查看次数

我无法在 AWS Aurora 集群中启用“公共访问”配置

文档中显示我应该可以打开 RDS Aurora 数据库中的“公共访问”,但我看不到此设置。

RDS Autora 连接

这是另一个 RDS 实例(不是 Aurora)的屏幕截图

在此输入图像描述

有人有办法解决这个问题吗?

谢谢!

connectivity amazon-web-services amazon-rds amazon-aurora

8
推荐指数
1
解决办法
1613
查看次数

RDS 代理:PENDING_PROXY_CAPACITY 和“由于内部错误,DBProxy 目标不可用”

通过 Terraform 部署 RDS 数据库时,我的默认目标不可用。运行以下命令:aws rds describe-db-proxy-targets --db-proxy-name <my_proxy_name_here>

我收到两个错误:最初处于状态:PENDING_PROXY_CAPACITY 最终超时并出现以下错误:DBProxy Target 由于内部错误而不可用

amazon-web-services amazon-rds terraform

8
推荐指数
1
解决办法
4284
查看次数

如何将 ec2 和 rds 从区域迁移到另一个区域?

一开始,当我刚接触 AWS 时,我不知道区域的选择对系统性能有多大影响。当时我在悉尼创建了 ec2 和 rds 实例,但该系统将在距离悉尼 14000 多公里的墨西哥使用。

现在在这些实例上完成了很多配置。有什么办法可以将这些实例移动到另一个区域吗?同样,我如何移动其他配置,如路由 53 和弹性 ips?

amazon-ec2 amazon-web-services amazon-rds

8
推荐指数
1
解决办法
4633
查看次数