Amazon API Gateway, API 사용량 설정 기능 추가
작년에 Amazon API Gateway를 정식 공개하고, 개발자들이 웹 서비스, 모바일 백엔드 및 IoT 애플리케이션을 구축할 때 활용할 수 있게 되었습니다. 다양한 AWS 고객들이 AWS Lambda, Amazon Elastic Compute Cloud (EC2), 및 AWS 외부의 서버를 통해 직접 API를 만들고 서비스 하고 있습니다.
대부분의 경우, 고객들이 외부의 제 3자 개발자나 파트너사에 API를 제공해 주고자 합니다. API 게이트웨이에서는 이를 위해 각 사용자별 API 키를 생성할 수 있는 기능이 있습니다.
API키를 통해 사용자를 인식하고, 그 사용자가 어떤 배포 단계의 어떤 API를 사용 가능한지 접근 권한을 설정할 수 있으며, 이를 통해 제 3자 개발자 및 파트너사가 제공 API를 활용하여 자체적인 비지니스 모델을 구축할 수 있도록 사용량 설정 기능이 제공될 필요가 있습니다.
신규 사용량 설정(Usages Plan) 기능
이를 위해 신규로 사용량 설정(Usage Plans) 기능을 공개합니다. 이를 통해 API 게이트웨이를 통해 제공되는 API에 대해 사용량을 지정함으로서 수익을 창출 할 수도 있고, 다양한 생태계를 구축할 수 있습니다. 각 API 사용자 별로 다른 등급의 사용량을 설정할 수 있습니다. (예를 들어, 초급, 중급 고급 혹은 학생, 개인, 스타트업, 기업 같은 사용자 분류 등). 각 사용량 설정 시, 아래 API 측면을 통해 정의할 수 있습니다.
- 비율(Throttling) –초당 평균 호출량 같은 호출 비율 및 용량에 따른 설정
- 할당량(Quota) – 하루 혹은, 주당, 월간 호출 사용량에 따른 설정
- API / 단계 – 접근할 수 있는 API 단계 (오픈 API 혹은 제휴용 API)
사용량 설정을 하려면, 각 API를 사용량 설정과 연계시켜야 합니다. 우선 기본 사용량 설정이 각 API에 자동으로 연계되며, 아래 창이 나타날 경우, Enable Usage Plan을 클릭하면 됩니다.
기본 사용량 설정은 사용량이나 비율에 대한 제한이 없으며, 현재 API 서비스에 영향을 주지 않습니다.
사용량 설정 만들기
이제 직접 사용량에 대한 설정을 해보도록 하겠습니다. API Gateway 콘솔을 열고, Usage Plans을 선택하고 Create를 누릅니다. 이름과 간단한 설명을 입력 한후, 제한할 비율 및 용량 설정을 합니다.
비율 제한은 Token Bucket 모델을 따릅니다. 버킷은 버스팅 값에 정해진 토큰 숫자만큼 가질 만큼 충분한 용량을 가지고 있습니다. 이제 Next를 눌러 사용량 설정과 연계할 API와 API 서비스 스테이지를 선택합니다.
이제 Next를 눌러 설정 생성을 한 후, 기존 API 키를 연계하거나 새로 만들 수 있습니다.
기존 API 키에 사용량 설정을 연계하면, 하나의 키에 여러 개 설정을 중북으로 지정할 수 없기 때문에 기존 기본 설정은 지워집니다.
API 키를 각 설정에 연계 한 후, Done를 선택합니다.
이제 API 키 사용자가 API 호출을 시작하면, 여러분이 정한 사용량 설정에 따라 제한량에 따라 사용할 수 있습니다. 각 API 키의 사용량은 Usage에서 확인할 수 있습니다.
사용량 제한은 실시간으로 반영되고, 데이터 표시는 30분 이후에 이루어 집니다. Export Usage Data를 클릭해서 사용량 데이터를 다운받을 수 있습니다.
이제 API 키 사용자에게 원하는 용량을 제공할 수 있고, 필요에 따라 호출 기반 과금 모델을 만들 수도 있게 되었습니다.
사용자가 여러분의 API을 매우 잘 활용하고 있고, 사용량 제한에 근접하는 경우, 계속 사용하도록 허용하고 싶으시다면 Extension을 눌러서 남아 있는 기간 동안 사용량 값 제한을 손쉽게 늘려 줄 수 있습니다.
사용량 설정을 통한 서비스 모델 구축
이전에 말씀 드린 대로 사용량 설정을 통해 API 키 사용자에 대해 다양한 서비스 모델을 구축할 수 있습니다. 개발용, 제휴용, 오픈용 등을 나눠서 과금 혹은 무료 API 서비스를 설계할 수 있습니다.
마지막으로 꼭 말씀 드리고 싶은 것은 API키는 신원 확인용이지 보안 인증용이 아닙니다. API 키를 가지고 로그인을 한다거나 보안용 수단으로 사용하지 않기를 권장합니다. (이를 위해서는 Cognito 사용자 풀 기능을 활용하셔야 합니다.)
정식 공개
본 기능은 오늘 부터 API Gateway를 지원하는 모든 리전에서 사용 가능합니다.
— Jeff;
이 글은 New – Usage Plans for Amazon API Gateway의 한국어 번역으로서, AWS Summit 뉴욕 행사에서 신규로 공개한 소식입니다.
Leave a Reply