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,方便进行读写。
    • 最后清理资源
相关推荐
TMDOG66612 分钟前
TMDOG的Gin学习笔记_02——Gin集成支付宝支付沙箱环境
笔记·学习·gin
cliff,15 分钟前
【密码学】密钥管理
学习·安全·密码学
GeekAlice24 分钟前
算法笔记/USACO Guide GOLD金组Graphs并查集Disjoint Set Union
c++·经验分享·笔记·学习·算法
写代码的橘子n33 分钟前
软件工程笔记二—— 软件生存期模型
笔记·语言模型·软件工程
阿七想学习1 小时前
数据结构《链表》
java·开发语言·数据结构·学习·链表
VertexGeek1 小时前
Rust学习(三):rust基础Ⅱ
开发语言·学习·rust
南宫理的日知录2 小时前
106、Python并发编程:深入浅出理解线程池的内部实现原理
开发语言·python·学习·编程学习
A_cot2 小时前
一篇Spring Boot 笔记
java·spring boot·笔记·后端·mysql·spring·maven
懒惰的bit8 小时前
基础网络安全知识
学习·web安全·1024程序员节
2401_858286119 小时前
L7.【LeetCode笔记】相交链表
笔记·leetcode·链表