关注分享主机优惠活动
国内外VPS云服务器

亚马逊云S3免费建站指南:从创建静态空间到绑定域名与CDN加速(亚马逊云教程)

聊到对象存储,可能很多人会先想到国内的阿里云OSS或者腾讯云COS。但要说鼻祖,那还得是亚马逊云的S3。AWS对新用户一向是相当慷慨,注册就送一年的免费套餐,这便宜不占白不占。具体来说,新用户每个月有5GB的标准存储、20000次GET请求、2000次PUT/POST请求,还有100GB的出站流量,对于个人博客做个图床或者存点静态资源,简直是绰绰有余了。


推荐阅读

亚马逊云S3免费建站指南:从创建静态空间到绑定域名与CDN加速(亚马逊云教程)-主机频道

AWS亚马逊云海外账户免费申请过程且支持银联

之前我就提过,AWS海外区和中国区的免费福利力度都挺大。以前海外账户只支持信用卡,拦住了不少朋友。好消息是,现在银联的借记卡也能注册了,门槛一下子低了不少,想上车的朋友可以看看这篇文章了解下具体流程。

更新日期:2024/7/9
阅读全文


正好,最近折腾个小项目需要个地方托管静态文件,就想着把这免费的S3给用起来。所以今天这篇文章,我就不聊VPS了,纯粹是个实战记录:怎么从零开始开通S3存储桶,然后绑定上我们自己的域名,再顺手把AWS自家的免费SSL证书和CloudFront CDN也给套上,一条龙服务直接搞定。有同样需求的朋友可以跟着我的步骤走一遍。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第1张

登录AWS后台,第一件事儿就是先瞄一眼右上角的区域。AWS的节点多得是,我这里就懒得选了,直接用默认的“美国东部”。你要是目标用户在亚洲,可以换成东京、新加坡之类的。然后直奔主题,在服务里找到S3,点击“创建存储桶”。这个存储桶名称(Bucket name)是全局唯一的,所以不能跟别人重名。我个人建议,如果你打算绑定域名,就直接用你的域名当名字,比如`s3.yourdomain.com`,这样后面好记也好管理。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第2张

下一步是设置公共访问权限。这里要注意了,AWS默认会建议你“阻止所有公开访问”,安全起见,我们先按它说的勾上。等后面需要让文件能被外网访问时,我们再通过策略来精细化控制。别一开始就图省事全放开,万一放错了东西就尴尬了。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第3张

剩下的选项暂时不用管,一路默认,直接点“创建存储桶”完事。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第4张

创建好之后,我们先进去随便上传个测试文件,比如一个`index.html`。上传成功后,点开这个文件,你会看到一个“对象URL”,把它复制到浏览器里打开试试。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第5张

果不其然,一个大大的“Access Denied”糊在脸上。这很正常,因为我们刚才听话地阻止了所有公开访问。下面就来解决它。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第6张

回到存储桶的设置页面,找到“属性”标签页,使劲往下拉,会看到一个叫“静态网站托管”的选项。默认是禁用的,咱们得把它编辑成“启用”。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第7张

启用之后,它会让你填“索引文档”,这里就填我们刚刚上传的`index.html`。如果你想把S3当成一个静态网站来用,这个就是你的网站首页。这个必须得填,不然保存不了。

保存之后,你可能会以为大功告成了,再去刷新刚才那个URL,结果……还是访问不了。别急,问题还没完。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第8张

关键的一步来了。切换到“权限”标签页,找到下面的“存储桶策略”,这里才是真正控制读写权限的地方。

不过你可能会发现,编辑完策略点保存,会提示失败。没错,我就是在这里卡了一下。根本原因还是最开始那个全局的“阻止公开访问”开关。我们得先回去把它关了。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第9张

还是在“权限”页,找到“阻止公有访问权限”,点“编辑”,把那个勾去掉,然后保存。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第10张

现在,我们再回到“存储桶策略”,把下面的这段JSON代码贴进去:

    {
        "Version": "2008-10-17",
        "Statement": [
            {
                "Sid": "AllowPublicRead",
                "Effect": "Allow",
                "Principal": {
                    "AWS": "*"
                },
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::存储桶名称/*"
            }
        ]
    }

注意,代码别直接复制粘贴就完事了,最后一行的`"arn:aws:s3:::存储桶名称/*"`,要把“存储桶名称”换成你自己的Bucket名字。这段代码的意思就是,允许任何人("Principal": {"AWS": "*"})读取("Action": "s3:GetObject")这个桶里的所有文件("Resource": "...")。保存策略,这次应该就成功了。再去访问你的文件URL,就能正常显示了。

至于绑定自定义域名,其实原理很简单:

比如你想用`s3.zhujipingjia.com`这个域名,那你创建存储桶的时候,名字就必须是`s3.zhujipingjia.com`。假设这个桶在`us-west-1`区域,那么S3会给你一个默认的访问地址,格式类似于 `s3.zhujipingjia.com.s3-us-west-1.amazonaws.com`。你只需要去你的DNS服务商那里,给`s3.zhujipingjia.com`做一个CNAME解析,指向这个AWS给你的长域名就行了。

到这里,S3的公开访问和域名绑定基本搞定。但现在都是HTTP访问,不够优雅,咱们还得给它加上HTTPS。

在AWS服务里搜索“AWS Certificate Manager”(简称ACM),这就是亚马逊自家的免费SSL证书服务。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第11张

跟着向导走,选择“请求公有证书”。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第12张

输入你要申请证书的域名,比如`s3.zhujipingjia.com`。验证方式推荐用DNS验证,比较方便。其他选项默认,直接提交。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第13张

提交后,AWS会给你一条CNAME解析记录。你需要去你的DNS后台,把这条记录添加上。等DNS生效后,AWS会自动完成验证。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第14张

稍等片刻,回来刷新一下,看到状态变成绿色的“已颁发”,就说明证书到手了。

证书有了,最后一步就是把S3、域名和证书串联起来,顺便再白嫖个CDN加速。这就需要用到AWS的另一个服务——CloudFront。

一个小提醒:如果你一开始就计划好了要用自定义域名,那创建S3存储桶的时候,名字最好就直接用域名,省得后面麻烦。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第15张

在CloudFront里创建一个新的分配。源站就选择我们刚才创建的S3存储桶。最关键的设置在“备用域名(CNAME)”这里,填上你自己的域名。然后在下面的“自定义SSL证书”里,选择我们刚刚申请好的那张免费证书。这样配置好之后,CloudFront就会把你的S3内容分发到全球的边缘节点。

利用免费亚马逊云 S3云存储创建静态存储空间绑定域名和免费CDN加速 - 第16张

创建完成后,CloudFront会给你一个形如 `dxxxxx.cloudfront.net` 的域名。最后一步,回到你的DNS服务商,把之前解析到S3的CNAME记录,改成解析到这个CloudFront给你的新域名上。等DNS生效后,你就可以通过自己绑定的HTTPS域名,高速访问存储在S3上的文件了,整个流程完美闭环!

未经允许不得转载:主机频道 » 亚马逊云S3免费建站指南:从创建静态空间到绑定域名与CDN加速(亚马逊云教程)

相关推荐

评论 抢沙发

评论前必须登录!