EC2(Elastic Compute Cloud)是AWS上的虚拟服务器,也是IaaS(Infrastructure as a Service)的核心服务。介绍Amazon EC2的特点及创建EC2的方法。

AWS EC2的特点

AWS EC2有灵活的定价结构,可以根据自己的需求选择AWS EC2规格。AWS EC2的规格包括CPU、内存、网络及临时磁盘。也可复制EC2,并在其他Region进行启动。

AWS EC2费用

AWS EC2的定价模式有 Spot实例,预留实例,按需实例。除此之外还有Savings Plans和专用主机(Bare Metal)进行付费。也可以使用AWS EDP(Enterprise Discount Program)节省整体的AWS费用。

在这里讨论Spot实例,预留实例,按需实例

Spot实例可以以按需价格的折扣价使用AWS EC2。这是因为在使用期间,根据现货使用容量的长期供需趋势逐步调整收费。它可以在预先指定的连续使用时间(最多 6 小时单位)内执行。有必要通过使用 Spot Instance Advisor 来考虑 Spot 实例是否适合您的 EC2 使用,这与按需定价进行比较。

预留实例是可以预测一定的使用量并承诺长期使用1或3年,AWS EC2预留实例与按需实例相比可以降低成本。

有两种类型,标准预留实例和可转换预留实例。一种具有较大折扣的付款方式,可一次性预付1年或3年的使用费,以及在使用时预付小额预付款。期末按小时打折计算的购买。您可以选择要支付的费用表。

按需实例允许您灵活使用AWS EC2,无需预付费用或签订合同。这是一种收费结构,其以60秒为单位对使用量进行收费。

适用于不可预测的工作负载、无法中断的应用程序以及开发期间的测试应用程序。价目表包括使用指定操作系统运行私有和公共Amazon系统映像(AMI)的费用。

可随时更改实例类型

AWS EC2有多种CPU、内存、网络吞吐量组合的实例类型,可根据服务器的工作负载更改实例类型实现ScaleUp。

目前可选择的实例类型有10多种,具体参照官方文档 EC2 Instance Types

快速部署,缩短时间

AWS EC2可以减少构建系统所需的时间。实例按类型提供,选择适合自己需求的处理器、存储、网络、操作系统和购买模式,选择实例类型之后的部署时间不会很长。

但在数据中心部署系统时,硬件采购构成一般比较长,上机柜,网络部署,安装系统也需要几天的时间。

可复制服务器

每个区域(Region)一般有3个可用区(Availability Zone),可用区可理解为数据中心,区域是由地理位置接近的几个数据中心组成。创建EC2的镜像(AMI)之后,同一个区域的话可以直接在不同的可用区启动,当需要跨区域时首先把镜像复制到该区域后,再使用镜像启动EC2即可。

创建AWS EC2

开始创建EC2之前,需要准备以下资源。

  • VPC: 决定将EC2部署在哪个VPC的哪个Subnet。一般将Subnet分为Public Subnet和Private Subnet。
  • 秘钥对: 访问EC2使用的秘钥。

创建VPC的方法,请参照 从零开始创建Amazon VPC(001) – AWS入门

创建秘钥对

访问AWS管理控制页面后选择EC2服务,并点击左侧栏的”网络与安全”下的”秘钥对”后,点击”创建秘钥对”。

输入并选择后,点击”创建秘钥对”。

  • 名称: 可输入任意的名称,创建EC2后用于登录服务器时使用,易于识别即可。
  • 秘钥对类型: 登录Linux或者Windowd系统,选择RSA即可。
  • 秘钥文件格式: 在这里选择.ppk,因为我喜欢使用Putty。如果你使用的是Teraterm请选择.pem。

点击”创建秘钥对”之后,会自动下载秘钥文件。切记保存好该秘钥文件。

启动新实例

点击左侧栏的”实例”之后,点击”启动新实例”开始创建EC2。

输入EC2实例的名称,创建之后也可修改。

AWS提供多种EC2实例类型,在这里没有特殊的需求,因此选择”Amazon Linux”。

根据需求选择适当地实例类型。在这里仅是为了做测试,因此选择免费套餐里可使用的t2.micro类型。免费套餐是注册AWS账户之后,AWS让我们可免费使用的服务,有一定的限制,但是运行t2.micro服务器1年是免费的,网络流量根据使用情况需要支付费用。

选择在上一步创建的秘钥对。

这里需要输入的信息较多,除了VPC和Subnet(子网)之外,创建EC2之后都可以修改。

  • VPC: 启动EC2之前自己创建的VPC或者默认VPC,AWS不推荐使用默认VPC。
  • 子网: 根据实际的项目需求不同,在这里选择的是Public Subnet。需要提前规划AWS上的网络及每个EC2部署的子网。
  • 安全组: AWS上的防火墙,该安全组可关联到多个EC2。安全组启到保护EC2作用,并且是有状态(Statefull)。
  • 自动分配共有IP: 启动EC2时,AWS会自动分配公网IP。创建EC2之后,创建”弹性IP”关联到EC2也可以。

Amazon Linux默认分配给系统卷分配8GB的EBS,在这里手动添加了2个4GB的EBS,最后该EC2有3个EBS卷。关于EBS卷的类型后面详说。

确认摘要内容无误之后,点击”启动实例”。

成功创建实例时,页面显示如下”成功”信息。

创建实例时,实例类型是AWS提前定义好的,我们无法自定义实例类型。但是存储部分(EBS)是,根据实际使用场景可自定义。实例类型预定义的有如下。
– vCPU: 1~448核
– 内存: 0.5~12288GiB
– 架构: i386、x86_64,arm64,x86_64
– 网络性能: Very Low,Low to Moderate,Moderate,High,3.12Gigabit,100Gigabit等

关于用于EC2的存储,选择之前参照Amazon EBS 卷类型

登录EC2

登录EC2之前,确认该EC2的”状态检查”结果为”2项检查已通过”。如果状态检查结果有失败,是无法登录EC2。

Putty上输入如下信息之后,登录EC2。

  • 用户名: Amazon Linux的默认用户 ec2-user
  • 认证方式: 选择 Private key file for authentication,并选择我们创建.ppk文件

登录后的页面如下。

介绍了在Amazon EC2的特点及AWS管理控制页面上创建EC2的方法。