Integrações de faturamento, medição e licenciamento de produtos de contêiner - AWS Marketplace

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Integrações de faturamento, medição e licenciamento de produtos de contêiner

AWS Marketplace se integra a outros Serviços da AWS para fornecer preços baseados em medição e contrato para seu produto de contêiner. Para produtos de contêiner com preços por uso, use o AWS Marketplace Metering Service para verificar a autorização a usar seu produto e para medir o uso para faturamento. Para produtos baseados em contêineres com preços contratuais, você pode usar o AWS License Manager para associar licenças ao seu produto. As seções a seguir fornecem mais informações sobre medição por hora e personalizada AWS Marketplace Metering Service e preços de contratos com AWS License Manager.

Medição horária e personalizada com o AWS Marketplace Metering Service

Use o Serviço de medição do AWS Marketplace para verificar o direito de usar seu produto e para medir o uso para faturamento. Se você quiser definir suas próprias unidades de preço e medir esse uso para faturamento, integre usando a operação de MeterUsageAPI. Se você quiser precificar seu produto com base no número de tarefas ou pods usados e AWS medir esse uso automaticamente, faça a integração usando a operação da RegisterUsageAPI. Para ambos os tipos de definição de preço, é possível adicionar um preço de contrato em longo prazo sem alterar a forma como você se integra ao AWS Marketplace Metering Service.

Quando você cria um novo produto de contêiner no Portal de gerenciamento do AWS Marketplace, fornecemos um conjunto de identificadores de produto (o código do produto e a chave pública) que são usados para integrar seu produto ao AWS Marketplace Metering Service.

Direito

A integração com o AWS Marketplace Metering Service permite que você verifique se o cliente que executa seu software pago está inscrito em seu produto AWS Marketplace, protegendo você contra o uso não autorizado na inicialização do contêiner. Para verificar a titularidade, use as operações de RegisterUsageAPI MeterUsageou de acordo com seu modelo de preços. Para modelos de definição de preço por hora e mensais fixos, use a operação de API RegisterUsage. Para modelos de definição de preço de medição personalizados, use a operação de API MeterUsage.

Se um comprador não tiver direito ao seu produto, essas operações de API retornarão a exceção CustomerNotEntitledException.

nota

Se um comprador cancelar a assinatura do produto durante a execução, ele terá o direito de continuar a executá-lo. No entanto, ele não poderá iniciar contêineres adicionais para o produto.

Diretrizes de integração

Ao criar e publicar os produtos de contêiner e usar as operações de API MeterUsage ou RegisterUsage para obter autorização e medição, tenha em mente as seguintes diretrizes.

  • Não configure AWS credenciais em seu software ou na imagem do contêiner Docker. AWS as credenciais do comprador são obtidas automaticamente em tempo de execução quando a imagem do contêiner está sendo executada em uma tarefa do Amazon ECS ou em um pod do Amazon EKS.

  • Para chamar as operações MeterUsage ou de RegisterUsage API do Amazon EKS, você deve usar um AWS SDK compatível. Para testar a integração do MeterUsage ou RegisterUsage ao Amazon EKS, é necessário executar um cluster do Amazon EKS em execução no Kubernetes 1.13.x ou posterior. O Kubernetes 1.13 é necessário para funções AWS Identity and Access Management (IAM) de suporte a pods. As funções do IAM são necessárias para que o pod em execução obtenha AWS as credenciais necessárias para invocar essas ações no Amazon EKS.

  • É possível fazer uma implantação local, mas receberá uma exceção PlatformNotSupportedException. Essa exceção não ocorrerá quando você iniciar o contêiner em serviços de AWS contêiner (Amazon ECS, Amazon EKS e Fargate).

Suportado Regiões da AWS

Para obter uma lista de todos os AWS Marketplace compatíveis Regiões da AWS, consulte a tabela de regiões no site da infraestrutura global.

Obtendo o Região da AWS para medição

Ao integrar seu contêiner para medição com a operação MeterUsage ou a RegisterUsage API, não configure o AWS SDK para usar uma operação específica. Região da AWS A região deve ser obtida dinamicamente em runtime.

Por exemplo, um cliente executa uma tarefa do Amazon ECS ou um pod do Amazon EKS. A operação de API RegisterUsage é chamada em uma região diferente da região em que a tarefa do Amazon ECS ou o pod do Amazon EKS foi executado. Portanto, a operação de API RegisterUsage gera um erro InvalidRegionException.

AWS As linguagens do SDK não determinam o de AWS_REGION maneira consistente. Se o SDK não captar automaticamente a AWS_REGION, o software precisará ser escrito manualmente para determinar a AWS_Region. Por exemplo, o usa AWS SDK for Java automaticamente os metadados da EC2 instância Amazon (especificamente,ec2InstanceMetadata) para obter a região quando variáveis de ambiente ou outra configuração não estão presentes. Nessa instância, chame somente ec2InstanceMetadata se a variável de ambiente AWS_REGION não estiver presente.

Para obter informações sobre como obter dinamicamente um Região da AWS at runtime, consulte o Guia do desenvolvedor do AWS SDK para sua linguagem de programação.

Impedir a modificação da medição

Apresentar formas para os compradores modificarem ou substituírem chamadas para RegisterUsage ou MeterUsage poderá resultar em problemas indesejáveis de faturamento e pagamento. É altamente recomendável que você integre a lógica de medição e de autorização.

Ao projetar seu produto para evitar a modificação da medição, tenha em mente o seguinte:

  • Se os compradores puderem inserir novas camadas de imagem que contenham instruções CMD ou ENTRYPOINT, integre RegisterUsage ou MeterUsage diretamente no software que o comprador está executando por meio da imagem do contêiner. Caso contrário, as chamadas para RegisterUsage ou MeterUsage executadas por CMD ou ENTRYPOINT usando a imagem base provavelmente serão substituídas pelo comprador.

  • Recomendamos que você gerencie os códigos de AWS Marketplace produto que seu software usa como entrada RegisterUsage ou de uma MeterUsage forma que os compradores não possam modificar. No entanto, se seu produto gerencia códigos de produto de uma forma que os clientes possam substituir AWS CloudFormation, como o gráfico do Helm ou o manifesto do Kubernetes, você deverá manter uma lista de códigos de produto confiáveis. AWS Marketplace Isso é para garantir que o código do produto que seu software passa como entrada RegisterUsage ou MeterUsage seja válido.

  • Se algum dos códigos de produto confiáveis for de produtos gratuitos, garanta que eles não possam ser usados no lugar de um código do produto pago.

Contrate preços com AWS License Manager

Para produtos baseados em contêineres com preços contratuais, você costuma AWS License Manager associar licenças ao seu produto.

AWS License Manager é uma ferramenta de gerenciamento de licenças que permite que seu aplicativo rastreie e atualize licenças (também conhecidas como direitos) que foram adquiridas por um cliente. Esta seção fornece informações sobre como integrar seu produto ao AWS License Manager. Depois que a integração for concluída, você poderá publicar sua lista de produtos no AWS Marketplace.

Para obter mais informações sobre AWS License Manager, consulte o Guia AWS License Manager do usuário e a AWS License Managerseção da Referência de AWS CLI comandos.

nota
  • Os clientes não podem executar novas instâncias do contêiner após o período de expiração do contrato. No entanto, durante a vigência do contrato, eles podem executar qualquer número de instâncias. Essas licenças não estão vinculadas a um nó ou uma instância específica. Qualquer software executado em qualquer contêiner em qualquer nó pode fazer o checkout da licença, desde que tenha as credenciais da AWS atribuídas.

  • Criação de oferta privada: os vendedores podem gerar ofertas privadas para os produtos usando a ferramenta de criação de ofertas privadas no Portal de gerenciamento do AWS Marketplace.

Fluxo de trabalho de integração

As etapas a seguir mostram o fluxo de trabalho para integrar seu produto de contêiner ao AWS License Manager:

  1. O vendedor cria um produto com AWS License Manager integração.

  2. O vendedor lista o produto em AWS Marketplace.

  3. O comprador encontra o produto AWS Marketplace e o compra.

  4. Uma licença é enviada para a Conta da AWS do comprador.

  5. O comprador usa o software lançando a EC2 instância Amazon, a tarefa do Amazon ECS ou o software pod Amazon EKS. O cliente implanta usando um perfil do IAM.

  6. O software lê a licença na AWS License Manager conta do comprador, descobre os direitos adquiridos e provisiona os recursos adequadamente.

    nota

    O License Manager não faz nenhum rastreamento ou atualização; isso é feito pelo aplicativo do vendedor.