如何使用AWS S3桶来托管自己的静态网站

877 阅读4分钟

简介

大家好!今天在这篇文章中,我们将讨论如何使用AWS S3桶来托管一个静态网站。

静态和动态网站

首先,在希望使用AWS S3之前,你可能想知道静态网站和动态网站之间有什么区别。

好吧,静态网站通常是用HTML写的,使用CSS和JavaScript。在静态网站中,显示内容对每个人都是一样的。它不涉及任何服务器端的处理或数据库。

另一方面,动态网站涉及更多的用户互动和服务器端处理,如果需要的话,还涉及数据库。它的内容随着每个用户的变化而变化,取决于各种因素。在此,我们也来了解一下AWS S3对象。

AWS S3对象

简单地说,Amazon S3是一个对象存储服务,它将数据作为对象存储在桶内。一个对象是一个文件和描述该文件的任何元数据。一个桶是存储在Amazon S3中的对象的容器。你可以在一个桶中存储任何数量的对象,你的账户中最多可以有100个桶。

S3只支持静态网站。但是,如果你想托管一个动态网站,那么你可以使用EC2或RDS等服务来进行服务器端处理和数据库。本教程的范围仅局限于静态网站。

演示

有了这些信息,让我们通过几个简单的步骤快速托管我们自己的静态网站。

1.打开你的AWS控制台并创建一个S3桶

首先,登录到你的AWS控制台,并在搜索栏[Alt + s]中输入S3。然后你会被引导到以下页面。

s3 consoles3 console

现在点击创建水桶 选项。

2.提供所需的配置

现在,你会被要求提供一些配置。首先,在 "一般配置 "部分,给你的S3桶一个名字。记住,桶的名称必须是唯一的,并且不能包含空格或大写字母。然后,提供一个AWS区域。在本教程中,我们将继续使用亚太(孟买)ap-south-1

现在,向下滚动并进入 阻止该桶的公共访问设置 部分,并取消对以下方框的勾选,使你的网站可以公开访问。同时,点击下面的确认信息。

暂时不考虑其他的配置,直接向下滚动到页面的底部,点击创建水桶。现在你的水箱将被成功创建,如下图所示。

3.上传你的文件

点击你的水桶的名字,你将被带入这个页面。

现在,点击上传选项,开始上传你的文件或文件夹。这将需要一分钟左右的时间来上传,这取决于你的文件的大小。一旦完成,前往 "属性"部分,滚动到最后的静态网站托管, 并点击编辑。你将会被引导到如下所示的页面。

现在,将静态网站托管 改为启用。在索引 文件部分指定你的网站的主页或默认页。你也可以提供一个错误页面,在发生错误时返回。完成后保存更改。

4.编辑水桶政策

对于这一点,请到你的水桶的权限 部分,进入水桶政策这个选项。再说一遍,什么是水桶政策?它基本上是一个政策,用JSON语言编写,提供对存储在桶中的对象的访问。

对于托管我们的网站,我们需要提供我们自己的自定义策略。别担心,这很容易。点击 "编辑",会出现这样的页面。

点击 "政策生成器"选项。这个页面将让你定义你自己的政策,以托管网站所需。

第1步:选择政策类型为S3 Bucket政策

在第2步:

- 选择效果为允许

- 在主要部分写上

- 在Actions下,选择GetObject

- 在亚马逊资源名称(ARN)中,给出你的桶的ARN,你可以在属性部分找到。

- 另外,在最后添加一个**/***,以便将政策应用于你的桶中的每个对象。

- 在我们的例子中,ARN看起来像这样 -arn:aws:s3:::myaws-tempbucket/*

- 现在,点击添加语句。

最后,在步骤3中,点击生成策略,你会看到一个像这样的页面。

现在,复制这个策略,将其粘贴到编辑策略部分,覆盖默认的策略,并保存你的更改。

5.为你的网站获取链接

我们几乎已经完成了。只要前往你的对象,选择你的网站的主页或默认页,如前面所指定的。你会看到一个你的网站的对象URL,如下图所示。

在一个新的标签页中打开这个URL,瞧!你将能够看到你的网站。你现在就可以看到你的网站了。你也可以与任何人分享这个链接,他们也将能够看到你的网站。