如何从数据中心内部和外部寻址 EC2 实例?

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 记录。

现在,是否有更清洁、更稳定的方法来实现这一结果?是否以错误的方式解决这个问题?建议?

Mic*_*ton 13

将弹性 IP 与实例相关联如何完成的。

请注意,除非您使用 VPC,否则如果您停止实例,您的弹性 IP 将取消关联,并且您必须在重新启动实例时手动重新关联它。


Eri*_*ond 5

以下是最灵活、最高效和最具成本效益的方法的标准最佳实践步骤:

  1. 创建弹性 IP 地址并将其与实例关联。

  2. 创建一个 DNS 条目,它是指向弹性 IP 地址的外部 DNS 名称的 CNAME。

  3. 每当您停止/启动实例(或希望将名称指向新实例)时,只需将弹性 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 地址,否则一切都一样。