$ yh.log
AWS DVA-C02 핵심 요약본

AWS DVA-C02 핵심 요약본

AWSDVA-C02자격증

작성자 : 오예환 | 작성일 : 2026-02-08 | 수정일 : 2026-02-08 | 조회수 :

AWS DVA-C02 핵심 요약본

이 문서는 AWS Certified Developer Associate (DVA-C02) 시험 대비를 위한 핵심 요약본입니다.


1. AWS 글로벌 인프라

핵심 구조

계층설명수량
Region지리적 영역 (예: ap-northeast-2)30+
Availability Zone리전 내 독립된 데이터센터3~6개/리전
Edge LocationCDN 캐시 서버 (CloudFront)400+

리전 선택 우선순위

  1. 규정 준수 (Compliance) - 데이터 주권
  2. 지연 시간 (Latency) - 고객과 가까이
  3. 서비스 가용성 - 모든 서비스가 모든 리전에 있는 건 아님
  4. 가격 - 리전마다 다름 (us-east-1이 가장 저렴)

Global vs Regional 서비스

GlobalRegional
IAM, Route 53, CloudFront, WAFEC2, S3, RDS, Lambda, VPC

2. IAM (Identity & Access Management)

핵심 구성 요소

구성 요소설명비유
Users실제 사람사원증
Groups사용자 모음 (그룹 안에 그룹 불가)부서
RolesAWS 서비스/애플리케이션용 권한직책
PoliciesJSON으로 정의된 권한출입 권한증

Policy 핵심 요소

{
  "Effect": "Allow/Deny", // 필수
  "Action": ["s3:GetObject"], // 필수
  "Resource": ["arn:aws:s3:::bucket/*"], // 필수
  "Condition": {} // 선택
}

IAM Best Practices

  • Root 계정: 일상 사용 금지, MFA 필수, Access Key 생성 금지
  • 최소 권한 원칙 (Least Privilege)
  • EC2/Lambda는 IAM Role 사용 (Access Key 하드코딩 금지!)
  • Access Key는 Git에 커밋 금지

보안 도구

도구수준용도
Credentials Report계정전체 사용자 보안 상태 CSV
Access Advisor사용자서비스 접근 기록, 불필요한 권한 찾기

3. EC2 (Elastic Compute Cloud)

인스턴스 타입 명명 규칙

m5.2xlarge = 인스턴스 클래스(m) + 세대(5) + 크기(2xlarge)

타입용도시리즈
범용웹 서버, 개발환경T, M
컴퓨팅 최적화배치, ML, 게임 서버C
메모리 최적화DB, 캐시, 실시간 처리R, X
스토리지 최적화OLTP, 데이터 웨어하우스I, D, H

Security Group

  • Inbound: 기본 모두 차단 ❌ (허용 규칙 추가 필요)
  • Outbound: 기본 모두 허용 ✅
  • 타임아웃 → SG 문제 / Connection Refused → 애플리케이션 문제

EC2 구매 옵션

옵션할인특징용도
On-Demand없음약정 없음단기, 테스트
Reserved~72%1-3년 약정24/7 서버, DB
Savings Plans~72%사용량 약정, 유연장기 사용
Spot~90%언제든 중단 가능배치, 분석 (중단 OK)
Dedicated Host~70%물리 서버 전용라이선스, 규제

4. EC2 스토리지

EBS vs EFS vs Instance Store

항목EBSEFSInstance Store
연결단일 EC2다중 EC2단일 EC2
AZ단일 AZMulti-AZ단일
영속성❌ (임시)
OSLinux/WindowsLinux만Linux/Windows
용량프로비저닝자동 확장고정
성능좋음좋음최고

EBS 볼륨 타입

타입종류최대 IOPS용도부팅
gp3SSD16,000일반 (권장)
io2SSD256,000고성능 DB
st1HDD500빅데이터, 순차 처리
sc1HDD250아카이브, 저비용

EBS Snapshot

  • 스냅샷으로 다른 AZ/Region에 EBS 복원 가능
  • Archive: 75% 저렴, 복원 24~72시간
  • Recycle Bin: 실수로 삭제해도 복구 가능

5. 고가용성 & 확장성

확장성 종류

유형방법AWS
수직 확장인스턴스 크기 증가타입 변경
수평 확장인스턴스 수 증가ASG + ELB

ELB 종류

ELBLayer용도고정 IP
ALB7 (HTTP)웹 앱 (가장 많이 사용)
NLB4 (TCP/UDP)초고성능, 게임, 금융
GWLB3 (IP)보안 어플라이언스-

ALB 핵심

  • URL 경로, 호스트, 쿼리 파라미터로 라우팅
  • 클라이언트 IP: X-Forwarded-For 헤더에서 확인
  • Target: EC2, ECS, Lambda, IP

Auto Scaling Group

  • Minimum / Desired / Maximum 용량 설정
  • Launch Template으로 EC2 설정 정의

스케일링 정책

정책설명용도
Target Tracking"CPU 40% 유지" 자동 조절가장 쉬움
Simple/StepCloudWatch 알람 기반세밀한 제어
Scheduled예약된 시간에 스케일링예측 가능한 트래픽
PredictiveML 기반 예측패턴 있는 트래픽

Cross-Zone Load Balancing

  • ALB: 기본 활성화 (무료)
  • NLB/GWLB: 기본 비활성화 (AZ 간 데이터 비용 발생)

6. RDS, Aurora, ElastiCache

RDS 핵심

  • AWS 관리형 관계형 DB (PostgreSQL, MySQL, MariaDB, Oracle, SQL Server)
  • SSH 접속 불가 (RDS Custom 제외)
  • Read Replica: 최대 15개, 비동기 복제, SELECT만 가능
  • Multi-AZ: 동기 복제, 장애조치용 (스케일링 X)

Read Replica vs Multi-AZ

구분Read ReplicaMulti-AZ
복제비동기 (ASYNC)동기 (SYNC)
용도읽기 성능 향상재해 복구 (DR)
스케일링OX

Aurora

  • AWS 자체 개발 DB, PostgreSQL/MySQL 호환
  • MySQL보다 5배, PostgreSQL보다 3배 빠름
  • 3개 AZ에 6개 복제본 (쓰기 4개, 읽기 3개 필요)
  • Writer Endpoint / Reader Endpoint (로드밸런싱)

RDS Proxy

  • DB 연결 풀링, 장애조치 66% 단축
  • Lambda + RDS 조합에 필수
  • VPC 내부에서만 접근 가능

ElastiCache

  • 관리형 인메모리 DB (Redis / Memcached)
  • Redis: Multi-AZ, 영속성, 복잡한 데이터 구조
  • Memcached: 샤딩, 멀티스레드, 비영속적

캐싱 전략

전략설명특징
Lazy Loading캐시 미스 시 DB 조회 후 캐싱요청된 데이터만 캐싱
Write-ThroughDB 쓰기 시 캐시도 동시 저장항상 최신 데이터

7. Route 53

레코드 타입

타입설명비고
A호스트명 → IPv4가장 기본
AAAA호스트명 → IPv6-
CNAME호스트명 → 다른 호스트명Zone Apex 사용 불가
Alias호스트명 → AWS 리소스Zone Apex 가능, 무료

Alias vs CNAME

구분CNAMEAlias
Zone Apex❌ 불가✅ 가능
비용쿼리 과금무료
대상모든 호스트명AWS 리소스만

라우팅 정책

정책기준헬스체크용도
Simple없음단일 리소스
Weighted가중치A/B 테스트, 카나리
Latency지연시간글로벌 성능 최적화
FailoverPrimary 상태✅ 필수재해 복구
Geolocation사용자 위치현지화, 콘텐츠 제한

8. Amazon S3

핵심 개념

  • 버킷: 전역 고유 이름, 리전에 생성
  • 객체: 키(전체 경로), 최대 5TB
  • 5GB 초과 업로드 시 Multi-part Upload 필수

보안

  • EC2에서 S3 접근 → IAM Role 사용 (Access Key 대신)
  • Cross-Account 접근 → Bucket Policy

스토리지 클래스

클래스가용성최소 저장 기간용도
Standard99.99%없음자주 접근
Standard-IA99.9%30일가끔 접근
One Zone-IA99.5%30일단일 AZ, 저비용
Glacier Instant99.9%90일밀리초 검색
Glacier Flexible99.99%90일분~시간 검색
Glacier Deep Archive99.99%180일12~48시간 검색
Intelligent-Tiering99.9%없음자동 최적화

버전 관리 & 복제

  • 버전 관리: 삭제 방지, 롤백
  • CRR (Cross-Region): 규정 준수, 지연시간 단축
  • SRR (Same-Region): 로그 집계
  • 복제는 버전 관리 필수

9. VPC (Virtual Private Cloud)

핵심 구성 요소

구성 요소설명
VPC가상 프라이빗 네트워크 (리전 레벨)
SubnetVPC 분할 (AZ 레벨)
Internet GatewayVPC ↔ 인터넷 연결
NAT GatewayPrivate Subnet → 인터넷 (아웃바운드만)

Security Group vs NACL

항목Security GroupNACL
레벨인스턴스서브넷
상태StatefulStateless
규칙ALLOW만ALLOW + DENY

VPC Endpoints

  • Gateway Endpoint: S3, DynamoDB (무료)
  • Interface Endpoint: 대부분의 서비스 (비용 발생)
  • Private Subnet에서 NAT Gateway 없이 AWS 서비스 접근

VPC Peering

  • 두 VPC 연결 (다른 계정도 가능)
  • CIDR 중복 불가
  • 전이성 없음 (A↔B↔C에서 A↔C 불가)

10. AWS CLI, SDK, IAM

EC2 Instance Metadata (IMDS)

  • http://169.254.169.254/latest/meta-data
  • IAM Role 이름 조회 가능, Policy 내용은 불가
  • IMDSv2: 세션 토큰 기반 (더 안전)

Credentials Provider Chain (우선순위)

  1. Command line options
  2. Environment variables
  3. CLI credentials file (~/.aws/credentials)
  4. CLI configuration file (~/.aws/config)
  5. Container credentials (ECS)
  6. Instance profile credentials (EC2)

Exponential Backoff

  • 5xx 서버 에러, ThrottlingException → 재시도 O
  • 4xx 클라이언트 에러 → 재시도 X (코드/권한 수정 필요)
  • AWS SDK/CLI는 자동 구현, 직접 API 호출 시 구현 필요

모범 사례

  • 코드에 자격 증명 하드코딩 ❌
  • AWS 내부에서는 항상 IAM Role 사용
    • EC2 → EC2 Instance Role
    • Lambda → Lambda Execution Role
    • ECS → ECS Task Role

11. S3 Advanced & Security

Lifecycle Rules

유형설명예시
Transition Actions스토리지 클래스 전환60일 후 Standard IA로
Expiration Actions객체 삭제365일 후 삭제

S3 성능 최적화

방식용도
Multi-Part Upload대용량 업로드 (>100MB 권장, >5GB 필수)
Transfer AccelerationEdge Location 통해 원거리 전송 속도 향상
Byte-Range Fetches병렬 다운로드, 부분 조회
Prefix 분산Prefix당 3,500 PUT + 5,500 GET/초

암호화 방식

방식키 관리특징
SSE-S3AWS기본값, AES-256
SSE-KMSAWS KMSCloudTrail 감사, KMS 할당량 주의
SSE-C고객HTTPS 필수, 키 매 요청 전달
Client-Side고객클라이언트에서 암/복호화

CORS

  • Origin = Scheme + Host + Port
  • CORS는 **자원 제공 서버(B)**에서 설정
  • S3 버킷 간 리소스 요청 시 CORS 설정 필요

Pre-Signed URL

  • 임시 S3 객체 접근 권한 부여
  • CLI: 최대 7일 (604,800초)
  • Console: 최대 12시간

S3 Access Points

  • 버킷의 보안 관리 간소화
  • Prefix별 다른 권한 부여 가능
  • VPC Origin Access Point: VPC 내부에서만 접근

12. Amazon CloudFront

CloudFront 개요

  • CDN (Content Delivery Network) 서비스
  • 전 세계 400개+ Edge Location에서 콘텐츠 캐싱
  • DDoS 방어, AWS Shield/WAF 통합

Origin 유형

Origin설명보안
S3 Bucket파일 배포/캐싱OAC (Origin Access Control)
VPC OriginPrivate Subnet 앱ALB/NLB/EC2
Custom HTTP모든 HTTP 백엔드-

OAC (Origin Access Control)

  • S3 버킷 Private 유지하면서 CloudFront만 접근 허용
  • OAI (레거시) → OAC (권장)

Cache 전략

  • Cache Key = hostname + URL (+ Headers/Cookies/Query Strings)
  • Cache Policy: Cache Key에 포함할 요소 지정
  • Origin Request Policy: Cache Key 미포함, Origin에만 전달
  • Cache Invalidation: /* 또는 /images/* 등으로 캐시 강제 갱신

Signed URL vs Signed Cookies

구분Signed URLSigned Cookies
대상개별 파일여러 파일
용도프리미엄 콘텐츠 보호다수 콘텐츠 접근

CloudFront vs S3 Pre-Signed URL

항목CloudFront Signed URLS3 Pre-Signed URL
캐싱✅ 활용❌ 직접 S3 접근
필터링IP, 경로, 날짜제한적

13. Containers (ECS, EKS, Fargate)

AWS 컨테이너 서비스

서비스설명
ECSAWS 자체 컨테이너 플랫폼
EKSAWS 관리형 Kubernetes
Fargate서버리스 컨테이너 (ECS/EKS와 함께)
ECR컨테이너 이미지 저장소

ECS Launch Type

구분EC2 Launch TypeFargate Launch Type
인프라직접 관리 (EC2)서버리스
ECS Agent설치 필요불필요
스케일링EC2 + Task 관리Task만

ECS IAM Roles

Role적용 대상용도
EC2 Instance ProfileEC2 Launch TypeECS Agent (ECR Pull, CloudWatch)
ECS Task Role각 TaskAWS 서비스 접근 (Task Definition 정의)

ECS + Load Balancer

  • ALB 권장 (대부분 사용 사례)
  • EC2: Dynamic Host Port Mapping
  • Fargate: 각 Task에 고유 Private IP

ECS Auto Scaling

  • ECS Service Auto Scaling: Task 레벨 (CPU, Memory, ALB 요청 수)
  • Cluster Capacity Provider: Task 부족 시 EC2 자동 추가

ECS Data Volumes

  • EFS: EC2 + Fargate 모두 지원, 다중 AZ 데이터 공유
  • Fargate + EFS = 완전 서버리스
  • ⚠️ S3는 파일 시스템 마운트 불가

EKS (Elastic Kubernetes Service)

  • AWS 관리형 Kubernetes
  • ECS 대안 (클라우드 무관, 기존 K8s 환경 이전에 유리)
  • Node Types: Managed Node Groups, Self-Managed, Fargate

14. Elastic Beanstalk

개요

  • 개발자 중심 배포 서비스
  • 인프라 자동 관리 (EC2, ASG, ELB, RDS)
  • 개발자는 코드만 책임
  • Beanstalk 자체는 무료 (리소스만 과금)

Environment Tier

Tier용도구성
Web ServerHTTP 요청 처리ELB + EC2 (ASG)
Worker백그라운드 작업SQS + EC2 (ASG)

배포 옵션

방식다운타임속도용도
All at once✅ 있음가장 빠름개발
Rolling느림-
Rolling + batches느림프로덕션
Immutable가장 느림프로덕션 (빠른 롤백)
Blue/Green느림프로덕션
Traffic Splitting느림카나리 테스트

.ebextensions

  • 위치: 소스 코드 루트의 .ebextensions/
  • 형식: YAML/JSON, 확장자 .config
  • 용도: 설정을 코드로 관리, 추가 리소스 생성

RDS 분리

  • Beanstalk으로 RDS 생성 시: 환경 삭제 = DB 삭제
  • 프로덕션: RDS 별도 생성 후 연결 문자열만 제공

15. AWS CloudFormation

개요

  • AWS 인프라를 선언적으로 정의 (IaC)
  • 700개+ 리소스 타입 지원
  • Template(설계도) → Stack(완성된 리소스 집합)

템플릿 구성 요소

섹션필수설명
Resources⭐ 필수AWS 리소스 정의
Parameters선택동적 입력값
Mappings선택정적 변수 (리전별 AMI 등)
Outputs선택값 출력/내보내기, Cross-Stack
Conditions선택조건부 리소스 생성

핵심 함수

함수용도
!Ref파라미터 값 / 리소스 ID 참조
!GetAtt리소스 속성 가져오기
!FindInMapMappings에서 값 조회
!ImportValue다른 스택 Output 가져오기
!Sub문자열 치환

Pseudo Parameters

  • AWS::AccountId, AWS::Region, AWS::StackName
  • 기본 제공, 별도 정의 없이 사용

DeletionPolicy

정책동작사용 사례
Delete삭제 (기본)일반
Retain보존중요 데이터
Snapshot스냅샷 후 삭제RDS, EBS

Custom Resources

  • CloudFormation 미지원 리소스 정의
  • Lambda 함수 연동
  • 사용 사례: S3 버킷 비우기 후 삭제

StackSets

  • 여러 계정/리전에 스택 동시 배포
  • AWS Organizations 전체 적용 가능

16. Integration & Messaging (SQS, SNS, Kinesis)

비동기 통신 서비스

서비스모델용도
SQSQueue (Pull)메시지 대기열, 디커플링
SNSPub/Sub (Push)여러 수신자에게 발행
KinesisStream실시간 데이터 스트리밍

SQS Standard vs FIFO

항목StandardFIFO
순서Best effort보장
중복가능Exactly-once
처리량무제한300 msg/s

SQS 핵심 개념

  • Visibility Timeout: 기본 30초, 처리 중 다른 Consumer에게 안 보임
  • Dead Letter Queue (DLQ): MaximumReceives 초과 시 실패 메시지 저장
  • Long Polling: 1~20초 대기, API 호출 감소 (권장)
  • Extended Client: S3 활용하여 1GB까지 메시지 저장

SNS Fan-Out 패턴

SNS Topic SQS Queue 1 Service A
 SQS Queue 2 Service B
 Lambda ...
  • 완전 디커플링, 데이터 손실 없음

SNS Message Filtering

  • JSON 정책으로 구독자별 메시지 필터링

Kinesis Data Streams vs Data Firehose

항목Data StreamsData Firehose
용도수집적재
실시간성Real-timeNear Real-time
데이터 저장최대 365일없음
Replay✅ 가능❌ 불가

17. Monitoring (CloudWatch, X-Ray, CloudTrail)

서비스 비교

서비스용도
CloudWatch메트릭, 로그, 이벤트, 알람
X-Ray분산 추적, 성능 문제 해결
CloudTrailAPI 호출 감사, 변경 추적

CloudWatch Metrics

  • EC2 기본 메트릭: 5분 주기 (Detailed: 1분, 유료)
  • EC2 Memory는 기본 제공 안 됨 → Custom Metric 필요
  • Custom Metric: PutMetricData API

CloudWatch Logs

  • Log Group → Log Stream 구조
  • 보존: 만료 없음 ~ 10년
  • Unified Agent: 시스템 메트릭 + Logs (RAM 포함)

CloudWatch Alarms

  • 상태: OK, INSUFFICIENT_DATA, ALARM
  • Targets: EC2 (Stop/Terminate/Recover), ASG, SNS
  • Composite Alarms: AND/OR 조합, 알람 노이즈 감소

EventBridge (구 CloudWatch Events)

  • Schedule (Cron) + Event Pattern 기반 자동화
  • 18개+ AWS 서비스와 연동

X-Ray 핵심 개념

용어설명
Trace요청의 전체 경로
Segment각 서비스가 기록
Annotations인덱싱됨, 검색 가능
Sampling일부만 기록 (비용 절감)

CloudTrail

  • 기본 활성화, 모든 API 호출 기록
  • Management Events (기본), Data Events (선택), Insights (비정상 탐지)
  • 기본 보존: 90일 → S3로 장기 저장

18. AWS Lambda

Lambda vs EC2

항목EC2Lambda
서버 관리직접불필요
실행지속온디맨드
최대 시간무제한15분
스케일링수동자동

호출 유형

유형서비스특징
동기ALB, API Gateway즉시 응답
비동기S3, SNS, EventBridge재시도 3회, DLQ
Event Source MappingKinesis, DynamoDB, SQSPolling, 배치

Lambda IAM Roles

  • Execution Role: Lambda가 AWS 서비스 접근
  • Resource-based Policy: 다른 서비스가 Lambda 호출 허용

VPC 내 Lambda

  • Private 리소스 접근: VPC 배포 필요
  • 인터넷 접근: NAT Gateway 필요
  • AWS 서비스 접근: VPC Endpoint (NAT 없이)

Lambda 구성

항목
RAM128MB ~ 10GB
vCPURAM에 비례 (1,792MB = 1 vCPU)
Timeout기본 3초, 최대 15분
/tmp최대 10GB
동시 실행리전당 1,000

Cold Start 방지

  • Provisioned Concurrency: 미리 동시성 할당

Edge Functions

유형용도실행 시간
CloudFront Functions간단한 Viewer 처리< 1ms
Lambda@Edge복잡한 처리, Origin 접근5~10초

19. Amazon DynamoDB

특징

  • 완전 관리형 NoSQL, Multi-AZ 복제
  • 초당 수백만 요청, 수조 행 지원
  • 빠르고 일관된 저지연 성능

Primary Key 옵션

  • Partition Key (HASH): 고유해야 함
  • Partition Key + Sort Key (HASH + RANGE): 조합이 고유

Capacity Modes

모드특징용도
ProvisionedRCU/WCU 지정, 저렴예측 가능 워크로드
On-Demand자동, 2.5배 비쌈예측 불가 워크로드

RCU/WCU 계산

  • 1 WCU = 1KB 이하 아이템 1개/초 쓰기
  • 1 RCU = 4KB 이하 아이템 (Strongly: 1개/초, Eventually: 2개/초)

인덱스

항목LSIGSI
Partition Key동일다름
생성 시점테이블 생성 시만언제든
RCU/WCU메인 테이블별도 프로비저닝

핵심 기능

  • DAX: DynamoDB 앞단 캐시, 마이크로초 응답
  • DynamoDB Streams: 변경 데이터 캡처 (24시간 보존)
  • Global Tables: Multi-Region Active-Active 복제
  • TTL: 자동 아이템 삭제

20. Amazon API Gateway

주요 기능

  • REST API, WebSocket 지원
  • 인증/인가, API 키, Throttling
  • 요청/응답 변환, 캐싱

Integration Types

타입설명
AWS_PROXYLambda에 그대로 전달 (가장 많이 사용)
HTTP_PROXYHTTP 백엔드에 그대로 전달
AWS/HTTPMapping Template으로 변환
MOCK백엔드 없이 응답 반환 (테스트용)

Endpoint Types

유형설명
Edge-OptimizedCloudFront 경유, 글로벌
Regional같은 리전 클라이언트용
PrivateVPC 내에서만 접근

Stage & Deployment

  • 변경 후 Deployment 필수
  • Stage: dev, test, prod 환경 분리
  • Stage Variables: 환경별 다른 값 설정

Throttling

  • 기본: 10,000 RPS
  • 초과 시: 429 Too Many Requests

에러 코드

코드의미
429Too Many Requests (Throttle)
502Bad Gateway (Lambda 응답 형식 오류)
504Gateway Timeout (29초 초과)

인증 방식

  • IAM: AWS 사용자/역할
  • Cognito User Pools: 사용자 인증
  • Lambda Authorizer: 커스텀 인증 (토큰/요청 기반)

21. AWS CI/CD

CI/CD 서비스 스택

서비스역할핵심 파일
CodeCommit코드 저장소 (deprecated)-
CodePipeline파이프라인 오케스트레이션-
CodeBuild빌드 & 테스트buildspec.yml
CodeDeploy배포 자동화appspec.yml
CodeArtifact패키지 저장소-
CodeGuruML 코드 리뷰-

CodeBuild buildspec.yml

version: 0.2
env:
  variables: { NODE_ENV: "production" }
  parameter-store: { DB_PASSWORD: "/my-app/db-password" }
phases:
  install: { commands: [npm ci] }
  pre_build: { commands: [npm test] }
  build: { commands: [npm run build] }
  post_build: { commands: [zip -r app.zip dist/] }
artifacts:
  files: [app.zip, appspec.yml]
cache:
  paths: [node_modules/**/*]

CodeDeploy 배포 전략

전략다운타임롤백 속도비용
In-place있음느림낮음
Blue/Green없음빠름높음 (2배 리소스)

Lambda/ECS 배포 전략

전략설명
AllAtOnce즉시 100%
Canary10Percent5Minutes10%로 5분 → 100%
Linear10PercentEvery1Minute매 분 10%씩 증가

CodeGuru

기능용도
Reviewer정적 코드 분석, 보안 취약점
Profiler런타임 성능 분석, CPU/메모리

22. AWS SAM (Serverless Application Model)

SAM 핵심

  • Transform: AWS::Serverless-2016-10-31 (필수)
  • CloudFormation의 확장 (모든 CF 기능 사용 가능)
  • YAML로 간단하게 서버리스 앱 정의

SAM 리소스 타입

SAM 타입생성되는 것
AWS::Serverless::FunctionLambda + IAM Role
AWS::Serverless::ApiAPI Gateway REST API
AWS::Serverless::HttpApiAPI Gateway HTTP API
AWS::Serverless::SimpleTableDynamoDB

SAM CLI 명령어

명령어용도
sam init프로젝트 초기화
sam build빌드
sam deploy배포 (CloudFormation)
sam sync --watch파일 변경 감지 + 자동 동기화
sam local start-apiAPI Gateway 로컬 실행

SAM + CodeDeploy

AutoPublishAlias: live
DeploymentPreference:
  Type: Canary10Percent5Minutes
  Alarms: [!Ref MyAlarm]
  Hooks:
    PreTraffic: !Ref PreTrafficHook

23. AWS CDK (Cloud Development Kit)

CDK 특징

  • 프로그래밍 언어로 인프라 정의 (TypeScript, Python, Java, .NET, Go)
  • CloudFormation으로 변환되어 배포
  • IDE 자동완성, 타입체크 지원

Construct 레벨

레벨예시특징
L1CfnBucketCF 리소스 1:1
L2Bucket편리한 기본값
L3LambdaRestApi완성된 패턴

CDK 명령어

명령어용도
cdk init프로젝트 생성
cdk synthCF 템플릿 생성
cdk bootstrap환경 준비 (1회)
cdk deploy배포
cdk diff차이 확인

CDK vs SAM

항목SAMCDK
언어YAML프로그래밍 언어
범위서버리스 중심모든 AWS
타입체크

24. Amazon Cognito

두 가지 핵심 서비스

서비스역할반환
User Pools인증 (누구인가?)JWT 토큰
Identity Pools권한 부여 (뭘 할 수 있나?)AWS Credentials

Cognito vs IAM

항목IAMCognito
대상AWS 내부 사용자앱 사용자
규모수십~수백 명수백만 명
인증Access Key, MFA소셜 로그인, SAML

User Pools 기능

  • 회원가입/로그인, MFA, 비밀번호 재설정
  • 소셜 로그인 (Google, Facebook, Apple)
  • Hosted UI: AWS 제공 로그인 화면
  • Lambda Triggers: Pre Sign-up, Post Confirmation 등

User Pools 통합

서비스연동 방법
API GatewayCognito Authorizer
ALBauthenticate-cognito 액션

Identity Pools

  • JWT 토큰 → 임시 AWS Credentials 교환
  • Guest 접근: 비인증 사용자 허용 가능
  • Policy Variables: ${cognito-identity.amazonaws.com:sub}로 사용자별 리소스 격리

25. Other Serverless

Step Functions

State 타입설명
Task실제 작업 수행
Choice조건 분기
Parallel동시 실행
Map반복 처리
Wait대기

Step Functions 에러 처리

메커니즘설명
Retry재시도 (BackoffRate)
Catch에러 잡기, 다른 상태로

Standard vs Express

항목StandardExpress
시간최대 1년최대 5분
실행Exactly-onceAt-least-once
초당2,000+100,000+

AppSync

  • GraphQL API 서비스
  • 필요한 데이터만 요청 (Over-fetching 방지)
  • 실시간 WebSocket 지원
  • 다중 데이터 소스 통합 (DynamoDB, Lambda, RDS)

Amplify

  • 풀스택 앱 개발 플랫폼
  • 인증 (Cognito), 데이터 (AppSync), 스토리지 (S3)
  • Hosting: CI/CD + CDN (Vercel/Netlify 대안)
  • React, Vue, Next.js, iOS, Android 지원

26. AWS STS & Advanced IAM

STS 주요 API

API용도
AssumeRoleRole 가정 (같은/다른 계정)
GetSessionTokenMFA 인증 후 토큰
GetCallerIdentity현재 자격 증명 확인

IAM 정책 평가

Explicit DENY > Explicit ALLOW > Implicit DENY (기본값)

정책 변수 (Dynamic Policies)

변수설명
${aws:username}IAM 사용자 이름
${cognito-identity.amazonaws.com:sub}Cognito Identity ID

iam:PassRole

  • EC2/Lambda에 Role 연결 시 PassRole 권한 필수
  • Role의 Trust Policy에서 해당 서비스 허용 필요

Directory Services

서비스On-premise 연동
AWS Managed ADTrust 관계
AD ConnectorProxy
Simple AD❌ 불가

27. Security & Encryption

암호화 유형

유형설명
In FlightHTTPS (전송 중)
At Rest서버 측 암호화
Client-Side클라이언트가 직접

KMS Key 유형

종류비용관리 주체
AWS Owned Keys무료AWS
AWS Managed Keys무료AWS
Customer Managed$1/월고객

Envelope Encryption

  • 4KB 초과 데이터 암호화 시 필수
  • GenerateDataKey API 사용
  • DEK(Data Encryption Key)로 데이터 암호화, DEK는 KMS로 암호화

SSM Parameter Store vs Secrets Manager

항목Parameter StoreSecrets Manager
주 용도설정 + 비밀비밀 전용
자동 교체✅ (내장)
RDS 통합
비용저렴/무료비쌈

CloudHSM vs KMS

항목KMSCloudHSM
관리AWS 관리내가 관리
하드웨어공유전용
키 소유AWS 접근 가능나만 접근 가능

28. 기타 서비스

Amazon SES

  • 대량 이메일 발송 서비스
  • SMTP / API 발송 지원
  • 트랜잭션/마케팅 이메일

Amazon OpenSearch

  • 전문 검색 (Full-text Search) 엔진
  • ElasticSearch 후속 서비스
  • DynamoDB/CloudWatch Logs와 연동

Amazon Athena

  • S3에 SQL 쿼리 (Serverless)
  • $5/TB 스캔 비용
  • Parquet/ORC 컬럼형 포맷 권장

Amazon MSK

  • 관리형 Apache Kafka
  • Kinesis 대안 (Kafka 호환 필요 시)

AWS ACM

  • SSL/TLS 인증서 관리
  • Public 인증서 무료, 자동 갱신
  • ALB, CloudFront, API Gateway 통합

Amazon Macie

  • S3 민감 정보 탐지 (PII)
  • ML + 패턴 매칭
  • GDPR, HIPAA 규정 준수

AWS AppConfig

  • 실시간 설정 변경 (재배포 없이)
  • Feature Flag 관리
  • 점진적 배포 + 자동 롤백