SaaS 계약을 제품과 통합 pay-as-you-go - AWS Marketplace

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

SaaS 계약을 제품과 통합 pay-as-you-go

제품 AWS Marketplace 통합은 한 단계만 거치면 됩니다. SaaS 제품 생성 SaaS (Software as a Service) 계약 제품과 AWS Marketplace통합하려면 코드를 작성하고 이 제품이 여러 고객 시나리오에 성공적으로 대응할 수 있음을 입증해야 합니다. 다음 섹션에서는 이러한 시나리오와 대응 방법을 설명하고, 통합 테스트의 개요를 제공합니다.

참고

시작하기 전에, AWS Marketplace에서 서비스형 소프트웨어(SaaS) 제품에 적합한 요금 모델을 선택했는지 확인합니다. 자세한 정보는 SaaS 제품 계획을 참조하세요.

시나리오: 서비스가 신규 고객 검증

고객이 제품을 구독하면 고객은 판매자의 등록 URL로 리디렉션되며, 등록 URL은 임시 x-amzn-marketplace-token 토큰이 포함된 HTTP POST 요청입니다. 다음과 같은 방법으로 이 요청에 응답합니다.

  1. AWS Marketplace Metering Service에서 ResolveCustomer API 작업을 호출하여 토큰을 CustomerIdentifier, CustomerAWSAccountIdProductCode로 교환합니다.

  2. AWS Marketplace Entitlement Service에서 GetEntitlements 작업을 호출하여 고객이 액세스할 수 있는 구독 및 수량(해당하는 경우)을 확인합니다.

  3. 향후 호출에 대비하여 시스템에서 CustomerIdentifier, CustomerAWSAccountIdProductCode를 유지합니다. 고객의 구독이 유효한지 여부와 고객에 대해 필요한 정보를 저장합니다.

  4. 요청에 대한 응답으로 사용자의 첫 사용 경험(서비스에 해당하는 경우)을 보여주어야 합니다.

시나리오: 서비스가 고객 요청 처리

고객이 서비스에 요청을 하면 적절한 작업 또는 메시지로 다음 시나리오에 대응해야 합니다.

  • 시스템에 고객 ID가 없습니다. 아직 제품을 구독하지 않았다는 뜻입니다. 구독 방법을 설명하는 메시지를 보내야 합니다.

  • 고객 ID가 있으며 GetEntitlements API 작업에서 적절한 권한을 반환합니다. 이 시나리오에서는 요청을 이행해야 합니다.

  • 고객 ID가 있지만 GetEntitlements API 작업에서 권한을 반환하지 않거나 요청을 이행하기에는 수량이 충분하지 않습니다. 이 시나리오에서는 액세스를 처리하고 고객 경험을 관리하는 방법을 결정해야 합니다.

시나리오: 사용량 측정

고객이 서비스를 사용하기 시작하면 매시간 측정 기록을 보내야 합니다. 자세한 측정 방법은 사용량 측정 섹션을 참조하십시오.

결제 정보가 수신되고 있는지 확인하기 위해 활동을 모니터링하는 데 사용하는 AWS CloudTrail 것이 좋습니다. AWS측정 레코드를 전송할 때 다음 사항에 유의하십시오.

  • 측정 요청은 정시에 중복 제거됩니다.

  • 매 시간마다 전송된 레코드는 누적됩니다.

  • 지난 시간 동안 레코드가 없더라도 1시간마다 사용량으로 0으로 하여 측정 레코드를 보내는 것이 좋습니다.

시나리오: 사용자 권한 변경 모니터링

Amazon Simple Queue Service(Amazon SQS) 대기열을 설정하고 제품의 Amazon SNS 주제를 구독합니다. 두 가지 SNS 주제가 있는데, 하나는 권한 변경에 대한 것이고 다른 하나는 구독 변경에 대한 것입니다. 제품 생성 시 AWS Marketplace 셀러 오퍼레이션 팀으로부터 받은 이메일 메시지에 주제 정보가 포함되어 있습니다. 자세한 정보는 SaaS 제품 생성을 참조하세요. SNS 주제를 구독하면 특정 고객의 액세스 권한 제공 또는 취소를 포함하여 고객 구독 변경 사항에 대한 알림을 받게 됩니다.

참고

구독 변경을 위한 SNS 주제 Amazon 리소스 이름(ARN)은 arn:aws:sns:us-east-1:<account id>:aws-mp-subscription-notification-<product code> 형식입니다. 권한 변경을 위한 SNS 주제 ARN은 arn:aws:sns:us-east-1:<account id>:aws-mp-entitlement-notification-<product code> 형식입니다.

응답해야 하는 알림은 다음과 같습니다.

  • 자격 SNS 주제의 entitlement-updated - 고객 권한이 변경되었으므로, 새 상태를 보려면 GetEntitlements API 작업을 호출해야 합니다. 고객 스토어를 업데이트하고, 해당하는 경우(예: 고객 계약 만료) 방침에 따라 고객 리소스를 종료하고 보존 정책을 준수합니다.

  • 구독 SNS 주제의 subscribe-success - 고객이 구독하고 있으며, 고객 ID를 대상으로 성공적으로 측정할 수 있습니다.

  • 구독 SNS 주제의 unsubscribe-pending - 고객이 구독을 해지하는 중입니다. 마지막 측정 기록을 모두 보내야 합니다.

  • 구독 SNS 주제의 unsubscribe-success - 고객이 구독을 해지했습니다. 고객의 측정 기록은 더 이상 수락되지 않습니다. 방침에 따라 고객 리소스를 종료하고 보존 정책을 준수합니다.

  • 구독 SNS 주제의 subscribe-fail - 고객 구독이 실패했습니다. 고객 ID를 기준으로 측정하거나 고객을 대신하여 리소스를 활성화하면 안 됩니다.

참고

자세한 내용은 권한 부여 확인 섹션을 참조하세요.

SaaS 계약 제품 통합 테스트

계약을 pay-as-you-go AWS Marketplace제품과 통합한 후에는 심층 테스트를 수행하여 통합이 성공적으로 이루어졌는지 확인해야 합니다. 다음 절차에서는 제품 통합을 확인하는 단계를 간략하게 설명합니다.

참고

본인의 계정을 사용하여 본인의 제품을 구독하고 통합이 성공적인지 테스트하세요. 가격을 일시적으로 인하하면 계정에 많은 요금이 부과되지 않고 구매 흐름을 테스트할 수 있습니다. 가격을 일시적으로 인하하거나 추가 테스트 계정에서 제품에 액세스할 수 있도록 허용하는 방법에 대한 자세한 내용은 AWS Marketplace 판매자 운영 팀에 문의하세요.

제품이 출시된 후에도 서비스가 계속해서 신규 고객의 이러한 시나리오에 계속 대응해야 합니다.

  1. 허용된 계정을 사용해 제품에 대한 계약을 가져와서 고객 경험을 테스트합니다.

  2. 계정에 계약이 있으면 계정이 등록 URL로 리디렉션되고 리디렉션이 임시 토큰을 포함하는 POST 요청인지 확인합니다. 애플리케이션이 향후 호출을 위해 고객 ID를 유지하고 고객이 보유한 권한을 올바르게 처리하는지 확인합니다. 이것은 시나리오: 서비스가 신규 고객 검증의 일부를 테스트합니다.

  3. 이전 단계에서 테스트 계정을 확인한 후 애플리케이션에 계정을 온보딩합니다. 예를 들어 테스트 고객이 양식을 작성하게 하여 새 사용자 계정을 생성할 수 있습니다. 또는 SaaS 애플리케이션에 액세스하기 위한 다음과 같은 다른 단계를 제공합니다. 이것은 시나리오: 서비스가 신규 고객 검증의 일부를 테스트합니다.

  4. 온보딩 또는 진행 중인 검증 과정 중에 GetEntitlements API 작업에서 권한이 반환되지 않으면 애플리케이션에서 권한 없는 사용자의 액세스 권한과 경험을 올바르게 관리해야 합니다. 이것은 시나리오: 서비스가 고객 요청 처리을 테스트합니다.

  5. 테스트 고객을 등록한 후에는 에서 BatchMeterUsage API 작업을 사용하여 청구 AWS 목적으로 계량 기록을 보내도록 요청하십시오. AWS Marketplace Metering Service이것은 시나리오: 사용량 측정을 테스트합니다.

  6. 구독 변경 사항을 테스트합니다. 애플리케이션이 구독 해지, 구독 성공 및 구독 실패 시나리오를 제대로 처리하는지 확인합니다. 이것은 시나리오: 사용자 권한 변경 모니터링을 테스트합니다.

  7. 통합 요구 사항을 모두 완료하고 솔루션을 테스트한 후 AWS Marketplace 셀러 운영 팀에 알리십시오. 그러면 이 팀은 판매자가 GetEntitlements API 작업을 성공적으로 호출하고 신규 고객을 충분히 온보딩했는지 확인하여 솔루션을 테스트합니다. 또한 판매자가 BatchMeterUsage API 작업을 통해 측정된 레코드를 성공적으로 전송했는지 확인합니다.

통합 및 테스트가 완료되면 최종 검토를 수행하고 일반에 상품을 등록할 수 AWS Marketplace있습니다. 자세한 내용은 SaaS 제품 생성을(를) 참조하세요.