当前位置: 首页 > news >正文

AWS——02篇(AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储)

AWS——02篇(AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储)

  • 1. 前言
  • 2. 关于Amazon EFS
    • 2.1 Amazon EFS全称
    • 2.2 什么是Amazon EFS
    • 2.3 优点和功能
    • 2.4 参考官网
  • 3. 创建文件系统
    • 3.1 创建 EC2 实例
    • 3.2 创建文件系统
  • 4. 在Linux实例上挂载Amazon EFS文件系统
    • 4.1 查看如何挂载
    • 4.2 连接EC2实例
    • 4.3 安装amazon-efs-utils
    • 4.4 创建efs目录
    • 4.5 执行挂载命令进行挂载
  • 5. 简单使用
    • 5.1 简单演示一下写与读
  • 6. 遇到的问题
    • 6.1 执行挂载命令超时
      • 6.1.1 问题描述
      • 6.1.2 解决问题——新建安全组
      • 6.1.3 关于2049的备注

1. 前言

  • 关于AWS及EC2的入门,请看上篇文章,如下:
    AWS——01篇(AWS入门 以及 AWS之EC2实例及简单实用).

2. 关于Amazon EFS

2.1 Amazon EFS全称

  • 如下:
    • Amazon Elastic File System
    • Amazon Elastic File System,可扩展且有弹性的原生云 NFS 文件系统
    • Amazon Elastic File System (Amazon EFS)面向通用工作负载提供了一个简单、可扩展且有弹性的文件系统,可与 AWS 云服务和本地资源结合使用。

2.2 什么是Amazon EFS

  • 简单解释
    • Amazon EFS 是一种云原生数据存储,可为基于Linux的业务应用程序提供简单的可扩展共享文件存储,它可以增长到PB(petabytes),同时提供一致的低遗留数据和高水平的吞吐量,而且它是完全托管的,所以不必担心持续维护Amazon EFS。
    • 易于设置,只需使用AWS管理控制平台 API 或命令界面即可创建文件系统,并使其可安全地供您的 EC2 实例的一台或多台 Amazon VPC 使用,然后挂载你的文件系统来存储和访问数据,你也可以使用AWS direct connect 或 AWS VPN将本地服务器挂载到EFS,轻松将数据迁移到EFS启用云爆发 或将本地数据备份到EFS。
    • EFS文件系统具有弹性,可以在你添加和删除文件时,自动增长和收缩,你可以在两种性能模式之间进行选择,以便根据应用程序需求定制文件系统性能,文件系统的吞吐量会随着容量的增长而自动扩展。对于具有高吞吐量要求和低容量需求的工作负载,吞吐量可以独立于容量进行配置,但频率较低,你可以将 EFS 配置为将数据存储在成本优化的不频繁访问存储类中。
    • Amazon EFS 可与你已使用的工具和应用程序配合使用,它专为实现高可用性和持久性而设计,通过EFS可以跨多个可用区存储你冗余的数据。你可以始终这样,当你需要时提供所需的容量,而无需提前预置存储。
    • 只为您使用的内容付费,没有最低费用或设置成本,它消除了存储管理任务。
  • 总之,概括起来就是:
    Amazon Elastic File System (Amazon EFS)提供的是简单、可扩展、完全托管的弹性 NFS 文件系统,可与 AWS 云服务和本地资源结合使用。它可在不中断应用程序的情况下按需扩展至 PB 级,并可在您添加和删除文件时自动扩展或缩减,从而使您无需预置和管理容量便可适应文件系统的增长。Amazon EFS 旨在提供对数千个 Amazon EC2 实例的大规模并行共享访问,使您的应用程序能够始终以低延迟实现高水平的聚合吞吐量和 IOPS。

2.3 优点和功能

  • 动态弹性
    Amazon EFS 可在您添加或删除文件时自动即时地扩大或缩小您的文件存储容量,不会中断您的应用程序,可在您需要时为您提供所需的存储空间。您只需创建文件系统和开始添加文件,无需提前预置存储。
  • 可扩展的性能
    Amazon EFS 旨在提供通用工作负载所需的吞吐量、IOPS 和低延迟。吞吐量和 IOPS 可以随文件系统增长而扩展,并且可以在短时间内突增到较高的吞吐量水平,以支持不可预测的文件工作负载性能需求。对于最苛刻的工作负载,Amazon EFS 可以支持超过 10 GB/秒的性能和高达 500000 次 IOPS。
  • 完全托管
    Amazon EFS 是一项完全托管型服务,可为通用工作负载提供共享文件系统存储。它提供简单的界面,可使您快速创建和配置文件系统并为您管理文件存储基础设施,从而消除部署、修补和维护文件系统基础的复杂性。
  • 共享文件存储
    Amazon EFS 可为数千个连接提供安全访问。Amazon EC2 实例和本地服务器可以使用传统的文件许可模型、文件锁定功能和分层目录结构通过 NFSv4 协议同时访问 Amazon EFS 共享文件系统。Amazon EC2 实例可以跨可用区AWS 区域访问您的文件系统,而本地服务器可以使用 AWS Direct Connect 或 AWS VPN 进行访问。

2.4 参考官网

  • 官网地址:https://aws.amazon.com/cn/.

3. 创建文件系统

3.1 创建 EC2 实例

  • 我这里已经创建过,具体怎么操作,请看上篇文章:
    AWS——01篇(AWS入门 以及 AWS之EC2实例及简单实用).
  • 查看EC2实例
    在这里插入图片描述
  • 查看VPC ID,后面创建文件系统的时候,默认直接选这个
    在这里插入图片描述

3.2 创建文件系统

  • 创建如下:
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

4. 在Linux实例上挂载Amazon EFS文件系统

4.1 查看如何挂载

  • 首先:
    在这里插入图片描述

  • 然后:
    在这里插入图片描述

  • 接着
    在这里插入图片描述

  • 最后,打开帮助文档
    文档地址:

    https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-mount-helper-ec2-linux.html
    

    在这里插入图片描述

4.2 连接EC2实例

  • 连接两个EC2实例,一个是 Amazon Linux 2023 ,一个是 Amazon Linux 2 AMI(具体怎么连接,看上篇文章),如下:
    在这里插入图片描述
    在这里插入图片描述

4.3 安装amazon-efs-utils

  • 安装参考地址:
    https://docs.aws.amazon.com/efs/latest/ug/installing-amazon-efs-utils.html
    
  • 安装命令:
    sudo yum install -y amazon-efs-utils
    
    在这里插入图片描述
  • 安装如下:
    sudo -s
    yum install -y amazon-efs-utils
    
    在这里插入图片描述

4.4 创建efs目录

  • 使用以下命令创建一个目录efs,作为文件系统的挂载点,如下:

    mkdir efs
    

    在这里插入图片描述

4.5 执行挂载命令进行挂载

  • 复制挂载命令,如下:
    sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport 文件挂载系统的DNS名称:/ efs
    
    在这里插入图片描述
    在这里插入图片描述
  • 执行挂载命令,挂载成功的话,如下
    df -h
    
    在这里插入图片描述
    此步骤如有问题,请参考看下面的 《6. 遇到的问题》,找对应的解决方案。
  • 挂载第二台EC2实例
    用同样的方法,将另一台EC2实例也挂载上去,不多说了。

5. 简单使用

5.1 简单演示一下写与读

  • 如下,可以看到,在一台EC2实例上写入的数据,在另一台EC2实例上可以读到(前提是:挂载了EFS),删除也是没问题的,都是弹性的。
    在这里插入图片描述

6. 遇到的问题

6.1 执行挂载命令超时

6.1.1 问题描述

  • 问题描述,如下:
    mount.nfs4: Connection timed out
    
    在这里插入图片描述

6.1.2 解决问题——新建安全组

  • 开放哪个端口呢?2049,如下:
    在这里插入图片描述
    接下来就继续吧……
  • 首先,查看EFS系统所用的安全组,发现用的是默认安全组,如下:
    在这里插入图片描述
  • 然后,我们查看此安全组的入站规则
    在这里插入图片描述
    在这里插入图片描述
    端口范围已经是全部,为啥不行呢?不知道,新建一个安全组试试吧……
  • 然后,再新建安全组,如下:
    在这里插入图片描述
    在这里插入图片描述
  • 修改EFS系统的安全组,如下:
    在这里插入图片描述
  • 修改完成之后,然后再执行挂载命令,问题解决,如下:
    在这里插入图片描述

6.1.3 关于2049的备注

  • EC2 实例 和 EFS系统可以不用同一个安全组,上面我的EC2实例还是之前的创建的安全组,即EC2实例不用开放 2049 端口。

相关文章:

AWS——02篇(AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储)

AWS——02篇(AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储) 1. 前言2. 关于Amazon EFS2.1 Amazon EFS全称2.2 什么是Amazon EFS2.3 优点和功能2.4 参考官网 3. 创建文件系统3.1 创建 EC2 实例3.2 创建文件系统 4. 在Linux实例上挂载…...

FFmpeg 打包mediacodec 编码帧 MPEGTS

在Android平台上合成视频一般使用MediaCodec进行硬编码,使用MediaMuxer进行封装,但是因为MediaMuxer支持格式有限,一般会采用ffmpeg封装,比如监控一般使用mpeg2ts格式而非MP4,这是因为两者对帧时pts等信息封装差异导致应用场景不同…...

软件测试如何推进项目进度?

在软件研发中,有一种思想叫TDD,即测试驱动开发,TDD是敏捷方法中的一项核心实践,其原理是在开发功能代码之前,先编写单元测试用例代码,对要编写的函数或类明确测试方法后,再进行设计与编码。 本…...

首次尝试鸿蒙开发!

今天是我第一次尝试鸿蒙开发,是因为身边的学长有搞这个的,而我也觉得我也该拓宽一下技术栈! 首先配置环境,唉~真的是非常心累,下载一个DevEco Studio 3.0.0.993,然后配置环境变量这些操作不用多说&#xff…...

前端面试题-react

1 React 中 keys 的作⽤是什么? Keys 是 React ⽤于追踪哪些列表中元素被修改、被添加或者被移除的辅助标识在开发过程中,我们需要保证某个元素的 key 在其同级元素中具有唯⼀性。在 React Diff 算法中 React 会借助元素的 Key 值来判断该元素是新近创建…...

EIP-2535 Diamond standard 实用工具分享

前段时间工作对接到了这标准的协议,于是简单介绍下这个标准分享下方便前端er使用的调用工具 一、标准的诞生 在写复杂逻辑的solidity智能合约时,经常会碰到两个问题,升级和合约大小限制。 升级目前有几种proxy模式,通过delegateca…...

【LangChain】向量存储(Vector stores)

LangChain学习文档 【LangChain】向量存储(Vector stores)【LangChain】向量存储之FAISS 概要 存储和搜索非结构化数据的最常见方法之一是嵌入它并存储生成的嵌入向量,然后在查询时嵌入非结构化查询并检索与嵌入查询“最相似”的嵌入向量。向量存储负责存储嵌入数…...

Debian/Ubuntu 安装 Chrome 和 Chrome Driver 并使用 selenium 自动化测试

截至目前,Chrome 仍是最好用的浏览器,没有之一。Chrome 不仅是日常使用的利器,通过 Chrome Driver 驱动和 selenium 等工具包,在执行自动任务中也是一绝。相信大家对 selenium 在 Windows 的配置使用已经有所了解了,下…...

[SQL挖掘机] - 窗口函数 - 合计: with rollup

介绍: 在sql中,with rollup 是一种用于在查询结果中生成小计和总计的选项。它可以与 group by 子句一起使用,用于在分组查询的结果中添加附加行。 with rollup 的作用是为每个指定的分组列生成小计,并在最后添加一行总计。这样,…...

远程控制平台一之推拉流的实现

确定框架 在选用推拉流框架的时候,有了解过nginx+rtmp/rtsp,Janus,以及其他开源的推拉流框架,要么是延迟严重(延迟一分多钟),要么配置复杂,而且这些框架对于只是转发远程画面这个简单需求来说,过于庞大了。机缘巧合之下,我了解到了一个简单易用的框架,就是ZeroMQ的…...

RTT(RT-Thread)线程管理(1.2W字详细讲解)

目录 RTT线程管理 线程管理特点 线程工作机制 线程控制块 线程属性 线程状态之间切换 线程相关操作 创建和删除线程 创建线程 删除线程 动态创建线程实例 启动线程 初始化和脱离线程 初始化线程 脱离线程 静态创建线程实例 线程辅助函数 获得当前线程 让出处…...

你真的会自动化吗?Web自动化测试-PO模式实战,一文通透...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 PO模式 Page Obj…...

C# 使用堆栈实现队列

232 使用堆栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(、、、):pushpoppeekempty 实现 类:MyQueue void push(int x)将元素 x 推到队列的末尾 int pop()从队列的开头移除并返回元素 in…...

git操作:修改本地的地址

Windows下git如何修改本地默认下载仓库地址 - 简书 (jianshu.com) 详细解释: 打开终端拉取git时,会默认在git安装的地方,也就是终端前面的地址。 需要将代码 拉取到D盘的话,现在D盘创建好需要安放代码的文件夹,然后…...

【以图搜图】Python实现根据图片批量匹配(查找)相似图片

目的:可以解决在本地实现根据图片查找相似图片的功能 背景:由于需要查找别人代码保存的图像的命名,但由于数据集是cifa10图像又小又多,所以直接找很费眼睛,所以实现用该代码根据图像查找图像,从而得到保存…...

【无标题】JSP--Java的服务器页面

jsp是什么? jsp的全称是Java server pages,翻译过来就是java的服务器页面。 jsp有什么作用? jsp的主要作用是代替Servlet程序回传html页面的数据,因为Servlet程序回传html页面数据是一件非常繁琐的事情,开发成本和维护成本都非常高…...

【Linux】进程间通信——system V共享内存 | 消息队列 | 信号量

文章目录 一、system V共享内存1. 共享内存的原理2. 共享内存相关函数3. 共享内存实现通信4. 共享内存的特点 二、system V消息队列(了解)三、system V信号量(信号量) 一、system V共享内存 1. 共享内存的原理 共享内存是一种在…...

CentOS实现html转pdf

CentOS使用实现html转PDF,需安装以下软件: yum install wkhtmltopdf # 转换工具,将HTML文件或网页转换为PDFyum install xorg-x11-server-Xvfb # 虚拟的X服务器,在无图形界面环境下运行图形应用程yum install wqy-zenhei-fonts #…...

【C++】基于多设计模式下的同步异步日志系统

✍作者:阿润021 📖专栏:C 文章目录 一、项目介绍二、项目实现准备工作1.日志系统技术实现策略2.相关技术知识补充2.1 不定参函数设计2.2 设计模式 三、日志项目框架设计1.模块划分2.各模块关系图 四、详细代码实现1.实用工具类设计2.日志等级…...

防火墙监控工具

防火墙监控是跟踪在高效防火墙性能中起着关键作用的重要防火墙指标,防火墙监控通常应包括: 防火墙日志监控防火墙规则监控防火墙配置监控防火墙警报监控 防火墙监控服务的一个重要方面是它应该是主动的。主动识别内部和外部安全威胁有助于在早期阶段识…...

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...