10 분 소요

갑자기 인프런 강의로 갈아탔다.

EC2, RDS, S3, Route53, ELB, CloudFront, Lambda

  • ec2 (elastic compute cloud)
    • 컴퓨터를 빌려 원격으로 접속해 사용하는 서비스
  • rds (relational database service)
    • 관계형 DB 서비스
  • S3 (simple storage service)
    • 파일 저장
    • 이외에도 정적 웹사이트 호스팅이 가능함
  • route 53
    • 도메인 발급 및 관리
    • DNS system (domain name system)
  • elb (elastic load balancer)
    • 트래픽 분배
    • 서버를 2대 이상 가용할 때 elb를 필수적으로 도입
  • cloudfront
    • 파일 및 동영상을 빠르게 전송함
    • S3 저장소가 지역마다 있지 않으므로 컨텐츠의 복사본을 저장해놓을 수 있는 임시 저장소 → CDN (content delivery network)
    • CloudFront는 CDN 서비스임
  • lambda
    • 서버는 aws가 관리하고 코드만 작성하면 실행할 수 있게 해주는 서비스
    • 서버리스 (serverless) 아키텍처의 대표 서비스

  • dns (domain name system)
    • 문자를 IP 주소로 변환함

리전, 가용성, 가용 영역, 다중 AZ, 단일 AZ

  • 리전 (Region)
  • 가용성 (Availability)
    • 시스템이 정상적으로 서비스를 제공할 수 있는 가능성
    • 가용성 99.99% = 1년에 약 53분 다운 허용
    • 다운 시간이 짧을수록 고가용성 (High Availability)
  • 가용 영역 (Availability Zone, AZ)
    • 하나의 리전 내에서 물리적으로 분리된 데이터 센터
    • 자연재해로 한 AZ가 망가져도 다른 AZ는 살아있게 설계됨
    • 각 리전은 최소 3개 이상의 AZ로 구성됨
    • 참고: AWS Global Infrastructure - Regions & AZs
  • 다중 AZ (Multi-AZ)
    • 하나의 리전 안에서 여러 AZ에 시스템을 분산 배치
    • 특정 AZ 장애 시에도 서비스 중단 X → 고가용성 달성의 핵심 전략
  • 단일 AZ (Single-AZ)
    • 하나의 AZ에만 시스템 배치
    • 비용은 싸지만 해당 AZ 장애 시 서비스 다운

  • 온프레미스 (On-premise)
    • 회사가 직접 서버/인프라를 구매해 자체 전산실에서 운영하는 방식
    • 반대말 = 클라우드 (AWS)
  • 마이그레이션 (Migration)
    • 특정 환경 → 다른 환경으로 이동
    • 시험에서 “온프레미스 → AWS로 마이그레이션” 시나리오 자주 등장

S3 스토리지 클래스 유형

S3 스토리지 클래스는 저장소의 종류를 의미한다.

  • S3 Standard : 기본 스토리지 (자주 접근)
  • S3 Intelligent-Tiering : AWS가 접근 패턴을 자동 분석해 최적 계층으로 이동
  • S3 Standard-IA (Infrequent Access) : 거의 접근 안 하지만 필요 시 즉시 조회
  • S3 One Zone-IA : Standard-IA + 단일 AZ 저장 (고가용성 X, 비용 ↓)
  • S3 Glacier Instant Retrieval : 거의 접근 안 함, 필요 시 즉시 조회
  • S3 Glacier Flexible Retrieval : 조회까지 분 ~ 1시간 정도 OK
  • S3 Glacier Deep Archive : 조회까지 최대 12시간 ~ 48시간 OK (최저가)

참고: Amazon S3 Storage Classes 공식 페이지, Glacier 스토리지 클래스 문서

[접근 빈도에 따른 분류]

  • 자주 접근 → Standard
  • 거의 접근 안 함 → Standard-IA / One Zone-IA / Glacier 3종
  • 불규칙 → Intelligent-Tiering

[즉시 조회 여부]

  • 즉시 조회 가능 → Standard, Standard-IA, One Zone-IA, Glacier Instant Retrieval, Intelligent-Tiering
  • 조회 시 시간 소요 → Glacier Flexible Retrieval, Glacier Deep Archive

[Glacier]

Glacier 계열은 법/감사/규정 목적의 장기 보관에 사용한다. 단순히 “접근 빈도가 낮음” 정도라면 Glacier가 아니라 S3 Standard-IA가 정답이다. 시험 문제에서도 이 구분이 자주 나온다.

[최소 보관 기간]

  • Standard-IA / One Zone-IA / Glacier Instant Retrieval : 30일
  • Glacier Flexible Retrieval : 90일
  • Glacier Deep Archive : 180일

기간 전에 삭제하면 남은 기간만큼 비용 청구된다. Lifecycle 정책 짤 때 이거 놓치면 비용 폭탄.

[암기 Tip]

  • Standard : 기본형
  • Tiering : 계층화
  • IA(Infrequent Access) : 빈번하지 않은 접근
  • Glacier : 빙하 (장기 보관)
  • Instant : 즉시

S3 버전 관리, 객체 잠금, 수명 주기 정책

S3 버전 관리

S3에 같은 이름의 파일을 중복 업로드하면 알림 없이 덮어쓴다. 기존 파일을 잃지 않으려면 버전 관리(Versioning) 기능을 켜야 한다. 버전 관리가 켜져 있으면 동일 키로 업로드해도 새 버전이 생기고 이전 버전이 그대로 남는다.

참고: Using versioning in S3 buckets

S3 객체 잠금 (Object Lock)

일정 기간 동안 파일의 수정/삭제를 차단하는 기능. 실수로 또는 악의적으로 파일이 변경되는 걸 막는 용도. WORM (Write-Once-Read-Many) 모델이라고도 한다.

보존 모드 2가지

  1. 거버넌스 모드 (Governance Mode) : s3:BypassGovernanceRetention 권한이 있는 관리자는 수정/삭제 가능
  2. 규정 준수 모드 (Compliance Mode) : 루트 사용자조차도 보존 기간 내 수정/삭제 불가

추가로 법적 보존 (Legal Hold) 이라는 보조 기능이 있다. 기간 무관, 명시적으로 해제할 때까지 객체를 잠근다. 소송처럼 종료 시점이 불명확한 이슈에 사용한다.

Object Lock은 버킷 생성 시점에만 활성화 가능. 기존 버킷에 켜려면 AWS Support 문의 필요. 그리고 Versioning이 필수다.

참고: S3 Object Lock 공식 문서, Object Lock 개요

S3 수명 주기 정책 (Lifecycle Policy)

파일을 N일 후 자동으로 다른 스토리지 클래스로 이동시키거나 삭제하는 기능. 접근 패턴을 예측할 수 있을 때 (e.g. 로그는 30일 후 IA, 1년 후 Glacier) 또는 보관 기간이 정해진 데이터(법적으로 5년 보관 후 삭제)에 주로 쓴다.

전이(Transition) 액션과 만료(Expiration) 액션 두 가지를 조합해 정책을 짠다.

참고: S3 Lifecycle 관리 공식 문서

S3 암호화 - SSE, S3 Batch Operations

SSE (Server Side Encryption)

서버가 자체적으로 암호화하는 방식. S3에 파일을 저장할 때 평문 그대로 두면 해킹 시 즉시 노출되므로, 반드시 암호화 키를 사용해 저장해야 한다. 현재 S3는 새로 업로드되는 모든 객체에 대해 기본적으로 SSE-S3 암호화가 적용된다.

참고: Protecting data with server-side encryption

SSE 종류

  1. SSE-S3 : S3가 키를 자체 생성/관리
    • 가장 기본, 관리 쉬움 (현재 기본값)
  2. SSE-KMS : AWS KMS가 키를 생성/관리
    • 철저한 보안 요구 시 사용
    • KMS는 키를 주기적으로 자동 교체
    • 파일마다 키를 따로 호출하면 KMS API 비용이 커지므로 S3 Bucket Key를 활용해 키를 재사용 → 암호화 비용 절감
  3. SSE-C : 고객이 키를 직접 생성/관리
    • 관리 부담이 커서 권장되지 않음
  4. DSSE-KMS (이중 계층 KMS) : 두 번 암호화. 매우 높은 규정 준수 요구 시 사용

S3 Batch Operations

S3에 있는 수백만~수십억 개의 객체에 대해 동일한 작업(복사, 태깅, ACL 변경, Object Lock 적용, Lambda 호출 등)을 한 번에 실행하는 기능. Manifest 파일(작업 대상 목록)을 만들어 Job을 생성하는 방식이다.

개발에서 배치(Batch) = “여러 개를 모아서 한 번에 처리”

참고: S3 Batch Operations 공식 문서

EBS, EFS, FSx, 인스턴스 스토어

EBS (Elastic Block Store)

외장 SSD/HDD처럼 EC2(또는 RDS)에 연결해서 쓰는 블록 스토리지.

  • EC2, RDS 외 다른 AWS 서비스에는 연결 불가
  • 단일 AZ에서만 작동 (다른 AZ EC2에는 마운트 불가)
  • 스냅샷(Snapshot)을 S3에 저장해 다른 AZ로 복원 가능
  • 고성능 유형 존재 (io2, gp3 등)

참고: Amazon EBS 공식 문서

EFS (Elastic File System)

여러 대의 컴퓨터가 동시에 같은 파일 시스템을 공유하는 NFS 스토리지. Google Drive / iCloud처럼 여러 사용자가 같은 파일을 공유하는 모델.

  • 다중 AZ 작동 가능
  • 고성능 스토리지는 아님
  • NFS 프로토콜만 지원 (Linux/Unix 환경)
  • EFS Intelligent-Tiering : 자주 안 쓰는 파일을 EFS IA로 자동 이동
  • EFS IA에 있는 파일도 즉시 접근 가능

참고: Amazon EFS 공식 문서

인스턴스 스토어 (Instance Store)

EC2에 내장된 임시 디스크.

  • 매우 빠른 I/O (NVMe SSD)
  • EC2 인스턴스 중지/종료 시 데이터 모두 손실
  • 캐시, 임시 처리 데이터에만 사용

FSx (File System for Extended use)

고성능 (높은 처리량, 낮은 지연 시간) 파일 스토리지 서비스.

유형 프로토콜 주 용도
FSx for Lustre Lustre ML, 빅데이터 분석, HPC. S3 연동 가능
FSx for NetApp ONTAP NFS, SMB, iSCSI 멀티 OS 호환 (윈도우/맥/리눅스)
FSx for Windows File Server SMB 윈도우 환경, Active Directory 통합
FSx for OpenZFS NFS 리눅스 환경 고성능 워크로드

NFS는 리눅스/유닉스 파일 공유 프로토콜, SMB는 Windows 파일 공유 프로토콜.

참고: Amazon FSx 공식 페이지

DataSync, Snowball Edge, Transfer Family, Storage Gateway

DataSync

대용량 데이터 전송 서비스. 네트워크를 통해 전송한다.

3가지 주요 사용 시나리오:

  1. 온프레미스 ↔ AWS 스토리지 간 전송
  2. AWS 스토리지 서비스 간 전송 (S3 ↔ EFS ↔ FSx)
  3. AWS ↔ 다른 클라우드 (GCP, Azure) 간 전송

참고: AWS DataSync 공식 문서

Snowball Edge

물리 장비 배송으로 대용량 데이터를 전송하는 서비스. 네트워크 대역폭으로 처리하기엔 너무 크거나 시간이 너무 오래 걸리는 경우(수십 TB ~ PB 단위)에 사용한다.

순서:

  1. AWS 콘솔에서 Snowball Edge 신청
  2. AWS가 장비를 택배로 배송
  3. 장비를 컴퓨터에 직접 연결해 데이터 복사 (물리 연결이라 매우 빠름)
  4. 장비를 다시 AWS로 반송
  5. AWS가 데이터를 S3에 업로드

※ 과정 자체를 외울 필요는 없음. “네트워크로는 너무 큰 데이터 → Snowball” 만 기억하면 됨.

참고: AWS Snow Family 공식 페이지

Transfer Family

파일 송수신용 FTP / SFTP / FTPS 서버 역할을 하는 매니지드 서비스.

  • S3 또는 EFS와 연동
  • 기존 SFTP 클라이언트를 그대로 사용하면서 백엔드만 AWS로 마이그레이션할 때 유용
  • 시간당 비용이 청구되므로 트래픽이 적으면 Lambda 함수 + presigned URL이 더 저렴

참고: AWS Transfer Family 공식 페이지

Storage Gateway

온프레미스 환경에서 AWS S3를 로컬 스토리지처럼 연결해서 쓰는 서비스. 데이터를 옮기는 게 목적이 아니라 연결해서 쓰는 게 목적. Gateway 자체는 통로 역할만 하고 자체 저장 기능은 없다.

유형 3가지

  1. 파일 게이트웨이 (File Gateway) : 공유 폴더 형태로 연동 → S3 저장
    • NFS, SMB 프로토콜 사용
    • 파일 자체를 업로드 → 실시간 접근 가능
  2. 볼륨 게이트웨이 (Volume Gateway) : 블록 스토리지(디스크) 형태로 연동 → S3 저장
    • EBS 스냅샷 형태로 업로드 → 파일 단위 실시간 사용 불가
  3. 테이프 게이트웨이 (Tape Gateway) : 가상 테이프 라이브러리(VTL) 형태로 S3에 백업
    • 기존 테이프 백업 워크플로우를 그대로 유지하면서 백엔드만 클라우드로 전환할 때 사용

참고: AWS Storage Gateway 공식 페이지


[추가] SAA 시험에서 자주 같이 묻는 영역

여기까지가 강의 정리이고, SAA-C03은 위 스토리지 영역 외에도 다음 영역이 거의 매번 출제되니까 같이 정리해둔다. SAA-C03 시험은 4개 도메인으로 구성되며 Security 30%, Resilient Architectures 26%, High-Performing Architectures 24%, Cost Optimization 20%의 비중을 가진다.

VPC 핵심 컴포넌트

  • Subnet : VPC를 AZ 단위로 쪼갠 네트워크 구간. Public/Private 구분은 라우팅 테이블에 IGW 라우트가 있느냐로 결정됨
  • Internet Gateway (IGW) : VPC를 인터넷에 연결하는 게이트웨이
  • NAT Gateway : Private Subnet의 EC2가 나갈 때만 인터넷에 접근 가능하게 함 (인바운드 X). Public Subnet에 배치해야 함
  • Security Group (SG) : 인스턴스 단위 방화벽. Stateful (응답 자동 허용). Allow 룰만 존재
  • NACL (Network ACL) : 서브넷 단위 방화벽. Stateless (응답도 명시적으로 허용해야 함). Allow + Deny 모두 가능
  • VPC Endpoint : VPC 내부에서 외부 인터넷 없이 AWS 서비스 접근
    • Gateway Endpoint : S3, DynamoDB 전용 (무료)
    • Interface Endpoint : 그 외 서비스 (PrivateLink, 시간당 과금)

참고: VPC 공식 문서

IAM

  • User : 사람 또는 애플리케이션 ID
  • Group : User 모음. 정책을 그룹 단위로 부여
  • Role : 임시 자격증명을 받아 사용하는 신원. EC2/Lambda에 IAM Role을 attach해서 키 없이 AWS API 호출 (시험 단골)
  • Policy : JSON 문서로 권한 정의. Identity-based vs Resource-based
  • Permission Boundary : User/Role에 부여 가능한 최대 권한 한도

EC2에서 S3 접근할 때 Access Key를 코드/환경변수에 넣는 건 SAA 시험 함정. 무조건 IAM Role을 EC2에 부착이 정답.

Auto Scaling + ELB

  • Auto Scaling Group (ASG) : 트래픽에 따라 EC2 인스턴스 수를 자동 조절. Min / Desired / Max 3개 값 설정
  • 스케일링 정책 유형
    • Target Tracking : 가장 자주 씀 (e.g. 평균 CPU 50% 유지)
    • Step Scaling : 임계치에 따라 단계적 증감
    • Scheduled Scaling : 시간 기반
  • ELB 종류
    • ALB (Application LB) : L7, HTTP/HTTPS, 경로 기반 라우팅. 일반 웹 서비스 기본 선택
    • NLB (Network LB) : L4, TCP/UDP, 초저지연/고정 IP 필요할 때
    • GLB (Gateway LB) : L3, 방화벽/IDS 같은 보안 어플라이언스 체이닝
    • CLB (Classic LB) : 레거시. 신규 설계에는 사용 X

RDS vs Aurora vs DynamoDB

  • RDS Multi-AZ : 고가용성용. Standby가 다른 AZ에 동기 복제됨. 평소엔 사용 X, 장애 시 자동 failover (60~120초)
  • RDS Read Replica : 읽기 성능 분산용. 비동기 복제, 최대 15개. Cross-Region도 가능
  • Aurora : MySQL/PostgreSQL 호환. 6개 사본을 3개 AZ에 분산 저장. RDS 대비 처리량 5x (MySQL) / 3x (PostgreSQL)
  • DynamoDB : 완전 관리형 NoSQL. 밀리초 단위 지연, 무제한 확장. 글로벌 테이블로 다중 리전 active-active 가능
  • ElastiCache : 인메모리 캐시. Redis (영속성, 복제, Pub/Sub) vs Memcached (단순, 멀티스레드)

시험 트랩: “DB 부하 줄이려면?” → 단순 캐싱이면 ElastiCache, 읽기 트래픽 분산이면 Read Replica, 가용성 향상이면 Multi-AZ. 세 개 구분 확실히.

메시징 & 이벤트

  • SQS : 큐. 메시지 보관 (기본 4일, 최대 14일). Standard(at-least-once, 순서 보장 X) vs FIFO (순서 보장, 중복 제거)
  • SNS : Pub/Sub. 하나의 메시지를 여러 구독자(Lambda, SQS, Email 등)에 fan-out
  • EventBridge : 이벤트 버스. SaaS/AWS 서비스/커스텀 이벤트를 룰 기반으로 라우팅. 스케줄링도 가능 (CloudWatch Events 후속)
  • Kinesis Data Streams : 실시간 스트리밍 데이터 처리. 샤드 기반

SNS + SQS Fan-out 패턴이 시험 단골이다. 하나의 이벤트를 여러 큐로 보내 각 컨슈머가 독립적으로 처리.

모니터링 & 감사

  • CloudWatch : 메트릭, 로그, 알람. EC2 기본 메트릭은 5분 간격, 상세 모니터링 켜면 1분 간격 (유료)
  • CloudTrail : API 호출 기록. 누가 언제 무엇을 했는지 감사 추적. 보안 사고 조사 시 핵심
  • AWS Config : 리소스 설정 변경 이력 추적, 규정 준수 검사
  • X-Ray : 분산 추적 (마이크로서비스 디버깅)

구분 포인트: “누가 API를 호출했는가” = CloudTrail, “리소스 상태/메트릭” = CloudWatch, “설정이 컴플라이언스에 맞는가” = Config.

보안 - KMS, Secrets Manager, Shield, WAF

  • KMS : 암호화 키 관리. CMK(Customer Managed Key)는 자동 회전 가능. KMS API 호출에는 요금이 부과되므로 S3 Bucket Key 같은 최적화 필요
  • Secrets Manager : DB 비밀번호, API 키 저장. 자동 로테이션 지원
  • Parameter Store (SSM) : 일반 설정값/시크릿 저장. 무료 / Standard tier. 로테이션 자동화 X → 직접 Lambda 구현 필요
  • Shield Standard : DDoS 기본 방어 (무료, 전체 계정 자동 적용). Shield Advanced는 유료, 24/7 DRT 지원
  • WAF : L7 방어 (SQL Injection, XSS 등). ALB/CloudFront/API Gateway에 attach

시험 트랩: 시크릿 자동 로테이션 필요 → Secrets Manager, 단순 환경변수/설정값 → Parameter Store.

비용 최적화 핵심

  • EC2 구매 옵션: On-Demand → Reserved (1년/3년 약정) → Savings Plans → Spot (최대 90% 할인, 중단 가능)
  • 워크로드 분류:
    • 상시 운영 / 예측 가능 → Reserved or Savings Plans
    • 변동 워크로드 → On-Demand
    • 중단 허용되는 배치/분석 → Spot
  • S3는 Lifecycle 정책으로 IA / Glacier로 전이
  • 데이터 전송 비용: 같은 AZ 내 = 무료, AZ 간 = 유료, 리전 간 = 비싸짐

태그: ,

카테고리:

업데이트: