文章目录
说明
- 学习自《云计算 第三版 刘鹏版》
EC2基本架构
- 弹性计算云服务(Elastic Compute Cloud,EC2)是AWS的重要组成部分,用于提供大小可调节的计算容量。
- Amazon EC2的基本架构,主要包括了Amazon机器映象、实例、存储模块等组成部分,并能与S3等其他Amazon云计算服务结合使用
Amazon机器映象(AMI)
- Amazon机器映像(Amazon Machine Image,AMI)是包含操作系统、服务器程序、应用程序等软件配置的模板,可以用于启动不同实例,进而像传统的主机一样提供服务。
- 当用户使用EC2服务去创建自己的应用程序时,首先需要构建或获取相应的AMI
- 构建好的AMI分为Amaznon EBS(弹性块存储)支持和实例存储支持
- 启动的实例的根设备分别为Amazon EBS卷和实例存储卷,后者依据Amazon S3中存储的模板而创建。
实例(Instance)
- EC2中实例由AMI(机器映像)启动,可以像传统的主机一样提供服务。同一个AMI可以用于创建具有不同计算和存储能力的实例。
- Amazon提供多种不同类型的实例,分别在计算、GPU、内存、存储、网络、费用等方面进行了优化
- Amazon还允许用户在应用程序的需求发生变更时,对实例的类型进行调整,从而实现按需付费。
- 每个实例自身携带一个存储模块,用于临时存储用户数据。但存储模块的数据仅在实例的生命周期内存在,如果实例出现故障或终止,数据将丢失。
弹性块存储(EBS)
- EBS存储卷的设计与物理硬盘相似,其大小由用户设定,目前提供的容量从1GB到1TB不等。同一个实例可以连接多个EBS,每个EBS同一时刻只能连接一个实例。
- EBS存储卷适用于数据需要细粒度 地频繁访问并持久保存的情形,适合作为文件系统或数据库的主存储。
- 通过快照在S3中存储Amazon EBS卷的时间点副本。
EC2关键技术
地理区域和可用区域
-
AWS中采用了两种区域(Zone):地理区域(Region Zone)和可用区域(Availability Zone) 。其中,地理区域是按照实际的地理位置划分的。而可用区域的划分则是根据是否有独立的供电系统和冷却系统等 ,这样某个可用区域的供电或冷却系统错误就不会影响到其他可用区域,通常将每个数据中心看做一个可用区域。
-
EC2系统中包含多个地理区域,而每个地理区域中又包含多个可用区域。为了确保系统的稳定性,用户最好将自己的多个实例分布在不同的可用区域和地理区域中。
EC2通信机制
-
EC2的实例一旦被创建就会动态地分配公共IP地址和私有IP地址
-
私有IP地址由动态主机配置协议(DHCP)分配产生
-
各个模块之间以及系统和外界之间的信息交互都通过IP地址进行
弹性负载均衡
-
弹性负载平衡功能允许EC2实例自动分发应用流量,从而保证工作负载不会超过现有能力,并且在一定程度上支持容错。
-
弹性负载平衡功能可以识别出应用实例的状态,当一个应用运行不佳时,它会自动将流量路由到状态较好的实例资源上,直到前者恢复正常才会重新分配流量到其实例上。
监控服务
- Amazon CloudWatch提供了AWS资源的可视化检测功能
- 用户只需要选择EC2实例,设定监视时间,CloudWatch就可以自动收集和存储检测数据
自动缩放
- 自动缩放可以按照用户自定义的条件,自动调整EC2的计算能力
- 需求高峰期:确保EC2实例的处理能力无缝增大
- 需求下降时:自动缩小EC2实例规模以降低成本
- 自动缩放功能特别适合周期性变化的应用程序,它由CloudWatch自动启动
服务管理控制台
- 基于web的控制环境,用于启动、管理EC2实例和提供各种管理工具和API接口。
- 各项技术通过互相配合来实现EC2的可扩展性和可靠性
EC2安全及容错机制
-
安全组是一组规则,用户利用这些规则来决定实例接受哪些网络流量。
-
当用户的实例被创建时,如果没有指定安全组 ,则系统自动将该实例分配给一个默认组。
-
默认组只接受组内成员的消息,拒绝其他消息。
-
当一个组的规则改变后,改变的规则自动适用于组中所有的成员。
- 用户在访问EC2时需要使用SSH(Secure Shell)密钥对(Key Pair)来登录服务。
- SSH是目前对网络上传输的数据进行加密的一种很可靠的协议
- 当用户创建一个密钥对时,密钥对的名称(Key Pair Name)和公钥(Public Key)会被存储在EC2中
- 在用户创建新的实例时,EC2会将它保存的信息复制一份放在实例的元数据(Metadata)中,然后用户使用自己保存的私钥(Private Key)就可以安全地登录EC2并使用相关服务。
EC2弹性IP地址
- 弹性IP地址和用户账号绑定而不是和某个特定的实例绑定
- 当系统正在使用的实例出现故障时,用户只需要将弹性IP地址通过网络地址转换NAT转换为新实例所对应的私有IP地址
- 通过弹性IP地址改变映射关系总可以保证有实例可用