💾 EBS Volume (Elastic Block Store)
- 인스턴스가 실행 중인 동안 연결 가능한 네트워크 드라이브
- 인스턴스 종료 후에도 데이터를 유지할 수 있게 해준다.
- CCP 레벨에서 한 번에 하나의 인스턴스에만 마운트될 수 있다.
- CCP 레벨: 하나의 EBS -> 하나의 EC2 인스턴스 마운트
- Associate 레벨: 일부 EBS 다중 연결
- 특정 가용 영역에서만 사용가능 (다른 AZ에서 연결 불가능)
- a.k.a "네트워크 USB"
*[종료 시 삭제 시나리오]
기본적으로 루트 EBS 볼륨은 인스턴스 종료 시 같이 삭제됨.
따라서, 인스턴스 종료 후에도 루트 볼륨(데이터)를 유지하고자 하는 경우에는 디폴트 설정 체크 표시를 없애야함 !
⚡️ EBS Snapshot
- EBS 볼륨의 특정 시점에 대한 백업이다.
- 스냅샷은 다른 AZ 또는 리전에 복사 가능
[EBS Snapshot 기능]
- EBS Snapshot Archive : 스냅샷을 옮기는 기능.
- 최대 75% 저렴한 "archive tier" 로 스냅샷을 옮길 수 있다.
- 아카이브 복원하는데 24 ~ 72시간 소요 (바로 복원 ❌)
- EBS Snapshot 휴지통
- 삭제 후에도, 휴지통에서 복원 가능
- 휴지통 보관 기간 : (1일 ~ 1년 설정)
- Fast Snapshot Restore (FSR)
- 빠른 스냅샷 복원
📷 AMI (Amazon Machine Image)
EC2 인스턴스를 통해 만든 이미지를 말한다.
- 소프트웨어, 구성, 운영 체제, 모니터링 등을 직접 추가할 수 있음.
- 모든 소프트웨어가 미리 패키지되어 있으므로 부팅 및 구성 시간이 더욱 빠름.
AWS 에서는 다양한 AMI 를 통해 EC2를 인스턴스를 실행시킬 수 있다.
- A Public AMI : AWS 에서 제공하는 AMI (Amazon Linux2)
- Your own AMI : 직접 만들고, 관리하는 AMI
- An AWS Marketplace AMI : 누군가가 만든 AMI (혹은 판매하는 AMI)
[AMI 프로세스]
1. EC2 인스턴스를 원하는 대로 설정
2. 인스턴스를 중지 (데이터 무결성 확보)
3. AMI 를 빌드 -> 이 과정에서 EBS 스냅샷 생성
4. 다른 AMI에서 인스턴스 실행
📀 EC2 Instance Store
EBS 볼륨은 성능은 좋지만 "제한적인" 네트워크 드라이브이다.
따라서 고성능 하드웨어 디스크가 필요한 경우 EC2 인스턴스 스토어(EC2 Instance Store)를 사용할 수 있다.
- I/O 성능 향상
- 임시 스토리지 : 인스턴스를 중지 및 종료하면 인스턴스 스토어의 모든 스토리지가 손실됨
- 버퍼 / 캐시 / 스크래치 데이터 / 일시적인 콘텐츠에 적합함.
- 데이터 손실 위험성
✅ EBS 볼륨 유형
[6가지 EBS 타입]
- gp2 / gp3 (SSD) : 범용 SSD 볼륨. 다양한 작업에 대해 가격과 성능을 균형있게 유지
- io1 / io2 Block Express (SSD) : 가장 높은 성능. 미션-크리티컬, 저지연, 고처리량 작업에 사용
- st1 (HDD) : 자주 액세스하고 처리량이 많은 작업. (저비용 대용량)
- sc1 (HDD) : 가장 저렴. 액세스 빈도가 낮은 작업
EBS 볼륨은 크기, 처리량, IOPS(I/O Ops Per Sec)에 의해 정의된다.
[EBS 사용 사례]
1. General Purpose SSD (범용 타입)
- 효율적인 비용, 짧은 지연 시간
- 시스템 부트 볼륨, 가상 데스크톱, 개발 및 테스트 환경에서 사용
- 크기: 1 GiB - 16 TiB
- gp3:
- 최신 세대 / 3,000 IOPS / 125 MiB/s의 처리량
- IOPS는 최대 16,000까지, 처리량은 최대 1000 MiB/s까지 독립적으로 증가 가능.
- gp2:
- 예전 세대 / 최대 3,000 IOPS
- gp3 는 독립적으로 처리량을 늘릴 수 있지만, gp2는 모두 연결되어있음
2. Provisioned IOPS (PIOPS) SSD
- 지속적인 IOPS 성능이 필요한 애플리케이션
- 혹은 16,000 개 이상의 IOPS 가 필요한 애플리케이션
- 데이터베이스 워크로드에 적합 (스토리지 성능과 일관성에 민감)
- io1 (4 GiB - 16 TiB):
- 최대 PIOP : Nitro EC2 - 64,000, 기타 - 32,000.
- 스토리지 크기와 별개로 PIOPS 증가 가능
- io2 Block Express (4 GiB - 64 TiB):
- 지연 시간이 밀리초 미만.
- IOPS:GiB 비율이 1,000:1 일 때, 최대 PIOPS는 256,000.
3. Hard Disk Drive (HDD)
- 부팅 볼륨으로 사용 X
- 크기 : 125 GiB - 16 TiB
- st1 : 처리량 최적화 HDD
- 빅 데이터, 데이터 웨어하우스, 로그 처리에 적합.
- 최대 처리량 500 MiB/s, 최대 IOPS 500.
- sc1 : 콜드 HDD
- 아카이브 데이터용. 접근 빈도가 낮은 데이터에 적합함.
- 최저 비용이 중요한 경우
- 최대 처리량 250 MiB/s, 최대 IOPS 250
🔗 EBS 다중 연결
io1, io2 제품군에서만 사용 가능
- 하나의 EBS 볼륨을 같은 가용 영역 내 여러 EC2 인스턴스에 연결 가능
- 각 인스턴스는 고성능 볼륨에 대한 읽기 및 쓰기 권한을 전부 가짐.
- 사용 사례:
- 클러스터링된 Linux 응용 프로그램 (예: Teradata)에서 더 높은 응용 프로그램 가용성 달성
- 애플리케이션이 동시 쓰기 작업을 관리해야할 때 사용.
- 최대 16개의 EC2 인스턴스 동시 연결 가능.
🔐 EBS 암호화
- EBS 볼륨을 생성하면 암호화가 동시다발적으로 발생한다.
- 저장 데이터가 볼륨 내부에 암호화.
- 인스턴스와 볼륨 간의 전송 데이터 또한 암호화.
- 모든 스냅샷 암호화.
- 스냅샷에서 생성된 볼륨 암호화.
- 암호화 및 복호화 매커니즘은 보이지 않게 처리되고, (사용자가 직접 처리할 필요가 없음.) 지연 시간에 영향을 거의 미치지 않음.
- KMS에서 암호화 키를 생성하여 AES-256 암호화 표준을 갖음.
- 암호화되지 않은 스냅샷 복사를 통해 암호화할 수 있음.
- 암호화된 볼륨의 스냅샷은 암호화됨.
EBS 암호화 및 복호화
1. 볼륨의 EBS 스냅샷 생성
2. 복사 기능을 통해 EBS 스냅샷 암호화
3. 스냅샷을 사용해 새 EBS 볼륨 생성 -> 해당 볼륨도 암호화
4. 암호화된 볼륨을 인스턴스 원본에 연결
📂 Amazon EFS - Elastic File System
- 여러 EC2 인스턴스에 마운트할 수 있는 관리형 NFS, 네트워크 파일 시스템
- 이 EC2 인스턴스들은 여러 가용 영역에 있을 수 있음.
- 고가용성 및 확장성이 뛰어나며, 비용이 비쌈 (gp2의 3배), 후불제
- 사용 사례:
- 콘텐츠 관리, 웹 서빙, 데이터 공유, Wordpress
- NFSv4.1 프로토콜 사용.
- 보안그룹을 사용해야 함
- Linux 기반 AMI와 호환됨. (Windows는 불가능)
- KMS를 사용하여 EFS 드라이브에 저장 데이터 암호화를 활성화할 수 있음.
- Linux의 표준 파일 시스템: 표준 파일 API를 갖는 POSIX 파일 시스템
EFS Performances
- EFS Scale
- 동시 NFS 클라이언트 수천개와 10 GB 이상 처리량
- PB 규모의 네트워크 파일 시스템으로 자동 확장
Performance Mode (성능 모드)
: EFS 생성 시 설정
- 범용 모드 (기본값) : 작업당 지연 시간이 가장 짧으며 파일 시스템에 권장되는 성능 모드 (웹 서버, CMS 등)
- Max I/O : 지연 시간은 늘어나지만, 처리량과 병렬 처리 기능 향상 (빅데이터, 미디어 처리 등)
Throughput Mode (처리량 모드)
- Bursting: 1TB = 50MiB/s + burst of up to 100 MiB/s
- Provisioned: 스토리지 크기와 관계없이 처리량을 설정할 수 있음. (ex. 1 GiB for 1 TB storage)
- Elastic: 작업 부하에 따라 처리량을 자동으로 조정함.
- 읽기에 대해 최대 3GiB/s, 쓰기에 대해 최대 1GiB/s까지 지원.
- 예측할 수 없는 작업 부하에 사용됨.
EFS Classes
스토리지 티어 (수명주기 관리 기능 - n일 후 파일 이동)
- Standard: 액세스가 빈번한 파일은 보통 Standard 계층에 저장
- Infrequent access (EFS-IA): 파일을 검색하는데 비용이 들지만, 저장 비용은 낮음.
- Archive : 거의 액세스 하지 않는 데이터
🤔 EBS vs EFS
[EBS 볼륨]
- 한 번에 하나의 인스턴스에만 연결 가능. (io1, io2 제외)
- 특정 가용 영역에 한정됨.
- gp2: 디스크 크기가 늘어나면 IO도 함께 증가함.
- gp3 & io1: IO를 볼륨 크기와 관계 없이 독립적으로 증가시킬 수 있음.
[EFS 볼륨]
- 여러 가용 영역에서 수백 개의 인스턴스를 마운트할 수 있음.
- EFS는 WordPress 같은 웹 사이트 파일을 공유할 때에도 쓰임.
- Linux 인스턴스 전용 (POSIX)
- EFS는 EBS보다 높은 가격대를 가짐.
- EFS는 사용한 만큼만 비용이 청구됨.
- 비용 절감을 위해 EFS-IA를 활용할 수 있음.
✅ 결론
- EBS: 네트워크 볼륨을 한 번에 하나의 인스턴스에 연결할 수 있고 특정 AZ 내로 한정
- EFS: 다수의 인스턴스에 걸쳐 연결해야 하는 네트워크 파일 시스템에 적합
- Instance store: EC2 인스턴스에 IO를 최대로 사용하게끔 해주지만, 인스턴스가 망가지면 함께 망가지는 임시 드라이브.
'AWS' 카테고리의 다른 글
| [AWS] EC2 - Associate (0) | 2025.09.22 |
|---|---|
| [AWS] EC2 (0) | 2025.09.19 |
| [AWS] IAM (0) | 2025.09.19 |