S3 Overview
- S3에도 데이터를 넣고 회수하기 때문에 데이터베이스와 같음
- S3는 객체의 키-값 저장소이며 객체를 만들면 객체를 향한 전체 경로인 아주 긴 키가 되고
그 값은 객체가 되므로 데이터베이스라고 불리며 데이터를 저장 및 회수 가능
- 스토리지가 무한하고 서버리스이며 객체 크기가 5TB를 넘을 경우와 같이 큰 파일, 큰 객체에 사용하면 좋지만 지연 시간이 김
- 작은 객체가 여럿일 때는 추천하지 않으며 이 때는 RDS나 DynamoDB를 사용
- 목록 및 덮어쓰기를 포함한 모든 S3 작업에 관해 강력한 일관성을 가짐
- S3 Standard, S3 IA, S3 One Zone IA, 백업을 위한 Glacier가 존재
- 버저닝과 암호화, 교차 리전 복제 등의 다양한 기능이 존재
- 보안은 전부 IAM으로 이루어지고 객체 레벨에서 버킷 정책과 ACL을 추가할 수 있음
- 암호화에도 SSE-S3, SSE-KMS, SSE-C, 클라이언트 측 암호화, 전송 중 SSL, HTTPS 많은 옵션이 존재
- 예1) 각 영화 크기가 500MB일 때, 영화를 쿼리하여 모든 영화를 저장,
예2) 정적 파일에서 사용하고 또는 큰 파일이나 웹 사이트 호스팅에 쓰이는 키-값 저장소 등에 사용
S3 for Solutions Architect
- Operations
아무 작업이 필요없고 언제든 사용할 수 있도록 준비되어 있어 서버를 프로비저닝하지 않고 사용 가능
- Security
보안에 대한 관리는 사용자에게 달려 있어
IAM 정책, 버킷 정책, ACL을 올바르게 정의하고 서버와 클라이언트 요구 사항에 따라 암호화하며 전송 중 암호화에는 SSL 사용
- Reliability
내구성이 99.999999%이고 가용성이 99.99%로 데이터 저장에 매우 안정적이로 신뢰성이 매우 큼
다중 AZ를 지원해 모든 것이 다중 AZ에 복제되며 CPR(교차 리전 복제)로 버킷의 모든 내용을 다른 리전으로 옮길 수 있음
- Performance
초당 수천 번의 읽기와 쓰기로 확장 가능하고 CloudFront를 통해 전송을 가속화할 수 있음
큰 파일은 멀티 파트를 사용해서 안전하게 S3에 넣을 수 있음
- Cost
스토리지는 사용량만큼 지불하므로 스토리지 프로비저닝을 생각할 필요가 없으므로 무제한 저장 스토리지임
네트워크 사용 비용은 데이터 전송 및 회수 시의 대역폭만큼 청구되므로 S3에 많은 요청을 보낼 경우 그에 따라 과금됨