AWS Marketplace Metering Service를 사용한 시간당 측정 구성 - AWS Marketplace

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

AWS Marketplace Metering Service를 사용한 시간당 측정 구성

참고

Amazon EKS 배포의 경우 소프트웨어는 서비스 계정에 대한 IAM 역할(IRSA)을 사용하여 API 작업에 대한 RegisterUsage API 호출에 서명해야 합니다. EKS Pod Identity, 노드 역할 또는 장기 액세스 키를 사용하는 것은 지원되지 않습니다.

Amazon ECS 배포의 경우 소프트웨어는 Amazon ECS 태스크 IAM 역할을 사용하여 API 작업에 대한 RegisterUsage API 호출에 서명해야 합니다. 노드 역할 또는 장기 액세스 키 사용은 지원되지 않습니다.

컨테이너 제품이 사용자 지정 측정 요금 차원 대신 시간당 작업별 또는 포드별 요금을 사용하는 경우 사용자 지정 측정 차원을 정의할 필요가 없습니다. AWS Marketplace Metering Service를 사용하여 AWS Marketplace의 컨테이너 제품을 시간당 측정할 수 있습니다. 다음 섹션에서는 AWS Marketplace Metering Service를 사용하여 시간당 측정을 구성하는 방법을 보여줍니다.

RegisterUsage API 작업은 Amazon Elastic Container Service(Amazon ECS) 작업별, Amazon Elastic Kubernetes Service(Amazon EKS) 포드별 또는 시간당 소프트웨어 사용량을 측정하며 사용량은 초 단위로 비례 배분합니다. 실행 시간이 짧은 작업 또는 포드에 대해서는 최소 1분의 사용량이 적용됩니다. 소프트웨어 사용을 위한 연속 측정은에서 자동으로 처리됩니다 AWS Marketplace Metering Control Plane. 사용자 소프트웨어는 소프트웨어 사용 측정을 시작할 때 한 번 RegisterUsage를 호출하는 것 외에 다른 측정 작업이 필요하지 않습니다.

컨테이너를 시작할 때 RegisterUsage를 즉시 호출해야 합니다. 컨테이너 시작 후 처음 6시간 이내에 컨테이너를 등록하지 않으면 AWS Marketplace 측정 서비스는 이전 달에 대한 어떠한 측정도 보장하지 않습니다. 하지만 이번 달 이후에도 컨테이너가 종료될 때까지 측정이 계속됩니다.

는 AWS Marketplace Metering Control Plane 고객의 구독 상태에 관계없이 Amazon ECS 작업 및 Amazon EKS 포드 실행에 대한 요금을 고객에게 계속 청구합니다. 따라서 작업 또는 포드가 성공적으로 시작된 후에는 소프트웨어에서 권한 검사를 수행할 필요가 없습니다.

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

시간당 측정을 위한 사전 조건

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

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

    자세한 내용은 개요: 컨테이너 제품 만들기 단원을 참조하십시오.

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

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

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

에 대한 통합 테스트 RegisterUsage

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

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

참고

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

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

RegisterUsage의 오류 처리

컨테이너 이미지가와 통합 AWS Marketplace Metering Service 되고 컨테이너 시작 ThrottlingException 시 이외의 예외가 발생하는 경우 무단 사용을 방지하기 위해 컨테이너를 종료해야 합니다.

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

다음 표에는 RegisterUsage API 작업에서 발생할 수 있는 오류가 설명되어 있습니다. 각 AWS SDK 프로그래밍 언어에는 추가 정보를 위해 참조할 수 있는 오류 처리 지침 세트가 있습니다.

오류 설명
InternalServiceErrorException RegisterUsage를 사용할 수 없습니다.
CustomerNotEntitledException 고객에게 유효한 제품 구독이 없습니다.
InvalidProductCodeException 요청과 함께 전달된 ProductCode 값이 존재하지 않습니다.
InvalidPublicKeyException 요청과 함께 전달된 PublicKeyVersion 값이 존재하지 않습니다.
PlatformNotSupportedException AWS Marketplace 는 기본 플랫폼의 측정 사용량을 지원하지 않습니다. Amazon ECS, Amazon EKS 및 만 지원 AWS Fargate 됩니다.
ThrottlingException RegisterUsage 호출에 병목 현상이 발생했습니다.
InvalidRegionException RegisterUsage는 Amazon ECS 작업 또는 Amazon EKS 포드가 시작된 AWS 리전 것과 동일한에서 호출되어야 합니다. 그래야만 RegisterUsage 호출 시 컨테이너가 리전(예: withRegion(“us-east-1”))을 선택하지 않습니다.