Medição personalizada para produtos de contêineres com o AWS Marketplace Metering Service - 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á.

Medição personalizada para produtos de contêineres com o AWS Marketplace Metering Service

AWS Marketplace os produtos de contêineres podem ter medição personalizada em até 24 dimensões de preços diferentes por produto. Cada dimensão pode ter um preço de contrato em longo prazo associada a ela. Para habilitar a medição personalizada, integre seu produto de contêiner ao AWS Marketplace Metering Service. Você pode definir suas próprias unidades de preço e medição personalizada para esse uso ou AWS para faturamento usando a MeterUsageAPIoperação.

As dimensões de preço são definidas em dois locais, uma vez no formulário de carregamento do produto e uma vez pela operação MeterUsage. Esse método de dois fatores garante que as ofertas subsequentes estejam funcionando conforme pretendido antes de ficarem disponíveis para o público.

Para configurar a medição personalizada, será necessário escolher a categoria de uso, o tipo de unidade e as dimensões de definição de preço.

  • Categoria de uso: a categoria ajuda os compradores a entender o que é o produto e como usá-lo.

  • Tipo de unidade: o tipo de unidade define a unidade de medida para faturamento. Por exemplo, largura de banda medida em GBps ouMBps, o número de hosts ou dados medidos em MB, GB ou TB.

  • Dimensões de preços — As dimensões de preços representam um recurso ou serviço para o qual você definiu um preço unitário (por exemplo, usuários, escaneamentos ou vCPUs agentes implantados). As dimensões de preços são públicas. No entanto, você ainda pode definir ofertas privadas e Bring Your Own License (BYOL) para produtos públicos. Não envie a definição de preço nos registros de medição. Você mede a quantidade de unidades, e nós usamos isso com os preços definidos na criação do produto para calcular a fatura do comprador.

    Se a definição de preço do produto não se adequar a nenhuma categoria predefinida ou a nenhum tipo de unidade, você poderá escolher a categoria genérica Unidades. Em seguida, use a descrição da dimensão para descrever qual é a unidade.

Se desejar, você pode distribuir o uso em alocações por propriedades rastreadas. As alocações são representadas como tags para o comprador. Essas tags permitem que o comprador visualize os custos divididos em uso por valores de tag. Por exemplo, se você cobrar pelo usuário e os usuários tiverem uma propriedade “Departamento”, será possível criar alocações de uso com tags que tenham uma chave de “Departamento” e uma alocação por valor. Isso não altera o preço, as dimensões ou o uso total que você relata, mas permite que seu cliente visualize os custos por categorias apropriadas ao seu produto.

Recomendamos que você envie um registro de medição a cada hora. No entanto, você também pode agregar o uso em períodos diários ou mensais. Se ocorrer uma interrupção, você poderá agregar o uso do software do comprador e enviá-lo nas próximas horas de medição. Não é possível enviar mais de um registro por hora.

Importante

A avaliação gratuita e o direito pré-pago são monitorados de hora em hora. Como resultado, enviar esses registros separadamente pode fazer com que o comprador seja cobrado a mais.

Pré-requisitos de medição personalizada

Antes de publicar o produto, você deve fazer o seguinte:

  1. Crie um novo produto de contêiner no Portal de gerenciamento do AWS Marketplace e anote o código do produto.

  2. Preencha o formulário de carregamento do produto com as informações de dimensão necessárias e devolva-o para processamento.

  3. Use uma função AWS Identity and Access Management (IAM) para a tarefa ou o pod que executa seu aplicativo com as IAM permissões necessárias para chamarMeterUsage. A política IAM gerenciada AWSMarketplaceMeteringRegisterUsage tem essas permissões.

  4. (Opcional) Recomendamos que você ative o AWS CloudTrail login na definição de tarefa ou pod se quiser ver o registro.

  5. Faça uma chamada de teste para a MeterUsage API operação com um registro de todas as dimensões de preço que você definir.

Formulário de carregamento do produto para medição personalizada

Ao preencher o formulário de carregamento do produto para medição personalizada, cada produto pode ter até 24 dimensões. As dimensões são definidas nos seguintes campos:

  • Nome da dimensão: o nome usado quando o aplicativo de contêiner está enviando registros de medição para o AWS Marketplace Metering Service. Esse nome indica qual dimensão o comprador usará. Esse nome é visível em relatórios de faturamento. Depois de definir o nome, você não poderá alterá-lo.

  • Descrição da dimensão: a descrição voltada para o comprador da dimensão. A descrição não pode ter mais de 70 caracteres. Depois que o produto é publicado de forma pública para compradores, esse campo não pode ser alterado.

  • Taxa de dimensão: o preço do software por unidade para esse produto quando os compradores pagam conforme o uso. Esse campo oferece suporte a valores com até três casas decimais.

  • Taxa de longo prazo da dimensão: o preço total do software em relação a um contrato de longo prazo quando os compradores pagam antecipadamente.

  • Duração de longo prazo (dias): a duração, em dias, do contrato de longo prazo.

Teste da integração do MeterUsage e o modo de visualização

Use a MeterUsage operação para testar sua integração antes de enviar sua imagem AWS Marketplace para publicação.

O modo de visualização funciona de forma idêntica ao modo de produção, exceto que o modo de visualização não verifica a autorização para usar o produto. Para ligar MeterUsage no modo de pré-visualização, ligue a MeterUsage partir das imagens do contêiner executando seu produto no Amazon Elastic Container Service (AmazonECS) ou no Amazon Elastic Kubernetes Service (EKSAmazon) Conta da AWS com o que você está usando para publicar o produto. AWS Marketplace Sua integração de medição deve configurá-la dinamicamente Região da AWS, em vez de codificá-la. No entanto, ao testar, inicie pelo menos uma ECS tarefa da Amazon ou um EKS pod da Amazon contendo seu contêiner pago na região Leste dos EUA (Norte da Virgínia) para que a equipe de AWS Marketplace operações possa verificar seu trabalho com os registros dessa região.

nota
  • Se seu produto é compatível com a Amazon ECS e a AmazonEKS, você só precisa lançá-lo na Amazon EKS para que possamos validar sua integração.

  • Teste todas as dimensões antes de lançar seu produto ao público e depois de adicionar uma nova dimensão. Se você não enviar um registro de medição para cada dimensão associada a um produto de contêiner, isso resultará em um erro com a falha da solicitação.

Não é possível testar totalmente a integração até o produto ser publicado com todos os metadados e informações de definição de preço necessários. Se solicitado, a equipe de operações do AWS Marketplace catálogo pode verificar o recebimento de seus registros de medição no modo de visualização.

Tratar erros no MeterUsage

Se a imagem de contêiner se integrar à operação MeterUsage e receber uma exceção diferente de ThrottlingException na inicialização do contêiner, você deverá encerrar a imagem de contêiner para evitar uso não autorizado.

As exceções diferentes de ThrottlingException são lançadas somente na chamada inicial para MeterUsage. As chamadas subsequentes da mesma ECS tarefa da Amazon ou EKS pod da Amazon não são realizadas, CustomerNotSubscribedException mesmo que o cliente cancele a assinatura enquanto a tarefa ou pod ainda está em execução. Esses clientes ainda são cobrados pela execução de contêineres depois de cancelarem a assinatura e seu uso for rastreado.

Consulte MeterUsagea AWS Marketplace Metering Service APIReferência para obter descrições detalhadas dos erros comuns deMeterUsage. Cada linguagem de AWS SDK programação tem um conjunto de diretrizes de tratamento de erros que você pode consultar para obter informações adicionais.

Marcação medida pelo fornecedor (opcional)

A marcação medida pelo fornecedor ajuda os fornecedores independentes de software (ISVs) a fornecer ao comprador uma visão mais granular sobre o uso do software e pode ajudá-lo a realizar a alocação de custos.

Existem diversas maneiras de marcar o uso do software do comprador. Uma maneira é primeiro perguntar aos compradores o que eles querem ver na alocação de custos. Em seguida, você pode dividir o uso entre as propriedades rastreadas para a conta do comprador. Exemplos de propriedades incluem AccountId, Business Unit, Cost Centers e outros metadados relevantes para seu produto. Essas propriedades são expostas ao comprador como tags. Usando tags, os compradores podem ver seus custos divididos em uso pelos valores das tags em seu console de AWS faturamento (https://console.aws.amazon.com/billing/). A marcação medida pelo fornecedor não altera o preço, as dimensões ou o uso total que você relata. Ela permite que o cliente visualize os custos por categorias apropriadas ao seu produto.

Em um caso de uso comum, um comprador assina seu produto com uma Conta da AWS. O comprador também tem vários usuários associados à mesma assinatura do produto. Você pode criar alocações de uso com tags que tenham uma chave de AccountId e, em seguida, alocar o uso para cada usuário. Nesse caso, os compradores podem ativar a tag AccountId no console do Billing and Cost Management e analisar o uso individual do usuário.

Experiência do vendedor

Os vendedores podem agregar os registros de medição dos recursos com o mesmo conjunto de tags em vez de agregar o uso de todos os recursos. Por exemplo, os vendedores podem criar o registro de medição que inclui diferentes buckets de UsageAllocations. Cada bucket representa UsageQuantity para um conjunto de tags, como AccountId e BusinessUnit.

No diagrama a seguir, o Recurso 1 tem um conjunto exclusivo de tags AccountId e BusinessUnit e aparece no Registro de medição como uma única entrada.

O Recurso 2 e o Recurso 3 têm a mesma tag AccountId, 2222, e a mesma tag BusinessUnit, Operations. Como resultado, eles são combinados em uma única entrada UsageAllocations no Registro de medição.

Metering record showing resource usage allocation from three resources to two accounts.

Os vendedores também podem combinar recursos sem tags em uma única UsageAllocation com a quantidade de uso alocada e enviá-los como uma das entradas em UsageAllocations.

Os limites incluem:

  • Número de tags: 5

  • Quantidade de UsageAllocations (cardinalidade): 2.500

As validações incluem:

  • Caracteres permitidos para a chave e o valor da tag – a-zA-Z0-9+ -=._:\/@

  • Máximo de tags na lista UsageAllocation: 5

  • Duas UsageAllocations não podem ter as mesmas tags (ou seja, a mesma combinação de chaves e valores de tag). Se for esse o caso, elas devem usar a mesma UsageAllocation.

  • A soma de AllocatedUsageQuantity de UsageAllocation deve ser igual a UsageQuantity, que é o uso agregado.

Experiência do comprador

A tabela a seguir mostra um exemplo da experiência do comprador depois que ele ativa as tags de fornecedor AccountId e BusinessUnit.

Neste exemplo, o comprador pode ver o uso alocado no Relatório de uso de custos. As tags medidas pelo fornecedor usam o prefixo “aws:marketplace:isv”. Os compradores podem ativá-las no Billing and Cost Management, em Tags de alocação de custos, Tags de alocação de custos geradas pela AWS.

A primeira e a última linha do Relatório de uso de custos são relevantes para o que o vendedor envia ao Serviço de medição (conforme mostrado no exemplo Experiência do vendedor).

Relatório de uso de custos (simplificado)
ProductCode Comprador UsageDimension UsageQuantity aws:marketplace:isv:AccountId aws:marketplace:isv:BusinessUnit
xyz 111122223333 Rede: por (GB) inspecionado 70 2222 Operações
xyz 111122223333 Rede: por (GB) inspecionado 30 3333 Financeiro
xyz 111122223333 Rede: por (GB) inspecionado 20 4444 IT
xyz 111122223333 Rede: por (GB) inspecionado 20 5555 Marketing
xyz 111122223333 Rede: por (GB) inspecionado 30 1111 Marketing

Para ver um exemplo de código, consulte Exemplo de código MeterUsage com marcação de alocação de uso (opcional).

Exemplo de código

O exemplo de código a seguir é fornecido para ajudá-lo a integrar seu produto de contêiner com o AWS Marketplace APIs necessário para publicar e manter seu produto.

Exemplo de código MeterUsage com marcação de alocação de uso (opcional)

O exemplo de código a seguir é relevante para produtos de contêiner com modelos de definição de preço de consumo. O exemplo do Python envia um registro de medição com as tags de alocação de uso apropriadas para AWS Marketplace cobrar taxas de seus clientes. pay-as-you-go

# NOTE: Your application will need to aggregate usage for the # customer for the hour and set the quantity as seen below. # AWS Marketplace can only accept records for up to an hour in the past. # # productCode is supplied after the AWS Marketplace Ops team has # published the product to limited # Import AWS Python SDK import boto3 import time usageRecord = [ { "AllocatedUsageQuantity": 2, "Tags": [ { "Key": "BusinessUnit", "Value": "IT" }, { "Key": "AccountId", "Value": "123456789" }, ] }, { "AllocatedUsageQuantity": 1, "Tags": [ { "Key": "BusinessUnit", "Value": "Finance" }, { "Key": "AccountId", "Value": "987654321" }, ] } ] marketplaceClient = boto3.client("meteringmarketplace") response = marketplaceClient.meter_usage( ProductCode="testProduct", Timestamp=int(time.time()), UsageDimension="Dimension1", UsageQuantity=3, DryRun=False, UsageAllocations=usageRecord )

Para obter mais informações sobreMeterUsage, consulte MeterUsagena AWS Marketplace Metering Service APIReferência.

Exemplo de resposta

{ "MeteringRecordId": "string" }