Etiquetado de asignación de costos de productos de AMI en AWS Marketplace - AWS Marketplace

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Etiquetado de asignación de costos de productos de AMI en AWS Marketplace

AWS Marketplace admite el etiquetado de asignación de costos para productos de software basados en Imagen de máquina de Amazon (AMI). Las etiquetas de instancia de Amazon Elastic Compute Cloud (Amazon EC2), tanto nuevas como existentes, se rellenan automáticamente en función del uso de la AMI de AWS Marketplace correspondiente. Puede utilizar etiquetas de asignación de costos activadas para identificar y realizar un seguimiento del uso de las AMI mediante AWS Cost Explorer, el informe de uso y costos de AWS, presupuestos de AWS u otras herramientas de análisis de gastos en la nube.

El proveedor que proporcionó la AMI también puede registrar otras etiquetas personalizadas en la medición de los productos basados en la AMI, en función de la información específica del producto. Para obtener más información, consulta Uso de etiquetado de asignación de costos.

Puede utilizar las etiquetas para organizar los recursos y las etiquetas de asignación de costos para realizar un seguimiento de los costos de AWS en un nivel detallado. Después de activar las etiquetas de asignación de costos, AWS utiliza las etiquetas de asignación de costos para organizar los costos de los recursos en el informe de asignación de costos, de forma que le resulte más fácil clasificar en categorías y hacer un seguimiento de los costos de AWS.

El etiquetado de asignación de costos solo realiza un seguimiento de los costos desde que las etiquetas se activan en la consola de Administración de costos y facturación. Solo los propietarios de Cuenta de AWS, los propietarios de cuentas de administración de AWS Organizations y los usuarios con los permisos adecuados pueden obtener acceso a la consola de Administración de costos y facturación de una cuenta. Independientemente de si utiliza el etiquetado de asignación de costes, no hay cambios en el importe que se le factura. Independientemente de si usa etiquetas de asignación de costos, esto no afecta a la funcionalidad de los productos de software basados en AMI.

Seguimiento de etiquetas de asignación de costos para una AMI en varias instancias

Cada instancia de Amazon EC2 lanzada para una suscripción de AMI de AWS Marketplace tiene una partida de uso de software de AWS Marketplace correspondiente en el informe de uso y costo de AWS. Su uso de AWS Marketplace siempre reflejará las etiquetas específicas aplicadas a la instancia de Amazon EC2 correspondiente. Esto le permite distinguir los costos de uso de AWS Marketplace en función de los diferentes valores de etiqueta que se asignaron en un nivel de instancia.

También puede sumar los costos de uso basados en etiquetas para igualar el cargo por uso del software de AMI reflejado en su factura con el Explorador de costos o el informe de uso y costo de AWS.

Búsqueda de presupuestos con instancias etiquetadas con asignación de costo

Si ya tiene presupuestos activos filtrados por etiquetas de asignación de costos en varias instancias de Amazon EC2 en la consola de Administración de costos y facturación, puede ser difícil encontrarlos todos. El siguiente script de Python devuelve una lista de presupuestos que contienen instancias de Amazon EC2 del AWS Marketplace en su actual Región de AWS.

Puede utilizar este script para tener en cuenta los posibles impactos en su presupuesto y de dónde podría rebasarse a partir de este cambio. Tenga en cuenta que el importe facturado no cambia, pero las asignaciones de costos se reflejan con mayor precisión, lo que puede afectar a los presupuestos.

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

Ejemplo de resultado

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

Para obtener más información, consulte los temas siguientes: