CDK 6

Lambda와 API Gateway

학습 목표handler·runtime·event/response 형식으로 Lambda 함수를 작성할 수 있다.execution role·resource policy로 Lambda·API Gateway 권한을 최소로 연결할 수 있다.REST API와 HTTP API 차이를 보고 신규 API에 적합한 타입을 고를 수 있다.Lambda proxy integration으로 API Gateway와 함수를 IaC(CDK) 로 배포할 수 있다.앞 편 Serverless 아키텍처 선택 기준을 구체 구현으로 이어갈 수 있다.문제 상황10편에서 sync API는 Lambda가 맞다고 했는데 — handler가 event 구조를 몰라 500만 반환API Gateway REST로 만들었더니 비용·설정이 과함 — HTTP AP..

CDK 테스트와 배포

학습 목표cdk synth·diff·deploy를 로컬·CI에서 안전한 순서로 실행할 수 있다.Template assertions·snapshot test로 synth 결과를 자동 검증할 수 있다.PR CI에서 synth·diff·test를, main에서 승인 후 deploy를 구성할 수 있다.bootstrap·asset·stack approval이 배포 파이프라인에 미치는 영향을 설명할 수 있다.Terraform plan file 승인 패턴과 CDK template diff 패턴을 대응시킬 수 있다.문제 상황cdk deploy를 로컬에서만 — PR에 template 변경이 안 보이고 리뷰 불가construct id 바꿨더니 S3 bucket replace — 테스트 없이 프로덕션 적용Jest는 있는데 ..

CDK vs Terraform

학습 목표Terraform과 CDK가 같은 IaC 철학(선언·멱등)을 공유하지만 엔진·상태가 다름을 설명할 수 있다.state file vs CloudFormation stack이 plan·drift·협업에 미치는 차이를 설명할 수 있다.plan/apply와 synth/diff/deploy 워크플로를 1:1로 대응시킬 수 있다.멀티 클라우드·팀 언어·추상화 관점에서 어느 쪽을 고를지 근거를 들 수 있다.두 도구를 공존시키는 패턴(terraform-cdk, 스택 분리)을 개괄할 수 있다.문제 상황Part 1 Terraform으로 S3·VPC·remote state를 잡았는데 — AWS만 쓰면 CDK가 낫다는 말만 듣고 기준이 없음CDK cdk diff는 익숙한데 terraform plan과 뭐가 다른지 —..

CDK로 인프라 정의

학습 목표L1·L2·L3 construct 계층과 언제 어떤 레벨을 쓰는지 설명할 수 있다.ec2.Vpc·lambda.Function 등 L2로 VPC·서브넷·NAT를 정의할 수 있다.IAM Role·PolicyStatement·grantRead 등으로 권한을 선언적으로 연결할 수 있다.L1 Cfn* 로 CloudFormation 속성에 직접 접근하는 이유를 설명할 수 있다.TypeScript·Python CDK 코드의 구조 차이를 읽고 작성할 수 있다.문제 상황6편에서 s3.Bucket 한 줄은 썼는데 — VPC 3 AZ·NAT는 L2 옵션이 뭔지 모름CloudFormation 문서의 속성 이름이 L2에 없어서 막힘 — L1로 내려가야 하나IAM 인라인 policy JSON을 CDK에 하드코딩 — gr..

AWS CDK 개요

학습 목표AWS CDK(Cloud Development Kit) 가 일반 purpose 언어로 인프라를 정의하는 방식임을 설명할 수 있다.App·Stack·Construct 계층과 부모-자식 관계를 설명할 수 있다.synthesis가 CDK 코드를 CloudFormation template으로 바꾸는 과정임을 설명할 수 있다.cdk synth·cdk deploy·cdk diff가 Terraform plan/apply와 어떻게 대응되는지 비교할 수 있다.Terraform과 CDK의 상태·배포 엔진 차이를 개괄적으로 설명할 수 있다.문제 상황CloudFormation YAML 3,000줄 — !Ref·!GetAtt 추적이 지옥VPC·RDS·Lambda를 복사 붙여넣기 — 파라미터 하나 바꿀 때 전 스택 di..

IaC 오리엔테이션

학습 목표Infrastructure as Code(IaC) 가 풀려는 문제를 설명할 수 있다.Terraform·CDK·Serverless·GitOps·CD가 각각 어떤 계층·변경 주기를 담당하는지 구분할 수 있다.desired state → plan → apply/sync → drift 루프를 설명할 수 있다.플랫폼 시리즈에서 본 IaC·GitOps 개요와 본 시리즈의 심화 범위 차이를 설명할 수 있다.22편 로드맵을 보고 학습 순서를 잡을 수 있다.문제 상황VPC·RDS·IAM을 콘솔로 만들고, 6개월 뒤 누가 security group을 열었는지 모른다변경 이력이 클릭 로그에만 있고 코드·PR에 없다staging은 Terraform, prod는 수동 — 같은 모듈인데 변수·버전이 어긋난다terrafo..