Cert Notes/ 출퇴근 학습 노트
로드맵
KOEN
CLF-C02 · FoundationalCloud Practitioner - Foundational
DVA-C02 · AssociateDeveloper - Associate
  • Week 1
    • 1.개발자 시점에서 본 AWS: 리전, 인프라, 그리고 책임의 경계
    • 2.IAM의 4대 엔터티: User, Group, Role, Policy
    • 3.STS와 정책 조건: 임시 자격증명의 깊은 세계
    • 4.AWS CLI와 SDK: 자격증명 체이닝부터 SigV4까지
    • 5.Week 1 종합: 인프라와 IAM이 만드는 신뢰의 사슬
  • Week 2
    • 1.EC2의 해부학: Nitro, 인스턴스 패밀리, AMI의 내부
    • 2.개발자가 만져야 하는 네트워크 경계: Security Group, Key Pair, User Data
    • 3.EC2의 디스크 layer: EBS, Instance Store, 그리고 그 위의 EFS·FSx
    • 4.트래픽을 분산하는 layer: ALB·NLB·GWLB, 그리고 Auto Scaling Group
    • 5.Week 2 종합: EC2 layer가 한 시스템 안에서 맞물리는 방식
  • Week 3
    • 1.Lambda Execution Model: Firecracker MicroVM이 함수를 실행하는 방법
    • 2.Lambda 이벤트 소스 매핑: SQS·Kinesis·DynamoDB Streams 내부 폴링 메커니즘
    • 3.Lambda 버전·별칭·레이어: Immutable 배포와 의존성 분리의 원리
    • 4.Lambda 동시성 제어: Token Bucket 알고리즘과 에러 처리 계층
    • 5.Week 3 복습: Lambda 종합 시나리오로 실전 감각 다지기
  • Week 4
    • 1.API Gateway REST API: 요청이 백엔드에 도달하기까지의 전체 경로
    • 2.API Gateway 통합 유형과 VTL 매핑 템플릿: Lambda 없이 DynamoDB를 직접 호출하기
    • 3.API Gateway 보안·캐싱·스로틀링: SigV4부터 Token Bucket까지 요청이 통제되는 방법
    • 4.WebSocket API와 HTTP API: 실시간 연결과 경량 프록시의 내부 동작
    • 5.Week 4 복습: API Gateway 종합 시나리오로 실전 감각 다지기
  • Week 5
    • 1.S3: 객체 스토리지의 철학과 스토리지 클래스 설계
    • 2.S3: 버전 관리, 수명 주기 정책, 그리고 복제의 내부 동작
    • 3.S3 보안: 버킷 정책, 암호화, 그리고 접근 제어의 계층 구조
    • 4.S3 성능 최적화: 멀티파트 업로드, 전송 가속화, 접두사 설계
    • 5.S3 고급 기능 + Week 5 종합 복습
  • Week 6
    • 1.DynamoDB: NoSQL의 철학과 파티션 설계의 수학
    • 2.DynamoDB: 파티션 키 설계의 수학, LSI/GSI 내부 동작, Single-Table Design
    • 3.DynamoDB: RCU/WCU 수학, DAX 아키텍처, Streams 처리
    • 4.DynamoDB: 트랜잭션, 조건부 쓰기, TTL의 내부 동작
    • 5.Week 6 종합 복습: DynamoDB 전체 지형도
  • Week 7
    • 1.RDS: 관리형 RDBMS의 두 얼굴, Multi-AZ와 Read Replica
    • 2.RDS의 보안·백업·모니터링: Capital One 사고가 남긴 교훈들
    • 3.ElastiCache: 인메모리 캐시는 어떻게 DB를 살리는가
    • 4.Aurora: AWS가 RDBMS의 스토리지 레이어를 다시 쓴 이야기
    • 5.Week 7 종합: 데이터 계층 의사결정의 모든 것
  • Week 8
    • 1.CodeCommit과 CodeBuild: AWS가 그린 CI/CD의 첫 두 칸
    • 2.CodeDeploy: 배포라는 가장 위험한 순간을 안전하게
    • 3.CodePipeline: CI/CD 흐름의 지휘자
    • 4.Elastic Beanstalk: AWS가 만든 가장 친절한 PaaS
    • 5.Week 8 종합 복습: CI/CD 파이프라인을 머릿속에서 끝까지 돌려보기
  • Week 9
    • 1.KMS: 암호화 키를 직접 만지지 않고 다루는 기술
    • 2.Secrets Manager와 Parameter Store: 비밀을 코드 밖으로 꺼내기
    • 3.Cognito: 인증과 인가를 두 개의 풀로 나눈 이유
    • 4.WAF, Shield, ACM: 트래픽이 앱에 닿기 전에 거르는 세 겹
    • 5.Week 9 복습: 보안은 한 줄의 설정이 아니라 계층의 합이다
  • Week 10
    • 1.CloudWatch: 지표 하나가 어떻게 알람과 자동화로 이어지는가
    • 2.X-Ray: "어디서 느린가"를 답하는 분산 추적
    • 3.CloudTrail과 EventBridge: 감사와 반응의 두 축
    • 4.CloudWatch 고급: 컨테이너, 합성 모니터링, 그리고 ML 이상 탐지
    • 5.Week 10 종합: 모니터링이라는 하나의 이야기
  • Week 11
    • 1.SQS: 큐 하나가 어떻게 시스템을 떼어놓는가
    • 2.SNS: 한 번 발행하면 모두가 듣는다
    • 3.Kinesis: 흐르는 데이터를 붙잡아두는 로그
    • 4.Step Functions와 AppSync: 흐름을 코드 밖으로 꺼내다
    • 5.Week 11 종합: 메시징의 모델을 가르는 질문들
  • Week 12
    • 1.ECS와 Fargate: 컨테이너를 "서버 없이" 돌린다는 말의 진짜 의미
    • 2.CloudFormation: 인프라를 "선언"한다는 발상
    • 3.SAM: 서버리스를 위해 CloudFormation을 압축하다
    • 4.CDK와 서버리스 아키텍처: "인프라를 코드로 쓴다"의 끝, 그리고 좋은 설계의 문법
    • 5.Week 12 종합 복습: 컨테이너와 IaC를 하나의 그림으로 꿰기
  • Week 13
    • 1.최종 복습 1: IAM, EC2, Lambda, API Gateway
    • 2.최종 복습 2: S3, DynamoDB, RDS, ElastiCache
    • 3.최종 복습 3: 보안, 모니터링, CI/CD
    • 4.최종 복습 4: 메시징, 컨테이너, 아키텍처 패턴
    • 5.최종 모의고사 + 시험 준비 완료
SAA-C03 · AssociateSolutions Architect - Associate
SOA-C02 · AssociateCloudOps Engineer - Associate
SAP-C02 · ProfessionalSolutions Architect - Professional
DOP-C02 · ProfessionalDevOps Engineer - Professional
SCS-C03 · SpecialtySecurity - Specialty
MLA-C01 · AssociateMachine Learning Engineer - Associate
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
MLS-C01 · SpecialtyMachine Learning - Specialty
합격 후기
← DVA-C02/Week 11/Day 4
DVA-C02· AssociateWeek 11 · Day 4읽기 약 16분

Day 4 - Step Functions와 AppSync: 흐름을 코드 밖으로 꺼내다

지금까지 본 SQS·SNS·Kinesis는 컴포넌트를 떼어놓는 도구였다. 그런데 현실의 비즈니스 프로세스는 떼어놓은 조각들을 다시 순서대로 엮어야 한다. "주문을 검증하고 → 재고를 확인하고 → 결제하고 → 실패하면 환불하고 → 성공하면 알림을 보낸다." 이걸 Lambda 안에 if-else와 try-catch로 짜 넣으면, 그 함수는 곧 비대해지고 상태는 코드 깊숙이 숨어버려 "지금 어느 단계에서 멈췄는지" 알 수 없게 된다. AWS Step Functions는 이 흐름(workflow)을 코드 밖으로 꺼내 명시적인 상태 기계로 만든다. 그리고 AppSync는 비슷한 정신을 데이터 계층에 적용해, 여러 백엔드에서 데이터를 모으는 "흐름"을 GraphQL 한 쿼리로 선언하게 한다.

DVA-C02에서 Step Functions는 "Lambda를 어떻게 오케스트레이션하나", "Standard와 Express의 차이", "외부 시스템 응답을 어떻게 기다리나"로 자주 나온다. AppSync는 "실시간 구독", "다중 데이터 소스", "API Gateway와의 차이"로 출제된다. 이번 글은 워크플로를 코드에서 분리하는 것이 왜 가치 있는지, 상태 기계라는 이론적 토대, 서비스 통합 패턴(.sync, .waitForTaskToken)이 푸는 문제, 그리고 GraphQL이 REST와 근본적으로 다른 지점을 깊이 들여다본다.

워크플로를 코드에서 꺼내는 이유: 오케스트레이션 대 코레오그래피

여기부터는 Pro 전용입니다

Week 1은 누구나 무료로 볼 수 있어요. Week 2부터의 전체 학습 자료와 모의고사·무제한 복습은 Pro 플랜에서 이용할 수 있습니다.

Pro 알아보기로그인
이전Kinesis: 흐르는 데이터를 붙잡아두는 로그Week 11 · Day 3다음 Week 11 종합: 메시징의 모델을 가르는 질문들Week 11 · Day 5