弹性计算云EC2

亚马逊弹性计算云(Amazon Elastic Compute Cloud,Amazon EC2)是一项基于网络的服务。该服务可使企业用户在Amazon.com计算环境下运行应用程序。

EC2的基本架构

EC2基本架构

EC2的基本架构中主要包括了 Amazon 机器映象、实例、存储模块等组成部分,并能与S3等其他Amazon云计算服务结合使用。

Amazon机器映象(AMI)

Amazon机器映像(Amazon Machine Image,AMI)是包含了操作系统、服务器程序、应用程序等软件配置的模板

当用户使用EC2服务去创建自己的应用程序时,首先需要构建或获取相应的AMI

四种获取AMI的途径

  1. 免费使用 Amazon提供的公共 AMI
  2. 根据自身需要定制一个或多个私有 AMI
  3. 向开发者付费购买 AMI
  4. 使用其他开发者分享的共享 AMI

构建好的AMI分为Amaznon EBS支持和实例存储支持两类

实例(Instance)

EC2中实例由AMI启动,可以像传统的主机一样提供服务。同一个AMI可以用于创建具有不同计算和存储能力的实例。

Amazon提供了多种不同类型的实例,分别在计算、GPU、内存、存储、网络、费用等方面进行了优化

Amazon还允许用户在应用程序的需求发生变更时,对实例的类型进行调整,从而实现按需付费。

Amazon EC2还为实例提供了许多附加功能,帮助用户更好地部署和管理应用程序。

弹性块存储(EBS)

EBS存储卷的设计与物理硬盘相似,其大小由用户设定,目前提供的容量从1GB到1TB不等。

一个实例可以包含多个EBS

EBS存储卷适用于数据需要细粒度地频繁访问并持久保存的情形,适合作为文件系统或数据库的主存储。

快照功能是EBS的特色功能之一,用于在S3中存储Amazon EBS卷的时间点副本。

地理区域和可用区域

地理区域(Region Zone) 按照实际的地理位置划分:

美东(北佛吉尼亚)
美西(俄勒冈)
美西(北加利佛尼亚)
欧洲(爱尔兰)
亚太(新加坡)
亚太(东京)
亚太(悉尼)
南美(圣保罗)
美西服务政府的GovCloud区域
中国(北京)区域

可用区域(Availability Zone)

是否有独立的供电系统和冷却系统等

通常将每个数据中心看做一个可用区域

EC2系统中包含多个地理区域,而每个地理区域中又包含多个可用区域。为了确保系统的稳定性,用户最好将自己的多个实例分布在不同的可用区域和地理区域中。

EC2的通信机制

EC2通信机制

弹性负载平衡

弹性负载平衡功能允许EC2实例自动分发应用流量,从而保证工作负载不会超过现有能力,并且在一定程度上支持容错。

弹性负载平衡功能可以识别出应用实例的状态,当一个应用运行不佳时,它会自动将流量路由到状态较好的实例资源上,直到前者恢复正常才会重新分配流量到其实例上。

监控服务

Amazon CloudWatch提供了 AWS资源的可视化检测功能

  • EC2实例状态
  • 资源利用率
  • 需求状况
  • CPU利用率
  • 磁盘读取
  • 写入
  • 网络流量

用户只需要选择EC2实例,设定监视时间,CloudWatch就可以自动收集和存储检测数据

自动缩放

自动缩放可以按照用户自定义的条件,自动调整EC2的计算能力

需求高峰期:确保EC2实例的处理能力无缝增大

需求下降时:自动缩小EC2实例规模以降低成本

自动缩放功能特别适合周期性变化的应用程序,它由CloudWatch自动启动。

服务管理控制台

各项技术通过互相配合来实现 EC2的可扩展性和可靠性

服务管理控制台

EC2的安全及容错机制

安全组是一组规则,用户利用这些规则来决定哪些网络流量会被实例接受,其他则全部拒绝。

当用户的实例被创建时,如果没有指定安全组,则系统自动将该实例分配给一个默认组。

默认组只接受组内成员的消息,拒绝其他消息。

当一个组的规则改变后,改变的规则自动适用于组中所有的成员。

SSH安全

SSH是目前对网络上传输的数据进行加密的一种很可靠的协议,当用户创建一个密钥对时,密钥对的名称(Key Pair Name)和公钥(Public Key)会被存储在EC2中

EC2引入了弹性IP地址的概念

  • 弹性IP地址和用户账号绑定而不是和某个特定的实例绑定

  • 当系统正在使用的实例出现故障时,用户只需要将弹性IP地址通过网络地址转换NAT转换为新实例所对应的私有IP地址

  • 通过弹性IP地址改变映射关系总可以保证有实例可用