Azure RAG Overview

Azure 기반 RAG 파이프라인 개요

Azure 생태계를 활용한 엔터프라이즈급 RAG 시스템 구축 전체 파이프라인을 소개한다.

AI
RAG
LangChain
Azure
저자

Kwangmin Kim

공개

2025년 11월 01일

1 Azure RAG 파이프라인이란?

Azure RAG(Retrieval-Augmented Generation)은 Microsoft Azure 클라우드 서비스를 활용하여 구축하는 엔터프라이즈급 질의응답 시스템이다. 기존 로컬 환경의 RAG와 달리, Azure의 관리형 서비스들을 조합하여 확장 가능하고 안정적인 프로덕션 시스템을 구축할 수 있다.

핵심 가치:
- 완전 관리형: 인프라 관리 부담 없이 비즈니스 로직에 집중
- 엔터프라이즈급 보안: Azure AD, RBAC, Private Endpoint 등 기업용 보안 기능
- 글로벌 확장성: 전 세계 Azure 리전을 활용한 자동 스케일링
- 통합 생태계: Azure 서비스 간 네이티브 통합으로 빠른 개발

2 Azure RAG 아키텍처

전체 파이프라인은 문서 수집부터 질의응답까지 9단계로 구성된다:

graph TB  
    A[Azure Blob Storage<br/>비정형 문서 저장] --> B[Document Intelligence<br/>OCR & 레이아웃 분석]  
    B --> C[Azure OpenAI Embeddings<br/>문서 임베딩 생성]  
    C --> D[Azure AI Search<br/>벡터 스토어 저장]  
    D --> E[LangChain/LangGraph<br/>RAG 로직 구현]  
    E --> F[Azure OpenAI LLM<br/>컨텍스트 기반 응답 생성]  
    F --> G{배포 방식 선택}  
    G -->|서버리스| H[Azure Functions<br/>이벤트 기반 실행]  
    G -->|컨테이너| I[Azure Container Apps<br/>항시 실행]  
    H --> J[End-User]  
    I --> J  
    
    style A fill:#e1f5ff  
    style B fill:#fff4e1  
    style C fill:#ffe1f5  
    style D fill:#e1ffe1  
    style E fill:#f5e1ff  
    style F fill:#ffe1e1  
    style H fill:#e1e1ff  
    style I fill:#ffe1cc  

3 주요 Azure 서비스 소개

3.1 Azure Blob Storage

역할: 비정형 문서 저장소

  • PDF, Word, Excel, 이미지 등 다양한 형식의 문서 저장
  • 계층형 스토리지(Hot/Cool/Archive)로 비용 최적화
  • 대용량 파일 업로드 및 버전 관리

사용 이유:
- 안정적이고 확장 가능한 클라우드 스토리지
- Azure 서비스와의 완벽한 통합
- 저렴한 비용 (GB당 $0.018/월부터)

3.2 Document Intelligence (구 Form Recognizer)

역할: OCR 및 문서 레이아웃 분석

  • 스캔 문서, 이미지에서 텍스트 추출
  • 표, 제목, 단락 등 문서 구조 인식
  • 한국어를 포함한 100개 이상 언어 지원

사용 이유:
- 높은 OCR 정확도 (한국어 95% 이상)
- 문서 레이아웃 유지로 컨텍스트 보존
- API 기반으로 쉬운 통합

3.3 Azure OpenAI Service

역할: 임베딩 생성 및 LLM 질의응답

Embeddings 모델:
- text-embedding-ada-002: 1536차원, 범용
- text-embedding-3-small: 512/1536차원, 빠른 속도
- text-embedding-3-large: 256~3072차원, 최고 성능

LLM 모델:
- gpt-4o: 최신 멀티모달 모델
- gpt-4-turbo: 빠른 속도, 128K 컨텍스트
- gpt-35-turbo: 비용 효율적

사용 이유:
- 엔터프라이즈 SLA 보장 (99.9% 가동률)
- 데이터 주권 준수 (한국 리전 사용 시 데이터가 한국에 유지)
- Azure AD 통합 인증

3.5 LangChain & LangGraph

역할: RAG 로직 구현 프레임워크

LangChain:
- 문서 로딩, 분할, 임베딩 파이프라인
- 체인 구성으로 복잡한 워크플로우 구현
- Azure 서비스 통합 커넥터 제공

LangGraph:
- 상태 기반 워크플로우 관리
- 멀티 에이전트 협업
- 조건부 분기 및 루프 처리

사용 이유:
- 검증된 RAG 구현 패턴
- Azure 네이티브 통합
- 활발한 커뮤니티와 풍부한 예제

3.6 Azure Functions

역할: 서버리스 RAG 배포

  • 이벤트 기반 실행 (HTTP, Blob Trigger 등)
  • 자동 스케일링 (0에서 수천 인스턴스까지)
  • 종량제 과금 (실행 시간만 비용 청구)

사용 이유:
- 간헐적 사용 시 비용 효율적
- 인프라 관리 불필요
- 빠른 배포 및 업데이트

3.7 Azure Container Apps

역할: 컨테이너 기반 RAG 배포

  • 항시 실행되는 API 서버 호스팅
  • Kubernetes 기반 자동 스케일링
  • 멀티 컨테이너 앱 지원

사용 이유:
- 지속적 트래픽 처리에 적합
- 복잡한 종속성 관리 용이
- 컨테이너 표준 활용

4 Azure RAG vs 로컬 RAG 비교

항목 로컬 RAG Azure RAG
인프라 관리 직접 관리 필요 완전 관리형
확장성 수동 스케일링 자동 스케일링
비용 고정 비용 (서버 구매) 사용량 기반 (종량제)
보안 자체 구현 엔터프라이즈급 내장
고가용성 직접 구성 99.9% SLA 보장
글로벌 배포 어려움 전 세계 리전 활용
모니터링 별도 도구 필요 Azure Monitor 통합
비용 예측 명확 변동 가능

로컬 RAG가 적합한 경우:
- 데이터 외부 유출 절대 불가
- 고정적이고 예측 가능한 워크로드
- 클라우드 비용 부담

Azure RAG가 적합한 경우:
- 엔터프라이즈급 보안 및 규정 준수 필요
- 가변적인 트래픽 패턴
- 빠른 개발 및 배포
- 글로벌 서비스 제공

5 Azure RAG 구축 단계별 가이드

5.1 1단계: 문서 저장 (Azure Blob Storage)

  • Storage Account 생성
  • 컨테이너 설정 및 문서 업로드
  • 액세스 정책 및 SAS 토큰 관리

상세 가이드: 01-Azure-Blob-Storage.qmd

5.2 2단계: 문서 분석 (Document Intelligence)

  • Document Intelligence 리소스 생성
  • Layout 또는 Read API를 통한 OCR
  • 테이블, 제목, 단락 구조 추출

상세 가이드: 02-Document-Intelligence.qmd

5.3 3단계: 임베딩 생성 (Azure OpenAI)

  • Azure OpenAI 리소스 및 배포 생성
  • Embeddings 모델 선택 (ada-002, text-embedding-3)
  • 문서 청크 임베딩 생성

상세 가이드: 03-Azure-OpenAI-Embeddings.qmd

5.5 5단계: RAG 로직 구현 (LangChain/LangGraph)

  • LangChain으로 기본 RAG 체인 구성
  • LangGraph로 복잡한 워크플로우 구현
  • 프롬프트 엔지니어링 및 최적화

상세 가이드: 05-LangChain-to-LangGraph.qmd

5.6 6단계: 질의응답 생성 (Azure OpenAI LLM)

  • GPT-4 또는 GPT-3.5 Turbo 배포
  • 시스템 프롬프트 설정
  • 스트리밍 응답 구현

상세 가이드: 06-Azure-OpenAI-LLM.qmd

5.7 7단계: 서버리스 배포 (Azure Functions)

  • Python Function App 생성
  • HTTP 트리거 함수 구현
  • 환경 변수 및 시크릿 관리

상세 가이드: 07-Azure-Functions-Apps.qmd

5.8 8단계: 컨테이너 배포 (Azure Container Apps)

  • Docker 이미지 빌드
  • Container Registry 푸시
  • Container Apps 배포 및 스케일링 설정

상세 가이드: 08-Azure-Container-Apps.qmd

5.9 9단계: 전체 통합 (End-to-End)

  • 전체 파이프라인 통합 테스트
  • 모니터링 및 로깅 설정
  • 성능 최적화 및 비용 관리

상세 가이드: 09-End-to-End-Azure-RAG.qmd

6 비용 예측

6.1 예제 시나리오: 월 10,000회 질의응답

Azure Blob Storage:
- 10GB 문서 저장: $0.18/월 (Hot tier)
- 10,000회 읽기: $0.004/월
- 소계: $0.18/월

Document Intelligence:
- 1,000페이지 OCR (초기 한 번): $1.50
- 소계: $1.50 (초기 비용)

Azure OpenAI Embeddings:
- 10,000 문서 청크 (초기 한 번): $0.40
- 소계: $0.40 (초기 비용)

Azure AI Search:
- Basic 계층 (15GB): $73.73/월
- 10,000회 검색 쿼리: 포함됨
- 소계: $73.73/월

Azure OpenAI LLM:
- GPT-4o: 10,000 요청 × (입력 1,000토큰 + 출력 500토큰)
- 입력: 10M 토큰 × $2.50/1M = $25
- 출력: 5M 토큰 × $10/1M = $50
- 소계: $75/월

Azure Functions (서버리스 배포):
- 10,000 실행: 무료 (월 100만 실행 무료)
- 실행 시간: $0.20/월
- 소계: $0.20/월

총 예상 비용: 초기 $1.90 + 월 $149.31

비용 최적화 팁:
- GPT-3.5-Turbo 사용 시 LLM 비용 80% 절감
- 캐싱 전략으로 중복 쿼리 비용 절감
- Azure AI Search Free 계층으로 시작 (개발/테스트)

7 보안 및 규정 준수

7.1 데이터 주권

  • 리전 선택: 데이터가 물리적으로 저장되는 위치 제어
  • 한국 리전: Korea Central, Korea South (데이터가 한국 내에만 유지)
  • 데이터 레지던시: 금융권, 공공기관 규제 준수

7.2 인증 및 권한 관리

  • Azure AD 통합: 기업 SSO 연동
  • Managed Identity: 코드에 시크릿 노출 없이 안전한 인증
  • RBAC: 세밀한 역할 기반 액세스 제어

7.3 네트워크 보안

  • Private Endpoint: 인터넷 노출 없이 Azure 서비스 접근
  • VNet 통합: 기업 내부 네트워크와 안전한 연결
  • NSG: 네트워크 수준 트래픽 제어

7.4 규정 준수 인증

  • ISO 27001, SOC 2, GDPR, HIPAA 등 준수
  • 금융권 ISMS-P, 전자금융감독규정 대응 가능
  • 정기 감사 및 취약점 스캔 자동화

8 모니터링 및 운영

8.1 Azure Monitor 통합

from azure.monitor.opentelemetry import configure_azure_monitor  
from opentelemetry import trace  

# Application Insights 연동  
configure_azure_monitor(  
    connection_string="InstrumentationKey=xxx"  
)  

tracer = trace.get_tracer(__name__)  

# RAG 실행 추적  
with tracer.start_as_current_span("rag_query"):  
    # RAG 로직 실행  
    result = rag_chain.invoke({"query": question})  

8.2 주요 모니터링 메트릭

  • 성능: 응답 시간, 처리량, 대기 시간
  • 비용: 서비스별 비용 추적, 예산 알람
  • 오류: 실패율, 예외 발생 빈도
  • 사용자: 동시 사용자 수, 요청 패턴

8.3 로깅 전략

  • 구조화 로깅: JSON 형식으로 검색 및 분석 용이
  • 로그 수준: DEBUG, INFO, WARNING, ERROR, CRITICAL
  • 민감 정보 마스킹: PII 데이터 자동 제거

9 참고 자료

9.1 공식 문서

9.2 아키텍처 가이드

9.3 샘플 코드

9.4 커뮤니티

10 다음 단계

  1. 문서 저장 시작하기01-Azure-Blob-Storage.qmd
  2. 문서 OCR 알아보기02-Document-Intelligence.qmd
  3. 임베딩 생성하기03-Azure-OpenAI-Embeddings.qmd

Subscribe

Enjoy this blog? Get notified of new posts by email: