Summary

  • AWS Marketplace에서는 판매자가 SaaS 사용 기록을 제출한다. 기존 방식은 상품·고객·시간·요금 항목을 기준으로 중복을 제거하지만, 복수 계약을 지원하는 방식은 상품 대신 개별 라이선스를 기준에 넣는다.
  • AWS는 같은 고객의 같은 사용 시간에 ProductCode와 LicenseArn을 번갈아 적용해 기록을 보내면 중복 청구된다고 밝힌다. 이전과 이후 시스템이 한 시간을 동시에 맡지 않도록 해야 한다.

계량기 두 대가 모두 정상이라고 청구서도 정상인 것은 아니다.

AWS Marketplace의 SaaS 청구는 판매자의 전송 기록에서 출발한다. 판매자가 사용량을 측정해 제출하면 AWS가 설정된 가격을 적용한다. 복수 계약을 지원하지 않는 상품에서는 상품, 고객, 시간, 요금 항목을 묶어 중복을 판정한다. 복수 계약을 지원하면 한 고객이 같은 상품을 여러 계약으로 동시에 살 수 있다. 각 계약에는 고유한 LicenseArn이 붙고, 사용량도 라이선스별로 추적된다.

이때 전환 작업이 장부의 함정이 된다. AWS 설명에 따르면 같은 라이선스로 재시도하는 기록은 통상적인 중복 제거 규칙을 따른다. 그러나 같은 사용 시간에 한 번은 ProductCode, 또 한 번은 LicenseArn으로 제출하면 중복 청구가 생긴다. 오래된 전송 프로그램과 새 프로그램이 둘 다 성공 응답을 받을 수 있다. 고객이 실제로 사용한 시간은 하나인데 기록의 신분이 둘이 되는 것이다.

AWS는 2026년 6월 1일부터 새 SaaS 상품에 복수 계약을 지원하는 갱신된 연동 요건을 요구한다. 기존 연동은 계속 운영할 수 있다. 따라서 그 날짜가 모든 기존 판매자의 일괄 전환일은 아니다. 실제로 방식을 바꾸는 판매자는 옛 방식의 마지막 UTC 시간과 새 방식의 첫 시간을 명확히 정해야 한다.

새 방식의 라이선스 식별자는 가입 절차에서 ResolveCustomer가 돌려준다. AWS는 라이선스 기준 계량 시 각 UsageRecord에 LicenseArn을 넣고 요청 최상위에는 ProductCode를 넣지 말라고 안내한다. 고객이 같은 상품의 계약 두 개를 갖고 있다면 상품 이름만으로는 사용량이 어느 계약에 속하는지 알 수 없다. 고객 계정, 계약, 요금 항목, 시간의 대응표가 필요하다.

보낸 숫자를 나중에 간단히 고칠 수도 없다. AWS는 한 요금 항목의 사용량을 0으로 신고했더라도 그 기록을 수정할 수 없다고 한다. 같은 조건으로 다른 수량을 재전송해도 첫 수량이 청구에 남는다. 같은 고객과 항목의 한 시간 기록을 여러 번 보내도 수량이 자동 합산되지 않는다. 새 API가 성공했다는 시험만으로는 옛 발신자가 멈췄다는 사실을 증명하지 못한다.

구매자는 AWS 청구 화면에서 항목별 사용량과 누적 금액을 볼 수 있고, Cost and Usage Report를 켜면 단가를 포함한 세부 정보도 확인할 수 있다. 다만 실시간 자료는 아니다. 판매자는 CloudTrail로 API 호출을 확인할 수 있다. 특정 고객에게 실제로 얼마가 중복 청구됐는지 알려면 해당 고객·라이선스·항목·시간의 제출 기록과 확정 청구 내역이 필요하다. 공개된 AWS 지침은 위험이 작동하는 방식을 이미 분명하게 보여준다.

AWS는 어떤 기록을 중복으로 볼지 정한다. 판매자는 사용량을 어느 신분으로 보낼지 정한다. 구매자는 그 결과를 낸다. 작은 필드 변경이 돈의 흐름을 바꾸는 순간이다.

공식 자료