如何解决AWS 中 SSH 的多个 EC2 实例?

如何解决AWS 中 SSH 的多个 EC2 实例?

我有多个 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。

相关内容