본문 바로가기
개발 공부/AWS

[AWS] SAA 공부 (3)-1 EC2 - EBS / Snapshots / AMI

by sngynhy 2025. 3. 19.

EBS (Elastic Block Store)

EC2 인스턴스에 연결하여 사용할 영구 블록 스토리지 볼륨을 제공

즉, EC2 인스턴스가 실행 중인 동안 연결 가능한 가상 하드 디스크

EBS 특징

  • 영구성: EC2 인스턴스를 종료하거나 재부팅해도 데이터가 사라지지 않고 계속 유지 가능
  • 독립성: EBS 볼륨은 EC2 인스턴스와 독립적으로 존재 => 인스턴스를 삭제해도 EBS는 유지
    • 인스턴스와 EBS는 분리된 상태로 네트워크로 연결되어 있기 때문에
      인스턴스 업그레이드 시 EBS에 연결된 네트워크만 변경해주면 됨 => 인스턴스 업그레이드 용이
    • 단, 루트 볼륨으로 사용 시 EC2 종료되면 EBS도 함께 종료됨 => 설정을 통해 EBS만 따로 존속 가능
  • 확장성: 필요 시 볼륨 크기나 성능을 동적으로 조정 가능
    • 일반적으로 EBS는 한 개의 인스턴스에만 붙일 수 있으나, Multi Attach를 사용하면 여러 인스턴스가 동시에 접근 가능
      • 한 개의 EBS를 최대 16개의 EC2에 장착 가능
      • 단, 지원되는 볼륨 타입: io1 또는 io2(프로비저닝된 IOPS SSD)만 가능
  • 고가용성: 자동으로 데이터를 여러 AZ(가용 영역)에 복제해 데이터 손실 위험 낮춤
    • EC2와 같은 가용 영역에 존재 > 인스턴스 생성 시 설정한 AZ에만 연결 가능
    • 단, 스냅샷을 이용하면 다른 AZ에도 연결 가능
  • EBS 볼륨을 가용 영역 내에 자동으로 복제되어 구성 요소 장애로부터 보호
  • 워크로드 실행에 필요한 시연 시간이 짧고 일관된 성능 제공
  • 프로비저닝한 부분에 대해서만 저렴한 비용을 지
📌인스턴스 종료 시 EBS 삭제 속성
EC2 인스턴스 생성 시 콘솔에서 EBS 볼륨을 생성하면 [종료 시 삭제] 옵션으로 EBS 액션 제어 가능
> 인스턴스가 종료되어도 데이터를 유지하고 싶은 경우 비활성화로 설정
(단, 루트 볼륨의 경우 '종료 시 삭제'가 기본값으로 활성화 되어 있음)

EBS 유형

  • GP2 / GP3 (SSD)
    • 다양한 워크로드에 대해 가격과 성능의 균형을 맞추는 일반적인 범용 SSD 볼륨
    • 비용 효율적인 스토리지
    • 낮은 대기 시간을 제공
    • 시스템 부팅 볼륨, 가상 데스크톱, 개발 및 테스트 환경에 사용
    • 📌 GP2와 GP3의 차이점
      • GP3는 IOP와 처리량을 독립적으로 설정 가능 > 디스크 크기와 관계없이 IO 증가
      • GP2는 서로 연결되어 있음 > 볼륨의 기가 바이트 수를 늘리면 IOP 증가
  • IO1 / IO2 Block Express (SSD) - 프로비저닝된 IOPS
    • 가장 높은 성능의 SSD 볼륨
    • 32,000 이상의 IOPS
    • 미션 크리티컬, 저지연, 고처리량 작업, 스토리지 성능과 일관성에 매우 민감한 경우 적합
  • ST1 / SC1 (HDD)
    • 저비용 대용량 볼륨
    • ST1와 SC1의 차이점
      • ST1: 액세스 빈도가 높고 처리량이 많은 작업에 사용
      • SC1: 액세스 빈도가 낮은 작업에 사용
⚡ 각 유형들의 큰 틀만 이해하기
데이터 베이스가 필요한 경우 > 범용 SSD(GP2, GP3), 프로비저닝된 IOP SSD (IO1, IO2)
EC2 인스턴스 생성 시 부팅 볼륨으로 사용할 수 있는 유형 > 범용 SSD, 프로비저닝된 IOP SSD, Magnetic(표준)
높은 처리량과 낮은 비용이 필요한 경우 > ST1, SC1

EBS 다중 연결 기능 (Multi-Attach) - with IO1 / IO2

  • 하나의 EBS 볼륨을 같은 AZ에 있는 여러 EC2 인스턴스에 연결 가능
    • 단, IO1 또는 IO2 볼륨만 가능
  • 각 인스턴스는 고성능 볼륨에 대한 읽기 및 쓰기 권한을 전부 갖음
  • 최대 16개 인스턴스만 연결 가능
  • 다중 연결 기능을 실행하기 위해서는 반드시 클러스터 인식 파일 시스템을 사용해야함

스냅샷 (Snapshot)

  • 특정 시간에 EBS 상태의 저장본
  • 필요 시 스냅샷을 통해 특정 시간의 EBS를 복구 가능
  • 다른 AZ 혹은 리전에도 복사하여 전송 가능
  • S3에 보관 => 증분식 저장
    ※ 증분식: 새로운 버전 업로드 시 전체 파일을 다시 저장하지 않고 변경된 부분만 저장하는 방식
  • 스냅샷 삭제 시 휴지통에 보관되어 복원 가능 (1일~1년)

AMI (Amazon Machine Image)

  • EC2 인스턴스를 생성할 때 사용하는 서버 이미지
    • 즉, 인스턴스를 실행하기 위해 필요한 정보를 모은 단위
    • OS, 아키텍처 타입(32-bit or 64-bit), 저장 공간 용량, 환경 설정 등을 포함
  • AMI를 사용하여 EC2를 복제하거나 다른 리전 또는 계정으로 전달 가능
    • 동일한 환경의 인스턴스를 여러 개 배포 가능
  • 스냅샷을 기반으로 AMI 구성

AMI 구성

  • 1개 이상의 EBS 스냅샷
  • '인스턴스 스토어' 인스턴스의 경우 루트 볼륨에 대한 템플릿
    • OS, 애플리케이션 서버, 애플리케이션 등
  • 사용 권한
    • 어떤 AWS 계정이 사용 가능한지
  • 블록 디바이스 맵핑
    • EC2 인스턴스를 위한 볼륨 정보 (EBS가 얼만큼의 용량으로 몇 개 붙는지)

AMI 타입

  • EBS 기반
    • 네트워크로 연결 > 느린 속도
    • 스냅샷을 기반으로 루트 디바이스 생성
  • 인스턴스 스토어 기반
    • 인스턴스 내부에 저장 > 빠른 속도
    • 인스턴스 삭제 시 함께 삭제됨 (비영구적) > 캐시 데이터, 복구 가능한 데이터 등을 저장
    • S3에 저장된 템플릿 기반으로 생성

AMI 생성 과정

 

EC2 생명주기

  • 중지
    • 중지 중에는 인스턴스 요금 미청구
    • 단, EBS 요금, Elastic IP 요금 등 다른 구성 요소에 대한 요금은 청구됨
    • 중지 후 재시작 시 공용 IP 변경
    • EBS 기반 인스턴스만 중지 가능 (인스턴스 스토어 기반 인스턴스는 중지 불가)
  • 재부팅
    • 재부팅 시에는 공용 IP 변동 없음
  •  최대 절전 모드 (Hibernate) 
    • 메모리(RAM)를 보존하여 재시작 시 중단 지점에서 다시 시작할 수 있는 정지 모드
    • 최대 절전 모드 시 메모리에 있는 데이터를 하드디스크(EBS)에 저장하여 종료
    • 암호화 필요,  덤프된 RAM을 포함할 만큼 충분한 용량 필요
    • 모든 인스턴스 유형에서 사용 가능
 
최대 절전 모드 설정

1. 인스턴스 생성 > 고급 세부 정보 > 최대 절전 중지 방식 > 활성화 선택


2. EBS 볼륨 설정
- 크기 > 사용하고자 하는 인스턴스 타입의 RAM 사이즈 고려
- 암호화 활성
- KMS 키 선택

 

요약

인스턴스 상태 설명 인스턴스 사용 요금
pending (대기) 인스턴스가 running  상태로 될 준비중 미청구
running (실행) 인스턴스 사용 중 청구
stopping (중지중) 인스턴스 중지 또는 최대 절전 모드로 전환중 미청구
최대 절전 모드 시 청구
stopped (중지 완료) 인스턴스 중지 상태 > 재시작 가능 미청구
shutting-down (종료중) 인스턴스 종료중 미청구
terminated (종료) 인스턴스 영구적으로 삭제됨 미청구

 

인스턴스 복제 실습

1. 인스턴스 이미지(스냅샷) 생성

 

2. 이미지 생성 완료 > AMI에 추가된 이미지

 

3. 위의 과정을 통해 만들어진 이미지로 인스턴스 생성

 

[내 AMI] 탭에서 내 소유 이미지 선택 후 인스턴스 생성

 

4. 복제 완료 > 인스턴스의 설정이 그대로 반영되어있는 상태로 복제됨