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 por hora 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 RegisterUsage. 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 RegisterUsage. No se admite el uso del rol de nodo ni de claves de acceso a largo plazo.
Si el producto de contenedor utiliza precios de tareas o por pod por hora en lugar de dimensiones de precios medidos personalizadas, no es necesario definir dimensiones de medición personalizadas. Puede utilizar AWS Marketplace Metering Service para la medición por hora con productos de contenedores en AWS Marketplace. En las siguientes secciones, se muestra cómo configurar la medición por hora con AWS Marketplace Metering Service.
La operación de API RegisterUsage mide el uso del software por tarea de Amazon Elastic Container Service (Amazon ECS) o por pod de Amazon Elastic Kubernetes Service (Amazon EKS), por hora, con el uso prorrateado al segundo. En el caso de las tareas o los pods que tienen una vida útil muy corta, se aplica un uso mínimo de un minuto. El Metering Control Plane de AWS Marketplace administra de forma automática y continuada la medición del uso de software. No es necesario que su software realice ninguna acción específica de medición, excepto llamar una vez a RegisterUsage para medir el uso del software para comenzar.
Se debe llamar a RegisterUsage inmediatamente al momento de lanzar un contenedor. Si no registra el contenedor en las primeras 6 horas desde su lanzamiento, el servicio de medición de AWS Marketplace no ofrece ninguna garantía de medición respecto a los meses anteriores. Sin embargo, la medición continuará durante el mes en curso hasta que finalice el contenedor.
El AWS Marketplace de Metering Control Plane seguirán facturando a los clientes por la ejecución de las tareas de Amazon ECS y los pods de Amazon EKS, independientemente del estado de la suscripción del cliente. Esto elimina la necesidad de que el software realice comprobaciones de derechos tras el lanzamiento inicial correcto de la tarea o el pod.
Para obtener más información sobre la integración de la AWS Marketplace Metering Service API con productos de contenedores y precios por hora, consulte el laboratorio Integrar la medición por hora
Temas
Requisitos previos de medición por hora
Antes de publicar el producto, debe hacer lo siguiente:
-
Cree un nuevo producto de contenedor en AWS Marketplace Management Portal y anote su código de producto.
Para obtener más información, consulte Descripción general: creación de un producto de contenedor.
-
Utilice un rol (de IAM) de AWS Identity and Access Management para la tarea o pod que ejecuta la aplicación con los permisos de IAM necesarios para llamar a
RegisterUsage. La política administrada deAWSMarketplaceMeteringRegisterUsagetiene estos permisos. Para obtener más información acerca de esta política, consulte AWSMarketplaceMeteringFullAccess en la Referencia de políticas administradas de AWS. -
(Opcional) Se recomienda habilitar el inicio de sesión de AWS CloudTrail en la definición de tarea o pod si desea ver el registro.
-
Realice una llamada de prueba a la operación de API
RegisterUsagecon un registro para todas las dimensiones de precios que defina.
Prueba de la integración para RegisterUsage
Utilice la operación de API RegisterUsage para probar la integración antes de enviar la imagen a AWS Marketplace para su publicación.
Llame RegisterUsage desde la imagen del contenedor ejecutando su producto en Amazon ECS o Amazon EKS. Utilice la cuenta de AWS que está usando para publicar el producto en AWS Marketplace. Su integración de medición debe configurar Región de AWS de forma dinámica, en lugar de codificarla de forma rígida. Sin embargo, al realizar las pruebas, lance al menos una tarea de Amazon ECS o un pod de Amazon EKS que contenga su contenedor de pago en la región del Este de EE. UU. (Virginia del Norte). De este modo, el equipo de operaciones de AWS Marketplace puede verificar su 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.
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 se solicita, las operaciones de catálogo de AWS Marketplace pueden verificar la recepción de los registros de medición.
Control de errores para RegisterUsage
Si su imagen de contenedor se integra con AWS Marketplace Metering Service 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 la operación de API RegisterUsage. Las llamadas posteriores desde la misma tarea de Amazon ECS o pod de Amazon EKS no iniciarán la excepción CustomerNotSubscribedException, ni siquiera aunque el cliente cancele la suscripción mientras la tarea se está ejecutando. 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.
En la siguiente tabla se describen los errores que la operación de API RegisterUsage podrían lanzar. Cada lenguaje de programación del AWS SDK tiene un conjunto de directrices de control de errores que puede consultar para obtener información adicional.
| Error | Descripción |
|---|---|
InternalServiceErrorException
|
RegisterUsage no está disponible. |
CustomerNotEntitledException
|
El cliente no tiene una suscripción válida para el producto. |
InvalidProductCodeException
|
El valor de ProductCode que se pasa como parte de la solicitud no existe. |
InvalidPublicKeyException
|
El valor de PublicKeyVersion que se pasa como parte de la solicitud no existe. |
PlatformNotSupportedException
|
AWS Marketplace no admite medir el uso desde la plataforma subyacente. Solo se admiten Amazon ECS, Amazon EKS y AWS Fargate. |
ThrottlingException
|
Las llamadas a RegisterUsage están restringidas. |
InvalidRegionException
|
Debe llamarse a RegisterUsage en la misma Región de AWS en la que se lanzó la tarea de Amazon ECS o el pod de Amazon EKS. Esto impide que un contenedor elija una región (por ejemplo, withRegion(“us-east-1”)) al llamar a RegisterUsage. |