파일 및 이미지 업로드 (S3)

Yejin Heo·2025년 8월 4일
0

AWS

목록 보기
5/5

S3 란?

  • Amazon Web Services에서 제공하는 확장 가능하고 내구성 높은 객체 스토리지 서비스
  • 파일 저장, 백업, 정적 웹사이트 호스팅, 데이터 아카이빙 등 다양한 용도로 사용
  • 정적 웹사이트 호스팅 기능
    : 웹 서비스를 다른 사용자들도 쓸 수 있게 인터넷에 배포하는 것

사용 예시

  • 게시판 웹 사이트를 개발할 때 이미지 파일만 S3에 저장할 수 있음
    (예시로 네이버 웹사이트에 나와있는 모든 이미지는 S3에 저장된 것임!!)

용어 정리

  • S3에서 객체란 저장되는 파일, 버킷(Bucket)은 파일이 저장될 프로젝트를 의미
  • 객체(Object)
    : S3에서는 파일이라 부르지 않고, 객체라고 부름. S3 버킷에 업로드된 파일을 의미.
  • 버킷(Bucket)
    : S3에서는 깃헙의 repository 처럼 여러 개의 저장소를 만들 수 있음.
  • Key(고유 식별자)와 Value(데이터 자체)로 구성

버킷에 정책 추가

  • 정책(Policy)이란?
    : 권한(Permission)을 정의하는 JSON문서. AWS의 특정 소스에 접근하려면 권한을 허용해 주어야 함. 권한을 허용할 때 작성해야 하는 것이 정책(Policy)
  • 예시
    • 특정 서비스에서 상품 이미지를 모든 사용자에게 보여준다고 가정!
    • 버킷에서 상품 이미지를 다운로드해서 사용할 수 있게끔 이미지 파일을 조회할 수 있는 정책 추가

IAM에서 액세스 키 발급받기

  • S3에 접근할 수 있는 권한을 받기 위해 IAM에서 권한을 부여 받아야 함
  • IAM(Identity and Access Management) 이란?
    : 사용자, 디바이스, 애플리케이션 등 디지털 ID와 시스템 리소스에 접근하는 것을 관리하고 통제하는 보안 시스템
  • AWS IAM 작동 방식
    보안 주체 -> 요청 -> 인증 -> 인가 -> 작업 또는 연산 -> 리소스
    • 보안 주체: AWS 리소스에 대한 작업을 수행하도록 요청하는 AWS의 엔터티
    • 요청: 사용자, 서비스 또는 애플리케이션이 AWS 리소스에 대한 작업을 수행하도록 요청
    • 인증: 보안 주체와 연결된 권한 확인. 권한은 사용자에 연결된 IAM 정책에서 정의
    • 인가: 연결된 정책을 평가하여 요청이 허용되는지 거부되는지 결정.
    • 작업 또는 연산: 요청 엔터티가 평가된 정책을 기반으로 요청된 작업 또는 연산을 수행할 구너한이 있는 경우 IAM은 요청을 진행하도록 허용
    • 리소스: 요청이 IAM에서 승인된 경우 지정된 AWS 리소스에서 작업 수행 (ex. S3 버킷에서 데이터 읽기, EC2인스턴스 시작 등)

AWS S3 속성

  • 버킷 버전 관리 (Bucket Versioning)
  • 태그 (Tag)
  • 기본 암호화 (Default encryption)
  • 지능형 계층화 아카이브 구성 (Intelligent Tiering Archive Configuration)
  • 서버 액세스 로깅 (Server Access Logging)
  • AWS CloudTrail 데이터 이벤트
  • 이벤트 알림 (Event Notifications)
  • Amazon EventBridge
  • 전송 가속화 (S3 Transfer Acceleration)
  • 객체 잠금 (Object Locking)
  • 요청자 지불 (Requester Payments)
  • 정적 웹 사이트 호스팅 (hosting static website)

S3를 활용한 아키텍처 구성

  • 이미지 파일 업로드
    EC2에서 S3에 이미지 업로드를 하면 이미지가 저장된 URL을 리턴하여 DB에 URL 저장!

  • 이미지 파일 다운로드
    EC2에서 DB에 조회 SQL문을 날리면 DB에 저장되어 있던 이미지 URL을 응답하고, 응답받은 URL을 사용자에게 전달!
    만약 사용자가 이미지 URL을 사용할 경우, S3로부터 이미지를 다운로드 받음.

profile
예압

0개의 댓글