Skip to content

Commit 18f3cff

Browse files
authored
Merge pull request #5 from ssuperpower-developer/hyegyeong/week1
EBS Storage
2 parents 44d74bb + a7721de commit 18f3cff

8 files changed

+282
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
2+
EC2 인스턴스를 기반으로 만든 **머신 이미지**다. EBS Snapshot 처럼 볼륨의 데이터 백업하는게 아닌, 루트 EBS 볼륨과 추가 볼륨을 모두 포함해서 OS, 설정 등 EC2 인스턴스를 통째로 백업한다.
3+
4+
## AMI의 종류
5+
6+
| 종류 | 설명 |
7+
| ------------------- | ------------------------------------ |
8+
| **Public AMI** | AWS가 기본 제공하는 이미지 (예: Amazon Linux 2) |
9+
| **Custom AMI** | 사용자가 직접 구성한 이미지, 유지보수도 직접 |
10+
| **Marketplace AMI** | 다른 사용자가 구성하여 판매하는 이미지, 시간 절약 가능 |
11+
12+
## 장점
13+
14+
- **커스터마이징 가능**
15+
- 원하는 소프트웨어, 설정 파일, 운영체제, 모니터링 툴 등을 미리 포함 가능
16+
- **글로벌 인프라 활용**
17+
- AMI를 한 리전에 만든 뒤 **다른 리전으로 복사 가능**
18+
- **EC2 인스턴스 실행 시 활용**
19+
- 기존 EC2를 중지 후, 이를 기반으로 AMI 생성 → 다른 AZ에서 복제 실행 가능
20+
21+
## AMI 생성 절차
22+
23+
1. EC2 인스턴스를 원하는 대로 설정
24+
2. 인스턴스를 **중지(stop)** (데이터 무결성 확보)
25+
3. 해당 인스턴스로부터 **AMI 생성**
26+
4. AMI를 활용해 **다른 가용영역(AZ)이나 리전에서 인스턴스 실행**
27+
28+
## 예시 흐름
29+
30+
- `us-east-1a`에서 EC2 인스턴스 설정 → AMI 생성
31+
`us-east-1b`에서 이 AMI로 EC2 인스턴스 실행
32+
→ 기존 인스턴스의 **복사본 생성**
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
### 1. **연결 방식**
2+
3+
- **EBS**:
4+
- EBS 볼륨은 **하나의 EC2 인스턴스에만 연결**가능. 하지만, io1과 io2 볼륨에서는 Multi-Attach 기능을 활용하여 여러 인스턴스에 연결 가능
5+
- **같은 Availability Zone** 내에서만 사용할 수 있으며, **다른 AZ로 이동하려면 스냅샷을 사용**해야함
6+
- **EFS**:
7+
- **네트워크 파일 시스템**으로, **Availability Zone**에 상관없이 여러 인스턴스에 연결 가능
8+
9+
### 2. **백업 및 성능**
10+
11+
- **EBS**:
12+
- **EBS 백업은 I/O를 사용**하므로 **애플리케이션의 성능에 영향을 미칠 수 있다.
13+
- **EC2 인스턴스 종료 시 EBS 볼륨도 함께 종료 되는 것이 디폴트 값** (변경 가능)
14+
- **EFS**:
15+
- **네트워크 파일 시스템**이므로 **백업에 I/O가 거의 영향을 미치지 않음**.
16+
17+
### 4. **가격**
18+
19+
- **EBS**:
20+
- EBS는 **가격이 EFS보다 저렴**하며, **디스크 크기와 IOPS**에 따라 가격이 달라짐.
21+
- **EFS**:
22+
- **EBS보다 약 3배 더 비쌈**. 하지만 **스토리지 계층**을 사용하여 **비용 절감 가능**
23+
24+
### 5. **호환성**
25+
26+
- **EBS**:
27+
- EBS는 **Linux 및 Windows 인스턴스**에서 모두 사용 가능
28+
- **EFS**:
29+
- EFS는 **POSIX 시스템**을 지원하며, **Linux 기반** 인스턴스에서만 사용 가능
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
## EBS 볼륨이란?
2+
3+
EC2에 연결하는 네트워크 기반의 USB라고 생각하면 된다. 네트워크로 연결되니 지연이 있고, 인스턴스가 종료되어도 데이터가 유지된다. USB처럼 연결(Attach)과 분리(Detach)가 자유롭다.
4+
5+
## 연결
6+
7+
컴퓨터(EC2)와 USB(EBS)의 관계를 생각하면 편하다.
8+
9+
![[Pasted image 20250430221331.png]]
10+
11+
- **하나의 EBS는 하나의 인스턴스에만 연결 가능**
12+
- **둘의 availability Zone이 다르면 연결 불가
13+
- `us-east-1a`에서 생성된 EBS는 `us-east-1b`와 연결 불가
14+
- 단, 스냅샷 활용시 이동 가능
15+
- **EBS는 인스턴스 없이도 존재 가능**
16+
- **하나의 인스턴스에 여러개의 EBS를 동시에 연결 가능**
17+
18+
## 활용
19+
20+
- **인스턴스 재생성 후에도 데이터 유지**
21+
- **빠르게 다른 인스턴스에 재마운트 가능**
22+
- **백업 및 복원용으로 스냅샷 기능 활용 가능**
23+
24+
## 요금
25+
26+
아래 요소에 따라 요금이 결정되며, 나중에 조정이 가능
27+
- 용량 (GB)
28+
- IOPS (Input/Output Operations per Second)
29+
30+
## 종료 시 삭제 옵션
31+
32+
![[Pasted image 20250501185228.png]]
33+
34+
EC2 인스턴스를 생성하면서 EBS를 생성하면 종료 시 삭제(Delete on Termination) 옵션이 있다. 디폴트 값은 아래와 같지만, 생성시에 옵션을 변경할 수 있다.
35+
- **루트 볼륨**: 기본으로 체크되어 있어 인스턴스 종료 시 삭제됨
36+
- **추가 볼륨**: 기본으로 비활성화되어 삭제되지 않음
37+
38+
---
39+
40+
# EBS Snapshot
41+
42+
EBS 스냅샷은 **EBS 볼륨의 백업본**이다. 볼륨의 특정 시점을 사진찍듯이 백업본으로 만들고, 그 백업본을 다시 볼륨으로 복구할 수도 있다.
43+
44+
## 연결 & 복원
45+
46+
![[Pasted image 20250501174300.png]]
47+
48+
스냅샷은 **다른 가용 영역 혹은 리전으로 복사 가능**
49+
- 예: `us-east-1a`의 EBS → 스냅샷 생성 → `us-east-1b`에서 볼륨으로 복원
50+
51+
## 스냅샷을 어디에 보관 할 것인가?
52+
53+
디폴트는 Standard Tier에 보관된다. 하지만 아래와 같이 3가지 옵션을 더 선택할 수 있다.
54+
1. 아카이브 티어
55+
2. 휴지통
56+
3. FSR(Fast Snapshot Restore)
57+
58+
### 아카이브 티어 (Archive Tier)
59+
- **최대 75% 저렴한 비용**으로 저장가능. 단, **복원까지 24~72시간 소요**
60+
- **즉시 복원이 필요 없는 장기 보관용**에 적합
61+
- 다른 클라우드에서 콜드 스토리지라고 부르는 그것!
62+
63+
### 휴지통 (Recycle Bin)
64+
- 실수로 삭제한 스냅샷을 **일정 기간 복원 가능**
65+
- **보관 기간 설정 가능**: 1일 ~ 1년
66+
- 기본 삭제 → 휴지통 이동 → 복원 가능
67+
68+
### FSR(Fast Snapshot Restore)
69+
- **볼륨으로 복원하는데 필요한 시간을 줄이기 위해 미리 준비된 스냅샷**
70+
- 성능은 뛰어나나 **비용이 높으므로 신중히 사용**
71+
72+
![[Pasted image 20250501185405.png]]
73+
74+
---
75+
76+
# EBS 볼륨 유형
77+
78+
EBS에는 현재 **6가지 볼륨 유형**이 있다. 아래 나오는 정보들의 **숫자는 중요하지 않습니다.** 대략적인 특징과 비교가 가능하면 됩니다.
79+
80+
## SSD 볼륨
81+
82+
### GP3
83+
- **범용 SSD (최신 세대)**
84+
- **IOPS와 Throughput을 독립적으로 설정 가능**
85+
- 기본: 3,000 IOPS / 125MB/s
86+
- 최대: 16,000 IOPS / 1,000MB/s
87+
- **GP2 대비 성능과 가격 효율성 모두 우수**
88+
- **시험에서 중요**
89+
90+
### GP2
91+
- **범용 SSD (이전 세대)**
92+
- **IOPS와 용량이 비례** (1GB당 3IOPS, 최대 16,000 IOPS)
93+
- 최대 16TB까지 가능
94+
- **버스트 성능** 제공 (작은 볼륨일 경우)
95+
- 저비용 & 낮은 지연시간 → **테스트/개발, 부팅 볼륨 등에 적합**
96+
97+
### io1 / io2 Block Express
98+
- **고성능 SSD 볼륨**
99+
- 일관된 IOPS가 필요한 **데이터베이스용**
100+
- **스토리지와 IOPS 비례하지 않음 → 별도 설정 가능**
101+
-> 비싸고 성능이 좋음
102+
103+
## HDD 계열 볼륨
104+
105+
### ST1 (Throughput Optimized HDD)
106+
- **빅데이터, 로그 처리, 데이터 웨어하우스에 적합**
107+
- 처리량 최적화 → 최대 500MB/s, 최대 500 IOPS
108+
- **부팅 볼륨 불가**
109+
- 최대 16TB
110+
111+
### SC1 (Cold HDD)
112+
- **자주 접근하지 않는 데이터 (아카이브)에 적합**
113+
- 초저가 스토리지
114+
- 최대 250MB/s, 최대 250 IOPS
115+
- **부팅 볼륨 불가**
116+
117+
## 부팅 볼륨으로 사용 가능한 유형
118+
119+
- GP2, GP3, io1, io2 ✅
120+
- ST1 / SC1 ❌
121+
**-> SSD 계열만 부팅 볼륨으로 활용할 수 있다!**
122+
123+
---
124+
125+
# EBS Multi-Attach
126+
127+
마치 초등학교 때 처럼.. EBS는 하나의 EC2에만 연결 된다고 했지만, 짜잔~ 사실은 여러개의 인스턴스에 연결할 수 있는 EBS도 있답니다!
128+
129+
- 이 기능은 **io1과 io2** 제품군에서만 사용 가능하며, 동일한 **Availability Zone** 내에서만 작동.
130+
- 여러 인스턴스가 하나의 EBS 볼륨에 **동시에 읽고 쓸 수 있다**.
131+
132+
### 제한 사항
133+
134+
- 연결 가능한 EC2 인스턴스의 수는 **최대 16개**로 제한. (중요!!)
135+
- **다른 Availability Zone 간의 연결 불가. (예: `us-east-1a`에서 `us-east-1b`로 연결 불가)
136+
- **클러스터 인식 파일 시스템**만 지원.
137+
138+
### 사용 사례
139+
140+
- **애플리케이션 가용성**을 높이기 위해 사용.
141+
- **동시 쓰기 작업을 관리해야 하는 애플리케이션**에 유용.
142+
- **Teradata와 같은 클러스터링된 Linux 애플리케이션**에서 활용 가능.
143+
144+
---
145+
146+
## EBS 볼륨 암호화
147+
148+
- **저장 데이터****인스턴스와 볼륨 간의 전송 데이터**가 자동으로 암호화됨.
149+
- **스냅샷****스냅샷으로 생성한 볼륨**도 자동으로 암호화됨.
150+
- 암호화 및 복호화 과정은 백그라운드에서 자동으로 처리되며, 사용자는 아무것도 하지 않음.
151+
- 볼륨이나 스냅샷 생성시에 `Encrypt` 옵션만 체크
152+
- 암호화에는 **AES-256** 표준을 사용하며, **KMS(Key Management Service)**에서 암호화 키가 관리됨.
153+
154+
### 장점
155+
156+
- **지연 시간**에 미치는 영향은 거의 없으며, 백그라운드에서 암호화 및 복호화가 이루어짐.
157+
- **KMS**에서 암호화 키를 생성하고 관리하여 **AES-256** 표준을 사용한 강력한 암호화 지원.
158+
159+
### 스냅샷을 만들때는?
160+
161+
- 암호화 된 스냅샷 -> 암호화 된 볼륨 생성
162+
- 암호화 된 볼륨 -> 암호화 된 스냅샷 생성
163+
164+
그래서 이런 흐름도 가능합니다.
165+
1. 암호화 되지 않은 볼륨 생성
166+
2. 볼륨으로 암호화 되지 않은 스냅샷 생성
167+
3. 스냅샷을 복사하면서 암호화 -> 암호화 된 스냅샷 생성
168+
4. 암호화 된 스냅샷을 복원하면 암호화 된 볼륨이 됨.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
네트워크 기반으로 연결 된 볼륨인 EBS와 달리 **EC2 인스턴스가 위치한 하드웨어에 물리적으로 연결된 디스크**를 사용하는 스토리지다.
3+
4+
### 특징
5+
6+
- 인스턴스 중지/종료 시 **데이터 소실**
7+
- 흔히 **임시 스토리지 (Ephemeral Storage)** 라고 부름
8+
- **높은 처리량(Throughput)** 및 IOPS 제공
9+
10+
### 활용 시점
11+
12+
- **임시 데이터**에 적합
13+
- 버퍼나 캐시처럼 빠른 IO를 요구하지만 임시 데이터일 때 유용함
14+
- **장기 보관 목적에는 부적합**
15+
- → **EBS 사용 권장**
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
2+
**EFS는 Availability Zone에 상관없이 여러 EC2 인스턴스에서 동시에 마운트할 수 있는 네트워크 파일 시스템**이다. **고가용성****확장성**이 뛰어난 대신, **비용은 GP2 EBS 볼륨의 약 3배** 정도이다.
3+
4+
![[Pasted image 20250501174141.png]]
5+
6+
### 비용 및 확장성
7+
8+
- **EFS**는 사용량에 따라 비용이 청구되며, **미리 용량을 정할 필요가 없다.**
9+
- 파일 시스템은 자동으로 **확장**된다.
10+
-> 편리하다는 것은 장점이지만 요금 측면에서는 좀 무섭군요..
11+
12+
### EFS의 주요 구성 요소
13+
14+
- **보안 그룹**을 사용하여 EFS에 대한 액세스를 제어.
15+
- **Linux 기반 AMI**와만 호환되며, **NFS 프로토콜**을 사용하여 데이터를 전송.
16+
### Throughput Mode
17+
18+
- **Bursting**: 기본적으로 1TB에 대해 초당 50MiB ~ 100MiB의 버스트 성능을 제공.
19+
- **Provisioned**: 스토리지와 처리량을 독립적으로 설정 가능.
20+
- **Elastic**: 작업에 따라 **자동으로 처리량을 조정**할 수 있는 옵션.
21+
### Performance Mode
22+
23+
- **General Purpose**(default): **지연 시간**에 민감한 일반 웹서버 등
24+
- **Max I/O**: **지연 시간이 더 길지만** 높은 **처리량****병렬성**이 필요한 **빅 데이터** 애플리케이션이나 **미디어 처리**에 적합. (Bursting일때는 선택 불가능)
25+
26+
### EFS 스토리지 클래스
27+
28+
- **Standard**: 기본계층이며, 자주 액세스하는 파일에 적합한 위치
29+
- **EFS-IA (Infrequent Access)**: 자주 액세스하지 않는 파일에 적합하며, 파일을 저장하면 **비용이 감소**, 검색 시 **비용 발생**.
30+
- **아카이브 스토리지 계층**: 거의 액세스하지 않는 데이터
31+
32+
### 수명 주기 정책
33+
34+
- **수명 주기 정책**을 설정하여 **파일을 자동으로 다른 계층으로 이동**할 수 있습니다.
35+
- 예: 60일 동안 액세스하지 않은 파일을 **EFS IA**로 이동.
36+
37+
### One Zone EFS
38+
- EFS가 하나의 AZ에만 배치되게 해서, **저렴한 비용**으로 사용 가능.
58.9 KB
Loading
35.7 KB
Loading
35.9 KB
Loading

0 commit comments

Comments
 (0)