Video Validated MSP Guide

Agentic AI 워크플로를 단계별로 따라가며 팀에 바로 적용해 보세요.

9.2 IaC + AI 통합

AWS SSO 프로파일과 Amazon Q Developer CLI를 조합해 Terraform·CDK·CloudFormation 워크플로를 자동화하는 방법을 정리했습니다.

1. 기본 프로파일 준비

IaC 작업도 9.1에서 정의한 AWS_PROFILE 체계를 그대로 사용합니다. Terraform Backend나 CDK 배포 역할은 SSO 권한 세트로 구분해 둡니다.

# SSO 세션 및 Terraform 백엔드 설정
aws sso login --profile bespin-infra-admin
AWS_PROFILE=bespin-infra-admin terraform init \
-backend-config="profile=bespin-terraform-backend"

☝️ Terraform 백엔드 S3 버킷은 별도 권한 세트(bespin-terraform-backend)로 분리해, 작업 계정이 여러 개더라도 상태 파일을 중앙에서 관리합니다.

2. Amazon Q로 IaC 코드 생성

Terraform 템플릿 생성 프롬프트

# Terraform 코드 초안 생성
AWS_PROFILE=bespin-infra-admin q chat --no-interactive $'당신은 AWS 솔루션 아키텍트입니다.
ap-northeast-2 리전에 EKS + RDS + ALB로 구성된 3-tier 프로덕션 환경을
terraform 모듈 구조(main.tf, variables.tf, outputs.tf)로 작성하세요.
보안 그룹은 최소 권한, 모든 리소스에는 Environment=prod 태그를 붙여주세요.'

Amazon Q는 생성한 파일을 Git 저장소에 바로 저장하거나, Markdown 형태로 반환합니다. 초안은 반드시 리뷰 후 커밋하세요.

3. 계획(Plan) 단계 검증

AI가 생성한 코드는 Terraform Plan 결과를 기반으로 다시 검증합니다. Plan 출력을 Amazon Q에 전달해 보안/Billing/드리프트 위험을 점검합니다.

# Plan → AI 리뷰
AWS_PROFILE=bespin-infra-admin terraform plan -out=tfplan.binary
terraform show -json tfplan.binary > tfplan.json
AWS_PROFILE=bespin-infra-admin q chat --no-interactive $'terraform plan JSON을 검토해
1) 보안 위험(퍼블릭 리소스, 암호화 누락 등)
2) 비용 과다 리소스
3) 태그/감사 로그 누락
4) 롤백 계획
을 표 형태로 작성해줘.'

Plan 통과 조건

  • KMS·EBS·RDS 모두 암호화가 적용됐는가?
  • 리소스 이름·태그 규칙(Owner, CostCenter 등)을 충족하는가?
  • CloudWatch 지표·로그 구성이 최소 수준 이상인가?
  • DR 계획에 필요한 Secondary 리전 리소스가 포함됐는가?

AI 개선 제안 예시

  • t3.large 노드 → t3.medium으로 변경 시 월 $320 절감
  • RDS Multi-AZ를 gp3 200GB로 조정
  • ALB 액세스 로그를 S3 Prefix 구조로 분리
  • EventBridge 규칙으로 OpsGenie 알람 연동 추가

Claude Use Case로 IaC 의사결정 가속화

Claude 공식 use case 중 Cloud Ops 트랙(Card 목록: docs/reference/claude_use_case_tracks.csv)을 활용하면 아키텍처 비교나 참고 자료 정리를 자동화할 수 있습니다. IaC 변경 전후 검토에서 자주 쓰는 대표 카드 2가지를 예시로 들면 다음과 같습니다.

compare-and-analyze-competing-options

페르소나: Delivery PM · Activation: 멀티 환경 설계안 중 비용/보안/운영 리스크를 비교해야 할 때

AWS_PROFILE=bespin-architecture q chat --no-interactive $'git://iac/design-docs?path=eks-vs-ecs.md 내용을 참고해
옵션별 장단점, 비용 추정, 보안 영향, 승인 조건을 표로 정리해줘.'
  • Plan 이전 단계에서 설계 비교표를 자동 생성
  • 검증: 표에 언급된 수치/태그는 Terraform tfvars와 교차 확인
  • 산출물은 Change Manager 티켓에 첨부

plan-your-literature-review

페르소나: Architecture Researcher · Activation: 신규 서비스 도입 전 레퍼런스 아키텍처/보안 가이드를 빠르게 모아야 할 때

AWS_PROFILE=bespin-research q chat --no-interactive $'fetch://awsdocs/landing-zone-library.json 자료를 요약해
Landing Zone/WAF/GuardDuty 모범사례를 IA 팀 검토용 TOC와 읽기 순서로 정리해줘.'
  • 아키텍처 리뷰 회의 전 읽기 목록/검증 항목을 자동화
  • Memory MCP에 저장해 다른 프로젝트에서도 동일 템플릿 사용
  • 검증: AWS Well-Architected Tool 결과와 비교해 누락 항목 체크

Tip — 재사용 템플릿

추가 프롬프트와 체크리스트는 docs/snippets/use-case-prompts.md에서 Cloud Ops 블록을 확인하세요. IaC 문서에 카드를 인용할 때는 슬러그와 페르소나·Activation 문구를 그대로 표기해, 어떤 역할이 언제 AI를 호출해야 하는지 독자가 바로 이해하도록 합니다.

4. 배포(Apply) 단계 자동화

배포는 GitHub Actions/CodePipeline 등에서 수행하되, AI가 생성한 체크리스트를 기반으로 사전 확인 → 단계별 배포 → 사후 검증을 자동화합니다.

# GitHub Actions 예시 (요약)
- name: Terraform Apply
env:
AWS_PROFILE: bespin-infra-admin
run: | terraform apply -auto-approve tfplan.binary
  • 배포 도중 실패 시 terraform apply -refresh-only로 드리프트 여부를 확인
  • CloudWatch Metrics, X-Ray, 로그를 Amazon Q에 전달해 출시 승인 보고서 작성

5. IaC 운영 시나리오

① Change Set 리뷰 (CloudFormation)

# Change Set 분석
aws cloudformation create-change-set   --stack-name prod-network --change-set-name preview   --template-body file://network.yaml
aws cloudformation describe-change-set   --stack-name prod-network --change-set-name preview   > change-set.json
AWS_PROFILE=bespin-infra-admin q chat --no-interactive $'CloudFormation Change Set 내용을 검토해
서비스 중단 위험과 IAM 권한 변경 사항을 표로 정리해줘.'

② CDK Diff 기반 코드 리뷰

CDK Pipelines에서 사용

# cdk diff 결과 검토
AWS_PROFILE=bespin-infra-admin cdk diff --app "npx ts-node bin/app.ts" > cdk-diff.txt
AWS_PROFILE=bespin-devops q chat --no-interactive $'cdk-diff.txt 내용을 검토해
보안 영향(보안 그룹/암호화/키 정책)과 비용 변화를 항목별로 요약하고,
문제 발생 가능성이 있는 리소스를 표로 정리해줘.'

③ 드리프트 감지 & 자동 수정

  • terraform state listaws resourcegroupstaggingapi get-resources 비교로 리소스 누락 탐지
  • Amazon Q에 “드리프트 목록을 기반으로 삭제/재생성 전략 수립”을 지시해 수정 Playbook 작성
  • 결과는 Change Manager나 Jira에 자동 등록하여 승인 흐름에 연결

6. 운영 수칙

권장 사항

  • 계정별로 AWS_PROFILE을 명시한 스크립트만 커밋
  • S3 Backend 버킷, KMS 키, DynamoDB Lock 테이블은 별도 계정에서 관리
  • 모든 IaC 실행 로그와 Plan 결과를 S3/CloudWatch에 보관

주의 사항

  • AI가 생성한 코드를 그대로 적용하지 말고 최소 1인의 리뷰를 거친다.
  • terraform apply -auto-approve는 파이프라인에서만 사용하고, 로컬에서는 수동 승인
  • Plan 결과에 민감 정보가 포함될 수 있으므로 공유 전 마스킹

다음 절에서는 Amazon Q와 비용 데이터를 결합해 FinOps 보고서를 자동화하는 방법을 살펴봅니다.