Integraciones de facturación, medición y licencias de productos de contenedor - 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.

Integraciones de facturación, medición y licencias de productos de contenedor

AWS Marketplace se integra en otros Servicios de AWS para ofrecer precios tanto de medición como basados en contrato para su producto de contenedor. Para los productos basados en contenedor con precio de uso, utilice el AWS Marketplace Metering Service tanto para comprobar el derecho a utilizar el producto como para el uso de medición para facturación. En el caso de los productos basados en contenedores con precios por contrato, puede utilizar AWS License Manager para asociar las licencias a su producto. En las siguientes secciones, se ofrece más información sobre la medición por hora y personalizada con AWS Marketplace Metering Service y los precios por contrato con AWS License Manager.

Medición horaria y personalizada con AWS Marketplace Metering Service

El servicio de medición de AWS Marketplace se utiliza tanto para comprobar el derecho a utilizar el producto como para el uso de medición para la facturación. Si desea definir sus propias unidades de precios y medir el uso para que lo facturemos, integre utilizando la operación de API MeterUsage. Si desea fijar el precio de su producto en función del número de tareas o pods utilizados y hacer que AWS mida ese uso automáticamente, integre utilizando la operación de API RegisterUsage. Para ambos tipos de precios, puede agregar un precio por contrato a largo plazo sin cambiar la forma en que se integra en AWS Marketplace Metering Service.

Al crear un nuevo producto de contenedor en AWS Marketplace Management Portal, le facilitamos un conjunto de identificadores de producto (el código del producto y la clave pública) que se utilizan para integrar el producto en AWS Marketplace Metering Service.

Concesión de derechos

La integración en AWS Marketplace Metering Service le permite verificar que el cliente que ejecuta su software de pago esté suscrito a su producto en AWS Marketplace, lo que lo protege contra el uso no autorizado al iniciar el contenedor. Para verificar el derecho, utilice las operaciones de API MeterUsage o RegisterUsage, en función del modelo de precios. Para modelos de precios mensuales fijos y por hora, utilice la operación de API RegisterUsage. Para modelos de precios de medición personalizada, utilice la operación de API MeterUsage.

Si un comprador no tiene derecho a su producto, estas operaciones de la API devuelven la excepción CustomerNotEntitledException.

nota

Si un comprador cancela la suscripción a su producto mientras lo ejecuta, tiene derecho a seguir ejecutándolo. Sin embargo, no puede lanzar contenedores adicionales para su producto.

Directrices de integración

Tenga en cuenta las siguientes directrices a la hora de crear y publicar sus productos de contenedor y utilizar las operaciones de API MeterUsage o RegisterUsage para la autorización y la medición:

  • No configure las credenciales de AWS en su software ni en la imagen del contenedor de Docker. Las credenciales de AWS del comprador se obtienen automáticamente en el tiempo de ejecución cuando la imagen del contenedor se ejecuta en una tarea de Amazon ECS o en un pod de Amazon EKS.

  • Para llamar a las operaciones de API MeterUsage o RegisterUsage de Amazon EKS, debe utilizar un SDK de AWS compatible. Para probar la integración de MeterUsage o de RegisterUsage, debe ejecutar un clúster de Amazon EKS que ejecute Kubernetes 1.13.x o una versión posterior. Se requiere Kubernetes 1.13 para los roles (de IAM) de AWS Identity and Access Management a fin de garantizar la compatibilidad con los pods. Los roles de IAM son necesarios para que el pod en ejecución obtenga las credenciales de AWS necesarias para invocar estas acciones en Amazon EKS.

  • Puede hacer el desarrollo local, pero recibirá una excepción PlatformNotSupportedException. Esta excepción no se producirá cuando lance el contenedor en los servicios de contenedores de AWS (Amazon ECS, Amazon EKS y Fargate).

Regiones de AWS admitidas

Para obtener una lista de todas las Regiones de AWS admitidas por AWS Marketplace, consulte Tabla de regiones en el sitio web de infraestructura global.

Obtener la Región de AWS para medir

Cuando integre su contenedor en la operación API MeterUsage o RegisterUsage para la medición, no configure el SDK de AWS para que utilice una Región de AWS específica. La región se debe obtener de forma dinámica en el tiempo de ejecución.

Por ejemplo, un cliente lanza una tarea de Amazon ECS o un pod de Amazon EKS. La operación de API RegisterUsage se invoca en una región diferente de la región en la que se lanzó la tarea de Amazon ECS o el pod de Amazon EKS. Por lo tanto, la operación de API RegisterUsage arroja un error InvalidRegionException.

Los lenguajes del SDK de AWS no determinan el valor de AWS_REGION de manera coherente. Si su SDK no detecta automáticamente la AWS_REGION, el software debe escribirse manualmente para determinar la AWS_Region. Por ejemplo, AWS SDK para Java utiliza automáticamente los metadatos de instancia de Amazon EC2 (concretamente, ec2InstanceMetadata) para obtener la región cuando no hay presentes variables de entorno u otro tipo de configuración. En este caso, llame solo a ec2InstanceMetadata si la variable de entorno AWS_REGION no está presente.

Para obtener información sobre cómo obtener dinámicamente una Región de AWS en tiempo de ejecución, consulte la Guía para desarrolladores de SDK de AWS para su lenguaje de programación.

Impedir la modificación de la medición

La introducción de métodos para que los compradores modifiquen o anulen las llamadas a RegisterUsage o MeterUsage podría dar lugar a problemas de facturación y pago no deseados. Recomendamos encarecidamente que integre la lógica de medición y derechos.

Tenga en cuenta lo siguiente al diseñar su producto para evitar la modificación de la medición:

  • Si los compradores pueden insertar nuevas capas de imagen que contengan instrucciones CMD o ENTRYPOINT, integre directamente RegisterUsage o MeterUsage en el software que el comprador ejecuta a través de la imagen del contenedor. De lo contrario, las llamadas a RegisterUsage o MeterUsage ejecutadas a través de CMD o ENTRYPOINT desde la imagen base probablemente serán anuladas por el comprador.

  • Le recomendamos que administre los códigos de producto de AWS Marketplace que utiliza el software como entrada para RegisterUsage o MeterUsage de manera que los compradores no puedan modificarlos. Sin embargo, si su producto administra los códigos de producto de forma que los clientes puedan anularlos (por ejemplo, mediante AWS CloudFormation, un gráfico de Helm o un manifiesto de Kubernetes), debe mantener una lista de códigos de producto fiables de AWS Marketplace. El objetivo es garantizar que el código de producto que el software envía como entrada a RegisterUsage o MeterUsage sea válido.

  • Si alguno de los códigos de producto de confianza corresponde a productos gratuitos, asegúrese de que no puedan utilizarse en lugar de un código de producto de pago.

Contratar los precios con AWS License Manager

En el caso de los productos basados en contenedores con precios por contrato, se utiliza AWS License Manager para asociar las licencias a su producto.

AWS License Manager es una herramienta de administración de licencias que permite a su aplicación realizar un seguimiento y actualizar las licencias (también conocidas como derechos) que haya adquirido un cliente. En esta sección se ofrece información sobre cómo integrar el producto en AWS License Manager. Una vez completada la integración, puede publicar su listado de productos en AWS Marketplace.

Para obtener más información sobre AWS License Manager, consulte la Guía del usuario de AWS License Manager y la sección AWS License Manager de la Referencia de comandos de la AWS CLI.

nota
  • Los clientes no pueden lanzar nuevas instancias del contenedor después del periodo de vencimiento del contrato. Sin embargo, durante la vigencia del contrato, pueden lanzar cualquier cantidad de instancias. Estas licencias no están vinculadas a un nodo o instancia específicos. Cualquier software que se ejecute en cualquier contenedor de cualquier nodo puede retirar la licencia siempre que tenga las credenciales asignadas de AWS.

  • Creación de ofertas privadas: los vendedores pueden generar ofertas privadas para los productos mediante la herramienta de creación de ofertas privadas en AWS Marketplace Management Portal.

Integración de flujos de trabajo

Los siguientes pasos muestran el flujo de trabajo para integrar su producto de contenedor en AWS License Manager:

  1. El vendedor crea un producto con integración en AWS License Manager.

  2. El vendedor publica el producto en AWS Marketplace.

  3. El comprador encuentra el producto en AWS Marketplace y lo compra.

  4. Se envía una licencia al comprador en su Cuenta de AWS.

  5. El comprador utiliza el software lanzando la instancia de Amazon EC2, la tarea de Amazon ECS o el software de pod de Amazon EKS. El cliente realiza la implementación mediante un rol de IAM.

  6. El software lee la licencia en la cuenta de AWS License Manager del comprador, descubre los derechos adquiridos y aprovisiona las funciones en consecuencia.

    nota

    License Manager no realiza ningún seguimiento ni actualización. De ello se encarga la aplicación del vendedor.