IaC 환경에서 코드와 실제 인프라 간 불일치(Drift) 문제 발생, 수작업 해결의 어려움 직면
Claude Code(클로드 코드) 기반의 AI Agent를 도입하여 Drift 해결, Pulumi(풀루미) 명령어 자동화 및 코드 수정
운영 환경 보호를 최우선 원칙으로, AI Agent의 안전한 활용을 위한 Rules, Skills, Agents 구조 설계
AI Agent 도입으로 수십 개의 Drift를 며칠 만에 해결, 생산성 획기적 향상 및 IaC 컨벤션 구축
CI/CD 파이프라인(CI/CD Pipeline)에 Drift 감지 자동화 추가, AI Agent 워크플로우(Workflow) 확장을 통한 IaC 운영 고도화 계획
본문에 따르면 IaC 환경에서 코드(Code), 상태(State), 리소스(Resource) 간의 불일치, 즉 드리프트(Drift)는 코드와 실제 인프라 상태가 동기화되지 않아 발생한다. 특히, 코드 변경 없이 콘솔에서 직접 리소스를 수정하거나, 상태 파일이 최신 리소스 상태를 반영하지 못할 때 발생한다.
원인 분석: AWS 콘솔에서의 수동 변경, Pulumi 상태 파일의 부실 관리, 코드 리뷰 부재
영향: 코드의 신뢰성 저하, 섣부른 pulumi up 실행으로 인한 서비스 장애 위험 증가
해결책: 실제 리소스를 Source of Truth로 삼고, 코드와 상태를 일치시키는 것이 중요하며, AI Agent를 활용하여 자동화된 해결 방안을 모색한다.
딜라이트룸은 Claude Code를 활용하여 드리프트(Drift) 해결을 자동화했다. AI Agent는 Rules, Skills, Agents의 세 가지 구성 요소를 기반으로 작동한다.
Rules: 운영 환경 보호, 코드-리소스 동기화, 스택 간 격리 등 안전 규칙 정의
Skills: 드리프트 유형별(생성, 삭제, 변경) 해결을 위한 템플릿화된 워크플로우(Workflow) 제공
Agents: Skills를 조합하여 자동화된 작업 흐름 구성, 개발 환경과 운영 환경의 드리프트 동시 해결
이러한 구조를 통해 AI Agent는 안전하게 반복 작업을 수행하고, 개발 생산성을 향상시킬 수 있었다.
Claude Code의 Rules, Skills, Agents 구조는 IaC 환경에서 AI Agent의 안전성과 효율성을 극대화하기 위한 핵심 요소이다.
Rules: pulumi up 실행 금지, 실제 리소스 Source of Truth, 스택 간 격리 등 안전 규칙을 명시하여 AI Agent의 행동 제어
Skills: 드리프트 유형별(생성, 삭제, 변경) 해결을 위한 템플릿화된 워크플로우(Workflow) 제공, 반복 작업의 일관성 확보
Agents: Skills를 조합하여 자동화된 작업 흐름 구성, 개발 환경과 운영 환경의 드리프트 동시 해결, 작업 단위 분리 및 컨텍스트 관리
이러한 구조를 통해 AI Agent는 안전하게 반복 작업을 수행하고, 개발 생산성을 향상시킬 수 있었다.
AI Agent 도입으로 드리프트(Drift) 해결에 소요되는 시간을 획기적으로 단축하고, IaC 컨벤션을 구축하는 성과를 거두었다.
시간 단축: 수십 개의 드리프트를 수작업으로 해결하는 데 6~8주 소요되던 작업을 며칠 만에 완료
IaC 컨벤션 구축: 팀 공용 자산으로 Rules와 Skills를 문서화하여, 팀원 모두가 동일한 규칙과 워크플로우를 활용
코드 품질 향상: 개인별 코드 스타일 차이를 줄이고, 유지보수성 높은 코드를 일관되게 생성
결과적으로, AI Agent는 IaC 환경에서 생산성 혁신을 이끌어냈으며, 팀 내 IaC 문화 확산에 기여했다.
딜라이트룸은 AI Agent를 활용한 드리프트(Drift) 해결 경험을 바탕으로 IaC 운영을 더욱 고도화할 계획이다.
CI/CD 파이프라인(CI/CD Pipeline) 연동: 코드 푸시(Push) 또는 PR 병합 시 자동 pulumi preview 실행
주기적 실행: 코드 변경 없이 콘솔에서 리소스가 수정되는 경우를 대비하여 주기적인 preview 실행
Agent 워크플로우 확장: 새로운 서비스 리소스 생성, 보안 취약점 분석 등 다양한 IaC 작업에 AI Agent 활용
이러한 전략을 통해 드리프트(Drift) 발생을 사전에 방지하고, IaC 운영의 효율성과 안정성을 지속적으로 향상시킬 수 있을 것으로 기대된다.