요약
이 정규식 생성기는 호스트, 경로, 버전, 이메일 도메인, HTTP 상태 코드 목록을 롤아웃 타깃팅 규칙, Prometheus 매처, 로그 필터에 쓸 이스케이프된 패턴으로 바꿉니다. 검색 매칭(JavaScript, Go, grep)과 전체 매칭(Prometheus, Alertmanager, Envoy) 의미 중에서 고른 뒤 브라우저에서 줄을 테스트하세요. 입력한 값은 기기 밖으로 나가지 않습니다.
롤아웃 타깃팅과 로그 필터를 위한 정규식 생성기
매칭할 호스트, 경로, 버전 또는 상태 코드를 붙여넣으세요. 사용하는 정규식 엔진에 맞게 이스케이프된 패턴을 받고, 프로덕션에 반영하기 전에 실제 로그 줄로 확인하세요.

생성기가 입력값을 처리하는 방식
모든 리터럴을 이스케이프
값에 든 점, 슬래시, 괄호, 플러스 기호는 모두 이스케이프됩니다. 그래서 api.internal.example.com은 api-internal-example-com과 매칭되지 않습니다. 손으로 쓴 허용 목록은 바로 이 지점에서 가장 자주 실패합니다.
사용하는 엔진에 맞춰 작성
검색 엔진은 매칭을 고정하려면 ^와 $가 필요합니다. Prometheus, Alertmanager, Envoy는 문자열 전체를 매칭하므로 접두사와 접미사 규칙에는 .*가 필요합니다. 엔진을 고르면 생성기가 패턴을 그에 맞게 바꿉니다.
배포 전에 테스트
모든 테스트 줄에는 복사할 패턴 기준으로 일치 또는 불일치 배지가 붙습니다. 근접 오답을 일부러 넣으세요. 예: checkout-v2 옆에 checkout-v22, example.com 옆에 example.com.evil.io.
리뷰를 통과했지만 누군가를 깨운 정규식
롤아웃과 알럿 설정에서 생기는 정규식 장애는 대개 특이한 경우가 아닙니다. 내부 호스트 세 개만 대상으로 하려던 타깃팅 규칙이 비슷한 이름의 호스트까지 포함했습니다. Prometheus에는 필요 없는 앵커를 쓴 알럿 매처가 조용히 서비스 하나를 빠뜨렸습니다. 부분 문자열에 매칭한 로그 필터가 세려던 에러를 오히려 가렸습니다. 패턴이 지나치게 영리해서 생기는 경우는 드뭅니다. 거의 항상 너무 느슨하거나, 매칭되어야 할 줄에서만 테스트했기 때문입니다. 롤아웃을 게이팅하는 규칙은 매칭되면 안 되는 줄부터 먼저 테스트하세요.
- 모든 호스트명의 점을 이스케이프하세요
- 엔진이 앵커를 자동으로 넣는지 확인하세요
- 일치 줄뿐 아니라 근접 오답도 테스트하세요
- 집합이 작고 안정적이라면 정규식보다 리터럴 목록을 쓰세요
값 목록에서 믿을 수 있는 패턴까지
-
1
매칭 유형 고르기
호스트와 플래그 키 허용 목록에는 정확한 값, 라우트 그룹에는 접두사, 알럿 규칙에는 상태 코드, 앱 버전 기준 롤아웃 타깃팅에는 버전 계열을 고르세요.
-
2
엔진 고르기
코드와 grep에는 부분 일치 검색을, Prometheus 매처, Alertmanager 라우트, Envoy에는 전체 일치를 쓰세요. 이 선택 하나로 가장 흔한 앵커 실수를 피할 수 있습니다.
-
3
테스트 칸에 근접 오답 붙여넣기
비슷한 이름의 호스트, 인접한 버전, 범위 바로 밖의 상태 코드를 추가하세요. 그중 하나라도 일치로 나오면 패턴을 복사하기 전에 값을 더 좁히세요.
자주 묻는 질문
이 정규식 생성기는 무료인가요? 입력한 값이 어디로든 전송되나요?
출력 패턴은 어떤 정규식 엔진을 대상으로 하나요?
Prometheus에서 ^와 $ 앵커가 무시되는 이유는 무엇인가요?
이 패턴은 치명적인 백트래킹을 피하나요?
특수 문자는 어떻게 처리되나요?
이 패턴을 기능 플래그 타깃팅 규칙에 사용할 수 있나요?
이 도구가 하지 않는 일은 무엇인가요?
감이 아니라 SLO로 롤아웃을 게이팅하세요
타깃팅 규칙은 누가 변경을 받을지 결정합니다. upstreamapi의 AI Pilot은 변경을 계속 진행할지 결정하고, 에러율이 SLO 임계값을 넘으면 스스로 되돌립니다.