API Gateway의 REST API 사용량 계획 및 API 키
API를 생성, 테스트 및 배포한 후 API Gateway 사용량 계획을 사용하여 API를 고객을 위한 제품 혜택으로 제공할 수 있습니다. 고객이 선택한 API에 액세스할 수 있도록 사용 계획 및 API 키를 구성하고 정의된 제한 및 할당량에 따라 해당 API에 대한 요청 제한을 시작할 수 있습니다. API 또는 API 메서드 수준에서 설정할 수 있습니다.
사용량 계획과 API 키란 무엇인가?
사용 계획은 배포된 하나 이상의 API 단계 및 메서드에 액세스할 수 있는 사용자를 지정하고 선택적으로 요청 제한을 시작하도록 대상 요청 속도를 설정합니다. 계획은 API 키를 사용하여 API 클라이언트와 각 키에 대해 연결된 API 단계에 액세스할 수 있는 사용자를 식별합니다.
API 키는 앱 개발자 고객에게 API 액세스 권한을 부여하기 위해 배포하는 영숫자 문자열 값입니다. API 키를 Lambda 권한 부여자, IAM 역할 또는 Amazon Cognito와 함께 사용하여 API에 대한 액세스를 제어할 수 있습니다. API Gateway가 사용자 대신 API 키를 생성하거나, 사용자가 CSV 파일에서 API 키를 가져올 수 있습니다. API Gateway에서 API 키를 생성하거나, 외부 소스에서 API Gateway로 API 키를 가져올 수 있습니다. 자세한 내용은 API Gateway 콘솔을 사용하여 API 키 설정 단원을 참조하세요.
API 키는 이름과 값을 갖습니다. ("API 키"와 "API 키 값"은 종종 서로 바꿔 사용됩니다.) 이름은 1,024자를 초과할 수 없습니다. 값은 20~128자의 영숫자 문자열입니다(예: apikey1234abcdefghij0123456789
).
중요
API 키 값은 고유해야 합니다. 이름은 다르고 값은 동일한 두 개의 API 키를 생성하려고 하면 API Gateway는 이 두 키를 동일한 API 키로 인식합니다.
API 키는 하나 이상의 사용량 계획과 연결할 수 있습니다. 사용량 계획은 하나 이상의 단계와 연결할 수 있습니다. 그러나 지정된 API 키는 API의 각 단계에 대하여 단 하나의 사용량 계획에만 연결할 수 있습니다.
제한 한도는 요청 제한이 시작되어야 하는 대상 지점을 설정합니다. 이는 API 또는 API 메서드 수준에서 설정할 수 있습니다.
할당량 한도는 지정된 시간 간격 내에 제출할 수 있는 지정된 API 키로 최대 요청 수를 설정합니다. 사용량 계획 구성에 따라 API 키 권한 부여를 요구하도록 개별 API 메서드를 구성할 수 있습니다.
조절 및 할당량 한도는 한 가지 사용량 계획의 모든 API 단계에서 집계된 요청의 개별 API 키에 적용됩니다.
참고
사용량 계획 조절 및 할당량은 엄격한 제한이 아니며 최선으로 적용됩니다. 경우에 따라 클라이언트가 설정한 할당량을 초과할 수 있습니다. 비용을 제어하거나 API에 대한 액세스를 차단하기 위해 사용량 계획 할당량 또는 제한에 의존하지 마십시오. 비용을 모니터링하는 데 AWS Budgets를 사용하고 API 요청을 관리하는 데 AWS WAF 를 사용하는 것이 좋습니다.
API Gateway에서 사용량 계획 및 API 키를 구성하는 단계
다음 태스크에서는 사용량 계획 및 API 키를 구성하는 데 필요한 단계를 간략하게 설명합니다. 모범 사례는 API 키 및 사용량 계획의 위한 모범 사례 단원을 참조하세요.
사용량 계획 및 API 키를 구성하려면 다음을 수행하세요.
-
API를 만들고 각 API 메소드에 대해 API 키가 필요하도록 메소드 요청을 구성합니다. 그리고 나서 API를 스테이지에 배포합니다.
사용량 계획에 API 메서드를 포함하려면 개별 API 메서드에 API 키가 필요하도록 구성해야 합니다.
API 키를 요구하도록 메서드를 구성하는 방법에 대한 자세한 내용은 메서드에서 API 키 한 개 요구 섹션을 참조하세요.
-
API를 사용할 앱 개발자(고객)에게 배포할 API 키를 생성하거나 가져옵니다. 사용량 계획에는 API 키가 필요합니다.
API 키를 생성하거나 가져오는 방법에 대한 자세한 내용은 API 키 생성 섹션을 참조하세요.
-
원하는 제한 및 할당량 한도를 사용하여 사용량 계획을 생성한 다음 API 스테이지 및 API 키를 사용량 계획과 연결합니다.
사용량 계획을 생성하는 방법에 대한 자세한 내용은 사용량 계획 생성 섹션을 참조하세요.
API 호출자는 API에 대한 요청에서 x-api-key
헤더에 할당된 API 키를 제공해야 합니다.
사용량 계획을 생성하고 새 스테이지 및 API 키와 연결하는 전체 AWS CloudFormation 템플릿은 AWS CloudFormation를 사용하여 API 키와 사용량 계획을 생성하고 구성합니다. 섹션을 참조하세요.
API 키 및 사용량 계획의 위한 모범 사례
다음은 API 키 및 사용량 계획을 사용할 때 따를 수 있는 모범 사례입니다.
중요
-
API에 대한 액세스를 제어하기 위해 인증 또는 권한 부여에 API 키를 사용하지 않도록 합니다. 사용 계획에 API가 여러 개 있는 경우, 해당 사용 계획의 한 API에 대해 유효한 API 키가 있는 사용자는 해당 사용 계획의 모든 API에 액세스할 수 있습니다. 대신, API에 대한 액세스를 제어하려면 IAM 역할, Lambda 권한 부여자 또는 Amazon Cognito 사용자 풀을 사용합니다.
-
API 게이트웨이에서 생성되는 API 키를 사용합니다. API 키에는 기밀 정보가 포함되어서는 안 됩니다. 클라이언트에서는 일반적으로 로깅될 수 있는 헤더에 이를 전송합니다.
-
개발자 포털을 사용하여 API를 게시하는 경우, 지정된 사용량 계획의 모든 API를 고객에게 표시하지 않았더라도 고객이 구독할 수 있습니다.
-
경우에 따라 클라이언트가 설정한 할당량을 초과할 수 있습니다. 비용의 제어를 위해 사용 계획에 의존하지 마십시오. 비용을 모니터링하는 데 AWS Budgets를 사용하고 API 요청을 관리하는 데 AWS WAF를 사용하는 것이 좋습니다.
-
사용량 계획에 API 키를 추가한 후 업데이트 작업을 완료하는 데 몇 분 정도 걸릴 수 있습니다.