AWS S3(亚马逊s3云存储)

1,081 阅读2分钟

柚子有一个需求: 官网图片加载太慢,因为一张图片内存高达10M,也是没谁了,领导让放到aws s3上使用cdn加速缓存图片 思路:首先在s3上创建一个存储桶newvisionholding,需要往里面存放img文件夹,然后用aws的cdn加速

image.png

一、创建s3存储桶

通过s3控制台创建存储桶:

image.png

权限状态栏 - 设置跨域和公开访问 image.png 下面介绍一种终端方法

S3(Simple Storage Service,简单存储服务),即可扩展的云存储,又称桶存储,S3是一种面向Internet的存储服务。

1.安装python3

2.安装AWS CLI

AWS Command Line Interface (AWS CLI) 是一个统一的工具,为与 Amazon Web Services 的所有部分进行交互提供了一致的界面。随附的用户指南中介绍了用于不同服务的 AWS CLI 命令,包括说明、语法和用法示例。

官方下载教程

2-1 下载AWS CLI

下载 AWS CLI 版本 1 捆绑安装程序,使用 curl 命令下载。

对于最新版本的 AWS CLI, 请使用以下命令块:

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

2-2 从程序包中提取(解压缩)文件

如果没有 unzip,请使用 macOs 发行版的内置程序包管理器进行安装。

unzip awscli-bundle.zip

2-3 运行安装程序

安装程序在 AWS CLI 中安装 /usr/local/aws,并在 aws 文件夹中创建符号链接 /usr/local/bin。使用 -b 选项创建符号链接将免除在用户的 $PATH 变量中指定安装文件夹的需要。这应该能让所有用户通过在任何目录下输入 aws 来调用 AWS CLI。
默认情况下,安装脚本在系统默认版本的 Python 下运行。如果已安装 Python 的可选版本并希望使用该版本安装 AWS CLI,请使用该版本按 Python 可执行文件的绝对路径运行安装脚本,如下所示。

 sudo /usr/bin/python3 awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

3.使用aws cli 访问s3

上传文件:将本地文件夹nv_img下所有文件上传到 桶 newvisionholding的home_img文件夹目录下

cd 到本地文件夹内,:cd /Users/youzi/Desktop/nv_img

命名上传文件到指定路径下

aws s3 sync . s3://newvisionholding/home_img

4. Amazon S3通过网址访问图片

存储桶名称:newvisionholding

存储桶区域:香港是这个:ap-east-1

newvisionholding.s3.ap-east-1.amazonaws.com/home_img/1.…

存储桶策略

{
    "Version": "2012-10-17",
    "Id": "S3PolicyId1",
    "Statement": [
        {
            "Sid": "statement1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::newvisionholding/*"
        }
    ]
}

跨域配置

[    {        "AllowedHeaders": [            "*"        ],
        "AllowedMethods": [
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [
            "x-amz-server-side-encryption",
            "x-amz-request-id",
            "x-amz-id-2"
        ],
        "MaxAgeSeconds": 3000
    }
]

二、使用aws的CloudFront为s3存储文件创建cdn分发

IAM用户登录

1. 创建分配

超详细的cdn配置

image.png

image.png 2. 更新 图片访问网址

image.png