Overview
이 글에서는 AWS S3의 개념과 파일 업로드 및 퍼블릭 액세스 설정 방법을 다룬다.
AWS 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️⃣ 퍼블릭 액세스 설정
- 기본적으로 퍼블릭 액세스가 차단되어 있음
- 모든 사용자가 접근 가능하도록 하려면 퍼블릭 액세스 설정 변경 필요
버킷 생성 완료!




S3 파일 업로드 및 다운로드
1️⃣ 생성한 S3 버킷 클릭
2️⃣ [업로드] 버튼 클릭
3️⃣ 파일 선택 후 업로드 진행
4️⃣ 업로드된 파일 확인
5️⃣ 파일 다운로드 테스트
- 파일을 클릭하면 퍼블릭 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




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



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
'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 |