写点什么

AWS Global Accelerator 的客户端 IP 地址保护

  • 2019-09-18
  • 本文字数:1535 字

    阅读完需:约 5 分钟

AWS Global Accelerator 的客户端 IP 地址保护

AWS Global Accelerator 是一种联网服务,通过将传入的网络流量路由至多个 AWS 区域,从而提高您的全球应用程序的性能和可用性。它利用了我们庞大的边缘站点群和无阻塞全球网络,根据应用程序的运行状况、网络状况和用户所在的地理位置来引导流量,并提供一组静态的任播 IP 地址,这些地址从多个 AWS 位置发布(请参阅新增功能 — AWS Global Accelerator 提升可用性和性能以了解更多信息)。传入的 TCP 或 UDP 流量可以路由至某个 Application Load Balancer、网络负载均衡器或弹性 IP 地址。



客户端 IP 地址保护


今天,我们宣布推出 AWS Global Accelerator 的一项重要新功能。现在,如果您将流量路由至某个 Application Load Balancer,用户客户端的 IP 地址将可用于在终端节点运行代码,从而执行特定 IP 地址的特定逻辑。例如,您可以使用基于 IP 地址进行筛选的安全组,也可以根据用户的 IP 地址或地理位置向其提供自定义的内容。您还可以使用 IP 地址来收集有关用户地理分布的更准确统计信息。


客户端 IP 地址保护功能的使用


如果您已经开始使用 AWS Global Accelerator,我们建议您通过终端节点权重逐步开始使用客户端 IP 地址保护功能。这将有利于您验证利用 IP 地址的任何规则或系统继续正常工作。


为测试此新功能,我启动了一些 EC2 实例,设置了一个 Application Load Balancer,将这些实例放入一个目标组,然后在我的 ALB 前创造了一个加速器:



我检查了浏览器的 IP 地址:



我安装了一个简单的 Python 程序(由 Global Accelerator 团队友情提供),向一个 Global Accelerator 的 IP 地址发送了一条 HTTP 请求,并获取了输出:



源 (99.82.172.36) 是我的加速器使用的一个内部地址。建立基线并确认一切工作正常后,现在我可以启动客户端 IP 地址保护功能!


我打开 AWS Global Accelerator 控制台,找到我的加速器并检查了当前配置,如上图所示。我单击端口 80 的侦听器,然后单击现有的终端节点组:



然后我单击添加终端节点,向该组添加了一个新的终端节点,使用的权重为 255,然后选择保护客户端 IP 地址:



我的终端节点组现在有两个终端节点(一个含有保护的客户端 IP 地址,另一个没有),这两个终端节点都指向同一个 ALB:



在生产环境中,我将从较低的权重开始并进行测试,以确保任何依赖 IP 地址的安全组或其他逻辑都继续工作正常(我还可以在蓝绿部署和软件更新期间使用权重来管理流量)。由于我只是进行简单的测试,因此无需谨慎,直接删除旧(无 IP 地址保护的)终端节点。不论采用哪种方法,终端节点的更改都将在几分钟内生效,我可以刷新测试窗口:



现在我看到我的代码已经可以访问浏览器的 IP 地址(通过 X-Forwarded-For 标头),并且我可以按希望的那样使用它。我还可以在安全组规则中使用此 IP 地址。


有关切换最佳实践的更多信息,请参阅将 ALB 终端节点逐渐过渡到使用客户端 IP 地址保护功能。


注意事项


对于客户端 IP 地址的保护需要注意以下几个方面:


弹性网络接口 (ENI) 的使用量 — Global Accelerator 将为包含 IP 保护终端节点的每个子网创建一个 ENI,并且将在不需要时删除它们。不要编辑或删除它们。



安全组 — Global Accelerator 会创建并管理一个名为 GlobalAccelerator 的安全组。同样,不要编辑或删除它。



现已推出


您可以在下列区域为 Application Load Balancer 启用此新功能:美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(俄勒冈)、美国西部(加利福尼亚北部)、欧洲(爱尔兰)、欧洲(法兰克福)、欧洲(伦敦)、亚太地区(东京)、亚太地区(新加坡)、亚太地区(首尔)、亚太地区(孟买)和亚太地区(悉尼)。


本文转载自 AWS 博客。


原文链接


https://amazonaws-china.com/cn/blogs/china/new-client-ip-address-preservation-for-aws-global-accelerator/


2019-09-18 15:061028
用户头像

发布了 1866 篇内容, 共 133.1 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

架构设计图

风中奇缘

架构实战营 「架构实战营」

来自未来的交互设计!当电影中的一切变为现实,设计师要如何进化?

博文视点Broadview

基于Calcite的分布式多数据源查询

麒思妙想

MySQL 数据库 Apache Calcite gbase8a

2022年保障企业内网安全就用行云管家!免费试用!

行云管家

云计算 云平台 内网 云管平台

微信业务架构图、学生管理系统毕业架构设计

石小天

架构实战营

微信业务架构图与“学生管理系统”毕设架构设计

唐尤华

架构实战营

从零开发区块链应用(六)--gin框架使用

杰哥的技术杂货铺

golang 区块链 gin框架

【译】什么是测试驱动开发

宇宙之一粟

测试驱动开发 1月月更

携程DBA负责人俞榕刚:OceanBase在携程的落地和实践

OceanBase 数据库

数据库 分布式 OceanBase 开源 携程 客户实践

对管理金字塔游戏的感悟:管理的本质是协作

panda

管理

25 Prometheus最佳实践原则

穿过生命散发芬芳

Prometheus 1月月更

TiDB Cloud 上线亚马逊云科技 Marketplace,为全球用户提供云端一栈式实时 HTAP 数据库体验

PingCAP

架构学习【01】——架构图初探

tiger

架构实战营

流批一体技术框架探索及在袋鼠云数栈中的实践

袋鼠云数栈

全栈工程师?你知道全流程工程师吗?

蜜糖的代码注释

Java 开发 后端技术

01uni-app基础教程 环境配置【uniapp专题1】

坚果

uni-app 1月月更

03uniapp的生命周期【uniapp 专题 03】

坚果

小程序 uniapp 1月月更

鉴释加入龙蜥社区,助力开源生态建设

OpenAnolis小助手

Linux 开源 社群 合作伙伴

五步实现HarmonyOS应用(ets)【鸿蒙开发 07】

坚果

鸿蒙 1月月更

从零开始学Mysql - 字符集和编码(下)

懒时小窝

发布uniapp【uniapp 专题 02】

坚果

1月月更

ReactNative进阶(二十九):BloC 模式

No Silver Bullet

React Native 1月月更 BloC

IDEA注释模板,惊艳了,动作要快,姿势要帅

碌碌无为小码农

Java 架构 程序人生 编程语言 经验分享

【架构训练营-模块一】

默光

微信 架构设计

一线开发人员,你对项目了解多少?

蜜糖的代码注释

Java 程序员 后端技术

企业上云后,不容忽视的管理工具-云管平台

行云管家

云计算 企业上云 云管平台 云管理

从零开发区块链应用(七)--gin框架参数获取

杰哥的技术杂货铺

golang 区块链 gin框架

Spring Boot Admin 添加报警提醒和登录验证功能!

王磊

微信的业务架构图和学生管理系统的毕业设计

Geek_8d5fe5

架构实战营

前端工程师 2022 年必备的 7 个工具

开源之巅

JavaScript node.js

从零开发区块链应用(十)--golang协程使用

杰哥的技术杂货铺

golang 区块链 gotoutine

AWS Global Accelerator 的客户端 IP 地址保护_安全_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章