Amazon Machine Image (AMI) 是亚马逊AWS提供的系统镜像,该镜像包含了启动实例时所需要的必需信息。在创建一个EC2实例的时候,你必须选择一个AWS AMI。可以理解一个AMI是一个刻录好的系统光盘。

这个AMI包含了如下的信息:

  • 由实例的操作系统、应用程序和应用程序相关的配置组成的模板
  • 一个指定的需要在实例启动时附加到实例的卷的信息(比方说定义了使用8 GB的General Purpose SSD卷)

下图所示的是AMI的生命周期,你可以创建并注册一个AMI,并且可以使用这个AMI来创建一个EC2实例。同时你也可以将这个AMI复制到同一个AWS区域或者不同的AWS区域。你同样也可以注销这个AMI镜像。

imx6镜像生成工具 ami镜像_AWS

你可以在AWS Marketplace下载厂家的官方AMI(比方说思科,SAP,微软等公司),或者可以在社区市场下载公共开放的AMI。你也可以制作AMI放到社区市场上。

Amazon Linux AMI

亚马逊AWS提供了一种官方的基于Linux操作系统的AMI,这个AMI能提供以下的功能:

  • 稳定、安全和高效的执行环境。
  • 不需要额外的费用(某些厂家软件会在对AMI的使用收取按小时的一定计费)
  • 预装了编程语言Python, Ruby, Perl和Java等
  • 预装了Docker, PHP, MySQL,  PostgreSQL等常用的应用包
  • 预装了AWS CLI工具,Amazon EC2 API和AMI工具等等

EBS快照

你可以通过创建一个关于EBS的快照将Amazon EBS卷上的数据备份起来,方便之后基于该快照创建新的EBS卷。快照还有如下特点:

  • 备份的快照将会保存在亚马逊S3 (Simple Storage System)
  • EBS快照属于增量备份,即第二次之后的快照只会更新变化了的那一部分数据
  • 你可以在EC2实例运行的状态下进行EBS的快照操作,但会给EC2的系统带来一定延迟(CPU,内存利用率会变高)
  • 最佳实践是将EC2实例停止,然后将EBS从EC2上卸载下来,进行快照操作
  • 你可以基于EBS快照在同一个AWS区域创建新的EBS卷,这个卷可以是任何EBS类型,任何支持的大小
  • 你也可以将快照复制到其他AWS区域
  • 你可以将快照共享给其他的AWS用户
  • 加密的EBS卷在创建快照后,该快照也会被自动加密
  • 通过加密快照创建的EBS也是自动加密的
  • 在复制未加密的快照时,你可以在复制过程中对其加密

AMI和EBS快照的使用场景

有几个比较常见的场景会需要你使用AMI和EBS快照的功能。

如果你想将一个EC2实例从一个AWS区域迁移到另一个AWS区域,你需要:

  1. 创建基于这个EC2实例的AMI
  2. 将这个AMI进行复制,复制到另一个AWS区域
  3. 通过这个AMI创新创建一个EC2实例
  4. 充当数据盘的EBS也需要做EBS快照
  5. 将这个EBS快照进行复制,复制到另一个AWS区域
  6. 通过这个EBS快照创建EBS卷,并且依附到EC2实例上去

如果你想复制一个EBS卷到该AWS区域的不同可用区,你可以:

  1. 创建一个EBS快照
  2. 通过EBS快照创建一个新的EBS卷,并且定义大小、卷类型、是否加密等属性