
S3 (Simple Storage Service) 개념
AWS S3는 높은 확장성과 데이터 가용성 및 보안과 성능을 제공하는 Online Object Storage Service(온라인 객체 스토리지 서비스) 이다.
|TMI| 앞글자만 따면 S가 3개라서 S3라고 한다.
쉽게 풀어 설명하면, 스토리지 즉, 구글 드라이브나 N드라이브 처럼 파일 저장 서비스이며, 데이터를 온라인으로 오브젝트 형태로 저장하는 서비스라고 보면 된다.
온라인 이라는 글자가 붙은 이유는 데이터 조작에 HTTP/HTTPS를 통한 API가 사용되기 때문이다.
또한, 편리한 UI 인터페이스를 통해 어디서나 쉽게 데이터를 저장 및 불러오기가 가능하기에 개발자가 쉽게 웹 규모 컴퓨팅 작업을 수행할 수 있도록 해준다.
S3는 저장하는 데이터 양에 대한 비용도 저렴하고, 저장할 수 있는 데이터 양이 방대하다.
또한, 'elastic(용량이 자동으로 확장하고 축소되는 특성)'한 성질 때문에, 별도의 스토리지 확장이나 축소에 신경쓰지 않아도 된다.
S3는 FTP 서버처럼 단순한 파일 저장 영역으로 사용 가능 하지만, 다양한 AWS 서비스의 사용 로그 저장이나 정적 웹 사이트 호스팅, EBS 스냅샷의 저장 영역 기능 등을 가지고 있다.
이외에도 전 세계적으로 폭 넓게 활용되고 있다.
S3는 지역별 서비스로서 지역별 재난 상황에 대비하여 자동으로 반복 저장을 한다.
S3 객체 스토리지 특징
객체 스토리지는 객체로 된 파일을 다루는 저장소를 의미한다.
이와 상반되는 표현은 EBS(Block storage Service)가 있다. EBS는 일종의 SSD나 하드라고 볼 수 있다.
S3에는 파일을 설치하는 행위는 불가능 하며, 이미지 또는 동영상 파일 등을 업로드, 삭제, 업데이트만 할 수 있다.
반대로, 본체에 설치된 하드는 OS나 게임프로그램을 스토리지에 저장하고 구동하는 방식이다.
이것이 두 개의 차이점이라고 볼 수 있다.
S3를 사용하는 이유
- S3는 저장 용량이 무한대에 가깝고, 파일 저장에 최적화 되어 있다. 용량 추가나 성능 확대 작업 불필요
- 비용은 EC2와 EBS로 구축하는 것에 비해 훨씬 저렴
- S3 자체가 매우 성능이 좋은 웹 서버로 구성되어 있어, EC2와 EBS로 구축했을 때와 같이, Auto Scaling이나 Load Balancing에 신경쓰지 않아도 된다.
- 웹하드 서비스와 유사하나, 별도의 클라이언트 설치 또는 Active X를 통하지 않고, HTTP 프로토콜(Restful)로 파일 업로드 및 다운로드 처리가 가능하다.
- S3 자체로 정적 웹서비스가 가능하다. (html 파일을 스토리지에 저장한 뒤, html 파일에 접근하면 하나의 페이지 생성 가능)
- 동적 페이지와 정적 페이지가 혼용될 경우, 동적 웹페이지는 EC2에서 서비스하고, 정적 웹페이지는 S3를 이용하면 성능도 높아지고, 비용도 훨씬 절감할 수 있다.
S3 사용 예시
- 클라우드 저장소 (개인 파일 보관)
- 서비스의 대용량 파일 저장소 - 이미지, 동영상, 빅데이터(넷플릭스 등)
- 서비스 로그 저장 및 분석
- AWS 아데나를 활용한 빅데이터 업로드 및 분석
- 서비스 사용자의 데이터 업로드 서버(이미지 서버, 동영상 서버)
- 중요한 파일은 EC2의 SSD (EBS : Elastic Block Store)에 저장하지 말고 S3에 저장
- glacier 와의 연동으로 비용 절감 및 규정 준수 가능(자주 쓰지 않는 데이터를 S3에서 자동으로 변환)
'Develop > AWS 공략' 카테고리의 다른 글
| [AWS] S3 Client (0) | 2025.04.04 |
|---|