免费搭建私人网盘

利用 Graviton2 芯片的 EC2 和 S3 免费搭建私人网盘

教程说明

网盘是一种在线存储服务,提供文件存储,访问,备份,贡献等功能,是我们日常中不可或缺的一种服务。很多互联网公司都为个人和企业提供免费的网盘服务。但这些免费服务都有一些限制,比如限制下载速度,限制文件大小,不能多人同时管理,不能实现一些定制化功能。如果想取消这些限制,就要付费。现在我给大家介绍一种免费,且功能无限制的私人网盘。我们可以利用开源的网盘软件NextCloud(nextcloud.com),配合亚马逊云科技提供的免费服务额度,来搭建一个没有使用限制的私人网盘。教程非常简单,这个安装过程仅需三行命令,希望可以帮助到您。

关于费用

由于亚马逊云科技服务种类较多,且计费详细,很多用户有些看不懂,所以对使用亚马逊云望而却步。其实亚马逊云科技很多服务都有免费套餐,以让用户体验,这些服务的免费套餐,搭建一个私人网盘绰绰有余。由于亚马逊云海外区仅需个人信用卡就可以注册,所以我们以海外区为例。我们可以从免费套餐页面看到亚马逊云哪些服务具备免费套餐:

服务名称 免费套餐                                          
套餐有效期
Amazon EC2(主机服务) 免费套餐  
Amazon S3(对象存储服务) 5GB标准存储免费,超过部分每GB 约0.023USD(具体取决于区域) 注册起12个月内免费
Amazon EBS (块存储服务) 30GB 注册起12个月内免费

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

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

免费搭建私人网盘

技术优势

众所周知,亚马逊云科技为很多跨国公司提供稳定的企业级云服务。将网盘架设在亚马逊云上,依托亚马逊云提供的企业级服务,使网盘性能更加卓越和稳定。NextCloud是一款基于php开发的开源网盘应用。当您选择亚马逊云科技的Graviton2运行php7.4版本代码时,性能提升多达30%。(数据来源:Improving performance of PHP for Arm64 and impact on AWS Graviton2 based EC2 instances )另外,作为网盘存储介质的Amazon S3 可达到 99.999999999%(11 个 9)的持久性,并为全球各地的公司存储数百万个应用程序的数据。所以,您无需担心数据丢失。

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

教程说明

进入开发环境 

点击右侧按钮“登陆控制台”进入开发环境,如果您还没有账户,请先注册账户。

海外区域业务或个人使用,请注册“海外区域账户”;

中国区域业务(需企业营业执照认证),请注册“中国区域账户”。

  • 第一步 - 创建实例

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

    免费搭建私人网盘 (1)

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

    免费搭建私人网盘 (2)

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

    免费搭建私人网盘 (3)

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

    免费搭建私人网盘 (4)

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

    免费搭建私人网盘 (5)

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

    免费搭建私人网盘 (6)

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

    免费搭建私人网盘 (7)

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

    免费搭建私人网盘 (8)

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

    免费搭建私人网盘 (9)
  • 第二步 - 分配固定IP

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

    免费搭建私人网盘 (10)

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

    免费搭建私人网盘 (11)
  • 第三步 - 安装NextCloud

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

    免费搭建私人网盘 (12)

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

    免费搭建私人网盘 (13)

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

    sudo snap install nextcloud

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

    sudo nextcloud.manual-install xiayan passw0rd

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

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

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

    免费搭建私人网盘 (14)
  • 第四步 - 配置NextCloud后端存储为S3

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

    免费搭建私人网盘 (15)

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

    免费搭建私人网盘 (16)

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

    免费搭建私人网盘 (17)
    后面不用做更改,直接下一步至用户创建。提示用户创建成功后,会显示“访问密钥ID”和“私有访问密钥”。请记录下来。
    在个人设置里,找到“外部存储”,选择添加存储,选择Amazon S3。
    免费搭建私人网盘 (18)

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

    免费搭建私人网盘 (19)

    我们可以在网盘列表中找到新建的AmazonS3目录,存在此目录的文件是放置于S3之上,拥有11个9的持久性。

  • 总结

    至此基于Graviton2和S3免费套餐的私有网盘就已经搭建成功了。NextCloud有桌面版,安卓版以及iOS版本的客户端,可以用于同步备份,也有强大的多用户系统,可以多人协同工作和共享,也能和wordpress等很好集成。本文只是做了抛砖引玉,还有很多提高的地方,比如配置CloudFront CDN加速网盘的访问,CloudFront也有50GB的免费套餐。也可以将网盘配置为https,访问更为安全。为好的产品付费是值得的,按此方案,即使免费套餐过期,EC2云服务器实例可以转为包年,每月仅需4.58USD,S3存储每月每GB仅需0.023USD。

现在就开始在亚马逊云上构建

无论您是在寻找计算能力、数据库、存储、内容分发、人工智能与机器学习,大数据分析还是其他功能,亚马逊云科技都有相应的服务来帮助您建立具有更高灵活性、可扩展性和可靠性的复杂应用。

企业出海或个人体验

超过200项服务
包含80余种产品免费试用

发展中国业务

近百项服务
包含宁夏区域20余种产品免费试用