피드로 돌아가기
How to track API requests in Azure APIM to Table Storage
Dev.toDev.to
Infrastructure

Azure APIM과 Table Storage 기반의 Zero-Latency API 감사 로그 설계

How to track API requests in Azure APIM to Table Storage

Sam Vanhoutte2026년 5월 2일8intermediate

Context

Application Insights의 샘플링 위험과 데이터 보관 주기 제한으로 인한 정밀한 사용자 행위 분석의 어려움 발생. 트러블슈팅 목적을 넘어선 전체 API 요청의 전수 기록 및 분석을 위한 저비용 고효율 저장소 필요성 대두.

Technical Solution

  • send-one-way-request 정책을 활용한 비동기 HTTP 요청 처리로 API 응답 지연 시간 Zero 달성
  • Azure Table Storage의 Schemaless 구조를 채택하여 데이터 모델 변경 유연성 확보 및 저장 비용 최소화
  • 날짜 기반 Partition Key 설계를 통한 특정 일자 데이터 쿼리 성능 최적화
  • SAS Token을 APIM Named Value로 관리하여 스토리지에 대한 최소 권한(Write-only) 기반의 보안 강화
  • Policy Fragment를 통한 로그 기록 로직 공통화로 Outbound 및 On-error 섹션의 중복 구현 제거
  • Azure Key Vault 연동을 통한 SAS Token의 생명주기 관리 및 보안 운영 자동화 기반 마련

- API 응답 성능에 영향을 주지 않는 감사 로그 구현 시 Fire-and-forget 패턴 검토 - 대량의 로그 저장 시 고비용 RDBMS 대신 NoSQL 기반의 Table Storage와 같은 저가형 저장소 고려 - APIM 정책 내 시크릿 하드코딩을 방지하기 위해 Named Value 및 Key Vault 참조 구조 적용 - 동일 로직이 여러 정책 단계(Success/Error)에서 반복될 경우 Policy Fragment로 모듈화

원문 읽기