Configuración de la medición personalizada para productos de contenedores con AWS Marketplace Metering Service - 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.

Configuración de la medición personalizada para productos de contenedores con AWS Marketplace Metering Service

AWS Marketplace los productos en contenedores pueden tener una medición personalizada en hasta 24 dimensiones de precios diferentes por producto. Cada dimensión puede tener asociada un precio de contrato a largo plazo. Para habilitar la medición personalizada, integre su producto de contenedor con AWS Marketplace Metering Service. Puede definir sus propias unidades de precios y contadores personalizados para ese uso o AWS para facturar mediante esta operación. MeterUsageAPI En las siguientes secciones, se muestra cómo configurar la medición personalizada para su producto de contenedor.

Las dimensiones de los precios se definen en dos ubicaciones, una en el formulario de carga del producto y otra a través de la operación de API MeterUsage. Este método de dos factores garantiza que las ofertas posteriores funcionen según lo previsto antes de que se pongan a disposición del público.

Para configurar la medición personalizada, deberá elegir la categoría de uso, el tipo de unidad y las dimensiones de precios:

  • Categoría de uso: la categoría de uso ayuda a los compradores a entender cuál es su producto y cómo usarlo.

  • Tipo de unidad: el tipo de unidad define la unidad de medida para la facturación. Por ejemplo, el ancho de banda medido en GBps oMBps, el número de hosts o los datos medidos en MB, GB o TB.

  • Dimensiones de precios: las dimensiones de precios representan una función o servicio para el que has establecido un precio por unidad (por ejemplo, usuariosvCPUs, escaneos o agentes desplegados). Las dimensiones de los precios son públicas. Sin embargo, puedes seguir definiendo ofertas privadas y Bring Your Own License (BYOL) para productos públicos. No envíe precios en los registros de medición. Usted mide la cantidad de unidades y la usamos junto con los precios que definió al crear su producto para calcular la factura del comprador.

    Si los precios del producto no se ajustan a ninguna de las categorías o tipos de unidades predefinidos, puede elegir la categoría Unidades genérica. A continuación, utilice la descripción de la dimensión para describir qué es la unidad.

Si lo desea, puede distribuir el uso en las asignaciones por propiedades de las que realiza un seguimiento. Las asignaciones se representan como etiquetas para el comprador. Estas etiquetas permiten al comprador ver sus costes divididos por el uso y los valores de las etiquetas. Por ejemplo, si cobra por usuario y los usuarios tienen la propiedad “Departamento”, puede crear asignaciones de uso con etiquetas que tengan la clave "Departamento" y una asignación por valor. Esto no cambia el precio, las dimensiones ni el uso total que declara, pero permite a su cliente ver sus costes por categorías adecuadas a su producto.

Le recomendamos que envíe un registro de medición cada hora. Sin embargo, también puede agregar el uso a lo largo de periodos diarios o mensuales. Si experimenta una interrupción, puede agregar el uso del software del comprador y enviarlo en la medición de las horas siguientes. No puede enviar más de un registro por hora.

importante

La versión de prueba gratuita y los derechos de prepago se registran cada hora. Por lo tanto, enviar estos registros por separado puede conllevar que se le cobre de más al comprador.

Requisitos previos de medición personalizada

Antes de publicar el producto, debe hacer lo siguiente:

  1. Crea un nuevo producto contenedor en AWS Marketplace Management Portal el y anota su código de producto.

  2. Rellene el formulario de carga del producto con la información de dimensión necesaria y devuélvanoslo para su procesamiento.

  3. Utilice un rol AWS Identity and Access Management (IAM) para la tarea o el pod que ejecuta la aplicación con los IAM permisos necesarios para realizar la llamadaMeterUsage. La política IAM administrada AWSMarketplaceMeteringRegisterUsage tiene estos permisos.

  4. (Opcional) Se recomienda activar el AWS CloudTrail registro en la definición de la tarea o del pod si desea ver el registro.

  5. Realice una llamada de prueba a la MeterUsage API operación con un registro de todas las dimensiones de precios que defina.

Formulario de carga de producto para medición personalizada

Al rellenar el formulario de carga del producto para la medición personalizada, cada producto puede tener hasta 24 dimensiones. Las dimensiones se definen en los campos siguientes:

  • Nombre de la dimensión: el nombre que se utiliza cuando la aplicación de contenedor envía los registros de medición al AWS Marketplace Metering Service. Este nombre indica la dimensión que usará su comprador. Este nombre está visible en los informes de facturación. Después de establecer el nombre, no puede cambiarlo.

  • Descripción de la dimensión: la descripción de la dimensión orientada al comprador. La descripción puede contener entre 1 y 70 caracteres. Una vez que el producto se haya publicado públicamente para los compradores, este campo no se puede cambiar.

  • Tasa de dimensiones: el precio del software por unidad para este producto cuando los compradores pagan por uso. Este campo admite tres decimales.

  • Tarifa dimensional a largo plazo: el precio total del software durante un contrato a largo plazo, cuando los compradores pagan por adelantado.

  • Duración a largo plazo (días): la duración, en días, del contrato a largo plazo.

Probar el modo de integración y vista previa de MeterUsage

Utilice la MeterUsage operación para probar la integración antes de enviar la imagen AWS Marketplace para su publicación.

El modo de vista previa funciona de forma idéntica al modo de producción, excepto que el primero no realiza la verificación del derecho a utilizar el producto. Para llamar MeterUsage en modo de vista previa, llama MeterUsage desde las imágenes del contenedor ejecutando tu producto en Amazon Elastic Container Service (AmazonECS) o Amazon Elastic Kubernetes Service (EKSAmazon) Cuenta de AWS con el que estás utilizando para publicar el producto. AWS Marketplace Su integración de medición debe configurarlo de forma dinámica Región de AWS, en lugar de codificarlo de forma rígida. Sin embargo, cuando realices las pruebas, lanza al menos una ECS tarea de Amazon o un EKS pod de Amazon que contenga tu contenedor de pago en la región EE.UU. Este (Virginia del Norte) para que el equipo de AWS Marketplace operaciones pueda verificar tu trabajo con los registros de esa región.

nota
  • Si tu producto es compatible con Amazon ECS y AmazonEKS, solo necesitas lanzarlo en Amazon EKS para que podamos validar tu integración.

  • Prueba todas las dimensiones antes de lanzar tu producto al público y después de añadir una nueva dimensión. Si no envías un registro de medición para cada dimensión asociada a un producto en contenedor, se producirá un error y la solicitud fallará.

No puede probar totalmente la integración hasta que el producto se publique con todos los metadatos y la información de precios correspondiente. Si lo solicita, el equipo de operaciones del AWS Marketplace catálogo puede verificar la recepción de sus registros de medición en modo de vista previa.

Control de errores para MeterUsage

Si su imagen de contenedor se integra con la operación MeterUsage y recibe una excepción que no sea ThrottlingException al arrancar el contenedor, debe finalizar el contenedor para evitar su uso no autorizado.

Las excepciones distintas de ThrottlingException se lanzan solo en la llamada inicial a MeterUsage. Las llamadas posteriores desde la misma ECS tarea de Amazon o EKS pod de Amazon no se generan CustomerNotSubscribedException aunque el cliente cancele la suscripción mientras la tarea o el pod aún están en ejecución. A estos clientes se les sigue cobrando la ejecución de los contenedores después de darse de baja y se realiza un seguimiento de su uso.

Consulte MeterUsagela AWS Marketplace Metering Service APIreferencia para obtener descripciones detalladas de los errores más comunes de. MeterUsage Cada lenguaje de AWS SDK programación tiene un conjunto de pautas de manejo de errores que puede consultar para obtener información adicional.

Etiquetado medido por el proveedor (opcional)

El etiquetado medido por el proveedor ayuda a los proveedores de software independientes (ISVs) a ofrecer al comprador una visión más detallada del uso que hacen del software y puede ayudarle a asignar los costes.

Existen muchas formas de etiquetar el uso del software de un comprador. Una forma consiste en preguntar primero a los compradores qué es lo que quieren ver en su asignación de costes. A continuación, puede dividir el uso entre las propiedades de las que haga un seguimiento para la cuenta del comprador. Entre los ejemplos de propiedades se incluyen AccountId, Business Unit, Cost Centers y otros metadatos relevantes para su producto. Estas propiedades se exponen al comprador en forma de etiquetas. Con las etiquetas, los compradores pueden ver sus costes divididos en consumo según los valores de las etiquetas en su AWS consola de facturación (). https://console.aws.amazon.com/billing/ El etiquetado medido por el proveedor no cambia el precio, las dimensiones ni el uso total que declara. Permite a sus clientes ver sus costes por categorías adecuadas a su producto.

En un caso de uso común, un comprador se suscribe a su producto con una Cuenta de AWS. El comprador también tiene varios usuarios asociados a la misma suscripción de producto. Puede crear asignaciones de uso con etiquetas que tengan una clave de AccountId y, a continuación, asignar el uso a cada usuario. En este caso, los compradores pueden activar la etiqueta AccountId en su consola de administración de costes y facturación, y analizar el uso individual de los usuarios.

Experiencia del vendedor

Los vendedores pueden agregar los registros de medición de los recursos con el mismo conjunto de etiquetas en lugar de agregar el uso de todos los recursos. Por ejemplo, los vendedores pueden crear un registro de medición que incluya diferentes grupos de UsageAllocations. Cada bucket representa UsageQuantity para un conjunto de etiquetas, como AccountId y BusinessUnit.

En el siguiente diagrama, Recurso 1 tiene un conjunto único de etiquetas AccountId y BusinessUnit, y aparece en el Registro de medición como una entrada única.

Tanto Recurso 2 como Recurso 3 tienen la misma etiqueta de AccountId, 2222, y la misma etiqueta de BusinessUnit, Operations. Como resultado, se combinan en una sola entrada de UsageAllocations en el Registro de medición.

Metering record showing resource usage allocation from three resources to two accounts.

Los vendedores también pueden combinar los recursos sin etiquetas en una sola UsageAllocation con la cantidad de uso asignada y enviarlos como una de las entradas en UsageAllocations.

Los límites incluyen:

  • Número de etiquetas: 5

  • Tamaño de UsageAllocations (cardinalidad): 2500

La validación incluye lo siguiente:

  • Se admiten caracteres para la clave y el valor de la etiqueta: a-zA-Z 0-9+ -= . _:\ /@

  • Número máximo de etiquetas en la lista de UsageAllocation: 5

  • Dos UsageAllocations no pueden tener las mismas etiquetas (es decir, la misma combinación de claves y valores de etiqueta). Si ese es el caso, deben usar la misma UsageAllocation.

  • La suma de AllocatedUsageQuantity de UsageAllocation debe ser igual a UsageQuantity, que es el uso agregado.

Experiencia del comprador

En la siguiente tabla se muestra un ejemplo de la experiencia del comprador después de activar las etiquetas de proveedor AccountId y BusinessUnit.

En este ejemplo, el comprador puede ver el uso asignado en su Informe de uso de costes. Las etiquetas medidas por el proveedor utilizan el prefijo “aws:marketplace:isv”. Los compradores pueden activarlas en la consola de administración de costes y facturación, en Etiquetas de asignación de costes, Etiquetas de asignación de costes generadas por AWS.

La primera y la última fila del Informe de uso de costes son relevantes para lo que el vendedor envía al servicio de medición (como se muestra en el ejemplo Experiencia del vendedor).

Informe de uso de costes (simplificado)
ProductCode Comprador UsageDimension UsageQuantity aws:marketplace:isv:AccountId aws:marketplace:isv:BusinessUnit
xyz 111122223333 Red: por (GB) inspeccionado 70 2222 Operaciones
xyz 111122223333 Red: por (GB) inspeccionado 30 3333 Finanzas
xyz 111122223333 Red: por (GB) inspeccionado 20 4444 IT
xyz 111122223333 Red: por (GB) inspeccionado 20 5555 Marketing
xyz 111122223333 Red: por (GB) inspeccionado 30 1111 Marketing

Para ver un ejemplo del código, consulte Ejemplo de código de MeterUsage con etiquetado de asignación de uso (opcional).

Ejemplo de código

El siguiente ejemplo de código se proporciona para ayudarlo a integrar su producto contenedor con lo AWS Marketplace APIs necesario para la publicación y el mantenimiento de su producto.

Ejemplo de código de MeterUsage con etiquetado de asignación de uso (opcional)

El siguiente ejemplo de código es relevante para los productos de contenedor con modelos de precio por consumo. El ejemplo de Python envía un registro de medición con las etiquetas de asignación de uso adecuadas AWS Marketplace para cobrar pay-as-you-go las tarifas a sus clientes.

# NOTE: Your application will need to aggregate usage for the # customer for the hour and set the quantity as seen below. # AWS Marketplace can only accept records for up to an hour in the past. # # productCode is supplied after the AWS Marketplace Ops team has # published the product to limited # Import AWS Python SDK import boto3 import time usageRecord = [ { "AllocatedUsageQuantity": 2, "Tags": [ { "Key": "BusinessUnit", "Value": "IT" }, { "Key": "AccountId", "Value": "123456789" }, ] }, { "AllocatedUsageQuantity": 1, "Tags": [ { "Key": "BusinessUnit", "Value": "Finance" }, { "Key": "AccountId", "Value": "987654321" }, ] } ] marketplaceClient = boto3.client("meteringmarketplace") response = marketplaceClient.meter_usage( ProductCode="testProduct", Timestamp=int(time.time()), UsageDimension="Dimension1", UsageQuantity=3, DryRun=False, UsageAllocations=usageRecord )

Para obtener más información al respectoMeterUsage, consulte MeterUsagela AWS Marketplace Metering Service APIReferencia.

Ejemplo de respuesta

{ "MeteringRecordId": "string" }