gpt4 book ai didi

amazon-ec2 - 如何引用其他ec2实例?弹性 IP 是唯一可行的解​​决方案吗?

转载 作者:行者123 更新时间:2023-12-02 22:21:08 24 4
gpt4 key购买 nike

最初我的问题是“如何通过 RDP 连接到 EC2 实例而无需先找到它的 IP 地址”。为了解决这个问题,我编写了一个在每个实例上定期执行的脚本。该脚本读取特定的标记值并使用实例的公共(public) DNS 名称更新 Route53 中的相应条目。

通过这种方式,我始终可以通过 rdp 连接到 web-01.ec2.mydomain.com 并连接到正确的实例。

当我继续设置我的实例时,我意识到要设置 mongodb 复制,我将需要以某种方式引用三个单独的实例。我无法使用内部私有(private) IP 地址,因为它们不断变化(或者在实例停止/启动时以及 dhcp 租约到期时容易发生变化)。

尝试从我的 EC2 实例中访问 web-01.ec2.mydomain.com 会返回实例的内部 IP 地址。这似乎是标准行为。因此,通过为我的三个实例提及 route53 cname,我可以确保它们始终可以被彼此发现。我不会支付任何额外的数据传输费用,因为 cnames 将始终解析为内部 ip。然而,我会为所有这些 route53 查询付费。

我可以每 30 秒或更短时间运行我的脚本,以确保 dns 条目尽可能最新。

在这一点上,我意识到我拥有的是一个弹性 IP 替代方案。也许不完全,但肯定适用于我的所有用例。所以我在想,要不要用Elastic IP。只要我的实例在运行,就不会产生任何费用。这似乎是一个更简单的选择。

大多数人做什么?如果有这方面经验的人可以回答,我将不胜感激。

其次,在实例丢失其当前私有(private) ip 并获得新的内部 ip 的那几秒/分钟内发生了什么。我假设所有现有连接都被丢弃。这会影响 ELB 健康检查(每 30 秒执行一次 ping)吗?我假设如果我使用弹性 IP,dns 名称将立即解析为新 IP,而不是在我的脚本执行后说。假设我的脚本每 30 秒运行一次,停机时间是否只有 30 秒,还是可能更多? Elastic ip 是否总是比我的脚本解决方案表现更好?

最佳答案

根据official AWS documentation “私有(private) IP 地址在其生命周期内专门与实例相关联,并且仅在实例停止或终止时返回到 Amazon EC2。在 Amazon VPC 中,实例在实例停止时保留其私有(private) IP 地址。”。因此,每 30 秒检查一次是否有变化似乎本质上是错误的。这给您留下了两个明显的选择:

  • 在启动时/启动后更新一次 DNS
  • 使用弹性 IP 和静态 DNS

使用过的弹性 IP 不会花费您任何费用,即使是停放的 IP 也只需很少的费用。如果您的实例大部分都在运行,请使用弹性 IP。如果它们大多出现故障,请转到引导时间更新路线。如果您的实例位于 VPC 中,则甚至不需要启动时间更新(但在 VPC 中您可能有不同的需求和更复杂的网络设置)。

关于amazon-ec2 - 如何引用其他ec2实例?弹性 IP 是唯一可行的解​​决方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13690957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com