AWS 中仅允许 CloudFront访问的安全组创建

目的

生产环境中出于安全和并发的考虑,一般会用 CDN 和 LB 为后端服务/资源进行加速和并发防护,在 AWS 中,CDN 服务是 CloudFront,为了从根源上避免直接访问到源,需要通过安全组的方式组织非 CloudFront 边缘节点的访问。

思路

根据官方博客 How to Automatically Update Your Security Groups for Amazon CloudFront and AWS WAF by Using AWS Lambda中所属步骤,创建好 Lambda 函数和相关安全组,并监听 IP 更新的 SNS 即可。

对应代码仓库:aws-cloudfront-samples

原理就是每次在AWS更新 CloudFront 的IP时都会触发 Lambda 函数的执行,Lambda 里边获取 IP ranges,找出里边 CloudFront 的 Global IP 和 Region IP,保存到对应的安全组去。

注意:如果服务器在多个区或同一个区不同的 VPC,需要每个区都执行安全组创建+lambda,同区的不同 VPC 只要创建好安全组即可。

注意:如果运行过程中提示你每个安全组规则数量不可超过 50 导致无法更新成功,需要在 AWS 控制台申请扩大单个安全组规则最大限制,100~200即可。

操作过程

创建安全组

安全组控制台

首先把需要CloudFront IP 访问控制的安全组创建起来,由于 Global 和 Region 是分两个组存的,HTTP 和 HTTPS 也是分两个组存的,所以我们需要创建四个安全组,名称和标签如下表所示。

安全组名称 描述 协议 类型 Tag:Name Tag:Protocol Tag:AutoUpdate
HTTP_CLOUDFRONT_IP_ONLY HTTP for cloudfront global ip. HTTP Global cloudfront_g http true
HTTP_CLOUDFRONT_IP_ONLY_R HTTP for cloudfront region ip. HTTP Region cloudfront_r http tr
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值