AWS

AWS 클라우드 따라잡기 4장

스토리지 기초 — EBS, 스냅샷, EFS, S3 첫걸음

이번 장은 AWS의 스토리지를 다룬다.

AWS 4장 개념도

데이터를 어디에 어떻게 저장하느냐는 아키텍처의 핵심이다.

AWS에는 용도가 다른 여러 스토리지가 있다.

이 장의 목표는 다음과 같다.

  • 블록/파일/객체 스토리지의 차이를 이해한다.
  • EBS와 스냅샷의 관계를 안다.
  • S3가 무엇이고 왜 특별한지 감을 잡는다.

1. 세 가지 스토리지 유형

스토리지는 크게 세 가지로 나뉜다.

블록 스토리지(Block)는 하드디스크 같은 것이다.

운영체제가 붙여서 파일 시스템을 만들어 쓴다. AWS에서는 EBS가 여기 해당한다.

파일 스토리지(File)는 네트워크 공유 폴더 같은 것이다.

여러 서버가 동시에 같은 폴더를 마운트해 쓴다. AWS에서는 EFS다.

객체 스토리지(Object)는 파일을 통째로 "객체" 단위로 저장한다.

폴더 구조가 아니라 키-값으로 관리하고, HTTP로 접근한다. AWS에서는 S3다.

2. EBS — 인스턴스의 디스크

EBS는 Elastic Block Store의 약자다.

EC2 인스턴스에 붙이는 가상 하드디스크다.

특징은 다음과 같다.

  • 인스턴스와 독립적으로 존재한다. 인스턴스를 지워도 EBS를 남길 수 있다.
  • 같은 AZ 안에서만 인스턴스에 붙일 수 있다.
  • 볼륨 유형에 따라 성능과 가격이 다르다.
유형 이름 용도
gp3 범용 SSD 대부분의 워크로드 (기본)
io2 프로비저닝 IOPS SSD 고성능 DB
st1 처리량 최적화 HDD 로그, 빅데이터

3. 스냅샷 — EBS 백업

스냅샷(Snapshot)은 EBS 볼륨의 특정 시점 백업이다.

스냅샷은 S3에 저장되고, 리전 단위로 보관된다.

중요한 점은 증분(incremental) 백업이라는 것이다.

첫 스냅샷은 전체를 저장하지만, 이후에는 바뀐 블록만 저장한다.

그래서 자주 떠도 비용이 크게 늘지 않는다.

스냅샷으로 새 볼륨을 만들 수 있고, 다른 AZ나 리전으로도 복사할 수 있다.

이것이 재해 복구(DR)의 기본이 된다.

4. 인스턴스 스토어 — 임시 디스크

일부 인스턴스 유형에는 인스턴스 스토어(Instance Store)가 딸려 온다.

인스턴스에 물리적으로 붙어 있어 매우 빠르다.

하지만 인스턴스를 끄면 데이터가 사라진다(임시).

캐시나 임시 파일에는 좋지만, 중요한 데이터는 절대 여기 두면 안 된다.

5. EFS — 공유 파일 시스템

EFS는 Elastic File System의 약자다.

여러 EC2 인스턴스가 동시에 마운트하는 공유 파일 시스템이다.

  • 용량이 자동으로 늘고 준다. 미리 크기를 정할 필요가 없다.
  • 여러 AZ에서 접근 가능해 고가용성이 좋다.
  • 리눅스 계열(NFS)에서 쓴다. 윈도우는 FSx를 쓴다.

여러 웹 서버가 같은 업로드 폴더를 공유해야 할 때 유용하다.

6. S3 첫걸음

S3는 Simple Storage Service의 약자다.

무제한에 가까운 객체 스토리지이고, AWS에서 가장 많이 쓰이는 서비스 중 하나다.

기본 개념은 두 가지다.

  • 버킷(Bucket): 객체를 담는 최상위 컨테이너. 이름은 전 세계에서 유일해야 한다.
  • 객체(Object): 파일 하나. 키(경로 같은 이름)와 데이터로 이루어진다.

간단한 CLI 사용은 다음과 같다.

# 버킷 만들기
aws s3 mb s3://my-unique-bucket-name

# 파일 올리기
aws s3 cp photo.jpg s3://my-unique-bucket-name/

# 목록 보기
aws s3 ls s3://my-unique-bucket-name/

S3는 내구성이 99.999999999%(9가 11개)로 극도로 안전하게 설계돼 있다.

여러 AZ에 자동으로 복제하기 때문이다.

정리

  • 블록(EBS)=디스크, 파일(EFS)=공유폴더, 객체(S3)=통째 저장.
  • EBS는 인스턴스와 독립적이고, 스냅샷으로 증분 백업한다.
  • 인스턴스 스토어는 빠르지만 임시다. 중요한 건 두지 않는다.
  • S3는 버킷 안에 객체를 담고, 내구성이 매우 높다.

다음 장에서는 S3를 깊게 파고들어 정책, 스토리지 클래스, 정적 웹 호스팅을 다룬다.

댓글 0