【问题标题】:How can I distinguish between an External and an Internal ELB in AWS?如何区分 AWS 中的外部 ELB 和内部 ELB?
【发布时间】:2016-07-19 07:05:31
【问题描述】:

我有单独的“区域”(VPC)和集群服务器。在“DMZ”区域中,我有一个具有不同前后 NIC 的集群。 172.30.x.x 服务于面向 Internet 的一侧,而 10.0.x.x 服务于进入(更多)安全区域的任何后端连接。

由于我使用的是集群环境,我设置了负载平衡器 (ELB),一个用于来自 Internet 的外部连接 (172.30.x.x),一个用于内部区域 (10.0.x.x) 的内部 ELB。

我需要为前/后 (172.30.x.x / 10.0.x.x) 的侦听器添加 ACL(允许/拒绝),但我的问题是 AWS ELB 对外部 ELB 和内部 ELB 具有相同的源 IP . 原始源 IP 仅包含 X-forwarded-for 标头将不起作用,因为 ACL 只能处理源 IP 而不能处理 HTTP 标头。

现在 ACL 毫无价值,因为 Internet 呼叫和来自后端区域的呼叫的源 IP 都在 172.30.x.x 范围内,这是两个 ELB“活动”的 VPC...

关于如何区分 ACL 的内部和外部 IP(或设置安全组或其他措施以确保只有后端连接可以到达 10.0.x.x 侦听器)的任何建议?

【问题讨论】:

  • 您是否已经有了描述的设置,还是只是设计?
  • 你把内外部ELB放在同一个子网了吗?
  • 是的,这是一个正在运行的设置,而且,是的,两个 ELB 都在同一个 VPC(子网)中,因为带有 NIC 的服务器是同一个服务器...

标签: amazon-web-services amazon-ec2 amazon-elb


【解决方案1】:

ELB 没有静态 IP,因此您不能基于此创建 ACL 规则。作为安全最佳实践,您面向公众的外部 ELB 应位于与不应接收外部流量的任何 ELB 或实例/接口不同的子网中(因为当然,您希望它们分布在多个可用区中)。

将您的外部 ELB 移动到不用于其他任何用途的子网中。如果它们已经在使用中,这可以在零停机时间的情况下完成,因为您只需在正确的子网中创建新的 ELB,添加后端实例,更改指向 ELB 的任何 DNS 记录,就可以了。这允许为适当的子网 CIDR 块创建 ACL 规则。

【讨论】:

  • 我的 ACL 用于子网的 CIDR 块,例如。我的“正面”有 172.30.0.0/24,我的“背面”有“10.0.0.0/24”。我可能会重新考虑整个交易,但将“前端”ELB 移至新的 VPC 是有意义的,然后我当然也可以为它们添加新的安全组。
猜你喜欢
  • 2017-10-10
  • 2018-01-26
  • 2017-06-24
  • 1970-01-01
  • 2019-09-19
  • 2017-06-09
  • 2018-01-03
  • 2018-12-17
  • 2019-11-22
相关资源
最近更新 更多