Étiquetage de répartition des coûts dans les produits AMI - AWS Marketplace

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Étiquetage de répartition des coûts dans les produits AMI

AWS Marketplace prend en charge le balisage de répartition des coûts pour les produits logiciels basés sur Amazon Machine Image (AMI). Les balises d'instance Amazon Elastic Compute Cloud (Amazon EC2) nouvelles et existantes sont automatiquement renseignées en fonction de l'utilisation de l'AMI correspondante. AWS Marketplace Vous pouvez utiliser les balises de répartition des coûts activées pour identifier et suivre l'utilisation des AMI via AWS Cost Explorer les rapports sur les AWS coûts et l'utilisation, AWS les budgets ou d'autres outils d'analyse des dépenses dans le cloud.

Le fournisseur qui a fourni l'AMI peut également enregistrer d'autres étiquettes personnalisées dans le comptage des produits basés sur l'AMI, sur la base d'informations spécifiques au produit. Pour en savoir plus, consultez Balisage de répartition des coûts.

Utilisez des balises pour organiser vos ressources et des balises de répartition des coûts pour effectuer le suivi de vos coûts AWS à un niveau détaillé. Après avoir activé les balises de répartition des coûts, AWS utilise les balises de répartition des coûts pour organiser les coûts des ressources dans votre rapport de répartition des coûts, afin de faciliter la catégorisation et le suivi de vos AWS coûts.

Le balisage de répartition des coûts permet de suivre les coûts uniquement à partir du moment où les balises ont été activées dans la console Billing and Cost Management. Seuls Compte AWS les propriétaires, les titulaires de comptes de AWS Organizations gestion et les utilisateurs disposant des autorisations appropriées peuvent accéder à la console Billing and Cost Management pour un compte. Que vous utilisiez ou non le balisage de répartition des coûts, le montant qui vous est facturé ne change pas. L'utilisation de balises de répartition des coûts n'a aucun impact sur les fonctionnalités de vos produits logiciels basés sur l'AMI.

Suivi des balises de répartition des coûts pour une AMI sur plusieurs instances

Chaque instance Amazon EC2 lancée pour un abonnement AWS Marketplace AMI est associée à une rubrique d'utilisation AWS Marketplace logicielle correspondante dans le rapport AWS Cost and Usage. Votre AWS Marketplace utilisation reflétera toujours les balises spécifiques appliquées à l'instance Amazon EC2 correspondante. Cela vous permet de distinguer vos coûts AWS Marketplace d'utilisation en fonction des différentes valeurs de balise attribuées, au niveau de l'instance.

Vous pouvez également additionner vos coûts d'utilisation basés sur les balises pour égaler les frais d'utilisation du logiciel AMI indiqués sur votre facture à l'aide du rapport Cost Explorer ou du rapport AWS Cost and Usage.

Recherche de budgets avec des instances balisées allouées aux coûts

Si vous avez déjà filtré des budgets actifs sur des balises de répartition des coûts sur un certain nombre d'instances Amazon EC2 dans la console Billing and Cost Management, il peut être difficile de tous les trouver. Le script Python suivant renvoie une liste de budgets contenant des instances Amazon EC2 à partir de votre budget AWS Marketplace actuel. Région AWS

Vous pouvez utiliser ce script pour connaître l’impact potentiel sur votre budget, ainsi que les cas dans lesquels des dépassements peuvent découler de cette modification. Notez que le montant facturé ne change pas, mais que la répartition des coûts sera reflétée plus précisément, ce qui peut avoir un impact sur les budgets.

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

Exemple de sortie

Using account 123456789012 in region us-east-2 Budgets containing tagged Marketplace EC2 instances: EC2 simple MP-test-2

Pour plus d’informations, consultez les rubriques suivantes :