Amazon S3
- 백업이나 스토리지
- 재난 복구
- 기록 보관용
- 하이브리드 클라우드 스토리지
- 대량의 데이터를 저장하고 빅테이터 분석, 소프트웨어 업데이트를 배포, 정적 웹사이트 호스팅
- S3의 파일 크기 제한은 5TB
- 파일이 100MB를 초과하는 즉시 멀티파트 업로드를 권장
Buckets
- 버킷 이름은 모든 리전을 통틀어 고유해야 한다.
- 버킷은 지역 레벨에서 정의된다.
- 버킷은 리전 안에서 생성해야 한다.
Objects
- 키 값은 전체 경로가 된다.
- 키는 접두사와 객체 이름으로 구성된다.
- 디렉터리 개념이 없다.
- 메타데이터: 키-값 형태이고 파일의 특정 속성에 대한 값인데 시스템이나 유저가 설정할 수 있다.
- 태그: 유니코드 키-값 형태이고 최대 10개까지 붙일 수 있다. 보안이나 수명 주기 관점에서 유용하고 버저닝을 활성화 했다면, 버전 아이디를 가질 수 있다.
Security
User-Based
- IAM Policies:사용자 단위로 IAM 정책을 적용할 수 있다.
Resource-Based
Bucket Policies
- JSON으로 작성돼 있다.
- Object Access Control List(ACL)
- Bucket Access Control List(ACL)
IAM 사용자가 S3 객체에 접근할 수 있는 방법: IAM 권한에 접근이 허용돼 있거나 자원 정책에 해당 자원 접근이 허용돼 있거나, 명시적 거부 액션이 없다면 IAM 사용자는 허용된 API를 호출해 S3 객체에 접근할 수 있다.
Bucket settings for Block Public Access
Static Website Hosting
Versioning
Replication(CRR & SRR)
CRR(Cross-Region Replication)
: 교차 리전 복제
- 컴플라이언스, 저지연 액세스, 계정 간 데이터를 복제
SRR(Same-Region Replication)
: 동일 리전 복제
- 로그 집계, 운영 계정과 테스트 계정 사이에서 라이브 복제를 할 때 유용
복제 기능을 활성화한 다음에 생성한 객체만 복제가 된다. 기존에 있던 객체를 복제하려면 S3 배치 복제 기능을 이용해야 한다.
복제 체이닝은 지원되지 않는다.
S3 복제를 사용하면 S3 버킷의 모든 콘텐츠를 다른 AWS 리전에서 사용할 수 있도록 하면 팀은 가능한 한 가장 적은 지연 시간과 비용으로 데이터 분석을 수행할 수 있습니다.
S3 Storage Classes
: Amazon S3에서 객체를 생성할 때 객체 클래스를 선택할 수 있는데 스토리지 클래스는 수동으로 바꾹나 Amazon S3 수명 주기 설정으로 객체가 자동이로 이 클래스들 중 하나가 되게 할 수 있다.
S3 Durability and Availability
- Durability: Amazon S3가 얼마나 자주 객체를 잃느냐
- Availability: 서비스가 얼마나 사용 가능한가
S3 Standard - General Purpose
: 보통 기본으로 사용하는 스토리지, 지연 시간이 짧고 스루풋은 높다
Infrequent Access
: 덜 자주 사용하는 데이터용, 필요할 때 접근이 빨라야 한다.
- standard보다는 비용이 적지ㅣ만 데이터를 조회할 때 비용이 발생한다.
Glacier Storage Classes
: 저렴한 객체 스토리지로 아카이브나 백업을 위한 클래스
- 스토리지당 비용이 발생하고 또 검색 건당 비용이 발생한다.
S3 Intelligent-Tiering
: 액세스 패턴에 따라 객체를 액세스 계층 간에 이동시킬 수 있게 해준다.
Glacier Deep Archive 검색 모드: 표준(12시간), 대량(48시간)
Glacier Flexible 검색 모드: 신속(1~5분), 표준(3~5시간), 대량(5~12시간)