我有多个 EC2 实例在同一个 VPC(因此也是同一个区域)中运行。有没有办法可以唯一地解析这些 EC2 实例以进行 SSH 访问?假设我不是这些实例使用弹性 IP,因此每个实例分配的 IP 将随着时间而改变。
我正在考虑为每个实例设置一个唯一的子域,但后来我意识到我仍然需要在每个实例唯一的 A 记录中设置一个永久的公共 IP。
例如
ssh [email protected]
ssh [email protected]
ssh [email protected]
对于 Web 服务器,可以为每个主机引用相同的 IP,但仍根据 DNS 名称在内部将请求定向到正确的实例。SSH 也可以这样做吗?
还有其他方法可以实现这个功能吗?AWS 为每个区域仅提供 5 个弹性 IP。
答案1
如果您有长期运行的实例,最简单的方法是请求增加弹性 IP 限制并将其与每个实例关联。EIP 是免费的。
我认为使用 Route53 别名记录可以作为应对公共 IP 变化的一种选择,但您不能将其别名为 EC2 实例,而只能是 ELB 和 VPC 端点之类的东西。
当然,您可以在每次实例公共 IP 发生变化时创建 A 记录,可以手动创建,也可以使用 lambda 函数创建。
答案2
您可以将网络置于 VPC 内,并为一个实例提供一个弹性 IP,然后您可以使用该 IP 构建隧道。从那里,您可以使用本地 IP 通过 SSH 连接到其他实例,您将能够静态控制和设置这些 IP。