<ph type="x-smartling-placeholder"></ph>
현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서. 정보
학습할 내용
이 가이드에서는 다음 방법을 배웁니다.
- 요청 및 응답에 영향을 주는 정책을 추가합니다.
- 정책 효과를 확인합니다.
필요한 항목
- 프록시에 있는 하나 이상의 정책(또한 시작하기 가이드의 일부)
- 명령줄에서 API 호출을 수행하기 위해 머신에 설치된
curl
Spike Arrest 정책 추가
이 가이드에서는 사용량 증가, 클라이언트 버그, 악의적인 공격으로 인해 발생할 수 있는 갑작스러운 트래픽 증가로부터 대상 서비스를 보호하기 위해 SpikeArrest 정책을 추가하고 구성합니다. 요청 수가 비율 한도를 초과하면 API가 요청에 대해 HTTP 500 오류를 반환합니다.
Spike Arrest 정책을 API 프록시에 추가합니다.
- apigee.com/edge에 로그인합니다.
- 왼쪽 탐색 메뉴에서 개발 > API 프록시를 선택합니다.
- Spike Arrest 정책을 추가하려는 API 프록시를 선택합니다.
시작하기 가이드를 따른 경우 API 프록시 만들기에서 만든 'getstarted' 프록시에 추가할 수 있습니다.
- 새 API 프록시에 대해 편집기에서 개발 탭을 클릭합니다.
API 프록시 편집기를 사용하면 API 프록시 구조를 보고 해당 흐름을 구성할 수 있습니다. 편집기는 프록시의 요청 및 응답 메시지 흐름을 시각적으로 보여주고 프록시를 정의하는 기본 XML에 대해 편집 가능한 화면을 표시합니다.
- 왼쪽 탐색 창의 프록시 엔드포인트 > 기본값 아래에서 PreFlow를 클릭합니다. (다른 가이드에서는 흐름 개념이 다뤄집니다.)
- 요청 PreFlow에 따라 맨 위에 있는 +단계 버튼을 클릭합니다. 그러면 만들 수 있는 모든 정책이 카테고리별 목록으로 표시됩니다.
- 트래픽 관리 카테고리에서 Spike Arrest를 선택합니다. 새 정책 대화상자가 표시됩니다.
- 기본 이름을 그대로 두고 추가를 클릭합니다. 새 정책이 요청의 PreFlow 흐름에 연결됩니다.
- 탐색기에서 프록시 엔드포인트 > 기본값 아래의 PreFlow가 아직 선택되어 있는지 확인하고 API 프록시 편집기에서 다음을 확인합니다.
- 새 Spike Arrest-1 정책이 API 프록시 편집기의 왼쪽에 있는 탐색기의 정책 아래에 추가됩니다.
- Spike Arrest-1 아이콘이 API 프록시 편집기의 위쪽 가운데에 있는 디자이너 보기에 추가되고, 프록시의 메시지 흐름을 시각적으로 보여줍니다.
- 정책의 XML이 API 프록시 편집기의 아래쪽 가운데에 있는 코드 보기에 표시됩니다.
- 탐색기에서 정책 아래에 있는 스파이크 급증-1을 선택하고 API 프록시 편집기에서 다음을 확인합니다.
- 정책 세부정보가 API 프록시 편집기의 위쪽 가운데에 있는 디자이너 보기에 표시됩니다.
- 정책의 XML이 API 프록시 편집기의 아래쪽 가운데에 있는 코드 보기에 표시됩니다.
- 정책의 XML 요소 및 속성값이 API 프록시 편집기의 오른쪽에 있는 속성 검사기에 표시됩니다.
-
정책의 XML에서
<Rate>
요소의 값을 1pm(클라우드에서 60초마다 약 2개 요청 허용)으로 변경합니다.분(
pm
)당 또는 초(ps
)당 정수 값으로 비율을 지정할 수 있습니다. 이것은 매우 낮은 한도이며 정책 설명을 위해 이 가이드에서만 사용됩니다. 일반적으로는 훨씬 더 큰 한도로 설정합니다.속성 검사기에서
Rate
값도 '1pm'으로 변경됩니다. 또한 속성 검사기에서 비율 값을 변경할 수 있으며, XML 보기에 반영됩니다. - 저장을 클릭하여 변경사항과 함께 현재 수정 버전을 저장합니다.
-
Call the API using
curl
을 사용하여 API를 호출하고 org_name을 Apigee 조직 이름으로 바꿉니다. 드림curl "http://org_name-test.apigee.net/getstarted"
예를 들면 다음과 같습니다.
curl "http://ahamilton-eval-test.apigee.net/getstarted" | python -m json.tool
요청이 성공하고 XML 응답이 이전과 동일하게 표시되는지 확인합니다. (또한 웹브라우저에 URL만 입력할 수도 있습니다.)
curl
명령어를 1분 이내에 2~3회 실행(또는 브라우저 창을 새로고침)하고 정책의 비율 한도를 초과했으므로 다음 메시지가 표시되는지 확인합니다.{ "fault": { "faultstring":"Spike arrest violation. Allowed rate : 1pm", "detail": { "errorcode":"policies.ratelimit.SpikeArrestViolation"} } }
1분 내에 호출을 더 시도하면 오류 메시지가 계속 표시됩니다.
- 정책을 편집해서 <
Rate>
한도를 15pm(클라우드에서 4초마다 약 2회 호출 허용)으로 변경하고, API 프록시를 저장합니다. curl
명령어를 실행하거나 브라우저를 반복해서 새로고침합니다(curl
이 더 빠름). 4초 간격 내에 1~2회 호출을 시도하면 호출이 성공합니다. 4초 내에 2회 이상으로 호출을 더 빠르게 시도하면 오류가 발생합니다. 하지만 1pm 설정의 경우처럼 1분 동안 차단되는 것과 반대로 4초 간격이 지날 때마다 계속 호출을 수행할 수 있습니다.