Getting started with container products - AWS Marketplace

Getting started with container products

This topic describes all the steps related to creating, testing, and publishing your first container product for AWS Marketplace.

Prerequisites

Before you get started, you must complete the following prerequisites:

  1. Access and use the AWS Marketplace Management Portal. This is the tool that you use to register as a seller and manage the products that you sell on AWS Marketplace. For more information, see AWS Marketplace Management Portal.

  2. Register as a seller, and submit your tax and banking information. For more information, see Seller registration process.

  3. Create at least one container in Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS), or AWS Fargate. Make sure that you have links for the associated images.

  4. Plan how you'll create and integrate your container product in AWS Marketplace.

    We recommend that you plan your pricing, entitlement, and metering strategy well in advance of publicly publishing your product.

Creating a container product

Creating a container product involves the following steps:

The first two steps must happen before you can edit any other details in AWS Marketplace. However, you can perform the other steps in the order that makes the most sense to you or in parallel.

The following topics describe each of these steps.

Updating a container product

Updating a container product involves the following steps:

  1. Add a new version of your product, including:

    1. Add repositories for your containers.

    2. Upload the final containers into the repositories.

    3. Create the first version of the product with your first container images.

  2. Update the product version information.

  3. Publish the product for buyers.

Updating the allowlist of AWS account IDs

You can change the list of AWS account IDs that can view your product in a limited state. Allow-listed accounts display a Limited badge alongside the product version on the product detail page.

  1. Open the AWS Marketplace Management Portal at https://aws.amazon.com/marketplace/management/tour/ and sign in to your seller account.

  2. From the Server Products page, select the container product that you want to modify.

  3. From the Request changes dropdown list, select Update allowlist. The current list of accounts that are allowlisted is shown.

  4. In the Allowlisted AWS accounts field, enter the AWS account IDs and separate them using a comma.

  5. Choose Submit to submit your request for review.

  6. Verify that the Requests tab shows the Request status as Under review. When the request completes, the status will update to Succeeded or Failed.

Adding a pricing dimension

You can add a pricing dimension to the pricing model that you use for your product billing. For more information about pricing models, see Container pricing models.

Note

Adding a pricing dimension for a contract with consumption pricing (for example, pay-as-you-go pricing for additional usage) isn't available on the AWS Marketplace Management Portal.

You can't change your pricing model between contract, usage, and contract with consumption pricing. Contact the AWS Marketplace Seller Operations team for assistance.

  1. Open the AWS Marketplace Management Portal at https://aws.amazon.com/marketplace/management/tour/ and sign in to your seller account.

  2. From the Server Products page, select the container product that you want to modify.

  3. From the Request changes dropdown list, select Update pricing dimensions, and then select Add pricing dimensions.

  4. Depending on the pricing model, you can add contract dimensions or usage dimensions by providing information for API identifier, Display name, and Description.

  5. Choose Next, and enter your contract dimension pricing.

  6. Choose Submit to submit your request for review.

  7. Verify that the Requests tab shows the Request status as Under review. When the request completes, the status will update to Succeeded or Failed.

Updating dimension information

You can change the dimensions information for your product. For more information about pricing models, see Container pricing models.

  1. Open the AWS Marketplace Management Portal at https://aws.amazon.com/marketplace/management/tour/ and sign in to your seller account.

  2. From the Server Products page, select the container product that you want to modify.

  3. From the Request changes dropdown list, select Update pricing dimensions, and then select Update dimension information.

  4. You can add dimension information by providing information for Display name and Description of the dimension you want to update.

  5. Choose Submit to submit your request for review.

  6. Verify that the Requests tab shows the Request status as Under review. When the request completes, the status will update to Succeeded or Failed.

Updating pricing terms

You can change the pricing terms for your product. Pricing terms might need updating if you change the countries in which your product is offered.

  1. Open the AWS Marketplace Management Portal at https://aws.amazon.com/marketplace/management/tour/ and sign in to your seller account.

  2. From the Server Products page, select the container product that you want to modify.

  3. From the Request changes dropdown list, select Update public offer, and then select Update pricing terms.

  4. Current pricing is prepopulated for you to edit. You can delete the current pricing and add your new price. We recommend that you review the prices you’re requesting before submitting your request for review.

  5. Choose Submit to submit your request for review.

  6. Verify that the Requests tab shows the Request status as Under review. When the request completes, the status will update to Succeeded or Failed.

Note

If you increase the price of a dimension using Update pricing terms, you won't be able to update pricing for 90 days. A price increase locks the price for 90 days from the day you intiate the change. This price lock is only in effect for a price increase not a price decrease.

Updating availability by country

You can change the countries in which your product can be offered and subscribed to. For more information, see Countries.

  1. Open the AWS Marketplace Management Portal at https://aws.amazon.com/marketplace/management/tour/ and sign in to your seller account.

  2. From the Server Products page, select the container product that you want to modify.

  3. From the Request changes dropdown list, select Update public offer, and then select Update availability by country.

  4. Select one of the following options:

    • All countries – Available in all supported countries.

    • All countries with exclusions – Available in all supported countries except in selected countries.

    • Allowlisted countries only – Available for buyers to purchase only in the countries you specify.

  5. Choose Submit to submit your request for review.

  6. Verify that the Requests tab shows the Request status as Under review. When the request completes, the status will update to Succeeded or Failed.

Updating end-user license agreement

You can update the end-user license agreement (EULA) to use either the Standard Contract for AWS Marketplace or a custom EULA. Updates made to the EULA take effect for new users subscribing to your product and product renewals.

  1. Open the AWS Marketplace Management Portal at https://aws.amazon.com/marketplace/management/tour/ and sign in to your seller account.

  2. From the Server Products page, select the container product that you want to modify.

  3. From the Request changes dropdown list, select Update public offer, and then select Update EULA.

  4. Select Standard Contract for AWS Marketplace or submit your custom EULA. For a custom EULA, you must provide the contract from an Amazon S3 bucket.

  5. Choose Submit to submit your request for review.

  6. Verify that the Requests tab shows the Request status as Under review. When the request completes, the status will update to Succeeded or Failed.

Updating the refund policy of a product

You can update the refund policy for your product. Updates to the refund policy take effect for all users. For more information, see Product refunds in AWS Marketplace.

  1. Open the AWS Marketplace Management Portal at https://aws.amazon.com/marketplace/management/tour/ and sign in to your seller account.

  2. From the Server Products page, select the container product that you want to modify.

  3. From the Request changes dropdown list, select Update public offer, and then select Update refund policy.

  4. Current refund policy is prepopulated for you to edit. You can delete the current refund policy and add your new refund policy. We recommend that you review the refund policy you’re requesting before submitting your request for review. Submitting the request overwrites the current refund policy.

  5. Choose Submit to submit your request for review.

  6. Verify that the Requests tab shows the Request status as Under review. When the request completes, the status will update to Succeeded or Failed.

Creating the product ID for your container product

To get started with a container product, you must create a product ID record in AWS Marketplace. The product ID is used to track your product throughout its lifecycle.

Use the following procedure to create a new container product in the AWS Marketplace Management Portal, and generate the product ID.

To create the container product ID
  1. Open a web browser and sign into the AWS Marketplace Management Portal.

  2. From the menu bar, expand Assets, and choose Container.

  3. Enter a customer-facing name for your product, and choose Create. If necessary, you can change this name later.

  4. Make a note of the Product ID for your later use when you create or update the product pricing details.

    Tip

    If you lose your product ID, you can find it in the AWS Marketplace Management Portal by choosing Container from the Assets menu. The Containers page shows a list of your products with their associated product IDs.

You now have your initial container product and product ID. Next, add pricing details for your product.

Creating or updating pricing details for container products

To update the pricing details for your container product, you must use a product load form (PLF). The PLF for your product is a spreadsheet that contains information about your product. The following procedure outlines using the PLF to update information about your product, including pricing details.

Note

For more information about pricing models for container products, see Container products pricing.

Your pricing and metering must be aligned. For more information about metering with container products, see Hourly and custom metering with AWS Marketplace Metering Service.

To update pricing for your container product by using the product load form
  1. Open a web browser and sign into the AWS Marketplace Management Portal.

  2. From the menu bar, expand Assets, and choose File upload.

  3. From Product load forms and seller guides on the right side, choose Containers Product Load Form.

  4. Open the PLF spreadsheet on your computer, and fill out the fields to define your product. This information includes your product ID that you made note of when you created your container product.

    Tip

    When viewing the PLF in Microsoft Excel, hover over each of the fields to show comments that provide guidance about how to fill in each field.

    Provide pricing and metering dimensions, based on your pricing model for your product. For more information, see the following:

  5. Save your PLF.

  6. If it's not still open, open a web browser and sign into the AWS Marketplace Management Portal.

  7. From the menu bar, expand Assets, and choose File Upload.

  8. In Upload File, browse your computer and choose the PLF you saved for this container product.

  9. Provide a brief description for this PLF to help you identify it among the other PLFs you upload.

  10. Choose Upload. Your uploaded PLF appears in a table at the bottom of the page.

Your pricing details are reviewed and updated manually by the AWS Marketplace Seller Operations team. It typically takes a few business days to complete the update. You can check the status by choosing Container from the Assets menu in the AWS Marketplace Management Portal. An email message is sent to you when the review of your product pricing details is complete.

Note

Your container product is now created, in a limited state. Your account can view the product for testing and modify it. To make it visible to other test accounts, or when it's ready to be made publicly available, see Publishing container products.

You can edit your container product pricing by following this same procedure, until you publicly publish the product.

After you create the pricing details for your product, you can add other product details, integrate metering into your product, and create a software version for your product.

Integrating AWS Marketplace Metering Service for your container product

For container-based products with usage pricing, you use the AWS Marketplace Metering Service for both checking entitlement to use your product and metering usage for billing. You must meter for the pricing model that you created when setting your pricing information. For more information, see Hourly and custom metering with AWS Marketplace Metering Service.

Integrating AWS License Manager for your container product

For container-based products with contract pricing, you use the AWS License Manager to associate licenses with your product.

For more information about integrating with AWS License Manager, see Contract pricing for Container products with AWS License Manager.

Adding a new version of your product

Your product might have several versions over its lifetime. Each version has a set of container images that are specific to that version.

Note

You can't add a version to your product until you have created the product ID and the pricing for your product. For more information about these steps, see Creating the product ID for your container product, and Creating or updating pricing details for container products.

Creating a version of your product involves the following steps:

Your container images and other artifacts for your product are stored in repositories in AWS Marketplace. Typically, you create one repository for each artifact needed, but the repository can store multiple versions of the artifact (with different tags).

Note

All images in your product deployment must use images from the AWS Marketplace repositories.

Step 1: Adding repositories

The following procedure describes how to add any needed repositories in AWS Marketplace.

To add repositories
  1. Sign in to the AWS Marketplace Management Portal.

  2. Select Server from the Products menu.

  3. On the Server products tab, select the product you want to modify, and then choose Add repositories from the Request changes dropdown.

  4. Enter the name for the repository that you want to create. If you want to create more than one new repository, choose Add new repository for each additional repository, and give it a unique name.

    Note

    The repository will have this structure: <repositoryID>.dkr.ecr.us-east-1.amazonaws.com/<sellerName>/<repositoryName>. When you add items to the repository (in the following procedure), they will get a tag and have this structure: <repositoryID>.dkr.ecr.us-east-1.amazonaws.com/<sellerName>/<repositoryName>:<tag>. The repositoryID is an internal ID for AWS Marketplace. The sellerName is based on the name you created for your seller account. You define the respositoryName in this step. The tag is set when you upload an artifact to the repository.

  5. Select Submit.

Note

You can have up to 50 repositories per product.

A new request is created and shown on the Requests tab. When it's completed, within minutes, you can start adding container images and other artifacts to the repositories you have created.

Step 2: Uploading container images and artifacts to repositories

To upload container images and artifacts to repositories
  1. Sign in to the AWS Marketplace Management Portal.

  2. From the Products menu, choose Server.

  3. On the Server products tab, select the product you want to modify.

  4. Choose Add repositories from the Request changes dropdown.

  5. Choose View existing repositories.

  6. Select the repository to which you want to upload.

  7. Select View push commands to open a list of instructions, including commands you can use to push Docker container images and Helm charts to that repository.

    For general information about how to push container images and other artifacts to repositories, refer to Pushing an image in the Amazon Elastic Container Registry User Guide.

    Note

    You can use the following Amazon Elastic Container Registry (Amazon ECR) API operations when calling docker pull or docker push:

    • DescribeImages – Use this to review the metadata about the images in a repository.

    • GetAuthorizationToken – Use to authenticate before uploading artifacts to the repository, then use docker pull or docker push commands.

    • ListImages – Use to view a list of images you pushed.

  8. Use the commands listed to push any needed artifacts from your local repository to the AWS Marketplace repository for your product.

    Note

    The tag that you provide in the push commands is used to differentiate the version of the artifact that you are uploading to the repository. Use a tag that makes sense for the version the artifacts are a part of.

  9. Repeat for each container image or artifact you need in your version.

    Note

    Your version can include up to 50 container images or artifacts in each delivery option. Refer to the following procedure for more information about delivery options.

After you upload your artifacts, you're ready to create the version of your product.

Note

Your container images are scanned automatically to see if they meet the Container-based product requirements. For more information, refer to Container product scans for security issues.

Adding a new delivery option

  1. To add a new delivery option, choose New delivery option. After adding an option, follow the instructions in the following steps to configure it.

  2. Choose a delivery method for the delivery option. The delivery method determines how buyers will launch your software.

    • For a Container image delivery option, provide paths to container images in an Amazon Elastic Container Registry (Amazon ECR) repository that was created in the AWS Marketplace console. Buyers use the container image paths to launch the software by pulling the images directly into their environments.

    • For a Helm chart delivery option, provide paths to Helm charts in an Amazon ECR repository that was created in the AWS Marketplace console. Buyers install the Helm charts in their deployment environment to launch the software.

  3. To add a Container image delivery option, perform the following steps:

    1. In Container images, add the Amazon ECR URL to the container images that contain the product version software.

    2. In Delivery option title and Deployment option description, enter a title and description for this delivery option.

    3. In Usage instructions, enter detailed information to help your buyers use your software after launching it.

    4. In Supported services, select the environments that buyers can launch the software in.

    5. In Deployment templates, add resources that buyers can use to launch the software. Enter a title and a URL to the resource for each template.

  4. To add a Helm chart delivery option, perform the following steps:

    1. In Helm chart, add the Amazon ECR URL to the Helm chart that buyers will install in their deployment environment to launch your software.

    2. In Container images, add the Amazon ECR URL to the container images that contain the product version software.

    3. In Delivery option title and Deployment option description, enter a title and description for this delivery option.

    4. In Usage instructions, enter detailed information to help your buyers use your software after launching it.

    5. In Supported services, select the environments that buyers can launch the software in.

    6. Optional - In Helm release name, enter the name for the Helm release that will be used by the helm install command.

    7. Optional - In Helm installation namespace, enter the name of the Kubernetes namespace where the Helm chart will be installed.

    8. Optional - In Kubernetes service account name, enter the name of the Kubernetes service account that will be used to connect to AWS Identity and Access Management (IAM). The Kubernetes service account calls AWS services such as licensing or metering.

    9. Choose to enable QuickLaunch on this product version. QuickLaunch is a feature in AWS Marketplace. Buyers can use QuickLaunch to create an Amazon EKS cluster quickly and launch your software on it by using AWS CloudFormation. For more information, see QuickLaunch in AWS Marketplace.

    10. In Override parameters, enter parameters that will be used in the Helm CLI commands that launch the software. Buyers can override the provided default values. If you have enabled QuickLaunch, also enter a parameter name and description for the CloudFormation form.

    11. Choose Hide passwords and secrets to mask sensitive information in consoles, command line tools, and APIs. For more information, see the NoEcho parameter documentation in Parameters in the AWS CloudFormation User Guide.

  5. If needed, choose New delivery option to add additional delivery options and perform the instructions in the previous steps to configure them.

  6. Select Submit.

Step 3: Adding a new version to your container product

To add a new version to your container product
  1. Sign in to the AWS Marketplace Management Portal.

  2. Choose Server from the Products menu.

  3. On the Server products tab, select the product you want to add a version to. Then choose Add new version from the Request changes dropdown.

  4. On the Add new version page, enter the Version title and Release notes for your version.

  5. After entering the version details, the next step is to add delivery options. Delivery options are sets of instructions and information that buyers can use to launch the software from your product version. Delivery options are known as fulfillment options to buyers.

    Note

    Your product can support multiple platforms with different container images (for example, Kubernetes and Ubuntu deployments). You can create one delivery option for each way that customers can set up your product, up to four delivery options for a product.

    1. If the product already has delivery options in other versions, you can use the existing option as a template to add a delivery option to the new version. In Delivery options, choose the delivery option that you want to add from the list. You can edit the option using the instructions in the following steps.

    2. To add a new delivery option, choose New delivery option. After adding an option, follow the instructions in the following steps to configure it.

  6. Choose a delivery method for the delivery option. The delivery method determines how buyers will launch your software.

    • For a Container image delivery option, provide paths to container images in an Amazon Elastic Container Registry (Amazon ECR) repository that was created in the AWS Marketplace console. Buyers use the container image paths to launch the software by pulling the images directly into their environments.

    • For a Helm chart delivery option, provide paths to Helm charts in an Amazon ECR repository that was created in the AWS Marketplace console. Buyers install the Helm charts in their deployment environment to launch the software.

  7. To add a Container image delivery option, perform the following steps:

    1. In Container images, add the Amazon ECR URL to the container images that contain the product version software.

    2. In Delivery option title and Deployment option description, enter a title and description for this delivery option.

    3. In Usage instructions, enter detailed information to help your buyers use your software after launching it.

    4. In Supported services, select the environments that buyers can launch the software in.

    5. In Deployment templates, add resources that buyers can use to launch the software. Enter a title and a URL to the resource for each template.

  8. To add a Helm chart delivery option, perform the following steps:

    1. In Helm chart, add the Amazon ECR URL to the Helm chart that buyers will install in their deployment environment to launch your software.

    2. In Container images, add the Amazon ECR URL to the container images that contain the product version software.

    3. In Delivery option title and Deployment option description, enter a title and description for this delivery option.

    4. In Usage instructions, enter detailed information to help your buyers use your software after launching it.

    5. In Supported services, select the environments that buyers can launch the software in.

    6. Optional - In Helm release name, enter the name of the Kubernetes namespace where the Helm chart will be installed.

    7. Optional - In Helm installation namespace, enter the name for the Helm release that will be used by the helm install command.

    8. Optional - In Kubernetes service account name, enter the name of the Kubernetes service account that will be used to connect to AWS Identity and Access Management (IAM). The Kubernetes service account calls AWS services such as licensing or metering.

    9. Choose to enable QuickLaunch on this product version. QuickLaunch is a feature in AWS Marketplace. Buyers can use QuickLaunch to create an Amazon EKS cluster quickly and launch your software on it by using AWS CloudFormation. For more information, see QuickLaunch in AWS Marketplace.

    10. In Override parameters, enter parameters that will be used in the Helm CLI commands that launch the software. Buyers can override the provided default values. If you have enabled QuickLaunch, also enter a parameter name and description for the CloudFormation form. There is a limit of 15 parameters when using the AWS Marketplace Management Console, but there is no limit when using the AWS Marketplace Catalog API. For more information, see Adding a new version to a container-based product.

      Note

      Some Override parameters are required. Amazon EKS Anywhere products require an Override parameter for license secret with a DefaultValue of "${AWSMP_LICENSE_SECRET}". For paid products, you must provide one Override parameter for service account configuration with the DefaultValue of "${AWSMP_SERVICE_ACCOUNT}".

    11. Choose Hide passwords and secrets to mask sensitive information in consoles, command line tools, and APIs. For more information, see the NoEcho parameter documentation in Parameters in the AWS CloudFormation User Guide.

  9. If needed, choose New delivery option to add additional delivery options and perform the instructions in the previous steps to configure them.

  10. Select Submit.

Your request for a new version is created and should complete within minutes. You can track the request from the Requests tab of the Server products page.

Note

Your new version is available to all of your buyers. If your product is currently set to limited availability, your version is available to the set of buyers that the product is available for. If your product is currently set to public availability, then your new version is available to all AWS Marketplace buyers.

If this was your first version set, your product is now ready to be published. For information about how to publish a product, see Publishing container products.

Your request for a new version is created and should complete within minutes. You can track the request from the Requests tab of the Server products page.

Note

Your new version is available to all of your buyers. If your product is currently set to limited availability, your version is available to the set of buyers that the product is available for. If your product is currently set to public availability, then your new version is available to all AWS Marketplace buyers.

If this was your first version set, your product is now ready to be published. The next topic describes publishing your product.

If this was your first version set, your product is now ready to be published, see Publishing container products.

Updating version information

After a version is created, it can be helpful to provide updated information to your buyers by modifying the information associated with the version. For example, if you plan to restrict version 1.0 after version 1.1 is released, you can update the description of version 1.0 to direct buyers to version 1.1. Provide the date that version 1.0 will be restricted. You update the version information from the AWS Marketplace Management Portal.

To update version information
  1. Sign in to the AWS Marketplace Management Portal.

  2. Select Server from the Products menu.

  3. On the Server products tab, select the product that you want to modify.

  4. From the Request changes dropdown, choose Update version information.

  5. On the Update version page, select the version that you want to update and choose Submit.

  6. Make updates to the selected version. The fields that are available for updating depend on the status of the product version or delivery option.

    1. For all versions, you can update the Release notes.

    2. For versions that are not yet publicly available, you can update the Version title.

    3. For delivery options that haven't been restricted, you can update the following fields:

      • Description

      • Usage instructions

      • Supported services

    4. For delivery options in versions that are not yet publicly available, you can update the following fields:

      • Delivery option titles

      • Helm chart (for Helm chart delivery options only)

      • Container images

      • Deployment resources

  7. Choose Submit.

  8. Verify that the request appears on the Requests tab with the Under review status.

You can check the status of your request at any time from the Requests tab of the Server Products page.

Creating or updating product information for your container product

After you have created your product ID and set the pricing, you can edit your product information, including what customers will see about your container product in the AWS Marketplace. The following procedure outlines creating the product details for your product.

To create or update product details for your container product
  1. Sign in to the AWS Marketplace Management Portal.

  2. Select Server from the Products menu.

  3. On the Server products tab, select the product that you want to modify.

  4. From the Request changes dropdown, choose Update product information.

  5. Update any of the following fields that you need to change:

    • Product title

    • SKU

    • Short description

    • Long description

    • Product logo image URL

    • Highlights

    • Product categories

    • Keywords

    • Product video URL

    • Resources

    • Support information

    Note

    Image URLs must be in an Amazon S3 bucket that is publicly accessible. For more details about the logo format, see Company and product logo requirements.

  6. Select Submit.

  7. Verify that the request appears on the Requests tab with the Under review status. You might need to refresh the page to see the request on the list.

You can check the status of your request at any time from the Requests tab of the Server Products page.

Publishing container products

When you initially create your product, its availability is limited to just your account. Once your product is ready for testing (including having product details filled in and the first version created), you can make it available to other accounts for testing, or to all accounts as a public product.

Note

Before publishing publicly, you should review your product to ensure accuracy, including image links, deployment templates, descriptions, and pricing. Your pricing model can't be changed for publicly published products.

To publish your limited product to additional accounts or for public availability, contact the AWS Marketplace Seller Operations team. In your request, provide the product ID and describe the changes that you want to make.

Note

You can also choose to restrict a version that you no longer want available to buyers. You can include this in a request to publish a product publicly, to avoid test versions appearing in public products.

You can't restrict a version if it will leave your public product with no public versions.

When you publicly publish a container product, you make it visible to all AWS customers who can then subscribe and launch your product. The AWS Marketplace Seller Operations team reviews the data in your product information, as well as your test calls to the AWS Marketplace Metering Service.

Publishing add-on products in Amazon EKS

An Amazon EKS add-on is software that provides supporting operational capabilities to Kubernetes applications but isn't specific to the application. For example, an Amazon EKS add-on includes observability agents or Kubernetes drivers that allow the cluster to interact with underlying AWS resources for networking, compute, and storage.

As a seller of container products with deployment options including Amazon EKS, you can publish a version of your product as an AWS Marketplace add-on. Your add-on appears in the Amazon EKS console next to add-ons maintained by AWS and other vendors. Your buyers can deploy your add-ons just as easily as they do the other add-ons using the Amazon EKS console, API service endpoints, AWS CLI, or SDKs.

For more information, see Amazon EKS add-ons in the Amazon EKS User Guide.

Preparing your container product as an AWS Marketplace add-on

To publish your container product as an AWS Marketplace add-on, it must meet the following requirements:

  • Your container product must be published in AWS Marketplace.

  • Your container product must be built compatible for both AMD64 and ARM64 architectures.

  • Your container product must not use the Bring Your Own License (BYOL) pricing model.

  • You must adhere to all container-based product requirements including pushing all container images and Helm charts into AWS Marketplace managed ECR repositories. This includes open-source images, for example, nginx. Images and charts can't be hosted in other external repositories including, but not limited to, Amazon ECR Public Gallery, Docker Hub, and Quay.

  • You must create a Helm chart for deploying your container product onto an Amazon EKS cluster. To create a Helm chart the following requirements must be met:

    • Your container product must be deployed into a Kubernetes namespace that is not an initial namespace including the default namespace.

    • Your container product must include at least one Kubernetes service account. The service account must be able to assume an IAM role for service account to access any AWS services including services required for AWS Marketplace container-billing integration.

Submitting your container product as an Amazon EKS add-on

  1. Go to Adding a new version of your product for the procedure to upload your container images and Helm chart to new repositories.

  2. Add a new version of your container product, and select the Helm chart option for the Delivery method.

  3. Gather the information in the following table for your add-on.

    Add-on table
    Data Description Example Required for add change type Required for update change type Required for restrict change type
    Change type

    The type of request specified.

    Add – You are adding either the first version or a new version of your add-on.

    Update – You are updating the existing add-on.

    Restrict – You want to restrict a version of your add-on.

    Add

    Yes

    Yes

    Yes

    Product ID

    The product identification of your container product published in AWS Marketplace. To find the product ID, select your product from the list on the Server products page in the AWS Marketplace Management Portal.

    example1-abcd-1234-5ef6-7890abcdef12

    Yes

    Yes

    Yes

    Version name

    The version name you specified when you added the new version of your product that includes the Helm chart for your add-on. This value appears in AWS Marketplace.

    v1.0.1a

    Yes

    Yes

    No

    Delivery option title

    The title specified for the delivery option that includes the Helm chart for your add-on. This value appears in AWS Marketplace.

    Example delivery option 1

    Yes

    No

    No

    Add-on name

    The unique identifier for your add-on. Buyers specify this value to install your add-on to their Amazon EKS cluster. This value appears in Amazon EKS.

    example-addon

    Yes

    No

    No

    Add-on version

    The version name for this version of your add-on. Buyers specify this value in addition to your add-on name to install this add-on in their Amazon EKS cluster. This value appears in Amazon EKS.

    v1.0.1a

    Yes

    No

    No

    Type

    The type that a user can filter by when using the DescribeAddonVersions API operation to find the available add-ons in Amazon EKS. This value appears in Amazon EKS. Possible values: autoscaling, certmanagement, costmanagement, etcdbackup, gitops, ingressservicetype, loadbalancer, localregistry, logging, monitoring, policymanagement, secretsmanagement, servicemesh, and storage.

    monitoring

    Yes

    No

    No

    Kubernetes version

    The list of Kubernetes versions that your add-on is compatible with.

    1.20, 1.21, 1.22

    Yes

    No

    No

    Platform architecture

    The list of platform architectures that your add-on is compatible with.

    amd64, arm64

    Yes

    No

    No

    Kubernetes namespace

    The namespace where your add-on is deployed.

    example-namespace

    Yes

    No

    No

    Kubernetes service account

    The service account that assumes the IAM role for the service account to access AWS services including the service required for AWS Marketplace container-billing integration.

    example-service-account

    Yes

    No

    No

    AWS managed policies

    The line-separated list of the names of any managed policies that your add-on requires to function correctly. These managed policies are attached to an IAM role for service account that your add-on assumes to access AWS services including services required for AWS Marketplace container-billing integration.

    When specifying AWS managed policies, you must follow the best practice of least-privilege permissions.

    AWSMarketplaceMeteringRegisterUsage and AmazonS3ReadOnlyAccess

    Yes

    No

    No

    Inline policy

    Include any custom IAM policy that is added inline to the IAM role for service account that your add-on assumes to access any AWS services including services required for AWS Marketplace container-billing integration.

    Your IAM policy must follow least-privilege permissions.

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": "*" } ] }

    Yes

    No

    No

  4. Submit the data that you gathered in a support request with the AWS Marketplace Seller Operations team while you're signed in to the AWS account that is registered as a seller.

    Note

    The details portion of the support request form is limited to 1,000 characters. If the data from your add-on exceeds the form's character limit, submit the support request form with a brief message that describes your intent. When you receive the automated email message that confirms the submission of your support request, send an email reply with the complete information about your add-on.

Restricting a version of your Amazon EKS add-on

You might want to restrict access to a version of your container product that is published as an Amazon EKS add-on.

Note

You can't restrict a version if doing so means that your public product has no public version.

  1. Submit the required details in a support request with the AWS Marketplace Seller Operations team in while you're signed in to the AWS account that is registered as a seller.

  2. For the required details to restrict your product, see the Required for restrict change type column in the Submitting your container product as an Amazon EKS add-on procedure.

  3. Sign in to the AWS Marketplace Management Portal.

  4. Select Server from the Products menu.

  5. On the Server products tab, select the product that you want to restrict.

  6. From the Request changes dropdown list, choose Update versions, then choose Restrict version.

  7. Select the version to restrict and then choose Submit.

Container product scans for security issues

When you create a change request to add a new version to your container product, we scan the container images included in that new version and check for security vulnerabilities. To do this, we perform a layer-by-layer static scan on the image. If we find critical vulnerabilities with remotely exploitable risk vectors, we provide you with a list of found issues. We strongly recommend that you perform your own security analysis using a container image scanner such as Clair, Twistlock, Aqua Security, or Trend Micro to avoid delays in the ingestion and publishing process.

Your choice of base image for building your container images can have a significant influence on the security profile of the final image. If you choose a base image that already has known critical vulnerabilities, they will be flagged because of the base layer, even if your application software layers are clean. We recommend that you verify that you're starting with a base container that is free of vulnerabilities before you build your images and submit them to AWS Marketplace.