독립성: 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 키 선택