AWS Marketplace Metering Service를 사용하여 컨테이너 제품의 사용자 지정 측정 구성 - AWS Marketplace

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

AWS Marketplace Metering Service를 사용하여 컨테이너 제품의 사용자 지정 측정 구성

AWS Marketplace 컨테이너 제품은 제품당 최대 24개의 다양한 요금 차원에 대해 사용자 지정 측정이 가능합니다. 각 차원에는 연결된 장기 계약 요금이 있을 수 있습니다. 사용자 지정 측정을 활성화하려면 컨테이너 제품을 AWS Marketplace 측정 서비스와 통합합니다. MeterUsage API 작업을 사용하여 결제 AWS 를 위해 해당 사용량에 대한 자체 요금 단위 및 사용자 지정 측정 단위를 로 정의할 수 있습니다. 다음 섹션에서는 컨테이너 제품에 대한 사용자 지정 측정 구성 방법을 보여줍니다.

가격 차원은 AWS Marketplace Management Portal (판매자 포털)에서 제품을 생성할 때 한 번, MeterUsage 그리고 작업을 수행하기 위해 소프트웨어에서 한 번, 두 위치로 정의됩니다. 이 2단계 방법을 통해 후속 제안이 공개되기 전에 의도한 대로 작동하는지 확인할 수 있습니다.

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

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

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

  • 요금 차원 - 요금 차원은 사용자, 스캔, vCPU, 배포된 에이전트 같은 단위당 가격을 설정한 기능 또는 서비스를 나타냅니다. 요금 차원은 공개됩니다. 하지만 여전히 공개 제품에 대한 비공개 및 기존 보유 라이선스 사용(BYOL) 제안을 정의할 수 있습니다. 측정 레코드를 보낼 때 요금은 포함하지 마세요. 단위 수량을 측정하면 제품을 생성할 때 정의한 가격과 함께 사용하여 구매자의 청구서가 계산됩니다.

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

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

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

컨테이너 제품용 AWS Marketplace Metering Service API를 사용자 지정 측정 요금과 통합하는 방법에 대한 자세한 내용은 AWS Marketplace 판매자 워크숍의 사용자 지정 측정 랩과 통합을 참조하세요.

중요

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

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

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

  1. 에서 새 컨테이너 제품을 AWS Marketplace Management Portal생성하고 해당 제품 코드를 기록해 둡니다.

  2. 를 호출하는 데 필요한 IAM 권한으로 애플리케이션을 실행하는 태스크 또는 포드에 AWS Identity and Access Management (IAM) 역할을 사용합니다MeterUsage. IAM 관리형 정책 AWSMarketplaceMeteringRegisterUsage에 이러한 권한이 있습니다. 정책에 대한 자세한 내용은 AWS 관리형 정책 참조의 AWSMarketplaceMeteringFullAccess를 참조하세요.

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

  4. 정의하는 모든 요금 차원에 대한 레코드를 사용하여 MeterUsage API 작업 호출을 테스트합니다.

MeterUsage 통합 테스트

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

제품을 나열하는 데 사용 AWS 계정 중인를 사용하여 Amazon Elastic Container Service(Amazon ECS) 또는 Amazon Elastic Kubernetes Service(Amazon EKS)에서 제품을 실행하여 컨테이너 이미지MeterUsage에서를 호출합니다 AWS Marketplace. 측정 통합은 하드 코딩 AWS 리전이 아닌 동적으로를 설정해야 합니다. 그러나 테스트할 때 AWS Marketplace 운영 팀이 해당 리전의 로그 작업을 확인할 수 있도록 미국 동부(버지니아 북부) 리전에서 유료 컨테이너가 포함된 Amazon ECS 작업 또는 Amazon EKS 포드를 하나 이상 시작합니다.

참고
  • 제품이 Amazon ECS와 Amazon EKS를 모두 지원하는 경우 판매자는 Amazon EKS에서 시작하기만 하면 됩니다. 그러면 AWS에서 통합을 검증할 수 있습니다.

  • 제품을 일반 출시하기 전과 새 차원을 추가한 후 모든 차원을 테스트합니다. 컨테이너 제품과 연결된 각 차원에 대한 측정 레코드를 보내지 않으면 요청에 실패하는 오류가 발생합니다.

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

MeterUsage의 오류 처리

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

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

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

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

공급업체 측정 태깅을 사용하면 독립 소프트웨어 개발 판매 회사(ISV)는 구매자에게 소프트웨어 사용에 대한 보다 세밀한 통찰력을 제공하고 구매자의 비용 할당을 도와줄 수 있습니다.

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

일반적으로 구매자는 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 에 전송하여 고객에게 사용한 만큼만 지불 요금을 청구합니다.

# 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" }