EBS (Elastic Block Store)
:EC2 인스턴스에서 디스크처럼 사용할 수 있는 '블록'수준 스토리지
하나의 인스턴스 또는 여러개 인스턴스에 동시에 연결할 수 있는 AWS의 외장하드디스크
특징
- 필요한 용량에 맞게 구입/생성/제거 가능 (필요한 만큼 가상의 볼륨을 잡고 과금)
- '스냅샷' : EBS볼륨의 백업, AZ에 중복저장 가능 (증분식백업 : 마지막스냅샷 이후 변경된 볼륨의 블록만 저장)
- '암호화' : AWS KMS 마스터키를 사용해서 암호화된 볼륨생성 가능
- '지속성' : 인스턴스 수명에 관계없이 유지 (즉, 인스턴스 중지/종료해도 삭제해도 데이터유지가 기본)
- 종료시 삭제 옵션
활성화 :인스턴스 종료시 연결된 볼륨도 같이 삭제
비활성화 : 인스턴스 종료시 연결된 볼륨은 삭제되지 않고 분리됨(available상태)
언제 사용?
- 데이터에 빠르게 액세스 해야하고, 장기간 지속하는 데이터를 저장해야할 경우
- 인터넷에 대한 액세스가 제공되지 않는다
- USB처럼 EC2에 연결해서 사용가능
- 사용자가 지우기 전 까지 영구적으로 보존
Volume
EBS로 생성한 디스크 하나하나 저장 단위
그래서 EBS가 하나의 디스크 디바이스라면, 그 단위를 볼륨이라고 부르기 때문에 EBS볼륨이라고 함
(디스크장치인 USB 하나가 시스템에 연결하면 볼륨으로 인식되는 것처럼)
그래서 EBS볼륨이라고 함
▼▼ 스토리지(디스크)/ 파티션/볼륨/파일시스템 개념 보고오기 ▼▼
https://pearlluck.tistory.com/179
EBS (Elastic Block Store) 확인
1) 처음에 인스턴스 생성할때 -새볼륨추가
볼륨유형 : 인스턴스 스토어 vs EBS
ebs
영구적 스토리지
인스턴스의 수명과 무관하게 유지(인스턴스 Stop해도 유지, terminated 되면 데이터유지/삭제옵션 존재)
호스트 외부에 존재하는 스토리지
하나의 인스턴스에 attach한 EBS 볼륨을 분리해서 다른 인스턴스에 연결가능
인스턴스 스토어
휘발성 스토리지
인스턴스에 직접 연결되서 EBS보다 빠름
인스턴스가 활성화 되어 있는 동안에만 유지(인스턴스 stop/terminate 되면 데이터삭제)
호스트 로컬내부에 존재하는 스토리지
하나의 인스턴스가 가진 인스턴스 스토어를 분리해서 다른 인스턴스에 연결불가
[Step1. 볼륨생성]
(1) 볼륨유형
SSD
범용 SSD (gp2) : 3IOPS당 1GB
프로비저닝된 IOPS(io1) : 내가 요구하는 IOPS를 수치로 적용하면 그에 맞는 IOPS제공 (디비같은 집중적인 app에 필요)
HDD
콜드 HDD(sc1)
처리량에 최적화된 HDD(st1)
SSD에 비해 IOPS가 상대적으로 좋지 않음
속도는 상관없지만, 스토리지가 상대적으로 많이 필요할 때 사용
(2) 크기(GiB)
1GiB당 3IOPS
*IOPS : input/output per Second (초당 io 작업수)
볼륨이 지원하는 최대 IOPS : 3000
(3) 가용영역
단, EBS 볼륨을 연결하려는 인스턴스랑 새로 생성한 EBS볼륨이랑 같은 가용영역
(4) 스냅샷 : 볼륨 백업
볼륨상태
IN-USE : 볼륨생성하고 EC2에 Attach한 상태
Available : 볼륨을 새로 생성했지만, EC2에 연결하지 않은상태
[Step2. 볼륨연결]
인스턴스 : 볼륨을 mount 시킬 인스턴스 (같은 AZ)
디바이스 : 인스턴스에서 인식할 장치명
하나의 EBS 디스크 디바이스를 더 추가한다면 디스크에 따라서 xvda,xvdb,xvdc (a/b/c...)
디스크를 파티션으로 나눌꺼라면 파티션에 따라서 xvda1, xvda2, xvda3 (1/2/3..)
하지만, 볼륨을 연결했다고 해도 바로 df에서 확인할 수 없음
df 명령어는 파일시스템의 사용량 확인 명령어
볼륨을 처음 생성했을때는 파일시스템 조차도 없는 상태!
그래서 지금까지 작업은 USB 같은 하나의 저장장치를 추가한 것 일뿐, USB 자체는 빈깡통
이제 USB가 데이터를 담을 수 있는 파일시스템을 만들어줘야 함
루트 디바이스 정보확인
1) 현재 파일시스템 확인 (df -h)
2) 현재 블록장치 목록확인 (lsblk)
EC2를 생성할때 EBS로 생성한 루트디바이스 (dev/xvda)
디스크 하나의 분할 단위를 하나의 파티션으로 가지고 있음 (dev/xvda1)
3) 파티션 정보확인 (fdisk -l [장치명])
루트디바이스의 전체 파티션 정보 : linux 파일시스템을 위한 파티션 / 부팅을 위한 파티션
4) 파일시스템 내용확인(file)
전체 루트디바이스 자체가 가지고 있는 파일시스템 : 인스턴스 부팅시 사용된 이미지 저장볼륨
파티션 하나가 가지고 있는 파일시스템 : 리눅스 파일시스템을 저장한 볼륨
출처) 인스턴스 스토어 vs 볼륨 차이
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/RootDeviceStorage.html
정리) 리눅스명령어 : df/du -sh [디렉토리명] / fdisk -l [장치명]/ lsblk
https://hiseon.me/linux/linux-disk-size-check/
추가) 루트 디바이스 vs 블록 디바이스(ebs)
추가) 루트블록 사이즈 늘리기 가능? 블록디바이스 사이즈 늘리기 가능?
https://blog.lael.be/post/7735
출처
https://galid1.tistory.com/360?category=765372
'🌴 DevOps > Cloud' 카테고리의 다른 글
[AWS비용] AWS FreeTier 어디까지 무료인가?| 프리티어 사용량 (2) | 2021.03.21 |
---|---|
[AWS 계정이동] AWS인프라를 다른계정으로 옮길때 | 이미지 권한수정 (0) | 2021.03.21 |
[EBS] EBS 볼륨 EC2에 Attach(파티션생성/파일시스템생성/Mount) (0) | 2020.06.09 |
[ACM] 공인인증서 ALB/CLB 적용 차이 (0) | 2020.05.28 |
[ACM] 사설인증서 발급(OpenSSL) 및 CloudFront 적용 (0) | 2020.05.27 |
[ACM] 공인인증서 발급 및 CloudFront 적용 (0) | 2020.05.26 |