module 7(스토리지)

 

Summry

본 문서에서는 AWS Academy Cloud Foundations module 7(스토리지)를 정리한다.
서비스 별 기능과 개요에 대해 정리된 문서이므로 해당 서비스를 사용하기 위해선 AWS 가이드를 참조할 것

send me email if you have any questions.


Amazon EBS

  • Amazon EC2 Instance에서 사용할 수 있는 영구 블록 스토리지 볼륨
    • 해당 디바이스의 전원이 차단된 후 데이터를 보존하는 비 휘발성 데이터 스토리지 디바이스
    • 스냅샷을 통해 Amazon S3에 자동을호 백업할 수 있다.
  • 블록 스토리지와 객체 스토리지 비교 그림1
    • 일반적으로 블록 스토리지 솔루션은 더 빠르며 사용하는 대역폭은 적지만 객체 수준 스토리지보다 비용이 비싸다.
  • Amazon EBS 기능 그림2

Amazon S3

  • 객체 수준 스토리지 즉, 파일 일부를 변경하려면 변경된 파일 전체를 다시 업로드
  • 버킷이라고 하는 리소스 내 객체 단위로 저장
  • AWS IAM, S3 버킷 정책, 객체별 액세스 제어 목록을 사용하여 데이터에 액세스 할 수 있는 사용자를 세부적으로 제어할 수 있다.
  • 서버 측 암호화를 활성화하면 전송 중인 데이터와 유휴 데이터를 암호화할 수 있다.
  • 이벤트 알림 기능을 활용하면 버킷에 객체가 업로드되거나 특정 버킷에서 객체가 삭제되는 등 특정 이벤트가 발생할 때 자동으로 알림을 보내게 설정할 수 있으며 Lambda 함수와 같은 다른 프로세스를 트리거하는 데 사용될 수도 있다.
  • Amazon S3 Storage Class

    그림3

    • Amazon S3 Standard
      • 자주 액세스하는 데이터를 위한 고가용성 높은 내구성 및 성능을 제공하도록 설계
      • 짧은 지연 시간 및 높은 처리량을 제공하기 때문에 콘텐츠 배포 및 빅 데이터 분석과 같은 다양한 사용 사례에 적합
    • Amazon S3 Inteligent-Tiering
      • 가장 비용 효과적인 액세스 계층으로 데이터를 자동으로 이동하여 비용을 최적화하도록 설계
      • 수명이 길고 액세스 패턴을 알 수 없거나 예측할 수 없는 데이터에 적합
    • Amazon S3 Standard-Infrequent Access (Amazon S3 Standard-IA)
      • 액세스 빈도가 낮지만 필요할 때 빠르게 액세스해야 하는 데이터를 위한 스토리지 클래스
      • 장기 스토리지, 백업 및 재해 복구 파일용 데이터 스토어에 적합
    • Amazon S3 One Zone-Infrequent Access (Amazon S3 One Zone-IA)
      • 액세스 빈도가 낮지만 필요할 때 빠르게 액세스해야 하는 데이터를 위한 스토리지 클래스
      • 최소 3개의 가용 영역에 데이터를 저장하는 다른 S3 Class와는 다르게 Amazon S3 One Zone-IA는 단일 가용 영역에 데이터를 저장한다. 또한 Amazon S3 Standard-IA보다 비용이 저렴하다.
      • Amazon S3 Standard 또는 Amazon S3 Standard-IA 스토리지와 같은 가용성 및 복원력이 필요 없는 고객에게 적합하다. 보조 백업 사본을 저장하거나 이미지 카탈로그의 썸네일 버전과 같이 쉽게 재생성할 수 있는 데이터를 저장하기에 적합하다.
    • Amazon S3 Glacier
      • 데이터 아카이빙을 위한 안전하고 내구력이 있으며 저렴한 스토리지 클래스
      • 비용을 낮게 유지하는 동시에 변화하는 요구 사항을 지원하기 위해 몇 분에서 몇 시간까지 소요되는 세 가지 검색 옵션을 제공
      • S3 Storage와 S3 Glacier간에 데이터를 전송할 수 있다.
    • Amazon S3 Glacier Deep Archive
      • 비용이 가장 저렴한 Storage Class로 일 년에 한두 번 액세스되는 데이터의 장기 보존 및 디지털 보존을 지원
      • 규제가 엄격한 산업(금융, 의료, 공공 등)을 위해 설계

    Amazon S3 Bucket

    • 버킷은 객체를 위한 논리적 컨테이너로 계정에 여러 개 생성 가능
    • 버킷 및 객체에 대한 액세스 로그를 볼 수 있음
    • S3가 버킷과 버킷의 콘텐츠를 저장하는 지리적 리전을 선택 가능하며 데이터가 리전에 중복으러 저장된다. 즉, 2개의 AWS 시설에서 동시에 데이터 손실되는 경우에도 데이터가 안전하게 보호된다.
    • 아래 두 가지 URL 스타일을 사용하여 버킷을 참조할 수 있다 그림4
      • 경로 스타일 URL 엔드포인트는 일반적으로 객체에 액세스해야 할 때 사용한다. 정적 데이터에 대한 웹 사이트로 사용할 때 사용 그러나 경로 스타일 URL은 향후 중단될 예정이다.
      • 가상 호스팅 스타일의 URI에서 버킷 이름은 URL에서 도메인 이름의 일부이다.

    Amazon S3 Access

    그림5

    • 위 세 가지 방식으로 접근 가능하며 SDK를 통해 액세스 하는 경우 프로그래밍 방식 액세스로 간주되며 타사 도구에 대한 키 페어를 프로비저닝해야 한다.
    • HTTP 및 HTTP 액세스를 지원하는 엔드포인트는 글로벌로 고유해야하며 DNS를 준수해야 한다. 즉, 버킷 이름은 모두 소문자여야 하며 문자, 숫자 및 대시의 조합만 포함하여야 한다.

    Amazon S3 Cost

    그림6 그림7

    1. Storage Class마다 요금이 다르다느점을 유의
    2. 비용은 Amazon S3 버킷에 저장된 객체의 수와 크기에 따라 결정
    3. 요청 수와 유형도 고려
    4. Amazon S3 리전 밖으로 전송되는 데이터의 양을 고려

Amazon EFS

  • 여러 가상 머신이 동시에 액세스할 수 있는 EC2 인스턴스용 스토리지(공유 파일 시스템)
  • 최소 비용이나 설정 비용이 없으며 사용한 스토리지에 대한 요금만 지불
  • NFS(Network File System) 4.0, 4.1 제공
  • VPC의 여러 Amazon EC2 인스턴스에서 동시에 Amazon EFS에 액세스할 수 있다.
  • Amazon EFS 기능
    그림8

  • Amazon EFS 구현 단계
    그림9

  • Amazon EFS 리소스
    그림10

Amazon S3 Glacier

  • 데이터 아카이빙 및 장기 백업을 위한 클라우드 스토리지 서비스
  • S3에 비해 매우 저렴한 비용으로 데이터를 저장할 수 있으나 원할 때 즉시 데이터를 검색할 수는 없다. (몇 시간이 소요될 수 있음) 즉, 아카이빙에 적합
  • Glacier 중요 용어

    1. 아카이브
      • Amazon S3 Glacier에 저장하는 사진, 동영상, 파일 또는 문서와 같은 객체를 의미
      • 스토리지의 기본 단위로 각 아카이브에는 고유한 ID가 있으며 설명도 포함될 수 있다.
    2. 볼트
      • 아카이브를 저장하는 컨테이너
      • 생성 시 볼트 이름과 볼트가 위치할 리전을 지정
      • 볼트 액세스 정책은 볼륨에 저장된 데이터에 액세스할 수 있는 사용자와 액세스할 수 없는 사용자 및 수행할 수 있는 작업과 수행할 수 없는 작업을 결정
        • 각 볼트에 대한 볼트 액세스 권한 정책을 생성할 수 있다.
        • 볼트 잠금 정책을 사용하여 볼트를 변경하지 못하도록 할 수 있다.
        • 하나의 볼트에는 하나의 볼트 액세스 정책과 하나의 볼트 잠금 정책이 연결될 수 있다.
    3. 데이터 검색
      1. 신속 검색 - 일반적으로 1~5분 이내에 사용할 수 있으며 비용이 가장 높다.
      2. 표준 검색 - 일반적으로 3~5시간 이내에 완료되며 신속 검색보다 비용이 저렴하지만 대량 검색보다 비용이 높다.
      3. 대량 검색 - 일반적으로 5~12시간 내에 완료되며 비용이 가장 저렴하다.
  • Amazon S3 Glacier 사용 사례
    그림11

  • 다른 Amazon S3 Glacier 작업 및 상호 작용의 경우 반드시 Amazon S3 Glacier REST API, AWS Java, .NET SDK 또는 AWS CLI를 사용하여야 한다.
  • 수명 주기 정책을 사용하여 Glacier에 데이터를 아키이빙할 수도 있다.

    • 생성 후 기간을 기준으로 객체를 삭제 또는 이동할 수 있다.
    • Amazon S3에 저장하는 데이터의 수명 주기를 자동화해야 한다.
    • S3 스토리지 유형 간 데이터가 주기적으로 순환되도록 할 수 있으며 시간이 자나면서 데이터의 중요도가 감소하면 비용을 더 적게 지불함으로써 전체 비용을 줄일 수 있다.
  • S3, S3 Glacier 스토리지 선택
    그림12

    • 짧은 지연 시간으로 빈번하게 액세스해야 한다면 S3, 자주 액세스하지 않는 데이터를 저렴한 비용으로 장기간 저장해야 한다면 S3 Glacier를 선택
  • S3, S3 Glacier 보안 차이점
    • 데이터를 전송할 때는 두 솔루션에서 모두 HTTPS를 통해 안전하게 전송
    • Glacier에 아카이빙 되는 모든 데이터는 기본적으로 암호화
    • S3를 사용하면 애플리케이션에서 서버 측 암호화를 시작해야 한다.