2015-07-20 87 views
0

我想知道是否可以使我的数据库具有DNS名称而不是使用Amazon RDS的IP地址?我们目前拥有一个网站,并想知道是否有解决方案,让像db.website.com这样的东西引用我们的亚马逊网络服务数据库?这可能吗?数据库引用DNS名称而不是IP地址?

+0

你的问题含糊不清。但我会尝试猜测你需要什么。 'mysql'不支持DNS名称。除非您已经拥有一个域名,否则您需要购买域名。在您的域中注册IP地址并配置'mysql'并更改'sql'代码以使用DNS名称。我建议为您的Amazon RDS获得一个弹性IP,这样公有IP将会持续存在。 – alvits

回答

0

当数据库实例在亚马逊RDS(关系数据库服务)推出,一个端点的形式提供:

db.crwobkqad31a.ap-southeast-2.rds.amazonaws.com:3306 

如果你想申请一个更加友好的DNS名称,构成了CNAME记录在DNS服务器(例如Amazon Route 53)中,该名称将友好名称(例如db.website.com)映射到数据库端点。

DNS名称将解析为IP地址。如果数据库是可公开访问的,并且名称在Amazon VPC外解析,则会返回一个公共IP地址。如果在您的Amazon VPC中解析名称,则会返回一个私有IP地址。

您通常希望通过将数据库放入私有子网来保护数据库免于外部访问。想让最终用户直接访问数据库是非常不寻常的(我假设你想要这样做,因为它希望有一个友好的DNS名称),但这是你的选择。

+0

“想让最终用户直接访问数据库是非常不寻常的(我假设你想要这样做,因为需要友好的DNS名称)”它可能只是想要硬编码“db”。 example.com“添加到应用程序中,而不必担心在数据库端点更改时推出更新代码。 – ceejayoz

0

我想知道是否可以让我的数据库具有DNS名称而不是使用Amazon RDS的IP地址?

你不仅可以,但你必须。你的RDS将有一个端点,如something.random-string.us-west-2.rds.amazonaws.com。由于服务器的IP可能会意外更改(如果服务器已修改,缩放,遇到问题或故障转移),因此直接更正其IP是非常危险的。

如果您愿意,您可以使用针对您的RDS端点的CNAME,而不是您的RDS端点使用db.example.com之类的内容。