Creating an Instance Store-Backed Windows AMI
To create an instance store-backed Windows AMI, first launch and customize a Windows instance, then bundle the instance, and register an AMI from the manifest that's created during the bundling process.
The only Windows AMIs that can be backed by instance store are those for Windows Server 2003. Instance store-backed instances don't have the available disk space required for later versions of Windows Server.
You can only bundle an instance store-backed Windows instance using this procedure. If you need to create an instance store-backed Linux AMI, see Creating an Instance Store-Backed Linux AMI in the Amazon EC2 User Guide for Linux Instances.
The AMI creation process is different for Amazon EBS-backed AMIs. For more information about the differences between Amazon EBS-backed and instance store-backed instances, and how to determine the root device type for your instance, see Root Device Volume. If you need to create an Amazon EBS-backed Windows AMI, see Creating an Amazon EBS-Backed Windows AMI.
Instance Store-Backed Windows AMIs
Instances launched from an AMI backed by instance store use an instance store volume as the root device volume. The image of the root device volume of an instance store-backed AMI is initially stored in Amazon S3. When an instance is launched using an instance store-backed AMI, the image of its root device volume is copied from Amazon S3 to the root partition of the instance. The root device volume is then used to boot the instance.
When you create an instance store-backed AMI, it must be uploaded to Amazon S3. Amazon S3 stores data objects in buckets, which are similar in concept to directories. Buckets have globally unique names and are owned by unique AWS accounts.
The bundling process comprises the following tasks:
Compress the image to minimize bandwidth usage and storage requirements.
Encrypt and sign the compressed image to ensure confidentiality and authenticate the image against its creator.
Split the encrypted image into manageable parts for upload.
Sysprepto strip computer-specific information (for example, the MAC address and computer name) from the Windows AMI to prepare it for virtualization.
Create a manifest file that contains a list of the image parts with their checksums.
Put all components of the AMI in the Amazon S3 bucket that you specify when making the bundle request.
It is important to remember the following details about the storage for your instance when you create an instance store-backed AMI:
The root device volume (C:) is automatically attached when a new instance is launched from your new AMI. The data on any other instance store volumes is deleted when the instance is bundled.
The instance store volumes other than the root device volume (for example, D:) are temporary and should be used only for short-term storage.
You can add Amazon EBS volumes to your instance store-based instance. Amazon EBS volumes are stored within Amazon S3 buckets and remain intact when the instance is bundled. Therefore, we recommend that you store all the data that must persist on Amazon EBS volumes, not instance store volumes.
For more information about Amazon EC2 storage options, see Storage.
Preparing to Create an Instance Store-Backed Windows AMI
When you create an AMI, you start by basing it on an instance. You can customize the instance to include the data and software that you need. As a result, any instance that you launch from your AMI has everything that you need.
To launch an instance store-backed Windows instance
Open the Amazon EC2 console.
In the navigation pane, click AMIs. Select an instance store-backed AMI that is similar to the AMI that you want to create. To view the instance store-backed Windows AMIs, select the following options from the Filter lists: Public images, Instance store images, and then Windows.
You can select any public AMI that uses the version of Windows Server that you want for your AMI. However, you must select an instance store-backed AMI; don't start with an Amazon EBS-backed AMI.
Click Launch to launch an instance of the instance store-backed AMI that you've selected. Accept the default values as you step through the wizard.
While the instance is running, connect to it and customize it. For example, you can perform any of the following on your instance:
Install software and applications.
Reduce start time by deleting temporary files, defragmenting your hard drive, and zeroing out free space.
Create a new user account and add it to the Administrators group.
If you are sharing your AMI, these credentials can be provided for RDP access without disclosing your default Administrator password.
Configure settings using EC2Config. For example, to generate a random password for your instance when you launch it from this AMI, enable the Ec2SetPassword plugin; otherwise, the current Administrator password is used. For more information, see Configuring a Windows Instance Using the EC2Config Service.
If the instance uses RedHat drivers to access Xen virtualized hardware, upgrade to Citrix drivers before you create an AMI. For more information, see Upgrading PV Drivers on Your Windows AMI.
Bundling an Instance Store-Backed Windows Instance
Now that you've customized your instance, you can bundle the instance to create an AMI, using either the AWS Management Console or the command line.
To bundle an instance store-backed Windows instance using the console
Determine whether you'll use an existing Amazon S3 bucket for your new AMI or create a new one. To create a new Amazon S3 bucket, use the following steps:
Open the Amazon S3 console.
Click Create Bucket.
Specify a name for the bucket and click Create.
Open the Amazon EC2 console.
In the navigation pane, click Instances. Right-click the instance you set up in the previous procedure, and select Bundle Instance (instance store AMI).
In the Bundle Instance dialog box, fill in the requested information, and then click OK:
Amazon S3 bucket name: Specify the name of an S3 bucket that you own. The bundle files and manifest will be stored in this bucket.
Amazon S3 key name: Specify a prefix for the files that are generated by the bundle process.
The Bundle Instance dialog box confirms that the request to bundle the instance has succeeded, and also provides the ID of the bundle task. Click Close.
To view the status of the bundle task, click Bundle Tasks in the
navigation pane. The bundle task progresses through several states,
storing. If the bundle task can't be completed
successfully, the status is
Registering an Instance Store-Backed Windows AMI
Finally, you must register your AMI so that Amazon EC2 can locate it and launch instances from it.
Your new AMI is stored in Amazon S3. You'll incur charges for this storage until you deregister the AMI and delete the bundle in Amazon S3.
If you make any changes to the source AMI stored in Amazon S3, you must deregister and reregister the AMI before the changes take effect.
To register an instance store-backed Windows AMI from the AMI page in the console
Open the Amazon EC2 console.
In the navigation pane, click AMIs. By default, the console displays the AMIs that you own.
Click Actions and select Register new AMI.
In the Register Image dialog box, provide the AMI Manifest Path and then click Register.
To register an instance store-backed Windows AMI from the Bundle Tasks page in the console
On the navigation pane, click Bundle Tasks.
Select the bundle task, and click Register as an AMI.
A dialog displays the AMI manifest path. Click Register, and then click Close in the confirmation dialog box.
To register an instance store-backed Windows AMI using the command line
You can use one of the following commands. For more information about these command line interfaces, see Accessing Amazon EC2.
To view your new AMI, click AMIs in the navigation pane, and ensure the Owned by me filter option is selected.