반응형
S3런?
S3(Simple Storage Service)는 AWS에서 제공하는 파일 저장 서비스로, 데이터를 안전하게 저장하고 필요할 때 빠르게 접근할 수 있도록 설계된 확장 가능한 스토리지 서비스이다.
S3를 사용하는 이유
- 이미지 및 파일 저장의 효율성:
- 백엔드 서버 구현 시, 이미지 업로드 기능을 자주 구현하게 된다.
- 파일을 EC2 내부에 저장할 수도 있지만, 서비스 이용자가 많아지면 용량이 부족해지고 관리가 어려워진다.
- 확장성과 안정성:
- S3는 서버리스로 동작하며, 파일 저장을 위한 스토리지를 자동으로 확장한다.
- 대규모 데이터도 안정적으로 저장 및 관리 가능.
- 클라우드 활용:
- 일상에서도 사진이나 동영상을 스마트폰 대신 클라우드에 저장하듯, 서버에서도 데이터를 클라우드(S3)에 저장하면 효율적이다.
S3의 주요 개념
1. 버킷(Bucket)
- S3에서 데이터를 저장할 때 사용하는 저장소이다.
- 깃허브의 레포지토리처럼 S3에서는 여러 개의 버킷을 생성하여 데이터를 관리할 수 있다.
- 버킷 이름은 전 세계적으로 고유해야 하며, 생성 시 사용할 리전을 선택해야 한다.
2. 객체(Object)
- S3에 업로드된 파일을 객체라고 부른다.
- 각 객체는 파일 데이터와 메타데이터(파일의 속성 정보)로 구성된다.
- 객체는 고유한 **키(Key)**를 통해 버킷 내에서 식별된다.
3. 버킷 정책(Bucket Policy)
- 권한을 정의하는 JSON 문서로, S3 버킷에 대한 접근 권한을 설정한다.
- 기본적으로 AWS는 모든 권한이 차단된 상태이며, 버킷 정책을 통해 읽기, 쓰기, 삭제 등의 권한을 부여해야 한다.
S3의 주요 특징
- 확장 가능:
- 데이터를 자동으로 확장하며, 초대형 스토리지도 지원한다.
- 고가용성:
- AWS의 분산 인프라를 통해 99.99% 이상의 가용성을 제공.
- 다양한 권한 관리:
- 버킷 정책, IAM 사용자/역할, ACL을 활용해 세부적으로 권한을 제어할 수 있다.
- 보안:
- 데이터 암호화 및 버전 관리를 통해 보안을 강화한다.
- 비용 효율성:
- 사용한 스토리지 용량과 데이터 전송량에 따라 요금을 부과하며, 용량이 적으면 비용도 저렴하다.
CloudFront란?
CloudFront는 AWS에서 제공하는 콘텐츠를 빠르게 전송해주는 서비스(CDN)이다.
전 세계의 사용자들에게 웹 콘텐츠(이미지, 동영상, 파일 등)를 효율적으로 전달하기 위해 설계된 네트워크다.
CDN (Content Delivery Network)란?
CDN은 콘텐츠(파일, 동영상, 웹 페이지 등)를 빠르게 전달하기 위해 설계된 분산 네트워크 시스템이다.
S3에 콘텐츠가 저장되어 있어도, 사용자가 물리적으로 멀리 떨어져 있다면 통신 속도가 느려질 수 있다.
CDN의 역할
- 지연 시간 감소:
- 전 세계에 있는 CDN 엣지 서버(임시 저장소)에 콘텐츠를 캐싱하여, 사용자와 가까운 서버에서 데이터를 제공한다.
- 예: 한국에 저장된 콘텐츠를 미국 사용자에게 제공하려면, 미국의 CDN 엣지 서버에서 가져와 전달.
- 네트워크 부하 분산:
- 특정 리전에 집중된 트래픽 부하를 분산시켜 서비스 가용성을 높인다.
- 속도 향상:
- CDN 엣지 서버에서 콘텐츠를 제공하므로 요청 및 응답 시간이 단축된다.
CloudFront와 S3의 관계
- S3 단독 사용의 한계:
- S3는 전 세계 어디서나 접근 가능하지만, 물리적으로 거리가 멀면 통신 속도가 느려질 수 있다.
- 기본적으로 S3는 HTTPS를 제공하지 않는다.
- CloudFront와 함께 사용하는 이유:
- HTTPS 적용: CloudFront는 HTTPS를 지원하므로, S3에 저장된 콘텐츠에 HTTPS를 적용하여 보안을 강화할 수 있다.
- 속도 개선: CloudFront는 S3에 저장된 콘텐츠를 전 세계 엣지 서버에 캐싱하여 사용자에게 빠르게 전달한다.
- 사용자 경험 향상: 짧은 응답 시간으로 사용자에게 더욱 빠르고 안정적인 콘텐츠를 제공.
반응형