S3(Simple Storage Service)

Donggu(oo)·2023년 2월 2일

AWS

목록 보기
3/4
post-thumbnail

1.S3(Simple Storage Service)


  • S3는 AWS에서 제공하는 클라우드 스토리지 서비스다. 텍스트 파일, 이미지, 비디오 및 기타 유형의 객체를 저장할 수 있다.

  • S3는 높은 확장성을 가지고 있어 많은 시간과 수고를 들이지 않고 스토리지 규모를 확장/축소 할 수 있다. 또한 스토리지의 용량을 무한히 확장할 수 있으며, 사용한 만큼만 비용을 지불하면 되기 때문에 비용적인 측면에서 매우 효율적이다.

  • S3는 내구성이 높아 파일을 유실한 가능성이 적다.

  • S3는 가용성이 높아 파일들을 정상적으로 사용할 수 있는 시간이 길다.

  • S3는 정적 웹 사이트 호스팅이 가능하다.

  • 정적 파일이란 서버의 개입 없이 생성된 파일을 뜻한다. 반대로 클라이언트가 서버에 요청을 보내면, 서버가 요청에 맞추어 그 자리에서 생성한 파일을 '동적' 파일이라고 부른다.

  • 웹 호스팅(Web Hosting)이란 서버의 한 공간을 임대해 주는 서비스를 뜻한다. 웹 호스팅 업체들을 통해 개인 또는 단체가 웹 호스팅 업체가 제공하는 서버의 한 공간을 빌려서 원하는 서비스를 배포할 수 있다.

1) 버킷(Bucket)

  • 버킷이란 S3에 저장되는 파일의 최상위 디렉토리이다. S3에서 저장되는 모든 파일은 버킷 안에 저장되어야 하고, 버킷에는 무한한 양의 파일을 저장할 수 있다. 그리고 버킷의 이름은 버킷이 속해 있는 region(버킷이 생성된 지역)에서 유일해야 한다. 또한 버킷 정책을 생성하여 해당 버킷에 대한 다른 유저의 접근 권한을 수정할 수 있다.

  • S3에서 버킷에 담기는 파일을 객체라고 부른다. S3에서 저장소에 데이터를 저장할 때 키-값 페어 형식으로 데이터를 저장하기 때문이다.

  • S3에 저장되는 객체는 파일과 메타데이터로 구성된다. 파일은 키-값 페어 형식으로 데이터를 저장한다. 파일의 값에는 실제 데이터를 저장한다. S3 객체의 값으로써 저장될 수 있는 데이터의 최대 크기는 5TB이다.

  • 파일의 키는 각각의 객체를 고유하게 만들어주는 식별자 역할을 한다. 파일의 키를 이용하여 원하는 객체를 검색할 수 있다.

  • 메타데이터는 객체의 생성일, 크기, 유형과 같은 객체에 대한 정보가 담긴 데이터이다. 객체를 설명하는 데이터라고 할 수 있다.

  • 모든 객체는 고유한 URL 주소를 가지고 있다. URL 주소는 http://[버킷의 이름].S3.amazonaws.com/[객체의 키]의 형태를 띠고, URL 주소를 통해서도 원하는 데이터에 접근할 수 있다.

2. S3의 스토리지 클래스


1) Standard 클래스

  • Standard 클래스는 범용적인 목적으로 사용한다. 데이터에 빠른 속도로 접근할 수 있고, 데이터 엑세스 요청에 대한 처리 속도가 빠르다.

  • 대신 보관 비용이 높게 발생하기 때문에 데이터를 오래 보관하는 목적으로는 비효율적이다.

2) Glacier 클래스

  • Glacier 클래스는 장기적인 보관 목적으로 스토리지를 사용할 때 사용것이 효율적이다.

  • 저장된 데이터에 엑세스하는 속도는 느리지만, 데이터를 보관하는 비용이 매우 저렴하다.

1. CDN(Content Delivery Network)


  • 클라이언트와 서버의 물리적 통신거리가 먼 경우 동영상 또는 웹 사이트 이미지와 같은 개용량 파일을 로드하는데 시간이 오래 걸리게 되는데 CDN이 클라이언트와 서버 중간에서 통신에 관여해 문제를 해결해 준다.

  • 클라이언트와 물리적으로 가까운 CDN을 통해 데이터를 주고받아 웹 트래픽을 줄이고 빠른 로딩으로 사용자 경험을 개선할 수 있다.

1) CDN 적용 시 장점

  • 물리적 거리 감소 및 캐싱을 통해 페이지 로드 시간이 단축되고 이로 인해 사용자 경험이 향상된다.

  • 자체 캐싱 및 최적화를 통해 서버가 제공해야하는 데이터 양을 줄일 수 있고 그 결과 서버 호스팅 비용을 절감할 수 있다.

  • 트래픽 급증 시 트래픽을 분산하여 서버에 미치는 영향을 줄일 수 있다.

2. CloudFront


  • CloudFront는 AWS에서 제공하는 CDN(Content Delivery Network) 서비스로, 전 세계의 각 지역마다 엣지 로케이션(임시 데이터 저장소)를 가지고 있으며, 오리진으로부터 데이터를 받아 보관한다. 이를 통해 사용자는 가까운 엣지 로케이션으로부터 데이터를 받아 빠르게 서비스를 사용할 수 있다.

  • CloudFront를 사용하면 S3 정적 웹사이트 또는 EC2 인스턴스를 HTTPS로 배포할 수 있으며, SSL/TLS 인증서를 설정하여 HTTP 요청을 HTTPS로 자동 리디렉션할 수도 있다.

profile
FE Developer

0개의 댓글