标签: amazon-rds

EC2 - 选择负载平衡的MICRO实例或更少的小实例?

我正在构建一个复杂的网络分析应用程序,我想知道你们对此有何看法.

拥有6个左右的微型实例或2个或3个EC2中小型实例更好吗?

一些背景:

  • 高度依赖数据库(RDS)
  • 非常动态的应用
  • 高度易变的流量负载

amazon-ec2 amazon-web-services amazon-rds

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

MySQL 100%CPU +慢查询 - 没有正确使用索引

我正在使用亚马逊的RDS数据库和一些非常大的表,昨天我开始面临服务器上100%的CPU利用率和一堆以前没有发生的慢速查询日志.

我试图检查正在运行的查询并从explain命令面对此结果

+----+-------------+-------------------------------+--------+----------------------------------------------------------------------------------------------+---------------------------------------+---------+-----------------------------------------------------------------+------+----------------------------------------------+
| id | select_type | table                         | type   | possible_keys                                                                                | key                                   | key_len | ref                                                             | rows | Extra                                        |
+----+-------------+-------------------------------+--------+----------------------------------------------------------------------------------------------+---------------------------------------+---------+-----------------------------------------------------------------+------+----------------------------------------------+
|  1 | SIMPLE      | businesses                    | const  | PRIMARY                                                                                      | PRIMARY                               | 4       | const                                                           |    1 | Using index; Using temporary; Using filesort |
|  1 | SIMPLE      | activities_businesses         | ref    | PRIMARY,index_activities_users_on_business_id,index_tweets_users_on_tweet_id_and_business_id | index_activities_users_on_business_id | 9       | const                                                           | 2252 | Using index condition; Using where           |
|  1 | SIMPLE …
Run Code Online (Sandbox Code Playgroud)

mysql database-performance query-performance amazon-rds mysql-slow-query-log

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

将Heroku应用程序指向AWS RDS数据库

我需要将我的Heroku应用程序指向我的AWS RDS数据库.我的RDS数据库已启动并正在运行,并且具有0.0.0.0/0访问权限的安全组.

目前,我已经删除了我的Heroku postgreSQL数据库,我试图将我的Heroku应用程序指向我的RDS数据库.出于某种原因,我的应用程序崩溃了.我认为我正在进行的步骤是在Heroku端设置我的DATABASE_URL.

假设我的数据库凭据是:

db instance:mydb
dbname:mydb
user:wcronyn
pass:password

我试过了:

heroku config:set DATABASE_URL = postgres:// wcronyn:password@mydb.XXXXXXX.us-east-1.rds.amazonaws.com:5432/mydb

我试图通过将.pem文件下载到我的配置文件夹然后引用它来设置权限:

DATABASE_URL = Postgres的:// wcronyn:password@mydb.XXXXXXX.us-east-1.rds.amazonaws.com:5432/mydb的sslca =配置/亚马逊RDS-CA-cert.pem&sslmode =需要加密&=真

我试过这两个数据库网址,但我的应用程序一直在崩溃.

有人可以概述我成功托管我的RDS数据库并将我的应用程序指向它的步骤吗?

database postgresql heroku amazon-web-services amazon-rds

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

IAM数据库身份验证 - 如何使用CLI生成的令牌

我正在关注http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html,以便从EC2到RDS进行身份验证.我能够运行generate-db-auth-token命令来检索令牌,但我不知道在那之后该怎么做(指令莫名其妙地结束).

我试过简单地传递反流字符串(以及返回字段的逻辑子字符串)作为mysql客户端连接的密码,但这似乎不起作用..

返回的令牌采用以下格式: {instance identifier}.{region}.rds.amazonaws.com:3306/?Action=connect&DBUser={auth db username}&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900&X-Amz-Date=20170622T221608Z&X-Amz-SignedHeaders=host&X-Amz-Security-Token={super long, web-escaped string containing special characters}&X-Amz-Credential={some shorter, web-escaped string containing special characters}&X-Amz-Signature={some long string of alphanumeric characters}

任何帮助是极大的赞赏.

mysql amazon-ec2 amazon-web-services amazon-rds amazon-iam

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

AWS DMS 与 RDS 上的 Postgresql 的连接问题

我有 2 个 Aws RDS 实例(在 Postgresql 上运行)。两者都在不同的帐户和不同的地区。我想使用 AWS DMS 在它们之间设置数据复制。我尝试过进行 VPC 对等互连。我观看了以下视频以启用 VPC 对等互连:-

https://www.youtube.com/watch?v=KmCEFGDTb8U

问题:- 当我尝试创建 AWS DMS 服务时,我为源添加了主机名、用户名和密码等(存在于其他账户上),当我点击 时Test Connection,出现以下错误。

Test Endpoint failed: Application-Status: 1020912, Application-Message: Failed to connect Network error has occurred, Application-Detailed-Message: RetCode: SQL_ERROR SqlState: 08001 NativeError: 101 Message: [unixODBC]timeout expired ODBC general error.
Run Code Online (Sandbox Code Playgroud)

Test Connection令我惊讶的是,当我点击同一账户中的目标 RDS 实例时,我收到了类似的错误。IE:-

Test Endpoint failed: Application-Status: 1020912, Application-Message: Cannot connect to ODBC provider Network error has occurred, Application-Detailed-Message: RetCode: SQL_ERROR SqlState: 08001 NativeError: 101 Message: [unixODBC]timeout …
Run Code Online (Sandbox Code Playgroud)

postgresql amazon-web-services amazon-rds amazon-vpc aws-dms

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

AWS RDS 引擎模式当前不可用

我正在尝试创建一个 RDS 集群 Aurora-MySQL,其中包含一个实例。

我收到此错误:“ InvalidParameterValue:您请求的引擎模式当前不可用

我尝试使用“无服务器”并得到相同的错误。

区域:爱尔兰 (eu-west-1)

有什么建议么?

amazon-web-services amazon-rds terraform amazon-aurora

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

从备份覆盖现有数据库

我正在尝试将我们的生产数据库的副本带到我们的临时数据库中。它们位于不同的 RDS 实例上。我尝试使用本机 SQL 备份/恢复方法,但不断收到错误消息。
我在生产中运行的代码:

exec msdb.dbo.rds_backup_database @source_db_name='DBName',@s3_arn_to_backup_to=N'arn:aws:s3:::path/to/backup/DBName2019-09-17.bak'
Run Code Online (Sandbox Code Playgroud)

效果很好。当我尝试使用此命令进行恢复时(我在暂存 RDS 实例上运行此命令):

exec msdb.dbo.rds_restore_database @restore_db_name='DBName',@s3_arn_to_restore_from='arn:aws:s3:::path/to/backup/DBName2019-09-17.bak'
Run Code Online (Sandbox Code Playgroud)

我收到错误:消息 50000,级别 16,状态 1,过程 msdb.dbo.rds_restore_database,第 91 行数据库“DBName”已存在。不允许两个仅大小写或重音不同的数据库。选择不同的数据库名称。

我已经用谷歌搜索了一下,似乎找不到明确的答案。我在暂存 RDS 实例上有多个数据库;我不喜欢每次想要将生产副本带入暂存时都必须创建新的 RDS 实例的想法......

如何将生产副本恢复到暂存状态,而无需创建新的 RDS 实例?

amazon-rds

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

RDS IOPS 限制

据我了解,RDS 实例上的通用 SSD 具有基于磁盘大小的 IOPS 限制,直到达到 1TB,此时您可以以 3000 IOPS 无限爆发。

一旦您拥有 1TB 磁盘,您就可以连续爆发 3000,但我找不到任何有关如何限制或限制的信息,理论上您可以在 1TB 通用 SSD 上使用 20000 IOPS 吗?我知道您可以在预配置的 IOPS 磁盘上使用比预配置更多的数量,但这会变得非常昂贵。

我看过博客文章指出 IOPS 根据大小设置上限,但我在 Amazon 文档中找不到任何相关信息,只有小于 1TB 的磁盘的详细信息。任何指示或建议非常感谢!谢谢。

solid-state-drive amazon-web-services amazon-rds provisioned-iops

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

Spring Boot 和 AWS RDS 只读副本

在这里,我试图在 AWS RDS 中实现以下目标。我有一个正在运行的 MySQL 数据库实例。我正在考虑创建只读副本,以便拥有一些额外的负载共享功能。

我有一个在 EC2 上运行的 Spring Boot 应用程序。目前我连接到数据库的方式是在 application.yml 中添加以下属性:

datasource:
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:mysql://DB_HOSTNAME:3306/DB_DATABASE?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
    username: DB_USERNAME
    password: DB_PASSWORD
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • 如果我创建只读副本,是否需要编写一些特殊代码来连接到它?
  • 我是否需要多个连接池,每个数据库实例一个连接池?
  • 从代码角度来看,这是如何可扩展的,如果我有 5 个只读副本,我如何在代码中管理它?
  • 如何将数据库调用定向到不同的副本?这个决定的依据是什么?

如果有任何链接/视频/文档,您可以指出我。Spring Boot 不是必需的,我需要了解什么是从 Java 应用程序利用只读副本的好方法。

谢谢

amazon-web-services amazon-rds spring-data-jpa spring-boot read-replication

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

如何在 AWS RDS 的 Postgres 中创建只读用户?

我在 RDS 中启动了一个 Postgres 实例,并通过以下命令创建了一个用户,但是,他们不断创建新表,我不知道如何限制他们创建。

CREATE USER my_ro_user WITH PASSWORD 'XXXXX';
GRANT CONNECT ON DATABASE "postgres" TO my_ro_user;
GRANT USAGE ON SCHEMA public TO my_ro_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO my_ro_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO my_ro_user;
REVOKE CREATE ON SCHEMA public FROM my_ro_user;
Run Code Online (Sandbox Code Playgroud)

我认为REVOKE最后一行中的 会阻止他们创建新表,但情况似乎并非如此。我究竟做错了什么?

postgresql amazon-web-services amazon-rds

7
推荐指数
1
解决办法
7225
查看次数