如何使用 Application Load Balancer 基于源 IP 路由请求?

上次更新时间:2020 年 9 月 23 日

我想要基于请求的源 IP 地址对请求执行特定操作。这可能包括将自定义响应发送给特定用户,或者提供不同版本的应用程序给一组特定的用户。如何使用 Application Load Balancer 执行此操作?

解决方法

您可能会在多种使用案例下想要基于请求的源 IP 地址执行特定操作。例如,假设您有两个应用程序版本。一个版本是面向全球用户的公共版本。另一个是包括一些扩展(测试版)功能的内部版本。您可能只想将内部版本提供给员工以从公司网络 CIDR 访问应用程序。要完成此操作及其他很多类似任务,您可以基于源 IP 地址配置侦听器规则。

开始之前,请记住,基于源 IP 的规则会检查 IP 标头(第 3 层)中的源 IP 地址。如果客户端与更改源 IP 地址的 Application Load Balancer 之间有一个代理或防火墙,则在侦听器规则中指定防火墙或代理的 IP 地址。

另外,请避免使用侦听器规则阻挡来自客户端的请求。最佳做法是使用安全组或网络访问控制列表。要阻止大量客户端,您可以使用 AWS WAF。

  1. 如果您还没有 Application Load Balancer,请创建一个
  2. 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台
  3. 在导航窗格中,选择负载均衡下的负载均衡器
  4. 选择您的负载均衡器。
  5. 选择侦听器选项卡。
  6. 选择您的侦听器,然后选择查看/编辑规则
  7. 选择添加规则图标(加号),然后选择插入规则
  8. 选择添加条件,然后选择源 IP
  9. 指定您计划为其配置不同操作的 IP 地址。
    注意:您可以使用前缀指定单一 IP 地址或网络 CIDR。例如,“1.1.1.1/32”或“10.8.0.0/21”。
  10. 选择 Add action(添加操作),然后选择所需的操作。例如:
    转发 – 用于转发到另一个目标组。(例如,转发到运行内部版本应用程序的目标组。)
    返回固定响应 – 用于阻止特定用户或对特定用户提供自定义响应。
  11. 要保存该条件,请选择复选标记图标。
  12. 要保存规则,请选择保存

这篇文章对您有帮助吗?


您是否需要账单或技术支持?