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,方便进行读写。
    • 最后清理资源
相关推荐
霑潇雨15 分钟前
Spark学习基础转换算子案例(单词计数(WordCount))
java·大数据·分布式·学习·spark·maven
TANGLONG22224 分钟前
【C++】继承详解——基类/派生类、作用域、默认函数、菱形继承(超详细)
java·c语言·c++·经验分享·笔记·ajax
eastyuxiao1 小时前
数字孪生教程(软件篇)官方学习路径
大数据·人工智能·学习·数字孪生
小徐学编程-zZ1 小时前
拆解业务逻辑分析
数据库·学习
知识分享小能手1 小时前
R语言入门学习教程,从入门到精通,R语言获取数据 (7)
开发语言·学习·r语言
木木_王1 小时前
嵌入式学习 | STM32裸板驱动开发(Day01)入门学习笔记(超详细完整版|点灯实验 + 库函数代码 + 原理全解)
linux·驱动开发·笔记·stm32·学习
JAVA面经实录9171 小时前
Java架构师最终完整版学习路线图
java·开发语言·学习
叶子野格1 小时前
数据集网站kaggle注册无验证码选项?
学习
largecode2 小时前
能不能让座机号码显示“XX公司”那样的认证名称?申请号码认证方法
经验分享·笔记·音视频·课程设计·oneapi·segmentfault·微信开放平台
for_ever_love__2 小时前
UI学习:数据驱动ce l l
学习·ui·ios·objective-c