Linux Amazon Machine Images use one of two types of
virtualization:
a) Paravirtual (PV)
b) Hardware virtual machine (HVM).
The main difference between PV and HVM AMIs is the way
in which they boot and whether they can take advantage of special hardware
extensions (CPU, network, and storage) for better performance.
For the best performance, we recommend that you use
current generation instance types and HVM AMIs when you launch your instances.
HVM AMIs
HVM AMIs are presented with a fully virtualized set of
hardware and boot by executing the master boot record of the root block device
of your image. This virtualization type provides the ability to run an
operating system directly on top of a virtual machine without any modification,
as if it were run on the bare-metal hardware.
HVM guests can take advantage of
hardware extensions that provide fast access to the underlying hardware on the
host system. HVM AMIs
can take advantage of enhanced networking and GPU processing. (In
order to pass through instructions to specialized network and GPU devices, the
OS needs to be able to have access to the native hardware platform; HVM
virtualization provides this access)
All current generation instance types support HVM
AMIs. The CC2, CR1, HI1, and HS1 previous generation instance types support HVM
AMIs.
To find an HVM AMI, verify that the virtualization
type of the AMI is set to HVM, using the console or the describe-images
command.
PV AMIs
PV AMIs boot with a special boot loader called
PV-GRUB, which starts the boot cycle and then chain loads the kernel specified
in the menu.lst (menu.lst -> ./grub.conf) file on your image. Paravirtual
hosts cannot take advantage of special hardware extensions
such as enhanced networking or GPU processing.
The C3 and M3 current generation instance types
support PV AMIs. The C1, HI1, HS1, M1, M2, and T1 previous generation instance
types support PV AMIs.
To find a PV AMI, verify that the virtualization type
of the AMI is set to paravirtual, using the console or the describe-images
command.
PV on HVM
Paravirtual guests
traditionally performed better with storage and network operations than HVM
guests because they could leverage special drivers for I/O that avoided the
overhead of emulating network and disk hardware, whereas HVM guests had to
translate these instructions to emulated hardware.
Now these PV drivers are
available for HVM guests, so operating systems that cannot be ported to run in
a paravirtualized environment (such as Windows) can still see performance
advantages in storage and network I/O by using them. With these PV on HVM
drivers, HVM guests can get the same, or better, performance than paravirtual
guests.
AMI Launch Permissions
Public - Launch permission to all
Explicit - Launch permission to special AWS accounts
Implicit - Only owner can launch
How are you charged AMI Launch Permissions
With Instance store AMI every time you customize and create new one all the parts are stored
in Amazon S3 for each AMI. So storage footprint for each customized AMI is full
size of AMI.
For EBS backed AMI each time you customize and create
new one only the changes are stored for
subsequent AMI. resulting in low storage.
We can convert instance store AMI to EBS backed AMI but
lot of steps need to be followed.
Copying of AMI is not chargeable.
launch pemrission, user defined tags or s3 permission
or not copied from source AMI o new AMI.
Making AMI public will take some time and available
only to that region.
You can create boot strap script to customize your AMI to install software on startup