728x90
Basics of Cloud Storage

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를 통해 접근
      • 가장 저렴하지만, 가장 느림
      • 용량 제한이 없음
      • 구조화되지 않은 데이터를 저장할 때 좋음

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

+ Recent posts