안녕하세요,
베스핀글로벌 GCP Support팀입니다.
이번 아티클에서는 주제로 "Cloud Armor 비율 기반 차단 설정 시 각 IP 별로 설정하는 방법"을 다루고자 합니다.
Cloud Armor 비율 기반 차단 설정 시 각 IP 별 설정 방법
Cloud Armor 비율 기반 차단은 지정한 기간동안 지정한 횟수 이상 접속 시 차단이 되도록 설정하는 기능입니다.
이때, 규칙 설정 시 클라이언트 식별 설정을 default 값인 all로 설정하게 되면 비율 기반 차단이 각 IP 별로 적용되는 것이 아닌 모든 IP(*)에 대해서 적용되버리게 됩니다.
예를들어 위 예시처럼 1분간 100회 접속으로 비율 기반 차단이 설정된 경우, A 사용자가 1분간 90회 접속하였고 동일 시간에 B 사용자는 10회만 접속하여도 차단 설정에 걸리게 됩니다.
따라서 사용자 IP 별로 따로 비율 기반 차단 설정을 위해서는 클라이언트 식별 설정 key type을 IP로 변경해야합니다.
콘솔에서 해당 key type을 변경하거나 아래와 같이 gcloud 명령어를 사용하여 설정 시, 각 IP별로 차단을 설정할 수 있습니다.
-----------------------
gcloud compute security-policies rules create [priority] \
--security-policy=[policy_name] \
--src-ip-ranges="*" \
--action=rate-based-ban \
--rate-limit-threshold-count=100 \
--rate-limit-threshold-interval-sec=600 \
--ban-duration-sec=300 \
--conform-action=allow \
--exceed-action=deny-429 \
--enforce-on-key=IP
-----------------------
클라이언트 식별 Key type에 대한 자세한 내용은 비율 제한을 위한 클라이언트 식별 문서를 참고하시기 바랍니다.[1]
참조링크
[1] 비율 제한을 위한 클라이언트 식별
https://cloud.google.com/armor/docs/rate-limiting-overview#identifying_clients_for_rate_limiting
관련 문의사항이 있으시면 Support Portal에 문의해 주시기 바랍니다.
감사합니다.