본문 바로가기
개발/AWS

AWS - S3 개념

by 궁즉변 변즉통 통즉구 2022. 1. 19.
반응형

- 오브젝트 스토리지 서비스로 단순 스토리지 기능 외에 정적 웹서버쿼리 사용 기능 제공

- 요금 = 저장용량 + 전송량

* [참고]일반적인 Storage 종류
- NAS(Network Attached Storage): LAN연결, 비용 저렴, OS상 '파일 서버'
- SAN(Storage Area Network): 스토리지 전용 네트워크 구성, Block수준 데이터 저장, OS상 '디스크'

S3 특징

  • 확작성: 확장, 축소가 쉬움
  • 가용성(내구성): 99.999999999%의 가용성 제공, 최소 4개의 AZ에 자동 복제
  • 신뢰성: 암호화 기능, 접근 관리 도구 제공
  • 다양한 관리 기능: 스토리지 클래스 분석, 수명 주기 정책 등의 관리 기능 제공
  • 스마트한 기능: 데이터 쿼리 기능(S2 Select), Athena,Redshift Spectrum 등 분석 서비스와 호환, Lambda 연동 

S3 용어

  • 객체: 텍스트, 이미지 등의 파일 엔티티 단위
  • 버킷: 객체를 저장하는 컨테이너, 버킷명은 유일해야하고, 웹서버로 사용 시 도메인명이 버킷명이 됨(ex. my.bucket.sample)
  • 객체 메타데이터: 사람이 파일을 쉽게 관리하기 위한 데이터, 객체 업로드 시 설정, 이름/값의 셋
  • 로그: 버킷/객체 단위의 로그, 객체 수준의 로그는 유료
  • 암호화: 저장되는 데이터에 대한 자동 암호화

스토리지 클래스(= 스토리지 종류)

  •  Standard
    - 범용적, AZ 3곳이상에 데이터 저장(99.9% 가용성)
  • Intelligent-Tiering
    - 빈번한 액세스와 간헐적 액세스 빈도에 따라 자동으로 2가지 계층에 데이터 저장
    - 액세스 빈도가 자주 변경되는 경우 유용
  • Infrequent Access
    - 액세스 빈도가 낮고, 용량이 큰 데이터에 적합
    - 백업 서비스에 많이 사용
    - Standard-Infrequent Access, OneZone-Infrequent Access 에 따라 저장되는 AZ 수 다름
  • Reduced Redundancy Storage(RRS)
    - S3 Standard 클래스보다 더 적은 중복성으로 저장될 수 있는 데이터 중에서도 중요하지 않고 재현 가능한 데이터를 목적으로 설계
    - 객체의 연평균 예측 손실율이 0.01%정도라 함
  • S3 Glacier/S3 Glacier Deep Archive
    - 데이터 아카이브와 장기간 백업, 오래된 로그보관 등을 위한 클래스
    - '버킷'이 아닌 '볼트'(Vault)라는 컨테이너에 데이터 저장, 데이터 읽을 경우 버킷으로 옮겨야 함
    - S3 라이프사이클과 통합하여 S3의 오래된 데이터 Glacier로 자동이관 가능

정적 웹사이트 호스팅 설정

  • 정적 웹 호스팅을 활성화
  • 공용 액세스 차단을 해제
  • 버킷 정책을 '모든 사용자'로 설정
  • 버킷명을 사용할 도메인명으로 지정(도메인 = 버킷명 +  AWS지정 문자열)
  • 개인 도메인을 사용할 경우 Route 53 등의 DNS 서비스를 사용하여 설정
  • CloudFront 서비스와 조합하여 많이 사용

액세스 관리

  • 엑세스 액션 로그 제공
  • 스토리지 클래스 분석: 객체에 액세스 빈도 분석, 설정된 날짜별로 어느정도 그룹화되어 있어 그룹의 평균 전송바이트 수 감시
  • 객체 잠금: 객체에 대한 변경(삭제/덮어쓰기/변조) 방지(거버넌스 모드, 규정 준수 모드)
  • S3 인벤토리: 버킷의 객체 메타데이터의 목록을 매일/매주 생성하는 기능

데이터 수명 주기 정책 관리

  • Transition: 객체를 다른 스토리지 클래스로 이동
  • Expiration: 유효기간 만료된 객체 삭제, 버전관리 될 경우 최신버전만 적용
  • NoncurrentVersionTransition: 현재 스토리지 클래스에서 객체의 유지 시간 지정
  • NoncurrentVersionExpiration: 과거 버전 객체 삭제 전 유지 시간 지정
  • AbortIncompleteMultipartUpload: 멀티파트 업로드 진행 최대 유지 시간, 시간 지나면 중지
  • ExpiredObjectDeleteMarker: 만료된 객체 삭제 표시 제거

CRR(Cross-Region Replication, 교차 리전 복제)

- 다른 리전의 버킷에 객체를 비동기적으로 복사

- 복제에 사용할 두 버킷은 버전관리 활성화 필요

- 국외 반출이 불가능한 데이터를 복제하지 않도록 주의 필요

데이터분석과 연동

- S3객체나 객체 내용에 대한 데이터분석 기능 제공

  • S2 Select
    - CSV, JSON 파일 등 파일 하나에 대해 집계 및 검색 기능
    - 콘솔에서 SQL입력, CLI, SDK 활용 가능
  • Athena
    - 어떤 대상, 어떤 검색을 할지 사전에 구성하여 여러 파일에 대한 분석 진행
    - 매번 필요에 따라 분석용 서버를 자동으로 생성하여 실행(실행 순간에만 비용 발생)
    - 집계, 검색방법을 저장하여 반복작업 시 유용
  • Redshift Spectrum
    - Redshift: 분석용 데이터웨어하우스 서비스
    - 미리 분석용 Redshift Cluster를 준비하고 이를 사용하여 분석 진행
    - 대용량의 복잡한 데이터에 대한 빠른 처리 시 유용
반응형

'개발 > AWS' 카테고리의 다른 글

EC2 Java 설치 및 JAVA_HOME 설정  (0) 2022.01.21
AWS VPC 개념  (0) 2022.01.21
AWS - EC2 기본  (0) 2022.01.16
AWS 로드발란서(ELB) 특징 및 종류  (0) 2021.12.28
AWS Aurora  (0) 2021.12.10

댓글