AWS SAA-C02 스터디 - S3와 Glacier 정리

Keunjae Song·2021년 2월 23일
0

aws

목록 보기
1/1

S3의 용도

  • 백업 아카이브, 로그 파일 관리
  • 분석을 위한 빅데이터 저장
  • 정적 웹사이트 호스팅

메타 데이터

  • S3에 파일을 쓸 때 최대 2KB 메타 데이터가 함께 저장됨
  • 메타 데이터는 시스템 세부 정보를 구성하는 키로 생성됨
    • 시스템 세부 정보: 데이터 사용 권한, 중첩 버킷 내 위치 정보 등

버킷 기본

  • AWS 계정당 기본으로 만들 수 있는 버킷은 최대 100개
    • 그 이상 필요한 경우, AWS에 할당량 요청 필요
  • 각 버킷은 하나의 AWS 리전에만 존재

버킷 내부에서의 구분(접두사와 구분 기호)

  • 기본적으로 버킷은 하위 폴더 구조가 없는 평면 구조
  • 그러나, 일반 텍스트 문자열을 접두사로 사용해서 구조화된 수준 표현 가능
    • example/a.txt, example/b.txt처럼 example + / 구조로 a.txt와 b.txt가 example이란 그룹에 같이 있는 것처럼 보이게 할 수 있음.
  • 폴더 구조로 객체를 업로드하면 해당 구조를 S3가 자동적으로 계층을 만들어 저장함.
    • 자동으로 구분 기호를 /로 처리해서 변환

용량

  • 이론적으로 버킷에 무한대 용량의 데이터 저장 가능
  • 단일 객체 크기는 5TB를 넘어설 수 없음
  • 한 번에 업로드할 수 있는 용량 크기는 최대 5GB
  • 100MB보다 큰 객체는 멀티 파트 업로드를 권장
    • 멀티 파트 업로드란?
      • 큰 객체를 여러 작은 부분으로 나눠서 S3에 하나씩 전송
      • 각 파트를 전송하다 실패하면 해당 파트만 다시 전송함

암호화

주로 서버측 암호화 사용

  • 서버측 암호화(S3 플랫폼) 종류
    • Amazon S3가 관리하는 암호화 키(SSE-S3)
      • AWS 자체 엔터프라이즈 표준 키를 사용함
    • AWS KMS-관리형 키
      • SSE-S3 기능에 더해 완벽한 키 사용 추적, 봉투 키 사용 가능
      • KMS 서비스에 자체 키를 가져와서 사용 가능
    • 고객 제공 암호화 키(SSE-C)
      • S3에 제공한 자체 키로 암호화
  • 클라이언트측 암호화 종류
    • AWS KMS-관리형 고객 마스터 키(KMS-CMK)
    • S3 암호화 클라이언트에서 제공된 클라이언트 측 마스터 키 사용 가능

로깅

  • S3 이벤트 추적을 로그 파일에 저장하는 기능은 처음에 비활성화되어 있음.
  • S3 로그 항목
    • 요청자 계정과 IP 주소
    • 원본 버킷 이름
    • 요청 동작(GET, PUT 등)
    • 요청 개시 시간
    • 응답 상태

내구성

  • 대부분의 S3 클래스와 Amazon Glacier는 99.999999999% 내구성 보장
    • 10,000,000개 객체에 대하여 1만년 동안 객체 1개가 손실될 확률
  • S3는 최소 3개 가용 영역에 데이터를 자동으로 복제하여 높은 내구성 보장
  • 복원력이 없는 스토리지 클래스
    • Amazon S3 One Zone-IA
      • 데이터를 단일 가용 영역에만 저장
    • RRS(Reduced Redundancy Storage)
      • 다른 클래스보다 더 적은 영역에 복제 -> 99.99%의 내구성 보장

가용성

  • 1년 동안 해당 객체를 요청했을 때 즉시 응답할 수 있는 기간을 백분율로 나타낸 것
    • 예로, Standard 클래스는 연간 99.99% 기간을 보장 -> 중단 시간이 1년 동안 1시간 이내
  • 한 해 동안 중단 시간이 가용성 기준을 넘게 된 경우 Amazon에 서비스 크레딧 요구 가능
  • 클래스별 가용성
    • S3 Standard, S3 Standard-IA, Reduced Redundancy - 99.9%
    • S3 One Zone-IA - 99.5%

버전 관리

  • 기본적으로, 새 파일을 기존 파일과 같은 위치, 같은 이름으로 저장한 경우 덮어쓰게 됨.
  • 버킷 수준에서 버전 관리 활성화 시, 덮어쓴 이전 객체 보존 가능
  • 아카이브가 증가하는 문제 감수 필요 -> 수명 주기 관리와 연관

수명 주기 관리

  • 버킷에 수명 주기 규칙을 구성하므로써 지정한 기간이 경과했을 때 자동으로 객체가 다른 스토리지 클래스로 옮겨짐
  • 예로, 새로운 객체는 첫 30일 동안 S3 클래스에서 보관 -> 30일이 지나면 더 저렴한 One Zone IA로 옮겨짐
  • 접두사를 사용해 버킷 내 특정 객체에만 수명 주기 규칙 적용 가능
  • S3 Standard -> Reduced Redundancy로 바로 전환은 불가능

액세스 제어

  • ACL 규칙, S3 버킷 정책, IAM 정책 세가지 방식 제공
  • Amazon에서는 ACL 대신 나머지 두개 정책 사용 권장

미리 서명된 URL(Presigned URL)

  • 외부 액세스가 제한된 프라이빗 객체에 임시로 액세스할 수 있게 할 때 필요한 기능
  • 미리 서명된 URL은 지정한 기간만 사용 가능
  • 기본 만료값은 1시간

S3 Select/Glacier Select

  • 전체 데이터가 아닌 일부분만 가져오고 싶을 때 사용하는 기능
  • SQL과 유사한 쿼리로 저장된 객체에서 관련 데이터만 검색 가능
  • 전체 데이터를 다운로드해서 발생하는 대역폭과 비용 절감 가능

Amazon Glacier

  • 대부분의 S3 클래스와 마찬가지로 99.999999999% 내구성 보장
  • S3 수명 주기 기능 사용 가능
  • S3와 차이점
    • 단일 객체 최대 크기 40TB(S3는 5TB)
    • 아카이브에 대한 암호화가 기본(S3는 암호화를 선택해야 함)
    • 데이터 다운로드 속도
      • Glacier가 S3보다 데이터 다운로드 속도가 현저히 느림.
      • Glacier의 목적: 데이터의 필요성과 사용 빈도는 낮지만 장기적으로 보관할 수 있는 저렴한 스토리지
    • S3 버킷 개념 -> Glacier에서는 볼트로 사용

기타 스토리지 관련 서비스

  • Amazon Elastic File System(EFS)
    • 자동 확장 가능한 공유 파일 스토리지
    • 여러 인스턴스가 짧은 지연 시간으로 안전하고 내구성 있게 파일을 공유 가능
  • AWS Storage Gateway
    • 온프레미스의 로컬 백업, 아카이브 운영 요구 사항을 클라우드 스토리지 서비스를 사용해 해결하려 할 때, 복잡해지는 구성을 해결하기 위함
  • AWS Snowball
    • 매우 큰 데이터(테라 또는 페타바이트 크기)를 S3 버킷에 올리려고 할 때 필요한 하드웨어 장치

출처: AWS 공인 솔루션스 아키텍트 스터디 가이드 - 어소시에이트 2/e

0개의 댓글