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则是所有在同一个物理主机中的实例一起共享的。