EBS Volume이란? (Elastic Block Store)
EBS Volume을 간단하게 정리하자면?
-> USB라고 생각하자
-> 하지만 실제 물리적 연결은 없고, 네트워크를 통해 연결한다 (물리적 드라이브가 아님)
프리티어로는 매달 30GB의 EBS 스토리지 사용 가능!
EBS 볼륨은 네트워크 드라이브이므로 EC2에서 분리될 수 있고,
매우 빠르게 다른 인스턴스로 연결 될 수 있다 (네트워크이기 때문!)
볼륨이기 때문에 용량을 미리미리 결정해야 한다!
그림을 보면서 이해해보자

두 개의 가용영역이 있다.
이 중, 첫번째 가용영역 1A를 먼저 살펴보자
하나의 EC2 인스턴스가 있고, 미리 설정해놓은 EBS Volume을 인스턴스에 연결하는 방식이다.
또한, 하나의 EC2 인스턴스에 여러개의 EBS Volume 설정이 가능하다.
가용영역 1B를 살펴보자.
우선, EC2인스턴스와 같이, 다른 가용영역에 있기 때문에, 1A에 존재하는 EBS와 연결이 불가하다. 그래서 새로 EBS Volume을 만들어준 모습이다.
2개의 EBS Volume이 있지만, 하나는 EC2인스턴스와 연결되어 있고, 하나는 연결해놓지 않았다. 연결 안 해도 될까??
안 해도 된다!
즉, 미리 EBS 볼륨을 만들어놓고, 나중에 필요할 때 연결할 수가 있다는 말이다.
추가: 루트 EBS 볼륨은 인스턴스 종료시 삭제되도록 자동 설정되어있음. (루트 EBS 볼륨이 아니면 자동 삭제 설정 안 되어있음).
-> 설정은 언제든지 바꿀 수 있음!
(기본설정이 그렇게 되어있다는 말임)
총 6개의 유형이 있음
1. gp2/gp3(SSD)
IOPS란? (I/O Ops Per Sec)
초당 I/O 작업 수
EC2 인스턴스에서는 gp2/gp3와 io1/io2만이 부팅 볼륨으로 사용될 수 있다.
gp2:
짧은 지연 시간을 자랑하며 효율적인 비용의 스토리지
시스템 부팅 볼륨에서 가상 데스크탑, 개발, 테스트 환경에서 사용 가능
1GB~16TB
최대3,000IOPS, 볼륨과 IOPS가 연결되어 있음.
즉, 볼륨의 GB 수를 늘릴 때 IOPS가 향상됨
vs gp3: 최신 세대의 볼륨 (기본 성능으로 3,000 IOPS, 초당 125MB 처리량)
최대 16,000 IOPS, 초당 1,000MB까지 증가시킬 수 있음
-> IOPS와 처리량을 독자적으로 설정할 수 있음
-> gp2는 둘이 연결되어 있음
하나의 EBS에 여러 인스턴스를 연결하는걸 EBS 다중 연결이라 한다.
이는 EBS 볼륨 중 io1과 io2 제품군에서만 사용할 수 있는 기능이다.

EBS Volume 생성하면
-> 저장 데이터가 볼륨 내부에 암호화되고, 인스턴스와 볼륨 간의
전송 데이터 역시 암호화됨
-> 스냅샷 뿐만 아니라 스냅샷으로 생성한 볼륨 역시 모두 암호화
암호화를 사용해야 하는 이유:
지연 시간에는 영향이 없음
암호화 하는 법:
볼륨의 EBS 스냅샷을 생성하고, 복사 기능을 통해 EBS 스냅샷을 암호화 함.
이후에, 스냅샷을 이용해 새 EBS 볼륨을 생성하면 해당 볼륨도 암호화된다.
실습을 통해 직접 EBS Volume을 만들고, EC2에 할당해보자.
인스턴스에 들어와서 스토리지 탭을 눌러보면 정보를 볼 수 있다.

이미 8Gib 의 볼륨이 할당되어 있는걸 볼 수 있다.
(EC2 인스턴스를 만들 때 루트 EBS는 자동으로 할당되는걸 알 수 있음)
두 번째 EBS Voluem을 만들어보자.

여기서 중요한 점은, 가용 영역이다.
위의 그림에서 보았듯이, 서로 다른 AZ에서 EBS Volume을 참조할 수 없기 때문에, 내가 사용하려는 EC2 인스턴스와 가용영역을 맞추어 설정해야한다!
볼륨 생성 후에,

볼륨 연결을 누르고, 연결하려는 인스턴스를 선택을 해 연결 할 수 있다.
이후에 인스턴스에 들어가 확인을 해보면

하나의 EC2 인스턴스에 2개의 EBS Volume이 연결되있는것을 볼 수 있다.
EBS 스냅샷이란?
EBS 볼륨의 특정 시점에 대한 백업

위와 같은 그림처럼, EBS Volume에 대한 스냅샷을 찍고, 이 스냅샷을 활용해 다른 AZ에 복원할 수 있는것!
이런식으로 EBS 볼륨을 하나의 AZ에서 다른 AZ로 전송이 가능하다
EBS 스냅샷에서 제공해주는 기능을 알아보자
끝