Kong Manager 에서 Rate Limit 적용하기
Kong Manager 에서 rate limit 을 적용하는 것은 API의 요청 수를 제한하여 서비스의 안정성과 성능을 높이는 데 유용한 기능입니다.
최근 많은 서비스가 API를 기반으로 제공되고 있는데, API 서버에 과도한 요청이 몰리면 당연히도 장애나 성능 저하가 발생할 수 있습니다. 이를 방지하기 위해 Kong과 같은 API Gateway에 rate limit 기능을 사용하면, 특정 기간 동안의 요청 수를 제한하여 API 서버로 유입되는 트래픽량을 조정할 수 있습니다.
이 포스트에서는 Kong Manager를 사용하여 rate limit을 설정하는 전반적인 절차에 대해서 알아보도록 하겠습니다. Kong을 통한 rate limit 적용은 API 안정성 확보를 위한 필수 기능이라고 볼 수 있습니다.
목차
1. 전제 조건
2. Kong Manager 에서 Rate Limit 플러그인 추가
3. Rate Limit 테스트하기
1. 전제 조건
이 포스트에서는 미리 준비한 서비스가 있고, 해당 서비스에 rate limit을 적용시키도록 합니다.
- Kong Version 3.6.1
아래는 미리 준비한 Gateway Service와 Route 입니다:


2. Kong Manager 에서 Rate Limit 플러그인 추가
Kong Manager 를 사용하면 rate limit을 적용하는 것은 어렵지 않습니다. 먼저 Kong Manager에 접속합니다.
Gateway Services 탭에서 rate limit을 적용시킬 서비스를 클릭한 뒤, Plugins 를 클릭하고 New Plugin 버튼을 클릭합니다.

New Plugin 버튼을 클릭하면 다양한 플러그인이 나타나는데, 상단 Filter plugins 검색을 클릭하여 “rate-limiting”을 검색합니다. 아래와 같이 Rate Limiting 플러그인이 나타나는데, 해당 플러그인을 클릭합니다.

Rate limiting을 클릭하면 아래와 같이 rate limit을 정할 수 있습니다.

Kong 은 요청 수 제한을 초, 분, 시, 월, 년으로 제한할 수 있습니다.
이 테스트에서는 간단하게 분 당 3개의 요청만 허용하도록 Minute 옵션을 3으로 설정하겠습니다.

설정을 마쳤다면, 아래의 Save 버튼을 클릭하여 저장합니다.
3. Rate Limit 테스트하기
Kong Manager 로 설정한 rate limit은 분당 3개의 요청만 허용하도록 설정했습니다.

Rate lmiting 플러그인 설정에 Error Code 429를 응답하고 Error Message “API rate limit exceeded”라는 문구를 띄운다는 설정이 있습니다. 따라서 1분 이내에 3개 이상의 요청을 보냈을 때, 4번째 요청부터 차단되는 것을 확인합니다.
정상 응답:

Rate limit에 의해 차단된 응답:

개발자 도구를 사용하여 status code도 확인해보면 플러그인에서 설정한 것과 같이 429 code를 응답하는 것을 확인할 수 있습니다.

Kong Gateway에서 Rate Limit에 대한 자세한 내용은 여기를 클릭하여 확인하세요.
Kog Manager에 대한 기술지원 및 컨설팅이 필요하신 경우 NGINX STORE에 연락하여 논의하십시오.
댓글을 달려면 로그인해야 합니다.