[AWS] 스토리지 - S3 & CloudFront

Jiwoo Jung·2025년 3월 27일
0

Amazon Cloud Club

목록 보기
2/6

Amazon Cloud Club Ewha 3기 핸즈온 세션 이론 정리
Week 2 - 스토리지 - S3 & CloudFront


1. Storage

1-1. Cloud Storage란?

: 클라우드 컴퓨팅 제공업체를 통해 데이터와 파일을 인터넷에 저장할 수 있는 클라우드 컴퓨팅 모델
사용자는 Public 인터넷 또는 Private 네트워크로 스토리지 접근


1-2. Storage 유형 비교

유형저장 방식주요 특징대표 서비스주요 사용 사례
Block Storage블록 단위고성능, 저지연, 빠른 액세스, DB 등 엔터프라이즈 시스템에 적합Amazon EBSDB, ERP 등
File Storage파일/폴더 계층 구조NAS 기반, 파일 공유 및 다중 사용자 접근 가능Amazon EFS파일 서버 등
Object Storage객체 단위 (데이터 + 메타데이터)대용량, 비정형 데이터에 적합, REST API 기반 접근Amazon S3정적 웹 콘텐츠, 백업

2. Amazon S3

2-1. 개요

: AWS의 대표 Object Storage 서비스
데이터를 버킷 내의 객체로 저장

특징내용
액세스 제어객체별 ACL을 통해 데이터에 접근 가능한 사용자 관리
높은 내구성여러 AZ에 복제되어 저장되기 때문에 오랫동안 유실될 가능성 매우 낮음
데이터 저장객체단위 데이터 저장
데이터 저장 용량단일객체 최대 크기 5TB

2-2. 구성

구성: 버킷 + 객체
(버킷: 최상위 디렉토리, 객체: 디렉토리 내에 저장되는 파일)

📁 버킷 (Bucket)

: 객체 저장을 위한 컨테이너

  • 객체 무제한으로 저장 가능
  • 전역적으로 고유한 이름 필요
  • 계정당 최대 100개 생성 가능

📚 객체 (Object)

: S3에 실제로 저장되는 기본 단위 데이터 개체

특징

  • 하나 이상의 버킷에 저장
  • 최대 크기: 5TB

구성

데이터 + 메타데이터

  • 데이터: 저장하려는 실제 콘텐츠 (임의의 바이트 시퀀스)
  • 메타데이터: 객체 정보 저장용 이름-값 쌍 (사용자 지정 가능)

식별 방식

버킷 + 키 + 버전 ID 조합으로 객체를 유일하게 식별

  • 키: 객체의 이름, 버킷 내 고유 ID
  • 버전 ID: 객체 저장 시 S3가 자동 생성하는 고유 문자열

태그

객체 분류 및 관리에 사용되는 키-값 형태의 메타정보

액세스 제어 정보

객체 접근 권한 관리
리소스 기반(ACL, 버킷 정책) + 사용자 기반 권한 제어 모두 지원


2-3. 보안

🔑 데이터 암호화

서버측 암호화 (Server-Side Encryption, SSE)

  • 데이터를 받은 애플리케이션/서비스 서버가 해당 데이터 암호화
  • 사용자가 S3에 데이터를 업로드하면 AWS가 해당 데이터를 서버에서 자동으로 암호화하여 저장하고, 사용자가 데이터를 요청할 때 자동으로 복호화하여 제공
  • 현재 S3는 서버 측 암호화(SSE-S3)를 S3 내 모든 버킷 암호화의 기본 수준으로 적용

클라이언트측 암호화 (Client-Side Encryption)

  • 전송 및 저장시 보안을 보장하기 위해 로컬에서 데이터 암호화 -> AWS를 포함한 제3자에게 객체 노출 방지
    높은 보안 보장, 관리 및 구현 복잡성 증가
  • S3 암호화 클라이언트
    S3 암호화 클라이언트가 객체를 암호화하고 버킷에 업로드
    사용자와 S3간 중재자 역할

🪬 액세스 제어 방식

방식설명
리소스 기반 정책S3 리소스(버킷/객체)에 연결된 JSON 형식의 정책
버킷 소유자가 설정 가능
자격 증명 기반 정책IAM 사용자, 그룹, 역할에 연결된 정책, IAM에서 중앙 관리
- 관리형 정책: 다수에 정책 부여
- 인라인정책: 단일에 1:1로 정책 연결
CORS (Cross-Origin Resource Sharing)도메인 간 요청 허용 여부 설정
정적 웹 호스팅 시 외부 접근 제어 가능
Pre-signed URL유효 기간이 있는 서명된 URL 생성
버킷 정책 변경 없이 임시 접근 허용
  • IAM (Identity and Access Management)
    AWS에서 사용자, 그룹, 역할에게 적절한 권한을 부여하고 접근을 제어하는 서비스

2-4. 스토리지 관리

버전 관리

  • 한 버킷에 여러버전의 객체 보관 -> 실수로 삭제/수정된 객체 복구 가능
  • 버킷 버전관리 활성화 -> 저장되는 객체에 버전id 자동 생성
  • 한 번 활성화하면 비활성화 불가(중단 가능)

객체 복제

유형설명사용 예시
CRR (리전 간)다른 리전으로 비동기 복제규정 준수, 장애 대비
SRR (동일 리전)동일 리전 내 복제백업, 계정 간 복사
배치 복제기존 객체 일괄 복제대량 마이그레이션

스토리지 클래스

클래스특성사용 예시
S3 Standard 자주 접근, 지연 시간 짧음일반 데이터 저장
S3 Standard-IA자주 접근 X, 낮은 비용비정기 접근 데이터
S3 One Zone-IA단일 AZ, 더 낮은 비용재생성 가능한 데이터
S3 Glacier장기 보관용, 복구 시간 수 분~수 시간백업, 로그 장기 보관
S3 Glacier Deep Archive복구 시간 수 시간~12시간 이상규제 준수용 장기 아카이빙

수명 주기 (Lifecycle)

작업 유형설명
전환 작업일정 기간 이후 다른 스토리지 클래스로 전환
만료 작업 객체를 자동으로 삭제하여 비용 절감

3. Amazon CloudFront

3-1. 개요

: AWS의 CDN (Content Delivery Network) 서비스
사용자 가까운 위치(Edge Location)에서 콘텐츠 캐싱 및 전송


3-2. 주요 구성 요소

구성 요소설명
Edge Location사용자와 가까운 지역에 있는 캐시 서버
Regional Edge Cache (REC)Edge Location과 Origin 사이의 중간 캐시층
Origin콘텐츠 원본 위치 (S3, EC2 등)
정적, 동적 콘텐츠 모두 처리

3-3. 동작 흐름

  1. 사용자가 콘텐츠 요청
  2. DNS가 가장 가까운 Edge Location으로 라우팅
  3. Cache Hit → 바로 제공
    Cache Miss → REC 확인 → 없으면 Origin 요청
  4. 콘텐츠 수신 후 Edge Location에 캐싱

3-4. Origin 보안

방식설명
OAI (Origin Access Identity)CloudFront를 통해서만 S3에 접근 허용
OAC (Origin Access Control)IAM 기반 세밀한 접근 제어 (OAI의 개선 버전)

3-5. 기능

기능설명
HTTPS 지원오리진이 HTTP만 지원해도 CloudFront는 HTTPS 제공
지역 제한특정 국가 또는 지역 사용자 차단 가능
Signed URL객체별 임시 접근 URL (IP, 만료시간 설정 가능)
객체 하나당 하나의 url
Signed Cookie다수 객체에 대한 접근 설정 (일괄 제어 가능)
다수의 객체에 하나의 signed cookie

3-6. 장점

  • 지연 시간 감소 → 빠른 응답 제공
  • 트래픽 증가 대응 → 로드 밸런싱 기반 확장성
  • 보안 강화 → HTTPS, 접근 제어 정책, OAI/OAC

0개의 댓글