AWS Cloudfront 限制对 Application Load Balancer 的访问

背景描述:

在需要低延迟,高可用性,扩展性的场景通常会用到Cloudfront和Elastic Load Balancing负载均衡器的组合使用。负载均衡器在后面的作用很重要比如说将流量合理分发到各个后端,自动扩展支持,单一入口点等,但是因为ELB也是可以面向互联网的拥有可以公开解析的DNS名称,用户是可以绕过Cloudfront进行访问的,这样Cloudfront可以缓存对象并将其直接提供给用户,从而减少应用程序负载均衡器的负载,帮助减少延迟,甚至吸收一些分布式拒绝服务 (DDoS) 攻击的作用就丧失了。所以需要阻止用户直接访问负载均衡器,仅允许客户通过Cloudfront访问。

官方链接Restrict access to Application Load Balancers - Amazon CloudFront

官方这里推荐了两个方式:1.配置自定义 HTTP 标头2.使用 CloudFront 的 AWS 托管前缀列表限制对源的访问

这里都会展示操作步骤

前置条件:

一个cloudfront和负载均衡器

配置自定义 HTTP 标头操作步骤:

第一步:进到相应Cloudfront内,点击源进行编辑

添加标头请使用随机生成的值。将标头名称和值视为安全凭证,如用户名和密码。

第二步:添加负载均衡器侦听器规则

选择一个目标组

设置优先级

然后修改原来规则,然后它返回403或者其它

第三步:修改完成后验证

访问ALB应该如图

再访问对应的Cloudfront

使用 CloudFront 的 AWS 托管前缀列表限制对源的访问:

官方链接:Limit access to your origins using the AWS-managed prefix list for Amazon CloudFront | Networking & Content Delivery

这篇有提到CloudFront 的托管前缀列表计为安全组中的 55 条规则。安全组的默认配额为 60 条规则,如果您在入站规则中添加一个 CloudFront 托管前缀列表,则只剩下 5 条额外规则的空间。如果您想使用 CloudFront 的托管前缀列表限制 HTTP 和 HTTPS 请求,则必须添加两个单独的规则,这将计为 110 条规则。所以我们加http和https规则的CloudFront 的托管前缀列表将要安全组规则数量提升配额到110条以上,他这里有提供对应配额链接省的我们自己去找,但是要注意自己所在区域去申请。批准时间会在半个小时到几个小时不等甚至一天。

https://console.aws.amazon.com/servicequotas/home/services/vpc/quotas/L-0EA8095F

没改之前可以用负载均衡器的DNS地址访问

现在去修改负载均衡器的安全组规则,点击蓝色字体跳转到对应的安全组页面

编辑入站规则

先点击删除原来的规则,再添加新规则。在源这里找到global.cloudfront.origin-facing的前缀列表

重新访问负载均衡器的DNS地址

验证访问Cloudfront的域名

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值