Amazon AWS ELB 后面的服务器上没有 public 地址
Amazon AWS ELB without public address on servers behind it
我目前有 3 台服务器位于 AWS 上的 ELB 后面。
这些 EC2 实例中的每一个都位于 3 个独立的可用性区域。
我使用 ELB
SSL 终止
分配负载
我已经配置了一个 VPN 来访问 EC2 实例以进行 SSH 访问,但是当我从 EC2 容器中删除 public 地址时,我无法让 ELB 工作...
我假设我可以让它们仅允许来自 ELB sec 组的端口 80(443 在 ELB 上终止)上的流量,这意味着我不需要 Ext IP,因为 ELB 直接连接到它们?
我假设我还需要为他们设置 NAT 才能从外部访问?
ELB 不在一个子网内吗?
尝试了所有变体得出结论,他们需要 public 个 IP,但只是限制可以访问的内容?
非常感谢!
假设您的 ELB 应该 public 可以访问,您需要设置以下内容:
- 将您的 ELB 放在 public 个子网中。
- 为您的 ELB 分配一个或多个安全组,允许来自
0.0.0.0/0
的端口 443 上的传入访问和端口 80 上的传出访问。
- 创建您的 EC2 实例,通常使用 Auto Scaling 组,但这不是必需的。
- 将您的 EC2 实例放在私有子网中。
- 不要给您的 EC2 实例 public IP 地址。
- 为您的 EC2 实例分配一个或多个安全组,允许来自 ELB 安全组的端口 80 上的传入访问。
如果您的 EC2 实例需要传出互联网访问权限:
- 在 public 子网中设置 NAT(实例或网关)
- 更新私有子网的 VPC 路由表以通过 NAT 转发
0.0.0.0/0
流量。
- 更新您的 EC2 实例的安全组以允许所需端口上的传出连接。
允许传入 SSH 连接到您的 EC2 实例:
- 设置您的 VPN 或堡垒 EC2 实例。
- 更新您的 EC2 实例的安全组以允许端口 22 上的传入连接。
在所有情况下,尽可能限制安全组:
- 只允许您知道需要的端口,并且
- 尽可能使用
/32
CIDR,然后是 /24
、/16
、/8
。最后,如果您确实需要全局访问权限,则只允许 0.0.0.0/0
。
我担心这会暴露于 public 并且可能被 DDoS 利用。我必须在它前面加上 API 网关,然后使用 HAProxy 信任 VPC 更多细节在这里。 http://knowmg.blogspot.com/2017/11/why-do-i-need-haproxy-in-aws-stack.html
我目前有 3 台服务器位于 AWS 上的 ELB 后面。
这些 EC2 实例中的每一个都位于 3 个独立的可用性区域。
我使用 ELB
SSL 终止
分配负载
我已经配置了一个 VPN 来访问 EC2 实例以进行 SSH 访问,但是当我从 EC2 容器中删除 public 地址时,我无法让 ELB 工作...
我假设我可以让它们仅允许来自 ELB sec 组的端口 80(443 在 ELB 上终止)上的流量,这意味着我不需要 Ext IP,因为 ELB 直接连接到它们?
我假设我还需要为他们设置 NAT 才能从外部访问?
ELB 不在一个子网内吗?
尝试了所有变体得出结论,他们需要 public 个 IP,但只是限制可以访问的内容?
非常感谢!
假设您的 ELB 应该 public 可以访问,您需要设置以下内容:
- 将您的 ELB 放在 public 个子网中。
- 为您的 ELB 分配一个或多个安全组,允许来自
0.0.0.0/0
的端口 443 上的传入访问和端口 80 上的传出访问。 - 创建您的 EC2 实例,通常使用 Auto Scaling 组,但这不是必需的。
- 将您的 EC2 实例放在私有子网中。
- 不要给您的 EC2 实例 public IP 地址。
- 为您的 EC2 实例分配一个或多个安全组,允许来自 ELB 安全组的端口 80 上的传入访问。
如果您的 EC2 实例需要传出互联网访问权限:
- 在 public 子网中设置 NAT(实例或网关)
- 更新私有子网的 VPC 路由表以通过 NAT 转发
0.0.0.0/0
流量。 - 更新您的 EC2 实例的安全组以允许所需端口上的传出连接。
允许传入 SSH 连接到您的 EC2 实例:
- 设置您的 VPN 或堡垒 EC2 实例。
- 更新您的 EC2 实例的安全组以允许端口 22 上的传入连接。
在所有情况下,尽可能限制安全组:
- 只允许您知道需要的端口,并且
- 尽可能使用
/32
CIDR,然后是/24
、/16
、/8
。最后,如果您确实需要全局访问权限,则只允许0.0.0.0/0
。
我担心这会暴露于 public 并且可能被 DDoS 利用。我必须在它前面加上 API 网关,然后使用 HAProxy 信任 VPC 更多细节在这里。 http://knowmg.blogspot.com/2017/11/why-do-i-need-haproxy-in-aws-stack.html