728x90
Basics of Cloud Storage
- 클라우드 저장소 : 클라우드 상에 데이터와 파일을 저장
- 컴퓨팅 노드를 통해 접근하거나, 인터넷을 통해 직접적으로 접근할 수도 있음
- 클라우드 저장소의 종류
- Direct Attached(Local Storage)
- 서버 랙에 호스트와 함께 할당
- 서버 OS를 위해 사용
- 연산을 위한 '임시' 저장소 역할이므로 클라우드 저장소로는 부적합
- File Storage(NFS storage)
- 네트워크를 통해 연산 노드와 연결
- direct-attach 대비 느린 속도
- direct / block 저장소 대비 낮은 가격
- 다수의 서버에 동시에 연결 가능
- 데스크톱 유저에게 익숙한 구조
- Block Storage
- R/W 속도가 빠르고, 높은 신뢰성을 갖기 때문에 DB나 빠른 속도가 중요한 어플리케이션에 유용
- Volume : Block storage의 처리 단위로 연산 노드에 연결되는 최소 단위 - HDD와 유사하게 동작
- 한번에 연산 노드와 볼륨은 1:1로만 연결 가능
- IOPS (Input/Output Operations Per Second) : 저장소의 속도
- Persistent : 연산 노드가 사라져도 Volume은 남아있는 상태
- 이후 Volume이 사라질 경우, 데이터가 손실될 수 있음
- snapshot을 통해 데이터를 백업
- Object Storage
- API를 통해 접근
- 가장 저렴하지만, 가장 느림
- 용량 제한이 없음
- 구조화되지 않은 데이터를 저장할 때 좋음
- Direct Attached(Local Storage)
File Storage
- 접근 및 저장 전에 연산 노드와 연결되어야 함
- Direct attach 대비 저렴하고, 신뢰성이 높으며 사용자가 관리할 필요가 적어지며, 서버 디스크보다 많은 용량을 할당 가능
- 실제 디스크를 일정 단위로 분리 후 할당
- File Storage는 인터넷을 통해 연결
- Network Attached Storage = Network File Storage(NFS)
- 트래픽에 따라 속도가 변화하므로 일정 속도를 보장하지 못할 수 있음
- File Storage는 하나 이상의 연산 노드와 연결될 수 있음
- 파일 공유, 입력되는 파일 저장(Landing Zone) 등 속도 영향을 덜 받는 경우 사용
- IOPS
- 초당 I/O 동작의 수 (네트워크 속도나 연산 속도와는 다름)
- 높은 IOPS = 디스크 속도가 빠름 = 비용이 높음
- 낮은 IOPS는 병목 현상을 일으킬 수 있음
Block Storage
- 파일을 chunk(block)으로 분할하여 각각의 주소를 할당하여 관리
- File Storage와 유사하게 사용 전에 연산 노드에 연결해야 함
- 높은 신뢰성과 보안성
- 광케이블에 연결되므로 일정하게 빠른 속도를 갖기 때문에 저지연성 작업(DB, 메일)에 유리
- 연산 노드간 공유 저장소로는 부적합
- 필요에 따라 IOPS를 수정할 수 있음
- Block / File Storage의 공통점
- 서비스 제공자에 의해 유지보수
- 높은 가용성, 신뢰성
- 데이터 암호화 제공
- File Storage는 이더넷에 연결되지만, Block Storage는 광케이블로 연결되므로 Block쪽이 훨씬 빠르고, 일정 속도를 보장
- File Storage는 다수 노드에 연결 가능하며, 파일 공유가 가능하나, Block Storage는 단일 노드에만 연결 가능하며 빠른 연결이 지속적으로 필요한 경우 사용
Object Storage Overview
- Object Storage는 특정 노드에 연결되지 않고, API를 통해 접근(up/download)
- 다른 저장소 대비 저렴하게 제공
- 거의 무한한 저장소 제공, 사용한 만큼만 지불 가능
- 구조화되지 않은 (= 폴더 단위로 저장되지 않는) 데이터를 저장할때 유용
- Bucket이라는 파일 단위를 사용하여 서로 다른 데이터를 저장(이때 Bucket 내에 Bucket을 저장할 수는 없음)
- Bucket에는 metadata가 설정되어 접근을 위해 활용됨
- Bucket 생성 시 크기를 정의할 필요가 없음
- Bucket을 저장 방식의 설정
- 동일 region 내 설정 : 높은 가용성
- 여러 region 에 분할 : 높은 신뢰성
- Using Case
- text, audio, video
- IoT data
- VM Image
- Backups
- OS, DB 등 변화가 잦은 경우에는 부적합
Object Storage - Tiers and APIs
- Bucket 내에는 Tier와 Class가 존재
- Tier : 데이터 접근 빈도
- standard : 주기적 접근, 높은 가격
- vault, archive : 문서 혹은 월에 한두번만 접근할 파일들 - 상대적으로 낮은 가격
- Cold Vault : 연에 한두번만 접근할 파일들, GB단위가 월에 cent단위일 만큼 저렴
- automatc archiving rule : 파일 접근 빈도에 따라 자동으로 티어 조정
- Tier는 IOPS와는 다름
- 가장 흔한 Object Storage는 S3 API로, AWS S3 object storage에 기반
- 많은 공급자들이 S3에 호환되도록 API를 구성
Content Delivery Networks
- 임시 파일, 캐시 파일, 웹 데이터 등을 전달하는 분산 서버 네트워크
- 한 리전 내의 웹에 접근할 때, 멀리 떨어진 사용자는 그만큼 응답 시간이 느려지게 됨
- 각 리전에 CDN을 배치하여 유저 데이터 등을 저장
- 리전 근처의의 사용자 요청 시 CDN 데이터를 전달
- 접근 속도를 높이고, 중앙 트래픽은 낮춤
728x90