AWSMarketplace 미터링 서비스를 통한 컨테이너 제품에 대한 사용자 지정 계량 - AWS Marketplace

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWSMarketplace 미터링 서비스를 통한 컨테이너 제품에 대한 사용자 지정 계량

AWS Marketplace 컨테이너 제품에는 제품당 최대 24개의 서로 다른 가격 책정 기준에 대한 맞춤 측정이 가능합니다. 각 차원에는 연결된 장기 계약 요금이 있을 수 있습니다. 사용자 지정 미터링을 활성화하려면 컨테이너 제품을 AWS Marketplace Metering Service와 통합하십시오. 자체 가격 책정 단위를 정의하고 해당 사용량에 대한 사용자 지정 미터링을 오퍼레이션을 사용하여 청구할 수 AWS 있습니다. MeterUsageAPI

가격 차원은 제품 로드 양식에서 한 번, MeterUsage 작업을 통해 한 번, 두 곳에서 정의됩니다. 이 2단계 방법을 통해 후속 제안이 공개되기 전에 의도한 대로 작동하는지 확인할 수 있습니다.

사용자 지정 측정을 설정하려면 사용 범주, 단위 유형 및 요금 차원을 선택해야 합니다.

  • 사용 범주 - 사용 범주는 구매자가 제품을 이해하고 사용 방법을 파악하는 데 도움이 됩니다.

  • 단위 유형 - 단위 유형은 청구 측정 단위를 정의합니다. OR 단위로 측정된 대역폭MBps, 호스트 수 GBps 또는 MB, GB 또는 TB 단위로 측정된 데이터를 예로 들 수 있습니다.

  • 요금 측정 기준 — 요금 측정기준은 단위당 가격을 설정한 기능 또는 서비스 (예: 사용자vCPUs, 스캔 또는 배포된 에이전트) 를 나타냅니다. 요금 차원은 공개됩니다. 하지만 공용 제품에 대한 비공개 및 Bring Your Own License (BYOL) 오퍼는 여전히 정의할 수 있습니다. 측정 레코드를 보낼 때 요금은 포함하지 마십시오. 단위 수량을 측정하면 제품을 생성할 때 정의한 가격과 함께 사용하여 구매자의 청구서가 계산됩니다.

    제품 요금이 사전 정의된 범주 또는 단위 유형에 맞지 않는 경우 일반 단위 범주를 선택하면 됩니다. 그 후 차원 설명을 사용하여 단위가 무엇인지 설명합니다.

선택 사항으로, 추적하는 속성별로 사용량을 할당량에 분배할 수 있습니다. 할당량은 구매자에게 태그로 표시됩니다. 이러한 태그를 통해 구매자는 태그 값에 따라 사용량으로 분할된 비용을 볼 수 있습니다. 예를 들어 사용자별로 요금을 부과하고 사용자에게 "Department" 속성이 있는 경우 키가 "Department"인 태그와 값마다 하나의 할당을 사용하여 사용량 할당을 생성할 수 있습니다. 이렇게 해도 보고하는 가격, 크기 또는 총 사용량이 변하지는 않지만, 고객은 제품에 적합한 범주별로 비용을 볼 수 있습니다.

1시간마다 측정 기록을 보내는 것이 좋습니다. 하지만 일별 또는 월별로 사용량을 집계할 수도 있습니다. 중단이 발생할 경우 구매자 소프트웨어 사용을 집계하여 이후 시간 측정 시 보낼 수 있습니다. 시간당 두 개 이상의 레코드를 보낼 수 없습니다.

중요

무료 평가판 및 선결제 권한은 시간당 수준에서 추적됩니다. 따라서 이러한 기록을 별도로 보내면 구매자에게 요금이 과다 청구될 수 있습니다.

사용자 지정 측정을 위한 사전 조건

제품을 게시하기 전에 다음을 수행해야 합니다.

  1. 에서 새 컨테이너 제품을 생성하고 해당 제품 코드를 기록해 두십시오. AWS Marketplace Management Portal

  2. 필요한 차원 정보와 함께 제품 로드 양식을 작성하고, AWS에 반환하여 처리합니다.

  3. 호출에 필요한 IAM 권한이 있는 애플리케이션을 실행하는 작업 또는 포드에 AWS Identity and Access Management (IAM) 역할을 사용하십시오MeterUsage. IAM관리형 AWSMarketplaceMeteringRegisterUsage 정책에는 이러한 권한이 있습니다.

  4. (선택 사항) AWS CloudTrail 로깅을 보려면 작업 또는 포드 정의에서 로깅을 활성화하는 것이 좋습니다.

  5. 정의한 모든 가격 책정 MeterUsage API 기준에 대한 기록을 사용하여 오퍼레이션을 테스트 호출하세요.

사용자 지정 측정용 제품 로드 양식

사용자 지정 측정용 제품 로드 양식을 작성할 때 각 제품에 최대 24개의 차원을 지정할 수 있습니다. 차원은 다음 필드에서 정의합니다.

  • 차원 이름 - 컨테이너 애플리케이션이 측정 레코드를 AWS Marketplace Metering Service에 전송할 때 사용되는 이름입니다. 이 이름은 구매자가 사용할 차원을 나타냅니다. 이 이름은 결제 보고서에 공개됩니다. 이름을 설정한 후에는 변경할 수 없습니다.

  • 차원 설명 - 구매자에게 표시되는 차원에 대한 설명입니다. 설명은 70자까지 입력할 수 있습니다. 제품을 구매자에게 공개적으로 게시한 후에는 이 필드를 변경할 수 없습니다.

  • 차원 요금 - 구매자가 사용량에 따라 지불하는 이 제품의 단위당 소프트웨어 가격입니다. 이 필드는 소수점 세 자리를 지원합니다.

  • 차원 장기 요금 - 구매자가 요금을 선결제하는 경우 장기 계약 기간의 총 소프트웨어 요금입니다.

  • 장기 기간(일) - 장기 계약의 기간(일)입니다.

MeterUsage 통합 및 미리 보기 모드 테스트

게시를 위해 이미지를 제출하기 전에 MeterUsage 작업을 사용하여 통합을 테스트하세요. AWS Marketplace

미리보기 모드는 프로덕션 모드와 동일한 방식으로 작동합니다. 단, 미리보기 모드에는 제품 사용에 대한 권한 부여를 확인하는 기능이 없습니다. 프리뷰 MeterUsage 모드에서 전화를 걸려면 상품을 리스팅하는 데 사용하는 아마존 엘라스틱 컨테이너 서비스 (AmazonECS) 또는 Amazon Elastic Kubernetes Service (EKSAmazon) MeterUsage AWS 계정 에서 제품을 실행하여 컨테이너 이미지에서 호출하십시오. AWS Marketplace미터링 통합은 하드 코딩하는 대신 동적으로 설정해야 합니다. AWS 리전하지만 테스트할 때는 미국 동부 (버지니아 북부) 지역에서 유료 컨테이너가 포함된 Amazon ECS 작업 또는 Amazon EKS 포드를 하나 이상 실행하여 AWS Marketplace 운영팀이 해당 지역의 로그로 작업을 확인할 수 있도록 하십시오.

참고
  • 제품이 ECS Amazon과 Amazon을 모두 지원하는 경우 EKS EKS Amazon에서 실행하기만 하면 연동 검증을 받을 수 있습니다.

  • 제품을 대중에게 출시하기 전과 새 차원을 추가한 후에 모든 측정기준을 테스트하십시오. 컨테이너 제품과 관련된 각 측정기준에 대한 측정 기록을 보내지 않으면 요청이 실패하는 오류가 발생합니다.

제품과 함께 필요한 모든 메타데이터 및 요금 정보가 게시될 때까지는 통합에 대한 완전한 테스트가 어렵습니다. 요청이 있을 경우 AWS Marketplace 카탈로그 운영팀이 미리 보기 모드에서 계량 기록의 수신을 확인할 수 있습니다.

MeterUsage의 오류 처리

컨테이너 이미지가 MeterUsage 작업과 통합된 상태에서 컨테이너 시작 시 ThrottlingException 외에 다른 예외가 발생하면 컨테이너를 종료하여 무단 사용을 방지해야 합니다.

ThrottlingException 이외의 예외는 초기 MeterUsage 호출에서만 발생합니다. 동일한 Amazon ECS 태스크 또는 Amazon EKS 포드에서의 후속 호출은 고객이 작업 또는 포드가 아직 실행 중인 상태에서 구독을 CustomerNotSubscribedException 취소하더라도 발생하지 않습니다. 이러한 고객은 구독을 취소한 후에도 사용량을 추적하여 컨테이너 실행에 대한 요금이 계속 청구됩니다.

의 일반적인 오류에 대한 자세한 설명은 AWS Marketplace Metering Service API참조를 참조하십시오 MeterUsage. MeterUsage 각 AWS SDK 프로그래밍 언어에는 추가 정보를 참조할 수 있는 일련의 오류 처리 지침이 있습니다.

공급업체 측정 태깅(선택 사항)

공급업체 기반 태깅은 독립 소프트웨어 공급업체 (ISVs) 가 구매자에게 소프트웨어 사용에 대한 보다 세밀한 통찰력을 제공하고 비용 할당을 수행하는 데 도움이 됩니다.

구매자의 소프트웨어 사용에 태그를 지정하는 여러 가지 방법이 있습니다. 한 가지 방법은 먼저 구매자에게 비용 할당에서 보고 싶은 것이 무엇인지 물어보는 것입니다. 그 후 구매자 계정에 대해 추적하는 모든 속성에 사용량을 분할할 수 있습니다. 속성의 예로는 AccountId, Business Unit, Cost Centers 및 기타 제품 관련 메타데이터가 있습니다. 이러한 속성은 구매자에게 태그로 노출됩니다. 태그를 사용하면 구매자는 Billing Console () 에서 태그 값을 기준으로 비용을 사용량으로 분할하여 확인할 수 있습니다. AWS https://console.aws.amazon.com/billing/ 공급업체 측정 태깅은 판매자가 신고한 가격, 크기 또는 총 사용량을 변경하지 않습니다. 이를 통해 고객은 제품에 적합한 범주별로 비용을 볼 수 있습니다.

일반적으로 구매자는 AWS 계정하나로 제품을 구독합니다. 또한 구매자의 수많은 사용자가 동일한 제품 구독에 연결됩니다. AccountId 키가 있는 태그를 사용하여 사용량 할당을 생성한 다음, 각 사용자에게 사용량을 할당할 수 있습니다. 이 경우 구매자는 과금 정보 및 비용 관리 콘솔에서 AccountId 태그를 활성화하고 개별 사용자 사용량을 분석할 수 있습니다.

판매자 환경

판매자는 모든 리소스 사용량을 집계하는 대신 동일한 태그 세트를 사용하여 리소스 측정 기록을 집계할 수 있습니다. 예를 들어 판매자는 UsageAllocations의 여러 버킷을 포함하는 측정 기록을 구성할 수 있습니다. 각 버킷은 태그 세트의 UsageQuantity(예: AccountId, BusinessUnit)를 나타냅니다.

다음 다이어그램의 리소스 1은 고유한 AccountIdBusinessUnit 태그 세트가 있으며 Metering Record(측정 기록)에 단일 항목으로 표시됩니다.

리소스 2리소스 3은 동일한 AccountId, 2222, BusinessUnitOperations 태그를 갖고 있습니다. 따라서 두 리소스는 측정 기록의 단일 UsageAllocations 항목으로 결합됩니다.

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

판매자는 태그가 없는 리소스를 사용량 수량이 할당된 단일 UsageAllocation으로 결합하고 UsageAllocations의 항목 중 하나로 전송할 수도 있습니다.

다음과 같은 제한이 있습니다.

  • 태그 수 - 5

  • UsageAllocations 크기(카디널리티) - 2,500

다음 사항을 확인합니다.

  • 태그 키 및 값에 허용되는 문자 – a-zA-Z0-9+ -=._:\/@

  • UsageAllocation 목록의 최대 태그 수 - 5

  • UsageAllocations의 태그가 같으면(즉, 동일한 태그 키와 값의 조합) 안 됩니다. 같을 경우 둘 다 동일한 UsageAllocation을 사용해야 합니다.

  • UsageAllocationAllocatedUsageQuantity 합계는 총 사용량인 UsageQuantity와 같아야 합니다.

구매자 경험

다음 표는 구매자가 AccountIdBusinessUnit 공급업체 태그를 활성화한 이후의 구매자 경험 예시를 보여줍니다.

이 예에서 구매자는 비용 사용 보고서에서 할당된 사용량을 볼 수 있습니다. 공급업체 측정 태그는 “aws:marketplace:isv” 접두사를 사용합니다. 구매자는 과금 정보 및 비용 관리의 비용 할당 태그 아래에 있는 AWS생성 비용 할당 태그에서 태그를 활성화할 수 있습니다.

비용 사용 보고서의 첫 번째 행과 마지막 행은 판매자 환경 예제처럼 판매자가 측정 서비스에 보내는 내용과 관련이 있습니다.

비용 사용 보고서(단순)
ProductCode 구매자 UsageDimension UsageQuantity aws:marketplace:isv:AccountId aws:marketplace:isv:BusinessUnit
xyz 111122223333 네트워크: 검사한 크기(GB)당 70 2222 운영
xyz 111122223333 네트워크: 검사한 크기(GB)당 30 3333 Finance
xyz 111122223333 네트워크: 검사한 크기(GB)당 20 4444 IT
xyz 111122223333 네트워크: 검사한 크기(GB)당 20 5555 마케팅
xyz 111122223333 네트워크: 검사한 크기(GB)당 30 1111 마케팅

코드에 대한 예는 사용량 할당 태그 지정을 사용하는 MeterUsage 코드 예제(선택 사항) 단원을 참조하십시오.

코드 예제

다음 코드 예제는 컨테이너 제품을 제품 게시 및 유지 관리에 AWS Marketplace APIs 필요한 제품과 통합하는 데 도움이 되도록 제공됩니다.

사용량 할당 태그 지정을 사용하는 MeterUsage 코드 예제(선택 사항)

다음 코드 예제는 소비 요금 모델이 적용되는 컨테이너 제품과 관련이 있습니다. Python 예제는 적절한 사용량 할당 태그가 포함된 미터링 레코드를 AWS Marketplace 전송하여 고객에게 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 )

에 대한 MeterUsage 자세한 내용은 AWS Marketplace Metering Service API참조를 참조하십시오 MeterUsage.

응답의 예

{ "MeteringRecordId": "string" }