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

aws(学习笔记第十一课)

  • 使用AWS的EFS和AWSStorage Gateway

学习内容:

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

1. 使用AWS的EFS

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

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

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

      • 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能提供各种AWS的storage向方便的接口协议,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,这个协议同样适合linux和windows系统。
      同样选择现有的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协议,实现了从windows上mount S3 bucket,方便进行读写。
    • 最后清理资源
相关推荐
海里的果13 分钟前
论文阅读笔记-<Alpamayo-R1 >
论文阅读·笔记
凌云若寒22 分钟前
BarTender提示#807错误:无法在拥有其他许可证的Licensing Service上激活节点锁定的 Professional 版许可证 的解决办法
运维·服务器·前端·学习·软件需求
浅念-1 小时前
动态规划专题:斐波那契数列模型 + 网格路径DP(LeetCode例题全解析)
笔记·算法·leetcode·面试·职场和发展·动态规划·推荐算法
爱吃苹果的日记本1 小时前
离散数学第七课
学习·离散数学
迪丽热爱1 小时前
多媒体应用31-914(计算机硬件与体系结构)
学习
dadaobusi2 小时前
学习:BPU
学习
ab1237682 小时前
OpenCV 学习笔记
笔记·opencv·学习
磁场转动100万匹3 小时前
Hive 学习第一天:搞懂它是什么,并搭好可用的环境
hive·hadoop·学习
dadaobusi3 小时前
RDMA最新进展
学习
我命由我123453 小时前
金融租赁极简理解
经验分享·学习·职场和发展·金融·求职招聘·职场发展·学习方法