我正在对一个 AWS RDS Postgres 实例进行故障排除,该实例在过去几天内已被 AWS 重启了多次,很可能是由于资源限制。这是一个测试数据库,通常不会做太多事情,但我们最近给它增加了一些更高的负载。我发现数据库的 EBS 卷 (200GB gp3) 耗尽了其吞吐量积分,并且数据库重新启动的时间与 EBSByteBalance% 指标达到零的时间非常吻合。然后,当数据库重新启动时,该卷显然会获得一组新的突发积分,如下面的屏幕截图所示:
由于我们减轻了数据库的负载,积分现在下降得稍微慢一些,但它们仍在下降。当我查看当前的读写吞吐量指标时,它们的总和似乎仅为 5 到 7 MiB/s,偶尔会出现峰值:
根据在Amazon RDS 数据库实例存储中找到的信息,低于 400GB 的 gp3 卷的基准吞吐量应为 125MiB/s。那么任何人都可以帮我解释为什么 EBSByteBalance% 指标在这种情况下不断下降吗?谢谢!
postgresql performance amazon-ebs amazon-web-services amazon-rds
尝试在 RDS 中创建触发器时,出现以下错误:
ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is
enabled (you *might* want to use the less safe log_bin_trust_function_creators
variable)
Run Code Online (Sandbox Code Playgroud)
有没有办法获得超级权限或禁用二进制日志记录?
我在 AWS 上有一个小型 RDS 实例,在维护细节上,我将“自动次要版本升级”设置为是。但我仍然有 MySQL 引擎版本 5.5.27,AWS 有可用的版本 5.5.33。我在这里错过了什么吗?
我想使用AWS RDS 命令行工具来创建数据库的快照。my-databasecreate-db-snapshot
我在IAM中创建了一个特殊的备份角色,其策略允许我描述、复制和创建快照。它看起来像这样(我用 x 替换了敏感 ID):
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmtxxxxxxxxxxxxxx",
"Effect": "Allow",
"Action": [
"rds:CopyDBSnapshot",
"rds:CreateDBSnapshot",
"rds:DescribeDBSnapshots",
"rds:DescribeEventCategories",
"rds:DescribeEvents"
],
"Resource": [
"arn:aws:rds:eu-west-1:xxxxxxxxxxxxxx:db:my-database"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
配置 CLI 工具并aws configure输入该用户的密钥后,我尝试通过执行以下命令来制作快照:
aws rds create-db-snapshot \
--db-snapshot-identifier "my-database-backup-$(date +%d-%m-%Y-%Hh%Mm)" \
--db-instance-identifier "my-database"
Run Code Online (Sandbox Code Playgroud)
这会导致一条错误消息:
调用 CreateDBSnapshot 操作时发生客户端错误 (AccessDenied):用户:arn:aws:iam::xxxxxxxxxxxxxx:user/automated-tasks 无权对资源执行:rds:CreateDBSnapshot:arn:aws:rds:eu-west -1:xxxxxxxxxxxxxx:快照:我的数据库备份-24-11-2014-11h07m
我认为这很奇怪,因为它表示拒绝访问具有我为参数指定的名称的资源(--db-snapshot-identifier与参数相反)--db-instance-identifier。
如果我有足够的权限来创建应用于实例的快照,那么我本身不应该具有该快照的创建权限吗?
无论如何,我尝试将策略中的资源更改为 RDS 中的所有内容:
"Resource": [
"arn:aws:rds:eu-west-1:xxxxxxxxxxxxxx:*"
]
Run Code Online (Sandbox Code Playgroud)
我希望这会起作用,因为现在我的角色对我帐户的 RDS ARN 内的所有内容都具有创建快照权限,但事实并非如此。
有谁知道为什么我的命令返回错误?
将 my-name.ck4k21dvamqbq9.eu-west-1.rds.amazonaws.com:5432 等入口点转换为 db.domain.com 的可能方法有哪些?
对于自己的实例,我们根据私有 ip 在 /etc/hosts 中使用映射。存储长入口点名称有点混乱,而且必须在很多设置文件中维护。
我有一个分配给 RDS 实例的安全组,它允许来自我们的 EC2 实例的端口 5432 流量。
但是,此安全组为所有 IP 的所有流量启用了所有出站流量。
这是安全风险吗?理想的出站安全规则应该是什么?在我看来,RDS 安全组的出站流量应该限制在我们 EC2 实例的 5432 端口,对吗?
我们有一个托管在 AWS RDS 上的 PostgreSQL 数据库。当使用cloudformation创建它时,我将其设置为加密,但没有设置加密密钥。因此,它被设置为使用默认加密密钥。
此后我被告知,有一个公司标准,所有 RDS 实例都应该有自己的密钥。
我已经使用 cloudformation 创建了新密钥并将其与 RDS 实例关联,但是当我部署此模板时,它想要删除并重新创建数据库。
我不太熟悉这一切是如何工作的,并且我正在寻找一个不会导致我们丢失数据的程序。如果需要的话,一点停机时间不会对我们造成伤害。
amazon-web-services amazon-rds amazon-cloudformation amazon-kms
I've got a brand new Postgres 11 RDS instance that I can connect to with or without an SSL cert. However, I would like to ensure that we never connect to this database without SSL. So I have taken the following steps to attempt to enforce this:
rds.force_ssl to 1.我们在 AWS 上托管了一个高流量(每天 10 万次点击)的 Drupal 新闻网站。它的背后是 cloudflare 和 2 个负载平衡 Varnish 服务器。出于某种原因,RDS 的带宽使用率非常高。这是在 Elastic Cache 的 memcache 中托管所有缓存表之后。100% 的流量是匿名的。除了新的或更新的内容,流量是由清漆提供的。
但 RDS 带宽仍然非常高。例如到本月 18 日,使用量已经达到 15TB+。这个成本正在扼杀整个网站。
我们如何检测正在占用所有带宽的内容?我们如何去找出根本原因?
查看复制我们我的帐单页面的详细信息:
Bandwidth
$0.000 per GB - data transfer in per month - 4.808 GB - $0.00
$0.000 per GB - first 1 GB of data transferred out per month - 1 GB - $0.00
$0.010 per GB - regional data transfer - in/out/between EC2 AZs or using IPs or ELB - 15,147.744 GB …Run Code Online (Sandbox Code Playgroud) 我想为 AWS (PostGreSQL) 中的所有 RDS 实例创建一个只读帐户。我首先创建了一个 IAM 组并附加了 AmazonRDSReadOnlyAccess 策略。我创建了一个新的 IAM 用户并将他放在这个组中。我无法使用这个新的只读用户连接到我们的数据库(使用我们的管理员帐户成功测试就好了)。我现在意识到我在数据库本身中没有只读用户。这向我提出了三个问题:
amazon-rds ×10
postgresql ×3
mysql ×2
amazon-ebs ×1
amazon-iam ×1
amazon-kms ×1
aws-cli ×1
bandwidth ×1
optimization ×1
performance ×1
rds ×1
snapshot ×1