当前位置: 首页 > 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.日志等级…...

防火墙监控工具

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

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

如何为服务器生成TLS证书

TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

Spring Boot面试题精选汇总

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

企业如何增强终端安全?

在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...