4. AWS - 스토리지 ⭐

joong·2022년 7월 27일
3

5. 스토리지

  • 블록 스토리지: 원시 스토리지, 데이터가 관련 없는 블록의 어레이로 구성 e.g. 하드디스크, 스토리지 영역 네트워크(SAN), 스토리지 어레이
  • 파일 스토리지: 파일(서비스) 시스템이 관련 없는 데이터 블록을 관리, 네이티브 파일 시스템이 디스크에 데이터를 배치 e.g.네트워크 연결 스토리지(SAN), 어플라이언스, Windows 파일 서버
  • 객체 스토리지: 데이터, 데이터 속성, 메타데이터, 객체 ID를 캡슐화하는 가상 컨테이너를 저장 e.g. Ceph, OpenStack Swift

ㅇ 블록 스토리지

  • 데이터베이스 또는 ERP 시스템과 같은 기타 엔터프라이즈 애플리케이션은 호스트별로 대기 시간이 짧은 전용 스토리지가 필요한 경우가 많음
  • 직접 연결 스토리지(DAS) 또는 스토리지 영역 네트워크(SAN)과 유사
  • EBS 같은 블록 기반 클라우드 스토리지 솔루션은 개별 가상 서버로 프로비저닝 -> 고성능 워크로드에 필요한 매우 짧은 대기 시간 제공

ㅇ 파일 스토리지

  • 대부분 애플리케이션은 공유 파일 액세스, 파일시스템 필요 -> 주로 SAN
  • EFS와 같은 파일 스토리지 솔루션은 대규모 콘텐츠 리포지토리, 개발 환경, 미디어 스토어, 사용자 홈 디렉터리 등에 사용

ㅇ 객체 스토리지

  • 클라우드에서 개발된 애플리케이션은 객체 스토리지의 확장성 및 메타데이터 필요
  • AWS S3같은 객체 스토리지 솔루션은 확장성, 유연성 제공
  • 분석, 백업 또는 아카이빙 위해 기존 데이터 스토어 가져오는데 사용

ㅇ Amazon S3

  • 객체 수준 스토리지
  • 파일 데이터, 메타 데이터, 고유 식별자 포함
  • 기존의 파일 및 폴더 구조를 사용하지 않음
    • 혁신 가속화: S3 버킷을 정적 파일을위한 스토리지 솔루션으로 통합, 기존 파일 시스템 의존도 낮춤
    • 민첩성 향상: 스토리지 확장 필요 X, 개별 객체는 5TB지만, 필요한만큼 저장 가능
    • 비용 절감: 다양성 덕분에 액세스 빈도 적은 데이터 비용 감소, 장기 보관시 아카이빙
    • 보안 강화: 암호화 기능 및 액세스 관리 도구 통해 무단 엑세스로부터 데이터 보호 가능
      -> 백업 및 복원, 비즈니스 크리티컬 애플리케이션, 아카이빙 및 규정 준수

ㅇ 버킷 및 객체

  • S3는 데이터를 버킷내에 객체 단위로 저장, 객체는 파일과 메타데이터로 구성
  • 버킷 및 그안의 객체에 대한 액세스를 제어

ㅇ Amazon S3 퍼블릭 액세스 차단

  • 새 ACL/모든 ACL 통해 부여된 버킷 및 객체에 대한 퍼블릭 액세스 차단
  • 새 퍼블릭 버킷 또는 액세스 제어 정책 통해 퍼블릭 액세스 차단

ㅇ Amazon S3 버전 관리

  • 동일 버킷에 여러 객체 버전 유지, 특정 버전으로 복원 가능
  • 삭제하는 대신 삭제 마커를 삽입

ㅇ Amazon S3 스토리지 클래스

  • S3 Standard: 자주 액세스, 일반적인 스토리지
  • S3 Intelligent-Tiering: 액세스 패턴 바뀌거나 알 수 없는 데이터
  • S3 Standard-IA: 수명 길지만 액세스 빈도 낮은 데이터
  • S3 OneZone-IA: 단일 가용 영역에 저장, 수명 길고 액세스 빈도 낮은 데이터
  • S3 Glacier Instant Retrieval: 드물게 액세스, 몇 밀리초만에 복원필요한 아카이브 데이터
  • S3 Glacier Flexible Retrieval: 몇 분~몇시간 액세스 시간, 유연한 검색 옵션, 무료 대량 검색
  • S3 Glacier Deep Archive: 장기 콜드 스토리지 아카이브 및 디지털 보존, 12시간 이내 복원

ㅇ S3 수명 주기 정책

  • 생성 후 기간 기준으로 객체를 삭제, 이동 가능, 수명 주기 자동화 필요
  • 객체별, 버킷별 수명 주기 규칙 설정 가능

ㅇ 저장시 암호화

  • AWS 관리형 키 (SSE-S3): 각 객체 고유한 키로 암호화, 기본 키 사용해 키 자체를 암호화
  • AWS KMS 관리형 암호화 키 (SSE-KMS): ^와 비슷하지만 추가 이점, 비용 발생
  • 고객 관리형 키(SSE-C): 고객은 암호화 키를 관리하고 S3는 디스크에 쓸 때 암호화, 사용자 객체 액세스시 복호화

ㅇ S3 객체 복제

  • S3버킷 전체에 걸쳐 객체를 비동기식으로 자동 복사, 높은 수준의 가용성 및 내구성 확보
  • S3 저장된 데이터는 리전 내에서 각각 마일 단위로 분리된 최소 3개의 가용 영역에 걸쳐 저장 -> S3 One Zone-IA는 단일 영역 서비스

ㅇ S3 이벤트 알림

  • 특정 이벤트 발생시 알림, 서버 기반 폴링 인프라 구축 필요 X
  • API 객체 생성 -> 객체 필터링 -> 객체 제출 -> 버킷에 객체 추가

ㅇ Amazon S3 Transfer Acceleration

  • 전세계에 분산된 CloudFront 엣지 로케이션을 사용해 데이터를 S3 버킷으로 빠르게 전송
  • 전세계 각지에서 중앙 버킷으로 업로드 하는 경우
  • 전세계에서 정기적으로 기가바이트, 테라바이트 규모의 데이터 전송
  • 데이터를 신속하게 장거리 이동
  • 네트워크 변동성을 축소, 대역폭 사용률을 극대화

ㅇ S3 멀티파트 업로드

  • 대용량 객체를 관리 가능한 파트로 분할하여 일관되게 업로드
  • 업로드 시작 -> 객체파트 업로드 -> 멀티파트 업로드 완료 (콘솔로 불가능)
  • 멀티파트 업로드 요청 완료시 S3가 개별 조각으로부터 전체 객체 다시 생성
    • 개선된 처리량: 파트를 병렬로 업로드
    • 네트워크 문제로부터 빠른 복구: 저 작은 파트 크기, 네트워크 오류로 인해 실패한 업로드 재시작의 영향 최소화
    • 객체 업로드 일시 중지 및 재개: 장시간에 걸쳐 업로드 가능, 만료되지 X, 명시적으로 완료하거나 취소해야함
    • 최종 객체 크기를 알기 전에 업로드 시작: 객체 생성하는 동안 업로드 가능
    • 대용량 객체를 업로드: 최대 5TB의 대용량 객체 업로드 가능

ㅇ 액세스 포인트 솔루션

  • S3 공유 데이터 세트에 대한 대규모 데이터 액세스 관리 간소화
  • 객체 작업 수행하는데 사용하는 네트워크 엔드포인트, 버킷에 연결
  • 대규모로 액세스를 관리
  • 각 액세스 포인트에 고유한 DNS 이름
  • 각 액세스 포인트에 고유한 권한 및 네트워크 제어

ㅇ S3 객체 Lambda

  • 데이터 형식 간 변환
  • 다른 서비스 또는 데이터 베이스 정보 사용하여 데이터 보강
  • 다운로드 할 때 파일 압축, 압축 해제

ㅇ Amazon S3 비용 요소

  • 사용한 만큼만 지불
    • 월별 GB
    • 다른 리전 또는 인터넷으로 전송
    • PUT, COPY, POST, LIST및 GET요청
  • 지불할 필요 없음
    • Amazon S3로 수신
    • 동일 리전 내 EC2 또는 CloudFront로 전송

ㅇ 공유 파일 시스템

  • 여러 인스턴스에서 실행되는 애플리케이션이 동일한 파일 시스템 사용해야 하는 경우
    -> Amazon EFS 또는 Amazon FSx가 적합
    • Amazon EBS는 블록 스토리지, 최대 16개의 EC2 다중 연결 지원하지만 대부분의 경우 EBS 볼륨은 EC2 인스턴스 하나에 연결
      -> 확장성, 가용성, 경제성 갖추기 어려움
    • Amazon S3는 객체 스토어 시스템으로 변경이 어려움

ㅇ Amazon EFS

  • Linux 기반 워크로드를 AWS Cloud 서비스와 온프레미스 리소스에서 사용할 수 있도록 확장 가능, 탄력적인 파일 시스템 제공
  • EC2에 탑재한 다음, 해당 파일 시스템에서 데이터 읽기/쓰기 가능
  • VPC의 여러 EC2 인스턴스에서 동시에 액세스 가능
    • 스탠더드 스토리지 클래스: AWS 리전 내 모든 가용 영역에서 파일 시스템 데이터 및 메타데이터를 중복하여 저장하는 파일 시스템 생성, 가장 높은 수준의 가용성 및 내구성
    • 단일 영역 스토리지 클래스: 하나의 가용영역에 파일 시스템 생성
  • DevOps, 웹 지원, 앱 콘텐츠 시스템, 미디어 처리, 기계 학습, 분석, 검색 인덱스 및 상태 기반 마이크로 서비스 애플리케이션
  • 페타 바이트 규모 시스템 지원, 파일 시스템 처리량도 시스템 용량에 따라 스케일링
  • 서버리스 방식으로 인프라, 용량 프로비저닝 필요 X

ㅇ Amazon FSx

  • 완전 관리형 파일 시스템 제공
  • ... 생략 ...355

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

  • AWS Snowball:엣지 컴퓨팅, 데이터 마이그레이션 및 엣지 스토리지 디바이스
  • AWS Storage Gateway: AWS 스토리지를 온프레미스에 간단하게 도입
  • DataSync: 온프레미스 스토리지와 S3, EFS, FSx 간의 데이터 전송 서비스
  • AWS Transfer Family: SFTP 사용해 S3와 파일 송수신

ㅇ 대용량 데이터를 S3로 이동

  • AWS Snowcone: 소형의 견고한 엣지 컴퓨팅, 데이터 스토리지 제품
  • AWS Snowball Edge: AWS Snowball에서 제공하는 엣지 컴퓨팅 및 데이터 전송 디바이스, 페타바이트 규모
  • AWS Snowmobile: 초대용량 데이터 세트를 온프레미스에서 AWS로 이전하기위한 엑사바이트 규모 데이터 마이그레이션 서비스

ㅇ DataSync

  • 온프레미스 에이전트 배포 -> 프로토콜 사용하여 WAN을 통해 데이터 전송 -> AWS 스토리지 서비스에서 데이터 R/W -> 콘솔 또는 CLI에서 관리

ㅇ Storage Gateway 솔루션 366

2개의 댓글

comment-user-thumbnail
2022년 7월 28일

감사합니다

답글 달기
comment-user-thumbnail
2022년 7월 28일

우와 보기좋게 정리가 잘 되어 있네요! 잘 보고 갑니다 :)

답글 달기