AWS S3로 이미지 업로드하기

시내·2025년 7월 27일

배포

목록 보기
6/6

해당 포스트는 React, Java Spring, MySQL을 활용한 프로젝트를 배포하는 방법 - 6
즉, 프론트엔드에서 이미지를 업로드하면 S3에 저장되고, 해당 URL을 백엔드에서 반환하는 방식에 대해 다룬다

🪣 S3 버킷 생성

  • 퍼블릭 접근 차단 해제 (정적 파일을 직접 URL로 보기 위함)
  • 정적 호스팅은 사용 안 함
  • 버킷 정책 설정
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PublicReadGetObject",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::[버킷명]/*"
    }
  ]
}

기본적으로 업로드만 하고, 접근은 HTTP URL로 가능하게 설정

🙋‍♀️ IAM 사용자 생성 및 권한 부여

  • IAM > 사용자 생성
  • 직접 정책 연결 > AmazonS3FullAccess 권한 부여
  • 사용자 생성 완료 후, 액세스 키 ID / 비밀 액세스 키 저장
    그 화면을 나가면 사라지니, 반드시 저장해 둘 것

📦 yml 파일 편집 및 의존성 추가

📦 yml 파일 편집

cloud:
  aws:
    credentials:
      access-key: [IAM Access Key]
      secret-key: [IAM Secret Key]
    region:
      static: ap-northeast-2
    s3:
      bucket: [버킷명]

📦 build.gradle 의존성 추가

	implementation 'software.amazon.awssdk:s3:2.20.151'
    implementation 'commons-fileupload:commons-fileupload:1.5'
    implementation 'commons-io:commons-io:2.14.0'

👑 성공!

profile
contact 📨 ksw08215@gmail.com

0개의 댓글