
GENAI를 AWS에 배포하며 깨달은 점 — WAF 비용의 함정과 기술 구성의 현실
요약
일본 디지털청의 오픈소스 GENAI를 AWS 환경에 배포하며 분석한 기술 구성과 비용 효율성에 관한 글입니다. CDK를 활용한 인프라 자동화, RAG 구현 방식, 그리고 WAF 설정으로 인한 예상치 못한 비용 발생 문제를 다룹니다.
핵심 포인트
- GENAI는 MIT 라이선스로 민간 기업의 상용 서비스 활용이 가능함
- AWS CDK를 통해 CloudFront, Lambda, Cognito 등 복잡한 인프라를 자동 구축
- 데이터를 외부로 전송하지 않고 사용자 AWS 계정에 직접 배포하는 보안 구조
- 멀티 테넌트 액세스 제어가 내장되어 있어 자체 RAG 구축 대비 설계 공수 절감
- WAF(Web Application Firewall) 배포 위치에 따른 비용 증가 주의 필요
「디지털청의 OSS는 지자체용 아닌가?」
GENAI가 OSS(Open Source Software)로 공개되었을 때, 솔직히 "행정용 시스템이니까 나하고는 상관없겠지"라고 생각했습니다. 그런데 GitHub의 라이선스 파일을 확인해보니, MIT 라이센스였습니다.
민간 기업이 상용 서비스에 포함시켜 유료로 판매하는 것도 허용되는 라이선스입니다. 디지털청은 공식 note에서 "민간 기업이 상용 서비스의 기반으로 사용하는 것을 상정하고 있다"라고 명확히 밝히고 있습니다.
"지자체 전용"이라는 선입견이 깨진 순간이었습니다.
GENAI의 기술 구성을 GitHub에서 읽기
GENAI는 두 개의 리포지토리(Repository)로 구성되어 있습니다.
digital-go-jp/genai-web → AI 인터페이스 (프론트엔드 + 백엔드)
digital-go-jp/genai-ai-api → AI 앱 · RAG의 API 계층
genai-web은 AWS가 OSS로 공개한 Generative AI Use Cases (GenU) 기반으로, TypeScript + AWS CDK로 구축되어 있습니다. cdk deploy를 실행하면 CloudFront / Lambda / API Gateway / Cognito / DynamoDB 등의 리소스가 자동으로 생성됩니다. GenU와의 주요 차이점은 팀 관리 기능과 외부 AI 앱 (ExApp)과의 연동 기능이 추가되어 있다는 점입니다.
genai-ai-api는 Python 중심의 API 계층으로, 법령 검색 · 문서 요약 · Q&A와 같은 행정용 AI 앱 템플릿이 갖춰져 있습니다. Amazon Bedrock 상에서 RAG (Retrieval-Augmented Generation)를 구축하기 위한 구현이 포함되어 있어, "행정용"이라는 명칭에도 불구하고 설계 자체는 업종을 불문하고 유용하게 사용할 수 있습니다.
왜 CDK로 관리되는 것이 중요한가
CDK (Cloud Development Kit)로 모든 리소스가 관리되고 있다는 점이 자체 구축과의 큰 차이점입니다. Cognito 인증 · 역할 기반 액세스 제어 (RBAC) · WAF 설정까지 처음부터 통합되어 있어, 동일한 설계를 처음부터 만들려면 상당한 공수가 들어갑니다. "18만 명이 사용하는 운영 환경으로서 설계 및 검증된 코드"를 출발점으로 삼을 수 있다는 것이 GENAI의 강점입니다.
그리고 GENAI의 설계에서 또 하나 중요한 점은, **"국가의 서버로 데이터를 보내지 않는다"**는 점입니다. GENAI는 "자신의 AWS 계정에 직접 배포하여 사용하는 것"입니다. 데이터는 자사의 관리하에 놓입니다. SaaS형 AI 서비스에서는 구현하기 어려운 "데이터를 외부에 내보내지 않는다"는 요건을 그대로 충족할 수 있습니다.
자체 RAG와 비교하여 판단한 것
"Amazon Bedrock + S3로 자체 RAG를 만들면 되지 않을까?"라는 의문은 당연히 생깁니다. 실제로 비교해 보았습니다.
| 관점 | GENAI | 자체 RAG | 범용 LLM API |
|---|---|---|---|
| 초기 구축 비용 | 낮음 (CDK 한 번에) | 높음 (설계부터) | 거의 제로 |
| ... |
자체 RAG는 커스터마이징성이 가장 높은 반면, 액세스 제어 · 보안 설계를 처음부터 구현해야 합니다. "멀티 테넌트(Multi-tenant) 액세스 제어가 처음부터 내장되어 있다"는 점이 GENAI를 선택하는 주요 이유가 되었습니다.
반면 단점도 파악해 두어야 합니다. GenU 기반의 UI를 대폭 커스터마이징하려면 수고가 많이 듭니다. 대량 배치 처리나 실시간 처리에도 적합하지 않습니다. 이 제약 사항을 허용할 수 있는 유스케이스(Use Case)인지가 판단의 갈림길입니다.
실제로 구동하며 깨달은 비용의 함정
이 부분이 가장 놀라운 포인트입니다.
GitHub에서 그대로 cdk deploy를 실행하면, WAF가 3곳에 배치됩니다 (CloudFront용 · API GW용 · Cognito User Pool용). WAF는 Web ACL 1개당 월 $5의 고정비가 발생하기 때문에, 그것만으로도 최소 $15/월의 베이스 비용이 발생합니다.
WAF Web ACL × 3곳 = $5 × 3 = $15/월 (고정비)
+ CloudFront, Lambda, API GW, Cognito, DynamoDB, S3의 종량 과금
또한 genai-ai-api의 RAG 템플릿은 OpenSearch Serverless를 사용합니다. OpenSearch Serverless는 인덱싱(Indexing)용과 검색(Search)용으로 각각 최소 1 OCU가 필요하며, 최소 구성만으로도 월 약 $174~$350 정도의 비용이 발생합니다. RAG를 활성화하면 이 OpenSearch Serverless 비용이 대부분을 차지하게 됩니다.
왜 이를 미리 알고 있어야 하는가
"CDK로 가볍게 테스트해 보자"라는 생각으로 접근하면 비용 측면에서 예상치 못한 지출이 발생합니다. PoC(Proof of Concept) 단계에서는 RAG 템플릿을 분리하여 genai-web만으로 구동하는 최소 구성부터 시작하는 것을 권장합니다.
WAF와 OpenSearch Serverless의 비용 구조를 파악한 뒤 움직이기 시작한 것은 올바른 선택이었습니다. 실서비스 투입을 검토한다면 사전 견적이 필수입니다.
요약: 나는 이렇게 사용하기로 했다
GENAI는 "지자체 전용"이 아니라, MIT 라이선스로 민간에서도 상업적 이용이 가능한 OSS(Open Source Software)입니다. CDK로 관리되는 멀티 유저 대응 AI 기반을 빠르게 구축하고 싶은 유스케이스에 적합합니다.
단, "무료로 체험하기"는 어렵습니다. WAF 고정비 $15/월, RAG를 사용한다면 OpenSearch Serverless로 $174~$350/월을 예상해야 합니다. 우선은 genai-web만으로 최소 구성을 테스트하고, RAG가 정말로 필요해지는 시점에 활성화하는 방식이 현실적이라고 판단했습니다.
이 기사는 GENAI AI란 무엇인가 — 인프라 엔지니어가 디지털청 OSS로 서비스를 만들기로 한 이유의 핵심 부분을 재구성한 것입니다. 원문에서는 다음과 같은 내용을 더 다루고 있습니다:
- 적합한 유스케이스 및 적합하지 않은 케이스의 상세 목록
- 도쿄 리전(ap-northeast-1) 권장에 대한 기술적 배경 (오사카 리전에서의 제한 사항)
- TsukiOps가 왜 지금 이 PoC를 진행하고 있는지, 향후 GENAI AI 시리즈의 계획
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기