EC2简介

EC2 (Amazon Elastic Compute Cloud)作为AWS云计算组件中充当计算资源的组件。

EC2的特性

  • EC2是AWS提供的一种计算服务,它以EC2实例(EC2 Instance)的形式存在,因此一个EC2实例可以被认为是一个虚拟机
  • 预配置的EC2镜像被称之为Amazon Machine Images (AMI),一个AMI包含了你打包的好操作系统,以及相应的应用程序和配置
  • 不同的EC2实例类型包含了不同的CPU,内存,存储和网络性能、
  • AWS默认以及建议使用密钥对(Key Pair)的形式访问EC2实例,AWS将保存公钥,您将负责保存私钥
  • EC2实例存储(Instance store volumes)是一种短暂性的存储,一旦您停止或者终止您的EC2实例,这个存储内的数据将永久消失
  • EBS存储(Amazon EBS volumes)是一种持续性的存储,不管EC2实例是什么状态,你都可以保留EBS存储内的数据。这种类型的存储对于进行数据盘的迁移非常方便,使用场景也比较多。
  • 安全组(Security Group)会通过检测数据包的端口、协议、源IP地址从而充当防火墙的作用
  • 弹性IP(Elastic IP address)可以方便您为您的EC2实例分配一个固定的公网IP地址,并且保证每次关机重启该地址依旧有效。
  • 虚拟私有云(Virtual Private Cloud, VPC)是AWS的网络组件,可以让你的AWS资源与其他用户的资源在逻辑上进行隔离。您也可以使用VPC与您的物理数据中心进行连接。

如何访问EC2

AWS提供了非常多的方法方便您来访问EC2实例

  • AWS 命令行(CLI)- 您可以通过一些终端软件并利用命令行的方式访问您的Windows,Mac和Linux实例
  • AWS EC2管理平台 – 您可以通过基于web的用户界面来访问您的EC2实例(通过java等插件)
  • AWS CLI工具 – 您可以通过AWS CLI工具来访问AWS的多个组件
  • Windows Powershell
  • AWS API
  • AWS SDK

EC2实例的计费类型

EC2的实例计费类型有很多种,每一种都有自己的使用场景,不同的客户可能对计费类型的需求也不一样。

  • On-Demand Instances (按需实例)
  • Reserved Instances (预留实例)
  • Spot Instances (竞价实例)
  • Scheduled Reserved Instances (计划的预留实例)
  • Dedicated Instances (专用的实例)
  • Dedicated Hosts(专用的主机)

On-Demand Instances (按需实例)

这是最基本的实例计费类型,也应该是使用率最高的类型了。这种实例是用多少收费多少,精确到秒。在实例处于停止状态的时候,AWS不会收取你关于EC2的任何费用。只有在实例处于运行状态的时候,才会产生花销。

这种EC2的实例类型非常灵活,你可以在任何时间和地点开启并使用你的实例,然后在不需要的时候将其终止(Terminate)。你的消费只取决于你使用的时间,而没有其他的额外成本或者初始投资成本。

在传统的数据中心内,如果你要部署一个新的应用程序,那么你可能需要先去申请购买硬件服务器,然后安装操作系统,物理接上网络甚至存储,安装和调试应用程序以及代码。这一系列的过程会消耗你几个月甚至大半年的时间。

而是用AWS EC2实例,你只需要一个浏览器,以及几分钟的操作就可以创建你所需要的应用程序了!

如果你不需要这个应用程序,直接将其删除即可。这样的模式特别适合初创企业开发新的应用程序并进行试错。

这也是云计算带来的优势。

On-Demand Instances (按需实例)总结特点如下:

  • 按秒收费(以前是按小时收费,现在AWS更改了),用多少收费多少
  • EC2实例可以根据业务需求实时增加或减少规模
  • 不会有昂贵的初始投资成本
  • 适合用来部署有突发性,爆发性流量的应用程序,比如双11
  • 适合用来测试和开发新的应用程序

Reserved Instances (预留实例)

这种预留实例你需要和AWS签订1年或3年的合同,并且会以单价低于同等规格的按需实例的价格买到预留的实例,可以无预付费用、预付部分费用或预付全费

如果你需要使用某种需要不间断运行(24x7x365)的应用程序,那么这种预留实例则会非常适合你,因为你会获得单位时间内最便宜的EC2实例。

1年的合同可以获得40%左右的折扣,3年的合同可以获得60%的折扣。

Reserved Instances (预留实例)总结特点如下:

  • 更低的每小时运行成本
  • 买断了一定的计算资源,不会出现AWS计算资源不足而无法创建EC2的情况
  • 费用在合同期内是固定的,因此费用可预期
  • 适合需要长期运行、稳定的、可预估的应用程序

目前预留实例还分两种类型,分别是标准RI可转换RI。可转换RI可以更改实例系列、操作系统、租期和付款选项,更加灵活,但是折扣率会比标准RI稍微少一些。

Spot Instances (竞价实例)

AWS的计算资源会提供给全球成千上万的客户,因为客户使用计算资源的程度不同,也会影响AWS的总体计算资源消耗的程度。AWS向客户提供的这种竞价实例的每小时价格是浮动的,在计算资源紧张的时候价格较高,在计算资源较为空闲的时候价格较低。

因此客户可以设定规则,在实例价格低于某个阀值的情况下申请并使用该实例,而达到最大的性价比。

这种实例一般比较适合仅进行计算和分析的任务,并且可以随时中断。

Spot Instances (竞价实例)总结特点如下:

  • 每个小时都会变化,依据是竞价实力的供需关系
  • 可以非常有效地降低运行EC2实例的成本(特别对于有大数量实例需求的情况下)
  • 在其上安装的应用程序随时可以中断,也就是数据和任务处理结果都需要保存在外部存储上
  • 对实例运行开始的时间没有太多要求

EC2实例的运行平台

目前,EC2上可以运行基于Windows和Linux操作系统的实例,不支持任何非X86架构的实例。

另外,在2017 Re:Invent会议上AWS发布了一种新型的实例,可以让你操作AWS的裸机(不含任何操作系统),因此方便你在上面直接安装类似VMware Esx的虚拟操作系统。

EC2的实例类型

目前,AWS提供了70种以上的不同类型的EC2实例,解决客户的不同需求,并且这个类型的数量在逐年增加。

总体来说,EC2的实例类型可以分为通用型、计算优化型、内存优化型、存储优化型、加速计算型

更高级别的实例会给你带来更多的CPU,内存,I/O,存储等等,当然价格也是越来越高。

举个例子,AWS提供的1年免费套餐中所包含的实例类型是t2.micro,这种实例类型提供了1个vCPU和1G的内存容量,而其他的参数例如网络,I/O则是所有在同一个物理主机中的实例一起共享的。