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
O 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êiner 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.
Tópicos
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 quiser definir suas próprias unidades de definição de preço e medir esse uso para nós para faturamento, integre-se usando a operação de API MeterUsage. Se quiser definir o preço do produto com base no número de tarefas ou de pods usados e fazer a AWS medir esse uso automaticamente, integre-se à operação de API RegisterUsage. 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.
Ao criar um novo produto de contêiner no Portal de gerenciamento do AWS Marketplace, fornecemos um conjunto de identificadores de produto (o código e a chave pública do produto) que são usados para integrar o produto ao AWS Marketplace Metering Service.
Direito
A integração ao AWS Marketplace Metering Service permite verificar se o cliente que executa o software pago está inscrito em seu produto no AWS Marketplace, protegendo-o contra o uso não autorizado na inicialização do contêiner. Para verificar o direito, use as operações de API MeterUsage ou RegisterUsage, dependendo do modelo de definição de preço. 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 credenciais da AWS em seu software ou na imagem de contêiner do Docker. As credenciais da AWS do comprador são obtidas automaticamente no runtime quando a imagem de contêiner está sendo executado em uma tarefa do Amazon ECS ou pod do Amazon EKS.
-
Para chamar as operações de API
MeterUsageouRegisterUsagedo Amazon EKS, você deve usar um SDK da AWS compatível. Para testar a integração doMeterUsageouRegisterUsageao 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 perfis do AWS Identity and Access Management (IAM) de suporte a pods. Os perfis do IAM são necessários para que o pod em execução obtenha as credenciais da AWS 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ê executar o contêiner nos serviços de contêiner da AWS (Amazon ECS, Amazon EKS e Fargate).
Compatível com Regiões da AWS
Para obter uma lista de todas as Regiões da AWS compatíveis com o AWS Marketplace, consulte Tabela de regiões
Como obter a Região da AWS para medição
Ao integrar o contêiner a operação de API MeterUsage ou RegisterUsage para medição, não configure o SDK da AWS para usar uma Região da AWS específica. 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.
As linguagens do SDK da AWS não determinam a AWS_REGION de 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 AWS SDK para Java usa automaticamente os Metadados de instâncias do Amazon EC2 (especificamente, ec2InstanceMetadata) para obter a região quando variáveis de ambiente ou outras configurações não estiverem 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 uma Região da AWS em runtime, consulte o Guia do desenvolvedor do SDK da AWS
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
CMDouENTRYPOINT, integreRegisterUsageouMeterUsagediretamente no software que o comprador está executando por meio da imagem do contêiner. Caso contrário, as chamadas paraRegisterUsageouMeterUsageexecutadas porCMDouENTRYPOINTusando a imagem base provavelmente serão substituídas pelo comprador. -
Recomendamos que você gerencie os códigos de produto do AWS Marketplace que o software usa como entrada para
RegisterUsageouMeterUsagede maneira que os compradores não possam modificar. No entanto, se o produto gerenciar códigos de produto de maneira que os clientes possam substituir, como AWS CloudFormation, chart do Helm ou manifesto Kubernetes, você deverá manter uma lista de códigos de produto confiáveis do AWS Marketplace. Isso é para garantir que o código do produto que seu software passa como entradaRegisterUsageouMeterUsageseja 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.
Preços contratuais com o AWS License Manager
Para produtos baseados em contêiner com preços contratuais, você usa o AWS License Manager para associar licenças ao seu produto.
O 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 a AWS License Manager, consulte o Guia do usuário do AWS License Manager e a Referência de comandos do AWS License Manager.
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.
-
Relatórios: você pode configurar feeds de dados configurando um bucket do Amazon S3 na seção Relatório no Portal de gerenciamento do AWS Marketplace. Para obter mais informações, consulte Relatórios de vendedores, feeds de dados e painéis no 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:
-
O vendedor cria um produto com a integração do AWS License Manager.
-
O vendedor lista o produto no AWS Marketplace.
-
O comprador encontra o produto no AWS Marketplace e o compra.
-
Uma licença é enviada para a Conta da AWS do comprador.
-
O comprador usa o software executando a instância do Amazon EC2, a tarefa do Amazon ECS ou o software pod do Amazon EKS. O cliente implanta usando um perfil do IAM.
-
O software lê a licença na conta do AWS License Manager 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.