AWS 的S3 与 CloudFront 配合纪要

这篇具有很好参考价值的文章主要介绍了AWS 的S3 与 CloudFront 配合纪要。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大体要点,必参考

1、S3 可以使用aws的sdk集合包,也可以使用S3专用的包:@aws-sdk/client-s3;

2、通过sdk上传的文件,不带自动设置 Content-Type 的逻辑(同样的情况发生在阿里云),所以这里的设置应该属于前端web代码。sdk就不带了,所以要自备mime表;

3、CloudFront 会根据源站的 Content-Type 自动应用压缩算法;

4、可以启用Content-Type的类型参考链接:

提供压缩文件 - Amazon CloudFront

但是请注意!!! CF 的自动压缩,测试有大小限制。大约大于6M的文件就要注意是否被CF原样输出了(因为他们认为过大的文件会导致计算资源消耗),网络消耗惊人。

5、CloudFront的CDN缓存策略,会跟阿里云类似,会根据源站的 Cache-Control 来。当然也可以用他们的TTL设定。不过源站的缓存策略完备的话,这里肯定用不着;

6、CloudFront有一个名词叫缓存键,cache key,其实就是定位唯一一条资源的意思。为什么不是直接用文件名呢,是因为CDN还可以根据上发的header或者 cookies 或query_string 做key来映射缓存。比如,假设一个文件 a.txt,设定 header t 为缓存,那此cache的key就可能类似 a.txt_header_t_xx 来缓存所有t = xx 的时候,a.txt。

注意!!!此处有一个巨大的差异,阿里云在默认情况下,会对 query_string 做key。所以客户端的 update 文件夹下的文件,客户端之前在国内是用类似 xxx.game.net/5/update/update.txt?t=135456614 的方法强制CDN回源失效的。

但是!AWS在设置CloudFront 回源S3时,默认的策略,是只把url当key的!由此客户端的取巧全部失效。所以只能老老实实的设置 cache-control。

7、由于6的失误引起的需要no-cache的CDN节点资源已经缓存在外,就需要清空CDN节点了。AWS没有阿里云类似的图形操作界面直接刷新,需要用他们的命令行客户端。

文档:安装或更新最新版本的 AWS CLI - AWS Command Line Interface

步骤:

安装:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install

配置config(生成在 $HOME/.aws/credentials):

$ aws configure

AWS Access Key ID [None]: XXXXXX

AWS Secret Access Key [None]: XXXXX

Default region name [None]:

Default output format [None]:

使其失效:

aws cloudfront create-invalidation --distribution-id --paths "/*"

具体的部署步骤

1、在对应的区域,创建对应的S3的bucket。注意不要开放公有访问(省的被偷流量,CF免费,这个要钱的!)

aws s3 front,亚马逊云AWS笔记,aws,云计算,linux

aws s3 front,亚马逊云AWS笔记,aws,云计算,linux

其他保持默认,创建即可。

2、创建一个CF分发

选择S3,不需要自己输入(走外网端口会起反效果):

aws s3 front,亚马逊云AWS笔记,aws,云计算,linux

选填名字

选择Legacy access,然后创建一个OAI,并对这个bucket应用更新(不然就要去S3修改了,很难受)

aws s3 front,亚马逊云AWS笔记,aws,云计算,linux

如果这个时候回到S3,就可以看到 bucket 已经生效私有访问策略:

aws s3 front,亚马逊云AWS笔记,aws,云计算,linux

其他不用动,选择Cache策略:

aws s3 front,亚马逊云AWS笔记,aws,云计算,linux

这个策略是AWS对S3的建议,其实很基础,如下:

aws s3 front,亚马逊云AWS笔记,aws,云计算,linux

这个策略提到了上面的很多要素。

CF有每个用户1个月1TB免费流量的 Free Tier,薅羊毛!

然后这里要填入自己的CNAME(也就是用户直接用到的域名了)

注意代理https需要选择对应的证书。

aws s3 front,亚马逊云AWS笔记,aws,云计算,linux

创建好之后,在DNSPod或者其他DNS运营商,解析一下CF的CNAME即可:

aws s3 front,亚马逊云AWS笔记,aws,云计算,linux

至此可以愉快的访问了。在海外AWS的素质一流。文章来源地址https://www.toymoban.com/news/detail-802034.html

到了这里,关于AWS 的S3 与 CloudFront 配合纪要的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如果被亚马逊AWS扣费,应该怎么办啊?(亚马逊AWS服务还是很棒的)

    这两天登录到亚马逊云账号中发现,下个月的未出账单为100多刀,咦,怎么会这样啊!然后我马上*度了一下,被亚马逊云扣费应该怎么办,按照网友经验,我试了一下,还真管用,现在把这个过程记录下来,如果有需要这方面帮助的朋友,可以借鉴试试看。希望能帮到各位看

    2024年02月11日
    浏览(51)
  • 亚马逊AWS使用计费问题

    之前新建了两个ec2实例,第一个没有绑定弹性IP,第二个绑定了弹性IP,之后终止了第二个实例,然后绑定的弹性IP也就释放了。 问题在于第二天亚马逊发了邮件,说了因为弹性IP计费的问题,大概是说弹性ip未关联任何实例,所以会每小时0.005美元计费  之后Google查了一下,大

    2024年02月11日
    浏览(45)
  • AWS 亚马逊云服务专题学习

    前言 本系列博客记录了作者系统学习 AWS,以及备考 SAA 认证的知识储备,学习形式主要为根据在线课程结合课件熟悉 AWS 各类服务的主要功能和使用场景,系列内每篇博文分段解析了课程内容,时间有限的朋友也可以不用看视频课程只看博客。 1. 学习大纲 AWS 基础知识:IAM、

    2024年01月17日
    浏览(58)
  • AWS 亚马逊云良好架构框架

    根据多年来AWS的专家们积累的经验,创建了这一份AWS良好架构框架,其中包含了以下五大支柱: 安全性(Security) 可靠性(Reliability) 性能效率(Performance Efficiency) 成本优化(Cost Optimisation) 卓越操作(Operational Excellence) 1、不需再猜测您的容量需求 2、以生产规模进行系

    2024年01月18日
    浏览(54)
  • 清除aws 亚马逊cdn的缓存

     aws: Amazon Web Services  s3: Amazon Simple Storage Service Cloudfront 就是cdn ,Content Delivery Network 内容分发网络 Amazon S3 和 Cloudfront 缓存,如何清除缓 您可以使用失效来清除 AWS S3 缓存。要创建失效,请登录 AWS 控制台并转到Cloudfont  Distribution Settings Invalidations Create Invalidation。创建失效

    2024年02月09日
    浏览(43)
  • AWS亚马逊云全球账号最新注册技巧(防风控)

    提示:AWS亚马逊云全球账号最新注册技巧 一、介绍。 AWS(亚马逊云)一般是出海项目首选云,全球云服务的大哥大,特别是拿热销的云服务器EC2来说,实例类型就分为了通用、计算优化、内存优化、加速计算、存储优化几个方面进行分类,满足用户多方面的需求,而且具有

    2024年02月02日
    浏览(61)
  • 亚马逊Web服务(AWS)的几个主要应用

    以下是亚马逊Web服务(AWS)的几个主要应用: EC2(弹性计算云):提供虚拟计算资源,可为应用程序和服务提供计算能力。 S3(简单存储服务):提供高度可扩展和可靠的对象存储,可用于存储大量数据和文件。 RDS(关系型数据库服务):提供易于设置、操作和扩展的关系

    2024年02月12日
    浏览(52)
  • 【BIT云计算实验】亚马逊云服务(AWS)实验记录

    前置知识:Linux基本指令使用,拥有一张visa银行卡 实验时间:1h 实验难度(采用Codeforces的rating标准): 拥有visa银行卡:div2A / 800 未拥有visa银行卡:Impossible 注意:本次实验使用的服务器不额外收取费用。在进行这个实验之前,确保自己有一张visa银行卡,不然无法注册Amaz

    2023年04月08日
    浏览(68)
  • 亚马逊aws_access_key_id和aws_secret_access_key利用

    敏感信息泄露,例如环境变量。例如,为了配置AWS CLI,需要设置以下环境变量: 如果AWS密钥未存储在环境变量中,攻击者仍然可能通过其他方式来泄漏敏感信息。 举例来说,AWS配置指南建议使用?/ .aws / credentials文件来管理多个命名的配置文件。而这些命名的配置文件可能会

    2024年02月16日
    浏览(63)
  • 【AWS系列】第八讲:AWS Serverless之S3

    目录 序言 1.基础介绍 1.1 概念介绍 1.2 原理介绍 1.3 应用场景 1.3.1 构建数据湖 1.3.2 备份和还原关键数据 1.3.3 以最低成本存档数据 1.3.4 运行云原生应用程序 1.4 S3 的功能 1.4.1 存储类 1.4.2 存储管理 1.4.3 访问管理 2 使用方法 2.1 创建存储桶 ​2.2 配置 CORS 规则 3 投票 三言两

    2024年02月03日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包