关注分享主机优惠活动
国内外VPS云服务器

实测分享:为EC2云服务器挂载Amazon EFS,轻松实现存储扩容(ecs云服务器怎么使用)

说起亚马逊云 Amazon EC2,玩服务器的朋友们肯定都不陌生。而且亚马逊现在对新用户还挺大方的,注册就送12个月的免费EC2、三个月Lightsail轻量服务器,外加上百种云产品的免费额度,羊毛不薅白不薅。一般情况下,咱们开个EC2,自带的硬盘空间也就勉强够用。但要是想折腾点大项目,或者网站图片、文件一多,那点空间就捉襟见肘了。这时候要么加钱扩容,要么就得上对象存储搞动静分离,稍微有点折腾。

今天我给大家分享一个更骚的操作:用 Amazon EFS(弹性文件系统)给EC2来个“无限”扩容。这玩意儿的好处是,它就像一个网络U盘,直接挂载到你的服务器上,用多少算多少,而且新用户头一年还有5GB的免费额度,对付个小博客或者测试环境绰绰有余。我发现网上的教程不少,但总有些关键点说得不清不楚,很多人跟着操作,到最后挂载那一步就卡住了。所以,我打算自己从头到尾走一遍,写一篇保姆级的实战教程,保证你看完就能成功给你的EC2挂上EFS,实现磁盘的无限扩容。

如果你还没上车亚马逊云,可以先去注册个账号,把那100多种免费福利领了再说。点这里去注册

文章目录
隐藏
1.
创建安全组

2.
开创EC2云服务器

3.
创建EFS存储空间

创建安全组

这步是重中之重,也是最多人翻车的地方。咱们需要创建两个安全组,一个给EC2服务器用,一个给EFS存储用,把它们想象成两道独立的门禁。

利用Amazon EFS存储挂载到EC2扩容云服务器 - 第1张

首先是EC2的安全组。为了方便测试,咱们可以先偷个懒,入站规则里直接放行所有流量。不过我得提醒一句,这只是测试玩法,真要是跑线上业务,一定要按需开放端口,比如只开80、443和你的SSH端口,安全第一。

利用Amazon EFS存储挂载到EC2扩容云服务器 - 第2张

接着,再创建一个专门给EFS用的安全组。这里的关键来了:在添加入站规则时,类型直接搜索“NFS”,它会自动帮你填上协议和端口号(2049)。这个端口就是EC2和EFS之间通信的专用通道,必须打开。这样,两个安全组就都准备好了。

开创EC2云服务器

安全组搞定,我们就可以去开一台EC2实例了。如果你已经有EC2了,可以跳过这步,但得确保你的EC2和后面要创建的EFS在同一个VPC和区域里。

利用Amazon EFS存储挂载到EC2扩容云服务器 - 第3张

系统镜像我个人比较喜欢用Amazon Linux,官方自己的系统,兼容性最好,而且也在免费套餐范围内。

利用Amazon EFS存储挂载到EC2扩容云服务器 - 第4张

创建密钥对是必须的,后面SSH登录就靠它了。这里有个新手常踩的坑,得注意:用Amazon Linux系统,默认的登录用户名是 `ec2-user`,不是我们习惯的 `root`。想用root权限,得先用 `ec2-user` 登录进去,然后 `sudo -i` 或者自己重设root密码再切换。在网络设置里,记得选择我们刚才创建好的那个EC2专用安全组。

利用Amazon EFS存储挂载到EC2扩容云服务器 - 第5张

服务器创建成功后,先记下它的公网IP。然后,最最重要的一点:看上图,找到实例的“可用区”(Availability Zone),比如 `ap-northeast-1a`。这个信息务必记下来,拿小本本写好,待会儿创建EFS的时候要跟它保持一致!

创建EFS存储空间

利用Amazon EFS存储挂载到EC2扩容云服务器 - 第6张

万事俱备,只欠EFS。现在我们去控制台找到EFS服务,开始创建文件系统。

利用Amazon EFS存储挂载到EC2扩容云服务器 - 第7张

这里别直接点“创建”,我建议点旁边的“自定义”按钮。虽然麻烦一点,但能让我们对所有设置都心里有数,避免踩坑。

利用Amazon EFS存储挂载到EC2扩容云服务器 - 第8张

下一步网络设置这里,就是考验你记性的时候了。还记得刚才让你记下的EC2的“可用区”吗?在这里,把其他可用区的挂载目标都删掉,只保留和你的EC2实例所在的那一个可用区。这样可以确保最低的延迟。

利用Amazon EFS存储挂载到EC2扩容云服务器 - 第9张

然后,在安全组这里,把默认的删掉,换成我们之前专门为EFS创建的那个安全组。千万别选错了,不然它俩通不上信,后面就白忙活了。

EC2挂载EFS

好了,所有准备工作都已就绪,现在进入激动人心的实操环节:登录EC2,挂载EFS!

sudo yum update -y
sudo yum install -y amazon-efs-utils

首先,通过SSH连上你的EC2实例。先更新一下系统,然后安装一个亚马逊官方提供的EFS挂载辅助工具,有了它,挂载过程会简单很多。

利用Amazon EFS存储挂载到EC2扩容云服务器 - 第10张

接着,在服务器上创建一个目录,作为EFS的挂载点。比如我就在根目录下创建一个叫 `efs` 的文件夹:`sudo mkdir /efs`。

利用Amazon EFS存储挂载到EC2扩容云服务器 - 第11张

现在回到AWS的EFS控制台,找到你刚创建的文件系统,右上角有个“附加”或者“连接”按钮,点它。

利用Amazon EFS存储挂载到EC2扩容云服务器 - 第12张

亚马逊很贴心地直接给出了挂载命令。我们选择“使用EFS挂载帮助程序”那一项,复制它提供的命令。

sudo mount -t efs -o tls fs-0eafb27b79ed88878:/ /efs

这就是我的挂载命令,你需要把它换成你自己控制台里显示的那条,注意最后面的 `/efs` 要换成你刚刚创建的目录名。执行!

利用Amazon EFS存储挂载到EC2扩容云服务器 - 第13张

如果执行命令后没有任何报错,直接返回了,那就恭喜你,挂载成功了!可以用 `df -h` 命令检查一下,就能看到多出来一个超大容量的EFS分区。如果报错了,十有八九是安全组的锅,回头检查一下2049端口和安全组配置是否正确。

最后一步,也是非常关键的一步:权限设置。刚挂载好的 `/efs` 目录,主人是root。这意味着只有root用户才能在里面写东西。但我们平时跑网站程序,比如Nginx或PHP,用的都不是root用户。用默认的 `ec2-user` 登录,你也会发现没法往里存文件。所以,我们需要把这个目录的所有权交给常用的用户。

sudo chown ec2-user:ec2-user /efs

执行上面这条命令,就把 `/efs` 目录的所有者改成了 `ec2-user`。这样,`ec2-user` 身份就有权限读写了。千万别图省事直接 `chmod 777`,那太不安全了,等于把家门敞开。

当然,挂载方式不止这一种,也可以用传统的NFS客户端来挂载,不过官方的 `efs-utils` 工具显然更方便。

搞定!现在你的EC2就有了一个可以随用随扩的“无限硬盘”了,是不是感觉瞬间底气足了很多?

未经允许不得转载:主机频道 » 实测分享:为EC2云服务器挂载Amazon EFS,轻松实现存储扩容(ecs云服务器怎么使用)

相关推荐

评论 抢沙发

评论前必须登录!