AWS S3 버킷을 생성해 봤고, 이제 스프링 부트 프로젝트에 적용을 해보려고 한다.
이전에 만든 AWS S3에 접근하기 위해서는 IAM 사용자를 만들고,
S3 권한을 주어야 한다.
우선 AWS에 접속하여 IAM 사용자부터 만들어보자.
AWS Console -> IAM -> 액세스 관리 -> 사용자에서 사용자 생성 버튼 클릭

직접 정책 연결 선택 -> AmazonS3FullAccess 선택

IAM 사용자를 생성하고 AWS S3에 대한 권한을 부여했다면, 이에 접근하기 위한 엑세스 키를 생성해야 한다.
AWS Console > IAM > 엑세스 관리자 > 사용자 > 생성한 사용자 이름 클릭 > 보안 자격 증명
엑세스 키 사용사례와 대안을 하단에 띄워주는 기능만 제공하므로 아무거나 선택해도 상관 x
설명 태그 값 작성 후 키 생성
IAM 사용자도 만들었고, 해당 사용자의 엑세스 키 값도 발급 받았다.
이제 스프링 부트 프로젝트에 한 번 적용해보자.

이전에 포스팅했던 Jasypt를 이용해 버킷 이름, 엑세스(및 시크릿) 키를 암호화하여 설정 파일에 입력
@Configuration
public class S3Config {
@Value("${cloud.aws.credentials.access-key}")
private String accessKey;
@Value("${cloud.aws.credentials.secret-key}")
private String secretKey;
@Value("${cloud.aws.region.static}")
private String region;
@Bean
public AmazonS3Client amazonS3Client() {
BasicAWSCredentials awsCredentials= new BasicAWSCredentials(accessKey, secretKey);
return (AmazonS3Client) AmazonS3ClientBuilder.standard()
.withRegion(region)
.withCredentials(new AWSStaticCredentialsProvider(awsCredentials))
.build();
}
}
AWS S3 설정을 스프링 프로젝트에 적용해보았고, 다음은 실제 이미지 및 영상 파일을 업로드 해볼 것이다.
우와~! 깔끔한 정리 덕분에 이해가 잘 되었어요 중일님!! ^_^