EBS (Elastic Block Storage)

https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-EBS-%EA%B0%9C%EB%85%90-%EC%82%AC%EC%9A%A9%EB%B2%95-%F0%9F%92%AF-%EC%A0%95%EB%A6%AC-EBS-Volume-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0

EBS란?

AWS의 가상 하드디스크다. EC2 인스턴스에 영구 블록 스토리지 볼륨을 제공한다.

EC2가 CPU·메모리 처리를 담당한다면, EBS는 데이터 저장을 담당한다. 둘은 네트워크로 연결된 별개의 리소스다.


핵심 특징

EC2와 독립적으로 존재

EC2 인스턴스가 종료되어도 EBS는 별도로 유지된다. 인스턴스를 삭제해도 EBS는 남아 있고, 새 인스턴스에 다시 연결할 수 있다.

  • 인스턴스 정지 시 EBS 요금만 청구되고 컴퓨팅 요금은 없음
  • 물리 서버와 달리 인스턴스 교체 시 EBS만 재연결하면 됨

유연한 연결 구성

  • 하나의 인스턴스에 여러 EBS 볼륨 부착 가능 (USB처럼)
  • EBS Multi Attach: 하나의 EBS를 여러 EC2에 동시에 부착 가능 (io1/io2 타입만)

가용영역(AZ) 제약

EBS는 EC2와 같은 AZ(가용영역)에 있어야 한다. 다른 AZ의 볼륨은 연결할 수 없다.

다른 AZ로 옮기려면 스냅샷을 찍고 대상 AZ에서 새 볼륨을 생성해야 한다.


EBS 볼륨 타입

타입미디어특징용도
gp3 (범용 SSD)SSD균형 잡힌 성능, 비용 효율일반적인 워크로드
io2 (프로비저닝 IOPS)SSD최고 성능 (IOPS 64,000)DB 등 고성능 요구
st1 (쓰루풋 최적화)HDD높은 처리량빅데이터, 로그 처리
sc1 (콜드 HDD)HDD가장 저렴접근 빈도 낮은 데이터

IOPS(Input/Output Operations Per Second) 수치가 높을수록 데이터 읽기/쓰기가 빠르다.


EBS vs Instance Storage

구분EBSInstance Storage
연결 방식네트워크 연결내장형
속도상대적으로 느림빠름
영속성인스턴스 삭제 후에도 유지인스턴스 삭제 시 함께 소멸
유연성분리·이전 가능불가
용도영구 저장임시 데이터, 캐시

EBS 볼륨 추가하기 (Linux)

AWS 콘솔에서 볼륨을 생성하고 인스턴스에 연결한 뒤, 인스턴스 내부에서 아래 작업이 필요하다.

1. 연결된 볼륨 확인

lsblk
# 또는
ls -asl /dev/xvd*

2. 파일시스템 포맷

새로 연결한 볼륨은 파일시스템이 없어서 바로 쓸 수 없다. 포맷이 필요하다.

# 파일시스템 여부 확인 (data라고 뜨면 미포맷)
file -s /dev/xvdb
 
# ext4로 포맷
sudo mkfs -t ext4 /dev/xvdb

3. 마운트

# 마운트 포인트 생성
mkdir /xvdb
 
# UUID 확인
blkid
 
# 재부팅 후에도 자동 마운트되도록 fstab 등록
vi /etc/fstab
# UUID=xxxx-xxxx /xvdb ext4 defaults,nofail 0 2
 
# 마운트 적용
mount -a
 
# 확인
df -h

Linux는 Windows와 달리 마운트 설정을 수동으로 해줘야 한다. fstab에 등록하지 않으면 재부팅 후 마운트가 풀린다.


EBS 볼륨 크기 확장

1. AWS 콘솔에서 크기 변경

EBS 볼륨 → 수정 → 원하는 크기 입력 → 적용 (상태가 modifyingoptimizingcompleted 로 변경됨)

2. 인스턴스 내부에서 파일시스템 확장

콘솔에서 크기를 늘려도 OS는 자동으로 인식하지 못한다. 파일시스템도 직접 확장해야 한다.

# ext4의 경우
sudo resize2fs /dev/xvdb
 
# XFS의 경우
sudo xfs_growfs -d /xvdb
 
# 확인
df -h

스냅샷 (Snapshot)

EBS 볼륨의 특정 시점 백업이다. S3에 저장된다.

  • 스냅샷으로 다른 AZ나 리전에 새 볼륨을 생성할 수 있음 → AZ 간 데이터 이동에 활용
  • 증분 백업 방식: 처음 이후에는 변경된 블록만 저장
  • AMI(Amazon Machine Image)를 만들 때 EBS 스냅샷이 기반이 됨

주의사항

  • 같은 AZ 필수: EBS와 EC2는 반드시 같은 가용영역에 있어야 연결 가능
  • 포맷 필수: 새 볼륨은 파일시스템 구축 후에만 사용 가능
  • fstab 등록: Linux에서 재부팅 후에도 마운트 유지하려면 /etc/fstab에 등록 필요
  • 용량 확장 후 파일시스템도 확장: 콘솔에서 크기만 늘리면 안 되고 OS 내부에서 resize2fs 등 명령 추가 실행 필요