【亚马逊云科技】通过高性能低延迟对象存储 S3实现网站资源托管

本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 亚马逊云科技开发者社区, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道

文章目录

  • 前言
  • 1 S3 介绍
    • 1.1 优点
  • 2 使用步骤
    • 2.1 注册账户
    • 2.2 创建存储桶
      • 2.2.1 打开控制台
      • 2.2.2 新建存储桶
    • 2.3 上传资源
    • 2.4 资源对象操作
      • 2.4.1 下载操作
        • 2.4.1.1 对象下载
        • 2.4.1.2 通过URL下载
  • 3 网站托管图像资源访问
    • 3.1 配置静态资源
      • 3.1.1 启用静态网站托管
      • 3.1.2 开放公有访问
      • 3.1.3 添加桶策略
    • 3.2 获得桶存储公网地址
  • 4 访问静态资源索引
  • 5 修改静态资源URL
  • 6 上传资源完成托管
  • 7 产品测评体验

前言

在这里插入图片描述

在刚刚结束的亚马逊云科技年度盛会re:Invent上,S3(Simple Storage Service)存储桶再次成为了热点话题。作为亚马逊云科技的核心存储服务之一,S3存储桶在云计算领域扮演着至关重要的角色。它不仅提供了可靠的存储和访问机制,还支持广泛的配置选项和高级功能。在本文中,我们将深入探讨S3存储桶的优势、功能和最佳实践,帮助您更好地利用这一强大的云存储服务。

1 S3 介绍

S3 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。各种规模和行业的客户都可以使用 Amazon S3 存储和保护任意数量的数据,用于数据湖、网站、移动应用程序、备份和恢复、归档、企业应用程序、IoT 设备和大数据分析。Amazon S3 提供了管理功能,使您可以优化、组织和配置对数据的访问,以满足您的特定业务、组织和合规性要求。

1.1 优点

优点详情
性能强数据持久化满足数据的变化需求
低成本降本增效,无需提前投入资金及硬件更新
数据安全提供加密和访问管理工具,保护数据不受未经授权的访问。S3加密上传到所有存储桶的所有对象,并可阻止公有访问支持审计功能
管理便捷可通过存储桶名称、前缀、对象标签和 S3 清单,来分类和报告数据,然后配置其他 S3 功能采取操作,实现在控制台中操作管理数据

2 使用步骤

2.1 注册账户

打开网页, https://portal.aws.amazon.com/billing/signup,进行登录,没有账号先进行注册

在这里插入图片描述

在这里插入图片描述

2.2 创建存储桶

2.2.1 打开控制台

打开访问控制台,在左侧导航窗格中,选择桶->选择创建桶。

在这里插入图片描述

2.2.2 新建存储桶

在这里插入图片描述

桶名称必须满足以下要求:

  • 在分区中是唯一的。分区是一组区域。AWS 目前有三个分区:aws(标准区域)、aws-cn(中国区域)和 aws-us-gov (AWS GovCloud (US) Regions
  • 长度必须介于 3 到 63 个字符之间。
  • 只能由小写字母、数字、句点(.)和连字符(-)组成。为了获得最佳兼容性,我们建议您避免在存储桶名称中使用句点(.),但仅用于静态网站托管的存储桶除外。
  • 以字母或数字开头和结尾。 创建桶后,便无法再更改其名称。
  • 避免在存储桶名称中包含敏感信息,如账号。桶名称会显示在指向桶中的对象的 URL 中。

2.3 上传资源

创建存储桶成功后,可对该存储桶进行资源上传
在这里插入图片描述

我们这里先将网站静态资源包下载下来
在这里插入图片描述

在上传页面中,进行资源上传
在这里插入图片描述

在这里插入图片描述

点击上传,等待上传结束
在这里插入图片描述

在这里插入图片描述

上传成功
在这里插入图片描述

2.4 资源对象操作

上传到存储桶后我们可以对桶里的资源进行下载、删除等,由于没有解压操作,我们将资源下载下来通过本地解压后重新上传

2.4.1 下载操作

2.4.1.1 对象下载

通过网页按钮,点击下载即可,另外一种方式实通过url进行下载
在这里插入图片描述

2.4.1.2 通过URL下载

在这里插入图片描述

3 网站托管图像资源访问

3.1 配置静态资源

将网站的静态资源上传后,我们需要通过托管的形式将网站的资源显示出来

3.1.1 启用静态网站托管

选择要操作的存储桶,例如我的:dmws3storage

在这里插入图片描述

点击属性,下滑将【静态网站托管】打开
在这里插入图片描述

在这里插入图片描述

改写配置并保存
在这里插入图片描述

3.1.2 开放公有访问

选择操作的存储桶
在这里插入图片描述

点击权限
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.1.3 添加桶策略

选择操作的存储桶
在这里插入图片描述

点击权限
在这里插入图片描述

点击桶策略
在这里插入图片描述

策略权限:

授予对网站的公有读取访问权限,授予公有读取访问权限时,Internet 上的任何人都可以访问!

{"Version": "2012-10-17","Statement": [{"Sid": "PublicReadGetObject","Effect": "Allow","Principal": "*","Action": ["s3:GetObject"],"Resource": ["arn:aws:s3:::Bucket-Name/*"]}]
}

注意⚠️:下方策略权限需要将Resource中的Bucket-Name,改为自己的存储桶名称,否则保存会提示Policy has invalid resource 的错误

例如:我的存储桶名【dmws3storage】

所以策略为:

{"Version": "2012-10-17","Statement": [{"Sid": "PublicReadGetObject","Effect": "Allow","Principal": "*","Action": ["s3:GetObject"],"Resource": ["arn:aws:s3:::dmws3storage/*"]}]
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.2 获得桶存储公网地址

刷新该桶权限页面,可以获得公网访问存储桶的地址,接下来我们通过存储桶进行网页托管
在这里插入图片描述

4 访问静态资源索引

访问公有地址,发现报错404
在这里插入图片描述

这是因为刚刚默认设置打开的是index.html页面
在这里插入图片描述

如果需要访问单张图片,例如:buy_shop.png

只需要将URL进行拼接即可,即:

http://dmws3storage.s3-website-ap-southeast-1.amazonaws.com/buy_shop.png

效果如下:
在这里插入图片描述

5 修改静态资源URL

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>HTML图片示例</title>
</head>
<body><!-- 使用img元素插入图片 -->
<img src="path/to/your/buy_shop.png" alt="图片"></body>
</html>

我们可以将网站上的本地资源进行替换,只需要在网站图片标签中将本地路径替换为公网地址即可,例如:

<img src="http://dmws3storage.s3-website-ap-southeast-1.amazonaws.com/buy_shop.png" alt="图片">

如果还需要将静态页面html进行托管只需要将对应的html页面进行上传即可,例如:index.html

在这里插入图片描述

6 上传资源完成托管

将修改好的静态页面打包上传至存储桶

在这里插入图片描述
上传至存储桶后,通过访问存储桶的公网地址,即可得到托管页面

在这里插入图片描述

7 产品测评体验

亚马逊云科技的S3(Simple Storage Service)作为一种高性能低延迟的对象存储服务,为网站资源托管提供了卓越的解决方案。在这篇产品体验测评中,深入探讨S3的关键特性,并评估其在网站资源托管方面的性能、可靠性和便捷性,主要体现在以下几点

1、在测试中,S3展现出极高的读写速度,使得网站资源的加载速度得到显著提升。通过全球分布的AWS边缘节点,用户可以快速访问他们所需的内容,可以根据服务需要选择就近存储地址,降低资源访问延迟。

2、在测试中,S3提供了出色的可扩展性,用户可以轻松地扩展存储空间,而无需担心性能下降。

3、通过存储桶策略,用户可以精确控制对其存储桶和其中对象的访问权限。此外,S3还提供了加密选项,确保存储在其中的数据得到充分的保护。

4、S3的按需定价模型和灵活付费选项使其成为一个高度成本效益的选择。用户只需为他们实际使用的存储和数据传输付费,而无需支付固定的预付费用。这种灵活性有助于企业优化其IT开支,并确保他们只支付实际使用的资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/221973.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能指针管理“newed对象”

为什么要有智能指针&#xff1f; 指针智能是管理管理动态内存分配对象的一种机制。它提供了自动管理内存&#xff0c;避免常见内存泄漏和悬空指针。 对于上述Func函数的操作&#xff0c;一不小心就会产生很多问题。 p1 new时候抛异常 什么都不做p2 new时候抛异常 p1需要被清理…

深入理解JVM虚拟机第三十篇:详解JVM当中栈帧的一些附加信息以及虚拟机栈的5个面试题

😉😉 欢迎加入我们的学习交流群呀: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783824 📚📚 工作微信:BigTreeJava 拉你进微信群,免费领取! 🍎🍎4:本文章…

Vue3后台管理-项目总结

后台管理 1. 动态路由2. 动态侧边栏菜单 持续更新中。。。 1. 动态路由 后台路由模型数据 &#xff08;如果后端不知道怎么转为 这种树结构的路由&#xff0c;可以参考 普通数组转树结构的数组&#xff09; const dynamicRoutes [{path: /,name: Layout,redirect: /home,comp…

如何在Ubuntu的Linux系统上搭建nacos集群

官方给出的集群部署架构图 集群部署说明 (nacos.io)3个或3个以上nacos节点才能构成集群当前示例中包含3个nacos节点&#xff0c;同时一个负载均衡器代理3个nacos&#xff0c;本示例中负载均衡器可使用的是nginx 准备并安装好正常运行的nginx&#xff0c;本示例略准备并安装好正…

Redis权限管理体系(一):客户端名及用户名

在Redis6之前的版本中&#xff0c;因安全认证的主要方式是使用Redis实例的密码进行基础控制&#xff0c;而无法按照不同的应用来源配置不同账号以及更细粒度的操作权限控制来管理。本文先从client list中的信息入手&#xff0c;逐步了解Redis的客户端名设置、用户设置及权限控制…

Numpy库

目录 介绍&#xff1a; 一、生成 1.1普通生成 1.2随机生成 1.3其它生成 二、访问 三、赋值 四、运算 五、其它 介绍&#xff1a; NumPy是一个用于数值计算的Python库&#xff0c;它提供了高效的多维数组对象&#xff08;ndarray&#xff09;、用于数组计算的函数以及用于…

【Monitor, Maintenance Operation, Script code/prgramme】

Summary of M,M&O,Program JD) Monitor & M&O Symbio信必优) Job chance/opportunities on Dec 12th, 20231.1) Content 招聘JD job description:1.2) suggestions from Ms Liang/Winnie on Wechat app1.3) Java微服务是什么&#xff1f;1.3.1) [URL Java 微服务](…

如何使用PHP创建RESTful API?

创建 RESTful API&#xff08;Representational State Transferful Application Programming Interface&#xff09;是通过 HTTP 协议提供对资源的访问和操作的一种常见方式。以下是使用 PHP 创建 RESTful API 的一般步骤&#xff1a; 步骤 1: 设计 API 路由 首先&#xff0c…

QT linux下使用Qt Creator调试附加进程,加快调试

文章目录 一、调试附加进程二、配置流程&#xff08;1&#xff09;开放linux内核配置项&#xff08;2&#xff09;命令行直接启动程序&#xff08;3&#xff09;调试附加到进程 一、调试附加进程 使用附加进程调试要比直接调试速度要快&#xff0c;但是不足之处是&#xff0c;…

京微齐力:基于H7的平衡控制系统(一、姿态解析)

目录 前言一、关于平衡控制系统二、实验效果三、硬件选择1、H7P20N0L176-M2H12、MPU6050 四、理论简述五、程序设计1、Cordic算法2、MPU6050采集数据3、fir&iir滤波4、姿态解算 六、资源消耗&工程获取七、总结 前言 很久之前&#xff0c;就想用纯FPGA做一套控制系统。可…

C++二维数组(2)

图形相似度 题目描述&#xff1a; 给出两幅相同大小的黑白图像&#xff08;用0-1矩阵&#xff09;表示&#xff0c;求它们的相似度。 说明&#xff1a;若两幅图像在相同位置上的像素点颜色相同&#xff0c;则称它们在该位置具有相同的像素点。 两幅图像的相似度定义为相同像素…

通过socketpair+select实现线程同步的用法代码

1&#xff0c;socketpair详细用法说明 socketpair()是一个Unix/Linux系统调用&#xff0c;用于创建一个本地端对&#xff08;socket pair&#xff09;。它创建两个已连接的socket描述符&#xff0c;用于在同一进程中的两个不同线程之间进行通信。 以下是socketpair()函数的详…

飞天使-linux操作的一些技巧与知识点6-ansible结合jinja2使用,可规范化进行自动化管控

文章目录 在议playbook虚拟环境中安装ansibleplaybook 结合变量的一些演示普通的vars_files 变量&#xff0c;在同级目录创建目录使用host_vars 定义变量group_vars定义变量根据不同系统操作不同版本传递多个外置变量举例几个不同的示例factswhenloophandlers 与 notifytags 任…

个人养老金知多少?

个人养老金政策你了解吗&#xff1f;税优政策你知道吗&#xff1f;你会计算能退多少税吗&#xff1f;… 点这里看一看

橘子学K8S01之容器中所谓的隔离

我们一直都在说容器就是一个沙盒&#xff0c;沙盒技术顾名思义就是像一个集装箱一样&#xff0c;把应用(服务&#xff0c;进程之类的)装起来的技术&#xff0c;这样每个进程在自己的沙盒中和其他的沙盒隔离开来&#xff0c;每个沙盒之间存在一个边界使得他们互不干扰&#xff0…

NFTScan 获得比特丛林 (BitJungle) 公司战略投资

近日&#xff0c;NFT 数据基础设施服务商 NFTScan 获得知名区块链安全公司比特丛林 (BitJungle) 战略投资。未来&#xff0c;双方将在链上数据和区块链安全领域展开战略合作&#xff0c;高效联动&#xff0c;让区块链大数据发挥更大价值。 关于 BitJungle 比特丛林 (BitJungle…

删除指定文件夹下的所有文件

要删除指定文件所在的文件夹下的所有文件&#xff08;不包括文件夹本身&#xff09;&#xff0c;你可以使用Python的os模块和os.path模块。下面是一个示例代码&#xff0c;演示如何删除文件夹下的所有文件&#xff0c;但保留文件夹本身&#xff1a; import osdef delete_files…

鸿鹄云商:Java商城引领商业模式的潮流,免费搭建多种商城模式

java SpringCloud版本b2b2c鸿鹄云商平台全套解决方案 使用技术&#xff1a; Spring CloudSpring BootMybatis微服务服务监控可视化运营 B2B2C平台&#xff1a; 平台管理端(包含自营) 商家平台端(多商户入驻) PC买家端、手机wap/公众号买家端 微服务&#xff08;30个通用…

idea插件开发报错: ZipException opening “slf4j.jar“: zip END header not found

错误信息 E:\idea-workspace\#idea-plugin\JSON2Object\src\main\java\com\hgy\plugin\json2object\GenerateAction.java:1: 错误: 无法访问com.hgy.plugin.json2object package com.hgy.plugin.json2object; ^ZipException opening "slf4j.jar": zip END header no…

在 Python 中,assert 是一个断言语句

在 Python 中&#xff0c;assert 是一个断言语句&#xff0c;用于测试代码中的条件是否为真。它的语法如下&#xff1a; assert condition, message其中&#xff0c;condition 是要测试的条件&#xff0c;如果条件为真&#xff08;True&#xff09;&#xff0c;则程序继续执行…