Cloud_AWS 스토리지 서비스

AWS 스토리지 서비스

스토리지(Storage)? 

  • 데이터를 보관하는 장소이며, 사용 방식과 저장 방식에 따라 여러 형태로 구분됨.

블록 스토리지(EBS) 기본 개념

  • 특징
    • 데이터를 블록 단위로 나누어 저장하고, 필요 시 조합하여 사용
    • 개별 블록은 고유한 주소를 가지며 빠르게 접근 가능
    • 하드디스크 추가 개념과 유사하며, 가상 머신(VM)에서 주로 사용
  • 사용 예시
    • 서버에서 고속 데이터 읽기/쓰기가 필요한 경우
    • 데이터베이스 저장소, 운영체제 디스크, 애플리케이션 실행 디스크
  • 연결 방식
    • SAN (Storage Area Network) 기반
    • FC, iSCSI 프로토콜 사용

* SAN: 고속 네트워크를 통해 서버와 스토리지를 직접 연결하는 방식이며, 고성능 데이터베이스에서 사용

 

파일 스토리지(EFS) 기본 개념

  • 특징
    • 폴더 및 디렉터리 구조로 파일 저장
    • 다수의 장치가 동시에 접근 가능 → 여러 서버에서 공유해야 하는 환경에 적합
    • 네트워크를 통해 연결되며, NAS(Network Attached Storage) 개념과 유사
  • 사용 예시
    • 웹 서버, 공유 디렉터리, 개발 환경 등
    • 여러 인스턴스에서 동일한 데이터를 공유해야 하는 서비스
  • 연결 방식
    • NFS, CIFS 프로토콜 사용

* NAS: 네트워크를 통해 여러 장치에서 파일을 공유하는 방식, 집에서 쓰는 외장하드 + 공유기 개념과 유사

* NFS: 네트워크 기반의 파일 시스템으로, 공유된 원격 호스트 파일을 다른 시스템이 로컬에서 가용할 수 있도록 함

 

객체 스토리지(S3) 기본 개념

  • 특징
    • 데이터를 객체(Object) 단위로 저장하며, 파일 시스템이 아닌 평면 구조 사용
    • 각 객체는 고유 식별자(키) 를 가지며, 빠르게 검색 가능
    • REST API 기반으로 HTTP를 통해 접근 가능
  • 사용 예시
    • 대용량 데이터 저장 (이미지, 영상, 백업 등)
    • 여러 서비스가 데이터를 공유해야 하는 경우
  • 연결 방식
    • HTTP 프로토콜 기반 REST API

스토리지 선택 기준

내구성 데이터 손실 가능성 최소화
가용성 서비스 지속 가능성
보안 저장 및 전송 중 데이터 보호
비용 저장 및 사용 비용
확장성 저장 용량 및 사용자 수 증가 대응
성능 데이터 처리 속도
통합성 다른 서비스와의 연계 가능성

EBS(Elastic Block Store) 서비스

 

EBS(Elastic Block Storage)란?

  • EBS는 AWS의 블록 스토리지 서비스로, EC2 인스턴스(서버)에서 사용할 수 있는 저장공간을 제공
  • 하드디스크처럼 사용할 수 있으며, 파일 시스템을 생성하고 마운트(연결)하여 저장공간으로 활용

EBS의 주요 특징

  • 독립적인 데이터 수명 → EC2 인스턴스를 삭제해도 EBS 데이터는 유지되며, 다른 인스턴스에 연결 가능
  • 고성능 → 데이터베이스, 빅데이터, 트랜잭션이 많은 애플리케이션에 적합
  • 유연한 크기 조정 → 서비스 중단 없이 볼륨 크기, 유형, IOPS 성능을 조정 가능
  • 네트워크 연결형 스토리지 → 물리적인 디스크가 아닌 고속 네트워크를 통해 EC2와 연결됨

EBS의 작동 방식

  1. EBS 생성 후 초기 설정 (포맷 & 마운트)
    • EBS는 처음 생성하면 비어 있는 하드디스크 상태이므로 포맷해야 함
    • 포맷 후 EC2 인스턴스에 마운트(연결) 하면 폴더처럼 사용 가능
    • 운영체제(OS)에 따라 포맷 방식이 다름
      • Linux → ext4 또는 xfs
      • Windows → NTFS
  2. EBS 볼륨 연결
    • EC2 인스턴스는 여러 개의 EBS 볼륨을 연결 가능
    • 하나의 EBS 볼륨은 한 번에 하나의 인스턴스에만 연결 가능
    • 필요하면 스냅샷을 생성하여 다른 인스턴스에서 복원 가능

EBS의 주요 기능

  1.  데이터 가용성
    • 같은 가용 영역(AZ) 내에서 자동으로 데이터 복제 
    • 단일 하드웨어 장애로 인한 데이터 손실 방지
    •  AWS 서버가 고장나도 장애가 생기지 않도록 회사 자체에서 복사하는 것. 사용자가 관리할 필요 없음
  2. 데이터 지속성
    • EC2 인스턴스가 종료되어도 EBS 볼륨의 데이터는 유지
  3. 데이터 안정성 (보안)
    • EBS 암호화(AES-256)를 지원하여 데이터 보안 강화
  4.  데이터 백업 (스냅샷)
    • EBS 스냅샷을 생성하여 Amazon S3에 저장 가능
    • 스냅샷을 사용하면 다른 가용 영역(AZ)이나 리전(Region)에서도 복원 가능
  5. 데이터 확장성
    • 서비스 중단 없이 볼륨 크기, 유형, IOPS(Input/Output operation Per Second) 조정 가능

EBS의 볼륨 유형

1.  SSD (빠른 속도, 높은 IOPS)

볼륨 유형 주요 특징 IOPS
(성능)
처리량 사용사례 비용
범용 SSD (gp3, gp2) 기본 SSD, 대부분의
워크로드에 적합
중간
(~16,000)
중간
(~1GB/s)
웹 서버, 애플리케이션 서버, 💲💲💲
(보통)
프로비저닝 IOPS SSD (io2, io1) 높은 IOPS 보장,
트랜잭션이 많은 DB 용도
높음
(~256,000)
높음
(~4GB/s)
DB, 금융 시스템,
고성능 애플리케이션
💲💲💲💲 (비쌈)

 

2. HDD (대용량 데이터 저장, 저렴한 비용)

볼륨 유형 주요 특징 IOPS(성능) 처리량 사용사례 비용
처리량 최적화 HDD (st1) 대량의 순차적 읽기/쓰기에 최적화 낮음 (~500) 높음
(~500MB/s)
빅데이터, 로그 저장,
대량 데이터 처리
💲 💲
(저렴)
콜드 HDD (sc1) 가끔 액세스하는 데이터
저장용
매우 낮음
(~250)
낮음
(~250MB/s)
백업, 오래된 데이터 보관 💲
(가장 저렴)

 

EBS 스냅샷

  • 특점 시점에서 포인트를 찍어서 그 시점으로 되돌아갈 수 있는 지점을 만드는 기능
  • 증분식 백업 방식을 이용하여 마지막 스냅샷 이후 변경되는 블록만 기록하고 복제
  • 스냅샷은 다른 계정으로 공유가 가능하며 스냅샷을 이용해 손쉽게 다른 리전으로 복제도 가능
  • 저장 비용과 시간이 효과적으로 절감

EFS(Elastic File System) 서비스

 

Amazon EFS는 완전 관리형 네트워크 파일 시스템으로, 클라우드와 온프레미스 환경에서 모두 사용 가능하다.

 

완전 관리형이란?

  • 하드웨어 프로비저닝, 유지 관리, 소프트웨어 구성, 모니터링, 성능 최적화 등을 AWS가 자동으로 관리
  • 사용자는 별도의 관리 없이, 파일 시스템을 생성하고 서버에 연결하여 즉시 사용 가능

주요 특징

  • 자동 확장: 스토리지 용량을 사전 설정할 필요 없이, 사용량에 따라 자동 확장
  • 사용량 기반 과금: 사용한 만큼만 비용을 지불하며, 용량 제한 없이 확장 가능
  • NFS(Network File System) 지원: NFS 표준 프로토콜을 기반으로 다양한 애플리케이션과 유연하게 통합 가능
  • 다중 인스턴스 공유 가능: 여러 컴퓨팅 인스턴스가 동일한 파일 시스템을 동시에 사용 가능
  • 고성능: 높은 IOPS와 처리량을 제공하며, 대기 시간이 짧아 빠른 데이터 접근이 가능

활용 사례

  • 사용자 홈 디렉터리 공유: 여러 사용자 간 파일을 공유하는 환경에서 유용
  • 웹 서비스 및 콘텐츠 관리: 다수의 서버에서 동일한 파일을 공유해야 하는 환경
  • 데이터 분석 및 미디어 처리: 대량의 데이터를 빠르게 처리해야 하는 워크로드

S3(Simple Storage Service) 서비스

S3 특징

  • 데이터를 객체(Object) 형태로 저장하며, 객체 저장소(Bucket)에 데이터를 저장
  • HTTP 프로토콜을 기반으로 REST API를 통해 객체를 업로드, 다운로드 및 관리
  • 데이터 내구성이 뛰어나며, 99.999999999% 내구성을 제공
  • 사실상 무제한 용량을 제공하여, 필요에 따라 데이터를 효율적으로 저장하고 관리 가능
  • 다양한 스토리지 클래스를 지원하여 비용 절감
  • 웹에서 직접 접근할 수 있어, 정적 웹사이트 호스팅이 가능
  • IAM(Identity and Access Management)과 연동하여 보안 및 접근 제어가 가능

S3의 주요 구성 요소

  1. 버킷 (Bucket)
    • 데이터를 저장하는 컨테이너 역할
    • 객체는 반드시 버킷에 저장되어야 하며, 한 번 생성된 버킷 이름과 리전은 변경 X
  2. 객체 (Object)
    • S3에 저장되는 기본 단위로, 객체 데이터 + 메타데이터(설명 정보)로 구성
    • 객체는 고유한 키(Key, 파일 이름)와 버전 ID를 가지며, 이를 통해 버킷 내에서 식별
    • 예시: http://cloudneta.s3.amazonaws.com/2021-09-01/storage.png
      1. cloudneta = 버킷 이름
      2. storage.png = 객체 키(파일 이름)
  3. 키 (Key)
    • 버킷 내에서 객체를 식별하는 고유한 식별자
    • S3는 버킷 + 키 + 버전 ID를 이용해 객체를 관리
  4. 데이터 일관성 (Consistency)
    • S3는 객체를 여러 개의 서버에 복제하여 고가용성 및 내구성을 제공
    • 강력한 데이터 일관성 모델을 통해, 저장된 데이터가 안전하게 유지

S3의 장점

  1. 높은 내구성과 가용성
    • S3는 11 9s(99.999999999%)의 내구성을 제공하며,
      최소 3개 이상의 가용 영역(AZ)에 데이터 복제하여 저장
    • 장애가 발생해도 데이터가 손실되지 않고, 고가용성을 유지
  2. 객체 스토리지
    • 빠르고 내구성 높은 키 기반 접근 방식을 지원하여, 대량의 데이터를 효율적으로 저장/검색 가능
  3. 버전 관리 (Versioning)
    • 동일한 객체의 여러 개의 버전을 저장 가능하며, 데이터 복구 및 롤백이 용이
  4. 다양한 AWS 서비스와 연동 가능
    • 예를 들어, S3에서 이미지 업로드 시 AWS Lambda와 연동하여,
      자동으로 다양한 해상도의 이미지 생성이 가능
    • 머신 러닝, 빅데이터 분석, 백업 및 아카이빙 등 다양한 워크로드에서 활용
  5. 웹 서비스 가능
    • S3에 정적 웹 콘텐츠(HTML, CSS, JavaScript, 이미지 등)를 업로드하면,
      별도의 웹 서버 없이 정적 웹사이트를 직접 호스팅 가능
  6. 비용 절감 기능
    • S3는 데이터를 액세스 빈도 및 용도에 따라 다양한 스토리지 클래스로 분류하여 비용 절감

S3 보안 및 접근 제어

  1. 기본 보안 정책
    • S3 버킷 및 객체는 기본적으로 외부 접근이 차단
    • 버킷을 생성한 사용자(소유자) 및 루트 사용자만 접근 가능
    • 외부 접근을 허용하려면 IAM 정책, S3 버킷 정책, ACL 등을 설정
  2.  IAM(Identity and Access Management) 연동
    • IAM을 통해 사용자별 권한을 설정하여 데이터 접근을 제어
    • S3 객체에 접근할 때, 인증 정보를 포함한 요청을 보내면 일시적으로 접근 권한을 부여 가능
  3. 버킷 정책 및 ACL (Access Control List)
    • 버킷 단위 또는 개별 객체 단위로 세부적인 접근 제어가 가능
    • 특정 사용자 또는 IP 주소에서만 접근하도록 설정 가능

S3 활용 사례

  • 빅데이터 및 머신 러닝 데이터 저장: 대량의 데이터를 안정적으로 저장하고 분석하는 용도로 활용
  • 기업 데이터 백업 및 장기 보관: 높은 내구성과 다양한 스토리지 클래스를 활용해 비용 효율적인 백업 및 아카이빙
  • e커머스 및 미디어 서비스
    • 웹 서버 없이도 대규모 이미지, 동영상 콘텐츠를 저장하고 빠르게 제공
    • 이를 통해 웹 서버의 부하를 줄이고, 성능을 최적화

S3 스토리지 클래스 종류

스토리지
클래스
설명 내구성 가용성 가용 영역  최소 기간 사용 사례 고려 사항
S3 Standard 자주 액세스하는 데이터를 위한
기본 스토리지
99.9% 99.9% 최소 3개 없음 웹사이트,
모바일 앱,
빅데이터 분석
비용이 가장
높지만,
높은 성능 제공
S3 Intelligent-Tiering 액세스 횟수
패턴에 따라
자동으로
비용 최적화
99.9% 99.9% 최소 3개 30일
(단, Standard/
IA 간 이동은
즉시 가능)
예측이 어려운
액세스 패턴의
데이터
객체당 월별
모니터링 비용
추가 발생
S3 Standard-IA (Infrequent Access) 가끔 액세스
하지만 고속
액세스가 필요한 데이터
99.9% 99.9% 최소 3개 30일 장기 보관용이지만 빠른 검색이
필요한 데이터
표준보다
저렴하지만
액세스 비용
발생
S3 One Zone-IA 단일 가용 영역에 저장되는 저비용 옵션 99.9% 99.9% 1개 30일 백업, 복제본
저장소, 재생 가능 데이터
단일 AZ 장애
발생 시 데이터 손실 위험
S3 Glacier 장기 보관 및
아카이빙을 위한 저비용 스토리지
99.9% 99.9% 최소 3개  90일 규제 준수를 위한 데이터 보관, 장기 백업 검색 시간이
수분~수시간
(Expedited 옵션 제공)
S3 Glacier
Deep Archive
가장 저렴한
장기 아카이빙
스토리지
99.9% 99.9% 최소 3개  180일 수십 년간 거의
액세스하지 않는 데이터 보관
검색 시간이
12~48시간 소요

Expedited 옵션: S3 Glacier에서 제공하는 데이터 복원(검색) 옵션 중 하나로, 데이터를 몇 분 내에 빠르게 복원 (비쌈)