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,方便进行读写。
    • 最后清理资源
相关推荐
weixin_307779132 小时前
Azure上基于OpenAI GPT-4模型验证行政区域数据的设计方案
数据仓库·python·云计算·aws
CSDN_PBB4 小时前
[STM32 - 野火] - - - 固件库学习笔记 - - - 十五.设置FLASH的读写保护及解除
笔记·stm32·学习
鸡啄米的时光机7 小时前
vscode的一些实用操作
vscode·学习
Kai HVZ8 小时前
《深度学习》——调整学习率和保存使用最优模型
人工智能·深度学习·学习
守护者1708 小时前
JAVA学习-练习试用Java实现“使用Apache Ignite对大数据进行内存计算和快速筛查”
java·学习
夜流冰9 小时前
编程参考 - C语言可变参数
笔记
格雷亚赛克斯9 小时前
Qt笔记31-69
数据库·笔记·qt
Long_poem9 小时前
【自学笔记】版本控制与持续集成基础知识点总览-持续更新
笔记·ci/cd
Stream٩( 'ω' )و10 小时前
109~133笔记
笔记
weixin_5025398510 小时前
rust学习笔记2-rust的包管理工具Cargo使用
笔记·学习·rust