개요

  • 블록/파일/객체 스토리지를 검토할 때 고려해야 하는 서비스는 무엇인가?
  • 사용 사례에 적합한 객체 스토리지 솔루션을 어떻게 선택하는가?
  • AWS에서 안전하고 확장 가능한 보안 스토리지를 구축하기 위한 파일 기반 옵션은 무엇인가?
  • 어떻게 하면 짧은 시간 내에 대량의 데이터를 클라우드로 이관할 수 있는가?

스토리지(다시 듣기)

스토리지는 일반적으로 3개의 타입으로 나뉜다.

  • 블록 스토리지
    • 원시 스토리지 데이터가 관련 없는 블록의 어레이로 구성된다.
    • 읽기/쓰기 자유
    • 하드디스크, SAN
  • 파일 스토리지
    • NAS
  • 객체 스토리지
    • 블록/파일 스토리지와 달리 디스크에 마운트 되지 않는 솔루션이다.
    • http요청에 의해서 쓴다.
    • ‘비연결 기반’이기 때문에 확장성이 매우 높다.
    • 저장된 객체에 대한 unique key가 존재한다.

[254 이미지]

Amazon S3

  • 버킷을 만들 때 용량을 설정하지 않는다. 용량이 무제한임
  • 버킷에 데이터를 넣으면 3개 이상의 가용영역에 데이터를 복제하여 매우 고가용성이다.
  • 버킷 내에 있는 파일의 주소
    • https://{버킷명}.s3.amazonaws.com/{dir명}/{파일명}
      • dir명은 prefix이고 ‘{dir명}/{파일명}‘이 unique한 key값이다.
    • 버킷 내 - permissions에서 Bucket policy에 리소스 기반 정책을 적용하여 인터넷에 파일이 공유되도록 할 수 있다.

그러나 만약에 private하게 특정인에게만 파일을 노출시켜주고 싶다면?

  • 파일을 선택하고 Actions에서 ‘shared with presigned URL’ 기능을 활용하면 노출 시간을 설정할 수 있다.

S3 사용 사례

  • 백업 및 복원
  • 분석용 데이터 레이크
  • 미디어 스토리지 및 스트리밍
  • 정적 웹 사이트
  • 아카이빙 및 규정 준수

객체 보호

  1. 액세스 제어 : 접근 못하게 하는 것
  2. 암호화 : 접근 하더라도 사용하지 못하게 하는 것
  3. 규정 준수

S3 액세스 제어

[이미지]

  • 리소스 기반 정책에서 Principal을 특정 유저나 그룹으로 설정할 수도 있음.
  • S3 access point
    • 한 버킷 내에 모든 부서의 데이터를 넣고 directory 별로 관리해도 용량적으로는 문제 없으나, 버킷 policy가 너무 복잡해질 수 있음.
    • 그렇기에 나온 것이 S3 access point이다. [이미지]

S3 암호화

객체 저장

S3 Storage class

데이터의 중요도에 따라 가용성/액세스 속도를 조절하여 비용을 줄일 수 있다. [이미지] [보충자료 이미지]

  • Class 이전하겠다는 API만 날려주면 기존의 데이터들 Storage Class 변경 가능
  • S3 Integlligent-Tiering
    • 객체 단위로 tiering을 알아서 해주지만 그 관리 비용은 조금 따로 받는다.

S3 버전 관리

기본적으로 데이터를 덮어쓰면 기존 데이터는 삭제 된다. 이런 부분을 보완하기 위해 S3에서는 버전 관리를 기본적으로 제공한다.

  • 버전 저장 비용을 받기 때문에 얼마나 버전 관리를 할 지를 조정할 수 있다.

수명 주기 정책

  • intelligent-tiering을 사용하지 않아도 해당 rule을 사용하여 객체의 storage class를 옮길 수 있다.

[이미지]

S3 멀티파트 업로드

대용량의 데이터는 멀티파트 업로드를 통해 일부파트 업로드가 실패했더라도 해당 파트만 다시 업로드하고 S3에서 객체를 조립한다. 파일이 100MB이상이면 멀티파트 업로드를 고려한다. 단일 객체의 최대 용량은 참고로 5TB이다.

S3 Transfer acceleration

[이미지]

  • 다른 region 등 데이터를 장거리로 전송할 때 활용한다. 멀면 멀수록 효과가 크다.
  • Edge location을 통해 전송하여 AWS의 고속 네트워크 망을 타서 S3에 저장되게 하는 것

S3 이벤트 알림

이미지 버킷에 원본 데이터가 들어왔을 때 이벤트 알림을 활용하여 Lambda 함수가 thumbnail 이미지를 압축해서 버킷에 업로드 하도록 할 수 있다. [이미지]

공유 파일 시스템

EBS는 인스턴스 하나에 연결되고, 객체 스토리지는 파일 시스템용으로 구축되지 않는다. 공유를 위해서는 EFS, FSx가 사용된다.

EFS(ㄸ)

[이미지1,2]

FSx

FSx와 EFS 차이?

AWS 데이터 마이그레이션 도구

  • 온라인 방법
    • Storage gateway
    • Datasync
  • 오프라인 방법 : Snowcone, Snowball

Storage gateway

[아키텍처 이미지]

DataSync