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 medición personalizada para productos de contenedores con AWS Marketplace Metering Service
nota
Para las implementaciones de EKS, el software debe usar los roles de IAM para las cuentas de servicio (IRSA) a fin de firmar la llamada a la API para la operación de la API de MeterUsage. No se admite el uso de EKS Pod Identity, el rol de nodo ni las claves de acceso a largo plazo.
En el caso de las implementaciones de ECS, el software debe utilizar el rol de IAM de tareas de Amazon ECS a fin de firmar la llamada a la API para la operación de la API de MeterUsage. No se admite el uso del rol de nodo ni de claves de acceso a largo plazo.
En el caso de las implementaciones AgentCore de Amazon Bedrock Runtime, el software debe utilizar la función de ejecución en AgentCore tiempo de ejecución para firmar la llamada a la API para la operación de la MeterUsageAPI. No se admiten claves de acceso a largo plazo.
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 en el servicio de medición de AWS Marketplace. Puedes definir tus propias unidades de precios y una medición personalizada para ese uso o para la facturación mediante la operación de la MeterUsageAPI. AWS En las siguientes secciones se muestra cómo configurar la medición personalizada para el producto de contenedor.
Las dimensiones de los precios se definen en dos ubicaciones, una al crear el producto en el AWS Marketplace Management Portal (portal del vendedor) y otra en su software para realizar la operación de 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 o MBps, 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, usuarios, escaneosCPUs, v o agentes desplegados). Las dimensiones de los precios son públicas. Sin embargo, aún puede definir ofertas privadas y de tipo 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.
Para obtener más información sobre cómo integrar la AWS Marketplace Metering Service API para productos en contenedores con los precios de medición personalizados, consulta el laboratorio de integración con contadores personalizados
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.
Temas
Requisitos previos de medición personalizada
Antes de publicar el producto, debe hacer lo siguiente:
-
Cree un nuevo producto contenedor en el AWS Marketplace Management Portal y anote su código de producto.
-
Utilice un rol AWS Identity and Access Management (IAM) para la tarea, el pod o el terminal de tiempo de AgentCore ejecución que ejecuta la aplicación con los permisos de IAM necesarios para realizar la llamada.
MeterUsageLa política administrada deAWSMarketplaceMeteringRegisterUsagetiene estos permisos. Para obtener más información sobre la política, consulte la Referencia AWSMarketplaceMeteringFullAccessde políticas AWS administradas. -
(Opcional) Se recomienda activar el AWS CloudTrail registro en la definición de la tarea o del módulo si desea ver el registro.
-
Realice una llamada de prueba a la operación de API
MeterUsagecon un registro para todas las dimensiones de precios que defina.
Probando la integración de MeterUsage para ECS y EKS
Utilice la MeterUsage operación para probar la integración antes de enviar la imagen AWS Marketplace para su publicación.
Para llamar MeterUsage desde las imágenes del contenedor, ejecuta tu producto en Amazon Elastic Container Service (Amazon ECS) o Amazon Elastic Kubernetes Service (Amazon Cuenta de AWS EKS) con el que usas 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 tarea de Amazon ECS o un pod de Amazon EKS 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 el producto es compatible con Amazon ECS y con Amazon EKS, bastará con que realice el lanzamiento solo en Amazon EKS para que podamos validar la integración.
-
Pruebe todas las dimensiones antes de lanzar el producto al público y después de añadir una nueva dimensión. Si no envía un registro de medición para cada dimensión asociada a un producto de 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.
Probando la MeterUsage integración para AgentCore
Utilice la MeterUsage operación para probar la integración antes de enviar la imagen AWS Marketplace para su publicación.
Para llamar MeterUsage desde las imágenes del contenedor, ejecuta tu producto en Amazon Bedrock AgentCore con la AWS cuenta en la que publicaste el AWS Marketplace producto. Su integración de medición debe establecer la AWS región de forma dinámica, en lugar de codificarla de forma rígida. Sin embargo, cuando realices las pruebas, lanza al menos un AgentCore agente de Amazon Bedrock 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.
No necesita agregar registros de uso por hora. Llame a MeterUsage en todas las invocaciones de agentes con el uso para esa invocación.
Debe usar la última versión publicada del AWS SDK para su idioma. Esto rellena automáticamente el parámetro de ClientToken con un valor generado de forma automática para ayudar con la idempotencia. Las versiones anteriores del SDK que no rellenen este campo no funcionarán para MeterUsage las llamadas desde Amazon Bedrock AgentCore. Debido a un problema de red, debe volver a utilizar exactamente la misma solicitud al volver a intentarlo. De este modo, se garantiza que las solicitudes se traten de forma idempotente.
Debido a las diferencias en el comportamiento de medición esperado entre Amazon Bedrock AgentCore y otros productos de contenedores, no recomendamos compartir la misma imagen de contenedor para usarla en Amazon Bedrock y AgentCore en Amazon ECS o EKS.
Control de errores para MeterUsage
Llame a MeterUsage para establecer el parámetro de DryRun en verdadero al iniciar el contenedor para comprobar así que la integración de la medición funciona. 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 tarea de Amazon ECS o desde el mismo pod de Amazon EKS o desde el mismo punto de conexión AgentCore Runtime no se generanCustomerNotSubscribedException, incluso si el cliente cancela 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 referencia de la AWS Marketplace Metering Service API para obtener descripciones detalladas de los errores más comunes. MeterUsage Cada lenguaje de programación del AWS SDK tiene un conjunto de pautas de gestión de errores que puedes consultar para obtener información adicional.
(Opcional) Etiquetado medido por el vendedor
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.
nota
El etiquetado medido por el proveedor no es compatible con las solicitudes de medición de los productos de Amazon Bedrock. AgentCore
Existen varias formas de etiquetar el uso del software de un comprador. Una consiste en preguntar primero a los compradores qué es lo que quieren ver en su asignación de costos. 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 consola de facturación (). AWS https://console.aws.amazon.com/costmanagement/
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 buckets de UsageAllocations. Cada bucket representa la 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.
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: 0-9+ -= a-zA-Z . _:\ /@
-
Número máximo de etiquetas en la lista de
UsageAllocation: 5 -
Dos
UsageAllocationsno 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 mismaUsageAllocation. -
La suma de
AllocatedUsageQuantitydeUsageAllocationdebe ser igual aUsageQuantity, 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).
| 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 | TI |
| 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, consulta MeterUsagela referencia de la AWS Marketplace Metering Service API.
Ejemplo de respuesta
{ "MeteringRecordId": "string" }