AWS S3 업로드 및 url로 이미지 보기

jinvicky·2023년 12월 19일
0

저번에 이어 AWS S3 업로드 및 url로 직접 확인해보자.
먼저 POSTMAN을 통해서 aws bucket에 이미지를 업로드한다.

아래 블로그 단을 "그대로" 따라한 다음에 Controller 단에서 호출을 한다.
참고 https://chb2005.tistory.com/200

import com.cms.world.service.S3UploadService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

@RestController
@RequiredArgsConstructor
public class S3Controller {

    private final S3UploadService s3UploadService;

    @PostMapping("/file")
    public String test (MultipartFile multipartFile) throws IOException {
        s3UploadService.saveFile(multipartFile);
        return "success";
    }
}


(postman 실제 테스트 화면)


잘 올라는 갔는데? 객체 URL을 통해서 이미지 좀 볼려했더니 Access Denied 에러 발생;;

일단 3가지를 빠르게 체크해본다.
참고 https://programming-workspace.tistory.com/61

  1. accessKey랑 secretKey를 제대로 적었나?
    (IAM에서 생성한 Access 키들 정보를 담아야 한다.)
    -> 여기서 한번 accessKey를 access-key로 해서 안 맞는 이슈 체크.
  2. IAM 권한 확인 (FullAccess가 맞는가?)
    -> 이해 못했다면 이전 포스팅의 s3 셋팅부터 다시 보자.
  3. 퍼블릭 차단 엑세스 비활성화 여부
    -> 2와 마찬가지.

셋 다 아니라면 마지막으로 버킷 정책의 경로를 확인해야 한다.

기존 403에러 떴을 때는 ::jvk-world까지만 있었다.

/*을 추가해 준다.

이미지가 이제 잘 뜬다.

참고
1. https://velog.io/@ililil9482/S3-이미지-올리고-url로-접근하기-w.-CloudFront
2. https://devbksheen.tistory.com/entry/AWS-S3-생성-및-설정-Spring-Boot에-적용

profile
Front-End와 Back-End 경험, 지식을 공유합니다.

0개의 댓글