피드로 돌아가기
Building Diagram AI: From Natural Language (and Screenshots) to AWS Architecture Diagrams
Dev.toDev.to
Infrastructure

LLM과 awsdac를 결합한 YAML 기반 AWS 아키텍처 자동 생성 시스템 구축

Building Diagram AI: From Natural Language (and Screenshots) to AWS Architecture Diagrams

Yuuki Yamashita2026년 6월 2일7intermediate

Context

수동 다이어그램 작성의 반복적 수정 비용과 LLM의 직접적인 이미지 생성 시 발생하는 낮은 신뢰성 문제를 해결하고자 함. 정교한 AWS 표준 아이콘 및 레이아웃 준수를 위해 Deterministic한 렌더링 도구가 필요한 상황.

Technical Solution

  • LLM(Claude Haiku 4.5)이 다이어그램을 직접 그리지 않고 awsdac 전용 YAML 스키마를 생성하는 분리 구조 설계
  • Go 언어의 internal 패키지 제약으로 인한 라이브러리 임포트 불가 문제를 해결하기 위해 AWS Lambda를 통한 CLI 실행 환경 구축
  • Docker 및 Go 빌드 환경 부재를 극복하고자 Python 3.12 런타임 기반의 Binary Zip 패키징 전략 채택
  • 403 Forbidden 에러 해결을 위해 lambda:InvokeFunctionUrl과 lambda:InvokeFunction 권한을 모두 부여하는 이중 권한 모델 적용
  • 다이어그램 품질 향상을 위해 BorderChildren 규칙 및 Horizontal Flow 설정을 시스템 프롬프트에 구체적 예시와 함께 명시
  • 빌드 타임의 Region missing 에러 방지를 위해 Bedrock 클라이언트를 요청 시점에 생성하는 Lazy Factory 패턴 적용

- 오픈소스 라이브러리 도입 전 internal 패키지 사용 여부를 확인하여 통합 전략 수립 - LLM의 정형 데이터 출력 품질을 높이기 위해 'Good/Bad' 사례를 포함한 구체적인 레이아웃 규칙 정의 - Lambda Function URL 사용 시 최신 플랫폼 권한 정책 변화를 확인하여 이중 권한 설정 검토 - 서버리스 환경의 빌드 제약 상황에서 Prebuilt Binary와 Wrapper 핸들러를 활용한 배포 방식 고려

원문 읽기