负载均衡器后面的向外互联网访问

负载均衡器后面的向外互联网访问

我正在尝试将我们的 AWS EC2 实例置于负载均衡器后面。这种方法效果很好,但我遇到了一个问题,我不知道如何解决。

负载均衡器后面的实例没有分配公共 IP 地址,并且除了通过负载均衡器之外无法直接访问互联网。

问题是,这意味着我无法使用 yum 更新实例,因为您得到以下信息:

Loaded plugins: priorities, update-motd, upgrade-helper
Could not retrieve mirrorlist http://repo.eu-west-1.amazonaws.com/latest/main/mirror.list error was
12: Timeout on http://repo.eu-west-1.amazonaws.com/latest/main/mirror.list: (28, 'Connection timed out after 10000 milliseconds')

同样,由于同样的原因,我无法将最新的代码从 git 下载到实例。

我搜索过但找不到解决方案。其他人如何解决这个问题?最佳做法是什么?唯一的方法是为负载均衡器后面的每个实例分配一个公共 IP 吗?

答案1

您不需要为每个实例提供公共 IP 地址,只需为这些实例提供互联网访问。

一种方法是使用NAT 网关但你也可以设置一个NAT 实例或者通过为一个实例分配一个公共 IP 地址并在该实例上安装其他服务器连接到的 (HTTP) 代理服务器来自行完成操作。

答案2

@HBruijn 描述了可能最常见的方法。

您还可以使用EC2 系统管理器(完整文档这里),如果您只想运行操作系统更新。这需要更多工作,但可以实现自动化。

您仍然可以将弹性 IP 分配给您的实例,无论是临时还是永久。这不是标准做法,但如果您想手动进行更新,这是一种解决方法。

相关内容