Ale*_*lin 7 networking domain-name-system amazon-ec2 amazon-web-services amazon-route53
我正在尝试找到一种能够从数据中心内部和外部处理我的 EC2 数据库实例的好方法。其他 EC2 实例需要能够调用它,其他客户端(如 pgAdmin)也可能需要从外部连接到它。
我的理解是,使用内部和外部 DNS 名称是长期可持续的,因为每次重新启动都会导致更改。
我正在考虑将弹性 IP 与实例相关联并为其提供 A 记录(例如 db1.mydomain.com),然后我将在数据中心内外使用该记录。相同角色的其他实例将获得相同的处理和 db2.mydomain.com 等的 DNS 记录。
现在,是否有更清洁、更稳定的方法来实现这一结果?是否以错误的方式解决这个问题?建议?
以下是最灵活、最高效和最具成本效益的方法的标准最佳实践步骤:
创建弹性 IP 地址并将其与实例关联。
创建一个 DNS 条目,它是指向弹性 IP 地址的外部 DNS 名称的 CNAME。
每当您停止/启动实例(或希望将名称指向新实例)时,只需将弹性 IP 地址与所需实例相关联。无需 DNS 更新。
在 EC2 内部和外部使用新的 DNS 名称。
当 DNS 名称在 EC2 之外使用时,它将解析为实例的公共 IP 地址(即弹性 IP 地址)。
当 DNS 名称在 EC2 内部(与实例位于同一区域)使用时,它将解析为与弹性 IP 地址关联的实例当时的私有 IP 地址。
这使访问服务器的 EC2 实例之间的内部网络流量更快、更便宜。它还允许您使用安全组来允许从其他 EC2 实例访问特定端口。
我在这篇文章中详细介绍了:http : //alestic.com/2009/06/ec2-elastic-ip-internal
如果您使用 VPC,您不需要在停止/启动后重新关联弹性 IP 地址,否则一切都一样。