AWS Marketplace
针对 AWS Marketplace 提供商的用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 AWS CloudFormation 的基于 AMI 的交付

AWS Marketplace 供应商可以使用 AWS CloudFormation 模板,列出交付给 AWS Marketplace 客户的基于 AMI 的产品。此功能以前称为集群和 AWS 资源 (CAR)。您可以使用这些模板定义集群或者产品的分布式架构,也可用于选择不同 AMI 组合或产品配置。AWS CloudFormation 模板可以配置为交付单个 Amazon 系统映像 (AMI) 或多个 AMI。客户可以在 AWS Marketplace 上浏览解决方案选项、进行一键式订阅以及使用您提供的 AWS CloudFormation 模板进行部署。

多 AMI 解决方案可以包含最多 20 个 AMI 以及最多 20 个 AWS CloudFormation 模板。每个 AWS CloudFormation 模板可以引用解决方案中包含的 AMI 的任意组合或子集。客户订阅一个解决方案之后,即享有该产品列表中所含全部 AMI 的权利。当产品有多个 AMI 时,每个 AMI 将具有各自的唯一产品代码,并可以单独定价和计费。不过,在列表上下文之外,您无法搜索或购买解决方案的单独组件。

如果您有现有的单 AMI 产品,就无法将该产品迁移或组合到新的多 AMI 列表中。不过,您的新解决方案可以具有由现有产品使用的相同 AMI 的软件或副本。AWS Marketplace 上创建的每个列表是具有新产品代码的列表。

生成产品列表

要提交产品,您需要准备并验证 AMI、创建 AWS CloudFormation 模板、创建拓扑图、完成产品加载表单并将材料提交到 AWS Marketplace。我们建议您首先创建并验证 AMI,然后完成并验证 AWS CloudFormation 模板。完成这些步骤后,您应创建拓扑图并估算软件和基础设施价格。AWS Marketplace 将验证您提交的材料并与您合作,以公开发布您的列表。使用 AWS 简单月度成本结算器可帮助估算您模板的基础设施成本。向 AWS Marketplace 提供您已保存的计算器配置的链接。以下是多 AMI 解决方案列表的限制:

  • 目前不支持将现有 AWS Marketplace 列表从独立列表更新为多 AMI 列表。要使产品在多 AMI 列表中可用,请复制 AMI 并将其作为组件提交到新的多 AMI 列表。生成的 AMI 具有唯一产品代码,不同于以前列表的代码。

  • 多 AMI 解决方案在 Amazon Elastic Compute Cloud (Amazon EC2) 控制台中的启动实例页的 AWS Marketplace 选项卡上不可见。

  • AWS CloudFormation 模板不可启动在多 AMI 解决方案列出之外的 AMI。

  • AWS CloudFormation 模板必须以公共 URL 的形式提交。模板中包含的所有嵌套模板 URL 也必须可公开访问。

准备 AWS CloudFormation 模板

要生成 AWS CloudFormation 模板,您必须满足模板先决条件,并提供所需的输入和安全参数。提交 AWS CloudFormation 模板时,请遵循以下部分中的指南。

模板先决条件

  • 通过 AWS CloudFormation 控制台验证已成功在为您的产品启用的所有区域中启动了模板。您可以使用此工具来测试模板:https://github.com/aws-quickstart/taskcat

  • 如果您创建单 AMI 产品,则模板必须只包含一个 AMI。

  • AMI 必须位于各个区域的映射表中。AWS Marketplace 团队在克隆之后更新 AMI ID。

  • 生成模板,使其不必依赖于使用特定可用区 (AZ)。并非所有客户都可以访问所有可用区,并且不同账户的可用区映射也不同。

  • 软件的每个片段及其依赖项均必须完全集成到 AMI 中。您无法使用脚本来更新程序包或者准备程序包供使用。如果您有 AWS Lambda 函数,则函数必须集成到 AMI 中或者作为模板的一部分内嵌编写。无法从 Amazon Simple Storage Service 存储桶加载这些函数。

  • 如果您在生成使用 Auto Scaling 组的集群解决方案,我们建议您考虑到扩展事件。新节点应自动加入正在运行的集群。

  • 对于单节点产品,我们建议使用 Auto Scaling 组

  • 在解决方案涉及含多个实例的集群时,如果您希望在集群之间降低网络延迟时和/或提升网络吞吐量,请考虑使用置放群组。

  • 如果解决方案涉及 Docker 容器,则必须将 Docker 映像集成到 AMI 中。

  • 为了便于 AWS Marketplace 团队审核以及提升对客户的透明度,我们建议您在 UserData 部分中添加注释。

模板输入参数

  • 模板的输入参数不能包括 AWS Marketplace 客户的 AWS 凭证(例如密码、公有密钥、私有密钥或证书)或者个人信息(例如电子邮件地址)。

  • 请勿为参数设置默认值,例如远程服务、CIDR/IP 或数据库的密码。客户必须提供这些内容作为输入参数。

  • 对于密码等敏感输入内容,请选择 No Echo 属性并启用更严格的正则表达式。对于其他输入,设置最常见的输入以及相应的帮助文本。

  • 在可用时,为输入使用 AWS CloudFormation 参数类型。

  • 使用 AWS::CloudFormation::Interface 来分组和排序输入参数。

网络和安全参数

  • 确保默认 SSH 端口 (22) 或 RDP 端口 (3389) 未对 0.0.0.0 打开。

  • 不要使用默认 Virtual Private Cloud (VPC),我们建议您使用合适的访问控制列表 (ACL) 和安全组生成 VPC。只有在 2013 年 12 月 4 日之前创建的 AWS 账户支持 EC2-Classic。

  • 应使用 IAM 角色启用对客户 AWS 环境的访问权限,以便从 AWS Security Token Service 调用 AssumeRole

  • 将 IAM 角色和策略设置为授予最低权限,并且仅在绝对需要时启用写入访问权限。例如,如果您的应用程序只需要 S3:GETPUTDELETE 操作,则仅指定这些操作。在这种情况下,我们不建议使用 S3:*

收到您的模板之后,AWS Marketplace 验证产品配置和信息,并为任何所需修订提供反馈。

获取模板基础设施的成本估算

向客户显示的各个模板的基础设施成本估算,基于您使用 AWS 简单月度成本结算器提交的估算,如下图中所示。该估算应包括将作为模板的一部分部署的服务列表,以及典型部署的默认值。

在您计算模板的每月估算成本之后,向 AWS Marketplace 提供美国东部(弗吉尼亚北部)地区的 Save and Share (保存并分享) 链接。这是提交过程的一部分。

拓扑图

您必须为每个模板提供拓扑图。对于通过 AWS CloudFormation 模板部署的各个 AWS 服务,图表必须使用 AWS 产品图标,并且必须包含服务的元数据。图表大小必须为 1100 x 700 像素。确保您的图表符合此大小要求,以避免任何裁剪或拉伸,如下图中所示。

满足提交要求

要提交使用 AWS CloudFormation 模板交付的产品,您必须提供以下资源:

  • AWS CloudFormation 模板

    • 单 AMI 列表可以具有 1 到 3 个 AWS CloudFormation 模板

    • 多 AMI 列表最多可以具有 20 个 AWS CloudFormation 模板

  • 各个模板的默认配置的估算基础设施价格

  • 拓扑图和拓扑元数据

  • 已完成产品表单(在 AWS Marketplace Management Portal 中提供)

产品表包含提交示例供您参考。

对于每个列表,大部分所需的产品数据和元数据与传统单 AMI 产品相同。因此,使用 AWS CloudFormation 模板交付的每个 AMI 仍需满足 AWS Marketplace 所述的标准和要求。

对于每个 AWS CloudFormation 模板,您还必须提供以下信息。

字段 描述 限制
职务 拓扑的标题。此项显示在详情页面和产品交付页面上,以及显示拓扑详细信息的弹出式窗口中。 50 个字符
Short description 此项显示在详情页面和产品交付页面上。 200 个字符
详细描述 此项显示在拓扑详细信息弹出式窗口中。 2000 个字符

对于多 AMI 列表,以下字段必填:

  • 解决方案标题

  • 解决方案简短描述

  • 解决方案详细描述

  • 对于 AWS CloudFormation 模板(每个解决方案最多 20 个)

    • 部署标题(每个模板)

    • 简短描述(每个模板)

    • 详细描述(每个模板)

    • 架构图(每个模板)

    • 基础设施定价估算(每个模板)

    • 此 AWS CloudFormation 模板中包含的软件产品/组件的列表

    • 此 AWS CloudFormation 模板支持的区域列表

提交您的列表

使用 AWS Marketplace Management Portal 提交您的列表。在 File Upload (文件上传) 选项卡上,附加您的文件,然后选择 Upload (上传)。在收到您的模板和元数据之后,我们将开始处理您的列表。以下操作可能需要三到五周:

  • 审核 AWS CloudFormation 模板、AMI 以及 AMI 和 AWS CloudFormation 模板的元数据

  • 将您的 AWS CloudFormation 模板发布到 AWS Marketplace 列表

常见问题

多 AMI 列表解决哪些场景的问题?

您可以列出解决方案,在客户可通过一次订阅购买的单个列表中包含多个不同的 AMI。这包括具有以不同方式配置的多个映像的部署。解决方案的类型分为两个类别:

多组件产品 – 例如,需要前端 Web 服务器和中间层应用程序服务器的软件产品,可以作为单个组合解决方案提供。另一个示例是,产品有一个服务器用作控制器,其他服务器作为一组集群化工作线程运行。

多产品解决方案 – 例如,新的解决方案结合了两个或更多产品以提供更好的体验。在这种情况下,这些解决方案将不同于任何已经提供的现有 AWS Marketplace 产品,即使这些软件产品相同或类似。

多 AMI 列表未解决哪些场景的问题?

多 AMI 列表不允许买家将现有 AWS Marketplace 产品列表组合成服务包。买家将订阅单个新产品,而不是在 AWS Marketplace 中组合单独的列表。与此类似,您为解决方案的各个组件设置的价格,与其他 AWS Marketplace 产品列表没有任何关联或依赖关系。买家无法通过仅选择要订阅的 AMI 子集来自定义解决方案。不过,您可以为解决方案提供不同的 AWS CloudFormation 模板,用于部署所含 AMI 的不同组合或子集。

我的单 AMI 与多 AMI 产品之间是否有任何依赖关系?

没有。包含相同软件方案的单独软件产品与多 AMI 解决方案的列表是独立的。如果您更新某个产品列表,这对任何多 AMI 解决方案列表没有影响。

对于可在哪里提供或部署这些解决方案是否有任何限制?

您可以在可使用 AWS Marketplace 的所有 AWS 区域中提供或部署多 AMI 解决方案。不过,如果您提供的一些解决方案引用了在特定区域中不可用的 AWS 资源,则在这些区域中可能不可用。

客户如何搜索多 AMI 解决方案列表?

客户可通过 AWS Marketplace 网站搜索解决方案。多 AMI 解决方案的列出方式,与目前的单 AMI 产品列出方式相同。按名称、关键词、类别或供应商搜索或浏览软件时,多 AMI 解决方案将与其他 AWS Marketplace 列表一起显示。在按 CloudFormation 堆栈 下的交付方法 筛选的搜索结果中也将包含解决方案。

如果我使用 AWS CloudFormation 模板,我的卖家报告是否会有变化?

多 AMI 解决方案将在现有报告的基础上报告。解决方案中的各个 AMI 将在每日使用量报告上显示自己的行项目。每个解决方案在收入报告上将显示为单个行项目。支付报告保持不变。