KNOU STUDYREAD

한국방송통신대학교 통계데이터과학과 블로그

CS & Department of Statistics and Data Science

통계데이터과학과 및 컴퓨터과학 독서

Part 5. 스토리지 S3

Harryㅤ 2024. 10. 7.

 
AWS Simple Storage Service, S3
1. 아마존에서 제공하는 객체 스토리지 서비스
2. 대표적으로 웹 서버 기능과 쿼리 기능(집계 기능 가능)을 사용
3. 용량 제한이 없음
4. 따라서 확장과 축소에 제약이 없고 자유로움
5. 각 리전 사이에서도 s3 복제 가능
6. 비용 청구 방식은 저장용량, 전송량에 따라 사용한 만큼 청구된다
7. 기본적인 조작은 대시보드에서 가능하며 파일 업로드시 aws sftp가 제공되어 ssh로 암호화된  파일을 전송할 수 있어 안전하다

확장성내구성(가용성)신뢰성여러 관리 기능스마트한 기능
용량 제한이 없으며 사용 목적에 따라 자유로운 확장과 축소 가능99.9% 이상의 내구성, 장애나 오류 대응에 강함. 또한 최소 4개의 가용 영역에 복제되어 있으므로 어느 한 영역에 장애가 생겨도 사용에 문제가 없다(가용성 높음)s3에서도 암호화 기능과 같은 감사 기능이 있어 신뢰성 높음s3 또한 클래스 분석, 수명 주기 정책을 적용할 수 있음.쿼리 - s3 select
aws lamda 연동 가능, 아테나, redshift spectrum 연동가능


Storage Class
1. s3에는 다양한 스토리지 종류가 있다

standardintelligent-tiering(IT)infrequent access(IA)reduced redundancy storageglacier deep archive
(GLACIER)
- 가장 일반적 형태의 종류
- 최소 3영역 이상의 가용영역에 저장
- 데이터 검색 및 최소용량의 요금 없이 일할계산
- 빈번/간헐적 엑세스에 적합
- 두 객체 중 어느곳으로 저장할지는 사용 빈도를 보고 빈번/간헐적 나누어 저장
- 검색 요금, 두 객체간 이동에 대한 요금 없음
- 다만 standard와 다르게 최소 저장기간에 따른 요금이 있음
- standard와 비교했을때 저장 요금이 낮은 편이지만 엑세스 부분 요금은 높은것이 특징
- 엑세스 빈도 낮고 용량이 큰 데이터를 취급할때 적합한 스토리지 모델
- infrequent access는 One Zone access, Standard infrequent Access로 나눔

- one zone = 한 az에만 저장되므로 문제 발생시 데이터 유실 가능성이 있으므로 중요한 데이터를 저장하는데는 옳지 않음

- standard infrequent access = 최소 3개 이상의 az 사용하여 저장
- standard 모델과 비교했을때 이중화 수준을 낮게 하여 저렴한 가격에 제공
- 저장할때 사용하는 az가 하나이므로 문제 발생시 데이터 유실 가능성 존재
- 장기 백업, 데이터 아카이브
- 대용량 데이터를 낮은 가격에 사용 가능
- 검색시 비용청구(Glacier 내 데이터와 검색한 대상의 데이터 양쪽에 청구)
- valut라는 컨테이너에 저장됨(다른 버킷으로 옮겨서 저장한다는 것이 다른 스토리지 모델과의 큰 유형 차이)


객체와 버킷

객체 버킷
s3에서 일반적으로 파일을 객체라함s3에서 일반적으로 드라이브를 버킷이라함
별도 명명 규칙(upper case, under score X, ip host num X)이 존재하며 s3 내에서 '유일성' 만족해야함, 한번 사용된 이름은 재사용 불가, 버킷의 경우 리전을 변경해도 같은 버킷명으로 사용 불가

 
버킷별 접근 정책 설정

버킷정책사용자정책acl(Access Control List) 정책
해당 버킷에 접근할 수 있는 사용자를 지정하는 방식접속 가능한 버킷에 대해서 지정하는 방식자신이 아닌 이외의 다른 계정에 대해 대해 읽기/쓰기 등에 대해여 거부, 허용 권한을 지정하는 방식

 
웹사이트 호스팅 기능
s3에서는 웹 호스팅 기능도 제공

amazone lightsailAWS amplify
웹 사이트에서 필요한 서비스 전체를 정해진 가격에 따라 제공하는 서비스웹 개발을 위한 전체적인 도구를 제공, 개발자 대상. 자바스크립트를 사용하여 기능 호출, 웹 사이트의 html 파일이나 이미지는 s3를, lambda를 통해 백엔드 기능을 이용하여 여러개의 조합을 통한 서비스 제공


업로드 & 다운로드

api, sdkAWS Transfere for SFTP멀티파트 업로드AWS data sync
- IAM 사용자에게 엑세스/보안엑세스 키를 발행하여 설정
- api, sdk를 사용해 서드파티 도구를 활용하여 이용가능
- SFTP 서버를 활용한 전송
- 초기비용 없지만 서버 사용시간, 전송용량에 따라 과금
- 객체를 여러개로 나누어 하나의 파트로 업로드 가능
- 100 메가 이상일 경우 권장
- 대용량 데이터 전송 서비스

* 온프레미스 스토리지처럼 사용하고 싶을 경우 -> Hybrid Cloud Storage Service 


엑세스 관리  및 변조 방지 기능
관리자의 스토리지 엑세스 감시를 위해 엑세스 기록을 무료로 제공
엑세스 로그 요소 - 원격 IP, 요청자, 요청자 ID, 작업, 키, 요청 URL, 오류코드, 보낸 바이트, 객체 크기, 총 시간, 반환 시간, Referrer(html referrer의 헤더값), 사용자 에이전트(http user agent 헤드 값), 버전 ID(요청버전 id), 호스트헤더(접속 endpoint)
그 외에 스토리지 클래스 분석(엑세스 빈도 분석), 객체 잠금(for 객체 보호), s3 인벤토리(객체 메타데이터 목록을 매일 또는 매주 생성하는 기능) 기능이 있음

버전 관리 기능 - 미사용(기본), 활성화, 버전 일시중지 등의 3가지 형태로 구성. 
수명 주기 정책 - 객체가 정기적으로 수행할 작업을 설정

TransitionExpirationNoncurrentVersionTransitionNoncurrentVersionExpirationAbortIncompleteMultipartUploadExpiredObjectDeleteMarker
객체를 다른 스토리지 클래스로 이동유효 기간 만료된 객체 삭제

* 객체가 버전관리되고 있을 경우 최신 버전에만 적용, 버전이 여러개 있거나 삭제 표시가 있을 경우 삭제하지 않음
현재 스토리지 클래스에서 객체의 유지 시간 지정과거 버전의 객체를 삭제하기 전 유지할 시간 지정멀티 파트 업로드 진행 사앹를 유지할 최대 시간 설정만료된 객체 삭제 표시 제거


데이터 분석 연동기능 - s3 객체나 객체 내용에 대해 데이터 분석할 수 있는 기능 존재

S3 selectAmazon Athena
- csv or json과 같이 구조화된 데이터를 sql의 select 문을 사용해서 실행하는 기능 제공- csv or json과 같이 구조화된 데이터를 sql의 select 문을 사용해서 실행하는 기능 제공

* Amazon Redshift Spectrum - 비슷한 기능이 있지만 주로 대용량 데이터를 처리하기 때문에 Redshift Cluster를 사용
데이터 분석 서비스 기능 - s3는 데이터 분석 서비스 뿐만 아니라 연동할 수 있게 구성됨. 로그나 IOT 기기에서 분석하려고 보거나 저장할 수 있으며 S3 Select 와 Amazon Athena는 버킷에 저장된 데이터를 분석할 수 있도록 제공되는 서비스이다. Amazon Redshift Spectrum의 경우 s3 버킷 외 다른 저장소까지 데이터 분석 기능을 제공

S3 SelectAmazon Redshift Spectrum
s3로 저장된 파일에 sql  사용해 집계, 검색이 가능,  csv, json, Apache parquet 형식에도 지원데이터 분석 서비스. select와 달리 어떤 대상에 어떤 검색을 해야할지 사전 구성 필요. 여러 파일 대상 수행 가능, 분석을 위한 서버 존재 가능이 select와의  차이점


컨텐츠 배포

Amazon CloudFront
- 컨텐츠 고속 전송 네트워크 서비스
- 리전의 네트워크 말단에 위치
- 데이터 전송량이 아닌 송신에 따라 요금 부과(서버가 캐시하기 위한 전송량에 대해서는 요금 부과되지 않으나 캐시에 대한 요금만 부과)
- TLS, SSL 암호화 통신 지원