BLOG
AWS Marketplace SaaS Subscription 기능은 고객이 AWS를 통해 SaaS솔루션 사용량 찾고 가입하며 지불할 수 있게 합니다. 오늘은 이에 대한 개념, 통합 지점 및 시작 방법을 간단히 설명해 드리겠습니다. AWS Marketplace에 판매자로 등록하고 여기를 통해 판매자 포털에 액세스하면 자세한 정보를 확인할 수 있습니다.
AWS Marketplace SaaS 구독 서비스의 계량은 소비 기반이므로 시간당 요금으로 수행되거나 사용한 것에 대해 사용자에게 요금을 청구합니다. 예를 들어 SaaS 서비스가 웹 사이트를 관리하는 경우 웹 사이트 당 가격을 설정합니다. 1시간마다 서비스에서 관리중인 웹 사이트 수를 보고합니다. AWS는 수학을 수행하고 해당 시간 동안 고객의 청구서에 총액을 추가합니다.
AWS Marketplace SaaS 구독 서비스를 사용할 때는 요금을 청구할 사용량 유형을 결정해야합니다. 최상위 사용 유형은 “범주”라고 하며 호스트, 사용자, 데이터, 대역폭, 요청 또는 계층 일 수 있습니다. 이 때 하나의 카테고리만 선택할 수 있고, 범주 내에서 1 ~ 8 차원을 정의 할 수 있습니다. 측정 기준을 사용하면 카테고리 내에서 다른 사용을 구별할 수 있습니다 (예: 카테고리가 사용자인 경우 관리 사용자에 대한 측정 기준이 있고 사용자/시간당 $ 0.87, 사용자 당 $ 0.22에 청구되는 표준 사용자에 대한 요금이 부과될 수 있음).
SaaS 구독 서비스와 통합
카테고리, 차원 및 비용이 파악되면 SaaS 구독을 SaaS 서비스에 통합해야 합니다. 이 때 완료해야하는 세 가지 통합 작업이 있습니다.
고객 등록 – 고객이 AWS Marketplace에서 서비스에 가입하면 HTTP POST를 통해 등록 페이지로 리디렉션됩니다. POST 요청에는 x-amzn-marketplace-token 이라는 양식 필드가 있습니다. 이 토큰은 ResolveCustomer에 대한 AWS API 호출을 통해 사용되어 구독자의 고객 ID 및 구독 한 서비스의 제품 코드를 확인할 수 있습니다. 미터링 사용량을보고 할 때 필요하므로 등록 정보와 함께 이 정보를 저장해야 합니다.
사용 정보 보고 – 매 시간마다 각 고객의 사용 정보를 보고해야 합니다. BatchMeterUsage에 대한 API 호출을 통해 한 번 에 최대 25개의 계량 레코드를 전송하여 이를 수행합니다. 차원 당 고객 당 1개의 레코드를 보냅니다. 각 통화에는 고객 ID, 차원 이름, 사용 수량 및 UTC 타임 스탬프가 포함됩니다.
구독 이벤트 처리 – 고객이 서비스를 구독하거나 구독을 취소하면 서비스를 위해 AWS가 생성 한 SNS 주제로 메시지가 전송됩니다. SQS 대기열을 주제에 가입한 다음 대기열에서 메시지를 읽는 것이 좋습니다. 이렇게 하면 서비스를 사용할 수 없는 경우에도 메시지가 손실되지 않습니다. 처리해야 할 가장 중요한 이벤트는 구독 취소 입니다. 고객에게 이 정보를 받으면 1 시간 동안 최종 사용량을 보고해야 합니다. 한 시간 후에는 구독 취소 메시지가 표시 되며 이 시점에서 해당 고객에 대해 더 이상 계량 기록을 보낼 수 없습니다.
그림 1: SaaS 구독 통합 지점
시작하기
개발 작업을 시작하기 전에 AWS Marketplace에서 제품을 생성해야 합니다. 이렇게 하려면 AWS Marketplace Management Portal (AMMP) 의“Listings” 탭에 있는 셀프 서비스 리스팅을 사용해야 합니다. AMMP에 액세스하기 위해 아직 등록하지 않은 경우 먼저 포털에 액세스하려면 가입해야합니다. 새 SaaS 구독 제품을 생성하려면 AMMP에 로그인하고 ” 리스팅 ” 탭으로 이동하여 “새 제품 생성” 상자를 찾은 다음 드롭 다운에서 “SaaS 구독”을 선택하십시오. 그런 다음 업체 정보를 작성하는 데 도움이 되는 일련의 웹 양식을 안내합니다.
양식을 작성, 검토 및 제출하면 AWS Marketplace 운영 팀이 서비스를 위한 제품 목록을 생성하고 SNS 주제와 함께 제품 코드를 보냅니다. 제품을 검토 할 준비가 되면 목록은 셀프 서비스 목록의 “요청” 영역에 “승인 필요” 상태로 표시됩니다. 그런 다음 요청을 클릭하여 제품 코드, 가격 정보, 제한된 미리보기 목록 등을 볼 수 있습니다. 이 제품은 개발 작업을 완료하고 공개 할 준비가 될 때까지 제한된 미리보기로 숨겨져 있습니다.
판매자 대 생산 계정
AWS Marketplace에 제품 또는 SaaS 서비스를 나열하려면 AWS 계정을 판매자 계정으로 등록해야 합니다. 판매자 계정은 하나만 가질 수 있으므로 이 용도로만 새 계정을 만드는 것을 고려해 주십시오.
판매자 계정에서 AWS API 호출을 인증해야 합니다. 판매자 계정에서 프로덕션 코드를 호스팅하거나 프로덕션 코드에 비밀/액세스 키를 포함시키는 대신 교차 계정 AWS Identity and Access Management(IAM) 역할 사용을 고려해야합니다. 교차 계정 IAM 역할을 통해 판매자 계정과 다른 계정에 프로덕션 코드를 가질 수 있습니다. 보안 경계를 유지하거나 나열할 제품이 여러 개인 경우 매우 유용합니다.
테스팅
통합을 구축할 때는 테스트 고객으로 사용할 수 있는 여러 AWS 계정이 있어야합니다. 개발 과정에서 제품 목록 페이지가 숨겨져 있으므로 AWS Marketplace 운영 팀에 제품을 볼 수 있는 특정 AWS 계정을 인증하도록 지시해야 합니다. 셀프 서비스 목록에서 제품을 생성할 때 “가격” 탭의 “허용된 계정” 필드에 권한을 부여하여 추가 AWS 계정을 식별할 수 있습니다. AWS 계정이 인증되면 해당 계정을 사용하여 제품을 구독하고 테스트를 수행할 수 있습니다.
프로덕션 코드와 다른 환경에서 구독 워크 플로, 미터링 및 이벤트 처리를 테스트할 수 있도록 테스트 제품을 설정하고자 할 수도 있습니다. 테스트 제품을 생성하려면 셀프 서비스 목록을 사용하여 다른 SaaS 제품을 생성하고 제출하여 제품 제목에 테스트 버전임을 표시하십시오.
요약
SaaS 구독과 통합하려면 AWS Marketplace에 판매자로 등록하고 SaaS 제품을 생성해야 합니다. 완료할 고객 등록, 고객 사용 보고 및 구독 이벤트 처리의 세 가지 통합이 있습니다. 자세한 내용은 AWS Marketplace SaaS 구독 페이지를 방문해 주시기 바랍니다. .
** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.