Amazon Simple Storage Service(Amazon S3)는 어느 Amazon 리전에서든 데이터를 저장하고 검색할 수 있는 클라우드 스토리지 서비스입니다. Amazon S3는 99.999999999%, 즉 '11개의 9'에 달하는 내구성을 목표로 설계되었으며, 전 세계 수많은 기업의 수백만 개 애플리케이션이 이 서비스를 통해 데이터를 안전하게 보관하고 있습니다.

버킷(Bucket)의 기본 개념
모든 파일은 Amazon S3 버킷에 객체(Object) 형태로 저장됩니다. 버킷은 여러 개를 생성할 수 있으며, 각 버킷은 하나의 독립적인 저장 컨테이너 역할을 합니다. 파일을 버킷에 업로드할 때 객체와 데이터에 대한 권한을 설정해 누가 접근할 수 있는지 정의할 수 있습니다. 또한 IAM에서 AWS 사용자 계정을 생성하여 버킷 생성, 업로드, 데이터 수정 권한을 가진 사용자를 세부적으로 관리할 수도 있습니다.
이미 AWS 계정이 있다면 별도의 추가 신청 없이 바로 Amazon S3를 사용할 수 있습니다. 이 글에서는 Amazon S3 버킷을 생성하고 구성하는 전체 과정과 함께 파일·폴더 업로드 방법, 속성 및 권한 설정까지 단계별로 안내합니다.
S3 버킷 생성 단계
1. AWS Management Console에 로그인
먼저 AWS Management Console에 로그인합니다.
2. S3 서비스 접속
Services 메뉴를 클릭한 후 검색창에 S3를 입력합니다. 검색 결과에서 S3를 클릭하면 Amazon S3 콘솔에 접속할 수 있습니다.
3. 버킷 생성 시작
사진, 동영상 등 객체를 업로드하는 데 사용할 버킷을 만들기 위해 Create bucket 버튼을 클릭합니다.
4. 버킷 이름과 리전 설정
Name and region 섹션에서 버킷 이름을 입력하고 Amazon 리전을 선택한 뒤 Next를 클릭합니다. 버킷 이름은 Amazon S3 전체에서 고유해야 하며, 기존의 어떤 버킷 이름과도 중복될 수 없습니다. 또한 Amazon EC2 인스턴스를 운영하는 리전과 같은 리전을 선택하는 것이 좋습니다. 여기서는 EU(프랑크푸르트) 리전을 선택했습니다.
5. 구성 옵션(Configuration Options) 설정
Configure options에서 버킷 옵션을 구성한 후 Next를 클릭합니다. 주요 옵션은 다음과 같습니다.
- Versioning(버저닝) – 하나의 버킷 안에서 객체의 여러 버전을 보관할 수 있는 기능입니다. 나중에 활성화할 수도 있으며, 여기서는 활성화합니다.
- Server access logging(서버 액세스 로깅) – 버킷에 대한 요청 기록을 상세하게 남겨 보안 감사나 접근 감사에 유용합니다. 단, 로그 저장으로 인해 스토리지 요금이 증가할 수 있습니다.
- Tags(태그) – 태그를 활용해 버킷별 비용을 추적할 수 있습니다.
- Object-level logging(객체 수준 로깅) – AWS CloudTrail을 통해 객체 수준 API 활동을 기록합니다(추가 비용 발생).
- Default encryption(기본 암호화) – 객체가 Amazon S3에 저장될 때 자동으로 암호화합니다. 데이터는 전송 중(버킷 간 이동 시)과 저장 중(디스크 보관 시) 모두 보호됩니다. 여기서는 활성화합니다.
- Advanced settings(고급 설정) – 해당 버킷의 객체를 영구적으로 잠글 수 있도록 허용합니다.
- Management(관리) – 추가 비용을 지불하고 버킷의 요청을 모니터링할 수 있습니다.

6. 권한(Set Permissions) 설정
Set permissions에서 Amazon S3 버킷에 접근할 수 있어야 하는(또는 접근이 불가능해야 하는) AWS 사용자의 권한을 구성한 후 Next를 클릭합니다. 버킷의 퍼블릭 액세스를 제어하는 옵션은 다음과 같습니다.
- Block all public access(모든 퍼블릭 액세스 차단) – 기본적으로 활성화되어 있습니다.
- 새 ACL(액세스 제어 목록)을 통해 부여된 버킷 및 객체에 대한 퍼블릭 액세스 차단
- 모든 ACL을 통해 부여된 버킷 및 객체에 대한 퍼블릭 액세스 차단
- 새로운 퍼블릭 버킷 정책 또는 액세스 포인트 정책을 통해 부여된 퍼블릭 액세스 차단
- 퍼블릭 버킷 정책 또는 액세스 포인트 정책을 통한 퍼블릭 및 교차 계정(cross-account) 액세스 차단
보안을 위해 여기서는 모든 퍼블릭 액세스를 차단하도록 설정합니다.

7. 최종 검토 및 버킷 생성
Review 단계에서 설정 내용이 올바른지 확인한 후 Create bucket을 클릭하면 버킷 생성이 완료됩니다.
파일 및 폴더 업로드하기
8. 버킷 확인
생성된 Amazon S3 버킷이 목록에 표시됩니다. 아래 화면에서 새로 만든 버킷을 확인할 수 있습니다.
9. 버킷 열기
파일을 업로드하려면 해당 S3 버킷을 클릭합니다.
10. 폴더 생성
Create folder를 클릭해 폴더를 만들고 폴더 이름을 입력한 뒤 Save를 클릭합니다. 필요에 따라 폴더 단위로 암호화를 활성화할 수도 있습니다. 여기서는 암호화 없이 'Multimedia'라는 이름의 폴더를 생성했습니다.
11. 업로드 시작
생성한 폴더를 클릭한 후 Upload 버튼을 누릅니다.
12. 파일 선택
Select files 단계에서 파일과 폴더를 드래그 앤 드롭하거나 Add files 버튼을 클릭해 업로드할 파일을 선택한 후 Next를 클릭합니다. 참고로 160GB를 초과하는 대용량 파일은 AWS CLI, AWS SDK 또는 Amazon S3 REST API를 사용해야 업로드할 수 있습니다.
13. 업로드 권한 설정
Set permissions 단계에서 해당 파일에 접근할 사용자 계정을 추가하고 권한을 정의한 뒤 Next를 클릭합니다.
14. 스토리지 클래스 선택
Set properties 단계에서 용도와 접근 요건에 맞는 스토리지 클래스를 선택한 후 Next를 클릭합니다. 여기서는 데이터에 자주 접근한다는 가정하에 Standard 스토리지 클래스를 선택했습니다.
15. 최종 검토 및 업로드
Review 단계에서 설정이 올바른지 확인한 후 Upload를 클릭합니다.
16. 업로드 완료
파일이 성공적으로 S3 버킷에 업로드되었습니다.
17. 업로드된 파일 관리
업로드된 파일을 클릭하면 다양한 관리 옵션을 확인할 수 있습니다. 파일을 열거나 다운로드할 수 있으며, 기존 속성과 권한을 변경하는 것도 가능합니다.