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 AMI con AWS Marketplace Metering Service
nota
En el caso de los productos basados en AMI con precios de medición personalizados, el software debe llamar a la API MeterUsage con las credenciales temporales de AWS del rol de IAM para Amazon Elastic Compute Cloud adjunto a la instancia de Amazon EC2. No se admiten claves de acceso a largo plazo.
El servicio AWS Marketplace Metering Service es una característica de precios y medición que puede utilizar para cobrar directamente su software por categoría de uso. Hay cinco categorías de uso: usuarios, datos, ancho de banda, hosts o unidad. Puede utilizar el servicio de medición con productos basados en Imagen de máquina de Amazon (AMI), contenedores y software como servicio (SaaS). En las siguientes secciones, se ofrece información acerca de cómo configurar la medición personalizada con AWS Marketplace Metering Service.
El servicio de medición de AWS Marketplace posibilita varios escenarios nuevos. Por ejemplo, si el software monitoriza hosts, puede cobrar por host monitorizado. Puede tener distintos precios en función del tamaño del host y cobrar por el número de hosts simultáneos que se monitorizan cada hora. Del mismo modo, si el software permite que varios usuarios de una organización inicien sesión, puede cobrar por el número de usuarios. Cada hora se carga al cliente el número total de usuarios aprovisionados.
Para obtener más información, consulte la referencia de la API del servicio de medición de AWS Marketplace.
Para obtener más información sobre la integración de la API de AWS Marketplace Metering Service para productos basados en AMI con precios de medición personalizados, consulte el laboratorio Lista de productos AMI con precios por unidades personalizadas
Temas
Requisitos
Todo el software en AMI que utiliza el servicio de medición debe cumplir los requisitos siguientes:
-
Debe lanzarse desde AWS Marketplace a través de una imagen de Amazon Machine (AMI).
-
Si ya tiene un producto existente en AWS Marketplace, debe enviar una nueva AMI y crear un producto nuevo para habilitar esta característica.
-
Todo el software debe aprovisionarse con un rol de AWS Identity and Access Management (IAM). El cliente final deberá añadir un rol de IAM a la instancia de Amazon Elastic Compute Cloud (Amazon EC2) que el usuario esté aprovisionando con el software. El uso de un rol de IAM es opcional cuando se implementa software a través de AWS Marketplace. Es obligatorio cuando se implementa el software del servicio de medición de AWS Marketplace.
-
Debe ser capaz de determinar el consumo de algún modo.
Llamada al a servicio de medición de AWS Marketplace
Su software debe llamar al servicio de medición cada hora y registrar el valor de consumo de dicha hora.
Cuando el software se inicia, debe registrar en qué minuto de la hora se inició. Esto se denomina el minuto de comienzo. Cada vez que se cumpla una hora en relación con el minuto de comienzo, el software debe determinar el valor de consumo para dicha hora y llamar al servicio de medición. Para obtener información sobre cómo obtener este valor, consulte Modificación del software para utilizar el servicio de medición.
Para activarse cada hora según el minuto de comienzo, su software debe aplicar uno de los métodos siguientes:
-
Un subproceso dentro de su software.
-
Un proceso daemon que se inicie con la instancia o el software.
-
Un trabajo cron configurado durante el arranque de la aplicación.
nota
Su software debe llamar al servicio de medición de AWS Marketplace con la función de IAM configurada en la instancia del cliente y especificar la dimensión de consumo y la cantidad.
El software puede utilizar el SDK de AWS para llamar al servicio de medición de AWS Marketplace, similar al siguiente ejemplo de implementación
-
Use el perfil de instancia para crear un cliente de servicio. Esto requiere el rol configurado para la instancia EC2. El SDK actualiza de forma automática las credenciales del rol.
-
Cada hora lea la configuración y el estado del software para determinar los valores de consumo para esa hora. Esto podría incluir recopilar un valor por dimensión.
-
Llame al método
meterUsagedel cliente SDK con los siguientes parámetros (llamada adicional para cada dimensión con uso):-
timestamp: marca de tiempo de la hora que se registra (en UTC). -
productCode: código de producto asignado al software. -
dimension: dimensión (o dimensiones) asignada al software. -
quantity: valor de consumo de la hora. -
allocations: (Opcional) puede proporcionar asignaciones para el uso entre las propiedades de las que realiza un seguimiento. Estas asignaciones deben sumarse al consumo total del registro. Para el comprador, se muestran como posibles etiquetas de asignación de costes en sus herramientas de facturación (como la consola de Administración de facturación y costos de AWS). El comprador debe activar las etiquetas en su cuenta para poder hacer un seguimiento de sus costes con estas etiquetas.
-
Además el software debe llamar a un punto de conexión del servicio de medición de AWS Marketplace de la región. El producto debe tener una configuración de punto de conexión regional correcta, para que us-east-1 envíe los registros al punto de conexión us-east-1 y us-west-2 envíe los registros al punto de conexión us-west-2. Las llamadas intrarregionales dan a los compradores una experiencia más estable y evitan que se produzcan situaciones en las que la disponibilidad de una región no relacionada afecte a un software que se ejecuta en otra región.
Al enviar los registros de mediciones al servicio, debe conectarse al servicio de medición de AWS Marketplace de su región. Utilice el método de ayudante getCurrentRegion() para establecer la región en la que se está ejecutando la instancia EC2 y pase esta información de región al constructor MeteringServiceClient. Si no especifica una Región de AWS en el constructor de SDK, se utiliza la región de us-east-1 predeterminada. Si la aplicación intenta realizar las llamadas al servicio entre regiones, estas se rechazan. Para obtener más información, consulte el tema sobre determinación de la región actual de una aplicación
Administración de errores
El producto debe enviar los registros de mediciones al servicio, un punto de enlace de Internet público, para que se pueda capturar y facturar el uso. Como es posible que un cliente pueda modificar los ajustes de red de forma que impida que los registros de mediciones se entreguen, el producto debe tener en cuenta esta posibilidad y elegir un modo de error.
nota
Algunos fallos de medición pueden ser problemas transitorios al conectarse al AWS Marketplace Metering Service. AWS Marketplace recomienda encarecidamente implementar los reintentos durante un máximo de 30 minutos, con una reducción exponencial, para evitar interrupciones de corta duración o problemas de red.
Normalmente, se puede producir un error de apertura (se proporciona un mensaje de advertencia, pero se mantiene la funcionalidad completa) o un error de cierre (se deshabilita toda la funcionalidad de la aplicación hasta que se restablece una conexión). Puede optar por un error de apertura, de cierre o algo específico de su aplicación. Le recomendamos encarecidamente que se abstenga de aplicar un error de cierre después de menos de dos horas de errores de medición.
Como ejemplo de error parcialmente abierto, puede seguir permitiendo el acceso al software, pero no permitir que el comprador modifique la configuración del software. O bien un comprador puede seguir teniendo acceso al software, pero no podrá crear usuarios adicionales. Su software es responsable de definir y aplicar este modo de error. El modo de error de su software debe estar incluido cuando envía la AMI y no se puede cambiar más adelante.
Limitaciones
Tenga en cuenta estas limitaciones a la hora de diseñar y publicar software habilitado para el servicio de medición:
-
Requisitos de rol de IAM y puerta de enlace de Internet para los clientes: los clientes deben tener una puerta de enlace de Internet y deben lanzar el software con un rol de IAM y unos permisos específicos. Para obtener más información, consulte AWS Marketplace permisos de API de medición y asignación de derechos. El software no puede conectarse al servicio de medición si no se cumplen estas dos condiciones.
-
Imposibilidad de añadir una nueva categoría o cambiar la categoría de uso a un producto de servicio de medición: cuando los clientes se suscriben a un producto de software, aceptan una serie de términos y condiciones. El cambio de categorías de uso de los productos con el servicio de medición requiere un producto nuevo y una suscripción nueva.
-
Imposibilidad de cambiar dimensiones en un producto de servicio de medición existente: cuando los clientes se suscriben a un producto de software, aceptan una serie de términos y condiciones. El cambio de las dimensiones de los productos con el servicio de medición requiere un producto nuevo y una suscripción nueva. Puede añadir nuevas dimensiones a los productos existentes, hasta un límite de 24.
-
Inexistencia de prueba gratuita y suscripciones anuales: los productos que hacen uso del servicio de medición no admiten pruebas gratuitas ni suscripciones anuales en el momento del lanzamiento.
-
Consideraciones sobre la implementación en varias instancias o basada en clúster: algunos productos de software se implementan formando parte de una implementación de varias instancias. Al diseñar software, tenga en cuenta cómo y dónde se mide el consumo y dónde se emiten los registros de mediciones.
Ejemplo de código
Se ofrecen los siguientes ejemplos de código para ayudarle a integrar el producto de AMI con las API de AWS Marketplace necesarias para la publicación y el mantenimiento del producto.
MeterUsage con etiquetado de asignación de uso (opcional)
El siguiente ejemplo de código es relevante para productos de AMI con modelos de precios de consumo. En el ejemplo de Python se envía un registro de medición con etiquetas de asignación de uso adecuada a AWS Marketplace para cobrar a sus clientes las tarifas de pago por uso.
# 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 sobre MeterUsage, consulte MeterUsage en la referencia de la API del servicio de medición de AWS Marketplace.
Respuesta de ejemplo
{ "MeteringRecordId": "string" }