写点什么

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:061141
用户头像

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

关注

评论

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

Flutter在各平台的安装与配置(Windows,macos,linux)【Flutter 专题 0】

坚果

flutter 签约计划第二季

面试官:GET能上传图片吗?

喵叔

11月日更

Flutter 中的一切都是一个小部件【Flutter专题5】

坚果

flutter 签约计划第二季

阿里内部“SpringCloudAlibaba学习笔记”强势来袭,开创微服务的新时代

Geek_1df311

Java 编程 架构 微服务

ES6, Angular, React 和 ABAP 中的 String Template(字符串模板)

汪子熙

JavaScript angular React abap 11月日更

五面阿里拿下飞猪事业部offer,2021新鲜出炉阿里巴巴面试真题

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

46道史上最全Redis面试题,面试官能问的都被我找到了(含答案)

热爱java的分享家

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

owasp zap 暴力破解测试

喀拉峻

网络安全 安全 信息安全

27 K8S之服务发现

穿过生命散发芬芳

k8s 11月日更

Flutter 状态管理Provider快速指南【Flutter 专题 8】

坚果

flutter 签约计划第二季

LRU经常被吐槽,要不试试LFU?本文详述LFU(Least Frequently Used)

李子捌

redis 签约计划第二季

Go语言学习查缺补漏ing Day9

Regan Yue

Go 语言 11月日更

GitHub标星139K的:“嵌入式Linux系统开发教程”

热爱java的分享家

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

Redis之主从复制详述,看完这篇文章不再稀里糊涂

李子捌

redis 主从复制 签约计划第二季

Redis分布式锁就应该这样学,精细胞与卵细胞的故事告诉你真实原理!

李子捌

redis 分布式锁 签约计划第二季

巧用代理设计模式(Proxy Design Pattern)改善前端图片加载体验

汪子熙

设计模式 web开发 代理模式 Proxy 11月日更

DDD与CQRS的关系

Bruce Talk

领域驱动设计 DDD

Flutter 状态管理概述【Flutter 专题 7】

坚果

flutter 签约计划第二季

“退微信群”谣言背后:总有人用阴谋论湮没常识

脑极体

掌握这些核心算法,拿不到10个offer你来找我,我锤你个不争气的

热爱java的分享家

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

金三银四面试必备,“全新”突击真题宝典,阿里腾讯字节都稳了

Geek_1df311

Java 程序员 架构 面试

比较 Flutter 日期选择器库【Flutter专题6】

坚果

flutter 签约计划第二季

新能源汽车发展的三种路线及差别

石云升

学习笔记 新能源汽车 11月日更

在Flutter中构建图像选择器【Flutter专题9】

坚果

flutter 签约计划第二季

比特币的账户模型

Rayjun

比特币 区块链

Redis集群模式,你若还是一知半解,试试仔细阅读一遍这篇文章

李子捌

redis redis cluster 签约计划第二季

六年Java老鸟,写给1-3年程序员的几点建议,满满硬货指导

热爱java的分享家

Java 架构 面试 程序人生 编程语言

大专毕业的我狂刷29天“阿里内部面试笔记”最终直接斩获十七个Offer

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

模块六作业

bob

「架构实战营」

分布式系统的全局快照

ElvinYang

分布式系统 一致性 全局快照 Chandy-Lamport Flink ABS

Redis值Sentinel(哨兵)详述,图文并茂才能浅显易懂

李子捌

redis redis sentinel 签约计划第二季

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