Server&load/AWS

S3의 의미와 S3를 활용한 아키텍처 구성.

몽자비루 2025. 5. 4. 21:43
  1. S3란?
    1. S3는 파일 저장 서비스를 의미한다.
      • 사진과 동영상 같은 파일을 드라이브에 저장하는데 S3는 이런 종류의 서비스라고 볼 수 있다.
    2. S3를 사용하는 이유
      • 백엔드 서버를 구현하다보면, 이미지 업로드 기능을 구현할 때가 많음.
      • S3는 파일 저장에 특화된 서비스로, 파일을 저장하고 최적화하기 위해 S3를 많이 사용한다.
  2. S3를 활용한 아키텍처 이해하기
    1. 이미지 파일 업로드 과정
      • 사용자가 이미지 업로드 API로 요청을 전송한다.
      • 백엔드 서버에서 S3에 이미지를 업로드한다.
      • S3에 파일이 전달되자마자 이미기가 저장된 URL을 리턴시킨다.
      • RDS(DB) 에 이미지가 저장된 URL을 저장한다.
      • 이미지 업로드를 하면 DB자체에 이미지 파일을 저장하는 것이 아닌, S3의 주소를 저장하는 것이다.
    2. 이미지 파일 다운로드 과정
      • 사용자가 이미지 조회 API를 요청한다.
      • DB에 조회 SQL문을 날린다.
      • 저장되어있는 이미지 URL을 백엔드 서버에 응답한다.
      • 사용자에게 이미지 URL을 응답한다.
      • 사용자가 이미지 URL을 사용할 경우, S3로부터 이미지를 다운로드 받는다.
    3. 브라우저에서 이미지 확인하기
      • 브라우저에서 보이는 이미지는 어딘가에 저장되어 있는 이미지를 다운받아 렌더링 시키는 것을 의미한다.
      • 즉, 사용자가 웹페이지에 접속을 하는 순간 S3에서 파일을 직접 다운받는다.