

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

# 基于 AMI 的产品 AWS Marketplace
<a name="buyer-server-products"></a>

亚马逊机器映像 (AMI) 是服务器映像，包括一个操作系统和通常在 AWS上运行的其他软件。

中列出的软件 AWS Marketplace 仅可在亚马逊弹性计算云 (Amazon EC2) 上运行。它不可供下载。

 开启后 AWS Marketplace，您可以搜索 AMIs （使用搜索建议）、查看其他买家提交的商品评论、订阅和发布 AMIs以及管理您的订阅。所有 AWS Marketplace 产品均已通过质量验证，并已预先配置为 Amazon Web Services (AWS) 基础设施上的 “一键下单” 启动功能。

 AMI 和软件即服务 (SaaS) 产品列表均来自受信任卖家。AMI 产品在客户的 AWS 账户内运行。您将保留对软件配置和运行软件的服务器的更多控制，但您还将承担与服务器配置和维护相关的其他责任。

该 AWS Marketplace 目录包含来自知名卖家的精选开源软件和商业软件。上面的许多产品 AWS Marketplace 都可以按小时购买。

 AMI 目录是一种社区资源，人员和开发团队可在其中列出和交换开发中的软件或项目，而不必经过广泛的审查。社区 AMI 目录中的产品列表可能来自知名卖家，也可能不来自知名卖家，并且通常未经过额外的调查。

 一个 AWS Marketplace 产品包含一个 AWS 区域 适用于该产品的 AMI。除了它们的位置之外，它们 AMIs 都是一样的。此外，当卖家使用最新的补丁和更新更新更新他们的产品时，他们可能会在产品中添加另一组 AMIs 补丁和更新。

 某些 AWS Marketplace 产品可能会启动多个 AMI 实例，因为它们是使用 AWS CloudFormation 模板作为集群部署的。该实例集群以及由 CloudFormation 模板配置的其他 AWS 基础设施服务充当单一产品部署。

## AWS CloudFormation 模板
<a name="what-is-aws-cloudformation"></a>

 AWS CloudFormation 是一项服务，可帮助您对 AWS 资源进行建模和设置，这样您就可以花更少的时间管理这些资源，而将更多的时间集中在运行的应用程序上 AWS。 CloudFormation 模板描述了您需要的各种 AWS 资源，例如亚马逊弹性计算云 (Amazon EC2) 实例或亚马逊关系数据库服务 (Amazon RDS) 数据库实例。 CloudFormation 负责为您配置和配置这些资源。有关更多信息，请参阅[入门 CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/GettingStarted.html)。

### 使用 AWS CloudFormation 模板
<a name="using-CF-templates"></a>

软件销售商可以提供 CloudFormation 模板来定义由多个 AMI 实例和其他 AWS 资源组成的首选部署拓扑。如果产品有可用的 CloudFormation模板，则该模板将作为部署选项列在产品列表页面上。

您可以使用 AMI 部署单个 Amazon EC2 实例。您可以使用 CloudFormation 模板将充当集群的 AMI 的多个实例与 Amazon RDS、Amazon Simple Storage Service 服务等 AWS 资源一起部署为单个解决方案。

### 支持计量的 AMI 产品
<a name="buyer-ami-metering-enabled-products"></a>

上列出的某些产品 AWS Marketplace 按软件应用程序测量的使用量计费。计量使用量维度的示例包括数据使用量、 Host/Agent 使用量或带宽使用量。这些产品需要额外配置才能正常运行。在启动时，有权计量使用情况的，必须与您的 AWS Marketplace 亚马逊弹性计算云 (Amazon EC2) 实例相关联。 IAMrole 有关亚马逊的 IAMroles 更多信息 EC2，请参阅亚马逊[的 IAM 角色 EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)。

### AMI 产品版本策略
<a name="ami-product-version-policies"></a>

AWS Marketplace 使用 S-AMI、带 CloudFormation 模板的 AMI 和容器产品，自动为 AWS 买家和卖家提供版本管理体验。借助自动版本归档功能，任何被卖家限制超过两年的产品版本将自动归档。已存档版本不再 AWS Marketplace 可供新客户启动，但是现有用户可以通过启动模板和指定 AMI ID 的 Amazon A EC2 uto Scaling 群组继续使用存档版本。任何在过去 13 个月内未用于启动新实例的归档版本将被删除。删除归档版本后，新用户或现有用户将无法再启动该版本。

# AWS Marketplace 中的 AMI 订阅
<a name="buyer-ami-subscriptions"></a>

在 AWS Marketplace 中，一些基于亚马逊机器映像 (AMI) 的软件产品提供年度订阅定价模式。使用这种定价模式，您可以一次性预付款，并且在接下来的 12 个月内无需支付每小时使用费。您可以将 AWS Marketplace 软件产品的一份年度订阅应用于一个 Amazon Elastic Compute Cloud (Amazon EC2) 实例。

**注意**  
对于采用年度定价模式的按小时计费 AMI，年度订阅仅涵盖您在购买时指定的实例类型。例如 `t3.medium`。启动任何其他实例类型都将按该实例类型的小时费率收费，具体取决于有效订阅。

您还可以采用按小时定价模式继续启动和运行 AWS Marketplace 软件产品。Amazon EC2 和其他 AWS 使用分开计费，并且不包含在您购买 AWS Marketplace 软件产品的费用中。

如果您将 Amazon EC2 实例类型更改为按小时用量计费，则将根据您签署的节省计划对您的 Amazon EC2 基础设施进行计费。但是，来自 AWS Marketplace 的 AMI 许可证将自动更改为按小时定价。

如果 AMI 按小时计费产品不支持年度定价，则买家无法购买年度订阅。如果 AMI 按小时计费产品支持年度定价，则买家可以前往 AWS Marketplace 中的产品页面购买年度合同。每份年度合同都允许买家运行一个实例，而无需按小时费率计费。合同因实例类型而异。

## 年度协议修正
<a name="annual-agreement-amendments"></a>

通过按小时计算的年度（年度）计划修正，您可以直接从 AWS Marketplace 管理门户 修正计划。当需要将 AMI 切换到在具有更多 vCPU 的 Amazon Elastic Compute Cloud（Amazon EC2）实例类型上运行，或者迁移到更现代的 CPU 架构时，您可使用修正。通过修正，您可以对现有的年度计划进行以下更改：
+ 在 Amazon EC2 实例类型系列之间切换
+ 在 Amazon EC2 实例类型大小之间切换
+ 添加新的实例类型
+ 增加协议中现有实例类型的数量

您在协议中添加或切换到的任何新 Amazon EC2 实例类型都将与计划的当前结束日期共同终止，因此协议中的所有实例类型都将同时续订。

只要按比例分配的更改费用大于零，您就可以进行更改。新增 Amazon EC2 实例的按比例分配费用是基于实例类型的年度费用，并根据协议的剩余期限进行调整。切换实例类型时，将从新增 Amazon EC2 实例类型的按比例分配费用中扣除已移除的 Amazon EC2 实例类型的按比例分配费用。

**注意**  
所有公开优惠达成的协议和无分期付款计划的专属优惠达成的协议均支持修正。

### 年度协议修正示例
<a name="amendment-scenarios"></a>

考虑以下与年度协议修正相关的示例。在以下示例中，客户于 2024 年 1 月 1 日签订了一份合同，购买两个单位的 m5.large 实例类型（4,000 美元/年）。卖家将获得 8,000 美元的报酬，其中不包括上架费用。

**Example 1：切换到等值的实例类型**  
年中，客户希望将一个单位的 m5.large 实例类型切换为一个单位的 r5.large 实例类型。切换的按比例分配费用的计算方法是，从新增实例的按比例分配费用（六个月的 r5.large - 2,000 美元）中扣除已移除实例的按比例分配费用（六个月的 m5.large - 2,000 美元）。净成本为 0 美元，因此可以进行修正。



**Example 2：切换到价格更高的实例类型**  
年中，客户希望将一个单位的 m5.large 实例类型切换为一个单位的 m5.2xlarge 实例类型。切换的按比例分配费用的计算方法是，从新增实例的按比例分配费用（六个月的 m5.2xlarge - 3,000 美元）中扣除已移除实例的按比例分配费用（六个月的 m5.large - 2,000 美元）。净成本为 1,000 美元，因此可以进行修正。



**Example 3：切换到一个单位的价格较低的实例类型**  
年中，客户希望将一个单位的 m5.large 实例类型切换为一个单位的 c5.large 实例类型。切换的按比例分配费用的计算方法是，从新增实例的按比例分配费用（六个月的 c5.large - 1,500 美元）中扣除已移除实例的按比例分配费用（六个月的 m5.large - 2,000 美元）。净成本为 -500 美元（低于 0 美元），因此无法进行修正。



**Example 4：切换到多个单位的价格较低的实例类型**  
年中，客户希望将一个单位的 m5.large 实例类型切换为两个单位的 c5.large 实例类型。切换的按比例分配费用的计算方法是，从新增实例的按比例分配费用（六个月的 2 个 c5.large - 3,000 美元）中扣除已移除实例的按比例分配费用（六个月的 m5.large - 2,000 美元）。净成本为 1,000 美元，因此可以进行修正。



**Example 5：添加新的实例类型**  
年中，客户希望在协议中再增加一个单位的 m5.large 实例类型。此次更改的按比例分配费用按新增实例的按比例分配费用计算得出（六个月的 m5.large - 2,000 美元）。净成本为 2,000 美元，因此可以进行修正。



**Example 6：移除实例类型**  
年中，客户希望移除一个单位的 m5.large 实例类型。此次更改的按比例分配费用按已移除实例的按比例分配费用计算得出（六个月的 m5.large - 2,000 美元）。净成本为 -2,000 美元（低于 0 美元），因此无法进行修正。

# 带有合同定价的 AMI 产品 AWS Marketplace
<a name="buyer-ami-contracts"></a>

一些卖家通过合同定价模式提供公开的基于亚马逊机器映像 (AMI) 的软件产品。在该模式中，您同意一次性预先支付离散数量的许可证费用，以便在您选择的期限内访问软件产品。您需要提前通过您的 AWS 账户账单向您收费。例如，您可以购买 10 个为期一年的用户访问许可证和 5 个为期一年的管理许可证。您可以选择自动续订许可证。

此外，一些公司通过合同定价模式提供专属的基于 AMI 的软件产品。此类产品通常具有固定的期限，无法更改。

您可以在 AWS Marketplace上的产品详情页面购买基于 AMI 的软件产品合同。如果此选项可用，**采用合同定价的 AMI** 会显示在产品详细信息页面的**交付方式**中。当您进行购买时，系统会将您引导至产品的账户设置和配置网站。然后，使用费将显示在您的常规 AWS 账户 账单报告中。

# 通过合同定价模式订阅 AMI 产品
<a name="sub-public-AMI-contract"></a>

卖家为基于亚马逊机器映像（AMI）的软件产品提供公开或专属优惠型合同。您同意一次性预付离散数量的许可证费用，以便访问软件产品。

如果合同是公开优惠型，则可以选择合同期限以及是否自动续订许可证。

专属优惠型通常具有固定的期限，无法更改。

**要通过合同定价模式订阅公开优惠型基于 AMI 的产品，请执行以下操作：**

1. 登录 AWS Marketplace，找到采用合同定价模式的基于容器的软件产品。

1. 在**采购**页面上，查看**定价信息**。

   您可以查看每个期限（以月为单位）的**单位**和费率。

1. 选择**继续订阅**以开始订阅。

   要在不订阅的情况下保存此产品，请选择**保存至列表**。

1. 通过查看定价信息并配置软件产品的条款来创建协议。

   1. 选择合同期限：**1 个月**、**12 个月**、**24 个月**或 **36 个月**。

   1. 在**续订设置**下，选择是否自动续订合同。

   1. 在**合同选项**下，为每个单位选择一个数量。

   合同总价将显示在**定价详细信息**下。

1. 进行这些选择后，选择**创建合同**。

将向您的 AWS 账户收取**合同总价**。随后会在 AWS License Manager 中生成许可证。

**注意**  
处理订阅并在您的 AWS License Manager 帐户中生成软件产品许可证最长可能需要 10 分钟。

**要通过合同定价模式订阅专属优惠型基于 AMI 的产品，请执行以下操作：**

1. 使用您的买家账户登录 AWS Marketplace。

1. 查看专属优惠。

1. 在**采购**页面上，查看**定价信息**。

    您可以查看每个期限（以月为单位）的**单位**和费率。

1. 选择**继续订阅**以开始订阅。

1. 通过查看定价信息并配置软件产品的条款来创建协议。

   合同期限已由卖家设定，无法修改。

1. 在**合同选项**下，为每个单位选择一个数量。

1. 在**定价详细信息**下，查看合同总价。

   您还可以通过选择**其他可用优惠**下的**查看优惠**来查看公开优惠。

1. 进行这些选择后，选择**创建合同**。

**注意**  
处理订阅并在您的 AWS License Manager 帐户中生成软件产品许可证最长可能需要 10 分钟。

# 访问基于 AMI 的软件
<a name="access-ami-software"></a>

以合同定价购买基于亚马逊机器映像（AMI）的软件产品后，系统会将您引导至产品的网站进行账户设置和配置。然后，使用费将显示在您的常规 AWS 账户 账单报告中。

**访问基于 AMI 的软件产品**

1. 在 AWS Marketplace 控制台上，导航到 “**查看订阅**”，然后查看软件产品的许可证。

1. 在**采购**页面上：

   1. 选择 “**管理许可**”，即可在中查看、授予访问权限和跟踪您的权利的使用情况 AWS License Manager。

   1. 选择**继续配置**。

1. 在**启动** 页面上，查看您的配置，然后在**选择操作**下选择软件的启动方式。

1. 在**选择实例类型**上，选择亚马逊弹性计算云 (Amazon EC2) 实例，然后选择**下一步：配置实例详情**。

1. 在**配置实例详细信息**页面上，对于 **IAM 角色，**从您的角色中选择一个现有 AWS Identity and Access Management (IAM) 角色 AWS 账户。

   如果您没有 IAM 角色，选择**手动创建新 IAM 角色**链接并按照说明进行操作。
**注意**  
当您以合同定价购买产品时，将在 AWS Marketplace 上创建许可证，您的软件可以使用 Lic AWS 账户 ense Manager API 检查该许可证。您需要 IAM 角色来启动基于 AMI 的产品的实例。  
IAM 策略中需要以下 IAM 权限。  

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Sid":"VisualEditorO",
            "Effect":"Allow",
            "Action":[
               "license-manager:CheckoutLicense",
               "license-manager:GetLicense",
               "license-manager:CheckInLicense",
               "license-manager:ExtendLicenseConsumption",
               "license-manager:ListReceivedLicenses"
            ],
            "Resource":"*"
         }
      ]
   }
   ```

1. 配置实例详细信息后，选择**查看并启动**。

1. 在**检查实例启动**页面上，选择现有密钥对或创建新密钥对，然后选择**启动实例**。

   将出现**正在进行实例启动**进度窗口。

1. 实例启动后，进入 EC2 控制面板，在 “**实例” 下，查看实例****状态**显示为 “**正在运行**”。

# 查看生成的许可证
<a name="view-generated-license"></a>

订阅基于 AMI 的产品后，将在 AWS License Manager 中生成许可证。您可以查看许可证的详细信息，包括**发行者**（AWS/Marketplace）和**权利**（许可证授予使用、访问或消费应用程序或资源的权利的单位）。

**要查看生成的许可证，请执行以下操作：**

1. 使用您的 AWS 账户登录 AWS License Manager.

1. 在**已授予的许可证**下，查看所有已授予的许可证。

1. 通过在**搜索**栏中输入产品 SKU、接收人或状态来搜索许可证。

1. 选择**许可证 ID** 并查看**许可证详细信息**。

# 修改现有合同
<a name="modify-existing-contract"></a>

如果 AWS Marketplace 买家对AMI产品有预付款，则可以修改合同的某些方面。AMI 合同通过基于合同条款的产品来支持，而不是按小时或按年的灵活消费定价 (FCP) 产品。此功能仅适用于与集成的应用程序 AWS License Manager。买家可以在当前合同中相同产品的权利范围内购买额外的许可证。但是，买家无法减少合同中购买的权利数量。如果卖家启用了自动订阅续订选项，买家也可以取消该选项。

**注意**  
分期付款计划的合同要约不可修改。对于分期付款计划的合同，买家无法进行任何权利变更。权利是使用、访问或消费应用程序或资源的权利。分期付款计划不可更改。

**管理您的订阅**

1. 在 AWS Marketplace 控制台上，导航到**查看订阅**并查看软件产品的许可证。

1. 在**采购**页面上，选择**管理许可证**。

1. 从列表中选择**查看条款**。

1. 在**合同选项**部分，使用箭头增加您的权利。您无法将权利数量减少到少于已购买的权利数。

1. 合同详细信息和总价显示在**定价详细信息** 部分。



**取消自动订阅续订**

1. 在 AWS Marketplace 控制台上，导航到**查看订阅**并查看软件产品的许可证。

1. 在**采购**页面上，选择**管理许可证**。

1. 在**订阅**页面上，找到**续订设置**部分。

1. 请确保您了解取消自动续订的条款和条件。

1. 选中复选框以取消自动续订。

# 在 AMI 产品中进行成本分配标记 AWS Marketplace
<a name="cost-allocation-tagging-ami-marketplace"></a>

AWS Marketplace 支持基于亚马逊系统映像 (AMI) 的软件产品的成本分配标记。新的和现有的亚马逊弹性计算云 (Amazon EC2) 实例标签会根据相应 AWS Marketplace 的 AMI 使用情况自动填充。您可以使用已激活的成本分配标签，通过成本和使用情况报告 AWS Cost Explorer、 AWS 预算或其他云支出分析工具来识别和跟踪 AMI 的使用情况。 AWS 

提供 AMI 的供应商还可能根据产品的特定信息，在计量基于 AMI 的产品时记录其他自定义标签。有关更多信息，请参阅[使用成本分配标记](cost-allocation-tagging.md)。

您可以使用标签来整理资源，并可以使用成本分配标签来细致地跟踪 AWS 成本。激活成本分配标签后， AWS 使用成本分配标签在成本分配报告中整理资源成本，以便您更轻松地对 AWS 成本进行分类和跟踪。

成本分配标记仅跟踪在账单与成本管理控制台中激活标签后的成本。只有 AWS 账户 所有者、 AWS Organizations 管理账户所有者和具有相应权限的用户才能访问账户的账单和成本管理控制台。无论您是否使用成本分配标记，您的账单金额都不会发生变化。是否使用成本分配标签不会对基于 AMI 的软件产品的功能产生影响。

## 跨多个实例跟踪一个 AMI 的成本分配标签
<a name="multi-instances-cost-allocation-tagging-marketplace"></a>

每个为订阅 AWS Marketplace AMI 而启动的 Amazon EC2 实例在 “ AWS 成本和使用情况” 报告中都有相应的 AWS Marketplace 软件使用量项目。您的 AWS Marketplace 使用量将始终反映应用于相应的 Amazon EC2 实例的特定标签。这使您可以根据在实例级别分配的不同标签值来区分 AWS Marketplace 使用成本。

您还可以使用 Cost Explorer 或 “成本和使用情况” 报告汇总基于标签的使用成本，使其等于账单中反映的 AMI 软件使用费。 AWS 

## 使用分配了成本的已标记实例查找预算
<a name="cost-allocation-tag-script-marketplace"></a>

如果您已经在账单与成本管理控制台中的多个 Amazon EC2 实例上按成本分配标签过滤了活动的预算，则可能很难找到所有这些预算。以下 Python 脚本返回预算列表，其中包含来自当前 AWS 区域中 AWS Marketplace 的 Amazon EC2 实例。

您可以使用此脚本来了解对预算的潜在影响，以及此更改可能导致超支的地方。请注意，账单金额不会发生变化，但会更准确地反映成本分配，这可能会影响预算。

```
#! /usr/bin/python

import boto3

session = boto3.Session()
b3account=boto3.client('sts').get_caller_identity()['Account']
print("using account {} in region {}".format(b3account,session.region_name))


def getBudgetFilters(filtertype):
    ''' 
    Returns budgets nested within the filter values [filter value][budeget name].
    The filtertype is the CostFilter Key such as Region, Service, TagKeyValue.
    '''    
    budget_client = session.client('budgets')
    budgets_paginator = budget_client.get_paginator('describe_budgets')
    budget_result = budgets_paginator.paginate(
        AccountId=b3account
    ).build_full_result()    
    returnval = {}
    if 'Budgets' in budget_result:
        for budget in budget_result['Budgets']:
            for cftype in budget['CostFilters']:
                if filtertype == cftype:                          
                    for cfval in budget['CostFilters'][cftype]:
                        if cfval in returnval:
                            if not budget['BudgetName'] in returnval[cfval]:
                                returnval[cfval].append(budget['BudgetName'])
                        else:
                            returnval[cfval] = [ budget['BudgetName'] ]
    return returnval

def getMarketplaceInstances():
    '''
    Get all the Amazon EC2 instances which originated with AWS Marketplace.        
    '''
    ec2_client = session.client('ec2')
    paginator = ec2_client.get_paginator('describe_instances')
    returnval = paginator.paginate(
        Filters=[{
            'Name': 'product-code.type',
            'Values': ['marketplace']
        }]
    ).build_full_result()
    return returnval


def getInstances():
    mp_instances = getMarketplaceInstances()
    budget_tags = getBudgetFilters("TagKeyValue")
    cost_instance_budgets = []
    for instance in [inst for resrv in mp_instances['Reservations'] for inst in resrv['Instances'] if 'Tags' in inst.keys()]:    
        for tag in instance['Tags']:                
            # combine the tag and value to get the budget filter string
            str_full = "user:{}${}".format(tag['Key'], tag['Value'])
            if str_full in budget_tags:
                for budget in budget_tags[str_full]:
                    if not budget in cost_instance_budgets:
                        cost_instance_budgets.append(budget)    
    print("\r\nBudgets containing tagged Marketplace EC2 instances:")
    print( '\r\n'.join([budgetname for budgetname in cost_instance_budgets]) )


if __name__ == "__main__":
    getInstances()
```

**示例输出**

```
Using account 123456789012 in region us-east-2

Budgets containing tagged Marketplace EC2 instances:
EC2 simple
MP-test-2
```

## 相关主题
<a name="cost-allocation-tagging-related-topics"></a>

有关更多信息，请参阅以下主题：
+ 《AWS Billing 用户指南》**中的[使用成本分配标签](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)。
+ 《AWS Billing 用户指南》中的[激活 AWS 生成的成本分配标签](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activate-built-in-tags.html)**。
+ 《Amazon EC2 用户指南》中的[标记 Amazon EC2 资源](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)。

# 在 AWS Marketplace 中使用 AMI 别名
<a name="buyer-ami-aliases"></a>

亚马逊机器映像 (AMI) 使用 `AMI ID` 进行标识。您可以使用 `AMI ID` 来指明在启动产品时要使用哪个 AMI。`AMI ID` 的格式为 `ami-<identifier>`，例如 ami-123example456。每个 AWS 区域中每个产品的每个版本都有不同的 AMI（以及不同的 `AMI ID`）。

当您从 AWS Marketplace 启动产品时，系统会自动为您填写 `AMI ID`。如果您想要从 AWS Command Line Interface (AWS CLI) 或使用 Amazon Elastic Compute Cloud (Amazon EC2) 自动启动产品，则可以使用 `AMI ID`。您可以在启动时配置软件时找到 `AMI ID`。有关更多信息，请参阅 [第 3 步：配置您的软件](tutorial-buying-ami.md#step-3-configure-your-software)。

配置软件时，`Ami Alias` 也与 `AMI ID` 位于同一位置。`Ami Alias` 是与 `AMI ID` 类似的 ID，但它更易于在自动化中使用。`AMI alias` 的形式为 `aws/service/marketplace/prod-<identifier>/<version>`，例如 ` aws/service/marketplace/prod-1234example5678/12.2`。您可以在任何区域使用此 `Ami Alias` ID，AWS 会自动将其映射到正确的区域 `AMI ID`。

例如，如果您想使用产品的最新版本，请使用术语 **latest** 代替 `AMI alias` 中的版本，以便 AWS 为您选择产品的最新版本，例如 **aws/service/marketplace/prod-1234example5678/latest**。

**警告**  
使用该 **latest** 选项可获得该软件的最新版本。但是，请谨慎使用此特征。例如，如果产品有 1.x 和 2.x 版本可用，则您可能使用的是 2.x。但是，该产品最新发布的版本可能是 1.x 的错误修复。

## 使用 AMI 别名的示例
<a name="buyer-ami-alias-examples"></a>

AMI 别名在自动化中非常实用。您可以在 AWS CLI 或 CloudFormation 模板中使用它们。

以下示例演示如何使用 AWS CLI 通过 AMI 别名启动实例。

```
aws ec2 run-instances
--image-id resolve:ssm:/aws/service/marketplace/prod-<identifier>/version-7.1
--instance-type m5.xlarge
--key-name MyKeyPair
```

以下示例演示 CloudFormation 模板接受 AMI 别名作为输入参数来创建实例。

```
AWSTemplateFormatVersion: 2010-09-09

Parameters:
    AmiAlias:
        Description: AMI alias
        Type: 'String'
        
Resources:
    MyEC2Instance:
        Type: AWS::EC2::Instance
        Properties:
            ImageId: !Sub "resolve:ssm:${AmiAlias}"
            InstanceType: "g4dn.xlarge"
            Tags:
                -Key: "Created from"
                 Value: !Ref AmiAlias
```