이미지 업로드를 위한 AWS S3 인프라 구성

minpractice_jhj·2025년 3월 24일

AWS

목록 보기
3/10
post-thumbnail

S3의 기본 용어

1. Buckets (버킷)

  • Amazon S3에서 생성되는 최상위 디렉토리이며, 객체(파일)의 컨테이너 역할을 한다.
  • S3에 저장된 모든 객체는 반드시 버킷에 포함된다.

2. Objects (객체)

  • S3에 저장되는 최소 단위.
  • 객체는 데이터(파일)메타데이터(파일 타입, 수정일 등)로 구성된다.

3. Keys (키, 객체 식별자)

  • 버킷 내에서 객체를 구별하는 고유 식별자.
  • 일반적으로 "디렉토리/파일명" 형식으로 사용된다.

4. Regions (리전)

  • S3 버킷이 저장될 위치(리전)를 지정한다.
  • 리전 간 객체 공유는 불가능하며, 선택한 리전에 따라 지연 시간과 비용이 달라진다.

S3 버킷 생성 과정

1. 버킷 생성하기

  • 버킷을 서버(인스턴스)처럼 생각하면 된다.
  • 적절한 버킷 이름을 입력하여 생성.

2. 객체 소유권 설정

  • 이번 프로젝트는 하나의 AWS 계정만 사용할 것이므로 ACL을 활성화하지 않음.
  • 필요하면 나중에 변경 가능.

3. 퍼블릭 액세스 설정

  • 모든 퍼블릭 액세스를 허용 (나중에 정책으로 관리할 예정).
  • 외부에서 접근 가능하도록 설정할 경우, "모든 퍼블릭 액세스 차단"을 해제.
  • 만약 IAM을 통해 접근하려면, 키(Key) 인증을 사용하면 된다.


4. 버킷 정책 설정


  • User가 버킷에 접근할 수 있도록 하는 방화벽 역할.
  • JSON 문법으로 작성해야 하지만, AWS 정책 생성기를 활용하면 쉽게 생성 가능.

테스트용 정책 설정

  • Principal: `` (모든 사용자)
  • Actions: All actions (모든 작업 허용)
  • ARN: 버킷의 ARN 주소 복사하여 입력

📌 주의:

  • 실제 운영 환경에서는 모든 사용자(*) 접근을 허용하면 보안 위험이 크다.
  • 퍼블릭 정책을 사용할 경우 정확한 접근 제어를 해야 한다.

5.  [IAM] IAM S3 Access Key

  1. 사용자 추가

    • [AWS Console] > [IAM] > [사용자] > [사용자 추가] 선택합니다.

    • 1단계 생성할 사용자 이름을 입력합니다.

  2. 정책 연결

    • 직접 정책 연결에서 AmazonS3FullAccess 정책을 선택합니다.

    • 검토 후 사용자 생성합니다.

  3. 객체 소유권 편집

    • 버켓 클릭 → 권한 으로 이동

    • 편집

  4. 액세스 키 만들기

    • 사용자 클릭 → 보안 자격 증명 으로 이동

      1. Command Line Interface (CLI)
      • 1단계 액세스 키 모범 사례 및 대안
      • 2단계 설명 태그 설정

      • 3단계 액세스 키검색 - csv 파일 다운로드 필요

      1. AWS 외부에서 실행되는 애플리케이션
      • 1단계 액세스 키 모범 사례 및 대안

      • 2단계 설명 태그 설정

      • 3단계 액세스 키검색 - csv 파일 다운로드 필요

추가 작업 (향후 진행 예정)

  • 디렉토리 구조 설계 (예: postimage/, storeimage/ 등)
  • 세부 정책 수정 및 권한 관리
  • Spring Boot와 S3 연동 후 테스트
profile
운동처럼 개발도 작은 실천이 성장의 힘이 된다고 믿는 개발자 minpractice_jhj 기록

0개의 댓글