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

aws(学习笔记第九课) 使用AWS的网络存储EBS

aws(学习笔记第九课)

  • 使用AWS的网络存储EBS

学习内容:

  • 使用AWS的网络存储EBS

1.使用AWS的网络存储EBS

  1. EBS是什么
    EBSaws Elastic Block Store的缩写,就是AWS的弹性数据块存储。EBS有如下特点。
    • 它不属于EC2的一部分,独立存在。
    • 可以独立存在或者同一时间挂载到一个EC2实例上。
      注意,同一时间不能挂在到两个以及两个以上的EC2
    • 可以像普通的磁盘一样使用。
      在这里插入图片描述
  2. 练习使用EBS
    • 创建一个EBS,之后用EC2进行挂载。
      {
      	"AWSTemplateFormatVersion": "2010-09-09",
      	"Description": "(EBS)",
      	"Parameters": {
      		"KeyName": {
      			"Description": "Key Pair name",
      			"Type": "AWS::EC2::KeyPair::KeyName",
      			"Default": "my-cli-key"
      		},
      		"VPC": {
      			"Description": "Just select the one and only default VPC",
      			"Type": "AWS::EC2::VPC::Id"
      		},
      		"Subnet": {
      			"Description": "Just select one of the available subnets",
      			"Type": "AWS::EC2::Subnet::Id"
      		},
      		"AttachVolume": {
      			"Description": "Should the volume be attached?",
      			"Type": "String",
      			"Default": "yes",
      			"AllowedValues": ["yes", "no"]
      		}
      	},
      	"Mappings": {
      		"EC2RegionMap": {
      			"ap-northeast-1": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-cbf90ecb"},
      			"ap-southeast-1": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-68d8e93a"},
      			"ap-southeast-2": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-fd9cecc7"},
      			"eu-central-1": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-a8221fb5"},
      			"eu-west-1": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-a10897d6"},
      			"sa-east-1": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-b52890a8"},
      			"us-east-1": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-1ecae776"},
      			"us-west-1": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-d114f295"},
      			"us-west-2": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-e7527ed7"}
      		}
      	},
      	"Conditions": {
      		"Attached": {"Fn::Equals": [{"Ref": "AttachVolume"}, "yes"]}
      	},
      	"Resources": {
      		"SecurityGroup": {
      			"Type": "AWS::EC2::SecurityGroup",
      			"Properties": {
      				"GroupDescription": "My security group",
      				"VpcId": {"Ref": "VPC"},
      				"SecurityGroupIngress": [{
      					"CidrIp": "0.0.0.0/0",
      					"FromPort": 22,
      					"IpProtocol": "tcp",
      					"ToPort": 22
      				}]
      			}
      		},
      		"IamRole": {
      			"Type": "AWS::IAM::Role",
      			"Properties": {
      				"AssumeRolePolicyDocument": {
      					"Version": "2012-10-17",
      					"Statement": [
      						{
      							"Effect": "Allow",
      							"Principal": {
      								"Service": ["ec2.amazonaws.com"]
      							},
      							"Action": ["sts:AssumeRole"]
      						}
      					]
      				},
      				"Path": "/",
      				"Policies": [
      					{
      						"PolicyName": "ec2",
      						"PolicyDocument": {
      							"Version": "2012-10-17",
      							"Statement": [{
      								"Effect" : "Allow",
      								"Action" : ["ec2:DescribeVolumes", "ec2:CreateSnapshot", "ec2:DescribeSnapshots", "ec2:DeleteSnapshot"],
      								"Resource": "*"
      							}]
      						}
      					}
      				]
      			}
      		},
      		"IamInstanceProfile": {
      			"Type": "AWS::IAM::InstanceProfile",
      			"Properties": {
      				"Path": "/",
      				"Roles": [{"Ref": "IamRole"}]
      			}
      		},
      		"Server": {
      			"Type": "AWS::EC2::Instance",
      			"Properties": {
      				"IamInstanceProfile": {"Ref": "IamInstanceProfile"},
      				"ImageId": {"Fn::FindInMap": ["EC2RegionMap", {"Ref": "AWS::Region"}, "AmazonLinuxAMIHVMEBSBacked64bit"]},
      				"InstanceType": "t2.micro",
      				"KeyName": {"Ref": "KeyName"},
      				"SecurityGroupIds": [{"Ref": "SecurityGroup"}],
      				"SubnetId": {"Ref": "Subnet"}
      			}
      		},
      		"Volume": {
      			"Type": "AWS::EC2::Volume",
      			"Properties": {
      				"AvailabilityZone": {"Fn::GetAtt": ["Server", "AvailabilityZone"]},
      				"Size": "5",
      				"VolumeType": "gp2"
      			}
      		},
      		"VolumeAttachment": {
      			"Type": "AWS::EC2::VolumeAttachment",
      			"Condition": "Attached",
      			"Properties": {
      				"Device": "/dev/xvdf",
      				"InstanceId": {"Ref": "Server"},
      				"VolumeId": {"Ref": "Volume"}
      			}
      		}
      	},
      	"Outputs": {
      		"PublicName": {
      			"Value": {"Fn::GetAtt": ["Server", "PublicDnsName"]},
      			"Description": "Public name (connect via SSH as user ec2-user)"
      		},
      		"VolumeId": {
      			"Value": {"Ref": "Volume"},
      			"Description": "Volume id"
      		}
      	}
      }
      
      
    • 创建结果
      在这里插入图片描述
    • EBS上创建文件系统
      这里,还没有对EBS创建文件系统,接下来创建文件系统
      • 创建文件系统
        sudo mkfs -t ext4 /dev/xvdf
        
        在这里插入图片描述
      • 创建mount point进行挂载
        mkdir /mnt/volume
        mount /dev/xvdf /mnt/volume/
        
      • 确认mount情况
        在这里插入图片描述
      • touch文件在新的文件系统上 在这里插入图片描述
    • 尝试卸掉挂载
      • EBS最大的优点是独立于EC2,可以尝试将它umont
        sudo umount /mnt/volume
        
        更新cloudformation,将AttachVolume修改为No在这里插入图片描述
      • 可以查看更改集 在这里插入图片描述
      • 卸载之后,查看结果
        fdisk -l
        
        在这里插入图片描述
      • 更改AttachVolume,进行重新的Attach
        在这里插入图片描述
      • 查看Attach之后的结果
        在这里插入图片描述
      • 重新进行mount
        mount /dev/xvdf /mnt/volume/
        cd /mnt/volume/
        cat ebs.txt
        
        在这里插入图片描述

http://www.kler.cn/a/378817.html

相关文章:

  • 堆heap的讨论、习题与代码
  • openEuler 系统中 Samba 文件共享服务器管理(windows、linux文件共享操作方法)
  • liunx CentOs7安装MQTT服务器(mosquitto)
  • python 五子棋小游戏
  • 基于Spring Boot的中小型制造企业质量管理系统设计与实现,LW+源码+讲解
  • 再探“构造函数”(2)友元and内部类
  • Git 概述及相关命令(1)
  • 【小白学机器学习28】 统计学脉络+ 总体+ 随机抽样方法
  • 【Git】Git 版本控制与协作开发指南
  • 在VSCode中读取Markdown文件
  • 【linux-Day7】Vim的使用和简单配置
  • 前端技术月刊-2024.11
  • Google 地图类型
  • mysq-B+Treel(一)
  • 【HTML】——VSCode 基本使用入门和常见操作
  • zoho域名邮箱指南:如何设置优化烽火邮箱?
  • 学编程应该怎么写博客,有什么推荐的平台吗?
  • windows在两台机器上测试 MySQL 集群实现实时备份
  • 三十、Python基础语法(继承-下)
  • Shutdown Abort 强制关库,真的有可能起不来?
  • C++算法练习-day32——222.完全二叉树的节点个数
  • 宠物排泄物图像分割系统:高效目标识别
  • 开放式耳机什么品牌质量好?5款排行榜里的开放式蓝牙耳机
  • rnn/lstm 项目实战
  • 关于使用K8s实现容器化作业的总时效最优调度
  • 【设计模式】结构型模式(一):适配器模式、装饰器模式