AWS DVA 컴퓨팅 — EC2·Lambda·Beanstalk

2026-05-03확률과 통계 마스터 노트

AWS DVA-C02 마스터 노트 시리즈 2편. EC2 인스턴스 타입·구매 옵션 5종·User Data·AMI, Lambda 트리거와 실행 역할·15분 한도·동시 실행 1000, ELB 4종(ALB·NLB·CLB·Gateway)과 ASG 스케일링 정책, Elastic Beanstalk 환경 4종까지 — 컴퓨팅 영역의 자격증 핵심을 한 흐름으로.

이 글은 AWS DVA-C02 마스터 노트 시리즈의 두 번째 편입니다. 1편(IAM)에서 보안 토대를 잡았다면, 이번엔 AWS 컴퓨팅의 핵심 — EC2·Lambda·ECS·Elastic Beanstalk 4가지.

이 영역은 시험에서 가장 흔하게 나오는 자리예요. EC2 구매 옵션·Lambda 한도·ELB 종류·ASG 스케일링 — 이 4개 토픽에서 거의 매번 시나리오 문제가 출제됩니다.

처음 컴퓨팅이 어렵게 느껴지는 이유

이유는 두 가지예요.

첫째, EC2 구매 옵션이 5종이나 됩니다. On-Demand·Reserved·Savings Plan·Spot·Dedicated Host — 각자 가격 모델·할인율·복원력이 달라요. 시나리오 보고 어느 걸 추천해야 하는지가 첫 단계 막힘.

둘째, Lambda·ECS·Beanstalk가 모두 "코드 실행"이라는 비슷한 자리에 있습니다. 어느 시나리오에 어떤 서비스를 골라야 하는지가 헷갈려요.

해결법은 한 가지예요. 회사 비유로 잡으세요. EC2 = "회사 사옥 안의 임대 사무실 (직접 관리)". Lambda = "주문 시 켜지는 자판기 (5분만 켜짐)". ECS = "표준 화물 박스 안에서 일하는 작업자". Beanstalk = "사무실 셋업 대행 서비스". 이 비유로 어느 자리에 어떤 서비스가 어울릴지 즉답 가능.

EC2 — 가상 서버

인스턴스 타입

타입 약어 용도
범용 t·m 균형 (개발·웹)
컴퓨팅 최적화 c CPU 집약 (인코딩)
메모리 최적화 r·x RAM 많이 (DB·인메모리)
스토리지 최적화 i·d 빠른 디스크 I/O
GPU p·g ML 훈련

구매 옵션 5종 — 시험 단골

옵션 가격 약정 할인 적합
On-Demand 분/초 단위 없음 없음 단기·예측 불가
Reserved 1년·3년 길음 최대 75% 안정 워크로드
Savings Plan 시간당 약정 1년·3년 최대 72% 유연한 약정
Spot 시장 가격 없음 (중단 가능) 최대 90% 내결함성 워크로드
Dedicated Host 호스트 단위 1년·3년 - 라이선스 BYOL

여기서 정말 중요한 시험 함정 — Spot Instance 는 90% 할인이지만 AWS가 2분 통보 후 중단 가능. 내결함성·중단 허용 가능 워크로드만.

User Data

부팅 시 자동 실행 스크립트.

#!/bin/bash
yum update -y
yum install -y httpd
systemctl start httpd
echo "Hello from $(hostname)" > /var/www/html/index.html

EC2 시작 시 1회만 실행. 부트스트래핑 표준.

AMI (Amazon Machine Image)

EC2 시작에 필요한 디스크 이미지·메타데이터. 공식 AMI + 사용자 정의 AMI + AWS Marketplace AMI 3종.

여기서 시험 함정이 하나 있어요. AMI는 리전 종속입니다. 다른 리전에서 쓰려면 복사 필요. 멀티 리전 배포의 함정.

Placement Group

종류 설명
Cluster 같은 AZ 같은 랙 (저지연·고대역폭)
Spread AZ 다름 (장애 격리)
Partition 큰 분산 시스템 (Kafka·Cassandra)

ELB — 로드 밸런서 4종

타입 계층 용도
CLB (Classic) L4·L7 Legacy, 신규 비추천
ALB (Application) L7 HTTP/HTTPS, 경로 라우팅
NLB (Network) L4 TCP·UDP, 초저지연
GLB (Gateway) L3 IDS·방화벽 같은 네트워크 어플라이언스

여기서 정말 중요한 시험 함정 — ALB는 L7 (HTTP) , NLB는 L4 (TCP), GLB는 L3. 시나리오에서 "TCP 기반 게임 서버" → NLB. "HTTP 경로별 라우팅" → ALB.

Sticky Session

같은 사용자를 같은 서버로 라우팅. 세션 데이터 일관성용.

ALB Sticky Session — Application 기반(앱 쿠키) or Duration 기반

Cross-Zone Load Balancing

여러 AZ의 모든 인스턴스에 균등 분배. ALB 기본 활성. NLB·CLB는 명시 활성 + 비용 추가.

Auto Scaling Group (ASG)

EC2 인스턴스를 자동으로 늘리고 줄이는 서비스.

스케일링 정책

정책 설명
Target Tracking 평균 CPU 50% 유지 (자동)
Simple/Step CPU 70% → +2 / 30% → -1
Scheduled 매일 9시 +5 / 18시 -3
Predictive ML 기반 사전 스케일링

Lifecycle Hook

인스턴스 시작·종료 직전에 커스텀 로직.

Pending:Wait → 시작 직전 (스크립트·설정)
Terminating:Wait → 종료 직전 (로그 백업·draining)

여기서 시험 함정이 하나 있어요. ASG의 cooldown 기본 300초 — 한 번 스케일링 후 추가 스케일링 막는 시간. 너무 짧으면 진동(thrashing).

Lambda — 서버리스 함수

핵심 한도

항목
실행 시간 최대 15분
메모리 128MB ~ 10GB
디스크 (/tmp) 기본 512MB, 최대 10GB
동시 실행 기본 1000 (계정·리전당)
환경 변수 크기 4KB
패키지 크기 (zip) 50MB 압축, 250MB 압축 해제
컨테이너 이미지 최대 10GB

여기서 정말 중요한 시험 함정 — 15분 한도. 5시간 짜리 작업은 Lambda 안 됨. ECS Fargate나 Step Functions로.

실행 역할 (Execution Role)

Lambda가 다른 AWS 서비스 호출할 때 필요한 IAM 역할.

{
  "Effect": "Allow",
  "Action": ["dynamodb:GetItem", "logs:CreateLogStream"],
  "Resource": "*"
}

Cold Start vs Warm Start

구분 Cold Warm
시점 첫 호출·일정 시간 후 최근 호출 후
지연 100ms~수초 거의 없음

Provisioned Concurrency

Cold Start 회피. 미리 N개 인스턴스 워밍.

트리거 (이벤트 소스)

  • 동기 — API Gateway, ALB, Cognito
  • 비동기 — S3, SNS, EventBridge
  • 풀(Poll-based) — DynamoDB Streams, Kinesis, SQS

여기서 시험 함정이 하나 있어요. SQS는 풀 모델 — Lambda가 SQS를 폴링. SNS는 Push. 이 차이가 시험에 자주.

Lambda Layer

공통 라이브러리·런타임을 분리해서 여러 함수에 공유.

Layer 1: NumPy·Pandas (Python ML 공통)
Layer 2: 회사 공통 유틸 함수
→ 각 Lambda 함수는 두 Layer를 참조

Elastic Beanstalk — PaaS

EC2·ELB·ASG·RDS·CloudWatch를 자동 셋업해 주는 서비스. 사옥 셋업 대행 비유.

환경 모드

환경 설명
단일 인스턴스 1대 EC2 (개발·테스트)
로드 밸런서·ASG ELB + 여러 EC2 (프로덕션 웹)

배포 정책 5종

정책 설명 다운타임
All at once 전체 한 번에 있음
Rolling 몇 대씩 교체 약간
Rolling with batch 추가 인스턴스 띄워가며 없음
Immutable 새 ASG에 새 인스턴스 → 교체 없음
Blue/Green 별도 환경 → DNS 스위치 없음

여기서 정말 중요한 시험 함정 — Immutable 배포가 가장 안전합니다. 새 ASG에 인스턴스 다 띄우고 통째로 교체. 롤백도 즉시. 비용은 약간 더.

지원 플랫폼

Node.js·Python·Java·Ruby·PHP·.NET·Docker·Go.

데이터베이스 분리

DB는 Beanstalk 환경 안이 아니라 외부에 별도 RDS 로 분리하는 게 권장. 환경 종료 시 DB 같이 삭제되는 사고 방지.

ECS·Fargate — 컨테이너

11편에서 자세히 다루지만 짧게.

ECS Launch Type

타입 인프라 관리
EC2 Launch Type 사용자 (EC2 직접 관리)
Fargate AWS (서버리스 컨테이너)

IAM 역할 두 가지

역할 누가 사용
Task Role 컨테이너 안 코드 (S3·DynamoDB 호출)
Task Execution Role ECS 에이전트 (이미지 풀·로그 송출)

여기서 시험 함정이 하나 있어요. 두 역할의 용도가 달라요. Task Role = 앱 코드 권한. Execution Role = 컨테이너 시작에 필요한 권한 (ECR·CloudWatch).

시험 직전 한 번 더 — 자주 헷갈리는 함정 모음

여기까지가 2편의 핵심입니다. 시험 직전 또는 실무에서 헷갈릴 때 다시 펼쳐 볼 수 있게 압축 노트로 마무리할게요.

  • EC2 인스턴스 타입 — t·m(범용), c(CPU), r·x(메모리), i·d(스토리지), p·g(GPU)
  • 구매 옵션 5종 — On-Demand / Reserved / Savings / Spot / Dedicated Host
  • Spot 90% 할인 + 2분 통보 후 중단 — 내결함성 워크로드
  • User Data = 부팅 시 1회 실행 스크립트
  • AMI는 리전 종속 — 멀티 리전 배포 시 복사
  • Placement Group — Cluster (저지연) / Spread (격리) / Partition (분산)
  • ELB 4종 — CLB / ALB(L7) / NLB(L4) / GLB(L3)
  • HTTP 경로 라우팅 = ALB / TCP·UDP = NLB
  • Sticky Session = 세션 일관성 / Cross-Zone = AZ 균등 분배
  • ASG 스케일링 정책 4종 — Target / Simple·Step / Scheduled / Predictive
  • ASG cooldown 기본 300초 — 진동 방지
  • Lifecycle Hook — Pending:Wait / Terminating:Wait
  • Lambda 한도 15분·메모리 10GB·동시실행 1000
  • 15분 초과 = ECS Fargate 또는 Step Functions
  • Lambda 패키지 50MB(zip) / 컨테이너 이미지 10GB
  • Cold Start 회피 = Provisioned Concurrency
  • 트리거 — 동기 / 비동기 / 풀 (SQS·Kinesis·DynamoDB Streams)
  • Lambda Layer = 공통 라이브러리 분리·재사용
  • Elastic Beanstalk = PaaS, EC2+ELB+ASG+RDS 자동
  • 환경 모드 — 단일 / 로드밸런서·ASG
  • 배포 5종 — All-at-once / Rolling / Rolling-batch / Immutable / Blue/Green
  • Immutable 가장 안전 — 새 ASG 교체
  • DB는 Beanstalk 환경 외부 RDS (환경 삭제 사고 방지)
  • ECS — EC2 Launch / Fargate (서버리스)
  • Task Role (앱 코드) vs Execution Role (컨테이너 시작) 구분

시리즈 다른 편

같은 시리즈의 다른 글들도 같은 톤으로 묶어 정리되어 있어요. 2편 컴퓨팅이 잡히면 3편 스토리지에서 EC2와 짝을 이루는 EBS·EFS·S3가 자연스럽게 따라옵니다.

공식 문서: AWS Compute ReferenceLambda Developer Guide에서 더 깊이 갈 수 있어요.

다음 글(3편)에서는 스토리지 본격 — S3 스토리지 클래스 7종·버전 관리·암호화 4가지·라이프사이클·CRR/SRR·이벤트 알림, EBS 볼륨 타입·스냅샷, EFS 멀티 AZ 공유 파일까지 풀어 갑니다.

※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

답글 남기기

error: Content is protected !!