Pulumi 이란
범용 프로그래밍 언어를 사용한 IaC
Pulumi는 TypeScript, Python, Go, C#, Java와 같은 범용 프로그래밍 언어로 클라우드 인프라를 설명할 수 있는 Infrastructure as Code(IaC) 플랫폼입니다.
주요 기능
- 실제 언어 — TypeScript, Python, Go, C#, Java, YAML
- 멀티 클라우드 — AWS, Azure, GCP, Kubernetes 및 100개 이상의 제공업체
- 상태 관리 — 내장된 상태 관리
- 시크릿 — 기본 제공 암호화
- Policy as Code — 규정 준수 규칙
Terraform 대비 장점
- HCL 대신 완전한 언어
- IDE 지원 (자동 완성, 리팩토링)
- 코드 재사용 (함수, 클래스)
- 인프라 테스트
- 네이티브 조건문 및 루프
TypeScript 예제
import * as aws from "@pulumi/aws";
const bucket = new aws.s3.Bucket("my-bucket", {
website: { indexDocument: "index.html" }
});