S3 개요
- 무한히 확장 가능한 스토리지
- 사용사례
- 백업 or 스토리지
- 재해 복구 (백업)
- 기록 보관
- 하이브리드 클라우드 스토리지 (온프레미스 스토리지에 대해 클라우드로 확장)
- 데이터 레이크 & 빅데이터 분석
- 소프트웨어 업데이트
S3 - Bucket
- 최상위 디렉터리 개념
- 버킷에 담기는 파일은 객체(Object)
- 전역적으로 유니크한 이름을 가짐
- 리전 단위로 버킷 생성
S3 - Object
- 각각 키를 가짐
- 키는 파일의 전체 경로 (prefix + object name)
- s3://my-bucket/my_file.txt
- s3://my-bucket/my_folder/test/my_file.txt
- 실제로 S3에는 디렉터리 개념이 없음 (모든것은 하나의 키)
- 객체 최대 크기는 5TB (5000GB)
- 초과 시 멀티 파트로 분할해 저장
- 메타데이터 가질 수 있음 (key/value 형식, 사용자나 시스템 지정 가능)
- 태그 가질 수 있음 (key / value 형식, 보안과 수명관리에 좋음)
- 버전 ID 가질 수 있음 (버저닝 켜진 경우)
- 같은 키로 저장 시 덮어쓰는 게 아닌 새로운 버전으로 저장
- 의도치 않은 삭제(덮어쓰기) 방지
- 이전 버전으로 쉽게 롤백 가능
- 버저닝을 켜기 전 객체의 버전값은 null로 세팅
- 버저닝을 잠시 멈춰도 이전 버전은 삭제되지 않아 안전하게 이용 가능
S3 버킷 정책
- S3에서 보안 유지 방법은 크게 3가지
- User-based
- IAM 정책 - 사용자가 API 호출을 통해 S3에 접근
- Resource-Based
- 버킷 정책 - S3 콘솔에서 룰을 정의 (사용자 계정 간 액세스 허용)
- Object / Bucket Access Control List (ACL) : 보다 세밀한 정책. 비활성화 가능
- Encryption
- 객체를 암호화 키를 통해 암호화
- (IAM 권한이 ALLOW or 버킷 정책이 ALLOW) AND 명시적인 DENY가 없는 경우 IAM은 S3 객체에 접근 가능
- User-based
- Public Access 제한도 설정 가능 (회사의 데이터 유출을 막기 위한 한단계 추가된 보안, S3 버킷정책을 잘못 설정했을 때를 대비 가능)
S3 복제
- 소스 버킷 / 대상 버킷 모두 버저닝을 켜야함
- CRR (교차 리전 복제) / SRR (동일 리전 복제)
- 복제 작업은 비동기 / 백그라운드로 실행
- 해당 버킷에 대한 읽기/쓰기 권한이 IAM에 있어야함
- 복제 기능을 활성화 한 이후 생성된 객체만 복제됨
- 기존 객체를 복제하기 위해서는 S3 Batch 복제 기능을 이용해야 함
- 삭제작업도 복제 가능 (삭제 마커를 복제, version ID 가진 것은 복제하지 않음. 악의적인 삭제를 복제하지 않기 위함)
- 복제 체이닝 미지원 (버킷1 -> 버킷2 -> 버킷3 복제 시 버킷1 -> 버킷3 복제 불가)
- CRR 사용사례
- 낮은 지연 액세스 (다른 리전에서 데이터 가져옴), 다른 계정 간 버킷 복제
- SRR 사용사례
- 로그 집계, 운영 / 테스트 계정 간 라이브 복제
S3 스토리지 클래스
- 스토리지 클래스는 수동으로 바꾸거나 S3 LifeCycle 설정으로 자동으로 하나가 되도록 할 수 있음
- 클래스와 상관없이 S3의 내구성(Durability)는 높은편 (99.999999999%, 11 9's)
- 가용성(Availability)는 스토리지 클래스마다 다름 (Standard 기준 99.99%)
- Standard - 일반 목적
- 99.99 Availability
- 자주 접근하는 데이터에 사용
- 지연시간이 짧고 처리량 높음. 기본으로 사용하는 스토리지
- 동시 2개 시설 실패 처리 가능
- 빅데이터 분석 / 모바일 앱 / 게임 / 콘텐츠 배포
- Standard - Infrequent Access (IA)
- 덜 자주 사용하는 데이터용 (99.9%)
- 필요할 때 데이터 접근이 빨라야함
- Standard 보다 저렴. 데이터 조회 시 비용
- 재해복구 / 백업
- One Zone - IA
- 하나의 가용영역에 대해서는 높은 내구성 (99.99999999%)
- AZ가 파괴되면 데이터 손실 발생
- 가용성은 99.5%
- 온프레미스 데이터 / 재생성 가능한 데이터의 백업
- Glacier
- 저렴한 객체 스토리지
- 아카이브 / 백업
- 스토리지당 비용 + 검색 건당 비용
- Instant Retrieval : 밀리초 단위 검색 (분기 당 한번 액세스하는 데이터에 적합)
- Flexible Retrieval : Expedited > standard > bulk 순으로 검색시간 김
- Deep Archive : 장기 보관용 스토리지. 비용 제일 저렴
- Instant : 데이터 즉시 검색 / Flexible : 데이터 검색을 기다릴 의향이 있음
- Intelligent Tiering
- S3가 알아서 액세스 티어 간 객체를 옮겨줌
Reference
Udemy - AWS Certified Developer Associate 시험 합격을 위한 모든 것!
'Programming' 카테고리의 다른 글
[AWS, Certified Developer Associate] S3 - 암호화, 액세스 포인트 (0) | 2024.05.10 |
---|---|
[AWS, Certified Developer Associate] S3 - LifeCycle, 이벤트 알림, 성능, Select 및 Glacier Select, 객체 태그, 메타 데이터 (0) | 2024.05.10 |
[AWS, Certified Developer Associate] VPC (0) | 2024.05.06 |
[AWS, Certified Developer Associate] DNS, Route 53 (0) | 2024.05.06 |
[AWS, Certified Developer Associate] Aurora, RDS 프록시, ElastiCache (0) | 2024.05.01 |