Amazon DevPay
Developer Guide (API Version 2007-12-01)

Supported AMIs


Amazon DevPay is not accepting new seller accounts at this time. Please see AWS Marketplace for information on selling your applications on Amazon Web Services.

With a supported AMI, you charge for software or a service you provide that customers use with their own AMIs. The customer's AMI must be instance store-backed and not Amazon EBS-backed.

The main difference between a paid AMI and a supported AMI is how the AMI is associated with a product code:

  • Paid AMI—You associate your own product code with your own AMI

  • Supported AMI—Customers associate your product code with their own AMIs

Amazon EC2 prevents your customers (but not you as the product code owner) from associating your product code with AMI types the product isn't configured for. For example, if the product is configured only for Linux/UNIX AMIs, your customers can't associate the product code with Windows AMIs. Also, Amazon EC2 prevents your customers from launching specific instance types your product isn't configured for.

Each customer's usage for the AMI is displayed on their Application Billing page. For more information, see Where Customers Get Information About Their Bills.

At any time, you can confirm the customer is still currently subscribed to your product. For more information, see Confirming a Customer's Subscription Status.

If your product is software that customers install on their AMIs, you can have the software retrieve the instance metadata to check if the customer has actually associated the product code with the AMI. For more information, see the section about instance metadata in the Amazon Elastic Compute Cloud Developer Guide. Keep in mind that for Linux/UNIX AMIs, this method is not foolproof because a customer with root access could return false information indicating the product code is associated with the instance.

Process for Creating and Using Supported AMIs


You register your product with DevPay.

As part of this process, you provide a product description, configure the product, and specify its price. This registration process creates an 8-character product code for the product, a product token for the product, and a purchase URL where customers can sign up to use the product. For more information, see Registering Your Product and Set Up Your Product's Configuration and Price.


DevPay works only with Amazon S3-backed AMIs. In your product description, make it clear your product is for Amazon S3-backed AMIs (those using an instance store root device), and not Amazon EBS-backed AMIs (those using an Amazon EBS root device).


You make your product available for sale.

To do this, you make the aforementioned purchase URL available. You can advertise the product in the Solutions Catalog on the AWS Developer Connection site.


Customers click the purchase URL and sign up for your product.

For an example of what the customer sees during the purchase process, see Appendix: The Customer Purchase Experience. If they're not already signed up for Amazon EC2, they'll be prompted to sign up. They purchase your product with their accounts. They must also have an AWS developer account and the credentials needed to launch Amazon EC2 instances.

At this point, they have the product code.


Customers associate the product code with their own AMIs.

For more information, see Associating a Product Code with an AMI.


Customers launch instances of their own AMIs.

Because the customers signed up for your product and then associated your product code with their AMIs, you are charged for the Amazon EC2 costs (instance-hours and bandwidth) they incur when using those AMIs. However, the customers are also charged at the rate you specified during product registration.


If you configure your product for a particular instance type, your customers can launch that instance type regardless of the price you set. You can set the price to any value, including $0.00. Setting the price to $0.00 does not prevent customers from launching that instance type; however, it prevents that instance type from appearing in your product price. Customers could still launch that instance type and incur EC2 costs that you would be responsible for. But, because you set the price to $0.00, the customers would pay no hourly instance charges. Keep this in mind when you set the price for your product.