Amazon Machine Image#Amazon Linux AMI

{{Short description|Virtual appliance used within Amazon EC2}}

An Amazon Machine Image (AMI) is a special type of virtual appliance that is used to create a virtual machine within the Amazon Elastic Compute Cloud (EC2). It serves as the basic unit of deployment for services delivered using EC2.{{cite web|url=http://aws.amazon.com/ec2/#functionality|title=Amazon EC2 Functionality|author=Amazon}}

__TOC__

Overview

Like all virtual appliances, the main component of an AMI is a read-only filesystem image that includes an operating system (e.g., Linux, Unix, or Windows) and any additional software required to deliver a service or a portion of it.{{cite web|url=http://docs.amazonwebservices.com/AmazonEC2/gsg/2006-06-26/creating-an-image.html|title=Creating an Image|author=Amazon|access-date=2009-03-27|archive-url=https://web.archive.org/web/20090403045744/http://docs.amazonwebservices.com/AmazonEC2/gsg/2006-06-26/creating-an-image.html|archive-date=2009-04-03}}

An AMI includes the following:

  • A template for the root volume for the instance (for example, an operating system, an application server, and applications)
  • Launch permissions that control which AWS accounts can use the AMI to launch instances
  • A block device mapping that specifies the volumes to attach to the instance when it's launched

The AMI filesystem is compressed, encrypted, signed, split into a series of 10 MB chunks and uploaded into Amazon S3 for storage. An XML manifest file stores information about the AMI, including name, version, architecture, default kernel id, decryption key and digests for all of the filesystem chunks.

Current AMIs are available for hardware virtualized machines (HVM){{cite web|url=https://aws.amazon.com/ec2/instance-types|title=Amazon EC2 Instance Types|access-date=21 March 2021}} where the operating system is installed as it would be on real hardware. With the still available older paravirtualized virtual machines (PV),{{cite web|url=https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html|title=Linux AMI virtualization types|access-date=21 March 2021}} an AMI did not include a kernel image, only a pointer to the default kernel id, which could be chosen from an approved list of safe kernels maintained by Amazon and its partners (e.g., Red Hat, Canonical, Microsoft). Users could choose kernels other than the default when booting an PVM AMI.[http://aws.amazon.com/blogs/aws/new-ec2-feature/ AWS Blog post announcing EC2 User Selectable Kernels]

Operating systems

When it launched in August 2006, the EC2 service offered Linux and later Sun Microsystems' OpenSolaris and Solaris Express Community Edition. In October 2008, EC2 added the Windows Server 2003 and Windows Server 2008 operating systems to the list of available operating systems.{{cite web

|url=http://news.cnet.com/8301-17939_109-10073696-2.html

|title=Amazon's Linux cloud computing out of beta, joined by Windows

|first=Stephen

|last=Shankland

|publisher=CNet News

|date=October 23, 2008

|access-date=October 24, 2008

}}{{cite web

|url=http://aws.amazon.com/windows/

|title=Amazon Elastic Compute Cloud (EC2) Running Microsoft Windows Server and SQL Server

|publisher=Amazon.com

|date=October 23, 2008

|access-date=October 25, 2008

| archive-url= https://web.archive.org/web/20081201023846/http://aws.amazon.com/windows/| archive-date= 1 December 2008 | url-status= live}} As of December 2010, it has also been reported to run FreeBSD;[http://www.daemonology.net/freebsd-on-ec2/ FreeBSD on EC2 status]. Daemonology.net. Retrieved on 2013-08-09. in March 2011, NetBSD AMIs became available.[http://blog.netbsd.org/tnf/entry/netbsd_now_runs_under_amazon NetBSD Blog]. Blog.netbsd.org (2011-03-13). Retrieved on 2013-08-09. In November 2012, Windows Server 2012 support was added.{{cite web

|url=http://aws.typepad.com/aws/2012/11/windows-server-2012-now-available-on-aws.html

|title=Windows Server 2012 Now Available on AWS

|publisher=Amazon.com

|date=November 19, 2012

|access-date=March 26, 2014

}}

= Amazon Linux AMI =

Amazon has its own Linux distribution that is largely binary compatible with Red Hat Enterprise Linux.{{cite web |title=AWS Developer Forums |url=https://forums.aws.amazon.com/thread.jspa?threadID=51647 |website=Amazon Linux AMI - what distro is this based on? |access-date=9 August 2019 |date=16 September 2019}} This offering has been in production since September 2011, and in development since 2010.{{cite web |url=http://readwrite.com/2011/09/27/amazons-linux-ami-is-all-grown/

|title=Amazon's Linux AMI is All Grown Up

|first=Joe

|last=Brockmeier

|publisher=readwriteweb

|date=September 27, 2011

|access-date=October 11, 2011}} The final release of the original Amazon Linux is version 2018.03{{cite web|url=https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/|title=Amazon Linux AMI 2018.03 Release Notes|work=Amazon Web Services|access-date=July 17, 2018}} and uses version 4.14 of the Linux kernel. Amazon Linux 2 changed from System V init system to systemd boot.{{cite web|url=https://aws.amazon.com/amazon-linux-2/faqs|title=Amazon Linux 2 FAQs|access-date=21 March 2021}} It was announced in June 2018, and is updated on a regular basis.{{cite web|url=https://aws.amazon.com/about-aws/whats-new/2018/06/announcing-amazon-linux-2-with-long-term-support/|title=Announcing Amazon Linux 2 with Long Term Support|date=26 June 2018|work=Amazon Web Services|access-date=10 February 2020}}

Amazon Linux 2023 was the next version, which launched alongside a new two-yearly release cadence. It comes with various kernel hardening features, and also enables kernel live patching.

Types of images

  • Public: an AMI that can be used by anyone.
  • Paid: a for-pay AMI that is registered with Amazon DevPay and can be used by anyone who subscribes for it. DevPay allows developers to mark-up Amazon's usage fees and optionally add monthly subscription fees.
  • Shared: a private AMI that can only be used by Amazon EC2{{Cite web |url=https://digitalcloud.training/amazon-ec2/ |title=Amazon EC2 – web service that provides compute capacity in the cloud|date=5 January 2022 }} users who are allowed access to it by the developer.

References

{{Reflist|30em}}