본문 바로가기

AI 개발

AWS Kiro 완전 가이드 — Amazon Q Developer가 죽고 Spec-Driven IDE가 왔다

반응형

Amazon Q Developer 신규 가입이 5월 15일부터 막혔습니다. AWS가 지목한 후계자는 Kiro입니다. Cursor도 Claude Code도 아닌, 코드보다 스펙을 먼저 쓰는 에이전트 IDE입니다.

[핵심 요약]
→ Kiro: AWS가 만든 에이전트 IDE + CLI (Code OSS 기반, VS Code 호환)
→ Amazon Q Developer 신규 가입: 2026년 5월 15일부로 차단
→ Q Developer Pro 사용자: 2027년 4월 30일까지 마이그레이션 기간
→ 핵심 철학: 스펙이 소스 오브 트루스, 코드는 빌드 아티팩트
→ 모델: Claude Sonnet (추론 집약 작업) + Amazon Nova (고처리량 코드 생성)
→ 가격: 무료 티어 존재 / Pro $20/월
→ 핵심 기능 3가지: Specs(스펙 주도 개발), Hooks(이벤트 자동화), Steering(영구 컨텍스트)
→ AWS 계정 불필요 — GitHub/Google 로그인으로 바로 시작 가능

왜 갑자기 Q Developer가 사라졌나

2026년 1월, AWS가 조용히 공지했습니다.

"Amazon Q Developer IDE 플러그인과 유료 구독은 2027년 4월 30일에 지원 종료됩니다. 신규 가입은 2026년 5월 15일부터 차단됩니다."

AWS의 개발자 AI 베팅이 Kiro로 완전히 이동했다는 선언입니다.

기존 Q Developer vs Kiro:
Q Developer Pro:
→ 월 $20, 약 1,000 요청/월
→ 최신 모델 접근 제한 (Opus 4.7은 Kiro 전용)
→ 프롬프트 기반 — 매번 컨텍스트 재설명
→ 5/29부터 Opus 4.6도 제거

Kiro:
→ 월 $20, 요청 기반 (크레딧)
→ Opus 4.7 포함 최신 모델 접근
→ 스펙 기반 — 한 번 쓴 스펙이 영구 컨텍스트
→ Hooks로 반복 작업 자동화

실전 1 — 설치 및 첫 번째 스펙 작성

설치

# Kiro IDE 다운로드 (kiro.dev)
# macOS
brew install --cask kiro

# 또는 공식 사이트에서 직접 다운로드
# https://kiro.dev

# CLI 설치 (터미널 사용자)
npm install -g @kiro/cli
kiro login  # GitHub 또는 Google 로그인
[설치 옵션]
→ Kiro IDE: VS Code 기반 GUI 에디터 (테마, 키바인딩 그대로 이전 가능)
→ Kiro CLI: SSH 세션, 스크립트 워크플로우용 터미널 에이전트
→ Kiro Web: 브라우저 기반 (설치 불필요)
→ AWS 계정 없어도 GitHub/Google로 로그인 즉시 사용 가능

첫 번째 스펙 작성

Kiro의 핵심은 프롬프트가 아닌 스펙입니다. 기능 하나를 만들 때 코드부터 짜지 않습니다.

# Kiro에서 새 기능 요청
/spec 사용자 인증 시스템 만들어줘
  - JWT 기반 로그인/로그아웃
  - Refresh Token 자동 갱신
  - 소셜 로그인 (Google)

Kiro가 자동으로 3개 파일을 생성합니다.

# requirements.md (자동 생성)
## 사용자 인증 시스템

### User Stories
1. 사용자는 이메일/패스워드로 로그인할 수 있다
2. 로그인 성공 시 JWT Access Token(15분)과 Refresh Token(7일)을 받는다
3. Access Token 만료 시 자동으로 갱신된다
4. Google OAuth로 소셜 로그인할 수 있다

### Acceptance Criteria
- [ ] POST /auth/login → 200 + {access_token, refresh_token}
- [ ] POST /auth/refresh → 200 + 새 access_token
- [ ] GET /auth/google → Google OAuth 리다이렉트
- [ ] POST /auth/logout → Refresh Token 무효화
# design.md (자동 생성)
## 아키텍처 설계

### 컴포넌트
- AuthController: HTTP 요청 처리
- AuthService: 비즈니스 로직
- TokenRepository: Redis 기반 토큰 저장
- UserRepository: DB 사용자 조회

### 데이터 흐름
로그인 요청 → AuthController → AuthService
  → UserRepository (사용자 검증)
  → JWT 생성 (Access 15분 / Refresh 7일)
  → TokenRepository (Refresh Token 저장)
  → 응답
# tasks.md (자동 생성)
## 구현 체크리스트

1. [ ] User 엔티티 및 DB 스키마 생성
2. [ ] JWT 유틸리티 함수 구현
3. [ ] AuthService.login() 구현
4. [ ] AuthService.refresh() 구현
5. [ ] Google OAuth 연동
6. [ ] AuthController 라우트 정의
7. [ ] 단위 테스트 작성
8. [ ] 통합 테스트 작성
[스펙 기반 개발의 의미]
→ 스펙이 소스 오브 트루스 — 코드는 스펙의 빌드 아티팩트
→ 스펙 수정 → 코드 자동 재동기화
→ 1달 후 돌아와도 "왜 이렇게 짰는지" 스펙에 남아있음
→ 새 팀원 온보딩: 스펙 파일 3개 읽으면 전체 컨텍스트 파악
→ 에이전트가 더 좋아질수록 스펙이 풍부한 코드베이스가 유리

실전 2 — Hooks로 반복 작업 자동화

Hooks는 Kiro에서 가장 실용적인 기능입니다. 파일 이벤트에 반응해서 에이전트가 자동으로 작업을 실행합니다.

# .kiro/hooks/auto-test.yaml
name: "React 컴포넌트 저장 시 테스트 자동 생성"
trigger:
  type: file_save
  pattern: "src/components/**/*.tsx"
action:
  prompt: |
    방금 저장된 {file}에 대한 단위 테스트를 작성해줘.
    - React Testing Library 사용
    - 컴포넌트 렌더링 테스트
    - 주요 사용자 인터랙션 테스트
    - 엣지 케이스 포함
  output: "{file.dir}/__tests__/{file.name}.test.tsx"
# .kiro/hooks/api-docs.yaml
name: "API 엔드포인트 수정 시 문서 자동 업데이트"
trigger:
  type: file_save
  pattern: "src/routes/**/*.ts"
action:
  prompt: |
    {file}의 API 엔드포인트 변경사항을 감지하고
    docs/api.md를 최신 상태로 업데이트해줘.
    OpenAPI 3.0 형식으로 작성.
  output: "docs/api.md"
# .kiro/hooks/security-scan.yaml
name: "커밋 전 보안 스캔"
trigger:
  type: pre_commit
action:
  prompt: |
    변경된 파일에서 다음 보안 이슈를 스캔해줘:
    - SQL 인젝션 가능성
    - 하드코딩된 시크릿
    - XSS 취약점
    - 안전하지 않은 디시리얼라이제이션
    이슈 발견 시 커밋 차단하고 수정 방법 제안.
[Hooks 핵심 트리거 타입]
→ file_save: 파일 저장 시 실행 (테스트 자동생성, 린트 체크)
→ file_create: 새 파일 생성 시 (보일러플레이트 자동 주입)
→ pre_commit: 커밋 전 실행 (보안 스캔, 품질 게이트)
→ pr_open: PR 열릴 때 (코드 리뷰 자동화, 문서 업데이트)
→ custom: 개발자 정의 이벤트

실전 3 — Steering 파일로 영구 컨텍스트 설정

Steering 파일은 CLAUDE.md와 같은 역할입니다. 프로젝트 전체에 적용되는 규칙을 한 번 작성하면 모든 세션에서 자동 적용됩니다.

# .kiro/steering/global.md
## 개발 원칙

### 언어 및 프레임워크
- TypeScript strict mode 필수
- 백엔드: NestJS + Prisma
- 프론트엔드: Next.js 15 + TailwindCSS
- 테스트: Jest + React Testing Library

### 코딩 규칙
- 함수는 단일 책임 원칙 준수
- 에러 처리는 Result 타입 패턴 사용
- 모든 API 응답은 {data, error, meta} 구조
- 환경변수는 절대 하드코딩 금지

### 아키텍처
- 레이어: Controller → Service → Repository
- 의존성 주입 필수 (테스트 가능성 확보)
- AWS Lambda 배포 고려한 무상태 설계
# .kiro/steering/security.md
## 보안 정책

- 모든 엔드포인트는 인증 필수 (public 명시적 표기)
- SQL 쿼리는 Prisma ORM만 사용 (raw query 금지)
- 사용자 입력은 반드시 zod로 검증
- 민감 데이터는 응답에서 제외 (password, token 등)
- Rate limiting은 모든 API에 적용
[Steering vs CLAUDE.md 차이]
→ Steering: Kiro 전용, 여러 파일로 분리 가능 (global/security/api 등)
→ CLAUDE.md: Claude Code 전용, 단일 파일
→ 공통점: 매 세션마다 자동 로드, 영구 컨텍스트 역할
→ Kiro 장점: 도메인별 분리로 관리 용이

실전 4 — MCP 서버 연결 (Kiro Powers)

Kiro는 MCP를 네이티브로 지원합니다. Kiro Powers는 MCP 서버 마켓플레이스입니다.

// .kiro/mcp.json
{
  "servers": {
    "github": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
      }
    },
    "aws-docs": {
      "type": "url",
      "url": "https://mcp.aws.amazon.com/docs",
      "description": "AWS 공식 문서 실시간 조회"
    },
    "figma": {
      "type": "url",
      "url": "https://mcp.figma.com/v1",
      "env": {
        "FIGMA_TOKEN": "${FIGMA_API_KEY}"
      }
    }
  }
}
[Kiro Powers 마켓플레이스]
→ AWS 공식 문서 MCP: 최신 AWS 문서 실시간 조회
→ Figma MCP: 디자인 변경 감지 → CSS 자동 검증 Hook 연동 가능
→ HealthOmics MCP: 도메인 특화 에이전트 팩 (의료 분야)
→ 일반 MCP 서버도 전부 호환 (기존 Claude Code MCP 설정 그대로 사용 가능)

Kiro vs Claude Code vs Cursor 한눈에 비교

구분          Kiro              Claude Code       Cursor
철학          스펙 주도          추론 중심          속도 중심
모델          Claude+Nova        Claude Opus 4.7   Composer 2
기반          VS Code (Code OSS) 터미널            VS Code
핵심 기능     Specs+Hooks        컨텍스트 관리      Agents Window
자동화        Hooks (이벤트)     수동 프롬프트      Background Agent
팀 협업       스펙 파일 공유     CLAUDE.md         .cursorrules
가격          $20/월            $20/$100/$200      $20/월
AWS 통합      네이티브          없음               없음
MCP           네이티브          네이티브           지원
추천 상황     복잡한 기능 설계   깊은 코드 분석     빠른 반복 개발

마무리

✅ Kiro를 써야 하는 상황
→ AWS 스택 (Lambda, Bedrock, CDK) 메인으로 쓰는 팀
→ 복잡한 기능을 여러 개발자가 협업하는 환경
→ 문서화, 테스트 자동화를 Hook으로 강제하고 싶을 때
→ Amazon Q Developer Pro 현재 구독 중인 팀 (마이그레이션 시점)
→ 스펙 주도 개발 방법론을 팀에 정착시키고 싶을 때

❌ Kiro가 맞지 않는 상황
→ 빠른 프로토타이핑, 1인 개발자 (스펙 작성 오버헤드)
→ Claude Code나 Cursor가 이미 팀에 정착된 경우
→ AWS 생태계 완전히 안 쓰는 팀
→ 탐색적 개발이 많고 요구사항이 자주 바뀌는 초기 스타트업

관련 글

반응형