AWS 14 CloudFront
作者:互联网
AWS CloudFront
AWS云峰
•内容交付网络(CDN)content delivery network.
•提高阅读性能和内容缓存在边缘
•全球216个存在点(edge位置)
•DDoS防护、与Shield的集成、AWS Web应用程序防火墙
•可以公开外部HTTPS和可以与内部HTTPS后端通信,通过加载证书
CloudFront——起源
•S3桶
•用于分发文件并将其缓存在边缘
•通过CloudFront源站访问标识(OAI)Origin Access Identity 增强了安全性
•CloudFront可用作入口(将文件上传到S3)
•自定义源(HTTP) respects the HTTP protocol.
•应用程序负载平衡器
•EC2实例
•S3网站(必须首先将bucket作为静态S3网站启用)
•任何您想要的HTTP后端
访问需要(OAI)或者 IAM Role 对于S3
EC2实例 必须 public , 安全组需要允许cloudfront edge 进入ec2
ALB 必须 public ,其后的EC2可以private 允许ALB访问
---------------------------------------------------------------------------------------------------
云面地理限制
•您可以限制谁可以访问您的分发
•白名单:仅当您的用户位于其中一个位置时,才允许他们访问您的内容已批准国家名单上的国家。
•黑名单:如果你的用户处于某个位置,则阻止他们访问你的内容被禁国家黑名单上的国家。
•使用第三方地理IP数据库确定“国家”
•用例:控制内容访问的版权法
CloudFront与S3跨区域复制
•云端:
•全球边缘网络
•文件缓存为TTL(可能一天)
•适用于必须随处可见的静态内容
•S3跨区域复制:
•必须针对您希望进行复制的每个区域进行设置
•文件几乎实时更新
•只读
•非常适合需要在几分钟内以低延迟提供的动态内容区域
---------------------------------------------------------------------------------------------------
CloudFront缓存
•基于
•Headers
•会话cookie
•查询字符串参数
•缓存位于每个CloudFront Edge地方
•您希望最大化缓存命中率尽量减少对源站的请求
•控制TTL(0秒到1年),可以由原点使用CacheControl标头、Expires标头设置…
•您可以使用以下命令使部分缓存无效:CreateInvalization API
CloudFront–通过分离静态和动态分布,最大限度地提高缓存命中率
CloudFront和HTTPS
•查看器协议策略:
•将HTTP重定向到HTTPS
•或仅使用HTTPS
•源协议策略(HTTP或S3):
•仅限HTTPS
•或匹配查看器
(HTTP=>HTTP&HTTPS=>HTTPS)
•注意:
•S3 bucket“网站”不支持HTTPS
---------------------------------------------------------------------------------------------------
CloudFront已签名URL/已签名Cookie
•您希望将付费共享内容分发给世界各地的高级用户
•为了限制观众访问,我们可以创建一个CloudFront签名的URL/Cookie
url有效期,ip范围,信任的签署者
•URL的有效期应为多久?
•共享内容(电影、音乐):缩短(几分钟)
•私人内容(对用户来说是私人的):你可以让它持续多年
•签名URL=访问单个文件(每个文件一个签名URL)
•签名Cookies=访问多个文件(多个文件使用一个签名cookie)
CloudFront签名URL vsS3预签名URL
•CloudFront签名URL:
•允许访问路径,无论起源
•帐户范围的密钥对,仅根密钥能行
•可以按IP、路径、日期和过期时间进行过滤
•可以利用缓存功能
S3预签名URL:
•作为预先签署URL的人发出请求
•使用签名IAM负责人的IAM密钥
•寿命有限
CloudFront签名URL进程
•两类签名者:
•可信密钥组(推荐)
•可以利用API创建和旋转键(IAM用于API安全)
•包含CloudFront密钥对的AWS帐户
•需要使用root帐户和AWS控制台管理密钥
•不推荐,因为您不应该为此使用root帐户
•在CloudFront发行版中,创建一个或多个受信任密钥组
•生成自己的公钥/私钥
•应用程序(如EC2)使用私钥对URL进行签名
•CloudFront使用公钥(上传)来验证URL
---------------------------------------------------------------------------------------------------
CloudFront-定价
•CloudFront Edge的位置遍布世界各地
•每个边缘位置的数据输出成本各不相同
CloudFront–价格类别
•您可以减少边缘位置的数量以降低成本
•三种价格等级:
1.价格等级所有:所有地区-最佳性能
2.价格等级200:大多数地区,但不包括最昂贵的地区
3.价格等级100:仅限最便宜的地区
CloudFront – Multiple Origin
•根据内容类型选择不同的来源
•基于路径模式:
•/图像/*
•/api/*
• /*
CloudFront–原始组
•提高高可用性并进行故障切换
•来源组:一个主要来源和一个次要来源
•如果主原点出现故障,则使用第二个原点
CloudFront–字段级加密
•通过应用程序堆栈保护用户敏感信息
•与HTTPS一起增加了额外的安全层
•在靠近用户的边缘加密敏感信息
•使用非对称加密
•用法:
•在POST请求中指定要加密的字段集(最多10个字段)
•指定加密它们的公钥
---------------------------------------------------------------------------------------------------
标签:缓存,14,URL,AWS,CloudFront,S3,签名,HTTPS 来源: https://www.cnblogs.com/ives-xu/p/16133456.html