EBS (Elastic Block Store)

。EC2 인스턴스에 네트워크를 통해 연결된 영구적인 Block Storage Volume을 제공하는 네트워크 드라이브
▶ 물리적 드라이브가 아닌, 네트워크 드라이브이므로 다소 네트워크 지연이 발생할 수 있음.
。EBS 유형 : GP / IO / ST / SC / Standard
▶ 프리티어에서는 30GiB까지 무료로 제공
。EBS는 EC2 인스턴스에 붙일 때 기존 EBS의 여유용량이 없는 경우 추가적으로 붙일 수 없다.
▶ 반드시 여유공간이 있어야 추가적으로 EC2 인스턴스에 EBS 용량을 추가 적용 가능
EC2 인스턴스와 관련된 기능

。EBS Volume은 EC2 인스턴스와 동일한 가용영역( AZ ) 내에서 네트워크를 통해 연결 및 별도의 독립적인 Life-Cycle을 가짐.
▶ 부착된 EC2 인스턴스가 종료되더라도 데이터를 계속 보존
。EC2 인스턴스의 Root EBS Volume은 인스턴스 삭제 시 함께 삭제되도록 기본 설정
。다른 AZ에 존재하는 EBS Volume을 EC2 인스턴스에 마운트 할 수 없다.
▶ 마이그레이션을 수행하는 경우 EBS 스냅샷 기능을 통해 다른 AZ으로 복사하여 마이그레이션
。Loose Coupling : 단일 EBS Volume에 네트워크로 연결된 EC2 인스턴스를 다른 EC2 인스턴스로 쉽게 교체하여 연결할 수 있음
▶ 새로운 EC2 인스턴스를 생성하여 해당 EBS Volume을 다시 마운트하여 재활용 가능
EBS Volume 종류
。EBS Volume 생성 시 저장할 용량 : GB, 처리량 : Throughput, 단위 초당 전송 수 : IOPS를 지정하여 생성
。GP2 / GP3 / io1 / io2의 경우만 EC2 인스턴스의 부팅용 Volume( = Root EBS Volume )이 될 수 있다.
▶ sc1, st1의 경우는 될 수 없음.
General Purpose : GP2 / GP3 (SSD)
。다양한 유형의 Workload에 대해 가격과 성능의 균형을 유지하는 비용 효율적 범용성의 SSD Volume
▶ 비교적 낮은 지연속도와 적당한 용량을 보유하며 일반적인 어플리케이션에서 사용
GP3:
。IOPS : 3000~16000, Throughput : 125~1000MB/s를 제공
。용량 : 1GB ~ 16 TB
Prrovisioned IOPS : io1 / io2 Block Express (SSD)
。저지연 / 높은 처리량이 요구되는 작업에 사용되는 가장 높은 성능의 SSD Volume
▶ IOPS : 16000 이상의 성능을 요구하는 어플리케이션에서 사용
。EBS Multi Attach 기능을 제공
ex ) DBMS의 저장성능과 일관성에 매우 민감한 경우 io1을 사용
io1 :
。Nitro EC2 인스턴스의 경우 IOPS : 64000, 나머지 인스턴스는 IOPS : 32000을 제공
。용량 : 4GB ~ 16TB
io2 :
。최대 IOPS : 256,000를 제공
。용량 : 4GB ~ 64TB
st1 (HDD)
。높은 처리량을 통한 접근 빈도가 많은 작업에 사용되는 저비용 대용량의 HDD Volume
▶ sc1, st1은 EC2 인스턴스의 부팅 볼륨이 될 수 없음.
。주로 빅데이터, 데이터 웨어하우스 용도로 사용
。용량 : 125GB ~ 16TB
。Throughput : 500MB/s , IOPS : 500을 제공
sc1 (HDD)
。접근 빈도가 낮은 작업에 사용되는 가장 저렴하고 대용량의 HDD Volume
。Throughput : 250MB/s , IOPS : 250을 제공
EBS Multi Attach

。하나의 EBS Volume을 동일한 AZ에 존재하는 최대 16개의 EC2 인스턴스에 연결할 수 있게하는 기능
▶ io1 / io2에서만 사용할 수 있는 기능
。각 인스턴스는 EBS Volume에 대해 동시에 읽기&쓰기가 가능
EBS Encryption
。EBS 스냅샷, EBS Volume 내 데이터와 인스턴스 간 전송되는 데이터에 암호화를 적용하는 기능
▶ EBS 스냅샷, EBS Volume을 생성 시 옵션에서 설정하여 활용
。지연시간에 영향이 거의 없는 장점이 존재
。AWS KMS(Key Management System)에서 암호화 키(AES-256)을 생성해서 활용
EBS Volume 생성
EC2 - 볼륨 - 볼륨 생성에서 EBS Volume을 생성

。가용 영역은 부착할 EC2 인스턴스와 동일한 위치로 설정
- 생성한
EBS Volume을 EC2 인스턴스에 부착


▶ EC2 인스턴스에 Root EBS Volume과 추가 EBS Volume이 부착됨을 확인 가능
EBS 스냅샷 ( EBS Snapshot )

。EBS의 특정 시점을 백업 용도로 저장하는 이미지
▶ EBS를 다른 Region 또는 AZ으로 복사하여 활용 시 사용하는 기능
。EBS 스냅샷은 AMI 단위로 생성
。스냅샷은 증분식으로 Amazon S3에 저장.
▶ 기존 EBS 전체를 백업하는게 아닌, 변경된 부분만 저장하여 비용을 최적화
EBS Volume Snapshot 생성
EC2 - Elastic Block Store - 볼륨에서 Snapshot을 생성

EC2 - Elastic Block Store - 스냅샷에서 스냅샷을 다른 리전으로 복사

- 해당
리전의 스냅샷에서 Volume 복원


인스턴스 스토어 ( EC2 Instance Store )
。EC2 인스턴스와 물리적으로 연결된 디스크
▶ 기존 EBS Volume의 네트워크 연결을 통한 네트워크 지연을 극복하여 디스크 I/O 성능 향상
。단 EBS Volume과 달리 EC2 인스턴스를 삭제 시 인스턴스 스토어의 데이터도 함께 삭제하므로 백업 메카니즘이 필요
▶ 장기적인 데이터 보관용도로서는 부적합하며 Buffer / Cache 용도로는 적합
。EC2 인스턴스에 호스팅된 애플리케이션에 고성능 로컬 캐시를 포함 시 캐시가 소실되어도 문제가 없는 경우에 활용