연습 - API 요청 제한

완료됨

API Management에서는 정책을 사용하여 조절(속도 제한)을 구현합니다.

정부 기관에서는 대량 요청과 같은 API 남용을 방지하고자 한다는 점을 기억하세요.

이 단원에서는 인구 조사 API를 호출할 수 있는 빈도에 대한 제한을 설정하는 방법을 배웁니다. 이 예시에서 한도는 모든 인구 조사 API 엔드포인트에 전역적으로 적용됩니다.

속도 제한 정책 적용

API Management 내에서 제한 정책을 적용하려면 다음 단계를 수행합니다.

  1. 이전 연습에서 사용한 것과 동일한 계정을 사용하여 Azure portal에 로그인합니다.

  2. Azure portal 메뉴 또는 페이지에서 모든 리소스를 선택한 다음 API Management 인스턴스를 선택합니다.

  3. 왼쪽 메뉴 창의 API에서 API를 선택하고 가운데 창에서 인구 조사 데이터를 선택합니다.

  4. 위쪽 메뉴 모음에서 디자인 탭을 선택한 다음, 모든 작업을 선택합니다.

  5. 인바운드 처리 섹션에서 </> 아이콘을 선택합니다. XML 정책 편집기가 나타납니다.

    인바운드 처리 섹션에서 정책 아이콘이 강조 표시된 디자인 탭의 스크린샷

  6. 전체 <inbound> 요소를 다음 코드로 바꿉니다.

    <inbound>
        <rate-limit calls="3" renewal-period="15" />
        <base />
    </inbound>
    
  7. 저장을 선택합니다.

정책 파일에는 다음 코드와 유사한 세 가지 정책이 모두 포함되어 있어야 합니다.

<policies>
    <inbound>
        <rate-limit calls="3" renewal-period="15" />
        <base />
    </inbound>
    <backend>
        <base />
    </backend>
    <outbound>
        <set-header name="x-powered-by" exists-action="delete" />
        <redirect-content-urls />
        <base />
    </outbound>
    <on-error>
        <base />
    </on-error>
</policies>

참고

이 예제에서는 각 섹션 내의 정책 순서가 중요하지 않습니다.

정책 테스트

이제 제한 정책이 작동하고 있는지 확인해 보겠습니다.

  1. 인구 조사 데이터를 다시 선택하고 위쪽 메뉴 모음에서 테스트 탭을 선택합니다.

  2. GetLatestCensus 작업을 선택한 다음, 보내기를 연속해서 세 번 선택합니다.

  3. 세 번째로 요청을 보내면 429 오류(요청이 너무 많음) 응답이 표시됩니다.

    429 너무 많은 요청 오류를 보여 주는 HTTP 응답의 스크린샷