참고자료: AWS 사이트,AWS - 버킷 생성, 구성 및 작업생활코딩, 블로그 - 초보자도 이해할 수 있는 S3
아마존 S3(Simple Storage Service)는 아마존 웹 서비스에서 제공하는 온라인 스토리지 웹 서비스이다. 아마존 S3는 웹 서비스 인터페이스를 통해 스토리지를 제공한다. ==> 트래픽 증가에 따른 시스템적인 문제를 덜어줌
1. S3 이해하기

1.1 Move Data (데이터 이동)
클라우드, 애플리케이션 등에 있는 다양한 유형의 데이터(로그파일, 비디오, 사진, 애플리케이션 데이터, 백업 및 아카이브 등)를 S3로 이동
Move Data ===> S3 (Store Data)
어디서나 원하는 양의 데이터를 저장하고 검색할 수 있도록 구축된 객체 스토리지
1.2 Store Data (데이터 저장)
버킷 생성, 영역 지정, 엑세스 제어 및 관리옵션툴 가능
버킷이란
하드디스크, SSD같은 저장장치. S3에서 데이터를 저장하는 기본단위. 생성한 버킷에는 다양한 형식의 객체를 저장할 수 있음. 객체는 고유한 key로 식별되며 버킷 내에 고유한 키를 가진 여러 개의 객체를 저장할 수 있음
1.3 Analyze Data (데이터 분석)
AWS 및 타사 서비스를 사용하여 빅데이터를 분석하기
2. S3 장점
2.1 내구성
- 중요한 데이터를 저장할 수 있고 99.99%의 객체 내구성을 보장하도록 설계됨
내구성
파일이 유실되지 않을 가능성
- 데이터가 여러 시설과 각 시설의 여러 디바이스에 중복 저장 가능
- 여러 대의 하드디크스를 자동화 방식으로 데이터를 보관하고 유실이 일어날 경우 다른 저장장치에 중복저장할 수 있는 시스템을 갖춤
2.2 저렴한 비용
- 사용하는 만큼 비용을 낸다.
- 보관은 장기간하지만 access 빈도수는 현저히 낮은 파일들(ex.법적 보관기간 5년인 파일들)은 타입저장방식을 달리하여 더 저렴한 비용을 지불할 수 있음
==> 파일 access 빈도에 따라 보호 수준을 차등할 수 있고 이로써 차별화된 비용을 지불함
2.3 연중 99.99%의 가용성(서비스를 제공할 수 있는 상태)
2.4 보안
- S3와 웹브라우저 사이에 파일을 주고받을 때 암호화된 방식을 사용함
2.5 확장 가능
- 원하는 만큼 데이터를 저장하고 필요할 때 access 가능! ==> 웬만해서는 AWS가 망할일이 없기 때문
2.6 고성능
- AWS 리전(region)을 선택하여 가까운 리전(region)에 데이터를 저장하고 네트워크 지연 시간을 최소화함.
- Amazon CloudFront와 통합됨
Amazon CloudFront란
CDN(Content Delivery Network) 서비스의 일종
AWS region보다 많은 edge location에 설치된 각각의 컴퓨터로 S3에 있는 파일들을 전송해서 사용자 접속 시 사용자와 가장 가까이 있는 컴퓨터에 저장된 파일을 서비스할 수 있다
https://aws.amazon.com/ko/s3/faqs/?nc=sn&loc=7
https://dev.classmethod.jp/articles/for-beginner-s3-explanation/
3. S3 생성방법
쉬운버전
- Bucket Name & Region 선택
- Buket 안으로 파일 저장하기 (외부에서 접속할 수 있는 링크가 생성됨)
애플리케이션 내
- 애플리케이션에서 사용자가 파일을 전송한다
- 애플리케이션의 middleware(php, 자바, 파이썬 등)가 S3의 api를 통해서 S3로 파일을 전송한다
- 그 전송된 결과를 사용자에게 보여준다