1. 블록 스토리지(Block Storage)

  • 블록 스토리지(Block Storage)는 데이터를 블록 단위로 저장하는 데이터 저장 방식이다.
  • 각각의 블록은 고유한 주소를 가지며, 블록들은 독립적으로 관리되고 처리된다.
  • 블록 스토리지는 주로 디스크 기반의 저장 장치에서 많이 사용되며, 가상머신 / 파일시스템 데이터베이스 등의 활용된다.
  • AWS EBS, OpenStack Cinder 같은 서비스를 이해하면 된다.
  • 보다 쉽게 설명하면 운영체제가 설치되고 디스크 형태로 연결되어 있는 스토리지 서비스로 이해하면 된다(윈도 C드라이브, 리눅스 /root)

Block Storage

2. 오브젝트 스토리지(Object Storage)

  • 오브젝트 스토리지(Object Storage)는 데이터를 오브젝트 단위로 저장하는 저장방식이다. 각 오브젝트는 데이터와 메타데이터를 함께 포함하며 고유 식별자로 구분된다.
  • 주로 대용량의 데이터를 다루는 데 사용되며, 대규모 데이터, 미디어 파일, 백업 데이터를 저장하는데 효과적이다.
  • 오브젝트 스토리지는 파일 시스템이나 블록 스토리지와 달리 데이터의 구조를 갖지 않는 형태로 저장되기 때문에 다양한 종류의 데이터를 유연하게 다룰 수 있다.
  • 오브젝트 스토리지는 여러 서버나 위치에 데이터를 분선 저장할 수 있어서 신뢰성과 내결함성을 제공한다.
  • 대표적인 오브젝트 스토리지 서비스로는 AWS S3, Azure Blob Storage, OpenStack Swift가 있다.

Object Storage

3.  파일 스토리지(File Storage)

  • 파일 스토리지(File Storage)란 데이터를 파일 형태로 저장하는 스토리지 방식이다. 파일 단위로 데이터를 관리하며, 각 파일은 고유한 경로와 이름을 가지며, 디렉터리 구조로 이루어져 있다.
  • 파일 스토리지는 파일시스템의 구조를 따르며, 파일은 폴더(디렉터리) 안에 저장되며, 경로와 파일 이름을 사용하여 식별된다.
  • 파일 스토리지는 주로 문서, 사진, 비디오, 음악 파일 등과 같은 데이터를 저장하는 데 사용되며, 사용자 및 애플리케이션은 파일시스템을 통해 데이터 액세스가 가능하다.
  • 공유 스토리 형태로 사용이 가능하여, 여러 사용자 및 시스템 간 데이터 공유가 가능하다.
  • NFS, SMB등과 같은 네트워크 파일 시스템이 이에 해당된다.
  • 대표적인 파일 스토리지 서비스로는 AWS EFS, Azure Files, OpenStack Manila 가 있다.

1. REST API란?

  • REST(REpresentational State Transfer) API(Application Programming Interface)의 약자이다.
  • REST 아키텍처 스타일을 준수하는 API를 의미하며, RESTful API라고도 부른다.

2. REST 디자인 원칙

  • 균일한 인터페이스(Uniform Interface) 
    • 정보가 표준 형식으로 전송되도록 균일한 인터페이스가 필요하다
    • HTTP 표준인 URL 과 응답코드, Requset-Response Method 등을 사용해야 한다.
  • 클라이언트-서버 디커플링 (Client-Server)
    • 클라이언트와 서버로 분리되어야하며 의존성이 없어야 한다.
  • 무상태 (Stateless)
    • 상태 정보를 저장하지 않으며, 이용자 및 접근 경로에 따라 결과가 다르지 않고 동일해야 한다.
  • 캐시 가능성 (Cache)
    • 응답 시간 개선을 위한 캐싱을 지원한다.
  • 계층 구조 아키텍처 (Layerd System)
    • REST API는 공개가 될수 밖에 없기 떄문에 요청된 정보를 검색하는데 관련된 서버의 유형을 알수 없도록 설계해야 한다.
  • 코드 온디맨드(옵션)
    • REST API 는 일반적으로 정적 리소스를 전송하지만, 요청을 받아 서버에서 클라이언트로 실행 가능한 코드를 전송할 수 있도록 확장시켜줄 수 있다.

3. RESTful API 강점

  • 확장성
  • 유연성
  • 독립성

4. RESTful API 동작 방식

  • REST API 는 HTTP 요청을 통해 통신함으로써 리소스 내에서 CRUD (Create,Read,Update,Delete) 기능을 수행한다.
  • 클라이언트는 GET을 사용하여 서버의 리소스에 엑세스 가능하다.
  • 클라이언트는 POST를 사용하요 서버에 데이터를 전송한다.
  • 클라이언트는 PUT을 사용하여 기존 서버의 기존 리소스를 업데이트 할수 있다.
  • 클라이언트는 DELETE를 사용하요 리소스 제거가 가능하다

REST API 동작 방식

1.  대칭키 암호화 (Symmetric Encryption)

  • 대칭키 암호화 방식은 데이터 암복호화시 동일한 키를 사용하는 방식을 의미한다.
  • 대칭키를 사용하면 빠른 암복호화가 가능한 장점이 있다.
  • 단점으로는 암복화를 위해서는 키 공유 과정이 필요하며, 키가 유출 및 탈취 당할경우 보안 문제가 발생될수 있다.
  • 대표적인 알고리즘은 DES, AES 등이 있다.

대칭키 암호화

2.  공개키 암호화 (Public Key Encryption)

  • 비대칭키 암호화를 공개키 암호화라고도 부르며, 공개키와 개인키를 이용하여 암호화 및 복호화를 수행한다.
  • 공개키(Public Key)는 기관 혹은 일반 사용자들에게 공개된 키로 정보 암복호화가 가능하다.
  • 개인키 or 비밀키(Private Key)는 비대칭 키 쌍 중에서 공개되지 않고, 사용되는 키를 의미한다.
  • 공개키 암호화 방식에서 클라이언트가 서버의 공개키를 이용하여 암호화하고, 서버가 자신의 개인키를 활용하여 암호화된 데이터를 복호화 하여 사용한다. 
  • 대표적인 알고리즘은 DSA, RSA, ECDSA 등이 있다.

비대칭키 암호화 / 공개키 암호화

 

+ Recent posts