Mysql 将本地主机数据库路由到另一个iP

Mysql 将本地主机数据库路由到另一个iP,mysql,routing,amazon-ec2,amazon-rds,Mysql,Routing,Amazon Ec2,Amazon Rds,我正在为我的MySQL数据库使用EC2实例和RDS 我想让所有脚本都指向MySQL数据库连接的localhost,然后将3306路由到特定的RDS DNS主机地址。这怎么可能 我这样做的原因是因为RDS还没有负载平衡,我只想有一个控制哪个RDS主机的中心位置 这是用于iptables的吗?听起来很重要的一点是,您希望为数据库服务器创建一个别名,以便以后可以更改IP地址,而无需更改任何代码。为此,您可以使用/etc/hosts文件。但如果使用此技术,请不要使用或更改localhost设置local

我正在为我的MySQL数据库使用EC2实例和RDS

我想让所有脚本都指向MySQL数据库连接的localhost,然后将3306路由到特定的RDS DNS主机地址。这怎么可能

我这样做的原因是因为RDS还没有负载平衡,我只想有一个控制哪个RDS主机的中心位置


这是用于iptables的吗?

听起来很重要的一点是,您希望为数据库服务器创建一个别名,以便以后可以更改IP地址,而无需更改任何代码。为此,您可以使用
/etc/hosts
文件。但如果使用此技术,请不要使用或更改
localhost
设置
localhost
是特殊的,在/etc/hosts文件中更改
localhost
的定义可能会产生不良的副作用

相反,在
/etc/hosts
中为数据库服务器创建一个单独的条目。该文件的格式为IP_地址名。例如:

 127.0.0.1 dbserver

然后,所有代码都可以参考
dbserver
,以了解数据库服务器的主机名。稍后,您可以在移动数据库时将
/etc/hosts
文件中的IP地址更改为其他地址。

好主意和反馈,谢谢。一个问题是,AWS提供公共DNS端点地址,而不是IP地址。我已经用DNS端点尝试过了,但似乎不起作用。DNS不可能做到这一点吗?根据所解释的场景,在低TTL上使用cname链接上的子域到DNS会更好吗?从我对RDS的理解来看,端点永远不应该更改,这样应该可以工作。您还可以获取端点的IP并使用该IP。。。但我不知道它们有多稳定(变化的频率)。通过公共互联网访问数据库服务器的速度会很慢。如果您可以为RDS服务器使用专用本地网络IP,则性能会更好。但是,我不知道这是否可行,或者Amazon是否在优化从EC2到RDS的路由方面发挥了一些作用。端点是DNS主机名,而不是IP,因为IP确实会不时变化,并且/或者它们在虚拟环境中的实例之间共享框。不幸的是,这似乎不是这个特定情况的答案。