只需 5 步 - 免费搭建个人网盘

作为网盘存储介质的 Amazon S3 可达到 99.999999999%(11 个 9)的持久性,无需担心数据丢失。

注册亚马逊云科技账户, 可以免费使用 100 余种云产品或服务, 最长永久免费

利用免费资源,搭建私人网盘

网盘是一种在线存储服务,提供文件存储,访问,备份等功能,是我们日常中不可或缺的一种服务。

很多互联网公司都为个人和企业提供免费的网盘服务。但这些免费服务都有一些限制,比如限制下载速度,限制文件大小,不能多人同时管理,不能实现一些定制化功能。如果想取消这些限制,就要付费。

现在我给大家介绍一种免费,且功能无限制的私人网盘。我们可以利用开源的网盘软件 NextCloud (nextcloud.com),配合亚马逊云科技提供的免费服务额度,来搭建一个没有使用限制的私人网盘。教程非常简单,这个安装过程仅需三行命令,希望可以帮助到您。

关于本教程
时间 10 分钟                                           
费用 免费套餐
相关行业 通用
相关产品 Amazon EC2,Amazon S3
受众 任何人
级别 初级
上次更新日期 2021年10月

立即注册账户,手把手教您免费搭建个人网盘

1. 创建 AWS 账户

创建账户是免费的,还可以免费使用 100 余种云产品或服务。

2. 创建实例

按照以下步骤,即可轻松完成在 Amazon S3 搭建私人网盘


a. 首先我们先选择一个在中国访问较快的亚马逊云海外区域,这里以新加坡为例。 在网页右上角切换区域为新加坡。

备注:如果您想更改语言,请点击页面右下角语言设置。


b. 点击网页左上角的“ 服务”,找到 EC2,并点击。

c.  点击网页中的“启动实例”按钮




d. 在选择操作系统页面,我们选择 Ubuntu Server 20.04 LTS,并且在右侧选择系统版本为ARM。点击蓝色的“选择”按钮。在这里我们注意到,如果是免费套餐内的操作系统,会有标注“符合条件的免费套餐”。

e. 在选择实例类型页面,我们选择 t4g.micro,其中的字母g代表采用了 Graviton2 芯片。我们看到这个类型也标注了“可免费试用”。点击“ 下一步:配置实例详细信息”。

f. 去掉“积分规范”后面的复选框,避免产生额外费用。点击“下一步:添加存储”。


g. 在添加存储页面,我们将根卷大小更改为 30GB,因为亚马逊云提供的免费套餐最大为30GB。点击“下一步:添加标签”。


h. 添加标签页无需任何修改,直接点击“下一步:配置安全组”,选择“创建一个新的安全组”,点击左下角的“添加规则”按钮,类型选择“http”,确认下端口范围为80,来源为0.0.0.0/0,代表任意IP可访问。后面::/0代表IPv6。点击右下蓝色按钮“审核和启动”。


i. 在核查实例启动页面,点击右下按钮“启动”。会让您创建密钥,用于登陆实例,按提示创建并保存即可。

3. 分配固定IP


a. 这样创建出的实例只分配了临时 IP,我们需要给实例分配一个固定IP地址,我们点击左上角“服务”, 找到 VPC

b. 进入到 VPC 点击左侧“ 弹性IP”,再点击右侧“ 分配弹性IP地址”,得到一个固定IP地址。选中这个地址,点击“ 操作”按钮,选择“ 关联弹性IP地址”,在关联页面选择刚才创建的实例,将固定IP与刚才创建实例相关联。请记下这个固定 IP,后面会使用它来访问网盘。

4. 安装 NextCloud

NextCloud 有桌面版,安卓版以及 iOS 版本的客户端,可以用于同步备份,也有强大的多用户系统,可以多人协同工作和共享,也能和 WordPress 等很好集成。


a. 返回 EC2 服务界面,我们观察实例状态为“正在运行”,且状态检查为“2项检查已通过”。则代表已经创建成功,勾选实例前的复选框,点击右侧的“连接“按钮。


b. 我们使用 EC2 Instance Connect 从浏览器就可以登入 EC2 实例,如果失败,使用 console界面左下角语言切换,将 console 界面切换为英语,可以解决此问题。但有部分地区不支持 EC2 Instance Connect,如您碰到不支持 EC2 Instance Connect 的地区,可以参考下面教程中的“连接到实例”部分:启动EC2 Linux实例


c1. 登录到实例后,先安装开源网盘软件NextCloud,运行命令:

sudo snap install nextcloud

c2. 安装完毕后会提示“nextcloud 22.1.1snap2 from Nextcloud✓ installed”,软件安装完成,需要配置用户名和密码,使用以下命令,其中xiayan替换为您的用户名,passw0rd替换为您的密码:

sudo nextcloud.manual-install xiayan passw0rd

c3. 配置完成后,会显示“Nextcloud was successfully installed”。我们现在需要来配置信任域,如果您要使用IP来访问网盘,那么下面命令“value=”后面您写入刚才配置的弹性IP,如果您有自己的域名,后面会使用域名访问,那么下面命令“value=”后面写入您的域名,并将您的域名指向刚才配置的弹性IP。

sudo nextcloud.occ config:system:set trusted_domains 1 --value=替换为您的IP地址或域名

d. 现在我们可以用浏览器打开刚才的IP地址或域名,注意使用 http,如果浏览器打开失败,可以尝试输入完成的地址,http://加上IP地址。用刚才配置的用户名密码登陆。但目前界面为英文,您可以点击右上角的个人设置,更改语言为中文。

5. 配置NextCloud后端存储为S3

a. 目前为止,网盘已经搭建完成,现在使用 30G 免费 EBS 作为网盘存储介质。如果您需要更大的空间,更好的持久性,我们可以配置网盘利用S3进行存储。点击右上角个人设置,选择“应用”,在“已禁用的应用”中找到 External storage support,点击“启用”。

b. 参考使用Amazon S3 存储和检索文件, 创建一个S3存储桶。创建存储桶后,我们还需要创建一个iam user。点击左上的服务,选择IAM。点击左侧“用户”,然后点击“添加用户按钮”。输入一个用户名,在访问类型选择“访问密钥”。


c. 在添加权限时,我们选择“直接附加现有策略”,然后在筛选策略中输入“s3”,勾选”AmazonS3FullAccess”。


d. 后面不用做更改,直接下一步至用户创建。提示用户创建成功后,会显示“访问密钥ID”和“私有访问密钥”。请记录下来。

在个人设置里,找到“外部存储”,选择添加存储,选择Amazon S3。

 


d. 在指定位置填入刚才创建的存储桶名称,存储桶所在区域代码,应确保S3和EC2实例在同一区域,否则会有额外费用。区域代码查询见此链接:区域和可用区. 另外也需要填入刚才记录的访问密钥ID”和“私有访问密钥”,点右侧的对勾,如果添加成功,左侧会有绿色圆形图标提示,如右图:

 


EC2 实例主机,并且包含 35GB 存储空间,传入流量完全免费,每月传出流量 1GB 内免费。您可能担心,如果每月的免费额度用尽会造成收费,那么您可以通过以下设置,在您的亚马逊云科技服务使用量接近或超过 AWS 免费套餐使用量限制时接收电子邮件提醒。登陆您海外区亚马逊云科技控制台,打开控制台首选项页面,勾选“接收免费套餐使用量提醒”,填入您的电子邮件地址,这样您就无需担心造成费用。

免费搭建私人网盘

关于费用

由于亚马逊云科技服务种类较多,且计费详细,很多用户有些看不懂,所以对使用亚马逊云望而却步。其实亚马逊云科技很多服务都有免费套餐,以让用户体验,这些服务的免费套餐,搭建一个私人网盘绰绰有余。由于亚马逊云海外区仅需个人信用卡就可以注册,所以我们以海外区为例。我们可以从 免费套餐页面看到亚马逊云哪些服务具备免费套餐:
服务名称 免费套餐                                          
套餐有效期
Amazon EC2(主机服务) 免费套餐  
Amazon S3(对象存储服务) 5GB标准存储免费,超过部分每GB 约0.023USD(具体取决于区域) 注册起12个月内免费
Amazon EBS (块存储服务) 30GB 注册起12个月内免费

数据传输
数据自互联网传入免费 永久
数据传出互联网每月1GB内免费,超过部分每GB 约0.09USD(具体取决于区域) 永久

EC2实例主机,并且包含35GB存储空间,传入流量完全免费,每月传出流量1GB内免费。您可能担心,如果每月的免费额度用尽会造成收费,那么您可以通过以下设置,在您的亚马逊云科技服务使用量接近或超过 AWS 免费套餐使用量限制时接收电子邮件提醒。登陆您海外区亚马逊云科技控制台,打开控制台首选项页面,勾选“接收免费套餐使用量提醒”,填入您的电子邮件地址,这样您就无需担心造成费用。

配置CloudFront CDN加速网盘的访问,CloudFront也有50GB的免费套餐。也可以将网盘配置为https,访问更为安全。为好的产品付费是值得的,按此方案,即使免费套餐过期,EC2云服务器实例可以转为包年,每月仅需4.58USD,S3存储每月每GB仅需0.023USD。

免费搭建私人网盘

恭喜您!

基于 Graviton2 和 S3 免费套餐的私有网盘搭建成功了