AWS

AWS S3 (Simple Storage Service) 개요 및 활용 방법

Somaz 2022. 2. 13. 23:04
728x90
반응형

 

 

 

Overview

이 글에서는 AWS S3의 개념과 파일 업로드 및 퍼블릭 액세스 설정 방법을 다룬다.
AWS S3는 다양한 데이터를 저장하고 관리할 수 있는 클라우드 스토리지 서비스이며,
웹사이트, 애플리케이션, 데이터 백업 등 다양한 용도로 활용할 수 있다.

S3를 선택해 줍니다!!

 

 

 

 

📅 관련 글

2022.02.13 - [AWS] - AWS S3 (Simple Storage Service) 개요 및 활용 방법

2023.03.28 - [AWS] - AWS S3란?(개념, 속성)

2023.03.28 - [AWS] - AWS S3 권한이란?

2024.11.21 - [AWS] - ALB access Log 활성화 → S3 권한 설정 및 로그 저장

 

 

 

 

 


 

 

 

AWS S3란?

AWS S3(Simple Storage Service)파일 저장 및 배포를 위한 클라우드 스토리지 서비스이다.
AWS S3를 사용하면 이미지, 동영상, 문서, 애플리케이션 데이터 등을 안전하게 저장할 수 있다.

 

 

 

AWS S3 주요 개념

용어 설명
버킷(Bucket) S3에 파일을 저장하는 컨테이너(프로젝트 개념)
객체(Object) S3에 저장되는 파일 단위 데이터
정책(Policy) 버킷 내 객체에 대한 액세스 권한 설정
퍼블릭(Public) 설정 특정 파일을 외부에서 접근 가능하도록 설정
버전 관리(Versioning) 파일 변경 내역을 저장하여 이전 버전 복구 가능

 

 

 

AWS S3의 주요 특징

1️⃣ 무제한 용량: 사용한 만큼만 비용을 지불하는 스토리지 모델
2️⃣ 고가용성(Availability): 여러 리전에 걸쳐 자동으로 데이터 복제
3️⃣ 다양한 사용 사례: 웹사이트, 데이터 백업, 콘텐츠 배포 등 활용 가능
4️⃣ S3 퍼블릭 액세스 제한 가능: 보안 강화를 위한 세부적인 접근 제어 설정 가능

 

 

 

 

 

 


 

 

 

 

 

 

 

1. AWS S3 버킷 생성 및 파일 업로드

 

 

 

S3 버킷(Bucket) 만들기

1️⃣ AWS 콘솔 접속S3 서비스 선택

2️⃣ [버킷 만들기] 클릭


3️⃣ 버킷 이름(Bucket Name) 설정

  • 버킷 이름은 전 세계적으로 유일해야 함
  • 예) my-s3-bucket-12345

4️⃣ 리전(Region) 선택

  • 사용자가 가까운 리전을 선택하면 속도 향상 가능
  • 예) Asia Pacific (Seoul) ap-northeast-2

5️⃣ 퍼블릭 액세스 설정

  • 기본적으로 퍼블릭 액세스가 차단되어 있음
  • 모든 사용자가 접근 가능하도록 하려면 퍼블릭 액세스 설정 변경 필요

 

 

버킷 생성 완료!

AWS S3에서는 [버킷 만들기] 버튼을 눌러서 버킷을 생성할 수 있다. 쉽게 말하면 하나의 프로젝트를 생성해주는 것이다.

 

[버킷 이름]은 다른 서버와 겹치지 않는 고유한 이름이 되어야 한다. 리전(Region)은 일반적으로 S3을 사용하는 사용자와 가까운 위치가 되도록 설정한다.

 

 

 

[버킷 만들기] 를 선택해 준다.

 

이후에 만들어진 S3 버킷을 확인 한다.



 

 

 

S3 파일 업로드 및 다운로드

1️⃣ 생성한 S3 버킷 클릭

2️⃣ [업로드] 버튼 클릭

3️⃣ 파일 선택 후 업로드 진행

4️⃣ 업로드된 파일 확인


5️⃣ 파일 다운로드 테스트

  • 파일을 클릭하면 퍼블릭 URL이 제공됨
  • 기본적으로 접근 불가 (Access Denied) 오류 발생

 

퍼블릭 액세스 설정이 필요함!

업로드!!

 

 

 

이제 사용자 입장에서 해당 파일을 다운로드 받는다고 가정하겠습니다. 특정한 파일을 누르면   퍼블릭(Public)에서 접근 가능한 URL 경로를 확인 할 수 있습니다.

 

하지만 실제로 해당 경로에 접속을 해보면 접근 불가(Access Denied)라고 출력 되는 것을 알 수 있다.

 

 

 

 

 

 


 

 

 

 

 

 

 

2. S3 파일 퍼블릭 설정 (Public Access)

기본적으로 AWS S3는 모든 파일이 비공개(Private)로 설정되어 있다.
파일을 외부에서 접근할 수 있도록 하려면 퍼블릭(Public) 설정을 변경해야 한다.

 

 

 

개별 파일을 퍼블릭(Public)으로 설정하기

1️⃣ S3 콘솔에서 업로드한 파일 선택

2️⃣ [권한(Permissions)] 탭 클릭

3️⃣ [퍼블릭으로 설정] 버튼 클릭

4️⃣ 확인 후 저장

 

 

이제 해당 파일을 직접 다운로드 가능!

  • https://<버킷이름>.s3.<리전>.amazonaws.com/<파일이름>
  • 예) https://my-s3-bucket-12345.s3.ap-northeast-2.amazonaws.com/example.zip

먼저 나는 S3 버킷을 만들 때 객체 소유권을 비활성화 해놓지 않아서 퍼블릭 설정이 되지 않아 한참 찾았다!! 다들 체크 잘하길 바란다

 

퍼블릭 설정!!

 

[퍼블릭으로 설정] 클릭!!

 

 

출력이 아주 잘된다!

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

3. S3 버킷 정책(Bucket Policy) 설정

개별 파일을 하나씩 퍼블릭으로 변경하는 것은 비효율적이다.
버킷 정책(Bucket Policy)을 설정하면 버킷 내 모든 파일을 한 번에 퍼블릭으로 변경할 수 있다.

 

 

 

버킷 정책(Bucket Policy) 설정 방법

1️⃣ S3 버킷 선택[권한(Permissions)] 탭 이동

2️⃣ [버킷 정책(Bucket Policy)] 클릭


3️⃣ 다음과 같은 정책(JSON)을 추가

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::my-s3-bucket-12345/*"
    }
  ]
}

 

 

설명

  • "Effect": "Allow"→ 허용
  • "Principal": "*" → 모든 사용자에게 적용
  • "Action": "s3:GetObject" → 객체 가져오기 허용
  • "Resource": "arn:aws:s3:::my-s3-bucket-12345/*" → 해당 버킷 내 모든 파일 적용

 

4️⃣ 저장 후 확인

5️⃣ 이제 모든 파일에 대해 퍼블릭 URL 접근 가능!

 

테스트 URL 예시

  • https://my-s3-bucket-12345.s3.ap-northeast-2.amazonaws.com/example.zip
  • https://my-s3-bucket-12345.s3.ap-northeast-2.amazonaws.com/index.txt

 

 

이제 생성된 정책 내용을 복사하여 [버킷 정책]의 내용으로 붙여넣기 한다.

 

 

다운로드가 아주 잘된다!! 이제 [퍼블릭으로 설정]을 진행하지 않은 Example.zip 파일에 대해서도 URL 경로에 접속 하면 다운로드를 받을 수 있게 되었다. 다시 말해 모든 파일에 누구든지 접근하여 다운로드 받을 수 있도록 설정한 것이다.

 

 

 

 

 

 


 

 

 

 

 

 

 

4. S3 파일 접근 제어 및 보안 설정

S3는 강력한 보안 기능을 제공하므로, 퍼블릭 액세스를 설정할 때는 주의해야 한다.

 

 

 

S3 보안 설정 방법

 

1️⃣ S3 버킷 퍼블릭 액세스 차단 유지 (권장)

  • 파일별 퍼블릭 액세스 설정을 활용
  • 필요할 때만 특정 파일만 공개하도록 설정

 

2️⃣ S3 버전 관리(Versioning) 활성화

  • 파일 삭제 또는 변경 시 이전 버전 복구 가능

 

3️⃣ S3 암호화(Encryption) 설정

  • 파일을 업로드할 때 AES-256 또는 KMS 키 암호화 적용 가능

 

4️⃣ S3 ACL (Access Control List) 설정

  • 특정 IAM 사용자 또는 서비스에게만 파일 접근 권한 부여 가능

 

 

 

 


 

 

 

 

 

마무리

 

AWS S3는 클라우드 스토리지 서비스로, 이미지, 동영상, 문서 등 다양한 데이터를 저장할 수 있다.
버킷(Bucket)을 생성하고 객체(Object)를 업로드하여 활용 가능하다.
퍼블릭(Public) 설정을 통해 파일을 외부에서 다운로드할 수 있다.
버킷 정책(Bucket Policy)을 사용하면 모든 파일을 한 번에 퍼블릭으로 설정할 수 있다.
보안 설정을 적절히 적용하여 AWS S3를 안전하게 사용할 수 있다.

 

 

이제 AWS S3를 활용하여 웹사이트, 애플리케이션, 데이터 저장소 구축을 해보자!

 

 

 

 

 

 


Reference

 

 

 

 

 

 

728x90
반응형

'AWS' 카테고리의 다른 글

AWS IAM이란?  (0) 2023.03.30
AWS S3 권한이란?  (0) 2023.03.29
AWS S3란?(개념, 속성)  (0) 2023.03.28
AWS IAM (Identity and Access Management) 개요 및 설정 방법  (0) 2022.02.13
AWS EC2 인스턴스 생성  (0) 2022.02.07