8 min read

AWS Marketplace 제품 등재: SaaS

들어가며

AWS Marketplace는 전 세계 클라우드 고객에게 SaaS 제품을 판매할 수 있는 유통 채널입니다. 하지만 처음 시작하는 입장에서는 어떻게 온보딩을 시작해야 할지 막막할 수 있습니다. 이 글에서는 AWS 공식 문서를 바탕으로, SaaS 제품을 AWS Marketplace에 등록하는 과정을 압축적으로 알려줍니다. 해당 문서는 MarketPlace에 제품을 등재시키기 전 이해과정을 돕는 정도로만 생각하시고 회사의 SaaS 제품의 맞게 아래의 공식문서들 참고하시면 됩니다.

SaaS 제품 과금 방식 (Pricing Model)

Marketplace에 SaaS 제품을 올릴 때 가장 먼저 고민해야 하는 것은 어떤 방식으로 고객에게 요금을 청구할 것인가입니다. AWS Marketplace는 다음 세 가지 과금 모델을 지원합니다.

1️⃣ Pay-as-you-go (과금형)

이 모델은 고객이 실제 사용한 만큼만 요금을 내는 방식입니다. 예를 들어 고객이 API를 1,000번 호출했으면 그 호출 수 만큼 청구됩니다. 스토리지 용량, 데이터 전송량, 활성 사용자 수 등 다양한 기준으로 측정할 수 있습니다.

2️⃣ Contract (계약형)

계약형은 고객과 일정 기간 동안 고정 금액으로 계약을 체결하는 방식입니다. 예를 들어 1년 단위로 일정 금액을 선결제 받거나, 장기 고객에게 할인을 제공하는 방식으로 많이 활용됩니다. 특히 엔터프라이즈 고객과의 협상 시 자주 사용됩니다.

3️⃣ 혼합형 (Mixed Model)

계약형 금액에 추가로 초과 사용량에 대해 종량제 요금을 부과할 수도 있습니다. 예를 들어 월 기본 $100에 저장 공간 초과분 GB당 추가 요금을 부과하는 구조입니다.

실제 요금 예시

  • 월 $100 기본 요금
  • 저장 용량 1GB당 월 $1 추가 요금
  • API 호출 1,000건당 $5 추가 요금

Private Offer (비공개 제안)

B2B SaaS 비즈니스에서는 고객별 맞춤 가격이 필요할 때가 많습니다. AWS Marketplace에서는 이를 위해 Private Offer 기능을 제공합니다. 이 기능을 활용하면 특정 고객에게 공개되지 않는 개별 계약 조건을 설정할 수 있습니다. 가격뿐 아니라 계약 기간, 서비스 수준, 추가 조항 등도 포함 가능합니다. 판매자는 Management Portal에서 손쉽게 Private Offer를 생성할 수 있습니다.

Dimension 설계

Pay-as-you-go 요금제를 선택하면 이제 '무엇을 기준으로 과금할 것인지'를 정의해야 합니다. 이때 등장하는 개념이 Dimension입니다. Dimension은 과금 단위라고 이해하시면 됩니다.

예시 Dimension

  • APIRequests: API 호출 수
  • StorageGB: 스토리지 사용량
  • DataTransferGB: 데이터 전송량
  • ActiveUsers: 활성 사용자 수

Dimension은 AWS Marketplace의 핵심적인 청구 단위이므로 명확하게 정의해두어야 이후 API 연동 시 정확한 사용량 보고가 가능합니다.

제품 수명주기 단계 (Product Lifecycle)

AWS Marketplace는 제품을 등록한 후에도 단계적으로 접근 범위를 조정할 수 있는 수명주기 관리 시스템을 제공합니다. 이를 잘 활용하면 초기 테스트부터 안정적인 공개 출시까지 체계적으로 운영할 수 있습니다.

  • Private (비공개): 내부 개발자 또는 파트너만 접근 가능한 상태로 등록 후 테스트 가능
  • Limited (제한 공개): 소수의 조기 고객 대상 베타 운영
  • Public (전체 공개): 전체 AWS Marketplace 고객에게 정식 공개
  • Suspended/Removed: 판매 중단 또는 삭제 상태

사전 준비 사항

이제 본격적인 제품 등록에 앞서 다음 사항을 준비해야 합니다:

  • AWS Marketplace Seller 등록 (회사 정보, 지급 정보, 세금 등록 등)
  • 제품 메타데이터 준비 (이름, 설명, 카테고리, 키워드, 지원 링크 등)
  • 계약 조건 정리 (SLA, 환불 정책 등)
  • API 연동 시스템 설계 (Fulfillment URL, ResolveCustomer API, Entitlement API, Metering API)
  • IAM 역할 및 권한 설정 (API 호출 권한)

SaaS 통합 API 연동 상세 프로세스

AWS Marketplace는 단순히 등록만으로 끝나지 않습니다. 실제 고객 프로비저닝부터 과금까지 모든 과정이 API 기반으로 통합되어야 합니다. 아래의 언급된 과정 중 Fulfillment URL 및 ResolveCustomer API 제외하면 SaaS 플랫폼의 성격에 따라 꼭 필수적으로 호출하지 않아도 됩니다. 자신의 요구사항에 맞게 공식문서를 참고해가며 구현하시길 바랍니다.

1️⃣ Fulfillment URL: 첫 번째 진입점

고객이 Marketplace에서 SaaS 상품을 구매하면 AWS가 자동으로 판매자의 Fulfillment URL로 고객을 리다이렉트합니다. 이때 HTTP Header를 통해 x-amzn-marketplace-token 이라는 토큰이 전달됩니다. 이 토큰은 고객의 구매 정보를 조회할 수 있게 해주는 핵심 키입니다.

저의 경우 Fulfillment URL를 aws의 API Gateway를 통해서 구현했습니다. 그리고 해당 API 연결된 Lambda에 Token 값을 전달해주고 Lambda 내부를 통해서 ResolveCustomer의 3가지 응답값과 함께 사내의 SasS 플랫폼으로 리다이렉팅 시키는 방식으로 구현했습니다. 공식 workshop의 경우에서도 이러한 설계를 권장하고 있습니다.

Fulfillment URL 호출 예시 (헤더 포함)

POST /fulfillment-endpoint HTTP/1.1
Host: your-saas-platform.com
x-amzn-marketplace-token: AbCdEfGhIjKlMnOpQrStUvWxYz123456
Content-Type: application/json

2️⃣ ResolveCustomer API 호출: 고객 정보 확인

토큰을 전달받은 SaaS 시스템은 즉시 ResolveCustomer API를 호출하여 구매 고객의 AWS Account ID와 ProductCode, CustomerIdentifier를 조회합니다.

{
  "RegistrationToken": "AbCdEfGhIjKlMnOpQrStUvWxYz123456"
}

ResolveCustomer API 응답 예시

{
  "CustomerIdentifier": "customer-xyz789",
  "ProductCode": "prod-abc123",
  "CustomerAWSAccountId": "123456789012"
}
  • 이 정보를 기반으로 SaaS 서버 내부에서 고객 계정 생성 및 권한 할당을 진행합니다.

3️⃣ Entitlement API: 라이선스 권한 검증

고객이 구매한 사용 가능 용량, 만료일 등 상세 권한을 확인하기 위해 Entitlement API를 호출합니다. 이 API는 다음과 같은 상황에서 반복 활용됩니다:

  • 최초 고객 온보딩 시 권한 확인
  • 고객 라이선스 갱신 시 권한 재검증
  • 내부 테스트 중 정상 구매 여부 검증

4️⃣ Metering API: 사용량 보고 및 과금

고객의 실제 서비스 이용량을 추적하여 AWS Marketplace에 보고해야 요금 청구가 가능합니다.

  • 실시간으로 이벤트 발생 시 호출하거나,
  • 주기적 집계 후 BatchMeterUsage API로 일괄 보고할 수도 있습니다.

Metering API 호출 예시

{
  "ProductCode": "prod-abc123",
  "CustomerIdentifier": "customer-xyz789",
  "Dimension": "APIRequests",
  "UsageQuantity": 1000,
  "Timestamp": "2024-06-30T23:59:59Z"
}

이처럼 Dimension 별로 사용량을 정리하여 보고하면 AWS Marketplace가 자동으로 과금 및 청구서 발행을 처리해줍니다.

제품 심사 및 승인 (Product Review)

모든 설정이 완료되면 AWS의 심사팀에서 최종 검증을 진행합니다. 연동 API 정상 작동 여부, 과금 설계의 적정성, 메타데이터의 충실성 등을 평가합니다. 심사가 통과되면 제품을 Public 상태로 전환하여 정식 판매를 시작할 수 있습니다. 보통 Limited -> Public으로 전환되는데 길게는 몇주까지도 걸리기도 합니다.

운영 및 관리

  • Private → Limited → Public 단계적 출시 가능
  • 신규 버전 릴리스 시에도 동일 수명주기 활용 가능
  • IAM 권한 및 API 통합 관리 주기적 점검 권장

마치며

AWS Marketplace SaaS 온보딩은 단순히 제품을 올리는 작업이 아닙니다. 프로비저닝 API 설계, 권한 검증 로직, 실시간 사용량 집계, 글로벌 과금 자동화까지 통합적으로 설계해야 하는 종합 시스템 구축입니다. 하지만 이 과정을 성공적으로 구축하면 전 세계 AWS 고객을 대상으로 안정적이고 확장 가능한 SaaS 비즈니스를 운영할 수 있습니다.