目标 VPC 服务器来自 public 服务器的私有 IP 地址
Target VPC server FROM the private IP address of a public server
我有两个服务器:ExternalSrv 和 InternalSrv,在同一个 EC2 VPC 上。
我使用 Nodejs、Express 和 Axios 进行了非常简单的设置。
ExternalSrv 处理来自 public 的请求,这些请求当然会进入 ExternalSrv 的 public IP 地址。 ExternalSrv 调用 InternalSrv 来完成一些工作。
为了简化InternalSrv上的安全组入站规则,我想允许所有VPC IP地址,但没有别的。
我发现 ExternalSrv 在向 InternalSrv 的私有 IP 地址发出请求时总是使用其 Public IP 地址。因此,只要地址发生变化(Stop/Start、新实例、更多实例等),就需要使用 ExternalSrv 的 Public IP 地址更新安全组。这似乎是持续维护中的一个脆弱点。
这看起来应该很容易,但我一直在寻找答案很长一段时间。
如有任何见解,我们将不胜感激。
比尔
当同一 VPC 中的两个 Amazon EC2 实例相互通信时,最好通过 私有 IP 地址 执行此通信。这有几个好处:
- 安全组可以参考其他安全组
- 流量停留在 VPC 内(如果通过 Public IP 地址通信,流量将退出 VPC,然后返回)
- 更便宜(从 VPC 传出然后返回的流量收取 1c/GB 的费用)
针对您的情况的 best-practice 安全设置是:
- 在
ExternalSrv
(SG-External
) 上创建一个安全组,根据需要允许入站流量(例如端口 80、443)以及默认的“允许所有”出站流量
- 在
InternalSrv
(SG-Internal
) 上创建一个安全组,允许来自 SG-External
的入站流量
即SG-Internal
在其规则中具体引用了SG-External
。这样,无需知道其 IP 地址即可接受来自 ExternalSrv 的入站流量。它还允许将来将其他服务器添加到安全组,它们也将被允许访问。
是的,您可以简单地添加一个规则来限制对 VPC 的 CIDR 的入站访问,但是良好的安全性总是与拥有多层安全性有关。限制访问将 cut-down 潜在的攻击媒介。
我有两个服务器:ExternalSrv 和 InternalSrv,在同一个 EC2 VPC 上。
我使用 Nodejs、Express 和 Axios 进行了非常简单的设置。
ExternalSrv 处理来自 public 的请求,这些请求当然会进入 ExternalSrv 的 public IP 地址。 ExternalSrv 调用 InternalSrv 来完成一些工作。
为了简化InternalSrv上的安全组入站规则,我想允许所有VPC IP地址,但没有别的。
我发现 ExternalSrv 在向 InternalSrv 的私有 IP 地址发出请求时总是使用其 Public IP 地址。因此,只要地址发生变化(Stop/Start、新实例、更多实例等),就需要使用 ExternalSrv 的 Public IP 地址更新安全组。这似乎是持续维护中的一个脆弱点。
这看起来应该很容易,但我一直在寻找答案很长一段时间。
如有任何见解,我们将不胜感激。
比尔
当同一 VPC 中的两个 Amazon EC2 实例相互通信时,最好通过 私有 IP 地址 执行此通信。这有几个好处:
- 安全组可以参考其他安全组
- 流量停留在 VPC 内(如果通过 Public IP 地址通信,流量将退出 VPC,然后返回)
- 更便宜(从 VPC 传出然后返回的流量收取 1c/GB 的费用)
针对您的情况的 best-practice 安全设置是:
- 在
ExternalSrv
(SG-External
) 上创建一个安全组,根据需要允许入站流量(例如端口 80、443)以及默认的“允许所有”出站流量 - 在
InternalSrv
(SG-Internal
) 上创建一个安全组,允许来自SG-External
的入站流量
即SG-Internal
在其规则中具体引用了SG-External
。这样,无需知道其 IP 地址即可接受来自 ExternalSrv 的入站流量。它还允许将来将其他服务器添加到安全组,它们也将被允许访问。
是的,您可以简单地添加一个规则来限制对 VPC 的 CIDR 的入站访问,但是良好的安全性总是与拥有多层安全性有关。限制访问将 cut-down 潜在的攻击媒介。