AWS RDS IP是静态的还是动态的?

6
我有一个由亚马逊提供的RDS实例URL。(当然,此URL关联了一个IP。)为了方便连接到数据库,我将我的域名重定向到DB实例的IP地址,如下所示:“db.myDomain.com”。
一周内,一切正常,但突然间,这个重定向不起作用了。搜索了几个小时后,我意识到我重定向的IP与实例的IP不同。
这让我认为,也许RDS上的IP是动态的,唯一访问数据库的方式是使用亚马逊提供的URL。
这是正确的吗?如果是,是否有办法从一个URL重定向到另一个URL?
2个回答

7
是的,您对于RDS IP地址动态性的观察是正确的,这是该服务的预期行为。请使用提供的RDS实例URL来访问RDS实例。
对于大多数用例,您不需要重定向进行访问;因为DNS名称将在配置文件/连接字符串中。如果您仍然需要友好名称 - 您可以使用Route53创建别名。以下是AWS提供的文档链接,可以完成此操作[ https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-rds-db.html ] - 这更加简便易行。

嗨@Vijay,我对AWS还比较新,刚刚发现了关于RDS动态IP的一些信息。请问他们在每次IP更改时是否会重新启动网络?比如我有一个Web服务器使用连接池连接它,当IP更改时,他们会断开我的连接吗? - Chor Wai Chun
我不确定IP重置问题的背后发生了什么。对于你手头的问题,如果你使用RDS的URL-DNS名称,你不应该遇到任何问题。不要去寻找IP并使用它;相反,直接使用URL。 - Naveen Vijay
如果您在Postgres中使用Foreign Tables,则这些行为可能会影响您,因为您需要授权自己RDS的公共IP在安全组中。您还可以修改值rds.custom_dns_resolution1,以强制您的RDS实例使用默认的VPC DNS(因为默认情况下,RDS公共DB将使用来自Internet的外部DNS)。此外,我在这篇文章中找到了很大的帮助。https://forums.aws.amazon.com/thread.jspa?threadID=295110 - julian-alarcon

4
对于RDS实例,DNS名称不会改变,但在某些情况下IP地址会发生变化,特别是当您启用Multi-AZ(多可用区域)时,当AWS发现任何故障时,RDS实例将切换到具有不同IP地址的其他可用区域。
因此,在应用程序中,您不能固定数据库访问的IP地址,始终设置DNS(域名)来访问您的数据库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接