Marcação de alocação de custos em produtos de AMI - AWS Marketplace

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á.

Marcação de alocação de custos em produtos de AMI

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. Para obter mais detalhes, consulte Marcação de alocação de custo.

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

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

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

Para obter mais informações, consulte os tópicos a seguir.