navis

AWS S3 버킷 만들기 본문

AWS

AWS S3 버킷 만들기

menstua 2024. 10. 30. 13:01
728x90

AWS S3 버킷 만들기 및 Spring Boot 프로젝트에 적용하기

 

S3란?

S3는 Amazon Web Services(AWS)에서 제공하는 인터넷 스토리지 서비스로, 정식 명칭은 Simple Storage Service입니다. 주로 이미지나 동영상 등 정적 파일을 저장하는 파일 서버로 많이 사용됩니다.

S3의 주요 용어

  • 객체(Object): S3에 저장되는 각각의 데이터를 의미하며, 하나의 파일이라고 보면 됩니다.
  • 버킷(Bucket): 객체를 그룹화하는 최상위 디렉토리로, 버킷 단위로 지역과 인증, 접근 권한을 설정할 수 있습니다.

S3 무료 프리티어 조건

AWS는 일정 범위 내에서 S3를 무료로 제공합니다.

  • 표준 스토리지 5GB까지 무료
  • GET 요청 20,000건
  • PUT 요청 2,000건

목차

  1. IAM 계정 생성하기
    • 1.1 사용자 추가
    • 1.2 프로그래밍 방식 액세스 설정
    • 1.3 권한 정책 연결
    • 1.4 계정 생성 후 정책 적용 (생성된 계정 ARN 등록)
  2. S3 버킷 생성하기
    • 2.1 버킷 만들기
    • 2.2 버킷 이름 지정 및 리전 설정
    • 2.3 퍼블릭 액세스 차단 해제
    • 2.4 버킷 버전 관리 및 암호화 설정
  3. 버킷 정책 설정하기
    • 3.1 버킷 정책 편집
    • 3.2 정책 생성 및 적용
    • 3.3 ACL 설정 (필요 시)
  4. 버킷 테스트
    • 4.1 파일 업로드 및 접근 확인

1. IAM 계정 생성하기

1. AWS 콘솔에서 IAM으로 이동한 후, 사용자 추가를 클릭합니다.

 

IAM에 들어가서 부여한다.

 

2. 사용자 이름을 입력하고 프로그래밍 방식 액세스를 선택합니다.

 

3. 권한 탭에서 직접 정책 연결을 선택하고, AmazonS3FullAccess와 같은 S3 관련 정책을 연결합니다.

 

계정이 생성되었습니다.

 

!! 계정 생성후
정책 생성 후 적용: 생성된 계정의 ARN을 정책 생성기 Principal 필드에 등록하여 S3에 접근 권한 설정.


2. S3 버킷 생성하기

S3에 대해 간단하게 알아보았으니 S3 버킷을 직접 만들고 Spring boot 프로젝트에 적용해보자.

 

1. 버킷 만들기 버튼을 클릭하여 새 버킷을 만듭니다.

 

2. 버킷 이름을 지정하고, AWS 리전을 서울(Asia Pacific)로 설정합니다.

 

3. 기본적으로 활성화된 모든 퍼블릭 액세스 차단을 해제해 이미지 업로드와 URL을 통한 직접 접근이 가능하도록 설정합니다.

 

4. 필요에 따라 버킷 버전 관리기본 암호화를 활성화할 수도 있습니다.

 

버킷 생성이 완료되었다 😄


3. 버킷 정책 설정하기

1. 권한 탭으로 이동한 후 버킷 정책 편집 버튼을 클릭합니다.

 

2. 정책 생성기를 열어 아래와 같이 설정합니다:

  • Actions에서 GetObject, ListBucket 를 선택하고, 필요 시 PutObject, DeleteObject 등을 추가합니다.
  • ARN 필드에 버킷 ARN 뒤에 /*을 추가하여 입력합니다.

 

3. Add Statement Generate Policy를 클릭해 생성된 정책 코드를 복사하여 정책 창에 붙여넣고 저장합니다.

 

!!! 안된다면 권한 탭 > 객체 소유권에서 ACL 활성화됨으로 설정을 바꿔주었다.


4. 버킷 테스트

1. 파일을 직접 업로드하여 잘 만들었는지 확인해보자.

 

업로드와 링크를 접속했을 때 사진도 잘 뜨는 것을 알아볼 수 있다.