본문 바로가기
Web/AWS

Amazon S3

by joooing 2021. 3. 10.
반응형

Amazon S3

Simple Storage Service의 약자로, AWS에서 제공하는 클라우드 스토리지 서비스이다. 클라우드 스토리지 서비스라고해서 어렵게 느껴질 수 있지만, 쉽게 생각하면 우리가 흔히 쓰는 구글드라이브, 네이버 MYBOX처럼 파일을 저장해두면 다른 기기라고 하더라도 언제 어디서나 쓸 수 있게 해주는 저장소라고 할 수 있다.

 

Amazon Simple Storage Service는 인터넷 스토리지 서비스입니다. 이 서비스는 개발자가 더 쉽게 웹 규모 컴퓨팅 작업을 수행할 수 있도록 설계되었습니다.

 

S3의 장점

S3를 사용하면 다양한 이점을 얻을 수 있다. 우선은 스토리지 규모를 무한히 확장할 수 있고, 쓴만큼의 비용만 내면 되기 때문에 효율적이기도 하다. 그리고 내구성이 높아 저장된 파일들을 유실할 가능성이 적다는 장점도 있다. 저장된 파일들을 정상적으로 사용할 수 있는 시간을 의미하는 가용성도 높아 믿고 사용할 수 있다.

 

Amazon에서 소개하는 S3의 장점

 

 

AWS는 이렇게 높은 가용성과 내구성을 어떻게 보장하는걸까? 아래 지도에서 주황색 부분은 각 지역 내에 위치한 가용영역, 즉 데이터 센터(IDC)의 수를 뜻한다. 가용 영역들이 떨어져있는걸 볼 수 있는데, 이렇게 떨어져있는 덕분에 한 곳의 서버가 멈추거나 하더라도 다른 곳에서 백업해둔 데이터를 활용할 수가 있게되는 것이다.

 

 

다양한 스토리지 클래스를 제공하는 S3

S3의 특징에 대해 좀 더 알아보자. S3은 다양한 종류의 스토리지 클래스를 제공한다. 목적에 맞게 골라 사용하면 된다. 우선은 대표적인 클래스인 Standard 클래스와 Glacier 클래스에 대해 알아보고자 한다. 두 클래스의 장단점은 차이가 분명하다.

 

Standard 클래스 Glacier 클래스
범용적인 목적으로 사용하기 좋음 장기적인 보관 목적으로 사용하기 좋음
장점 : 데이터에 빠르게 접근, 액세스 요청 처리도 빠름 장점 : 데이터를 보관하는 비용이 매우 저렴
단점 : 보관 비용이 높음 단점 : 데이터에 액세스하는 속도가 느림

 

이 외에도 Standard-IA, One Zone-IA, S3 Glacier Deep Archive 등 훨씬 많은 스토리지 클래스가 있기 때문에 목적에 따라 활용할 수 있다.

 

 

정적 웹사이트 호스팅

정적 웹사이트 호스팅 = 정적 웹사이트 + 호스팅

정적 웹사이트파일 서버에 저장되어있는 파일을 사용자에게 그대로 전달해주는 웹페이지이고, 웹 호스팅이란 서버의 공간 중 일부를 빌려주는 서비스이다. 개인이나 단체는 웹 호스팅 업체가 제공하는 서버의 공간을 빌려서 서비스를 배포할 수 있게 된다. 

 

 

버킷

S3에서는 버킷이라는게 웹페이지를 배포할 수 있는 공간을 제공한다. 덕분에 정적 웹사이트 호스팅을 할 수 있게 된다. 버킷은 뜻 그대로 파일이 담기는 바구니 역할을 한다. 파일을 저장하는 최상위(root) 디렉토리라고도 할 수 있다.

 

버킷에다가 정적 웹 페이지를 업로드하고, 정적 웹 사이트 호스팅 용도로 구성을 바꾸면 다른 사용자가 버킷에 저장된 정적 웹 페이지에 접근할 수 있게 된다.

 

버킷의 아래와 같은 특징을 가지고 있다.

 

1. S3에서 저장되는 모든 파일은 버킷 안에 저장되어야 한다.
2. 버킷에는 무한한 양의 파일을 저장할 수 있다.
3. 버킷의 이름은 버킷이 생성된 지역에서 유일해야 한다.
4. 버킷 정책을 생성해 해당 버킷에 대한 다른 유저의 접근 권한을 수정할 수 있다.

 

버킷에 담기는 파일들을 객체라고하는데, 객체라 부르는 이유는 데이터가 key-value 쌍 형태로 저장되기 떄문이다. 객체는 실제 데이터가 저장되는 파일객체에 대한 정보(생성일, 크기, 유형..)가 담긴 메타데이터로 구성된다. 그리고 모든 객체는 고유한 URL 주소를 가지는데, 형태는 아래와 같다. 이 주소를 통해 객체에 접근해 원하는 데이터를 가져올 수 있다. 결국 버킷은 이런 객체들을 담는 컨테이너 역할을 하는것이라고 볼 수 있다.

 

http://버킷명.S3.amazonaaws.com/객체키

 

또, 객체마다 고유한 식별자를 가지는데 이걸 키(key)라고 한다. 키는 버킷에 있는 모든 객체들이 하나씩만 가질 수 있다. 쉽게말해 객체의 이름이라고 생각하면 될 것 같다. 예를들어 photos라는 버킷이 있다고 가정하면, 그 버킷에는 animal/dog.jpg 라는 키를 가진 사진 파일이 저장되는 것이다.

반응형

'Web > AWS' 카테고리의 다른 글

AWS RDS(Relational Database Service)  (0) 2021.03.10
Amazon EC2 (Elastic Compute Cloud)  (0) 2021.03.10
배포 (Deploy)  (0) 2021.03.10
Cloud Computing (클라우드 컴퓨팅), 온프레미스(On-premise)  (0) 2021.03.10

댓글