AWS:2.根设备类型、EC2生命周期状态、User Data



主要内容

1.根设备类型
linux: /dev/sda1
windows: 系统盘
2.实例生命周期
生命周期状态:停止、终止、重启
3.用户数据(UserData)
实例在初始化,运行之前给定的用户数据让云主机自配置
根设备类型

实例存储作为根卷
也叫本地存储(EC2存储)
EBS存储作为根卷
也叫网盘,独立于EC2存储
确定实例类型

aws公有云有区域的概念,每个区域有多个可用区,每个可用区相当一个独立的机房,每个机房有多个单体服务器
本地存储和云主机放在同一个aws物理机上,而EBS存储和云主机放在不同aws物理机上,且EBS放在专门的存储主机上而且有备份

从性能看
因为网络的关系,本地磁盘读写快,EBS读写满
衡量EBS有两个重要指标:
IOPS: 每秒IO次数
吞吐量:每秒输出的字节数
从可用性看
EC2没了,本地磁盘也就没了
AMI镜像决定了实例存储作为根卷,还是EBS存储作为根卷
AMI镜像放在EBS中,则据其创建的云主机的根卷就放在EBS
如果要使用该镜像,则需拷贝一份出来创建EC2实例,否则该镜像会被覆盖
AMI镜像放在AWS S3中,则据其创建的云主机的根卷就放在实例存储(物理主机的本地磁盘)中

创建新云主机时,选择一个AMI镜像 ->页面左侧 -> 社区AMI -> 从操作系统、架构、根设备类型中的根设备类型选择"EBS"或者"实例存储"
当选EBS为根设备类型时
在选择实例类型界面中
通用类型,实例存储为EBS,附加存储也只能为EBS
在添加附加存储时,类型都是EBS
/dev/sda表示根卷,只能调整大小和存储类型(ssd)
/dev/sd[b-l]表示可以添加的附加存储
计算优化类型,实例存储为n*m(ssd)
在添加附加存储时,类型除了选EBS,还可以加m个实例存储
其中n*m(ssd)表示附加实例存储个数和每个存储的大小。n表示附加n个本地存储,m为每个本地存储为mG
注意:附加存储的目的是为了在架构方案中提高性能,例如做缓存
当选实例为根设备类型时
在选择实例类型界面中
实例存储为EBS都不能选了
在添加附加存储时
类型都是实例存储
设备可选/dev/sd[b-k],因为sda被用作根卷了,所以不显示
确定根卷的存储类型
找到实例,看实例的详细信息

EC2的生命周期

实例启动
运行实例,有两种方式:
1.从零构建后启动
2.构建后从stop状态启动
实例终止
实例销毁,数据不再保存到EC2,但附加存储上的数据会保存在EBS或这S3上
如果根卷是实例存储
删除EC2数据和实例存储
如果根卷是EBS存储
删除EC2数据,默认保留EBS存储
注意:是否保留EBS存储是由创建实例过程中的添加附加存储那一步来设置每个EBS存储的
实例停止
实例停止后,数据仍保存在EBS,可以启动后恢复
如果根卷是实例存储
不允许stop
本质原因是aws不希望用户在物理主机上保存数据来节省资源
如果根卷是EBS存储
允许stop
实例重启
方法:
1.在aws控制台点击"重启"按钮
2.远程登录后用reboot(linux)命令重启
建议用第一种方法,因为EC2会干预,强行重启
重启、终止和停止/启动的区别
重启:reboot
终止:ternimal
停止:stop
启动:start
从下面几个角度来说明几种状态的区别
底层物理主机
reboot:    实例不变
ternimal:  实例从物理主机上销毁
stop/start: 实例运行在新的主机上(EBS根卷)
私有/公有IP
reboot:    IP保留
ternimal:  IP消失
stop/start: VPC下:私有IP保留,公有IP更换
弹性IP
reboot:    IP保留
ternimal:  IP不关联实例。需要手动释放,不释放会产生费用
stop/start: VPC下:弹性IP保留
实例存储卷
reboot:    保留
ternimal:  消失
stop/start: 消失
EBS存储卷
reboot:    保留
ternimal:  保留或消失(在创建EC2时在附加存储一步指定)
stop/start: 保留
计费
reboot:    正常计费
ternimal:  实例不计费(但是弹性IP和EBS仍然计费)
stop/start: 停止不计费,开机后收取1小时费用
在界面上操作
选择实例 -> 操作 -> 实例状态
补充:"停用"表示aws的物理主机出现故障,我们作为用户没法处理

EC2用户数据

User Data
指定shell指令,EC2创建后启动进行预配置
创建实例的过程中,在"3.配置实例"一步的高级详细信息中
可以通过填入文本或上传文件的形式配置实例
例如选择填入文本
#!/bin/bash
echo "hello world" > hello.txt
在下面的步骤中,填写标签信息、选择已有的安全组以及密钥对
注意:这个脚本被root用户在/目录下执行
完成实例的初始化和启动后就能看到此效果
预配置实例
两种方式:
1.在安装实例时进行
2.安装实例后对停止实例,操作 -> 实例设置 -> 更改/查看用户数据
作用:安装软件、配置文件和配置数据,例如要做web站点
#!/bin/bash
yum -y install tomcat
使用User Data还是创建AMI
User Data:
创建实例时指定User Data,启动后执行里面的命令来预配置
创建AMI:
一台装好的EC2实例(例如php+mysql+tomcat),根据这个实例来创建AMI镜像,用这个AMI来创建新实例
从费用来说
User Data免费
AMI的存放需要花钱
从创建实例的效率来说
User Data每次都需要手动安装和配置软件
AMI在实例启动后就安装好环境了
有些客户明确启用时间有要求时建议用AMI
客户端登录EC2实例的方法
先创建弹性IP并给实例关联起来
windows客户端: putty,需要工具生成ppk文件(具体看AWS文档)
1.生成ppk文件
打开PuttyGen工具。点击Load加载.pem证书。点击Save private key来保存.ppk证书。
2.配置:
在Putty的设置Connection->SSH->Auth里添加.ppk证书
现在就可以使用Putty连接EC2的实例了,默认用户名是ec2-user。
linux客户端: ssh
ssh -i 证书.pem ec2-user@Instance的IP地址





posted @ 2014-05-10 15:34  tsw1107  阅读(1554)  评论(0编辑  收藏  举报