aws(学习笔记第十一课) 使用AWS的EFS,以及AWS Storage Gateway

aws(学习笔记第十一课)

  • 使用AWS的EFS和AWSStorage Gateway

学习内容:

  • 使用AWS的EFS
  • 使用AWS Storage Gateway

1. 使用AWS的EFS

  1. 什么是EFS
    EFSElastic File System的缩写。前面练习的实例存储EBS都是同时只能一个EC2实例进行挂载,不能实现多个EC2实例的文件共享,使用EFS,能够实现多个EC2能够同时进行存储共享。另外,EFS也能够在应用程序不停止的情况下进行扩展容量,特别方便。
    • 创建EFS
      • 设定EFS名称
        在这里选择自定义,进行详细的设定。

      • 设定安全组
        其实定义个EFS和自定义一个nfs server没有任何区别。所以需要设定安全组,这里设定default安全组,默认对全部IP进行开放。

      • 选择策略
        可以设定策略,进行可以mountEC2的限定,这里不进行设定。

      • EFS创建成功

      • 开启EC2进行mount

      • 首先安装必要的amzon-efs-utils客户端

        shell 复制代码
        sudo yum install amazon-efs-utils
      • 作成mount point文件夹

        shell 复制代码
        mkdir -p /mount/my-efs-dir
      • 执行mount命令

        shell 复制代码
        mount -t efs fs-0311ebd76cab0ba56 /mount/my-efs-dir
      • mount成功之后,进行文件作成

        shell 复制代码
        [root@ip-172-31-1-63 my-efs-dir]# mkdir efs-test
        [root@ip-172-31-1-63 my-efs-dir]# cd efs-test/
        [root@ip-172-31-1-63 efs-test]# touch hello.txt
        [root@ip-172-31-1-63 efs-test]# vim hello.txt
        [root@ip-172-31-1-63 efs-test]# cat hello.txt
        hello,efs;
        [root@ip-172-31-1-63 efs-test]# cat hello.txt
        hello,efs;
      • 之后作成第二个EC2,再次mount

        可以看到,这两个EC2看到的存储同一个EFS

2. 使用AWS Storage Gateway

AWS Storage Gateway 是一种混合云存储服务,可将本地环境与 AWS 云存储连接起来。它允许您将现有的本地基础设施与无缝集成 AWS,使您能够从云中存储和检索数据,并在混合环境中运行应用程序。换句话说,就是AWS Storage Gateway能提供各种AWSstorage向方便的接口协议,DAS、SAN、NAS(nfs,cifs),Samba(cifs)。个人感觉,AWS Storage Gateway就是AWS Storage到现有各种协议的适配器。

  1. AWS Storage Gateway的分类

    • Amazon S3文件网关

      这种网关支持Amazon S3文件系统。是现有的协议DAS、SAN、NAS(nfs,cifs),Samba(cifs)能够访问Amazon S3

    • 卷网关

      这种网关支持将Amazon的卷存储,作为本地的iSCSI设备来访问。

    • 磁带网关

      这种网关支持将Amazon的虚拟磁带存储。

  2. 创建AWS Storage Gateway

    • 创建AWS Storage Gateway
      其实AWS也是创建EC2实例作为AWS Storage Gateway

    • 网关设定
      这里让这个AWS Storage Gateway能够通过互联网访问AWS

    • 配置缓存存储

    • 创建文件共享

    • 选择AWS Storage Gateway和共享协议
      这里选择NFS,这个协议同样适合linuxwindows系统。
      同样选择现有的S3 bucket,或者新建的一个S3 bucket
      注意,新建的S3 bucket的权限设定会正确,既存的S3 bucket可能权限有问题

    • 创建之后

    • 这里会提供mount命令

      shell 复制代码
      #linux
      sudo mount -t nfs -o nolock,hard 172.31.1.85:/my-gateway-s3-20241109 [MountPath]
      #windows
      mount -o nolock -o mtype=hard 172.31.1.85:/my-gateway-s3-20241109 [WindowsDriveLetter]:
      #macos
      sudo mount -t nfs -o vers=3,rsize=1048576,wsize=1048576,hard, nolock -v 172.31.1.85:/my-gateway-s3-20241109 [MountPath]
  3. 创建Windows EC2实例进行mount

    • 作成一个windows实例
      注意,使用t2.micro的话,启动windows server 2022会特别慢,所以选择t2.medium,使用后马上关闭
    • 进入Windows之后,删除alias以及安装NFS-client
      • 进入PowerShell

      • 删除alias

        复制代码
        Remove-Item -Path Alias:mount -ErrorAction Ignore
      • 安装NFS-client

        shell 复制代码
        Get-WindowsFeature NFS-Client
        Install-WindowsFeature -Name NFS-Client
      • 执行mount

        shell 复制代码
        mount -o nolock -o mtype=hard 172.31.1.85:/my-gateway-s3-20241109 d:
  4. mount成功

    • 创建文件夹和文件
    • 查看S3 bucket
      这样,使用NFS协议,实现了从windowsmount S3 bucket,方便进行读写。
    • 最后清理资源
相关推荐
摇滚侠6 小时前
2025最新 SpringCloud 教程,教程简介,笔记01
笔记·spring cloud
todoitbo7 小时前
基于 DevUI MateChat 搭建前端编程学习智能助手:从痛点到解决方案
前端·学习·ai·状态模式·devui·matechat
RickyWasYoung8 小时前
【笔记】智能汽车、电动汽车政策文件
笔记·汽车
Ma0407139 小时前
【机器学习】监督学习、无监督学习、半监督学习、自监督学习、弱监督学习、强化学习
人工智能·学习·机器学习
小熊officer9 小时前
Nginx学习
运维·学习·nginx
秋邱9 小时前
价值升维!公益赋能 + 绿色技术 + 终身学习,构建可持续教育 AI 生态
网络·数据库·人工智能·redis·python·学习·docker
Three~stone10 小时前
Matlab2025b的安装教程(附安装包和密钥破解文件)
学习·mysql·持续部署
爱学习的大牛12310 小时前
如何系统学习网络渗透测试:从入门到精通的完整指南
网络·学习
落子摘星10 小时前
suricata学习杂记(一)
学习·modbus·suricata·pdu
charlie11451419111 小时前
深入理解C/C++的编译链接技术6——A2:动态库设计基础之ABI设计接口
c语言·开发语言·c++·学习·动态库·函数