写点什么

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

发布了 1855 篇内容, 共 122.1 次阅读, 收获喜欢 79 次。

关注

评论

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

【Python技能树共建】requests-html库初识

梦想橡皮擦

7月月更

当你真的学会DataBinding后,你会发现“这玩意真香”!

编程的平行世界

JetPack andiod

开源者的自我修养|为 ShardingSphere 贡献了千万行代码的程序员,后来当了 CEO

SphereEx

开源 代码 ShardingSphere

web前端培训Docker入门指南

@零度

Docker 前端开发

大数据培训 | Scala语言知识分享,直击面试

@零度

scala 大数据开发

Go Web 编程入门:一探 GoConvey 测试库

宇宙之一粟

Go web Go 语言 7月月更

【LeetCode】找树左下角的值Java题解

Albert

LeetCode 7月月更

6年技术迭代,阿里全球化出海&合规的挑战和探索

阿里技术

阿里巴巴 最佳实践 方法论 全球化

JVM有哪些类加载机制?

源字节1号

软件开发

介绍一种对 SAP GUI 里的收藏夹事务码管理工具增强的实现方案

汪子熙

SAP abap SAPGUI 企业管理软件 7月月更

Linux设备驱动1:硬件基础

贾献华

7月月更

龙蜥社区开源 coolbpf,BPF 程序开发效率提升百倍

OpenAnolis小助手

Linux 开源 内核 龙蜥技术 BPF

研发效能度量框架解读

思码逸研发效能

研发效能 效能度量

2022 · 让我带你Jetpack架构组件从入门到精通 — Lifecycle

编程的平行世界

an'droid android jetpack

一文读懂TDengine的窗口查询功能

TDengine

tdengine 时序数据库

超90万个K8S实例可被发现暴露在公网上,14%位于中国

SEAL安全

安全

8款最佳实践,保护你的 IaC 安全!

SEAL安全

安全 IaC

学会使用LiveData和ViewModel,我相信会让你在写业务时变得轻松🌞

编程的平行世界

JetPack Andriod

Java培训 | 详解 Linux 中的权限,这一篇就够了

@零度

Linux JAVA开发

《你的灯亮着吗》开始解决问题前,得先知道“真问题”是什么

图灵教育

DBPack 赋能 python 微服务协调分布式事务

峨嵋闲散人

分布式事务 分库分表 读写分离 seata dbmesh

SpringSecurity的初始化流程

急需上岸的小谢

7月月更

从MLPerf谈起:如何引领AI加速器的下一波浪潮

OneFlow

人工智能 深度学习 加速器

Fiori 应用通过 Adaptation Project 的增强方式分享

汪子熙

前端开发 SAP Fiori SAP UI5 7月月更

软件产品管理平台有哪些?12个最佳产品管理工具盘点

爱吃小舅的鱼

产品经理 产品管理 PingCode

hive数据导入:文件导入

怀瑾握瑜的嘉与嘉

大数据 hive 7月月更

2022上半年英特尔有哪些“硬核创新”?看这张图就知道了!

科技之家

进入前六!博云在中国云管理软件市场销量排行持续上升

BoCloud博云

云原生 cmp 云管理

使用强大的DBPack处理分布式事务(PHP使用教程)

峨嵋闲散人

分布式事务 分库分表 读写分离 seata dbmesh

SpringBoot工程创建Swagger文档并自动生成调用代码

百家饭隐私计算平台创业者

JavaScript Spring Boot swagger

焱融看 | 混合云时代下,如何制定多云策略

焱融科技

存储 文件存储 混合云 多云

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