AWS CDK: AWS CloudFormation을 추상화하자

2025. 11. 11. 21:25·CI&CD

지난 주 토요일 AWS Community Day 2025에 참여했다. 5월에 참여했던 Student Community Day와는 다르게, 이번에는 학생들 뿐만 아니라 AWS 인프라를 사용하는 다양한 사용자(주로 현직 개발자 등..) 분들이 모두 참여할 수 있는 날이었다. 그래서인지 세미나의 주제도 상당히 큰 규모를 가정하고 말하고 있었고, 솔직히 내 기준에는 조금 어려웠기도 했다.

 

다음 해에 예정된 커뮤니티 데이까지, 인프라에 대한 인사이트를 넓히고자 한다. Student Community Day 2025 에서는 Terraform이라는 IaC 도구를 블로그 글로 다루며 AWS CloudFormation과도 비교했었다. 이번 Community Day에서는 여기에서 더 나아가 CDK 라는 도구를 알게 되었는데, 세미나 내용을 요약하며 정리해보고자 한다.

 

AWS CDK란?

AWS CDK(Cloud Development Kit)는 AWS CloudFormation을 추상화한 도구이다. 기존에 IaC 도구로 CloudFormation을 사용했다면 인프라를 YAML/JSON 으로 작성했을 것이다. CDK를 사용하면 이를 TypeScript, Python, Java 등의 프로그래밍 언어로 작성할 수 있게 해준다.

CloudFormation vs CDK

상세한 비교에 앞서 둘의 차이를 한줄로 요약하자면, CloudFormation은 '인프라 설계도'이고, CDK는 '인프라 설계도를 코드로 자동 생성하는 도구'이다.

 

둘은 모두 IaC 도구이기 때문에, 인프라 문서화, 버전 관리 등과 같은 IaC의 장점은 동일하게 가진다. 그러나 CloudFormation은 JSON/YAML을 통한 문서 기반이기 때문에 인프라 하나하나를 굉장히 자세히 기술해야 한다. 이에 반해 CDK는 프로그래밍 언어를 통해 캡슐화가 되어있기 때문에 한층 더 간단하고, 우리에게 친숙한 프로그래밍 언어 문법을 녹여 조건문/반복문 같은 소프트웨어 수준의 복잡한 로직을 간단하게 작성할 수 있다.

 

그리고 PoC(Proof of Concept) 측면에서, CloudFormation은 실험적 인프라 구축/파괴가 유연하지 않다. (정적 문서 기반이므로 구조 변경이 복잡하다고 하는데, 사실 사용해보지 않은 입장에서 자세하게 설명하기는 무리가 있을 것 같다.) CDK는 코드 기반이므로 변수나 조건만 바꿔서 PoC 하기 상대적으로 편하다.

 

그렇다고 CDK가 무조건 좋냐 하면 그것도 아니다. AWS의 인프라는 기본적으로 CloudFormation이 가장 우선 지원한다. CDK는 각 프로그래밍 언어가 CloudFormation을 한번 추상화한 Wrapper 구조에 가깝기 때문에, CloudFormation보다 늦게 지원할 수 있다. (이 Wrapper 구조 특성상, CDK를 잘 쓰려면 일단 CloudFormation을 잘 알아야 하는 점을 기억하자.)

 

그리고 CDK는 약간의 불안정성을 겪을 수 있다. 이는 세미나 연사님이 말씀해주신 사례를 통해 알게 된 것인데, 분명 직관적이고 필요한 기능이지만 CDK가 원하는 대로 작동하지 않아 PR을 통해 반영시켜본 경험이 있다고 하셨다. 본인이 열성적인 CDK 유저라면, 이러한 오픈 소스에 기여할 수 있다는 측면에서 장점이 될 수도 있다.

AI와 CDK

Amazon Q는 AWS의 AI 기반 클라우드 어시스턴트이다. 우리는 Amazon Q를 통해 우리 계정 내 인프라 리소스를 분석하고, SPOF(Single Point Of Failure), 보안 위험 등을 파악하며 인프라 개선을 할 수 있다. 세미나 연사님은, 이 Amazon Q를 통해 얻은 인프라 개선안을, CDK를 통한 빠른 PoC로 검증이 가능하다는 말씀을 해주셨다.

 

AWS에서 만든 Kiro 라는 AI IDE가 있는데, 이 Kiro IDE는 스펙 주도 개발(Spec-Driven-Development)를 철학으로 내세우고 있다. 개발자는 프로젝트 요구사항을 제공하고, Kiro가 해당 프로젝트의 스펙을 참고해 CDK 코드를 만들어주면 Amazon Q와 비슷하게 빠른 PoC가 가능하지 않을까 개인적으로 예상해본다.

'CI&CD' 카테고리의 다른 글

Terraform으로 Infra를 Code로 관리하자!  (0) 2025.05.28
내 손으로 데이터베이스를 날린, 그 후 5일간의 이야기  (1) 2025.05.14
Amazon ECR/ECS 란 무엇일까?  (1) 2025.05.07
'CI&CD' 카테고리의 다른 글
  • Terraform으로 Infra를 Code로 관리하자!
  • 내 손으로 데이터베이스를 날린, 그 후 5일간의 이야기
  • Amazon ECR/ECS 란 무엇일까?
에싀
에싀
Dopamine-Driven-Develop
  • 에싀
    //comment
    에싀
  • 전체
    오늘
    어제
    • Programming (11)
      • Spring (1)
      • Algorithm (0)
      • CI&CD (4)
      • Project (1)
      • Network (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
    • solved.ac
  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
에싀
AWS CDK: AWS CloudFormation을 추상화하자
상단으로

티스토리툴바