서비스 비율 제한 개요

서비스 비율 제한 정책을 사용하면 과도한 양의 리소스를 사용할 수 있는 신뢰할 수 있는 클라이언트 간에 서비스 가용성을 유지할 수 있습니다. 이러한 정책은 서비스 과부하 중에 필수 클라이언트 트래픽의 우선순위를 지정하고 미리 정의된 기준점을 초과하는 클라이언트를 제한하여 이를 달성합니다.

서비스 비율 제한 정책을 Cloud Armor 보안 정책과 같은 다른 유형의 비율 제한과 결합하여 신뢰할 수 없는 클라이언트를 명시적으로 금지하여 악용을 방지할 수 있습니다. 보안 정책에 대한 자세한 내용은 보안 정책 개요 및 Cloud Armor 비율 제한 개요를 참조하세요.

지원되는 부하 분산기의 전달 규칙 또는 Secure Web Proxy 게이트웨이 리소스에 서비스 비율 제한 정책을 연결합니다. Secure Web Proxy 인스턴스에서 서비스 비율 제한 정책을 사용하는 방법에 대한 자세한 내용은 서비스 비율 제한 정책 구성을 참조하세요.

지원되는 대상

서비스 비율 제한 정책은 다음 대상에 사용할 수 있습니다.

  • 리전 내부 애플리케이션 부하 분산기
  • Secure Web Proxy

요청 필터링 순서

서비스 비율 제한 정책은 요청에 적용되는 필터 유형 중 하나일 뿐입니다. 다음 다이어그램은 필터가 적용되는 순서를 보여줍니다.

요청 필터링의 평가 순서입니다.
요청 필터링 평가 순서 (확대하려면 클릭)

규칙

각 서비스 비율 제한 정책에는 HTTP 규칙 목록이 포함되어 있습니다. 각 규칙은 일치 조건과 비율 제한 작업 집합을 지정합니다. 요청이 규칙의 일치 조건을 충족하면 구성된 비율 제한 버킷 중 하나 이상에 대해 요청이 평가됩니다.

일치 조건

일치 조건과 속성은 다음과 같습니다. 각 속성은 정확한 문자열, 프리픽스, 서픽스 또는 하위 문자열과 일치할 수 있습니다.

  • Source: 요청의 소스입니다.
    • principal: 클라이언트 인증서에서 파생된 ID 목록입니다. 주 구성원이 규칙과 일치하면 일치가 발생합니다. 서비스 비율 제한에 주 구성원을 사용하는 방법에 대한 자세한 내용은 서비스 비율 제한에 주 구성원 사용을 참조하세요.
  • Destination: 요청의 대상입니다. 여러 속성을 지정하면 논리적 AND 연산자로 결합됩니다.
    • header_set: HTTP 헤더 목록입니다. header_set의 모든 헤더가 규칙과 일치하면 일치가 발생합니다.
    • hosts: HTTP 호스트 목록입니다. 요청이 목록에 있는 지정된 호스트 중 하나 로 이동하면 일치가 발생합니다.
    • paths: URL 경로 목록입니다. 요청이 목록에 있는 지정된 경로 중 하나 를 사용하면 일치가 발생합니다.
    • methods: 유효한 HTTP 메서드 목록 (예: GET 또는 POST)입니다. 요청이 목록에 있는 지정된 메서드 중 하나 를 사용하면 일치가 발생합니다.

소스 및 대상 속성은 논리적 AND 연산자로 결합되어 규칙이 요청과 일치하는지 확인합니다. 즉, 소스와 대상을 지정하면 요청이 일치 조건을 충족하려면 둘 다 일치해야 합니다. 또한 빈 규칙은 모든 요청과 일치합니다.

규칙 평가 순서

규칙은 정책에 정의된 첫 번째 규칙부터 정책에 정의된 마지막 규칙까지 순서대로 평가됩니다. 요청과 일치하는 첫 번째 규칙은 비율 제한 작업을 요청에 적용하며 추가 규칙은 평가되지 않습니다. 규칙에 여러 비율 제한 작업이 있고 그중 하나라도 구성된 기준점을 초과하면 요청이 제한됩니다.

비율 제한 버킷

하나 이상의 비율 제한 버킷을 구성합니다. 각 버킷에는 하나 이상의 비율 제한 키가 있습니다. 요청이 규칙의 일치 조건과 일치하면 구성된 비율 제한 버킷 중 하나 이상에 대해 요청이 평가됩니다. 그런 다음 버킷은 구성된 비율 제한 키를 적용하여 개별 클라이언트를 식별하고 제한을 적용합니다.

키 유형 외에도 다음 버킷 속성을 구성할 수 있습니다.

  • 드라이 런: 드라이 런 모드에서는 규칙이 평가되고 일치가 추적되지만 규칙 작업은 적용되지 않습니다. 이렇게 하면 클라이언트를 제한하거나 프로덕션 트래픽에 영향을 주지 않고 비율 제한 규칙을 테스트할 수 있습니다.
  • 사용자 재정의: 특정 키 값의 기본 요청 한도를 재정의할 수 있습니다. 예를 들어 클라이언트당 분당 100개의 요청이라는 기본 한도가 있는 버킷이 있고 이 버킷이 SOURCE_IP 키 유형을 사용하는 경우 특정 IP 주소의 한도를 재정의하고 대신 분당 200개의 요청이라는 한도를 적용할 수 있습니다.

키 유형

요청을 집계하고 비율 제한을 적용하기 위해 다음 키 유형을 사용하여 비율 제한을 적용할 개별 클라이언트를 식별할 수 있습니다.

  • ALL: 규칙 일치 조건을 충족하는 모든 요청의 단일 키입니다.
  • SOURCE_IP: 요청이 규칙 일치 조건을 충족하는 각 클라이언트 IP 주소의 고유 키입니다.
  • HTTP_HEADER: 이름이 구성된 각 고유 HTTP 헤더 값의 고유 키입니다. 키 값은 헤더 값의 처음 128바이트로 잘립니다. 이러한 헤더가 없으면 키 유형이 기본적으로 ALL로 지정됩니다.
  • HTTP_PATH: HTTP 요청의 URL 경로입니다. 키 값은 처음 128바이트로 잘립니다.
  • PRINCIPAL: 클라이언트 인증서에서 파생된 ID를 나타내는 문자열입니다. 지원되는 유일한 주 구성원 유형은 CLIENT_CERT_COMMON_NAME입니다.

각 규칙에 하나 이상의 키 유형을 지정할 수 있습니다. 여러 키 유형을 지정하면 각 클라이언트의 총 키 조합이 고유 키로 사용됩니다. 예를 들어 SOURCE_IP와 HTTP_PATH의 조합을 사용하여 특정 IP 주소가 특정 엔드포인트에 액세스할 수 있는 빈도에 비율 제한을 적용할 수 있습니다.

서비스 비율 제한에 주 구성원 사용

세부적인 수준으로 트래픽 소스를 식별하려면 클라이언트 인증서에서 파생된 ID를 기반으로 서비스 비율 제한 정책을 구성하면 됩니다. 이 방법을 사용하려면 부하 분산기에서 프런트엔드 mTLS 가 사용 설정되어 있어야 하며 이 방법에서는 클라이언트 인증서 공통 이름 (CLIENT_CERT_COMMON_NAME) 속성을 식별을 위한 주 구성원 선택기로 사용합니다.

식별을 위해 지정된 주 구성원 선택기가 없으면 CLIENT_CERT_URI_SAN이 기본 주 구성원 선택기로 사용됩니다. 즉, 비율 제한 결정을 내릴 때 클라이언트 인증서 URI SAN이 평가됩니다.

주 구성원 기반 비율 제한이 작동하려면 다음 조건을 충족해야 합니다.

  • 프런트엔드 mTLS가 사용 설정되어야 합니다. 프런트엔드 mTLS가 사용 설정되지 않으면 클라이언트는 인증서를 제공하지 않습니다. 따라서 서비스 비율 제한 정책의 주 구성원 기반 규칙은 평가할 인증서 정보를 찾지 못합니다. 예를 들어 CLIENT_CERT_URI_SAN을 확인하는 규칙은 빈 값을 확인합니다.

  • 유효한 클라이언트 인증서가 있어야 합니다. mTLS가 사용 설정되어 있어도 연결이 누락되거나 유효하지 않은 인증서로 설정된 경우 비율 제한에 클라이언트 인증서가 사용되지 않습니다. 이 시나리오는 mTLS 클라이언트 검증 모드가 허용 모드로 설정된 경우에 발생합니다. ALLOW_INVALID_OR_MISSING_CLIENT_CERT 이 경우에도 서비스 비율 제한 정책의 주 구성원 기반 규칙은 평가할 인증서 정보를 찾지 못합니다. 예를 들어 CLIENT_CERT_URI_SAN을 확인하는 규칙은 빈 값을 확인합니다.

속성 크기 제한 영향

비율 제한 결정은 클라이언트 인증서 속성의 크기에 민감합니다. 속성이 크기 제한을 초과하고 정책이 해당 속성을 검증하도록 구성된 경우에는 요청이 거부 됩니다.

정책이 CLIENT_CERT_COMMON_NAME에 대해 검증되고 인증서 주체 (공통 이름 포함)가 크기 제한을 초과하면 거부가 발생할 수 있습니다.

다음 단계