使用以下方式交付AMI基于您的产品 AWS CloudFormation - AWS Marketplace

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用以下方式交付AMI基于您的产品 AWS CloudFormation

AWS Marketplace 卖家可以使用 AWS CloudFormation 模板发布AMI配送给 AWS Marketplace 买家的商品。您可以使用模板为产品定义集群或分布式架构,或者选择不同的AMI组合或产品配置。可以将 CloudFormation 模板配置为提供包含相关配置文件和 Lambda 函数的单个 Amazon 系统映像 (AMI)。买家可以浏览所选解决方案 AWS Marketplace,一键购买,然后使用您提供的 CloudFormation 模板进行部署。

单个AMI解决方案最多可以包含三个 CloudFormation 模板。

您还可以在无服务器应用程序中包含 Lambda 函数,AMI以便买家可以通过部署它们。 CloudFormation有关如何在中包含 Lambda 函数和无服务器应用程序的说明AMI,请参阅本指南添加无服务器应用程序组件中的。

生成产品列表

要提交您的产品,您需要准备和验证您的产品AMIs,创建 AWS CloudFormation 模板,创建架构图,填写产品加载表,然后将材料提交给 AWS Marketplace。我们建议您首先创建和验证您的AMIs模板,然后完成并验证 CloudFormation 模板。完成这些步骤后,您应创建架构示意图并估算软件和基础设施价格。 AWS Marketplace 将验证您提交的材料并与您合作,以公开发布您的产品。使用 AWS Pricing Calculator 可帮助估算您模板的基础设施成本。

准备 CloudFormation 模板

要构建 CloudFormation 模板,必须满足模板的先决条件并提供所需的输入和安全参数。提交 CloudFormation 模板时,请使用以下各节中的指南。

模板先决条件

  • 验证模板是否已通过 AWS CloudFormation 控制台成功启动, AWS 区域 且已为您的产品启用所有功能。您可以使用该TaskCat 工具来测试您的模板。

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

  • AMIs必须位于每个区域的映射表中。 AWS Marketplace 团队会在他们被克隆AMIIDs后对其进行更新。您的来源AMI必须位于us-east-1,其他地区可以使用占位符。请参阅以下 YAML 示例。

    Mappings: RegionMap: us-east-1: ImageId: ami-0123456789abcdef0 us-west-1: ImageId: ami-xxxxxxxxxxxxxxxxx eu-west-1: ImageId: ami-xxxxxxxxxxxxxxxxx ap-southeast-1: ImageId: ami-xxxxxxxxxxxxxxxxx
  • AMIs您的 CloudFormation 模板中必须包含您要发布AMI的商品或AWS托管产品,AMI例如最新的 Amazon Linux 2。请勿包含任何由您AMI或任何其他第三方AMI拥有和共享的社区。要使用 AWS-managedAMI,请使用 S AWSystems Manager 参数存储中的公共参数而不是硬AMIIDs编码。例如,在您指定 AMI ID 的 CloudFormation 模板中,您可以使用动态引用ImageId: '{{resolve:ssm:/aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id}}'

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

  • 您可以随身携带 Lambda 函数、配置文件和脚本等依赖项。AMI有关更多信息,请参阅 步骤 1:创建无服务器应用程序

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

  • 对于单节点产品,我们建议使用自动扩缩组

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

  • 如果您的解决方案涉及 Docker 容器,则必须将 Docker 镜像合并到。AMI

  • 为了便于 AWS Marketplace 团队审核并向客户透明,我们建议您在UserData栏目中添加评论。

模板输入参数

  • 模板的输入参数不得包含 AWS Marketplace 客户的 AWS 凭证(例如密码、公钥、私钥或证书)。

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

  • 如果可用,请使用 AWS CloudFormation 参数类型进行输入。

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

  • 请勿为以下输入参数设置任何默认值:

    注意

    客户必须提供这些内容作为输入参数。

    • 允许从公共互联网进入远程访问端口的默认CIDR范围

    • 允许从公共互联网进入数据库连接端口的默认CIDR范围

    • 用户或数据库的默认密码

网络和安全参数

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

  • 我们建议您使用适当的访问控制列表 (VPC) 和安全组来构建,而不是使用默认的虚拟私VPC有云 (ACLs)。

  • 通过使用 AWS Identity and Access Management (IAM) 角色AssumeRole从中调用来启用对客户 AWS 环境的访问权限 AWS Security Token Service。

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

收到您的模板后,将 AWS Marketplace 验证产品配置和信息,并就所有必需的修订提供反馈。

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

向客户显示的各个模板的基础设施成本估算基于您使用 AWS Pricing Calculator 提供的估算值。该估算应包括将作为模板的一部分部署的服务列表,以及典型部署的默认值。

计算模板的每月估计费用后,请 AWS Marketplace 提供美国东部(弗吉尼亚北部)区域的 “保存并共享” 链接。这是提交过程的一部分。

架构示意图

您必须为每个模板提供架构示意图。要了解有关绘制图表的更多信息,请参阅什么是架构绘图

示意图必须符合以下标准:

  • 在上演示标准部署 AWS。

  • 从逻辑上描述资源的部署位置。例如,像 Amazon EC2 实例这样的资源位于正确的子网中。

  • 对通过 AWS CloudFormation 模板 AWS 服务 部署的每个 AWS 产品使用最新的产品图标。要下载当前的架构图标集,请参阅AWS 架构图标

  • 包括 AWS CloudFormation 模板部署的所有服务的元数据。

  • 包括 AWS CloudFormation 模板部署的所有网络和子网。VPCs

  • 显示集成点,包括第三方资产APIs和本地混合资产。

  • 图表的大小必须为 1100 x 700 像素。保持原始图表比例,无需拉伸或裁剪。

满足提交要求

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

  • CloudFormation 一个或多个模板

    • 单个AMI产品可以有一到三个 CloudFormation 模板

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

  • 架构示意图和架构元数据

  • 已完成产品表单(在 AWS Marketplace 管理门户 中提供)

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

对于每种产品,所需的大部分产品数据和元数据都与传统的单一AMI产品相同。因此,使用 CloudFormation模板交付的每AMI件商品都必须继续符合所述的标准和要求 AWS Marketplace。

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

字段 描述 限制
Title 架构的标题。此项显示在详情页面和交付页面上,以及显示架构详细信息的弹出窗口中。 50 个字符
简短描述 此项显示在详情页面和产品交付页面上。 200 个字符
详细描述 此项显示在架构详细信息弹出窗口中。 2000 个字符

对于使用 CloudFormation 商品进行AMI基于商品的配送,必须填写以下字段:

  • 解决方案标题

  • 解决方案简短描述

  • 解决方案详细描述

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

    • 部署标题(每个模板)

    • 简短描述(每个模板)

    • 详细描述(每个模板)

    • 架构图(每个模板)

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

    • 此 CloudFormation 模板中包含的产品/组件清单

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

提交您的产品请求

使用 AWS Marketplace 管理门户 提交您的产品。在资产选项卡上,选择文件上传。上传要提交的任何文件并输入简要描述。同时支持YAML和JSON格式。请求处理时间为 3 到 5 个星期,包括:

  • 查看 CloudFormation 模板以及AMI和 CloudFormation模板的AMI元数据

  • 将您的 CloudFormation 模板发布到 AWS Marketplace 产品