AWS S3 - 개념

doohyunlm·2021년 4월 2일
3

AWS-S3

목록 보기
1/4


개념 설명


  1. 스토리지란?
    • 파일 스토리지(File Storage)
    • 블록 스토리지(Block Storage)
    • 오브젝트 스토리지(Object Storage)
  2. 오브젝트 스토리지를 쓰는 이유?
  3. S3 구성
    • 버킷
    • 객체
    • Regions
  4. 마치며

  • AWS S3는 파일을 저장하기 위한 스토리지며 오브젝트 스토리지(Object Storage)의 특성을 가지고 있습니다.




1. 스토리지란?


쉽게 말해 데이터를 저장할 수 있는 공간입니다. 크게 3가지로 분류 됩니다.


  • 파일 스토리지(File Storage)
  • 블록 스토리지(Block Storage)
  • 오브 젝트스토리지(Object Storage)




파일 스토리지(File Storage)


  • 파일 스토리지는 파일 수준 또는 파일 기반 스토리지라고도 하며, 일반적으로 알고 있는 스토리지입니다.



장점


  • 서류철에 서류를 정리하듯, 데이터가 폴더 안에 단일 정보로 저장됩니다.

  • 잘 정리해논 도서관처럼 원하는 책을 찾기 위해선 A-Z처럼 분류된 곳과 번호로 찾는 것처럼 말입니다.



단점


  • 마찬가지로 파일도 찾으려면 어느 경로에 있는지 알고있어야합니다.

  • 책이 별로 많지 않다면 큰 문제가없지만 책들이 계속해서 늘어나면 늘어날수록 점점 분류하고 정리하는(파일시스템에서의 인덱싱)일이 많아지고 찾기가 힘들어집니다.




블록 스토리지(Block Storage)


  • 블록 스토리지는 정해진 블록안에 데이터를 저장합니다.

  • 데이터에 고유 식별자를 부여하고 더 작은 데이터 조각을 원하는 곳에 배치할 수 있도록 해줍니다.



장점


  • 데이터가 요청이 들어오면 데이터 블록을 다시 조합하여 사용자에게 제공합니다.

  • 데이터를 효율적이고 안정적으로 저장하는 방법이며 사용과 관리도 간편합니다.

  • 대규모 트랜잭션을 수행하는 기업과 대용량 데이터베이스를 배포하는 기업에서 많이 사용합니다.



단점


  • SAN을 사용하기에 비용이 비쌉니다.

  • 메타데이터를 처리하는 기능이 제한적이므로 주의해야합니다.



메타데이터 : 데이터에 대한 데이터입니다.
예를 들어 디지털 카메라에서 사진을 찍을 때 카메라 자체의 정보, 촬영 당시의 시간, 노출,
플래시 사용 여부, 해상도등 사진정보를 저장하는 데 이러한 데이터를 분석하여 이용하면
그 뒤 사진을 적절하게 정리하거나 다시 가공하여 유용한 정보로 사용할 수 있습니다.

SAN : 기존 인프라를 무시하고 스토리지만을 위한 고속 네트워크를 새로 구축하자는 개념,
서버에 관계없이 대규모 확장이 가능하면서도 서버 다운 없이 확장 시킬 수 있습니다.
단점은 네트워크 구성에 들어가는 장비들의 가격이 비싸기 때문에 SAN 역시 비용이 비쌉니다.




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


  • 오브젝트 스토리지는 object로 불리는 각각의 데이터 단위가 개별 단위로 저장되는 데이터 저장소 유형입니다.
  • 파일 스토리지와 대조적으로, 오브젝트는 폴더 계층 구조 없이 단일한 평면 구조로 저장됩니다.

  • 평면 구조는 개별 오브젝트에 대한 접근이 빠르고 쉽다는 장점이 있습니다.

  • 오브젝트 이름인 만 알고 있으면 색인 테이블을 사용하여 빠르고 쉬운 검색이 가능합니다.




2. 클라우드에서 오브젝트 스토리지를 쓰는 이유는?


  • 가장 큰 장점 3가지는 확장성,속도,저렴한 가격입니다.

  • 오브젝트 스토리지는 오로지 2가지 키값과 데이터만 저장합니다.
    마찬가지로 오브젝트 스토리지는 RESTFul Protocol(HTTP)를 이용하여 Get 혹은 Post로 요청을 하면 파일을 내려줍니다.



장점


  • 또한 파일에 대해 가지고 있는 정보가 적기 때문에 파일이 아무리 많아져도 블록 스토리지나 파일 스토리지에 비해서 빠르게 작동합니다.

  • 공간을 아주 효율적으로 사용할 수 있기 때문에 저렴합니다.

  • 이미지나 동영상같이 수정이 잘 일어나지 않는 정적인 데이터를 호스팅할때 좋습니다.



단점


  • 파일의 수정이 불가능합니다.

  • 파일이 수정될때 트랜잭션을 통해 일관성을 유지하기가 힘들기 때문에 덮어쓰는 방법을 이용합니다.

  • 내구성이 블록 스토리지에 비해 떨어지기 때문에 내구성을 상당이 요하는 데이터를 처리하기 힘듭니다.




3. S3 구성


S3는 크게 4가지로 구분할 수 있습니다.


버킷객체Regions




버킷


  • S3에 저장된 객체에 대한 컨테이너입니다. 쉽게 객체들을 담는 통이라고 생각하시면 좋습니다.



객체


  • 객체 데이터와 메타 데이터로 이루어져 있는데 이 부분은 S3에서 확인이 불가능합니다.

  • 키 및 버전 ID로 구분한다고 생각하시면 됩니다.




  • 버킷 내 객체의 고유한 식별자입니다. 버킷 내 모든 객체는 정확히 하나의 키를 갖습니다.

  • 버킷, 키 및 버전 ID의 조합은 각 개체를 고유하게 식별합니다.



Regions


  • 지역이라 생각하면 됩니다. 나라별로 존재하며 한국 리전은 2016년 생성되었습니다.

  • 특정 리전에 저장된 객체는 사용자가 명시적으로 객체를 다른 리전으로 전송하지 않는 한 해당 리전을 벗어나지 않습니다.




마치며

  • S3를 공부하면서 알게된 지식들을 공유하며 정리하는 차원에서 작성하였습니다.

  • 부족한 부분이나 틀린 부분이 있으면 알려주시면 감사하겠습니다.

profile
백엔드 개발자

0개의 댓글