我读到过,如果您的一个 ec2 使用公共 IP(通过互联网)访问另一个 ec2,则会产生费用,您可以通过使用私有 IP 来避免该费用。
所以我想让他们使用私有 IP。此外,我想使用域名访问其他 ec2(例如foo.example.com
)
目前我的 DNS 中有foo.example.com
:{some-public-ip}
我该如何改变这一点,以便我可以使用foo.example.com:5432
并且它使用私有 IP?
还有一个限制:我想要www.example.com
(基于 ec2 的 ECS)连接到公共互联网foo.example.com:5432
并希望阻止其访问foo.example.com
。(仅允许从 www 的安全组访问)
答案1
foo.example.com
没有什么可以阻止你为实例设置 DNS 记录私有 IP。特别是当你不需要从外部访问它时,你不需要它的公共 IP在 DNS 中。
或者,您可以有两个 DNS 记录:一个foo-private.example.com
是私有 IP,另一个foo.example.com
是公共 IP。
重点是您可以在 DNS 中拥有私有 IP。
希望有帮助:)
答案2
我想我找到了解决办法,
你把ec2-***.ap-northeast-2.compute.amazonaws.com
作为 cnamefoo.example.com
“我们将公共 DNS 主机名解析为实例网络外部的实例的公共 IPv4 地址,并将其解析为实例网络内部的实例的私有 IPv4 地址。”
答案3
我认为你可以使用 vpc-dns 来代替私有 IP。但你的实例必须位于同一个 vpc 中。请查看以下链接 VPC-DNS
答案4
我通常的做法是将私有 IP 放在将访问另一台机器的机器内的 hosts 文件中。
我还对引用机器本身的任何域执行相同的操作,以避免它进入互联网而不是使用本地主机。