AWS

AWS 스토리지 서비스

salmon16 2024. 6. 11. 18:45

AWS 스토리지서비스 종류는   블록 스토리지, 파일 스토리지, 객체 스토리지로 분류할 수 있다.

  • 블록 스토리지 Amazon EBS
    • 단일 스토리지 볼륨을 블록이라는 개별 단위로 분할해서 저장한다.
    • 각 블록은 저장된 위치에 고유한 주소가 부여되며, 서버에서 파일을 요청하면 블록들을 재구성하여 하나의 데이터로 서버에 전달한다.  
    • 블록 스토리지는 SAN(Storage Atrea Network)또는 가상 머신의 디스크로 사용된다.
    • 호스트에서 직접 파일을 액세스하고 기록하며 빠른 성능을 요하는 경우에 사용 ( 고성능이 요구되는 데이터베이스와 트랜잭션 워크로드)
    • EBS 스토리지는 AWS 관리 콘솔에서 필요한 용량/성능에 맞추어 볼륨을 생성한 후, EC2인스턴스에 연결하여 사용한다. 
    • 인스턴스와 EBS 볼륨은 서로 독립적이다.
    • 다른 인스턴스와 연결한 후 이어서 사용할 수 있다.
    • 하나의 EBS 볼륨은 한 번에 하나의 인스턴스에만 연결할 수 있고, 해당 인스턴스에서 지원하는 형식으로 포맷해야 한다.   
    • EBS 스냅샷
      • 특정 시점으로 되돌아갈 수 있는 지점을 만드는 기능이다.
  • 파일 스토리지 Amazon EFS
    • 파일 수준 또는 파일 기반 스토리지라고 하며, 디렉터리 구조로 파일을 저장한다.
    • 각 파일을 폴더에 종속되고, 폴더 역시 다른 폴더에 종속되어 계층 구조를 유지한다.
    • 일반적으로 파일 스토리지는 NAS(Network Attached Storage)에 사용된다.
    • 다수의 장치가 데이터를 공유하여 동일한 서비스를 사용해야 하는 경우에 사용 (여러 가상 머신이 공유해서 사용)
  • 객체 스토리지 Amazon S3
    • 각 데이터 조각을 가져와서 객체로 저장하고, 개별 단위로 저장한다.
    • 파일 스토리지와는 다르게, 모든 객체는 중첩된 계층 구조 없이 단일한 평면적인 주소 공간에 저장된다.
    • 이 평면 공간에는 데이터 및 관련 메타데이터로 구성된 객체에 고유 식별자가 부여된다.
    • OS나 파일 시스템에 의존하지 않고 데이터를 저장하고 객체에 접근할 수 있다.
    • 객체의 키만 알고 있으면 쉽고 빠르게 대상을 검색할 수 있다.
    • 객체 스토리지 접근을 위해서, 일반적으로는 HTTP 프로토콜 기반의 REST API를 사용한다.
    • 대용량의 비정형 데이터를 효율적으로 처리할 수 있다.
    • 대량의 데이터를 저장하거나 다수의 서버에서 해당 데이터에 접근해야 하는 경우 사용
    • S3에 저장되는 데이터를 객체라 하며, 객체의 저장소를 버킷이라고 한다. 
    • 서버의 OS 도움 없이 고유한 URL을 기반으로 객체 별 접근이 가능하다. 
    • 버킷
      • 데이터 스토리지를 위한 서비스 단위
      • 객체는 반드시 버킷에 저장되어야 하며, 하나의 리전에서 생성된 후에는 버킷 이름과 리전을 변경할 수 없다.
    • 객체
      • S3는 객체 단위로 저장하며,  객체 데이터와 객체 메타데이터로 구성된다.
      • 메타데이터는 객체를 설명하는 이름-값에 대한 하나의 쌍으로 존재한다.
      • 객체를 저장할 때 사용자 정의 메타데이터를 지정할 수 있으며, 객체는 키 및 버전 ID를 이용하여 버킷 내에서 고유하게 식별된다. 
      • 버킷 내에서 객체의 고유한 식별자
      • 버킷 내 모든 객체는 고유한 하나의 키를 가진다. 

 

 

 

 

 

 참고 : AWS교과서, 김원일, 서종호, 김석필 지음, 길벗, 2023.10.20