[AWS] S3 & Cloudfront

PinkTopaz·2023년 11월 27일
0

Storage Service

데이터 저장, 액세스, 보호 및 분석 기능을 갖춘 Amazon의 서비스

1. Block Storage (ssd나 하드디스크 생각하면 됨!)

  • 데이터를 일정 크기의 블록으로 나누어 저장한다.
  • 각 블록은 독립적인 주소를 가지며 이를 통해 랜덤 액세스(한 번에 하나의 블록만을 액세스하는 방식)가 가능하다.
    • 배열에서 인덱스로 바로 접근할 수 있는 것과 같은 특징으로 이해했다
  • Storage Area Network (SAN)
    • 여러 서버 또는 컴퓨터에서 액세스할 수 있는 스토리지 디바이스 네트워크로, 스토리지 공간의 공유 풀을 제공한다. 네트워크의 각 컴퓨터는 컴퓨터에 직접 연결된 로컬 디스크처럼 SAN 스토리지에 액세스할 수 있다.
  • 빠른 입출력 속도, 낮은 지연 시간이 필요한 데이터 베이스에 적합하다.
  • 운영 체제 또는 중요한 애플리케이션을 실행하는데 사용된다.
  • AWS에서는 EC2에 부착해 사용하는 블록 레벨 스토리지인 EBS를 지원한다.

2. File Storage

  • 데이터를 파일로 저장하고, 파일들은 폴더나 디렉토리에 저장된다.
  • 계층적인 파일 시스템 구조를 가진다.
  • Network Attached Storage (NAS)
    • 중앙 집중식 파일 서버로, 여러 사용자가 Wi-Fi 또는 이더넷 케이블을 통해 TCP/IP 네트워크에서 파일을 저장하고 공유할 수 있는 전용 파일 스토리지이다.
  • 여러 서버나 사용자가 동일한 파일 시스템에 동시에 액세스해야할 때 적합하다
    • 왜? : Block Storage의 경우 주로 로우 레벨의 블록 디바이스를 기반으로 하며, 각 블록은 주로 하나의 디바이스 또는 시스템에 연결되어 있다. 따라서 이에 접근하려면 파일 시스템이 따로 필요해서 사용자가 파일 시스템을 마운트하고 관리해야 한다고 한다! 접근 자체가 어려운데 어떻게 공유 작업을 하겠냐!
  • 네트워크를 통한 파일 공유가 필요한 경우에 적합하다.
  • AWS에서는 EFS라는 서버리스 파일 스토리지를 제공한다.

3. Object Storage

  • REST 기반의 API 호출을 통해 데이터에 접근한다.
  • HTTP 프로토콜을 이용한다.
  • 대용량 미디어 파일, 이미지, 백업 등을 저장할 때, 정적 웹 컨텐츠(ex. HTML 페이지)를 호스팅할 때 유용하다.
  • 저렴한 비용으로 데이터를 오래 보관해야할 때 선택한다.
  • AWS에서는 S3라는 객체 스토리지를 제공한다.

S3

Amazon S3 특징

  • Access 제어 (객체별 Access Control List를 통해 접근 가능한 사용자 특정 가능)
  • 데이터 저장
  • 내구성 (99.999999999% - 데이터가 손실될 확률이 로또 맞을 확률보다 낮다고 한다.)
  • 데이터 저장 용량 - 객체 하나의 크기는 5TB까지 (Standard의 경우)
  • S3 Versioning
    • 버킷의 버전 관리를 활성화해서 여러 버전의 객체를 보관할 수 있고, 실수로 삭제되거나 덮어써진 객체를 복원할 수 있다.
    • 한 번 활성화하면 비활성화 할 수 없지만, 중단 상태로 전환할 수는 있다.
      (비활성화랑 중단상태랑 뭐가 달라? : "비활성화"는 처음부터 버전 관리를 사용하지 않는 상태를 나타내며, "중단 상태"는 일시적으로 버전 관리를 중단했지만 나중에 다시 활성화할 수 있는 상태)
  • S3 Replication
    • 버킷 내ㅔ의 객체를 자동으로 다른 버킷으로 복사하는 기능 (비동기적)
    • CRR (Cross Region Replication) : 재해 복구 + 더 빠른 액세스 제공 + 규정 요구사항 충족 위해
    • SRR (Same Region Replication) : 액세스 제어 + 실수로 인한 삭제 손상 방지

Amazon S3 구성

1. Bucket

  • S3에 객체를 저장하게 해주는 시스템
  • AWS 전역에서 단 한개만 존재 : 전역적으로 Unique한 이름이 필요 (Heather라는 버킷 만들면 그거 지우기 전까지 동일한 버킷은 리전과 관계없이 만들 수 없다.)
  • 리전 수준에서 정의되기 때문에 저장 위치와 관련된 법률 및 규정 준수에 영향을 받는다

2. Object

  • 객체는 보통 파일을 의미한다
  • 키를 가지며, 이는 파일의 전체 경로가 된다.
  • 한 번에 5GB 이상 업로드하는 것이 불가능하다.
profile
🌱Connecting the dots🌱

0개의 댓글