Precios contractuales para productos de AMI con AWS License Manager - 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.

Precios contractuales para productos de AMI con AWS License Manager

En el caso de los productos basados en Amazon Machine Image (AMI) con precios por contrato, 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) adquiridas por 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 al respecto AWS License Manager, consulte la Guía del AWS License Manager usuario y la AWS License Managersección de la Referencia de AWS CLI comandos.

nota
  • Los clientes no pueden lanzar nuevas instancias de AMI 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 bloqueadas por nodos ni vinculadas a instancias concretas.

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

Modelos de licencia

AWS Marketplace la integración AWS License Manager admite dos modelos de licencia:

Modelo de licencia configurable

El modelo de licencia configurable (también conocido como modelo de licencia cuantificable) da derecho al comprador a una cantidad específica de recursos una vez que haya adquirido una licencia.

Establece una dimensión de precios y un precio por unidad. A continuación, el comprador puede elegir la cantidad de recursos que quiere comprar.

ejemplo de dimensión del precio y del precio por unidad

Puede establecer una dimensión de precios (como la copia de seguridad de datos) y un precio por unidad (por ejemplo, 30 USD por unidad).

El comprador puede elegir entre comprar 5, 10 o 20 unidades.

Su producto rastrea y mide el uso para medir la cantidad de recursos consumidos.

Con el modelo de configuración, los derechos se cuentan de una de estas dos maneras:

Licencias reducidas

La licencia se extrae del conjunto de licencias permitidas en el momento de su uso. Ese derecho se retira de forma permanente y no se puede devolver al conjunto de licencias.

ejemplo de procesamiento una cantidad limitada de datos

Un usuario tiene derecho a procesar 500 GB de datos. A medida que se siguen procesando los datos, la cantidad se extrae del conjunto de 500 GB hasta que se consuman todas las licencias de 500 GB.

En el caso de las licencias reducidas, puede utilizar la operación de API DE CheckoutLicense para comprobar las unidades de licencia que se consumen.

ejemplo de respaldo en S3 durante un número de unidades/año

Tiene un producto de almacenamiento que permite realizar copias de seguridad en Amazon Simple Storage Service (Amazon S3) de hasta 1024 unidades de datos durante un año. Puede lanzar su aplicación mediante varias instancias de Amazon EC2. Su aplicación tiene un mecanismo para rastrear y agregar datos. El software ejecuta la operación de API CheckoutLicense con el identificador del producto en cada copia de seguridad o a intervalos fijos para actualizar las cantidades consumidas.

En este ejemplo, el software llama a la operación de la API CheckoutLicense para comprobar 10 unidades de datos. Cuando la capacidad total alcanza el límite de copias de seguridad que el cliente ha adquirido, se produce un error en la llamada a la API.

Solicitud

linux-machine ~]$ aws license-manager checkout-license\ --product-sku "2205b290-19e6-4c76-9eea-377d6bf7la47" \ --checkout-type "PERPETUAL" \ --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \ --entitlements "Name=DataConsumption, Value=l0, Unit=Count" \ --client-token "AKIAIOSFODNN7EXAMPLE"

Respuesta

{ "CheckoutType": "PERPETUAL", "EntitlementsAllowed": [ { "Name": "DataConsumption", "Count": 10, "Units": "Count", "Value": "Enabled" } }, "Expiration": "2021-04-22Tl9:02: 36", "IssuedAt": "2021-04-22Tl8:02:36", "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...", "LicenseConsumptionToken": "AKIAIOSFODNN7EXAMPLE" }

Licencias flotantes

La licencia se devuelve al conjunto de la cantidad permitida de licencias después de su uso.

ejemplo del número de usuarios a partir de un límite superior fijo

Un usuario tiene derecho a 500 usuarios simultáneos en la aplicación. A medida que los usuarios inician y cierran sesión, los usuarios se retiran y devuelven al grupo de 500 usuarios. Sin embargo, la aplicación no puede retirar más de 500 usuarios del grupo porque el límite máximo fijado es 500 usuarios simultáneos.

En el caso de licencias variables, puede utilizar la operación de API CheckInLicense para devolver las unidades de licencia al conjunto de derechos.

ejemplo del número de usuarios simultáneos durante un año

El precio de su producto se basa en la cantidad de usuarios simultáneos. El cliente adquiere una licencia para 10 usuarios durante un año. El cliente lanza el software proporcionando permisos (de IAM) de AWS Identity and Access Management . Cuando un usuario inicia sesión, la aplicación llama a la operación de API CheckoutLicense para reducir la cantidad en 1. Cuando el usuario cierra sesión, la aplicación devuelve la licencia al conjunto mediante una llamada a la operación de API CheckInLicense. Si no llama a CheckInLicense, la unidad de licencia se registrará automáticamente después de 1 hora.

nota

En la siguiente solicitud, key-fingerprint no es un valor de marcador de posición, sino de valor real de la huella digital con la que se publicarán todas las licencias.

Solicitud

linux-machine ~]$ aws license-manager checkout-license\ --product-sku "2205b290-19e6-4c76-9eea-377d6bf7la47" \ --checkout-type "PROVISIONAL" \ --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \ --entitlements "Name=ReadOnlyUSers, Value=l0, Unit=Count" \ --client-token "AKIAIOSFODNN7EXAMPLE"

Respuesta

{ "CheckoutType": "PROVISIONAL", "EntitlementsAllowed": [ { "Name": "ReadOnlyUsers", "Count": 10, "Units": "Count", "Value": "Enabled" } }, "Expiration": "2021-04-22Tl9:02: 36", "IssuedAt": "2021-04-22Tl8:02:36", "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...", "LicenseConsumptionToken": "AKIAIOSFODNN7EXAMPLE" }

Modelo de licencia por niveles

El modelo de licencia por niveles da derecho al comprador a un nivel o nivel específico de características de la aplicación una vez que el comprador haya adquirido una licencia.

Puede crear niveles para su producto, como Básico, Intermedio y Premium. A continuación, el comprador selecciona uno de los niveles predefinidos.

La aplicación no necesita rastrear ni medir el uso de la aplicación.

Con el modelo de licencia por niveles, los derechos no se cuentan, sino que representan un nivel de servicio adquirido por el cliente.

Si quiere ofrecer características agrupadas, le recomendamos que utilice el modelo de licencia por niveles.

ejemplo de los niveles Básico, Intermedio y Premium

Un cliente puede firmar un contrato para uno de los tres niveles posibles del software: Básico, Intermedio o Premium. Cada uno de estos niveles tiene sus propios precios. El software puede identificar el nivel al que se ha registrado el cliente invocando la operación de API CheckoutLicense y especificando todos los niveles posibles en la solicitud.

La respuesta a la solicitud contiene el derecho correspondiente al nivel que el cliente ha adquirido. En función de esta información, el software puede proporcionar la experiencia de cliente adecuada.

Solicitud

linux-machine ~]$ aws license-manager checkout-license\ --product-sku "2205b290-19e6-4c76-9eea-377d6bf7la47" \ --checkout-type "PROVISIONAL" \ --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \ --entitlements "Name=BasicTier, Unit=None" "Name=IntermediateTier, Unit=None" \ "Name=PremiumTier, Unit=None"

Respuesta

{ "CheckoutType": "PROVISIONAL", "EntitlementsAllowed": [ { "Name": "IntermediateTier", "Units": "None" } }, "Expiration": "2021-04-22Tl9:02:36", "IssuedAt": "2021-04-22Tl8:02:36", "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...", "LicenseConsumptionToken": "AKIAIOSFODNN7EXAMPLE" }

Flujo de trabajo de integración

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

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

  2. El vendedor publica el producto en AWS Marketplace.

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

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

  5. El comprador utiliza el software al lanzar la instancia de Amazon Elastic Compute Cloud (Amazon EC2), el software de Amazon Elastic Container Service (Amazon ECS) o el software de pod de Amazon Elastic Kubernetes Service (Amazon EKS). El cliente lo implementa mediante un rol de IAM.

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

    nota

    License Manager no realiza ningún seguimiento ni actualización; esto lo hace la aplicación del vendedor.

Requisitos previos de integración de License Manager

Antes de publicar el producto, debe hacer lo siguiente:

  1. Cree un nuevo producto AMI en AWS Marketplace Management Portal y anote su código de producto.

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

  3. Utilice un rol de IAM de CheckoutLicense para la tarea o pod que ejecuta la aplicación con los permisos de IAM necesarios para llamar a , ExtendLicenseConsumption y CheckInLicense.

    Los permisos de IAM necesarios se detallan en la siguiente política de IAM.

    { "Version":"2012-10-17", "Statement":[ { "Sid":"VisualEditorO", "Effect":"Allow", "Action":[ "license-manager:CheckoutLicense", "license-manager:GetLicense", "license-manager:CheckInLicense", "license-manager:ExtendLicenseConsumption", "license-manager:ListReceivedLicenses" ], "Resource":"*" } ] }
  4. Realice una llamada de prueba a la operación de API RegisterUsage con un registro para todas las dimensiones de precios que defina.

Integración de un producto basado en AMI con AWS License Manager

Puede integrar su producto basado en AMI con License Manager mediante la API de AWS License Manager. Lance las instancias de Amazon EC2 mediante productos basados en AWS Marketplace AMI.

nota

Asegúrese de cumplir los Requisitos previos de integración de License Manager antes de realizar el siguiente procedimiento.

Para integrar su producto basado en AMI con License Manager
  1. Complete el procedimiento indicado en Creación de una licencia de prueba en License Manager. Debe crear una licencia de prueba en License Manager para probar la integración.

  2. Ejecute la operación de GetLicenseAPI con la licencia Amazon Resource Name (ARN) que obtuvo en el paso 1. Anote el valor del atributo KeyFingerprint de la respuesta GetLicense para su uso posterior.

  3. Descargue e incluya el último AWS SDK público en su aplicación.

  4. Para comprobar que el comprador tiene derecho a usar una licencia para tu aplicación, ejecuta la operación de CheckoutLicenseAPI. Use los detalles de los derechos y la huella digital clave de la licencia de prueba que obtuvo en el paso 1.

    Si no se encuentra ningún derecho para la licencia o se supera el número máximo de derechos, la operación de la API CheckoutLicense devuelve NoEntitlementsAllowedException. Si los derechos son válidos o están disponibles para su uso, la operación CheckoutLicense devuelve una respuesta correcta con los derechos solicitados y sus valores.

  5. (Necesario únicamente para los derechos flotantes) Ejecuta la operación de CheckinLicenseAPI con el LicenseConsumptionToken que se recibió en la CheckoutLicense respuesta. Esta acción devuelve los derechos previamente retirados al conjunto de derechos disponibles.

  6. Tras comprobar correctamente la integración de License Manager con la licencia de prueba que creó en el paso 1, actualice la huella digital de la clave en el código a aws:294406891311:AWS/Marketplace:issuer-fingerprint. Ahora, está listo para trabajar con licencias emitidas por AWS Marketplace.

Siga el proceso de publicación que implica crear la aplicación para un producto de AMI y, a continuación, envíe el producto al AWS Marketplace siguiente proceso de publicación del producto.

Creación de una licencia de prueba en License Manager

Para crear una licencia de prueba, utilice la versión 2 de AWS Command Line Interface (AWS CLI) AWS License Manager. Esta licencia de prueba solo se usa para verificar y probar la AWS License Manager integración. Una vez finalizada la prueba, puede eliminar la licencia de prueba. La licencia real la genera AWS Marketplace con una huella digital clave diferente.

AWS Marketplace admite dos tipos de derechos en. AWS License Manager Sin embargo, solo se puede habilitar un tipo para un producto. Al crear una licencia, incluida una licencia de prueba, debe especificar uno de los siguientes tipos de derechos:

Derechos por niveles: el modelo de licencia por niveles da derecho al cliente a utilizar determinadas características de la aplicación. Los clientes no pueden definir la cantidad de unidades que desean comprar. Sin embargo, pueden seleccionar un único paquete o nivel predefinido. Los clientes pueden modificar el contrato más adelante para suscribirse a otro nivel.

Derechos configurables: el modelo de licencia configurable otorga derechos a una cantidad determinada de recursos cuando el cliente adquiere una licencia. El cliente elige la cantidad de unidades que quiere comprar durante el proceso de suscripción y se facturará en función del precio unitario. Los clientes también pueden suscribirse a varias dimensiones.

Los parámetros necesarios para su uso en la operación de la API CheckoutLicense son los siguientes:

  • CheckoutType: los valores válidos son Perpetual o Provisional:

    • Perpetual se usa cuando se agota la cantidad de derechos retirados del conjunto. Ejemplo: el comprador tiene derecho a procesar 500 GB de datos. A medida que continúa procesando los datos, la cantidad se descuenta y se agota del conjunto de 500 GB. Obtiene el estado de una licencia comprada para indicar si la licencia ha caducado o está a punto de caducar para enviar una notificación al cliente.

    • Provisional se usa para derechos de licencia flotantes, en los que los derechos se retiran del conjunto y se devuelven después de su uso. Ejemplo: el usuario tiene derecho a 500 usuarios simultáneos en la aplicación. A medida que los usuarios inician y cierran sesión, los usuarios se retiran y devuelven al grupo de 500 usuarios. Para obtener más información sobre los derechos de licencia variable, consulte Licencias emitidas por el vendedor en AWS License Manager.

  • ClientToken: identificador único que distingue entre mayúsculas y minúsculas para garantizar que se obtenga el resultado exacto y sea el mismo independientemente del número de veces que se intente. Se recomienda utilizar un identificador único universal (UUID) aleatorio para cada solicitud.

  • Entitlements: lista de derechos que retirar.

    • Para los derechos por niveles, proporcione las propiedades Name y Unit así:

      {

      "Name": "<Entitlement_Name>",

      "Unit": "None"

      }

    • Para los derechos configurables, proporcione las propiedades Name, Unit y Value así:

      {

      "Name": "<Entitlement_Name>",

      "Unit": "<Entitlement_Unit>",

      "Value": <Desired_Count>{

      }

  • KeyFingerprint: utilice esta huella digital clave para comprobar que la licencia ha sido emitida por AWS Marketplace. La huella digital clave de las licencias emitidas por AWS Marketplace es la siguiente:

    aws:294406891311:AWS/Marketplace:issuer-fingerprint

  • Product SKU— ID de producto con un formato de identificador único global (GUID) asociado a un AWS Marketplace producto.

ejemplo de un derecho configurable

A continuación, se muestra un ejemplo de una solicitud que utiliza la operación de la API CheckoutLicense para comprobar una autorización configurable denominada PowerUsers.

aws license-manager checkout-license \ product-sku "2205b290-19e6-4c76-9eea-377d6bf71a47" \ checkout-type "PROVISIONAL" \ client-token "79464194dca9429698cc774587a603a1" \"Statement":[ entitlements "Name=PowerUsers,Value=1,Unit=Count" \ key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint"
ejemplo de un derecho por niveles

A continuación, se muestra un ejemplo de una solicitud que utiliza la operación de la API CheckoutLicense para comprobar una autorización de característica denominada EnterpriseEdition.

aws license-manager checkout-license \ --product-sku "2205b290-19e6-4c76-9eea-377d6bf71a47" \ --checkout-type "PROVISIONAL" \ --client-token "79464194dca9429698cc774587a603a1" \ --entitlements "Name=EnterpriseEdition,Unit=None" \ --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint"
Para crear una licencia de prueba para su producto basado en AMI
  1. Desde su entorno local con la AWS CLI versión 2 instalada, ejecute el siguiente script. El script crea la licencia de prueba y configura los detalles del producto correspondientes.

    nota

    Utilice una prueba Cuenta de AWS diferente a la prueba Cuenta de AWS en la que va a implementar y probar el software. Las licencias no se pueden crear, conceder ni retirar en la misma Cuenta de AWS.

    #!/bin/bash # Replace with intended product ID on AWS Marketplace PRODUCT_ID=<REPLACE-WITH-PRODUCT-ID> # Replace with license recipient's AWS Account ID BENEFICIARY_ACCOUNT_ID=<REPLACE-WITH-BENEFICIARY-ACCOUNT-ID> # Replace with your product's name PRODUCT_NAME="Test Product" # Replace with your seller name on AWS Marketplace SELLER_OF_RECORD="Test Seller" # Replace with intended license name LICENSE_NAME="AWSMP Test License" # Replace the following with desired contract dimensions # More info here: https://docs.aws.amazon.com/license-manager/latest/APIReference/API_Entitlement.html # Example "configurable entitlement" ENTITLEMENTS='[ { "Name": "ReadOnly", "MaxCount": 5, "Overage": false, "Unit": "Count", "AllowCheckIn": true } ]' # Example "tiered entitlement" # ENTITLEMENTS='[ # { # "Name": "EnterpriseUsage", # "Value": "Enabled", # "Unit": "None" # } # ]' # Format "yyyy-mm-ddTHH:mm:ss.SSSZ" # This creates a validity period of 10 days starting the current day # Can be updated to desired dates VALIDITY_START=$(date +%Y-%m-%dT%H:%M:%S.%SZ) VALIDITY_END=$(date --date="+10 days" +%Y-%m-%dT%H:%M:%S.%SZ) # Configuration for consumption of the license as set on Marketplace products CONSUMPTION_CONFIG='{ "RenewType": "None", "ProvisionalConfiguration": { "MaxTimeToLiveInMinutes": 60 } }' # License's home Region HOME_REGION=us-east-1 # License issuer's name ISSUER=Self # Run AWS CLI command to create a license aws license-manager create-license \ --license-name "${LICENSE_NAME}" \ --product-name "${PRODUCT_NAME}" \ --product-sku "${PRODUCT_ID}" \ --issuer Name="${ISSUER}" \ --beneficiary "${BENEFICIARY_ACCOUNT_ID}" \ --validity 'Begin="'"${VALIDITY_START}"'",End="'"${VALIDITY_END}"'"' \ --entitlements "${ENTITLEMENTS}" \ --home-region "${HOME_REGION}" \ --region "${HOME_REGION}" \ --consumption-configuration "${CONSUMPTION_CONFIG}" \ --client-token $(uuidgen)
  2. Otorgue la licencia mediante la AWS License Manager consola. Para obtener más información, consulte distribuir un derecho en la Guía del usuario de License Manager.

  3. Inicie sesión en la cuenta Cuenta de AWS que funciona como una cuenta de comprador, en la que podrá implementar y probar el software. Debe ser diferente Cuenta de AWS de la Cuenta de AWS que creó y concedió la licencia.

  4. Vaya a la AWS License Manager consola para aceptar y activar las licencias concedidas. Para obtener más información, consulte Administración de las licencias concedidas en la Guía del usuario de License Manager.

  5. Ejecute el siguiente comando en su entorno.

    # The following example uses a key fingerprint that should match the test license you created. # When checking out an actual AWS Marketplace created license, use the following fingerprint: # aws:294406891311:AWS/Marketplace:issuer-fingerprint aws license-manager checkout-license \ --product-sku <REPLACE-WITH-PRODUCT-ID> \ --checkout-type PROVISIONAL \ --key-fingerprint "aws:<ACCOUNT-ID-WHERE-YOU-CREATED-TEST-LICENSE>:Self:issuer-fingerprint" \ --entitlements "Name=ReadOnly,Value=1,Unit=Count" \ --client-token $(uuidgen)

    El comando anterior utiliza PROVISIONAL como valor para el parámetro CheckoutType. Si el derecho utiliza una licencia reducida, utilice PERPETUAL para el valor.

Llamadas a la API de License Manager

Para administrar las licencias almacenadas en la cuenta de License Manager del cliente, el software puede utilizar las siguientes llamadas a la API:

  • GetLicense: obtiene el estado de una licencia comprada para indicar si la licencia ha caducado o está a punto de caducar para enviar una notificación al cliente.

  • CheckoutLicense: detecta las licencias que el usuario ha adquirido. También puede utilizarla para actualizar la cantidad de licencias cuando el usuario haya consumido cierta cantidad de licencias. Con CheckoutLicense, puede seguir comprobando las cantidades de licencias que utiliza el cliente. Cuando el cliente agota todas las licencias, esta llamada devuelve un error. Para obtener información sobre la cadencia de ejecución sugerida para ejecutar CheckoutLicense, consulte Renovaciones y actualizaciones de licencias.

  • ExtendLicenseConsumption: en el caso de dimensiones flotantes, cuando el software retire una licencia, la devolverá al grupo automáticamente transcurridos 60 minutos. Si desea prolongar el tiempo que la licencia permanece retirada, su software puede llamar a ExtendLicenseConsumption para ampliar la licencia otros 60 minutos.

  • CheckInLicense: en el caso de dimensiones flotantes, cuando desee devolver la licencia al conjunto de derechos, utilice CheckInLicense.

  • ListReceivedLicenses: muestra las licencias adquiridas por el comprador.

Renovaciones y actualizaciones de licencias

Los clientes pueden renovar o actualizar sus licencias en el AWS Marketplace Management Portal. Tras realizar una compra adicional, AWS Marketplace genera una nueva versión de la licencia que refleja los nuevos derechos. El software lee los nuevos derechos mediante las mismas llamadas a la API. No tiene que hacer nada diferente en cuanto a la integración de License Manager para administrar las renovaciones y actualizaciones.

Debido a las renovaciones, actualizaciones, cancelaciones, etc. de licencias, le recomendamos que su producto ejecute la llamada a la API CheckoutLicense con regularidad mientras esté en uso. Si utiliza la operación de API CheckoutLicense de forma regular, el producto puede detectar cambios en los derechos, como las actualizaciones o la caducidad.

Te recomendamos que realices la llamada a la API CheckoutLicense cada 15 minutos.