Amazon S3

JINWOO OH·2023년 7월 21일

SAA

목록 보기
10/19
post-thumbnail

Amazon S3 - Overview

  • 무한하게 확장할 수 있는 스토리지
  • 많은 웹에서 Amazon S3에 의존

Amazon S3 Use cases

  • 백업과 스토리지로 활용
    • 파일용, 디스크용
  • 재해 복구
    • 리전이 다운되는 경우 데이터를 다른 리전으로 이동
  • Archive
    • 추후 매우 손쉽게 검색할 수 있다
  • 하이브리드 클라우드 스토리지
    • 온프레미스에 스토리지가 있지만 클라우드로 확장하고자 할 때
  • Media hosting
  • Data lake & big data analytics
    • 다량의 데이터를 저장하고 빅데이터 분석을 수행
  • 정적 웹 사이트를 호스팅
  • URL 요청 시 S3의 미리 서명된 URL을 사용해서 확인 할 수 있다 (보안적 측면)

Amazon S3 - Buckets

  • bucket은 상위 레벨 디렉토리로 표시
  • 파일을 버킷에 저장하며 파일은 객체라고 부른다
  • 버킷은 계정 안에 생성되며 버킷에는 전역적으로 고유한 이름이 있어야 한다
  • 버킷은 리전 수준에서 정의
  • S3는 전역 서비스처럼 사용하지만 버킷은 리전에 생성된다

Amazon S3 - Objects

  • 객체나 파일에는 key라는 것이 있는데 Amazon S3 key는 파일 전체 경로이다
    • s3://my-bucket/my_folder1/another_folder/my_file.txt
    • my-bucket : 상위 레벨 디렉토리
    • my-bucket을 제외한 prefix + object name이 key이다
  • 업로드 하려는 파일의 크기가 5GB가 넘는다면 해당 파일을 여러 부분으로 나눠서 업로드 해야한다
  • Metadata (key / value)

Amazon S3 - Security

  • User-Based
    • IAM policies : 어떤 API 호출이 특정 IAM 사용자를 위해 허용되어야 하는지를 승인
  • Resource-Based
    • S3 버킷 정책
    • Object Access Control List (ACL) : 객체 엑세스 제어 목록
    • Bucket Access Control List (ACL)
  • Encryption
    • 암호키를 사용하여 객체를 암호화

S3 Bucket Policies

  • JSON based policies
    • json 기반의 정책
    • Resource 블록
      • 정책이 적용되는 버킷과 객체를 정책에 알려준다
    • Effect 블록
      • API 작업을 허용하거나 거부
    • Principal 블록
      • account나 유저가 접속할 수 있는지를 결정

Bucket settings for Block Public Access

  • 버킷을 생성할 때 설정
  • 기업 데이터 유출을 방지하기 위한 추가 보안 계층

Amazon S3 - Static Website Hosting

Amazon S3 - Versioning

  • 파일을 버전 관리 할 수 있다
  • 의도하지 않게 삭제하지 않도록 보호해준다
  • Objects에서 show versions를 통해 version ID를 알 수 있다
  • 한 파일 버전를 삭제하는 경우 사실상 Delete Marker을 추가한 것이다
  • 롤백이 가능하다

Amazon S3 - Replication (CRR & SRR)

  • 어느 특정한 리전에 S3 버킷이 있고, 이를 다른 리전의 S3 버킷에 복제하는 경우
  • 버킷간에는 비동기 복제가 필요하다
  • 다른 AWS 계정간에도 사용 할 수 있다
  • 복제 기능이 정상적으로 실행되려면 S3에 올바른 IAM 권한 (읽기, 쓰기)을 S3에 부여 해야 한다
  • Cross Region Replication
    • 두 리전이 달라야 한다
    • 계정간 복제, 법규나 내부 체제 관리, 데이터가 다른 리전에 있을 경우
  • **Same Region Replication**
    • 두 리전이 같아야 한다
    • 다수의 S3 버킷간의 로그를 통합할 때, 개발 환경이 별도로 있어 운영 환경과 개발 환경간의 실시간 복제를 필요로 할 때
  • S3 Batch Replication
    • 복제를 활성화하면 새로운 객체만 복제 대상이 되는데 기존의 객체를 복제하고 싶으면 S3 배치 복제 기능을 사용해야 한다
    • 기존 객체부터 복제에 실패한 객체까지 복제할 수 있다

Amazon S3 Storage Classes

  • Amazon S3 Standard
  • Amazon S3 Infrequent Access
  • Amazon S3 One Zone - Infrequent Access
  • Glacier Instant Retrieval
  • Glacier Flexible Retrieval
  • Glacier Deep Archive
  • Amazon S3 Intelligent Tiering

S3 Durability(내구성) and Availability(가용성)

  • Durability (내구성)
    • Amazon S3로 인해 객체가 손실되는 횟수
  • Availability (가용성)
    • 서비스가 얼마나 용이하게 제공되는지를 나타내며 스토리지 클래스에 따라 다르다

S3 Standard - General Purpose

  • 99.99% Availability
  • 자주 액세스하는 데이터에 사용
  • 지연 시간이 짧고 처리량이 높다
  • AWS에서 두 개의 기능 장애를 동시에 버틸 수 있다
  • 빅 데이터 분석, 모바일과 게임 애플리케이션, 콘텐츠 배포가 있다

S3 Storage Classes - Infrequent Access

  • 자주 액세스하지는 않지만 필요한 경우 빠르게 액세스해야 하는 데이터
  • 검색 비용이 발생
  • 99.9% Availability
  • 재해 복구와 백업

Amazon S3 One Zone Infrequent Access

  • 단일 AZ 내에서는 높은 내구성을 갖지만 AZ가 파괴된 경우 데이터를 잃어버린다
  • 99.5% Availability
  • 온프레미스 데이터를 2차 백업하거나 재생성 가능한 데이터를 저장하는 데 사용

Glacier Storage Classes

  • Cold Storage
  • 아카이빙과 백업을 위한 저비용 객체 스토리지
  • 스토리지 비용과 검색 비용
  • Glacier 스토리지의 세 가지 클래스
    • Amazon S3 Glacier Instant Retrieval
      • 밀리초 단위로 검색이 가능 (즉시 처리가 가능)
      • 분기에 한 번 액세스하는 데이터에 적합
      • 최소 보관 기간은 90일
      • 백업이지만 밀리초 이내에 액세스해야 하는 경우
    • Amazon S3 Glacier Flexible Retrieval (데이터를 검색하는 데 시간이 걸린다)
      • Expedited : 데이터를 1 - 5분 이내에 받을 수 있다
      • Standard : 데이터를 돌려받는 데 3 -5 시간 소요
      • Bulk : 무료지만 데이터를 돌려 받는데 5 - 12 시간 소요
      • 최소 보관 기간은 90일
    • Amazon S3 Glacier Deep Archive
      • Standard : 12시간
      • Bulk : 48시간
      • 최소 보관 기간은 180일

S3 Intelligent Tiering

  • 사용 패턴에 따라 액세스된 티어 간에 객체를 이동할 수 있게 한다
  • 데이터에 대한 접근 패턴을 알지 못할 때 사용

0개의 댓글