

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Produtos baseados em AMI em AWS Marketplace
<a name="buyer-server-products"></a>

A imagem de máquina da Amazon (AMI) é uma imagem de um servidor, inclusive um sistema operacional e normalmente um software adicional, executado na AWS.

O software listado AWS Marketplace está disponível apenas para execução no Amazon Elastic Compute Cloud (Amazon EC2). Ele não está disponível para download. 

 AWS Marketplace Ativado, você pode pesquisar AMIs (com sugestões de pesquisa), ver avaliações de produtos enviadas por outros clientes, assinar e lançar AMIs e gerenciar suas assinaturas. Todos os AWS Marketplace produtos foram verificados quanto à qualidade e pré-configurados para a capacidade de lançamento com um clique na infraestrutura da Amazon Web Services (AWS). 

 As listagens de produtos de AMI e software como serviço (SaaS) vêm de vendedores confiáveis. Os produtos de AMI executados na Conta da AWS de um cliente. Você mantém mais controle sobre a configuração de software e os servidores que executam o software, mas você também tem responsabilidades adicionais relacionadas à configuração e à manutenção do servidor. 

O AWS Marketplace catálogo contém uma seleção selecionada de software comercial e de código aberto de vendedores conhecidos. Muitos produtos disponíveis AWS Marketplace podem ser adquiridos por hora. 

 Catálogo AMI é um recurso da comunidade em que as pessoas e as equipes de desenvolvimento podem listar e trocar software ou projetos em desenvolvimento sem a necessidade de passar por uma ampla inspeção. As listagens no catálogo AMI da comunidade podem ou não ser de vendedores conhecidos e normalmente não passam por investigações adicionais. 

 Um AWS Marketplace produto contém uma AMI para cada produto Região da AWS em que o produto está disponível. Eles AMIs são idênticos, exceto por sua localização. Além disso, quando os vendedores atualizam seus produtos com os patches e atualizações mais recentes, eles podem adicionar outro conjunto de AMIs ao produto. 

 Alguns AWS Marketplace produtos podem lançar várias instâncias de uma AMI porque são implantados como um cluster usando AWS CloudFormation modelos. Esse cluster de instâncias, junto com serviços de AWS infraestrutura adicionais configurados pelo CloudFormation modelo, atuam como uma única implantação de produto. 

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

 AWS CloudFormation é um serviço que ajuda você a modelar e configurar seus AWS recursos para que você possa passar menos tempo gerenciando esses recursos e mais tempo se concentrando nos aplicativos que são executados AWS. Um CloudFormation modelo descreve os vários AWS recursos que você deseja, como instâncias do Amazon Elastic Compute Cloud (Amazon EC2) ou instâncias de banco de dados do Amazon Relational Database Service (Amazon RDS). CloudFormation cuida do provisionamento e da configuração desses recursos para você. Para obter mais informações, consulte [Introdução ao CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/GettingStarted.html). 

### Usando AWS CloudFormation modelos
<a name="using-CF-templates"></a>

Os vendedores de software podem oferecer CloudFormation modelos para definir uma topologia de implantação preferencial que consiste em várias instâncias de AMI e outros AWS recursos. Se um CloudFormation modelo estiver disponível para um produto, ele será listado como uma opção de implantação na página de listagem do produto. 

Você pode usar uma AMI para implantar uma única EC2 instância da Amazon. Você pode usar um CloudFormation modelo para implantar várias instâncias de uma AMI que atuam como um cluster, junto com AWS recursos como o Amazon RDS e o serviço Amazon Simple Storage Service, como uma única solução. 

### Produtos de AMI habilitados para medição
<a name="buyer-ami-metering-enabled-products"></a>

Alguns produtos listados AWS Marketplace são cobrados de acordo com o uso medido pelo aplicativo de software. Exemplos de dimensões de uso medido incluem uso de dados, uso ou Host/Agent uso de largura de banda. Esses produtos exigem configuração extra para funcionar corretamente. Qualquer IAMrole pessoa com permissão para medir o uso deve estar associada à sua instância do AWS Marketplace Amazon Elastic Compute Cloud (Amazon EC2) no momento do lançamento. Para obter mais informações sobre IAMroles para a Amazon EC2, consulte [Funções do IAM para a Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html). 

### Políticas de versão do produto de AMI
<a name="ami-product-version-policies"></a>

AWS Marketplace automatiza a experiência de gerenciamento de versões para AWS clientes e vendedores usando S-AMI, AMI com CloudFormation modelo e produtos de contêiner. Com o arquivamento da versão automático, qualquer versão do produto que tenha sido restringida por um vendedor por mais de dois anos é arquivada automaticamente. As versões arquivadas não estão mais disponíveis para lançamento AWS Marketplace para novos clientes, no entanto, os usuários existentes podem continuar usando a versão arquivada por meio de modelos de lançamento e grupos do Amazon Auto EC2 Scaling especificando a ID da AMI. Qualquer versão arquivada que não tenha sido usada para iniciar uma nova instância nos últimos 13 meses será excluída. Depois que uma versão arquivada for excluída, ela não estará mais disponível para lançamento para usuários novos ou existentes.

# Assinaturas de AMI no AWS Marketplace
<a name="buyer-ami-subscriptions"></a>

No AWS Marketplace, alguns produtos de software baseados na imagem de máquina da Amazon (AMI) oferecem um modelo anual de preços por assinatura. Com esse modelo de preços, você faz um pagamento adiantado único e não paga nenhuma taxa de uso por hora nos próximos 12 meses. Você pode aplicar uma assinatura anual a um produto de software do AWS Marketplace em uma instância do Amazon Elastic Compute Cloud (Amazon EC2). 

**nota**  
Para AMI por hora com preço anual, a assinatura anual cobre somente os tipos de instância que você especifica ao comprar. Por exemplo, `t3.medium`. A execução de qualquer outro tipo de instância incorrerá na taxa horária desse tipo de instância com base na assinatura ativa.

Também continue iniciando e executando produtos de software do AWS Marketplace usando a definição de preço por hora. As cobranças para usar o Amazon EC2 e outros serviços da AWS são separadas e adicionais ao que você paga para comprar produtos de software do AWS Marketplace.

Se você alterar o tipo de instância do Amazon EC2 para uso por hora, a infraestrutura do Amazon EC2 será cobrada de acordo com o plano de economia assinado. No entanto, a licença da AMI do AWS Marketplace mudará automaticamente para o preço por hora.

Se um produto da AMI por hora não oferecer suporte ao preço anual, o comprador não poderá comprar uma assinatura anual. Se um produto por hora da AMI oferecer suporte ao preço anual, o comprador poderá acessar a página do produto do AWS Marketplace e comprar contratos anuais. Cada contrato anual permite que o comprador execute uma instância sem a cobrança da taxa horária. Os contratos variam de acordo com o tipo de instância.

## Emendas do contrato anual
<a name="annual-agreement-amendments"></a>

Com as emendas do plano anual (anual) por hora, você pode alterar seu plano diretamente do Portal de gerenciamento do AWS Marketplace. É possível usar emendas quando precisar mudar a AMI para ser executada em um tipo de instância do Amazon Elastic Compute Cloud (Amazon EC2) com mais vCPUs ou mudar para uma geração mais moderna de arquitetura de CPU. Com as alterações, é possível fazer as seguintes alterações no seu plano anual existente:
+ Alternar entre as famílias de tipo de instância do Amazon EC2
+ Alternar entre os tamanhos de tipo de instância do Amazon EC2
+ Adicionar um novo tipo de instância 
+ Aumentar a quantidade de um tipo de instância existente no contrato

Qualquer novo tipo de instância do Amazon EC2 que você adicionar ou alterar no contrato será vinculado à data de término atual do plano, de forma que todos os tipos de instância no contrato sejam renovados ao mesmo tempo.

Você pode fazer uma alteração desde que o custo proporcional da alteração seja maior que zero. O custo proporcional das instâncias recém-adicionadas do Amazon EC2 é baseado no custo anual do tipo de instância ajustado para o prazo restante do contrato. Ao trocar de tipo de instância, o custo proporcional do tipo de instância Amazon EC2 removido é deduzido do custo proporcional do tipo de instância Amazon EC2 recém-adicionado.

**nota**  
As emendas são suportadas para todos os contratos feitos a partir de ofertas públicas e contratos de ofertas privadas sem planos de parcelamento.

### Exemplos de emendas ao contrato anual
<a name="amendment-scenarios"></a>

Considere os exemplos a seguir relacionados às emendas do contrato anual. Nos exemplos a seguir, o cliente assinou um contrato em 1º de janeiro de 2024 para duas unidades dos tipos de instância m5.large (USD 4.000/ano). O vendedor recebe USD 8.000, menos as taxas de oferta.

**Example 1: Como mudar para um tipo de instância de igual valor**  
No meio do ano, o cliente quer mudar uma unidade do tipo de instância m5.large para uma unidade do tipo de instância r5.large. O custo proporcional do switch é calculado deduzindo o custo proporcional da instância removida (seis meses de m5.large - USD 2.000) do custo proporcional da instância adicionada (seis meses de r5.large - USD 2.000). O custo líquido é de USD 0, então a emenda pode ocorrer.



**Example 2: Como mudar para um tipo de instância com preço mais alto**  
No meio do ano, o cliente quer mudar uma unidade do tipo de instância m5.large para uma unidade do tipo de instância m5.2xlarge. O custo proporcional do switch é calculado deduzindo o custo proporcional da instância removida (seis meses de m5.large - USD 2.000) do custo proporcional da instância adicionada (seis meses de m5.2xlarge - USD 3.000). O custo líquido é de USD 1.000, então a emenda pode ocorrer.



**Example 3: Como mudar para uma única unidade de um tipo de instância com preço mais baixo**  
No meio do ano, o cliente quer mudar uma unidade do tipo de instância m5.large para uma unidade do tipo de instância c5.large. O custo proporcional do switch é calculado deduzindo o custo proporcional da instância removida (6 meses de m5.large - USD 2.000) do custo proporcional da instância adicionada (6 meses de c5.large - USD 1.500). O custo líquido é de -USD 500 (menos de USD 0), portanto, a emenda não pode ocorrer.



**Example 4: Como mudar para várias unidades de um tipo de instância com preço mais baixo**  
No meio do ano, o cliente quer mudar uma unidade do tipo de instância m5.large para duas unidades do tipo de instância c5.large. O custo proporcional do switch é calculado deduzindo o custo proporcional da instância removida (seis meses de m5.large - USD 2.000) do custo proporcional das instâncias adicionadas (seis meses de duas c5.large - USD 3.000). O custo líquido é de USD 1.000, então a emenda pode ocorrer.



**Example 5: Como adicionar um novo tipo de instância**  
No meio do ano, o cliente quer adicionar uma unidade do tipo de instância m5.large ao contrato. O custo proporcional dessa alteração é calculado como o custo proporcional da instância adicionada (seis meses de m5.large - USD 2.000). O custo líquido é de USD 2.000, então a emenda pode ocorrer.



**Example 6: Como remover um tipo de instância**  
No meio do ano, o cliente quer remover uma unidade do tipo de instância m5.large. O custo proporcional dessa emenda é calculado como o custo proporcional da instância removida (seis meses de m5.large - USD 2.000). O custo líquido é de -USD 2.000 (menos de USD 0), portanto, a emenda não pode ocorrer.

# Produtos AMI com preços contratuais em AWS Marketplace
<a name="buyer-ami-contracts"></a>

Alguns vendedores oferecem produtos de software públicos baseados na imagem de máquina da Amazon (AMI) com um modelo de preços contratuais. Nesse modelo, você concorda em fazer um pagamento adiantado único por quantidades discretas de licenças para acessar o produto de software pelo período de sua escolha. Você é cobrado, antecipadamente, por meio do seu Conta da AWS. Por exemplo, você pode comprar 10 licenças de acesso de usuário e cinco licenças administrativas por um ano. Você pode optar por renovar as licenças automaticamente.

Além disso, algumas empresas oferecem produtos de software privados baseados na AMI com um modelo de preços contratuais. Uma oferta privada normalmente tem uma duração fixa que não pode ser alterada.

Você pode comprar um contrato de produto do software baseado na AMI usando a página de detalhes do produto no AWS Marketplace. Se essa opção estiver disponível, **AMI com preço contratual** será exibido para **Método de entrega** na página de detalhes do produto. Quando fizer a compra, você será direcionado para o site do produto para instalação e configuração da conta. As cobranças de uso aparecerão então em seu relatório de Conta da AWS faturamento regular.

# Assinatura de um produto de AMI com preços contratuais
<a name="sub-public-AMI-contract"></a>

Vendedores oferecem produtos de software públicos baseados na imagem de máquina da Amazon (AMI). Você concorda em fazer um pagamento adiantado único por quantidades discretas de licenças para acessar o produto de software.

Se o contrato for uma oferta pública, você poderá escolher a duração do contrato e se deseja renovar automaticamente as licenças.

A oferta privada normalmente tem uma duração fixa que não pode ser alterada.

**Para assinar uma oferta pública de produto baseado na AMI com um modelo de preço contratual**

1. Faça login no AWS Marketplace e encontre um produto de software baseado em contêineres com um modelo de preços contratuais.

1. Na página **Compras**, veja as **Informações de preços**.

   Você pode ver as **Unidades** e a taxa de cada duração (em meses).

1. Escolha **Continue para assinar** para iniciar a assinatura. 

   Para salvar este produto sem assinar, escolha **Salvar na lista**.

1. Crie um contrato revisando as informações de preços e configurando os termos do produto de software. 

   1. Escolha a duração do contrato: **1 mês**, **12 meses**, **24 meses** ou **36 meses** 

   1. Em **Configurações de renovação**, escolha se deseja renovar automaticamente o contrato.

   1. Em **Opções de contrato**, escolha uma quantidade para cada unidade.

   O preço total do contrato é exibido em **Detalhes do preço**.

1. Depois de fazer todas as seleções, escolha **Criar contrato**.

O **Preço total do contrato** é cobrado na Conta da AWS. Uma licença é gerada no AWS License Manager.

**nota**  
Pode levar até 10 minutos para que a assinatura seja processada e uma licença seja gerada na conta do AWS License Manager para o produto de software.

**Para assinar uma oferta privada de produto baseado na AMI com um modelo de preço contratual**

1. Faça login no AWS Marketplace com sua conta de comprador.

1. Veja a oferta privada. 

1. Na página **Compras**, veja as **Informações de preços**.

    Você pode ver as **Unidades** e a taxa de cada duração (em meses). 

1. Escolha **Continue para assinar** para iniciar a assinatura. 

1. Crie um contrato revisando as informações de preços e configurando os termos do produto de software. 

   A duração do contrato já foi definida pelo vendedor e não pode ser modificada. 

1. Em **Opções de contrato**, escolha uma quantidade para cada unidade.

1. Veja o preço total do contrato em **Detalhes do preço**.

   Você também pode ver a oferta pública escolhendo **Exibir oferta** em **Outras ofertas disponíveis**.

1. Depois de fazer todas as seleções, escolha **Criar contrato**.

**nota**  
Pode levar até 10 minutos para que a assinatura seja processada e uma licença seja gerada na conta do AWS License Manager para o produto de software.

# Como acessar o software baseado em AMI
<a name="access-ami-software"></a>

Depois de comprar um produto de software baseado em imagem de máquina da Amazon (AMI) com preços contratuais, você será direcionado para o site do produto para instalação e configuração da conta. As cobranças de uso aparecerão então em seu relatório de Conta da AWS faturamento regular.

**Para acessar o produto de software baseado na AMI**

1. No AWS Marketplace console, navegue até **Exibir assinatura** e veja a licença do produto de software. 

1. Na página **Compras**:

   1. Escolha **Gerenciar licença** para visualizar, conceder acesso e monitorar o uso de seus direitos em. AWS License Manager

   1. Escolha **Continue to Configuration (Continuar para configuração)**. 

1. Na página **Iniciar**, revise a configuração e escolha como você deseja iniciar o software em **Escolher ação**.

1. Em **Escolha um tipo de instância**, escolha uma instância do Amazon Elastic Compute Cloud (Amazon EC2) e, em seguida, escolha **Avançar: Configurar detalhes da instância**.

1. Na página **Configurar detalhes da instância**, para a **função do IAM,** escolha uma função existente AWS Identity and Access Management (IAM) na sua Conta da AWS. 

   Se você não tiver um perfil do IAM, escolha o link **Criar novo perfil do IAM manualmente** e siga as instruções.
**nota**  
Quando você compra um produto com preços contratuais, uma licença é criada pela AWS Marketplace on the Conta da AWS que seu software pode verificar usando a API License Manager. Você precisará de um perfil do IAM para iniciar uma instância do produto baseado na AMI.  
As seguintes permissões do IAM são obrigatórias na política do 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. Depois que os detalhes da instância estiverem configurados, escolha **Revisar e iniciar**.

1. Na página **Revisar execução da instância**, selecione um par de chaves existente ou crie um novo e escolha **Executar instâncias**.

   A janela de progresso **Iniciando execuções de instância** é exibida.

1. Depois que a instância for iniciada, acesse o EC2 painel e, em **Instâncias**, veja se o **estado da instância** exibe Em **execução**.

# Visualização de uma licença gerada
<a name="view-generated-license"></a>

Depois de assinar um produto baseado em AMI, uma licença é gerada em AWS License Manager. Você pode revisar os detalhes da licença incluindo o **Emissor** (AWS/Marketplace) e os **Direitos** (as unidades às quais a licença concede o direito de usar, acessar ou consumir uma aplicação ou recurso).

**Para visualizar uma licença gerada**

1. Faça login no AWS License Manager com sua Conta da AWS.

1. Em **Licenças concedidas**, veja todas as licenças concedidas.

1. Pesquise licenças inserindo o SKU, o destinatário ou o status do produto na barra **Pesquisar**.

1. Escolha o **ID da licença** e veja os **Detalhes da licença**. 

# Modificação de um contrato existente
<a name="modify-existing-contract"></a>

Se eles já tiverem um compromisso inicial com um produto da AMI, AWS Marketplace os compradores podem modificar alguns aspectos de um contrato. Um contrato de AMI é suportado por meio de ofertas baseadas em termos contratuais, em vez de ofertas de preços flexíveis de consumo (FCP) por hora ou por ano. Esse recurso está disponível somente para aplicativos integrados com AWS License Manager o. Os compradores podem comprar licenças adicionais dentro do direito à mesma oferta no contrato atual. No entanto, os compradores não podem reduzir o número de direitos adquiridos no contrato. Os compradores também poderão cancelar a renovação automática da assinatura se a opção for habilitada pelo vendedor. 

**nota**  
Uma oferta de contrato do plano de parcelamento não pode ser modificada. Não há alterações no direito disponíveis para o comprador de um contrato adquirido do plano de parcelamento. Um direito é o direito de usar, acessar ou consumir uma aplicação ou recurso. As ofertas do plano de parcelamento não podem ser alteradas.

**Gerenciar sua assinatura**

1. No AWS Marketplace console, navegue até **Exibir assinatura** e veja a licença do produto de software. 

1. Na página **Compras**, selecione **Gerenciar licença**.

1. Na lista, selecione **Visualizar termos**.

1. Na seção **Opções de contrato**, aumente seus direitos usando as setas. Não é possível reduzir a contagem de direitos abaixo dos direitos adquiridos.

1. Os detalhes do contrato e o preço total são exibidos na seção **Detalhes do preço**.



**Para cancelar a renovação automática da assinatura**

1. No AWS Marketplace console, navegue até **Exibir assinatura** e veja a licença do produto de software. 

1. Na página **Compras**, selecione **Gerenciar licença**.

1. Na página **Assinatura**, localize a seção **Configurações de renovação**.

1. Entenda os termos e condições com o cancelamento.

1. Marque a caixa de seleção para cancelar a renovação automática.

# Etiquetagem de alocação de custos para produtos AMI em AWS Marketplace
<a name="cost-allocation-tagging-ami-marketplace"></a>

AWS Marketplace oferece suporte à marcação de alocação de custos para produtos de software baseados em Amazon Machine Image (AMI). As tags de instância novas e existentes do Amazon Elastic Compute Cloud (Amazon EC2) são preenchidas automaticamente com base no uso correspondente da AMI. AWS Marketplace Você pode usar etiquetas de alocação de custos ativadas para identificar e rastrear o uso da AMI por meio AWS Cost Explorer de relatórios de AWS custo e uso, AWS orçamentos ou outras ferramentas de análise de gastos na nuvem.

O fornecedor que forneceu a AMI também pode registrar outras tags personalizadas na medição de produtos baseados em AMI, com base nas informações específicas do produto. Consulte mais detalhes em [Usar tags de alocação de custos](cost-allocation-tagging.md).

Você pode usar tags para organizar os seus recursos e tags de alocação de custos para acompanhar os custos da AWS em um nível detalhado. Depois de ativar as tags de alocação de custos, AWS use as tags de alocação de custos para organizar seus custos de recursos em seu relatório de alocação de custos, para facilitar a categorização e o controle de seus custos. AWS 

A marcação de alocação de custos só rastreará os custos a partir do momento em que as tags foram ativadas no console do Billing and Cost Management. Somente Conta da AWS proprietários, proprietários AWS Organizations de contas de gerenciamento e usuários com as permissões apropriadas podem acessar o console do Billing and Cost Management de uma conta. Independentemente de você usar a marcação de alocação de custos, não há alteração no valor cobrado. Usar ou não tags de alocação de custos não afeta a funcionalidade de seus produtos de software baseados em AMI.

## Rastrear tags de alocação de custos para uma AMI em várias instâncias
<a name="multi-instances-cost-allocation-tagging-marketplace"></a>

Cada instância do Amazon EC2 lançada para uma assinatura de AWS Marketplace AMI tem um item de linha de uso de AWS Marketplace software correspondente no relatório de AWS custo e uso. Seu AWS Marketplace uso sempre refletirá as tags específicas aplicadas à instância correspondente do Amazon EC2. Isso permite distinguir seus custos de AWS Marketplace uso com base nos diferentes valores de tag que foram atribuídos, em um nível de instância.

Você também pode somar seus custos de uso com base em tags para igualar a taxa de uso do software AMI refletida em sua fatura com o Cost Explorer ou com o relatório AWS Cost and Usage.

## Encontrar orçamentos com instâncias marcadas de custos alocados
<a name="cost-allocation-tag-script-marketplace"></a>

Se você já tem orçamentos ativos filtrados por tags de alocação de custos em várias instâncias do Amazon EC2 no console do Billing and Cost Management , pode ser difícil encontrar todos eles. O script Python a seguir retorna uma lista de orçamentos que contêm instâncias do Amazon EC2 do AWS Marketplace na Região da AWS atual.

Você pode usar esse script para estar ciente de um possível impacto em seu orçamento e onde excedentes podem ocorrer com essa alteração. Observe que o valor faturado não muda, mas as alocações de custos serão refletidas com mais precisão, o que pode afetar os orçamentos.

```
#! /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()
```

**Exemplo de saída**

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

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

## Tópicos relacionados
<a name="cost-allocation-tagging-related-topics"></a>

Para saber mais, consulte os seguintes tópicos:
+ [Usar tags de alocação de custos](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) no *Guia do usuário do AWS Billing *. 
+ [Ativar as tags de alocação de custos geradas pela AWS](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activate-built-in-tags.html) no *Guia do usuário do AWS Billing *. 
+ [Marcar seus recursos do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html), no Guia do usuário do Amazon EC2.

# Usar aliases de AMI do AWS Marketplace
<a name="buyer-ami-aliases"></a>

Uma imagem de máquina da Amazon (AMI) é identificada com um `AMI ID`. Você pode usar o `AMI ID` para indicar qual AMI deseja usar ao executar um produto. O `AMI ID` tem o formato `ami-<identifier>`, por exemplo, ami-123example456. Cada versão de cada produto em cada Região da AWS tem uma AMI diferente (e um `AMI ID` diferente).

Quando você executa um produto no AWS Marketplace, o `AMI ID` é preenchido automaticamente. Você pode usar `AMI ID` se quiser automatizar a execução de produtos no AWS Command Line Interface (AWS CLI) ou usando o Amazon Elastic Compute Cloud (Amazon EC2). Você pode encontrar o `AMI ID` ao configurar o software no momento da inicialização. Para obter mais informações, consulte [Etapa 3: configurar o software](tutorial-buying-ami.md#step-3-configure-your-software). 

O `Ami Alias` também está no mesmo local do `AMI ID`, ao configurar o software. O `Ami Alias` é um ID semelhante ao `AMI ID`, mas é mais fácil de usar na automação. Um `AMI alias` tem o formato `aws/service/marketplace/prod-<identifier>/<version>`, por exemplo, ` aws/service/marketplace/prod-1234example5678/12.2`. Você pode usar esse ID do `Ami Alias` em qualquer região e a AWS vai mapeá-lo automaticamente para o `AMI ID` regional correto. 

Se você quiser usar a versão mais recente de um produto, use o termo **latest** no lugar da versão no `AMI alias` para que a AWS escolha a versão mais recente do produto para você, por exemplo, **aws/service/marketplace/prod-1234example5678/latest**.

**Atenção**  
O uso da opção **latest** fornece a versão mais recente do software. No entanto, use esse atributo com cuidado. Por exemplo, se um produto tiver as versões 1.x e 2.x disponíveis, você talvez esteja usando 2.x. No entanto, a versão mais recente do produto pode ser uma correção de bug para 1.x.

## Exemplos de uso de aliases de AMI
<a name="buyer-ami-alias-examples"></a>

Os aliases da AMI são úteis na automação. Você pode usá-los no AWS CLI ou em modelos do CloudFormation.

O exemplo a seguir mostra como usar um alias de AMI para executar uma instância usando o AWS CLI.

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

O exemplo a seguir mostra um modelo do CloudFormation que aceita o alias da AMI como parâmetro de entrada para criar uma instância.

```
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
```