General
Longer EC2, EBS, and Storage Gateway resource IDs | Overview | EC2 On-Demand Instance limits | Service Level Agreement (SLA)
Longer EC2, EBS, and Storage Gateway resource IDs
Q: What is changing?
Starting July 2018, all newly created EC2 resources will receive longer format IDs. The new format will only apply to newly created resources; your existing resources won’t be affected. Instances and volumes already use this ID format. Through the end of June 2018, customers will have the ability to opt-in to use longer IDs. During this time, you can choose which ID format resources are assigned and update your management tools and scripts to add support for the longer format. Please visit this documentation for instructions.
Q: Why is this necessary?
Given how fast Amazon Web Services continues to grow, we will start to run low on IDs for certain resources in 2018. In order to enable the long-term, uninterrupted creation of new resources, we need to introduce a longer ID format. All Amazon EC2 resource IDs will change to the longer format in July 2018.
Q: I already opted in for longer IDs last year. Why do I need to opt-in again?
In 2016, we moved to the longer ID format for Amazon EC2 instances, reservations, volumes, and snapshots only. This opt-in changes the ID format for all remaining EC2 resource types.
Q: What will the new identifier format look like?
The new identifier format will follow the pattern of the current identifier format, but it will be longer. The new format will be -<17 characters>, e.g. “vpc-1234567890abcdef0” for VPCs or “subnet-1234567890abcdef0” for subnets.
Q: Which IDs are changing?
- bundle
- conversion-task
- customer-gateway
- dhcp-options
- elastic-ip-allocation
- elastic-ip-association
- export-task
- flow-log
- image
- import-task
- internet-gateway
- network-acl
- network-acl-association
- network-interface
- network-interface-attachment
- prefix-list
- route-table
- route-table-association
- security-group
- subnet
- subnet-cidr-block-association
- vpc
- vpc-cidr-block-assocation
- vpc-endpoint
- vpc-peering-connection
- vpn-connection
- vpn-gateway
Q: How does this impact me?
There is a good chance that you won’t need to make any system changes to handle the new format. If you only use the console to manage Amazon Web Services resources, you might not be impacted at all, but you should still update your settings to use the longer ID format as soon as possible. If you interact with Amazon Web Services resources via APIs, SDKs, or the Amazon CLI, you might be impacted, depending on whether your software makes assumptions about the ID format when validating or persisting resource IDs. If this is the case, you might need to update your systems to handle the new format.
Some failure modes could include:
- If your systems use regular expressions to validate the ID format, you might error if a longer format is encountered.
- If there are expectations about the ID length in your database schemas, you might be unable to store a longer ID.
Q: Will this affect existing resources?
No. Only resources that are created after you opt-in to the longer format will be affected. Once a resource has been assigned an ID (long or short), that ID will never change. Each ID is unique and will never be reused. Any resource created with the old ID format will always retain its shorter ID. Any resource created with the new format will retain its longer ID, even if you opt back out.
Q: When will this happen?
Through the end of June 2018, longer IDs will be available for opt-in via APIs and the EC2 Console. All accounts can opt-in and out of longer IDs as needed for testing. Starting on July 1, 2018, the option to switch formats will no longer be available, and newly created EC2 resources to receive longer IDs. All regions launching in July 2018 and onward will only support longer IDs.
Q: Why is there an opt-in period?
We want to give you as much time as possible to test your systems with the new format. This transition time offers maximum flexibility to test and update your systems incrementally and will help minimize interrupts as you add support for the new format, if necessary.
Q: How do I opt in and out of receiving longer IDs?
Throughout the transition period, you can opt to receive longer or shorter IDs by using the APIs or the EC2 Console. Instructions are provided in this documentation.
Q: What will happen if I take no action?
If you do not opt-in to the new format during the transition period, you will be automatically begin receiving the longer format IDs after July 1, 2018. We do not recommend this approach. It is better to add support for the new format during the transition window, which offers the opportunity for controlled testing.
Q: What if I prefer to keep receiving the shorter ID format after the end of June 2018?
This is not possible regardless of your user settings specified.
Q: When will the longer IDs’ final transition happen?
In July 2018, your newly created resources will start to receive longer IDs. You can check the scheduled transition date for your region by using the Amazon CLI describe-id-format.
Q: If I opt in to longer IDs and then opt back out during the transition period, what will happen to resources that were created with longer IDs?
Once a resource has been assigned an ID it will not change, so resources that are created with longer IDs will retain the longer IDs regardless of later actions. If you opt in to the longer format, create resources, and then opt out, you will see a mix of long and short resource IDs, even after opting out. The only way to get rid of long IDs will be to delete or terminate the respective resources. For this reason, exercise caution and avoid creating critical resources with the new format until you have tested your tools and automation.
Q: What should I do if my systems are not working as expected before the transition period ends?
If your systems are not working as expected during the transition period, you can temporarily opt out of longer format IDs and remediate your systems, however your account will automatically be transitioned back to using longer IDs after the end of June 2018. Regardless of your account settings, all new resources will receive the longer format IDs, so it is important for you to test your systems with longer format IDs before the transition period ends. By testing and opting in earlier, you give yourself valuable time to make modifications to your resources with short resource IDs and you minimize the risk of any impact to your systems.
Q: What will happen if I launch resources in multiple regions during the transition period?
Your resources’ ID length will depend upon the region you launch your resources. If the region has already transitioned to using longer IDs, resources launched in that region will have longer format IDs; if not, they will have shorter resource IDs. Therefore, during the transition window, you may see a mix of shorter and longer resource IDs.
Q: If Amazon Web Services adds new regions during the transition period, will new regions support longer IDs?
Yes. All new regions launching after July 2018 will issue longer format IDs by default for both new and existing accounts.
Q: What will be the default ID type for new accounts?
Accounts created on March 1, 2018 or later will be configured to receive the longer ID format by default in every Amazon Web Services region except Amazon GovCloud (US). If you are a new customer, this will make the transition to longer IDs really simple. If you would like your new account to assign the shorter ID format to your resources, then simply reconfigure your account for shorter IDs as described above. This workflow will be necessary until you are ready for your accounts to receive longer IDs.
Q: Will I need to upgrade to a new version of the Amazon SDKs or CLI?
The following Amazon CLI and SDKs are fully compatible with longer IDs: PHP v2.8.27+, PHP v3.15.0+, Amazon CLI v1.10.2+, Boto3v1.2.1+, Botocorev1.3.24+, PHP v1, Boto v1, Boto v2, Ruby v1, Ruby v2, JavaScript, Java, .NET, Amazon Web Services Tools for Windows PowerShell, and Go.
Q: How can I test my systems with longer IDs?
Amazon Machine Images (AMIs) with longer format IDs have been published for testing purposes. Instruction on how to access these AMIs are provided here.
Overview
Q: What is Amazon Elastic Compute Cloud (Amazon EC2)?
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.
Q: What can I do with Amazon EC2?
Just as Amazon Simple Storage Service (Amazon S3) enables storage in the cloud, Amazon EC2 enables “compute” in the cloud. Amazon EC2’s simple web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment. Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing you to quickly scale capacity, both up and down, as your computing requirements change. Amazon EC2 changes the economics of computing by allowing you to pay only for capacity that you actually use.
Q: What can developers now do that they could not before?
Until now, small developers did not have the capital to acquire massive compute resources and insure they had the capacity they needed to handle unexpected spikes in load. Amazon EC2 enables any developer to leverage Amazon’s own benefits of massive scale with no up-front investment or performance compromises. Developers are now free to innovate knowing that no matter how successful their businesses become, it will be inexpensive and simple to ensure they have the compute capacity they need to meet their business requirements.
The “Elastic” nature of the service allows developers to instantly scale to meet spikes in traffic or demand. When computing requirements unexpectedly change (up or down), Amazon EC2 can instantly respond, meaning that developers have the ability to control how many resources are in use at any given point in time. In contrast, traditional hosting services generally provide a fixed number of resources for a fixed amount of time, meaning that users have a limited ability to easily respond when their usage is rapidly changing, unpredictable, or is known to experience large peaks at various intervals.
Q: How do I run systems in the Amazon EC2 environment?
Once you have set up your account and select or create your Amazon Machine Images (AMIs), you are ready to boot your instance. You can start your AMI on any number of On-Demand Instances by calling the RunInstances API. You simply need to state how many instances you wish to start. If you wish to run more than 20 On-Demand Instances, complete the Amazon EC2 instance request form.
If Amazon EC2 is able to fulfill your request, RunInstances will return success, and we will start setting up your instances. You can check on the status of your instances using the DescribeInstances API call. You can also programmatically terminate any number of your instances using the TerminateInstances API call.
If you have a running instance using an Amazon EBS boot partition, you can also call the StopInstances API to release the compute resources but preserve the data on the boot partition. You can call the StartInstances API when you are ready to restart the associated instance with the Amazon EBS boot partition.
If you prefer, you can also perform all these actions from the Amazon Web Services Management Console or through the command line using our command line tools, which have been implemented with this web service API.
Q: What is the difference between using the local instance store and Amazon Elastic Block Store (Amazon EBS) for the root device?
When you launch your Amazon EC2 instances you have the ability to store your root device data on Amazon EBS or the local instance store. By using Amazon EBS, data on the root device will persist independently from the lifetime of the instance. This enables you to stop and restart the instance at a subsequent time, which similar to shutting down your laptop and restarting it when you need it again.
Alternatively, the local instance store only persists during the life of the instance. This is an inexpensive way to launch instances where data is not stored to the root device. For example, some customers use this option to run large web sites where each instance is a clone to handle web traffic.
Q: How quickly will systems be running?
It typically takes less than 10 minutes from the issue of the RunInstances call to the point where all requested instances begin their boot sequences. This time is dependant on a number of factors including: the size of your AMI, the number of instances you are launching, and how recently you have launched that AMI. Images launched for the first time may take slightly longer to boot.
Q: How do I load and store my systems with Amazon EC2?
Amazon EC2 allows you to set up and configure everything about your instances from your operating system up to your applications. An Amazon Machine Image (AMI) is simply a packaged-up environment that includes all the necessary bits to set up and boot your instance. Your AMIs are your unit of deployment. You might have just one AMI or you might compose your system out of several building block AMIs (e.g., webservers, appservers, and databases). Amazon EC2 provides a number of tools to make creating an AMI easy. Once you create a custom AMI, you will need to bundle it. If you are bundling an image with a root device backed by Amazon EBS, you can simply use the bundle command in the Amazon Web Services Management Console. If you are bundling an image with a boot partition on the instance store, then you will need to use the AMI Tools to upload it to Amazon S3. Amazon EC2 uses Amazon EBS and Amazon S3 to provide reliable, scalable storage of your AMIs so that we can boot them when you ask us to do so.
Or, if you want, you don’t have to set up your own AMI from scratch. You can choose from a number of globally available AMIs that provide useful instances. For example, if you just want a simple Linux server, you can choose one of the standard Linux distribution AMIs.
Q: How do I access my systems?
The RunInstances call that initiates execution of your application stack will return a set of DNS names, one for each system that is being booted. This name can be used to access the system exactly as you would if it were in your own data center.
Q: Is Amazon EC2 used in conjunction with Amazon S3?
Yes, Amazon EC2 is used jointly with Amazon Simple Storage Service (Amazon S3) for instances with root devices backed by local instance storage. By using Amazon S3, developers have access to the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites. In order to execute systems in the Amazon EC2 environment, developers use the tools provided to load their Amazon Machine Images (AMIs) into Amazon S3 and to move them between Amazon S3 and Amazon EC2. See "How do I load and store my systems with Amazon EC2?" for more information about AMIs.
We expect developers to find the combination of Amazon EC2 and Amazon S3 to be very useful. Amazon EC2 provides cheap, scalable compute in the cloud while Amazon S3 allows users to store their data reliably.
Q: Are there any limitations in sending email from EC2 instances?
Yes. In order to maintain the quality of EC2 addresses for sending email, we enforce default limits on the amount of email that can be sent from EC2 accounts.
Q: How quickly can I scale my capacity both up and down?
Amazon EC2 provides a truly elastic computing environment. Amazon EC2 enables you to increase or decrease capacity within minutes, not hours or days. You can commission one, hundreds or even thousands of server instances simultaneously. When you need more instances, you simply call RunInstances, and Amazon EC2 will typically set up your new instances in a matter of minutes. Of course, because this is all controlled with web service APIs, your application can automatically scale itself up and down depending on its needs.
Q: What operating system environments are supported?
Amazon EC2 currently supports a variety of operating systems including: RedHat Linux, Windows Server, and SuSE Linux. We are looking for ways to expand it to other platforms in future releases.
Q: Does Amazon EC2 use ECC memory?
In our experience, ECC memory is necessary for server infrastructure, and all the hardware underlying Amazon EC2 uses ECC memory.
Q: How is this service different than a plain hosting service?
Traditional hosting services generally provide a pre-configured resource for a fixed amount of time and at a predetermined cost. Amazon EC2 differs fundamentally in the flexibility, control and significant cost savings it offers developers, allowing them to treat Amazon EC2 as their own personal data center with the benefit of Amazon.com’s robust infrastructure.
When computing requirements unexpectedly change (up or down), Amazon EC2 can instantly respond, meaning that developers have the ability to control how many resources are in use at any given point in time. In contrast, traditional hosting services generally provide a fixed number of resources for a fixed amount of time, meaning that users have a limited ability to easily respond when their usage is rapidly changing, unpredictable, or is known to experience large peaks at various intervals.
Secondly, many hosting services don’t provide full control over the compute resources being provided. Using Amazon EC2, developers can choose not only to initiate or shut down instances at any time, they can completely customize the configuration of their instances to suit their needs – and change it at any time. Most hosting services cater more towards groups of users with similar system requirements, and so offer limited ability to change these.
Finally, with Amazon EC2, developers enjoy the benefit of paying only for their actual resource consumption – and at very low rates. Most hosting services require users to pay a fixed, up-front fee irrespective of their actual computing power used, and so users risk overbuying resources to compensate for the inability to quickly scale up resources within a short time frame.
EC2 On-Demand Instance limits
Q: What is changing?
Amazon EC2 is transitioning On-Demand Instance limits from the current instance count-based limits to the new vCPU-based limits to simplify the limit management experience for Amazon Web Services customers. Usage toward the vCPU-based limit is measured in terms of number of vCPUs (virtual central processing units) for the Amazon EC2 Instance Types to launch any combination of instance types that meet your application needs.
Q: What are vCPU-based limits?
You are limited to running one or more On-Demand Instances in an Amazon Web Services account, and Amazon EC2 measures usage towards each limit based on the total number of vCPUs (virtual central processing unit) that are assigned to the running On-Demand instances in your Amazon Web Services account. The following table shows the number of vCPUs for each instance size. The vCPU mapping for some instance types may differ; see Amazon EC2 Instance Types for details.
Instance Size |
vCPUs |
nano |
1 |
micro |
1 |
small |
1 |
medium |
1 |
large |
2 |
xlarge |
4 |
2xlarge |
8 |
3xlarge |
12 |
4xlarge |
16 |
8xlarge |
32 |
9xlarge |
36 |
10xlarge |
40 |
12xlarge |
48 |
16xlarge |
64 |
18xlarge |
72 |
24xlarge |
96 |
32xlarge |
128 |
Q: How many On-Demand instances can I run in Amazon EC2?
There are five vCPU-based instance limits, each defines the amount of capacity you can use of a given instance family. All usage of instances in a given family, regardless of generation, size, or configuration variant (e.g. disk, processor type), will accrue towards the family’s total vCPU limit, listed in the table below. New Amazon Web Services accounts may start with limits that are lower than the limits described here.
On-Demand Instance Limit Name |
Default vCPU Limit |
---|---|
Running On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances |
1152 vCPUs |
Running On-Demand F instances |
128 vCPUs |
Running On-Demand G instances |
128 vCPUs |
Running On-Demand Inf instances |
128 vCPUs |
Running On-Demand P instances |
128 vCPUs |
Running On-Demand X instances |
128 vCPUs |
Q: Are these On-Demand Instance vCPU-based limits regional?
Yes, the On-Demand Instance limits for an Amazon Web Services account are set on a per-region basis.
Q: Will these limits change over time?
Yes, limits can change over time. Amazon EC2 is constantly monitoring your usage within each region and your limits are raised automatically based on your use of EC2.
Q: How can I request a limit increase?
Even though EC2 automatically increases your On-Demand Instance limits based on your usage, if needed you can request a limit increases from the Limits Page on Amazon EC2 console.
Q: How can I calculate my new vCPU limit?
You can find the vCPU mapping for each of the Amazon EC2 Instance Types or use the simplified vCPU Calculator to compute the total vCPU limit requirements for your Amazon Web Services account.
Q: Do vCPU limits apply when purchasing Reserved Instances or requesting Spot Instances?
No, the vCPU-based limits only apply to running On-Demand instances.
Q: How can I view my current On-Demand Instance limits?
You can find your current On-Demand Instance limits on the EC2 Service Limits page in the Amazon EC2 console.
Q: Will this affect running instances?
No, vCPU-based limits will not affect any running instances.
Q: Can I still launch the same number of instances?
Yes, the vCPU-based instance limits allow you to launch at least the same number of instances as count-based instance limits.
Q: Will I be able to view instance usage against these limits?
With the Amazon CloudWatch metrics, you can view your On-Demand vCPU usage.
Q: Will I still be able to use the DescribeAccountAttributes API?
With the vCPU limits, we no longer have total instance limits governing the usage. Hence the DescribeAccountAttributes API will no longer return the max-instances value.
Q: Will the vCPU limits have an impact on my monthly bill?
No. EC2 usage is still calculated either by the hour or the second, depending on which AMI you're running and the instance type and size you’ve launched.
Q: Will vCPU limits be available in all Regions?
vCPU-based instance limits are available in all commercial Amazon Web Services Regions.
Service Level Agreement (SLA)
Q. What does your Amazon EC2 Service Level Agreement guarantee?
Our SLA guarantees a Monthly Uptime Percentage for Amazon EC2 and Amazon EBS within a Region.
Q. How do I know if I qualify for a SLA Service Credit?
You are eligible for a SLA credit for either Amazon EC2 or Amazon EBS (whichever was Unavailable, or both if both were Unavailable) if the Region that you are operating in has an Monthly Uptime Percentage of less than SLA commitment during any monthly billing cycle. For full details on all of the terms and conditions of the SLA, as well as details on how to submit a claim, please see https://www.amazonaws.cn/en/ec2/sla.
Platform
Hardware Information
Q: What kind of hardware will my application stack run on?
Your application will execute on a virtual computer that we call an instance. You have the choice of several instance types, allowing you to select a configuration of memory, CPU, and instance storage that is optimal for your application. To find out more about Amazon EC2 instance types and their applicability, please visit the Amazon EC2 detail page.
Q: M4 and M5 Standard instances have the same ratio of CPU and memory. When should I use one instance over the other?
M5 instances provide a balance of compute, memory, storage and network resources, and deliver up to a 47% improvement in price/performance compared to M4 instances. M5 instances are available in larger sizes (up to 24xl) compared to M4 (16xl). M5d instances also support up to 3.6 TB of NVMe SSD instance storage.
Q: What is a “EC2 Compute Unit” and why did you introduce it?
Transitioning to a utility computing model fundamentally changes how developers have been trained to think about CPU resources. Instead of purchasing or leasing a particular processor to use for several months or years, you are renting capacity by the hour. Because Amazon EC2 is built on commodity hardware, over time there may be several different types of physical hardware underlying EC2 instances. Our goal is to provide a consistent amount of CPU capacity no matter what the actual underlying hardware.
Amazon EC2 uses a variety of measures to provide each instance with a consistent and predictable amount of CPU capacity. In order to make it easy for developers to compare CPU capacity between different instance types, we have defined an Amazon EC2 Compute Unit. The amount of CPU that is allocated to a particular instance is expressed in terms of these EC2 Compute Units. We use several benchmarks and tests to manage the consistency and predictability of the performance from an EC2 Compute Unit. The EC2 Compute Unit (ECU) provides the relative measure of the integer processing power of an Amazon EC2 instance. Over time, we may add or substitute measures that go into the definition of an EC2 Compute Unit, if we find metrics that will give you a clearer picture of compute capacity.
Availability Zones
Q: How isolated are Availability Zones from one another?
Each availability zone runs on its own physically distinct, independent infrastructure, and is engineered to be highly reliable. Common points of failures like generators and cooling equipment are not shared across Availability Zones. Additionally, they are physically separate, such that even extremely uncommon disasters such as fires, tornados or flooding would only affect a single Availability Zone.
Q: How can I make sure that I am in the same Availability Zone as another developer?
We do not currently support the ability to coordinate launches into the same Availability Zone across Amazon Web Services developer accounts.
Q: If I transfer data between availability zones using public IP addresses, will I be charged twice for Regional Data Transfer (once because it’s across zones, and a second time because I’m using public IP addresses)?
No. Regional Data Transfer rates apply if at least one of the following is true, but is only charged once for a given instance even if both are true:
The other instance is in a different availability zone, regardless of which type of address is used.
Public or Elastic IP addresses are used, regardless of which zone the other instance is in.
Micro Instances
Q. How much compute power do Micro instances provide?
Micro instances provide a small amount of consistent CPU resources and allow you to burst CPU capacity up to 2 ECUs when additional cycles are available. They are well suited for lower throughput applications and web sites that consume significant compute cycles periodically but very little CPU at other times for background processes, daemons, etc. Learn more about use of this instance type.
Q. How does a Micro instance compare in compute power to a Standard Small instance?
At steady state, Micro instances receive a fraction of the compute resources that Small instances do. Therefore, if your application has compute-intensive or steady state needs we recommend using a Small instance (or larger, depending on your needs). However, Micro instances can periodically burst up to 2 ECUs (for short periods of time). This is double the number of ECUs available from a Standard Small instance. Therefore, if you have a relatively low throughput application or web site with an occasional need to consume significant compute cycles, we recommend using Micro instances.
Q. How can I tell if an application needs more CPU resources than a Micro instance is providing?
The CloudWatch metric for CPU utilization will report 100% utilization if the instance bursts so much that it exceeds its available CPU resources during that CloudWatch monitored minute. CloudWatch reporting 100% CPU utilization is your signal that you should consider scaling – manually or via Auto Scaling – up to a larger instance type or scale out to multiple Micro instances.
Q. Are all features of Amazon EC2 available for Micro instances?
Currently Amazon DevPay is not available for Micro instances.
Cluster Instances
Q. What is a Cluster Compute Instance?
Cluster Compute Instances combine high compute resources with a high performance networking for High Performance Compute (HPC) applications and other demanding network-bound applications. Cluster Compute Instances provide similar functionality to other Amazon EC2 instances but have been specifically engineered to provide high performance networking.
Amazon EC2 cluster placement group functionality allows users to group Cluster Compute Instances in clusters – allowing applications to get the low-latency network performance necessary for tightly-coupled node-to-node communication typical of many HPC applications. Cluster Compute Instances also provide significantly increased network throughput both within the Amazon EC2 environment and to the Internet. As a result, these instances are also well suited for customer applications that need to perform network-intensive operations.
Q. What is a cluster placement group?
A cluster placement group is a logical entity that enables creating a cluster of instances by launching instances as part of a group. The cluster of instances then provides low latency, full bisection 10 Gigabit Ethernet bandwidth connectivity between instances in the group. Cluster placement groups are created through the Amazon EC2 API or Amazon Web Services Management Console.
Q. What kind of network performance can I expect when I launch instances in cluster placement group?
The bandwidth an EC2 instance can utilize in a cluster placement group depends on the instance type and its networking performance specification. Inter-instance traffic within the same region can utilize 5 Gbps for single-flow and up to 25 Gbps for multi-flow traffic. When launched in a placement group, select EC2 instances can utilize up to 10 Gbps for single-flow traffic.
Q. Are there any ways to optimize the likelihood that I receive the full number of instances I request for my cluster via a cluster placement group?
We recommend that you launch the minimum number of instances required to participate in a cluster in a single launch. For very large clusters, you should launch multiple placement groups, e.g. two placement groups of 128 instances, and combine them to create a larger, 256 instance cluster.
Optimize CPUs
Q: What is Optimize CPUs?
Optimize CPUs gives you greater control of your EC2 instances on two fronts. First, you can specify a custom number of vCPUs when launching new instances to save on vCPU-based licensing costs. Second, you can disable Intel Hyper-Threading Technology (Intel HT Technology) for workloads that perform well with single-threaded CPUs, such as certain high-performance computing (HPC) applications.
Q: Why should I use Optimize CPUs feature?
You should use Optimize CPUs if:
You are running EC2 workloads that are not compute bound and are incurring vCPU-based licensing costs. By launching instances with custom number of vCPUs you may be able to optimize your licensing spend.
You are running workloads that will benefit from disabling hyper-threading on EC2 instances.
Q: How will the CPU optimized instances be priced?
CPU optimized instances will be priced the same as equivalent full-sized instance.
Q: How will my application performance change when using Optimize CPUs on EC2?
Your application performance change with Optimize CPUs will be largely dependent on the workloads you are running on EC2. We encourage you to benchmark your application performance with Optimize CPUs to arrive at the right number of vCPUs and optimal hyper-threading behavior for your application.
Q: Can I use Optimize CPUs on EC2 Bare Metal instance types (such as i3.metal)?
No. You can use Optimize CPUs with only virtualized EC2 instances.
Q. How can I get started with using Optimize CPUs for EC2 Instances?
For more information on how to get started with Optimize CPUs and supported instance types, please visit the Optimize CPUs documentation page here.
Networking and security
Elastic IP
Q: Why am I limited to 5 Elastic IP addresses per region?
Public (IPV4) internet addresses are a scarce resource. There is only a limited amount of public IP space available, and Amazon EC2 is committed to helping use that space efficiently.
By default, all accounts are limited to 5 Elastic IP addresses per region. If you need more the 5 Elastic IP addresses, we ask that you apply for your limit to be raised. We will ask you to think through your use case and help us understand your need for additional addresses. You can apply for more Elastic IP address here. Any increases will be specific to the region they have been requested for.
Q: Why am I charged when my Elastic IP address is not associated with a running instance?
In order to help ensure our customers are efficiently using the Elastic IP addresses, we impose a small hourly charge for each address when it is not associated to a running instance.
Q: Do I need one Elastic IP address for every instance that I have running?
No. You do not need an Elastic IP address for all your instances. By default, every instance comes with a private IP address and an internet routable public IP address. The private address is associated exclusively with the instance and is only returned to Amazon EC2 when the instance is stopped or terminated. The public address is associated exclusively with the instance until it is stopped, terminated or replaced with an Elastic IP address. These IP addresses should be adequate for many applications where you do not need a long lived internet routable end point. Compute clusters, web crawling, and backend services are all examples of applications that typically do not require Elastic IP addresses.
Q: How long does it take to remap an Elastic IP address?
The remap process currently takes several minutes from when you instruct us to remap the Elastic IP until it fully propagates through our system.
Q: Can I configure the reverse DNS record for my Elastic IP address?
Yes, you can configure the reverse DNS record of your Elastic IP address by filling out this form. Note that a corresponding forward DNS record pointing to that Elastic IP address must exist before we can create the reverse DNS record.
Enhanced Networking
Q: What networking capabilities are included in this feature?
We currently support enhanced networking capabilities using SR-IOV (Single Root I/O Virtualization). SR-IOV is a method of device virtualization that provides higher I/O performance and lower CPU utilization compared to traditional implementations. For supported Amazon EC2 instances, this feature provides higher packet per second (PPS) performance, lower inter-instance latencies, and very low network jitter.
Q: Why should I use Enhanced Networking?
If your applications benefit from high packet-per-second performance and/or low latency networking, Enhanced Networking will provide significantly improved performance, consistence of performance and scalability.
Q: How can I enable Enhanced Networking on supported instances?
In order to enable this feature, you must launch an HVM AMI with the appropriate drivers. R5, R4, C5, T3, X1, I3, P2, G3, M5, and m4.16xlarge instances provide the Elastic Network Adapter (ENA) interface (which uses the “ena” Linux driver) for Enhanced Networking. C3, C4, R3, I2, M4 (except m4.16xlarge) and D2 instances use Intel® 82599g Virtual Function Interface (which uses the “ixgbevf” Linux driver). Amazon Linux AMI includes both of these drivers by default. For AMIs that do not contain these drivers, you will need to download and install the appropriate drivers based on the instance types you plan to use. You can use Linux or Windows instructions to enable Enhanced Networking in AMIs that do not include the SR-IOV driver by default. Enhanced Networking is only supported in Amazon VPC.
Q: Do I need to pay an additional fee to use Enhanced Networking?
No, there is no additional fee for Enhanced Networking. To take advantage of Enhanced Networking you need to launch the appropriate AMI on a supported instance type in a VPC.
Q: Why is Enhanced Networking only supported in Amazon VPC?
Amazon VPC allows us to deliver many advanced networking features to you that are not possible in EC2-Classic. Enhanced Networking is another example of a capability enabled by Amazon VPC.
Q: Which instance types support Enhanced Networking?
Currently R5, R4, C5, T3, X1, I3, P2, G3, M5, and M4 instances support Enhanced Networking. X1, P2, G3, I3, R4 and m4.16xlarge instances provide the Elastic Network Adapter (ENA) interface for Enhanced Networking. C3, C4, R3, I2, M4 (except m4.16xlarge) and D2 instances, use Intel® 82599 Virtual Function Interface.
Q: Which instance types offer NVMe instance storage?
High I/O instances use NVMe based local instance storage to deliver very high, low latency, I/O capacity to applications, and are optimized for applications that require millions of IOPS. Like Cluster instances, High I/O instances can be clustered via cluster placement groups for high bandwidth networking. M5d, C5d, and R5d instances include local NVMe instance storage.
Elastic Fabric Adapter (EFA)
Q: Why should I use EFA?
EFA brings the scalability, flexibility, and elasticity of cloud to tightly coupled HPC applications. With EFA, tightly coupled HPC applications have access to lower and more consistent latency and higher throughput than traditional TCP channels, enabling them to scale better. EFA support can be enabled dynamically, on-demand on any supported EC2 instance without pre-reservation, giving you the flexibility to respond to changing business/workload priorities.
Q: What types of applications can benefit from using EFA?
HPC applications distribute computational workloads across a cluster of instances for parallel processing. Examples of HPC applications include computational fluid dynamics (CFD), crash simulations, and weather simulations. HPC applications are generally written using the Message Passing Interface (MPI) and impose stringent requirements for inter-instance communication in terms of both latency and bandwidth. Applications using MPI and other HPC middleware that supports the libfabric communication stack can benefit from EFA.
Q: How does EFA communication work?
EFA devices provide all ENA devices' functionalities plus a new OS bypass hardware interface that allows user-space applications to communicate directly with the hardware-provided reliable transport functionality. Most applications will use existing middleware, such as the MPI, to interface with EFA. We have worked with a number of middleware providers to ensure support for the OS bypass functionality of EFA.
Q: Which instance types support EFA?
For a full list of supported EC2 instances, refer to this page in our documentation.
Q: What are the differences between an EFA ENI and an ENA ENI?
An ENA ENI provides traditional IP networking features necessary to support VPC networking. An EFA ENI provides all the functionality of an ENA ENI, plus hardware support for applications to communicate directly with the EFA ENI without involving the instance kernel (OS-bypass communication) using an extended programming interface. Due to the advanced capabilities of the EFA ENI, EFA ENIs can only be attached at launch or to stopped instances.
Q: What are the pre-requisites to enabling EFA on an instance?
EFA support can be enabled either at the launch of the instance or added to a stopped instance. EFA devices cannot be attached to a running instance.
Q: Where is EFA available?
EFA is available in the Amazon Web Services China (Beijing) Region, operated by Sinnet and Amazon Web Services China (Ningxia) Region, operated by NWCD. It can be used to establish communication between any two enabled instances within the same AZ.
Elastic Load Balancing
Q: What happens to my data when a system terminates?
The data stored on a local instance store will persist only as long as that instance is alive. However, data that is stored on an Amazon EBS volume will persist independently of the life of the instance. Therefore, we recommend that you use the local instance store for temporary data and, for data requiring a higher level of durability, we recommend using Amazon EBS volumes or backing up the data to Amazon S3. If you are using an Amazon EBS volume as a root partition, you will need to set the Delete On Terminate flag to "N" if you want your Amazon EBS volume to persist outside the life of the instance.
Q: What kind of performance can I expect from Amazon EBS volumes?
Amazon EBS provides two volume types: Standard Volumes and Provisioned IOPS Volumes. They differ in performance characteristics and price, allowing you to tailor your storage performance and cost to the needs of your applications.
Standard volumes offer storage for applications with moderate or bursty I/O requirements. These volumes deliver approximately 100 IOPS on average with a best effort ability to burst up to hundreds of IOPS. Standard volumes are also well suited for use as boot volumes, where the burst capability provides fast instance start-up times.
Provisioned IOPS volumes are designed to deliver predictable, high performance for I/O intensive, random read and write workloads such as databases. With Provisioned IOPS, you specify an IOPS rate when creating a volume, and then Amazon EBS provisions that rate for the lifetime of the volume. Amazon EBS currently supports up to 4000 IOPS per Provisioned IOPS volume. You can stripe multiple volumes together to deliver thousands of IOPS per Amazon EC2 instance to your application. For additional information on Amazon EBS performance, see the Amazon EC2 User Guide’s EBS section.
Q: Are Provisioned IOPS volumes available for all Amazon EC2 instance types?
Please refer to our Amazon EC2 User Guide’s EBS section for information on which instance types are supported today with Provisioned IOPS Volumes. To enable your Amazon EC2 instances to fully utilize the IOPS provisioned on an EBS volume, you can launch selected Amazon EC2 instance types as “EBS-Optimized” instances. EBS-Optimized instances deliver dedicated throughput between Amazon EC2 and Amazon EBS, with options between 500 Mbps and 1000 Mbps depending on the instance type used.
Q: What level of performance consistency can I expect to see from my Provisioned IOPS volumes?
When attached to EBS-Optimized instances, Provisioned IOPS volumes are designed to deliver within 10% of the provisioned IOPS performance 99.9% of the time in a given year. Your exact performance will depend on your application, and we recommend that you benchmark your applications against your instance types and EBS volumes.
Q: Does the I/O size of my applications’ reads and writes affect the rate of IOPS I get from my Provisioned IOPS volumes?
Yes. For a given allocation of resources, the IOPS rate you get depends on the I/O size of your applications’ reads and writes. Provisioned IOPS volumes process your applications’ reads and writes in I/O sizes of 16KB or less. Every increase in I/O size above 16KB will linearly increase the resources you need to achieve the same IOPS rate. For example, if you have provisioned a volume with 2000 IOPS, that means that it can handle 2000 16KB writes per second, or 1000 32KB writes per second, or 500 64KB writes per second, and so on.
Q: What factors can impact the performance consistency I see with Provisioned IOPS volumes?
Provisioned IOPS volumes attached to EBS-Optimized instances are designed to offer consistent performance, delivering within 10% of the provisioned IOPS performance 99.9% of the time over a given year. There are several factors that could impact the level of consistency you see. For example, taking a snapshot can impact the rate of IOPS you get from your volume while your snapshot is pending. Your IOPS rate may also be lower for newly created volumes. For maximum performance consistency with new volumes, we recommend reading or writing to all of the blocks on your volume before placing it into service.
Another factor that can impact your performance is if your application isn’t sending enough I/O requests. This can be monitored by looking at your volume’s queue length. The queue length is the number of pending I/O requests from your application to your volume. For maximum consistency, a Provisioned IOPS volume must maintain an average queue length (rounded to the nearest whole number) of one for every two hundred provisioned IOPS in a minute. For example, for a volume provisioned with 500 IOPS, the queue length average must be three. For more information on ensuring consistent performance of your volumes, see the Amazon EC2 User Guide’s EBS section.
Q: Do you support multiple instances accessing a single volume?
While you are able to attach multiple volumes to a single instance, attaching multiple instances to one volume is not supported at this time.
Q: Will I be able to access my snapshots using the regular Amazon S3 APIs?
No, snapshots are only available through the Amazon EC2 APIs.
Q: Do volumes need to be un-mounted in order to take a snapshot? Does the snapshot need to complete before the volume can be used again?
No, snapshots can be done in real time while the volume is attached and in use. However, snapshots only capture data that has been written to your Amazon EBS volume, which might exclude any data that has been locally cached by your application or OS. In order to ensure consistent snapshots on volumes attached to an instance, we recommend cleanly detaching the volume, issuing the snapshot command, and then reattaching the volume. For Amazon EBS volumes that serve as root devices, we recommend shutting down the machine to take a clean snapshot.
Q: Are snapshots versioned? Can I read an older snapshot to do a point-in-time recovery?
Each snapshot is given a unique identifier, and customers can create volumes based on any of their existing snapshots.
Q: Do you offer encryption on Amazon EBS volumes or snapshots?
No. If encryption is important to you, we recommend that you run an encrypted file system on top of your Amazon EBS volume.
Q: What charges apply when using Amazon EBS shared snapshots?
If you share a snapshot, you won’t be charged when other users make a copy of your snapshot. If you make a copy of another user’s shared volume, you will be charged normal EBS rates.
Q: Can users of my Amazon EBS shared snapshots change any of my data?
Users who have permission to create volumes based on your shared snapshots will first make a copy of the snapshot into their account. Users can modify their own copies of the data, but the data on your original snapshot and any other volumes created by other users from your original snapshot will remain unmodified.
Q: How can I discover Amazon EBS snapshots that have been shared with me?
You can find snapshots that have been shared with you by selecting “Private Snapshots” from the viewing dropdown in the Snapshots section of the Amazon Web Services Management Console. This section will list both snapshots you own and snapshots that have been shared with you.
Q: How can I find what Amazon EBS snapshots are shared globally?
You can find snapshots that have been shared globally by selecting “Public Snapshots” from the viewing dropdown in the Snapshots section of the Amazon Web Services Management Console.
Security
Q: How do I prevent other people from viewing my systems?
You have complete control over the visibility of your systems. The Amazon EC2 security systems allow you to place your running instances into arbitrary groups of your choice. Using the web services interface, you can then specify which groups may communicate with which other groups, and also which IP subnets on the Internet may talk to which groups. This allows you to control access to your instances in our highly dynamic environment. Of course, you should also secure your instance as you would any other server.
Storage
Amazon Elastic Block Storage (EBS)
Q: What happens to my data when a system terminates?
The data stored on a local instance store will persist only as long as that instance is alive. However, data that is stored on an Amazon EBS volume will persist independently of the life of the instance. Therefore, we recommend that you use the local instance store for temporary data and, for data requiring a higher level of durability, we recommend using Amazon EBS volumes or backing up the data to Amazon S3. If you are using an Amazon EBS volume as a root partition, you will need to set the Delete On Terminate flag to "N" if you want your Amazon EBS volume to persist outside the life of the instance.
Q: What kind of performance can I expect from Amazon EBS volumes?
Amazon EBS provides three volume types: General Purpose (SSD) volumes, Provisioned IOPS (SSD) volumes, and Magnetic volumes. These volume types differ in performance characteristics and price, allowing you to tailor your storage performance and cost to the needs of your applications. For more performance infomation see the EBS product details page.
For additional information on Amazon EBS performance, see the Amazon EC2 User Guide’s EBS section.
Q: What is the EBS General Purpose (SSD) volume type?
The EBS General Purpose (SSD) volumes are backed by the same technology found in EBS Provisioned IOPS (SSD) volumes. The EBS General Purpose (SSD) volume type is designed for 99.999% availability, and a broad range of use-cases such as boot volumes, small and medium size databases, and development and test environments. General Purpose (SSD) volumes deliver a ratio of 3 IOPS per GB, offer single digit millisecond latencies, and also have the ability to burst up to 3000 IOPS for short periods.
Q: Which volume type should I choose?
Customers can now choose between three EBS volume types to best meet the needs of their workloads: General Purpose (SSD), Provisioned IOPS (SSD), and Magnetic. General Purpose (SSD) is the new, SSD-backed, general purpose EBS volume type that we recommend as the default choice for customers. General Purpose (SSD) volumes are suitable for a broad range of workloads, including small to medium sized databases, development and test environments, and boot volumes. Provisioned IOPS (SSD) volumes offer storage with consistent and low-latency performance, and are designed for I/O intensive applications such as large relational or NoSQL databases. Magnetic volumes provide the lowest cost per gigabyte of all EBS volume types. Magnetic volumes are ideal for workloads where data is accessed infrequently, and applications where the lowest storage cost is important.
Q: Do you support multiple instances accessing a single volume?
While you are able to attach multiple volumes to a single instance, attaching multiple instances to one volume is not supported at this time.
Q: Will I be able to access my EBS snapshots using the regular Amazon S3 APIs?
No, EBS snapshots are only available through the Amazon EC2 APIs.
Q: Do volumes need to be un-mounted in order to take a snapshot? Does the snapshot need to complete before the volume can be used again?
No, snapshots can be done in real time while the volume is attached and in use. However, snapshots only capture data that has been written to your Amazon EBS volume, which might exclude any data that has been locally cached by your application or OS. In order to ensure consistent snapshots on volumes attached to an instance, we recommend cleanly detaching the volume, issuing the snapshot command, and then reattaching the volume. For Amazon EBS volumes that serve as root devices, we recommend shutting down the machine to take a clean snapshot.
Q: Are snapshots versioned? Can I read an older snapshot to do a point-in-time recovery?
Each snapshot is given a unique identifier, and customers can create volumes based on any of their existing snapshots.
Q: What charges apply when using Amazon EBS shared snapshots?
If you share a snapshot, you won’t be charged when other users make a copy of your snapshot. If you make a copy of another user’s shared volume, you will be charged normal EBS rates.
Q: Can users of my Amazon EBS shared snapshots change any of my data?
Users who have permission to create volumes based on your shared snapshots will first make a copy of the snapshot into their account. Users can modify their own copies of the data, but the data on your original snapshot and any other volumes created by other users from your original snapshot will remain unmodified.
Q: How can I discover Amazon EBS snapshots that have been shared with me?
You can find snapshots that have been shared with you by selecting “Private Snapshots” from the viewing dropdown in the Snapshots section of the Amazon Web Services Management Console. This section will list both snapshots you own and snapshots that have been shared with you.
Q: How can I find what Amazon EBS snapshots are shared?
You can find snapshots that have been shared by selecting “Public Snapshots” from the viewing dropdown in the Snapshots section of the Amazon Web Services Management Console.
Q: How can I find a list of Amazon Public Data Sets?
All information on Public Data Sets is available in our Public Data Sets Resource Center. You can also obtain a listing of Public Data Sets within the Amazon Web Services Management Console by choosing “Amazon Snapshots” from the viewing dropdown in the Snapshots section.
Management
Auto Scaling
Q: Can I scale up my Amazon EC2 capacity fast but scale it down slowly?
Yes. For example, you can define a scale up condition to increase your Amazon EC2 capacity by 10% and a scale down condition to decrease it by 5%.
Q: What happens if a scaling activity causes me to reach my Amazon EC2 limit of instances?
Auto Scaling Service cannot scale past the Amazon EC2 limit of instances that you can run. If you need more Amazon EC2 instances, complete the Amazon EC2 instance request form.
Q: What happens to my Amazon EC2 instances if I delete my Auto Scaling Group?
If you have an Auto Scaling group with running instances and you choose to delete the Auto Scaling group, the instances will be terminated and the Auto Scaling group will be deleted.
Q: Can I create a single ASG to scale instances across different purchase models?
Yes. You can provision and automatically scale EC2 capacity across different EC2 instance types, and On-Demand, RIs and Spot purchase models in a single Auto Scaling Group. You have the option to define the desired split between On-Demand and Spot capacity, select which instance types work for your application, and specify preference for how EC2 Auto Scaling should distribute the ASG capacity within each purchasing model.
Q: Can I use ASGs to launch and manage just Spot Instances or just On-Demand instances and RIs?
Yes. You can configure your ASG specifying all capacity to be only Spot instances or all capacity to be only On-Demand instances and RIs.
Q: Can I have a base capacity with On-Demand instances and RIs, and scale my ASG out on Spot instances?
Yes. When setting up an ASG to combine purchasing models, you can specify the base capacity of the group to be fulfilled by On-Demand instances. As the ASG scales in or scale out, EC2 Auto Scaling ensures the base capacity be fulfilled with On-Demand instances and anything beyond that be fulfilled with either only Spot instances or a specified percentage mix of On-Demand or Spot instances.
Q: Can I modify the configuration of an ASG to update the different properties pertaining to combining purchasing models and specifying multiple instance types?
Yes. Similar to other ASG parameters, customers can update an existing ASG to modify one or all parameters pertaining to combining purchasing models and specifying multiple instance types, including instance types, prioritization order for On-Demand instances, percentage split between On-Demand and Spot instances, and allocation strategy.
Q: After modifying the configuration of an ASG, such as updating the percentage split between On-Demand and Spot instances, will the instances in the ASG rebalance to match the new configuration?
The instances in the ASG will rebalance as the ASG scales out and in. When scaling out, new instances will be launched per the new configuration and when scaling in, instances not adhering to the updated configuration will be terminated first.
For example if your highest priority instance was c4.large, but your ASG contained both c4.large and c3.large, EC2 Auto Scaling would first terminate c3.large instances.
Q: Can I use RI discounts with On-Demand Instances in an ASG?
Yes. For example, if you have RIs for C4 instances and EC2 Auto Scaling launches a C4 you will receive your RI pricing for On-Demand Instances.
Q: Can I specify instances of different sizes (CPU cores, memory) in my Auto Scaling group?
Yes. You can specify any instance type available in a region. Note that all instance types will be treated as the same weight.
Q: What if the instance types I like are not available in an Availability Zone?
If none of the specified instance types are available in an Availability Zone, Auto Scaling will retarget the launches in other Availability Zones associated with the Auto Scaling group. Auto Scaling will always prefer keeping your compute balanced across Availability Zones and retarget if all instance types are not available in an Availability Zone.
Q: How much does it cost to combine purchase models in the same ASG?
You will be billed for the instances launched by your Auto Scaling groups and any CloudWatch alarms created for your scaling policies. EC2 Auto Scaling and the capability to combine purchase models and Instances is free.
VM Import/Export
Q. What is VM Import/Export?
VM Import/Export enables customers to import Virtual Machine (VM) images in order to create Amazon EC2 instances. Customers can also export previously imported EC2 instances to create VMs. Customers can use VM Import/Export to leverage their previous investments in building VMs by migrating their VMs to Amazon EC2.
Q. What operating systems are supported?
VM Import/Export currently supports Windows and Linux VMs, including Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 (Datacenter, Enterprise, and Standard editions), Red Hat Enterprise Linux (RHEL) 5.1-6.5 (using Cloud Access), Centos 5.1-6.5, Ubuntu 12.04, 12.10, 13.04, 13.10, and Debian 6.0.0-6.0.8, 7.0.0-7.2.0. For more details on VM Import, including supported file formats, architectures, and operating system configurations, please see the VM Import/Export section of the Amazon EC2 User Guide.
Q. What virtual machine file formats are supported?
You can import VMware ESX VMDK images, Citrix Xen VHD images, Microsoft Hyper-V VHD images and RAW images as Amazon EC2 instances. You can export EC2 instances to VMware ESX VMDK, VMware ESX OVA, Microsoft Hyper-V VHD or Citrix Xen VHD images. For a full list of support operating systems, please see What operating systems are supported?
Q. What is VMDK?
VMDK is a file format that specifies a virtual machine hard disk encapsulated within a single file. It is typically used by virtual IT infrastructures such as those sold by VMware, Inc.
Q. How do I prepare a VMDK file for import using the VMware vSphere client?
The VMDK file can be prepared by calling File-Export-Export to OVF template in VMware vSphere Client. The resulting VMDK file is compressed to reduce the image size and is compatible with VM Import/Export. No special preparation is required if you are using the Amazon EC2 VM Import Connector vApp for VMware vCenter.
Q. What is VHD?
VHD (Virtual Hard Disk) is a file format that that specifies a virtual machine hard disk encapsulated within a single file. The VHD image format is used by virtualization platforms such as Microsoft Hyper-V and Citrix Xen.
Q. How do I prepare a VHD file for import from Citrix Xen?
Open Citrix XenCenter and select the virtual machine you want to export. Under the Tools menu, click on Virtual Appliance Tools and select Export Appliance to initiate the export task. When the export completes, you can locate the VHD image file in the destination directory you specified in the export dialog.
Q. How do I prepare a VHD file for import from Microsoft Hyper-V?
Open the Hyper-V Manager and select the virtual machine you want to export. In the Actions pane for the virtual machine, select Export to initiate the export task. Once the export completes, you can locate the VHD image file in the destination directory you specified in the export dialog.
Q. Are there any other requirements when importing a VM into Amazon EC2?
The virtual machine must be in a stopped state before generating the VMDK or VHD image. The VM cannot be in a paused or suspended state. Virtual machines with multiple virtual hard disks are not supported. We suggest that you export the virtual machine with only the boot volume attached. You can import additional disks using the ImportVolume command and attach them to the virtual machine using AttachVolume. Additionally, encrypted disks (e.g. Bit Locker) and encrypted image files are not supported. You are also responsible for ensuring that you have all necessary rights and licenses to import into Amazon Web Services and run any software included in your VM image.
Q. Does the virtual machine need to be configured in any particular manner to enable import to Amazon EC2?
Ensure Remote Desktop (RDP) or Secure Shell (SSH) is enabled for remote access and verify that your host firewall (Windows firewall, iptables, or similar), if configured, allows access to RDP or SSH. Otherwise, you will not be able to access your instance after the import is complete. Please also ensure that Windows VMs are configured to use strong passwords for all users including the administrator and that Linux VMs and configured with a public key for SSH access.
Q. How do I import a virtual machine to an Amazon EC2 instance?
You can import your VM images using the Amazon EC2 API tools:
- Import the VMDK, VHD or RAW file via the ec2-import-instance API. The import instance task captures the parameters necessary to properly configure the Amazon EC2 instance properties (instance size, availability zone, and security groups) and uploads the disk image into Amazon S3.
- If ec2-import-instance is interrupted or terminates without completing the upload, use ec2-resume-import to resume the upload. The import task will resume where it left off.
- Use the ec2-describe-conversion-task command to monitor the import progress and obtain the resulting Amazon EC2 instance ID.
- Once your import task is completed, you can boot the Amazon EC2 instance by specifying its instance ID to the ec2-run-instancesAPI.
- Finally, use the ec2-delete-disk-image command line tool to delete your disk image from Amazon S3 as it is no longer needed.
Alternatively, if you use the VMware vSphere virtualization platform, you can import your virtual machine to Amazon EC2 using a graphical user interface provided through the Amazon EC2 VM Import Connector. To get started with the Connector:
- Download the Amazon EC2 VM Import Connector vApp for VMware vCenter
- Install the Connector vApp on your vCenter Server.
- Using your VMware vSphere Client, select the VM image you’d like to import to Amazon EC2
- On the Import to EC2 tab, select the Availability Zone, operating system, instance size, security group, and VPC details (if desired) into which the image should be imported and initiate the import process.
- Launch the Amazon EC2 instance when the import process has completed.
Q. How do I export an Amazon EC2 instance back to my on-premise virtualization environment?
You can export your Amazon EC2 instance using the Amazon EC2 CLI tools:
Export the instance using the ec2-create-instance-export-task command. The export command captures the parameters necessary (instance ID, S3 bucket to hold the exported image, name of the exported image, VMDK, OVA or VHD format) to properly export the instance to your chosen format. The exported file is saved in an S3 bucket that you previously created
Use ec2-describe-export-tasks to monitor the export progress
Use ec2-cancel-export-task to cancel an export task prior to completion
Q. Are there any other requirements when exporting an EC2 instance using VM Import/Export?
You can export running or stopped EC2 instances that you previously imported using VM Import/Export. If the instance is running, it will be momentarily stopped to snapshot the boot volume. EBS data volumes cannot be exported. EC2 instances with more than one network interface cannot be exported.
Q. Can I export Amazon EC2 instances that have one or more EBS data volumes attached?
Yes, but VM Import/Export will only export the boot volume of the EC2 instance.
Q. What does it cost to import a virtual machine?
You will be charged standard Amazon S3 data transfer and storage fees for uploading and storing your VM image file. Once your VM is imported, standard Amazon EC2 instance hour and EBS service fees apply. If you no longer wish to store your VM image file in S3 after the import process completes, use the ec2-delete-disk-image command line tool to delete your disk image from Amazon S3.
Q. What does it cost to export a virtual machine?
You will be charged standard Amazon S3 storage fees for storing your exported VM image file. You will also be charged standard S3 data transfer charges when you download the exported VM file to your on-premise virtualization environment. Finally, you will be charged standard EBS charges for storing a temporary snapshot of your EC2 instance. To minimize storage charges, delete the VM image file in S3 after downloading it to your virtualization environment.
Q. When I import a VM of Windows Server 2003 or 2008, who is responsible for supplying the operating system license?
When you launch an imported VM using Microsoft Windows Server 2003 or 2008, you will be charged standard instance hour rates for Amazon EC2 running the appropriate Windows Server version, which includes the right to utilize that operating system within Amazon EC2. You are responsible for ensuring that all other installed software is properly licensed.
So then, what happens to my on-premise Microsoft Windows license key when I import a VM of Windows Server 2003 or 2008?
Since your on-premise Microsoft Windows license key that was associated with that VM is not used when running your imported VM as an EC2 instance, you can reuse it for another VM within your on-premise environment.
Q. Can I continue to use the Amazon Web Services-provided Microsoft Windows license key after exporting an EC2 instance back to my on-premise virtualization environment?
No. After an EC2 instance has been exported, the license key utilized in the EC2 instance is no longer available. You will need to reactivate and specify a new license key for the exported VM after it is launched in your on-premise virtualization platform.
Q. When I import a VM with Red Hat Enterprise Linux (RHEL), who is responsible for supplying the operating system license?
When you import Red Hat Enterprise Linux (RHEL) VM images, you can use license portability for your RHEL instances. With license portability, you are responsible for maintaining the RHEL licenses for imported instances, which you can do using Cloud Access subscriptions for Red Hat Enterprise Linux. Please contact Red Hat to learn more about Cloud Access and to verify your eligibility.
Q. How long does it take to import a virtual machine?
The length of time to import a virtual machine depends on the size of the disk image and your network connection speed. As an example, a 10 GB Windows Server 2008 SP2 VMDK image takes approximately 2 hours to import when it’s transferred over a 10 Mbps network connection. If you have a slower network connection or a large disk to upload, your import may take significantly longer.
Q. How many simultaneous import or export tasks can I have?
Each account can have up to five active import tasks and five export tasks.
Q. Can I run imported virtual machines in Amazon Virtual Private Cloud (VPC)?
Yes, you can launch imported virtual machines within Amazon VPC.
Q. Can I use the Amazon Web Services Management Console with VM Import/Export?
No. VM Import/Export commands are available via EC2 CLI and API. You can also use the VM Import Connector to import VMs into Amazon EC2. Once imported, the resulting instances are available for use via the Amazon Web Services Management Console.
Hibernate
Q: Why should I hibernate an instance?
You can hibernate an instance to get your instance and applications up and running quickly, if they take long time to bootstrap (e.g. load memory caches). You can start instances, bring them to a desired state and hibernate them. These “pre-warmed” instances can then be resumed to reduce the time it takes for an instance to return to service. Hibernation retains memory state across Stop/Start cycles.
Q: What happens when I hibernate my instance?
When you hibernate an instance, data from your EBS root volume and any attached EBS data volumes is persisted. Additionally, contents from the instance’s memory (RAM) are persisted to EBS root volume. When the instance is restarted, it returns to its previous state and reloads the RAM contents.
Q: What is the difference between hibernate and stop?
In the case of hibernate, your instance gets hibernated and the RAM data persisted. In the case of Stop, your instance gets shutdown and RAM is cleared.
In both the cases, data from your EBS root volume and any attached EBS data volumes is persisted. Your private IP address remains the same, as does your elastic IP address (if applicable). The network layer behavior will be similar to that of EC2 Stop-Start workflow. Stop and hibernate are available for Amazon EBS backed instances only. Local instance storage is not persisted.
Q: How much does it cost to hibernate an instance?
Hibernating instances are charged at standard EBS rates for storage. As with a stopped instance, you do not incur instance usage fees while an instance is hibernating.
Q: How can I hibernate an instance?
Hibernation needs to be enabled when you launch the instance. Once enabled, you can use the StopInstances API with an additional ‘Hibernate’ parameter to trigger hibernation. You can also do this through the console by selecting your instance, then clicking Actions> Instance State > Stop - Hibernate. For more information on using hibernation, refer to the user guide.
Q: How can I resume a hibernating instance?
You can resume by calling the StartInstances API as you would for a regular stopped instance. You can also do this through the console by selecting your instance, then clicking Actions > Instance State > Start.
Q: Can I enable hibernation on an existing instance?
No, you cannot enable hibernation on an existing instance (running or stopped). This needs to be enabled during instance launch.
Q: How can I tell that an instance is hibernated?
You can tell that an instance is hibernated by looking at the state reason. It should be ‘Client.UserInitiatedHibernate’. This is visible on the console under “Instances - Details” view or in the DescribeInstances API response as “reason” field.
Q: What is the state of an instance when it is hibernating?
Hibernated instances are in ‘Stopped’ state.
Q: What data is saved when I hibernate an instance?
EBS volume storage (boot volume and attached data volumes) and memory (RAM) are saved. Your private IP address remains the same (for VPC), as does your elastic IP address (if applicable). The network layer behavior will be similar to that of EC2 Stop-Start workflow.
Q: Where is my data stored when I hibernate an instance?
As with the Stop feature, root device and attached device data are stored on the corresponding EBS volumes. Memory (RAM) contents are stored on the EBS root volume.
Q: Is my memory (RAM) data encrypted when it is moved to EBS?
Yes, RAM data is always encrypted when it is moved to the EBS root volume. Encryption on the EBS root volume is enforced at instance launch time. This is to ensure protection for any sensitive content that is in memory at the time of hibernation.
Q: How long can I keep my instance hibernated?
We do not support keeping an instance hibernated for more than 60 days. You need to resume the instance and go through Stop and Start (without hibernation) if you wish to keep the instance around for a longer duration.
We are constantly working to keep our platform up-to-date with upgrades and security patches, some of which can conflict with the old hibernated instances. We will notify you for critical updates that require you to resume the hibernated instance to perform a shutdown or a reboot.
Q: What are the prerequisites to hibernate an instance?
To use hibernation, the root volume must be an encrypted EBS volume. The instance needs to be configured to receive the ACPID signal for hibernation (or use the Amazon published AMIs that are configured for hibernation). Additionally, your instance should have sufficient space available on your EBS root volume to write data from memory.
Q: Which instances and operating systems support hibernation?
For instances running Amazon Linux, Amazon Linux 2, Ubuntu, and Windows, Hibernation is supported across C3, C4, C5, C5d, I3, M3, M4, M5, M5a, M5ad, M5d, R3, R4, R5, R5a, R5ad, R5d, T2, T3, and T3a instances.
For instances running CentOS, Fedora, and Red Hat Enterprise Linux, Hibernation is supported across C5, C5d, M5, M5a, M5ad, M5d, R5, R5a, R5ad, R5d, T3, and T3a instances.
For Windows, Hibernation is supported for instances up to 16 GB of RAM. For other operating systems, Hibernation is supported for instances with less than 150 GB of RAM. To review the list of supported OS versions and instance types, refer to the user guide.
Q: Should I use specific Amazon Machine Image (AMIs) if I want to hibernate my instance?
You can use any AMI that is configured to support hibernation. You can use Amazon published AMIs that support hibernation by default. Alternatively, you can create a custom image from an instance after following the hibernation pre-requisite checklist and configuring your instance appropriately.
Q: What if my EBS root volume is not large enough to store memory state (RAM) for hibernate?
To enable hibernation, space is allocated on the root volume to store the instance memory (RAM). Make sure that the root volume is large enough to store the RAM contents and accommodate your expected usage, e.g. OS, applications. If the EBS root volume does not enough space, hibernation will fail and the instance will get shutdown instead.
Billing and purchase options
Billing
Q: How will I be charged and billed for my use of Amazon EC2?
You pay only for what you use and there is no minimum fee. Updated EC2 billing can be found here. Data transferred between Amazon Web Services services within the same region is not charged. Data transferred between Amazon Web Services services in different regions will be charged as Internet Data Transfer on both sides of the transfer. Data transferred between the Amazon Web Services China (Beijing) Region and Amazon Web Services China (Ningxia) Region will be charged as Internet Data Transfer on both sides of the transfer by different operators respectively. Usage for other Amazon services is billed separately from Amazon EC2. For detailed data transfer rates please go to the billing console.
Q: When does billing of my Amazon EC2 systems begin and end?
Billing commences when Amazon EC2 initiates the boot sequence of an AMI instance. Billing ends when the instance terminates, which could occur through a web services command, by running “shutdown -h”, or through instance failure.
Q: What defines billable EC2 instance-hours?
Instance-hours are billed for any time your instances are in a “running” state. If you no longer wish to be charged for your instance, you must "stop" or "terminate" the instance to avoid being billed for additional instance-hours. Billing starts when an instance transitions into the running state.
Q: If I have two instances in different availability zones, how will I be charged for regional data transfer?
Each instance is charged for its data in and data out. Therefore, if data is transferred between these two instances, it is charged out for the first instance and in for the second instance.
Q: Do your prices include taxes?
Except as otherwise noted, our prices are exclusive of applicable taxes and duties, including VAT and applicable sales tax.
Spot Instances
Q. What is a Spot Instance?
Spot instances are spare EC2 capacity that can save you up 90% off of On-Demand prices that Amazon Web Services can interrupt with a 2-minute notification. Spot uses the same underlying EC2 instances as On-Demand and Reserved Instances, and is best suited for fault-tolerant, flexible workloads. Spot instances provides an additional option for obtaining compute capacity and can be used along with On-Demand and Reserved Instances
Q. How is a Spot instance different than an On-Demand instance or Reserved Instance?
While running, Spot instances are exactly the same as On-Demand or Reserved instances. The main differences are that Spot instances typically offer a significant discount off the On-Demand prices, your instances can be interrupted by Amazon EC2 for capacity requirements with a 2-minute notification, and Spot prices adjust gradually based on long term supply and demand for spare EC2 capacity. See here for details.
Q. How do I purchase and start up a Spot instance?
Spot instances can be launched using the same tools you use launch instances today, including Amazon Web Services Management Console, Auto-Scaling Groups, Run Instances and Spot Fleet. In addition many Amazon Web Services services support launching Spot instances such as EMR, Cloudformation.
Spot instances are easy to launch. Add a single parameter to the same API used to launch OD instances - instances will be launched immediately as long as capacity is available.
See here for more details on how to request Spot instances.
Q. How many Spot instances can I request?
You are limited to requesting Spot instances per your dynamic Spot limit for each region. Note that not all instance types are available on Spot, and new Amazon Web Services accounts might start with a lower limit. To learn more about Spot instance limits, please refer to the Amazon EC2 User Guide.
If you would like a higher limit, complete the Amazon EC2 instance request form with your use case and your instance increase will be considered. Limit increases are tied to the region they were requested for.
Q. What price will I pay for a Spot instance?
You pay the Spot price that’s in effect at the beginning of each instance-hour for your running instance. If Spot price changes after you launch the instance, the new price is charged against the instance usage for the subsequent hour.
Q. What is a Spot capacity pool?
A Spot capacity pool is a set of unused EC2 instances with the same instance type, operating system, Availability Zone, and network platform (EC2-Classic or EC2-VPC). Each spot capacity pool can have a different price based on supply and demand.
Q. What are the best practices to use Spot instances?
We highly recommend using multiple Spot capacity pools to maximize the amount of Spot capacity available to you. EC2 provides built-in automation to find the most cost-effective capacity across multiple Spot capacity pools using Spot Fleet. For more information, please see using Spot instances.
Q. How can I determine the status of my Spot request?
You can determine the status of your Spot request via Spot Request Status code and message. You can access Spot Request Status information on the Spot Instance page of the EC2 console of the Amazon Web Services Management Console, API and CLI. For more information, please visit the Amazon EC2 Developer guide.
Q. Are Spot instances available for all instance families and sizes and in all regions?
Spot instances are available in all public Amazon Web Services regions. Spot is available for nearly all EC2 instance families and sizes, including the newest compute-optimized instances, accelerated graphics, FPGA and the new bare-metal instance types.
Q. Which operating systems are available as Spot instances?
Linux/UNIX and Windows Server are available. Windows Server with SQL Server is not currently available.
Q. Can I use a Spot instance with a paid AMI for third-party software (such as IBM’s software packages)?
Not at this time.
Q. Can I stop my running Spot Instances?
Yes, you can “stop” your running Spot Instances when they are not needed and keep these stopped instances for later use, instead of terminating instances or cancelling the Spot request. Stop is available for persistent Spot requests.
Q. How can I stop the Spot Instances?
You can stop your Spot Instances by calling the StopInstances API and providing Instance Ids of the Spot Instances similar to stopping your On-Demand Instances. You can also do this through the Amazon Web Services Management Console by selecting your instance, then clicking Actions > Instance State > Stop.
Q. How can I start the stopped Spot Instances?
You can start the stopped Spot Instances by calling the StartInstances API and providing Instance Ids of the Spot Instances similar to starting your On-Demand Instances. You can also do this through the Amazon Web Services Management Console by selecting your instance, then clicking Actions > Instance State > Start.
Note: The Spot Instances will start only if Spot capacity is still available within your maximum price. Spot evaluates capacity availability every time whenever you will start the stopped Spot instances.
Q: How can I tell whether I have stopped my Spot Instance or it has been interrupted?
You can tell that the Spot Instance has been stopped by you or interrupted by looking at the Spot Request Status code. This is visible as Spot Request Status on the Spot Requests page of the Amazon Web Services Management Console or in the DescribeSpotInstanceRequests API response as “status-code” field.
If the Spot request status code is “instance-stopped-by-user”, it means that you have stopped your spot instance.
Q. How will I be charged if my Spot instance is stopped or interrupted?
If your Spot instance is terminated or stopped by Amazon EC2 in the first instance hour, you will not be charged for that usage. However, if you stop or terminate the Spot instance yourself, you will be charged to the nearest second. If the Spot instance is terminated or stopped by Amazon EC2 in any subsequent hour, you will be charged for your usage to the nearest second. If you are running on Windows or Red Hat Enterprise Linux (RHEL) and you stop or terminate the Spot instance yourself, you will be charged for an entire hour.
Q. When will my Spot instance get interrupted?
Over the last 3 months, 92% of Spot instance interruptions were from a customer manually terminating the instance because the application had completed it's work. In the circumstance, EC2 needs to reclaim your Spot instance it can be for two possible reasons, with the primary one being Amazon EC2 capacity requirements (e.g. On Demand or Reserved Instance usage). Secondarily, if you have chosen to set a “maximum Spot price” and the Spot price rises above this, your instance will be reclaimed with a two-minute notification. This parameter determines the maximum price you would be willing to pay for a Spot instance hour, and by default, is set at the On-Demand price. As before, you continue to pay the Spot market price, not your maximum price, at the time your instance was running, charged in per-second increments.
Q. What happens to my Spot instance when it gets interrupted?
You can choose to have your Spot instances terminated, stopped or hibernated upon interruption. Stop and hibernate options are available for persistent Spot requests and Spot Fleets with the “maintain” option enabled. By default, your instances are terminated.
Refer to Spot Hibernation to learn more about handling interruptions.
Q. What is the difference between Stop and Hibernate interruption behaviors?
In the case of Hibernate, your instance gets hibernated and the RAM data persisted. In the case of Stop, your instance gets shutdown and RAM is cleared.
In both the cases, data from your EBS root volume and any attached EBS data volumes is persisted. Your private IP address remains the same, as does your elastic IP address (if applicable). The network layer behavior will be similar to that of EC2 Stop-Start workflow. Stop and Hibernate are available for Amazon EBS backed instances only. Local instance storage is not persisted.
Q. What if my EBS root volume is not large enough to store memory state (RAM) for Hibernate?
You should have sufficient space available on your EBS root volume to write data from memory. If the EBS root volume does not enough space, hibernation will fail and the instance will get shutdown instead. Ensure that your EBS volume is large enough to persist memory data before choosing the hibernate option.
Q. What is the benefit if Spot hibernates my instance on interruption?
With hibernate, Spot instances will pause and resume around any interruptions so your workloads can pick up from exactly where they left off. You can use hibernation when your instance(s) need to retain instance state across shutdown-startup cycles, i.e. when your applications running on Spot depend on contextual, business, or session data stored in RAM.
Q. What do I need to do to enable hibernation for my Spot instances?
Refer to Spot Hibernation to learn about enabling hibernation for your Spot instances.
Q. Do I have to pay for hibernating my Spot instance?
There is no additional charge for hibernating your instance beyond the EBS storage costs and any other EC2 resources you may be using. You are not charged instance usage fees once your instance is hibernated.
Q. Can I resume a hibernated instance?
No, you will not be able to resume a hibernated instance directly. Hibernate-resume cycle is controlled by Amazon EC2. If an instance is hibernated by Spot, it will be resumed by Amazon EC2 when the capacity becomes available.
Q. Which instances and operating systems support hibernation?
Spot Hibernation is currently supported for Amazon Linux AMIs, Ubuntu and Microsoft Windows operating systems running on any instance type across C3, C4, C5, M4, M5, R3, R4 instances with memory (RAM) size less than 100 GiB.
To review the list of supported OS versions, refer to Spot Hibernation.
Q. How will I be charged if Spot price changes while my instance is running?
You will pay the price per instance-hour set at the beginning of each instance-hour for the entire hour, billed to the nearest second.
Q. Where can I see my usage history for Spot instances and see how much I was billed?
The Amazon Web Services Management Console makes a detailed billing report available which shows Spot instance start and termination/stop times for all instances. Customers can check the billing report against historical Spot prices via the API to verify that the Spot price they were billed is correct.
Q: Are Spot blocks (Fixed Duration Spot instances) ever interrupted?
Spot blocks are designed not to be interrupted and will run continuously for the duration you select, independent of Spot market price. In rare situations, Spot blocks may be interrupted due to Amazon Web Services capacity needs. In these cases, we will provide a two-minute warning before we terminate your instance (termination notice), and you will not be charged for the affected instance(s).
Q. What is a Spot fleet?
A Spot Fleet allows you to automatically request and manage multiple Spot instances that provide the lowest price per unit of capacity for your cluster or application, like a batch processing job, a Hadoop workflow, or an HPC grid computing job. You can include the instance types that your application can use. You define a target capacity based on your application needs (in units including instances, vCPUs, memory, storage, or network throughput) and update the target capacity after the fleet is launched. Spot fleets enable you to launch and maintain the target capacity, and to automatically request resources to replace any that are disrupted or manually terminated. Learn more about Spot fleets.
Q. Is there any additional charge for making Spot fleet requests?
No, there is no additional charge for Spot fleet requests.
Q. What limits apply to a Spot fleet request?
Visit the Spot Fleet Limits section of the Amazon EC2 User Guide to learn about the limits that apply to your Spot fleet request.
Q. What happens if my Spot fleet request tries to launch Spot instances but exceeds my regional Spot request limit?
If your Spot fleet request exceeds your regional Spot instance request limit, individual Spot instance requests will fail with Spot request limit exceeded bid status. Your Spot fleet request’s history will show any Spot request limit errors that the fleet request received. Visit the Monitoring Your Spot Fleet section of the Amazon EC2 User Guide to learn how to describe your Spot fleet request's history.
Q. Are Spot fleet requests guaranteed to be fulfilled?
No. Spot fleet requests allow you to place multiple Spot instance requests simultaneously, and are subject to the same availability and prices as a single Spot instance request. For example, if no resources are available for the instance types listed in your Spot Fleet request, we may be unable to fulfill your request partially or in full. We recommend you to include all the possible instance types and availability zones that are suitable for your workloads in the Spot Fleet.
Q. Can I submit a multi-Availability Zone fleet request?
Yes, visit the Spot Fleet Examples section of the Amazon EC2 User Guide to learn how to submit a multi-Availability Zone Spot fleet request.
Q. Can I submit a multi-region Spot fleet request?
No, we do not support multi-region fleet requests.
Q. How does Spot fleet allocate resources across the various Spot instance pools specified in the launch specifications?
The RequestSpotFleet API provides two allocation strategies: lowestPrice and diversified. The lowestPrice strategy allows you to provision your Spot Fleet resources in instance pools that provide the lowest price per unit of capacity at the time of the request. The diversified strategy allows you to provision your Spot Fleet resources across multiple Spot instance pools. This enables you to maintain your fleet’s target capacity and increase your application’s availability as Spot capacity fluctuates.
Running your application’s resources across diverse Spot instance pools also allows you to further reduce your fleet’s operating costs over time. Visit the Amazon EC2 User Guide to learn more.
Q. Can I tag a Spot fleet request?
You can request to launch Spot instances with tags via Spot Fleet. The Fleet by itself cannot be tagged.
Q. How can I see which Spot fleet owns my Spot instances?
You can identify the Spot instances associated with your Spot fleet by describing your fleet request. Fleet requests are available for 48 hours after all its Spot instances have been terminated. See the Amazon EC2 User Guide to learn how to describe your Spot fleet request.
Q. Can I modify my Spot fleet request?
Currently, you can only modify the target capacity of your Spot fleet request. You may need to cancel the request and submit a new one to change other request configuration parameters.
Q. Can I specify a different AMI for each instance type that I want to use?
Yes, simply specify the AMI you’d like to use in each launch specification you provide in your Spot fleet request.
Q. Can I use Spot fleet with Elastic Load Balancing, Auto Scaling, or Elastic MapReduce?
You can use Auto Scaling features with Spot Fleet such as target tracking, health checks, cloudwatch metrics etc and can attach instances to your Elastic load balancers (both classic and application load balancers). Elastic MapReduce has a feature named “Instance fleets” that provides capabilities similar to Spot Fleet.
Q. Does a Spot fleet request terminate Spot instances when they are no longer running in the lowest priced Spot pools and relaunch them in the lowest priced pools?
No, Spot fleet requests do not automatically terminate and re-launch instances while they are running. However, if you terminate a Spot instance, Spot fleet will replenish it with a new Spot instance in the new lowest priced pool.
Reserved Instances
Q: What is a Reserved Instance?
A Reserved Instance (RI) is an EC2 offering that provides you with a significant discount on EC2 usage when you commit to a 1 year or 3-year term.
Q: What are the differences between Standard RIs and Convertible RIs?
Standard RIs offer a significant discount on EC2 instance usage when you commit to a particular instance family. Convertible RIs offer you the option to change your instance configuration during the term, and still receive a discount on your EC2 usage. For more information on Convertible RIs, please click here.
Q: Do RIs provide a capacity reservation?
Yes, when a Standard or Convertible RI is scoped to a specific Availability Zone (AZ), instance capacity matching the exact RI configuration is reserved for your use (these are referred to as “zonal RIs”). Zonal RIs give you additional confidence in your ability to launch instances when you need them.
You can also choose to forego the capacity reservation and purchase Standard or Convertible RIs that are scoped to a region (referred to as “regional RIs”). Regional RIs automatically apply the discount to usage across AZs and instance sizes in a region, making it easier for you to take advantage of the RI’s discounted rate.
Q: When should I purchase a zonal RI?
If you want to take advantage of the capacity reservation, then you should buy a zonal RI.
Q: When should I purchase a regional RI?
If you do not require the capacity reservation, then you should buy a regional RI. Regional RIs provide AZ and instance size flexibility, which offers broader applicability of the RI’s discounted rate.
Q: What are AZ and instance size flexibility?
AZ and instance size flexibility make it easier for you to take advantage of your regional RI’s discounted rate. AZ flexibility applies your RI’s discounted rate to usage in any Availability Zone in a region, while instance size flexibility applies your RI’s discounted rate to usage of any size within an instance family. Let’s say you own an m4.2xlarge Linux/UNIX regional RI with default tenancy in China (Beijing). Then this RI’s discounted rate can automatically apply to two m4.xlarge instances in cn-north-1a or four m4.large instances in cn-north-1b.
Q: What types of RIs provide instance size flexibility?
Linux/UNIX regional RIs with the default tenancy provide instance size flexibility. Instance size flexibility is not available on RIs of other platforms such as Windows, Windows with SQL Standard, Windows with SQL Server Enterprise, Windows with SQL Server Web, RHEL, and SLES.
Q: Do I need to take any action to take advantage of AZ and instance size flexibility?
Regional RIs do not require any action to take advantage of zonal and instance size flexibility.
Q: I own Zonal RIs how do I assign them to a region?
You can assign your zonal RIs to its region by modifying the scope of the RI from a specific Availability Zone to the region from the EC2 management console or by calling the ModifyReservedInstances API.
Q: How do I purchase an RI?
To get started, you can purchase an RI from the EC2 Management Console or by using the Amazon CLI. Simply specify the instance type, platform, tenancy, term, payment option and Region or Availability Zone.
Q: Can I purchase an RI for a running instance?
Yes, Amazon Web Services will automatically apply an RI’s discounted rate to any applicable instance usage from the time of purchase. Visit the Getting Started page to learn more.
Q: Can I control which instances are billed at the discounted rate?
No. Amazon Web Services automatically optimizes which instances are charged at the discounted rate to ensure you always pay the lowest amount. For information about hourly billing, and how it applies to RIs, see Billing Benefits and Payment Options.
Q: How does instance size flexibility work?
EC2 uses the scale shown below, to compare different sizes within an instance family. In the case of instance size flexibility on RIs, this scale is used to apply the discounted rate of RIs to the normalized usage of the instance family. For example, if you have an m4.2xlarge RI that is scoped to a region, then your discounted rate could apply towards the usage of 1 m4.2xlarge or 2 m4.xlarge instances.
Click here to learn more about how instance Size flexibility of RIs applies to your EC2 usage. And click here to learn about how instance size flexibility of RIs is presented in the Cost & Usage Report.
Instance Size |
Normalization Factor |
nano |
0.25 |
micro | 0.5 |
small | 1 |
medium | 2 |
large | 4 |
xlarge | 8 |
2xlarge | 16 |
4xlarge | 32 |
8xlarge | 64 |
10xlarge | 80 |
16xlarge | 128 |
32xlarge | 256 |
Q: Can I change my RI during its term?
Yes, you can modify the Availability Zone of the RI, change the scope of the RI from Availability Zone to region (and vice-versa), change the network platform from EC2-VPC to EC2-Classic (and vice versa) or modify instance sizes within the same instance family (on the Linux/UNIX platform).
Q: Can I change the instance type of my RI during its term?
Yes, Convertible RIs offer you the option to change the instance type, operating system, tenancy or payment option of your RI during its term. Please refer to the Convertible RI section of the FAQ for additional information.
Q: What are the different payment options for RIs?
You can choose amongst three payment options when you purchase an RI. With the All Upfront option, you pay for the entire RI term with one upfront payment. With the Partial Upfront option, you make a low upfront payment and are then charged a discounted hourly rate for the instance for the duration of the RI term. The No Upfront option does not require any upfront payment and provides a discounted hourly rate for the duration of the term.
Q: When are RIs activated?
The billing discount and capacity reservation (if applicable) is activated once your payment has successfully been authorized. You can view the status (pending | active | retired) of your RIs on the "Reserved Instances" page of the Amazon EC2 Console.
Q: Do RIs apply to Spot Instances or instances running on a Dedicated Host?
No, RIs do not apply to Spot Instances or instances running on Dedicated Hosts. To lower the cost of using Dedicated Hosts, purchase Dedicated Host Reservations.
Q: How do RIs work with Consolidated Billing?
Our system automatically optimizes which instances are charged at the discounted rate to ensure that the consolidated accounts always pay the lowest amount. If you own RIs that apply to an Availability Zone, then only the account which owns the RI will receive the capacity reservation. However, the discount will automatically apply to usage in any account across your consolidated billing family.
Q: Can I get a discount on RI purchases?
Yes, EC2 provides tiered discounts on RI purchases. These discounts are determined based on the total list value (non-discounted price) for the active RIs you have per region. Your total list value is the sum of all expected payments for an RI within the term, including both the upfront and recurring hourly payments. The tier ranges and corresponding discounts are shown alongside.
Tier Range of List Value | Discount on Upfront | Discount on Hourly |
---|---|---|
Less than ¥3,200,000 | 0% | 0% |
¥3,200,000 - ¥25,000,000 | 5% | 5% |
¥25,000,000 - ¥64,000,000 | 10% | 10% |
More than ¥64,000,000 | Call Us |
Q: Can you help me understand how volume discounts are applied to my RI purchases?
Sure. Let's assume you currently have ¥3,000,000 worth of active Reserved Instances in the China (Beijing) region. You want to purchase 30 Reserved Instances with a list value of ¥10,000 each. That would be a total of ¥300,000 without any discount tiers. The first ¥200,000 of this purchase would be discounted at 0 percent. The remaining ¥100,000 of this purchase would be discounted by 5 percent, so you would only be charged ¥95,000 over the term for the purchase, and you would pay discounted hourly fees on those reservations. The same rule applies to the China (Ningxia) Region.
To learn more, please visit the Understanding Reserved Instance Discount Pricing Tier portion of the Amazon EC2 User Guide.
Q: How do I calculate the list value of an RI?
Here is a sample list value calculation for 3yr Partial Upfront Reserved Instances:
3yr Partial Upfront Volume Discount Value in US-East | ||||
---|---|---|---|---|
Upfront $ | Recurring Hourly $ | Recurring Hourly Value | List Value | |
m3.xlarge | ¥5,629 | ¥0.348 | ¥3048 | ¥8677 |
c3.xlarge | ¥4,236 | ¥0.205 | ¥1796 | ¥6032 |
Q: How are volume discounts calculated if I use Consolidated Billing?
If you leverage Consolidated Billing, Amazon Web Services will use the aggregate total list price of active RIs under that region across all of your consolidated accounts to determine which volume discount tier to apply. Volume discount tiers are determined at the time of purchase, so you should activate Consolidated Billing prior to purchasing RIs to ensure that you benefit from the largest possible volume discount that your consolidated accounts are eligible to receive.
Q: Do Convertible RIs qualify for Volume Discounts?
No, however the value of each Convertible RI that you purchase contributes to your volume discount tier standing.
Q: How do I determine which volume discount tier applies to me?
To determine your current volume discount tier, please consult the Understanding Reserved Instance Discount Pricing Tiers portion of the Amazon EC2 User Guide.
Q: Will the cost of my RIs change, if my future volume qualifies me for other discount tiers?
No. Volume discounts are determined at the time of purchase, therefore the cost of your RIs will continue to remain the same as you qualify for other discount tiers. Any new purchase will be discounted according to your eligible volume discount tier at the time of purchase.
Q: Do I need to take any action at the time of purchase to receive volume discounts?
No, you will automatically receive volume discounts when you use the existing PurchaseReservedInstance API or EC2 Management Console interface to purchase RIs. If you purchase more than ¥64,000,000 worth of RIs contact us about receiving discounts beyond those that are automatically provided.
Convertible RIs
Q: What is a Convertible RI?
A Convertible RI is a type of Reserved Instance with attributes that can be changed during the term.
Q: When should I purchase a Convertible RI instead of a Standard RI?
The Convertible RI is useful for customers who can commit to using EC2 instances for a three-year term in exchange for a significant discount on their EC2 usage, are uncertain about their instance needs in the future, or want to benefit from changes in price.
Q: Can I exchange my Convertible RI to benefit from a Convertible RI matching a different instance type, operating system, tenancy, or payment option?
Yes, you can select a new instance type, operating system, tenancy, or payment option when you exchange your Convertible RIs. You also have the flexibility to exchange a portion of your Convertible RI or merge the value of multiple Convertible RIs in a single exchange. Click here to learn more about exchanging Convertible RIs.
Q: Can I transfer a Convertible or Standard RI from one region to another?
No, a RI is associated with a specific region, which is fixed for the duration of the reservation's term.
Q: How do I change the configuration of a Convertible RI?
You can change the configuration of your Convertible RI using the EC2 Management Console or the GetReservedInstancesExchangeQuote API. You also have the flexibility to exchange a portion of your Convertible RI or merge the value of multiple Convertible RIs in a single exchange. Click here to learn more about exchanging Convertible RIs.
Q: Do I need to pay a fee when I exchange my Convertible RIs?
No, you do not pay a fee when you exchange your Convertible RIs. However, you may need to pay a one-time true-up charge that accounts for differences in pricing between the Convertible RIs that you have and the Convertible RIs that you want.
Q: How do Convertible RI exchanges work?
When you exchange one Convertible RI for another, EC2 ensures that the total value of the Convertible RI is maintained through a conversion. So, if you are converting your RI with a total value of ¥1,000 for another RI, you will receive a quantity of Convertible RIs with a value that’s equal to or greater than ¥1,000. You cannot convert your Convertible RI for Convertible RI(s) of a lesser total value.
Q: Can you define total value?
The total value is the sum of all expected payments that you’d make during the term for the RI.
Q: Can you walk me through how the true-up cost is calculated for a conversion between two All Upfront Convertible RIs?
Sure, let’s say you purchased an All Upfront Convertible RI for ¥1,000 upfront and you decide to change the attributes of the RI halfway through the term. Since you’re halfway through the RI term, you have ¥500 left of prorated value remaining on the RI. The All Upfront Convertible RI that you want to convert into costs ¥1200 upfront today. Since you only have half of the term left on your existing Convertible RI, there is ¥600 of value remaining on the desired new Convertible RI. The true-up charge that you’ll pay will be the difference in upfront value between original and desired Convertible RI, or ¥100 (¥600 - ¥500).
Q: Can you walk me through a conversion between No Upfront Convertible RI?
Unlike conversions between Convertible RI with an upfront value, since you’re converting between RIs without an upfront cost, there will not be a true-up charge. However, the amount you pay on an hourly basis before the exchange will need to be greater than or equal to the amount you pay on a total hourly basis after the exchange.
For example, let’s say you purchased one No Upfront Convertible RI (A) with a ¥0.10/hr rate, and you decide to exchange Convertible RI A for another RI (B) that costs ¥0.06/hr. When you convert, you will receive two RIs of B because the amount that you pay on an hourly basis must be greater than or equal to the amount you’re paying for A on an hourly basis.
Q: Can I customize the number of instances that I receive as a result of a Convertible RI exchange?
No, EC2 uses the value of the Convertible RIs you’re trading in to calculate the minimal number of Convertible RIs you’ll receive while ensuring the result of the exchange gives you Convertible RIs of equal or greater value.
Q: Are there exchange limits for Convertible RIs?
No, there are no exchange limits for Convertible RIs.
Q: Do I have the freedom to choose any instance type when I exchange my Convertible RIs?
No, you can only exchange into Convertible RIs that are currently offered by Amazon Web Services.
Q: Can I upgrade the payment option associated with my Convertible RI?
Yes, you can upgrade the payment option associated with your RI. For example, you can exchange your No Upfront RIs for Partial or All Upfront RIs to benefit from better pricing. You cannot change the payment option from All Upfront to No Upfront, and cannot change from Partial Upfront to No Upfront.
Q: Do Convertible RIs allow me to benefit from price reductions when they happen?
Yes, you can exchange your RIs to benefit from lower pricing. For example, if the price of new Convertible RIs reduces by 10%, you can exchange your Convertible RIs and benefit from the 10% reduction in price.
On-Demand Capacity Reservations
Q. What is an On-Demand Capacity Reservation?
An On-Demand Capacity Reservation is an EC2 offering that lets you create and manage reserved capacity on Amazon EC2. You can create a Capacity Reservation by simply choosing from Amazon Web Services China (Beijing) Region, operated by Sinnet, or Amazon Web Services China (Ningxia) Region, operated by NWCD, an Availability Zone within the region, and quantity (number of instances) along with other instance specifications such as instance type and tenancy. Once created, the EC2 capacity is held for you regardless of whether you run instances or not. You’ll effectively pay for the full value of the reservation as long as the Capacity Reservation remains active.
Q. What is the difference between an On-Demand Capacity Reservation and a Zonal RI (RI in a specific Availability Zone within a region), which also provides a capacity reservation?
Zonal RIs provide the benefit of capacity reservation and a discount, in return for a one to three year commitment. On-Demand Capacity Reservations allow you to reserve capacity for any duration without a commitment. With a Capacity Reservation, you can add or subtract capacity as needed, view utilization in real time, and target a reservation for a specific workload.
Q. When should I use On-Demand Capacity Reservations and when should I use RIs?
A. Use Capacity Reservations when you want to manage capacity independently of your RIs (discounts). For example, you can have operational teams focus on day to day capacity management through Capacity Reservations, and have a separate review process to purchase RIs with long term commitments.
Use Zonal RIs when you want the benefit of a capacity reservation and a discount, in return for a one to three year commitment. In this case the capacity reservation is coupled with the discount.
Use Regional RIs to automatically apply the RI’s discount to instance usage across AZs and instance sizes in a region, making it easier for you to take advantage of the RI’s discounted rate. Regional RIs don’t provide capacity reservation but their discount applies to unused On-Demand Capacity Reservations in the region with matching instance attributes.
Q. How much do Capacity Reservations cost?
When the Capacity Reservation is active, you will pay equivalent instance charges whether you run the instances or not. If you do not use the reservation, this will show up as unused reservation on your EC2 bill. When you run an instance that matches the attributes of a reservation, you just pay for the instance and nothing for the reservation. There are no upfront or additional charges.
For example, if you create a Capacity Reservation for 20 c5.2xlarge instances and you run 15 c5.2xlarge instances, you will be charged for 15 instances and 5 unused spots in the reservation (effectively charged for 20 instances).
Q. Do Regional RI discounts apply to On-Demand Capacity Reservations?
Yes. Regional RI discounts apply to unused Capacity Reservations. Amazon Web Services Billing automatically applies your RI discount when the attributes of a Capacity Reservation match the attributes of an active Regional RI. When a Capacity Reservation is used by an instance, you are only charged for instance usage (with existing discounts applied) and not charged for the reservation. Regional RI discounts are preferentially applied to running instances before covering unused Capacity Reservations.
For example, if you have a Regional RI for 50 c5.2xlarge instances and a Capacity Reservation for 50 c5.2xlarge instances in the same region, the RI discount will apply to the unused portion of the reservation. Note that discounts will first apply to any c5 instance usage (across instances sizes) within that region before applying to unused reservations.
Q. Do Zonal RI discounts apply to Capacity Reservations?
No. Zonal RI discounts do not apply to Capacity Reservations as Zonal RIs already provide a capacity benefit.
Q. Do I need to convert my existing Zonal RIs into a Capacity Reservation?
No. You can continue using Zonal RIs if you don't want the flexibility of a Capacity Reservation. Capacity Reservations can be paired with a Regional RI to achieve the same discount as a Zonal RI but with added benefits that come with a Capacity Reservation i.e. the ability to add or subtract capacity at any time, view utilization in real-time, and the ability to target a reservation for specific workloads.
Q. How many instances am I allowed to reserve?
The number of instances you are allowed to reserve is based on your account's On-Demand instance limit. You can reserve as many instances as that limit allows, minus the number of instances that are already running.
If you need a higher limit, contact Amazon Web Services support team here.
Q. Can I modify a Capacity Reservation after it has started?
Yes. You can reduce the number of instances you reserved at any time. You can also increase the number of instances (subject to availability). You can also modify the end time of your reservation. You cannot modify a Capacity Reservation that has ended or has been deleted.
Q. Can I end a Capacity Reservation after it has started?
Yes. You can end a Capacity Reservation by canceling it using the console or API/SDK, or by modifying your reservation to specify an end time that makes it expire automatically. Running instances are unaffected by changes to your Capacity Reservation including deletion or expiration of a reservation.
Q. Where can I find more information about using Capacity Reservations?
Refer to Linux or Windows technical documentations to learn about creating and using a Launch Reservation.
Workloads
Amazon EC2 Running Microsoft Windows and Other Third-Party Software
Q. Can I use my existing Windows Server license with EC2?
You can bring your own Windows Server licenses to Amazon EC2 Dedicated Hosts in Amazon Web Services China (Ningxia) region, operated by NWCD and Amazon Web Services China (Beijing) Region, operated by Sinnet. We encourage you to work with your Microsoft account representative to understand licensing options.
Q. What software licenses can I bring to the Windows environment?
Specific software license terms vary from vendor to vendor. Therefore, we recommend that you check the licensing terms of your software vendor to determine if your existing licenses are authorized for use in Amazon EC2.
Amazon EC2 Running IBM
Q. How am I billed for my use of Amazon EC2 running IBM?
You pay only for what you use and there is no minimum fee. Pricing is per instance-hour consumed for each instance type. Partial instance-hours consumed are billed as full hours. Data transfer for Amazon EC2 running IBM is billed and tiered separately from Amazon EC2.