Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's AMI ImageType?

There is a image-type in describe-images filter, and an ImageType in response, however no information about what it stands for, and cannot find any information by googling.

There are three types: machine, kernel, ramdisk, what do they mean?

like image 235
Xilang Avatar asked Oct 28 '14 09:10

Xilang


1 Answers

If you are just using AMI images provided by someone else, you can just ignore them -- you'll only need to use the AMI identifier when booting new instances.

A bit more detailed answer: The ramdisk image (ARI) and kernel image (AKI) are used as part of the boot sequence of a Linux instance.

More accurately:

  • Hardware virtualized (HVM) instances do not use ARI or AKIs at all. All of the boot sequence is part of the AMI itself. This includes both EBS and instance-store backed instance types.
  • Paravirtualized (PV e.g. running on Xen) EBS-backed instances need an AKI, and paravirtualized instance-backed instances need both AKI and ARI.

While AMIs are always unique, AKI/ARIs can be reused. For example, the aki-88aa75e1 kernel image is used by (in us-east-1, public images) by 5413 AMIs and the ramdisk ari-a51cf9cc by 683 AMIs. Both of these images are provided by Amazon and are thus trusted by others when they're building AMIs. Also if you bundle an instance-store/paravirtualized machine as an AMI it'll will inherit ARI and AKI from original AMI so many people publishing AMIs will implicitly re-use those.

Also note that Windows requires HVM, so ARI/AKI are not applicable to Windows instances at all.

Some links for more information:

  • https://forums.aws.amazon.com/thread.jspa?threadID=84096
  • http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html
like image 181
Santeri Paavolainen Avatar answered Sep 30 '22 22:09

Santeri Paavolainen