[英]Unable to connect to AWS RDS Aurora (MySQL) Cluster from external source
尝试从外部源连接到我的 RDS Aurora Serverless (v1) MySQL 集群时,我的连接握手超时。
我在 terraform 中指定集群及其安全组,并为账户/区域利用默认的 AWS VPC。
我的集群的参数:
cluster_identifier = "some-cluster-name",
engine = "aurora-mysql",
engine_mode = "serverless",
database_name = "db",
master_username = "********",
master_password = "********",
backup_retention_period = 5,
preferred_backup_window = "07:00-09:00",
skip_final_snapshot = true,
storage_encrypted = true,
scaling_configuration = {
max_capacity = 4,
min_capacity = 1,
seconds_until_auto_pause = 300
},
vpc_security_group_ids = ["${aws_security_group.my_sg_defined_elsewhere.id}"]
安全组规则:
type = "ingress",
from_port = 3306,
to_port = 3306,
protocol = "tcp",
cidr_blocks = ["0.0.0.0/0"],
ipv6_cidr_blocks = ["::/0"],
security_group_id = "${aws_security_group.my_sg_defined_elsewhere.id}"
type = "egress",
from_port = 0,
to_port = 0,
protocol = "-1",
cidr_blocks = ["0.0.0.0/0"],
ipv6_cidr_blocks = ["::/0"],
security_group_id = "${aws_security_group.my_sg_defined_elsewhere.id}"
因为我只是使用默认的 VPC,我相信它有公共 su.net,我假设如果我的安全组规则足以让公共 MySQL 访问,那么这应该就可以了。 不幸的是,使用集群生成的端点和正确的凭据,我在尝试连接时只是超时。
只是为了关闭它,多亏了一些进一步的搜索和上面 Mark B 的评论,可以确认我错过了 Aurora Serverless v1 不支持公共端点的事实,所以与我的安全组一起玩再多也无济于事。 v2 显然可以做到这一点,但由于它不是真正的无服务器(不会逐渐降为零),所以无论如何它都不是我的选择。 希望这可以让一些人头疼!
您可以通过ec2 实例隧道路由请求,它使用API 网关来控制lambda 函数根据需要启动和停止实例,因此您的 AWS 资源仍然可以缩减为零。
作为旁注,与无服务器 v1 冷启动时间相比, lambda 延迟微不足道。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.