我正在构建一个复杂的网络分析应用程序,我想知道你们对此有何看法.
拥有6个左右的微型实例或2个或3个EC2中小型实例更好吗?
一些背景:
我正在使用亚马逊的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
我需要将我的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数据库并将我的应用程序指向它的步骤吗?
我正在关注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}
任何帮助是极大的赞赏.
我有 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
我正在尝试创建一个 RDS 集群 Aurora-MySQL,其中包含一个实例。
我收到此错误:“ InvalidParameterValue:您请求的引擎模式当前不可用”
我尝试使用“无服务器”并得到相同的错误。
区域:爱尔兰 (eu-west-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 实例?
据我了解,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
在这里,我试图在 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)
我的问题是:
如果有任何链接/视频/文档,您可以指出我。Spring Boot 不是必需的,我需要了解什么是从 Java 应用程序利用只读副本的好方法。
谢谢
amazon-web-services amazon-rds spring-data-jpa spring-boot read-replication
我在 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最后一行中的 会阻止他们创建新表,但情况似乎并非如此。我究竟做错了什么?
amazon-rds ×10
postgresql ×3
amazon-ec2 ×2
mysql ×2
amazon-iam ×1
amazon-vpc ×1
aws-dms ×1
database ×1
heroku ×1
spring-boot ×1
terraform ×1