我一直在阅读RDS与EC2 for MySQL.我的问题是在设置和故障转移方面,RDS和EC2之间在MySQL方面的设置有何不同?
这是否意味着当我们在AWS上为MySQL配置RDS时,我们只需要一个具有Read Replica/Mulit-AZ部署的实例,并自动配置故障转移?
如果我们使用EC2部署,我们必须解决为主从复制设置2个MYSQL实例的麻烦吗?
任何人都可以熄灯吗?
我在 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最后一行中的 会阻止他们创建新表,但情况似乎并非如此。我究竟做错了什么?
我正在运行 AWS RDS Mysql 5.6.40 实例。过去,创建只读副本非常简单,但在这个特定实例中,该选项呈灰色显示。
然而,它确实允许创建 Aurora 只读副本 - 这不是我想要的。我特别想要一个 MySQL 5.6 实例。
不确定它是否相关,但我看到数据库列表将其显示为“实例”,而在其他情况下,当我有一个活动的只读副本时,写入器被列为“主”。
如何创建 MySQL 只读副本?
FWIW,这是大部分配置信息:
Engine version - 5.6.40
DB name - xxxxx_production
License model - General Public License
Option groups - default:mysql-5-6
ARN - arn:aws:rds:us-east-1:***********
Parameter group *******56 (in-sync)
Deletion protection - Disabled
Instance class - db.t2.small
vCPU - 1
RAM - 2 GB
Availability
Master username - *******
IAM db authentication - Not Enabled
Multi AZ - No
Encryption - Not Enabled …Run Code Online (Sandbox Code Playgroud) 我希望我的 django 应用程序使用 IAM 身份验证连接到 RDS postgres。这意味着数据库密码每 15 分钟过期一次,应该重新生成。问题是如何在运行时更改数据库密码?或者我应该更新我的数据库 URL 环境?
我正在尝试测试 AWS RDS 代理,因此我创建了一个 lambda 函数并完成了此官方链接中提供的所有步骤
https://aws.amazon.com/blogs/compute/using-amazon-rds-proxy-with-aws-lambda
当我执行 lambda 函数时,它超时没有错误,似乎错误可能出在使用 rds 代理连接到数据库上,因为当我在没有代理的情况下再次运行 lambda 函数时,它工作得很好。
一开始以为可能是安全组问题,于是编辑了RDS Proxy的安全组,更新入站,允许0.0.0.0(出站已经是0.0.0.0)。
我在 RDS 数据库和 RDS 代理中使用了默认 VPC。RDS 数据库的端点是公共的。
我遇到过多个指南,指出 AWS RDS 实例不应配置为可公开访问,因为这是一个主要的安全风险。示例:RDS 公开访问 - RDS 最佳实践
如果RDS实例配置了足够强且唯一的密码,几乎不可能被暴力破解,那么它仍然存在安全风险吗?即使实例可以公开访问,强大且唯一的密码难道不会使实例相当安全吗?
我是 AWS 新手。我正在尝试使用 Lambda 函数连接到 AWS RDS postgreSQL 实例。我遵循了aws 文档。但它使用 python 来执行 Lambda 函数。下面是我的代码。
'use strict';
var pg = require('pg');
exports.handler = function (event, context) {
var dbConfig = {
username: '<username>',
password: '<password>',
database: '<database>',
host: '<db-endpoint>',
};
var client = new pg.Client(dbConfig);
try {
client.connect();
context.callbackWaitsForEmptyEventLoop = false;
client.end();
}
catch (err) {
console.log(err);
client.end();
}
};Run Code Online (Sandbox Code Playgroud)
我收到如下超时错误
START RequestId: 368e619e-ed9d-4241-93a5-764ee01aa847 Version: $LATEST
2020-06-15T16:28:18.911Z 368e619e-ed9d-4241-93a5-764ee01aa847 INFO connected
END RequestId: 368e619e-ed9d-4241-93a5-764ee01aa847
REPORT RequestId: 368e619e-ed9d-4241-93a5-764ee01aa847 Duration: 20020.16 ms …Run Code Online (Sandbox Code Playgroud) 有人知道如何在性能洞察仪表板上可视化“平均延迟(毫秒)/调用”和“检查/调用的行数”吗?
我有一个启用了性能洞察的 MySQL RDS 实例,但未显示“平均延迟 (ms)/调用”和“检查/调用行数”等指标。
我已将 Performance_insight 组参数从 0 更改为 1,并重新启动实例,没有任何更改。
我正在运行 Aurora PostgreSQL(无服务器)集群。第一次部署基础架构后,每次重新部署时,我都想运行数据库架构迁移(添加表、添加列)。
我怎样才能做到这一点?
Lambda 是不可能的,因为迁移可能会运行很长时间。
编辑:澄清架构迁移
谢谢!
找不到使用官方 aws_db_instance 资源激活 PostGIS 扩展的方法,是否还有其他选项可以使用 Terraform 激活它?
amazon-rds ×10
postgresql ×4
aws-lambda ×2
amazon-ec2 ×1
amazon-iam ×1
aws-cdk ×1
django ×1
mysql ×1
node.js ×1
terraform ×1