본문 바로가기
Cloud/AWS

AWS) EC2 인스턴스 스토리지 - EBS, AMI

by 박채니 2023. 12. 26.
안녕하세요, 코린이의 코딩 학습기 채니 입니다.
"유데미" AWS 강의를 참고하여 포스팅한 개인 공부 내용입니다.

 

EBS Volume (Elastic Block Store)

→ 인스턴스가 실행 중인 동안 연결 가능한 네트워크 드라이브

→ 인스턴스가 종료된 후에도 데이터 지속 가능

→ 인스턴스를 재생성하고 EBS 볼륨을 마운트하면 데이터를 다시 받을 수 있음

특정 가용 범위 내에서만 가능 (us-east-1a에서 생성한 EBS는 us-east-1b으로 연결 불가능)

→ EC2 인스턴스에서 분리될 수 있고, 빠르게 다른 인스턴스로 연결될 수 있음

→ 용량과 IOPS (초당 I/O 작업 수) 미리 지정해야함

 

⭐️ EC2 인스턴스 생성 시 EBS 볼륨을 생성하면 종료 시 삭제 옵션을 통해 EC2 종료 시 EBS 제어 가능

  • root EBS 볼륨은 해당 옵션 기본적으로 활성화
  • 나머지 EBS 볼륨기본적으로 비활성화

 

EBS 볼륨 타입

  • gp2/gp3
    • 범용 SSD 볼륨
    • 다양한 워크로드에 대해 가격과 성능이 좋음
    • 부팅 볼륨으로 사용 가능
  • io1/io2
    • 최고의 성능을 자랑하는 SSD 볼륨 (미션 크리티컬)
    • 지연 시간이 낮고, 대용량 워크로드에 쓰임
    • 부팅 볼륨으로 사용 가능
  • st1
    • 저비용의 HDD 볼륨
    • 잦은 접근과 처리량이 많은 워크로드에 쓰임
  • sc1
    • 가장 비용이 적게 드는 HDD 볼륨
    • 접근 빈도가 낮은 워크로드를 위해 설계

 

⭐️ gp2 / gp3

 

 

  • 짧은 지연 시간
  • 효율적인 비용
  • 시스템 부팅 볼륨에서 가상 데스크톱, 개발, 테스트 환경 사용 가능
  • 크기: 1GB ~ 16TB

 

gp2

  • 좀 더 오래된 볼륨
  • gp3보다 볼륨이 작음
  • 3,000 IOPS 볼륨
  • 볼륨의 사이즈와 IOPS가 연결되어 있어서 GB당 3 IOPS이기 때문에 5,334GB인 경우엔 최대 IOPS (16,000)가 초과

gp3

  • 최신 세대 볼륨
  • IOPS와 처리량을 독립적으로 설정 가능
  • 기본 성능: 3,000 IOPS (초당 I/O 작업 수)
    • 최대 16,000 IOPS까지 가능
  • 초당 125MB의 처리량 제공
    •  최대 1,000MB/s까지 증가 가능
Provisioned IOPS SSD

 

  • IOPS 성능을 유지할 필요 있는 주요 비즈니스 애플리케이션에 적합
  • 16,000 IOPS 이상 요하는 애플리케이션에 적합
  • 데이터베이스 워크로드에 적합

위 상황에는 gp2 or gp3 → io1 or io2 볼륨으로 변경하는 것이 좋음 (io1/io2 중엔 최신 세대로 고르는 것이 좋음)

 

io1 / io2

 

  • 4GB ~ 16TB
  • Nitro EC2 인스턴스 → 최대 64,000 IOPS까지 지원
  • NItro EC2 인스턴스가 아닌 경우 → 32,000 IOPS까지 지원
  • gp3 볼륨처럼 프로비저닝된 IOPS를 스토리지 크기와 독립적으로 증가 시킬 수 있음

 

⭐️ 32,000 IOPS 이상을 요할 때는 io1  혹은 io2 볼륨의 EC2 Nitro 필요

 

io2 

  • io1과 동일한 비용으로 내구성과 GB 당 IOPS 수가 더 높음

io2 Block Express

  • 4GB ~ 64TB
  • 고성능 유형의 볼륨
  • 지연 시간: 밀리 초 미만
  • IOPS:GB 비율이 1,000:1일 때: 최대 256,000 IOPS

 

st1

 

  • 데이터베이스가 필요할 때
  • 대용량, 저비용을 요할 때 사용

 

EBS 스냅샷

→ EBS 볼륨의 특정 시점에서의 백업

→ 다른 가용 영역 혹은 다른 리전에 복사 가능

→ EBS 볼륨을 한 인스턴스에서 다른 인스턴스로 전송할 수 있는 방법

→ AWS 다른 리전에 데이터 백업 해놓을 수 있기 때문에 재해 복구 수행 시 유용

→ 생성한 스냅샷을 가지고 볼륨 생성 가능 (EBS 볼륨 복제해서 다른 가용 영역에 생성)

 

EBS 다중 첨부 기능

→ 동일한 EBS 볼륨을 동일한 가용 영역에 있는 여러 개의 EC2 인스턴스에 첨부

→ ⭐️ io1 및 io2에서만 사용 가능

 

  • 클러스터된 Linux 애플리케이션의 경우, 애플리케이션 가용성이 높아짐 ex> Teradata
  • 애플리케이션에서 동시 쓰기 작업을 관리하는 경우
  • 하나의 볼륨은 한 번에 최대 16개의 EC2 인스턴스 부착 가능

 

기능

 

  • EBS 스냅샷 아카이브
    • 최대 75% 저렴한 아카이브 티어로 옮길 수 있음
    • 아카이브를 복원하는데 24시간 ~ 72시간 소요
  • EBS 스냅샷을 위한 휴지통 생성
    • EBS 스냅샷을 영구적으로 삭제하는 대신 휴지통에 보관
    • 보관 기간: 하루 ~ 1년까지 설정 가능

Recycle Bin을 통해 삭제된 스냅샷을 휴지통에 보관
삭제한 스냅샷을 Recover로 복구 가능

  • 빠른 스냅샷 복원
    • 스냅샷 완전히 초기화
    • 스냅샷을 처음 사용할 때 대기 시간이 없음
    • 스냅샷이 매우 클 때 EBS 볼륨 초기화 혹은 매우 빠르게 인스턴스화해야 할 때 유용
    • 비용이 큼

 

AMI (Amazon Machine Image)

→ 사용자 지정 EC2 인스턴스

소프트웨어 구성에 대해 운영 체제 정의 및 설정, 모니터링 도구 설정 가능

→ 자체적으로 AMI 생성 시 부팅과 구성에 시간 단축

EC2 인스턴스에 설치하고자 하는 모든 소프트웨어가 AMI 통해 사전 패키징 되기 때문

 

AMI 프로세스

 

  • EC2 인스턴스 시작 후 사용자 지정으로 변경
  • 인스턴스 중지 → 데이터 무결성 확보
  • AMI 구축 (EBS 스냅샷 생성 포함)
  • 다른 AMI에서 인스턴스 실행

 

EC2 Instance Store

→ 해당하는 물리적 서버에 연결된 하드웨어 드라이브

→ 고성능을 위해선 EC2 인스턴스에 연결된 하드웨어 디스크 성능이 향상되어야 함

EC2 인스턴스: 가상 머신이지만, 실제로는 하드웨어 서버에 연결되어 있음

이와 같은 서버에는 해당 서버에 물리적으로 연결된 디스크 공간을 갖게됨

 

  • I/O 성능 향상을 위해 사용
  • EC2 인스턴스 (EC2 인스턴스 스토어)를 중단하면 해당 스토리지 또한 손실
    • 따라서 임시 스토리지 라고 불림
    • 장기적으로 데이터를 보관할 만한 장소가 되지 않음
  • 버퍼나 캐시, 스크래치 데이터 또는 임시 콘텐츠를 사용하려는 경우 유용
  • EC2 인스턴스 기본 서버에 장애 발생 시에는 연결된 하드웨어에도 장애 발생 → 큰 데이터 손실이 일어남
    (중요한 데이터는 백업 / 복제 필수)