Unisquads
로그인
홈
이용약관·개인정보처리방침·콘텐츠정책·© 2026 Unisquads
이용약관·개인정보처리방침·콘텐츠정책
© 2026 Unisquads. All rights reserved.

S3 (r1)

이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.14 23:11

S3

정식 명칭

Amazon Simple Storage Service

개발사

Amazon Web Services

서비스 유형

클라우드 스토리지

출시일

2006년 3월

접근 방식

REST API, SOAP API, AWS SDK

데이터 모델

객체 스토리지

주요 특징

높은 확장성, 내구성, 가용성

기술 상세 정보

스토리지 클래스

S3 Standard, S3 Intelligent-Tiering, S3 Standard-IA, S3 One Zone-IA, S3 Glacier, S3 Glacier Deep Archive

데이터 일관성 모델

강력한 일관성 (새 객체 PUT, 덮어쓰기 DELETE), 최종적 일관성 (덮어쓰기 PUT)

암호화

SSE-S3, SSE-KMS, SSE-C, 클라이언트 측 암호화

액세스 제어

IAM 정책, 버킷 정책, ACL, VPC 엔드포인트

데이터 관리 기능

버전 관리, 수명 주기 정책, 교차 리전 복제

이벤트 알림

Amazon SNS, Amazon SQS, AWS Lambda

정적 웹사이트 호스팅

지원

로그 저장

서버 액세스 로그, AWS CloudTrail 로그

가격 모델

사용량 기반 (스토리지 용량, 요청 수, 데이터 전송량)

주요 사용 사례

백업 및 아카이브, 정적 웹사이트 호스팅, 빅 데이터 분석, CDN 오리진

1. 개요

S3는 아마존 웹 서비스가 제공하는 객체 스토리지 서비스이다. 공식 명칭은 Amazon Simple Storage Service이다. 2006년 3월에 출시되어 AWS의 핵심 인프라 서비스 중 하나로 자리 잡았다.

이 서비스는 인터넷을 통해 언제 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있도록 설계되었다. 내구성과 가용성이 매우 높으며, 확장성에 제한이 없다는 특징을 가진다. 사용자는 서버나 스토리지 장치를 직접 관리할 필요 없이 데이터를 저장하고 접근할 수 있다.

S3는 웹 서비스 인터페이스를 통해 데이터를 관리한다. 사용자는 AWS Management Console, 명령줄 인터페이스, 소프트웨어 개발 키트 또는 REST API를 활용하여 버킷을 생성하고 객체를 업로드, 다운로드, 관리한다. 이 구조는 전통적인 파일 시스템이나 블록 스토리지와는 다른 접근 방식을 제공한다.

특징

설명

서비스 유형

객체 스토리지

출시 연도

2006년

핵심 개념

버킷, 객체

주요 장점

높은 내구성, 무제한 확장성, 쉬운 접근성

S3는 단순한 파일 저장소를 넘어서, 데이터 레이크의 기반, 애플리케이션 데이터의 호스팅, 백업 및 아카이브 솔루션 등 다양한 현대적 워크로드의 중심에 위치한다.

2. 핵심 개념

S3의 핵심 개념은 버킷, 객체, 리전으로 구성된다. 이 세 가지 요소는 S3의 기본 구조와 데이터 저장 방식을 정의한다.

버킷은 객체를 저장하는 최상위 컨테이너이다. 모든 객체는 반드시 하나의 버킷 안에 저장되어야 한다. 버킷의 이름은 모든 AWS 계정에서 전역적으로 고유해야 하며, DNS 호환 이름 규칙을 따라야 한다. 버킷은 데이터를 논리적으로 그룹화하고, 액세스 제어 정책과 수명 주기 규칙을 적용하는 단위 역할을 한다.

객체는 S3에 저장되는 기본 단위로, 파일 자체의 데이터(객체 데이터)와 그 파일을 설명하는 메타데이터로 구성된다. 객체는 고유한 키를 가지며, 이 키는 버킷 내에서 객체를 식별하는 경로 이름이다. 객체 데이터는 최대 5TB까지 저장할 수 있다. 각 객체에는 버전 ID가 부여되어 동일한 키를 가진 객체의 여러 버전을 관리할 수 있다.

리전은 AWS 데이터 센터가 물리적으로 위치한 지리적 영역이다. 버킷을 생성할 때 특정 리전을 선택해야 하며, 객체 데이터는 해당 리전 내에 저장된다. 리전 선택은 데이터의 지연 시간 요구사항, 규정 준수 요건, 비용에 영향을 미친다. 사용자는 비즈니스 요구에 맞춰 데이터를 특정 지리적 위치에 저장할 수 있다.

2.1. 버킷(Bucket)

버킷은 S3에서 데이터를 저장하는 최상위 컨테이너이다. 모든 객체(Object)는 반드시 하나의 버킷 안에 저장되며, 버킷 이름은 전역적으로 고유해야 한다. 버킷은 리전(Region) 수준에서 생성되며, 데이터는 해당 리전 내에 물리적으로 저장된다. 사용자는 버킷을 생성하여 파일, 이미지, 비디오 등 다양한 형태의 데이터를 객체 형태로 업로드하고 관리한다.

버킷의 주요 속성으로는 이름, 생성 리전, 액세스 관리 및 보안 정책, 버전 관리 설정, 로깅 설정, 정적 웹사이트 호스팅 구성 등이 있다. 버킷 정책과 ACL (액세스 제어 목록)을 통해 다른 AWS 사용자나 서비스에 대한 접근 권한을 세밀하게 제어할 수 있다.

버킷의 명명 규칙과 제한 사항은 다음과 같다.

규칙

설명

글로벌 고유성

버킷 이름은 모든 기존 AWS 계정의 모든 리전에서 고유해야 한다.

길이 제한

이름은 3자에서 63자 사이여야 한다.

사용 가능 문자

소문자, 숫자, 하이픈(-), 마침표(.)만 사용할 수 있다.

이름 형식

IP 주소 형식(예: 192.168.1.1)은 사용할 수 없다.

버킷을 생성한 후에는 리전을 변경할 수 없으며, 버킷 이름도 수정이 불가능하다. 필요한 경우 새로운 버킷을 생성하고 데이터를 이전해야 한다. 버킷은 무제한의 객체를 저장할 수 있으며, 단일 객체의 크기는 최대 5TB까지 지원한다.

2.2. 객체(Object)

객체는 S3에 저장되는 기본 단위이다. 객체는 파일 데이터 자체와 해당 데이터를 설명하는 메타데이터, 그리고 고유 식별자인 키로 구성된다.

객체의 구조는 다음과 같다.

구성 요소

설명

키(Key)

버킷 내에서 객체를 고유하게 식별하는 이름이다. 파일 시스템의 경로와 파일명을 결합한 형태를 가진다.

데이터(Data)

객체의 실제 내용으로, 임의의 형태의 파일 데이터가 저장된다. 크기는 0바이트부터 5TB까지 가능하다.

메타데이터(Metadata)

객체를 설명하는 이름-값 쌍의 집합이다. 시스템 정의 메타데이터(예: 생성 날짜)와 사용자 정의 메타데이터로 나뉜다.

버전 ID(Version ID)

버킷에 버전 관리가 활성화된 경우, 객체의 특정 버전을 식별하는 문자열이다.

접근 제어 목록(ACL)

객체에 대한 접근 권한을 정의하는 목록이다.

객체는 HTTP 또는 HTTPS 프로토콜을 통해 업로드 및 다운로드된다. 객체 키는 URL의 일부로 사용되며, 객체에 대한 작업은 REST API, AWS SDK, AWS Management Console 등을 통해 수행된다. 객체는 업로드 시 자동으로 중복 저장되어 내구성을 보장하며, 필요에 따라 암호화를 적용할 수 있다.

2.3. 리전(Region)

리전은 아마존 웹 서비스가 전 세계에 구축한 지리적 영역을 가리킨다. 각 리전은 하나 이상의 가용 영역으로 구성되며, 가용 영역은 물리적으로 분리된 데이터 센터의 집합이다. 사용자는 데이터를 저장할 버킷을 생성할 때 특정 리전을 선택해야 한다.

리전 선택은 지연 시간, 규정 준수 요구사항, 비용에 직접적인 영향을 미친다. 사용자와 지리적으로 가까운 리전을 선택하면 데이터 업로드 및 다운로드 속도가 향상된다. 또한, 데이터 주권 법률에 따라 데이터가 특정 국가나 지역 내에 상주해야 하는 경우 해당 리전을 선택해야 한다. S3의 요금은 리전마다 상이하며, 일반적으로 미국 리전이 가장 저렴한 편이다.

리전 이름

코드

주요 위치

미국 동부 (버지니아 북부)

us-east-1

미국

미국 서부 (오레곤)

us-west-2

미국

유럽 (아일랜드)

eu-west-1

아일랜드

아시아 태평양 (서울)

ap-northeast-2

한국

아시아 태평양 (도쿄)

ap-northeast-1

일본

리전 간 데이터 전송은 S3 교차 리전 복제 기능을 통해 자동화할 수 있지만, 이에 대해서는 별도의 데이터 전송 비용이 발생한다. 재해 복구 전략을 위해 데이터를 지리적으로 분산하여 저장하는 것이 일반적이다.

3. 주요 기능

S3는 단순한 파일 저장소를 넘어 다양한 데이터 관리와 처리 기능을 제공합니다. 주요 기능은 크게 스토리지 클래스, 액세스 관리 및 보안, 그리고 데이터 관리 기능으로 구분할 수 있습니다.

스토리지 클래스는 데이터의 접근 빈도와 내구성 요구사항에 따라 비용을 최적화할 수 있게 해줍니다. 자주 접근하는 데이터에는 S3 Standard를, 자주 접근하지 않는 데이터에는 S3 Standard-IA나 S3 Glacier Instant Retrieval을 사용할 수 있습니다. 장기 아카이브에는 S3 Glacier Flexible Retrieval이나 S3 Glacier Deep Archive가 적합합니다. 또한 S3 Intelligent-Tiering은 접근 패턴을 모니터링하여 자동으로 가장 비용 효율적인 티어로 데이터를 이동시킵니다.

액세스 관리와 보안 측면에서는 세분화된 권한 제어가 가능합니다. IAM 정책을 사용하여 AWS 사용자와 그룹에 대한 접근을 제어하거나, 버킷 정책을 통해 버킷 수준의 권한을 설정할 수 있습니다. 또한 S3 접근 제어 목록을 통해 개별 객체에 대한 접근 권한을 관리할 수 있습니다. 데이터 전송 중 및 저장 시의 암호화도 지원하며, 버킷 버전 관리를 활성화하면 객체의 실수로 인한 삭제나 덮어쓰기를 방지하고 복구할 수 있습니다.

데이터 관리 기능으로는 수명 주기 관리 규칙이 핵심입니다. 이 규칙을 설정하면 객체를 생성한 지 일정 기간 후에 자동으로 더 저렴한 스토리지 클래스로 전환하거나 삭제할 수 있습니다. S3 복제 기능은 동일 리전 내 또는 교차 리전 간에 객체를 자동으로 복제하여 데이터 가용성과 내구성을 높입니다. 또한 대량의 객체에 대해 작업을 수행하거나 메타데이터를 관리할 수 있는 S3 배치 작업도 제공됩니다.

기능 카테고리

주요 기능

설명

스토리지 클래스

S3 Standard, Standard-IA, Glacier 시리즈, Intelligent-Tiering

접근 빈도와 보관 요구에 따른 다양한 비용 옵션 제공

액세스 관리 및 보안

IAM 정책, 버킷 정책, ACL, 암호화, 버킷 버전 관리

세분화된 권한 제어와 데이터 보호 기능

데이터 관리

수명 주기 관리, 교차 리전 복제, 배치 작업

데이터 이동, 백업, 대량 작업 자동화

3.1. 스토리지 클래스

S3는 다양한 데이터 접근 패턴과 내구성 요구 사항에 맞춰 비용을 최적화할 수 있도록 여러 스토리지 클래스를 제공한다. 각 클래스는 데이터의 접근 빈도, 가용성, 내구성 및 저장 비용 측면에서 다른 특성을 가진다.

주요 스토리지 클래스는 다음과 같다.

클래스

설명

주요 사용 사례

S3 Standard

자주 액세스하는 데이터를 위한 범용 스토리지로, 높은 내구성, 가용성 및 성능을 제공한다.

클라우드 애플리케이션, 동적 웹사이트, 콘텐츠 배포

S3 Intelligent-Tiering

액세스 패턴을 모니터링하고 성능 저하나 운영 오버헤드 없이 데이터를 가장 비용 효율적인 액세스 티어(자주 액세스, 자주 액세스하지 않음, 알 수 없음)로 자동 이동시킨다.

액세스 패턴이 변화하거나 예측하기 어려운 데이터

S3 Standard-IA(Infrequent Access)

자주 액세스하지 않지만 필요할 때 빠르게 액세스해야 하는 데이터에 적합하다. S3 Standard보다 저장 비용이 낮지만, 데이터를 검색할 때 약간의 요금이 발생한다.

장기 백업, 재해 복구 파일, 오래된 사용자 데이터

S3 One Zone-IA

자주 액세스하지 않는 데이터를 단일 가용 영역에 저장하여 S3 Standard-IA보다 약 20% 저렴한 비용을 제공한다. 가용 영역 손실 시 데이터를 복구할 수 없는 위험이 있다.

보조 백업 복사본, 재생성이 가능한 데이터

S3 Glacier

장기 아카이브 및 디지털 보존을 위한 저비용 스토리지이다. 데이터 검색 시간은 선택한 검색 옵션(분, 시간)에 따라 수 분에서 수 시간이 소요될 수 있다.

규정 준수를 위한 아카이브, 오래된 미디어 자산

S3 Glacier Deep Archive

가장 저렴한 스토리지 클래스로, 1년에 한두 번 정도 액세스할 수 있는 데이터를 위해 설계되었다. 검색 시간은 최대 12시간이 소요될 수 있다.

법적 규정 준수를 위한 7~10년 이상 장기 보관 데이터

사용자는 객체를 업로드할 때 스토리지 클래스를 지정할 수 있으며, 이후 수명 주기 정책을 구성하여 객체의 액세스 패턴 변화에 따라 클래스를 자동으로 전환할 수 있다. 예를 들어, 30일 후에 S3 Standard 객체를 S3 Standard-IA로, 90일 후에는 S3 Glacier로 이동하는 정책을 설정할 수 있다. 이를 통해 데이터의 수명 주기 전반에 걸쳐 스토리지 비용을 효율적으로 관리할 수 있다.

3.2. 액세스 관리 및 보안

액세스 관리는 IAM 정책, 버킷 정책, ACL 및 사전 서명된 URL을 통해 이루어진다. IAM 정책은 AWS 계정 내 사용자나 역할에게 세분화된 권한을 부여하는 데 사용된다. 버킷 정책은 버킷 수준에서 특정 조건 하에 객체에 대한 액세스를 허용하거나 거부하는 JSON 문서이다. ACL은 레거시 방식이지만 개별 객체에 대한 기본적인 읽기/쓰기 권한을 설정할 수 있다. 사전 서명된 URL은 임시적으로 객체를 업로드하거나 다운로드할 수 있는 권한을 부여하는 시간 제한이 있는 URL을 생성한다.

보안 측면에서 모든 데이터는 업로드 및 다운로드 시 TLS를 통한 암호화 전송을 보장한다. 저장 데이터 암호화는 서버 측 암호화(SSE)와 클라이언트 측 암호화로 구분된다. SSE는 다시 SSE-S3(Amazon S3 관리 키), SSE-KMS(KMS 관리 키), SSE-C(고객 제공 키) 옵션을 제공한다. 또한 버킷에 대한 모든 API 호출을 기록하는 AWS CloudTrail 및 S3 자체의 접근 로그 기록 기능을 통해 포괄적인 감사와 모니터링이 가능하다.

접근 제어 수단

적용 범위

주요 용도

IAM 정책

사용자, 그룹, 역할

AWS 계정 내 리소스 접근 제어

버킷 정책

버킷 및 내부 객체

교차 계정 접근, 공개 접근 제어

객체 ACL

개별 객체

객체별 간단한 권한 설정 (레거시)

사전 서명된 URL

개별 객체

임시적 객체 공유

데이터 무결성 검증을 위해 S3는 업로드 시 자동으로 MD5 체크섬을 계산하여 데이터 손상을 검사한다. 또한 버킷 버저닝 기능을 활성화하면 객체의 실수로 인한 삭제나 덮어쓰기를 방지하고 이전 버전으로 복구할 수 있다.

3.3. 데이터 관리 기능

S3는 단순한 파일 저장소를 넘어 다양한 데이터 관리 기능을 제공하여 데이터의 수명 주기, 구성, 무결성을 효율적으로 관리할 수 있게 한다.

핵심 데이터 관리 기능으로는 S3 수명 주기 관리가 있다. 이 기능을 사용하면 객체의 생성 시점이나 마지막 접근 시점을 기준으로 자동으로 스토리지 클래스를 변경하거나 삭제하는 규칙을 설정할 수 있다. 예를 들어, 30일 후에는 S3 Standard에서 S3 Standard-IA로 이동하고, 1년 후에는 S3 Glacier로 아카이빙하는 정책을 정의할 수 있다. 이를 통해 수동 작업 없이도 비용을 최적화하면서 데이터를 보관할 수 있다. 또 다른 중요한 기능은 S3 버전 관리이다. 이 기능을 활성화하면 동일한 키를 가진 객체를 덮어쓰거나 삭제하더라도 모든 이전 버전이 보존되어 실수로 인한 데이터 손실을 방지하고, 필요시 이전 버전으로 복구할 수 있다.

데이터 구성과 성능 최적화를 위한 기능도 제공된다. S3 인벤토리는 버킷 내 객체의 목록과 메타데이터(크기, 수정 날짜, 스토리지 클래스 등)를 정기적으로 CSV, ORC, Parquet 형식의 보고서로 생성하여 별도의 ListObjects API 호출 없이도 객체를 추적하고 감사할 수 있게 한다. 대규모 데이터 세트에 대한 성능을 높이기 위해 S3 배치 작업을 사용하면 단일 API 요청으로 수백만 개의 객체에 대해 복사, 태그 추가, 접근 제어 목록(ACL) 복원 등의 작업을 수행할 수 있다. 또한, S3 객체 락 기능을 통해 WORM 모델을 구현하여 규정 준수 요구사항에 따라 객체를 지정된 기간 동안 또는 무기한으로 삭제나 덮어쓰기로부터 보호할 수 있다.

기능

주요 목적

활용 예시

수명 주기 관리

비용 최적화

로그 파일을 7일 후 저비용 티어로 이동

버전 관리

데이터 보호 및 복구

실수로 삭제한 파일의 이전 버전 복원

인벤토리

감사 및 관리

월간 스토리지 사용량 및 객체 목록 리포트 생성

배치 작업

대규모 작업 자동화

수백만 객체의 태그를 일괄 변경

객체 락

규정 준수

금융 기록을 법적 보존 기간 동안 불변 상태로 유지

4. 사용 사례

S3는 다양한 산업과 규모의 조직에서 폭넓게 사용되는 다목적 객체 스토리지 서비스이다. 그 유연성과 확장성 덕분에 여러 핵심적인 사용 사례를 제공한다.

주요 사용 사례로는 데이터 백업 및 아카이빙이 있다. 기업은 중요한 데이터를 S3에 저장하여 하드웨어 장애나 재해로부터 보호할 수 있다. 특히 S3 Glacier 및 S3 Glacier Deep Archive와 같은 저비용 스토리지 클래스는 규정 준수를 위한 장기 보관이나 거의 액세스하지 않는 데이터의 아카이빙에 적합하다. 또한 S3는 정적 웹사이트 호스팅을 위한 간단하고 비용 효율적인 플랫폼으로도 작동한다. HTML, CSS, 자바스크립트 파일, 이미지 등을 버킷에 업로드하기만 하면 고가용성으로 웹사이트를 서비스할 수 있다.

또 다른 중요한 사용 사례는 빅 데이터 분석이다. S3는 데이터 레이크의 기초 스토리지 계층으로 자주 사용된다. 방대한 양의 구조화되거나 반구조화된 원시 데이터를 S3에 저장한 후, Amazon Athena, Amazon Redshift, EMR과 같은 AWS 분석 서비스를 이용해 직접 쿼리하고 처리할 수 있다. 이 외에도 S3는 콘텐츠 배포를 위한 원본 저장소, 모바일 애플리케이션 및 IoT 장치에서 생성된 데이터의 수집 지점, 그리고 소프트웨어 배포를 위한 패키지 저장소 등으로 활용된다.

4.1. 데이터 백업 및 아카이빙

S3는 내구성, 확장성, 비용 효율성 덕분에 기업과 개인에게 널리 사용되는 데이터 백업 및 아카이빙 솔루션이다. 데이터는 여러 가용 영역에 걸쳐 자동으로 복제되어 하드웨어 장애로부터 보호받는다. 사용자는 S3 스탠더드, S3 스탠더드-IA, S3 글레이셔 등 다양한 스토리지 클래스를 선택하여 접근 빈도와 비용 요구사항에 맞춰 데이터를 저장할 수 있다. 예를 들어, 자주 액세스하는 핵심 백업 데이터는 S3 스탠더드에, 장기 보관이 목적인 아카이브 데이터는 검색 시간이 몇 분에서 몇 시간 걸리지만 비용이 매우 낮은 S3 글레이셔에 저장하는 방식이다.

백업 전략을 구현할 때는 S3 수명 주기 정책을 활용하는 것이 일반적이다. 이 정책을 사용하면 사전 정의된 규칙에 따라 객체를 한 스토리지 클래스에서 다른 클래스로 자동 전환하거나, 특정 기간 후에 삭제할 수 있다. 예를 들어, 30일 후에는 스탠더드에서 스탠더드-IA로, 1년 후에는 글레이셔로 이동하도록 설정할 수 있다. 또한 S3 버전 관리 기능을 활성화하면 실수로 인한 삭제나 덮어쓰기를 방지할 수 있어 데이터 복구 능력을 한층 강화한다.

고려 사항

설명

데이터 복원력

99.999999999%(11개 9)의 내구성을 제공하여 데이터 손실 위험을 극도로 낮춘다.

비용 최적화

수명 주기 정책과 다양한 스토리지 클래스를 조합하여 저장 및 검색 비용을 관리한다.

규정 준수

특정 산업 규정(예: 금융, 의료)에 따른 장기 데이터 보관 요구사항을 충족시킬 수 있다.

접근성

AWS Management Console, CLI, SDK 또는 타사 백업 소프트웨어를 통해 전 세계 어디서나 데이터를 관리하고 복원할 수 있다.

이러한 특성으로 인해 S3는 온프레미스 서버, 데이터베이스, 가상 머신 이미지의 백업부터 법적 보존을 위한 문서 아카이빙에 이르기까지 광범위한 백업 및 아카이빙 시나리오에 적용된다.

4.2. 정적 웹사이트 호스팅

S3는 HTML, CSS, 자바스크립트, 이미지, 동영상 등 정적 파일을 호스팅하여 완전한 웹사이트를 구동할 수 있는 기능을 제공한다. 이는 웹 서버나 애플리케이션 서버가 필요하지 않으며, S3 버킷 자체가 호스팅 엔드포인트 역할을 한다. 사용자는 버킷을 웹사이트 호스팅용으로 구성하고, 인덱스 문서(예: index.html)와 오류 문서(예: error.html)를 지정하기만 하면 된다. 이후 생성된 웹사이트 엔드포인트 URL을 통해 사이트에 접근할 수 있다.

이 호스팅 방식은 확장성과 내구성이 매우 뛰어나며, AWS의 글로벌 인프라를 활용하여 전 세계 사용자에게 낮은 지연 시간으로 콘텐츠를 제공할 수 있다. 특히 트래픽이 급증하는 상황에서도 자동으로 확장되므로 용량 계획이나 서버 관리에 대한 부담이 없다. 정적 콘텐츠는 S3와 Amazon CloudFront를 함께 사용하여 캐싱 및 CDN을 통해 성능을 더욱 최적화할 수 있다.

주요 구성 요소와 특징은 다음과 같다.

구성 요소

설명

버킷(Bucket)

웹사이트 파일이 저장되는 컨테이너이다. 버킷 이름은 웹사이트 URL의 일부가 된다.

엔드포인트(Endpoint)

웹사이트에 접근하는 데 사용되는 URL이다. 형식은 http://<버킷명>.s3-website-<리전>.amazonaws.com이다.

인덱스 문서(Index Document)

사이트 루트 또는 디렉토리를 요청할 때 반환되는 기본 파일(예: index.html)이다.

오류 문서(Error Document)

4XX 클라이언트 오류가 발생했을 때 사용자에게 보여줄 HTML 페이지이다.

이 방식은 블로그, 문서 사이트, 랜딩 페이지, 단일 페이지 애플리케이션(SPA) 등 콘텐츠가 자주 변경되지 않는 사이트에 이상적이다. 그러나 서버 사이드 스크립트(예: PHP, ASP.NET) 처리가 필요한 동적 웹사이트에는 적합하지 않다.

4.3. 빅 데이터 분석

S3는 빅 데이터 분석 파이프라인의 핵심 구성 요소로 널리 사용된다. 분석에 필요한 대규모의 원시 데이터나 처리된 데이터 세트를 저장하는 데 적합한 플랫폼을 제공하며, AWS의 다양한 분석 서비스와 긴밀하게 통합되어 있다.

주요 분석 서비스와의 연동은 다음과 같다. Amazon Athena는 S3에 저장된 데이터에 대해 표준 SQL 쿼리를 실행할 수 있게 해주는 서버리스 서비스이다. Amazon Redshift는 데이터 웨어하우스 서비스로, S3로부터 데이터를 직접 불러오거나 분석 결과를 다시 S3에 내보낼 수 있다. Amazon EMR(Elastic MapReduce)은 Apache Spark나 Hadoop 같은 빅 데이터 프레임워크를 실행하여 S3에 저장된 데이터를 처리한다. 이러한 서비스들은 모두 S3를 중앙 데이터 레이크의 기반 스토리지로 활용한다.

데이터 레이크 구축에서 S3의 장점은 거의 무제한에 가까운 확장성과 비용 효율성에 있다. 다양한 형식(예: CSV, JSON, Parquet, ORC)의 데이터를 원본 그대로 저장할 수 있으며, 필요에 따라 S3 Intelligent-Tiering 같은 스토리지 클래스를 사용해 비용을 최적화할 수 있다. 또한, Amazon Kinesis나 AWS Glue 같은 서비스와 결합하면 실시간 스트리밍 데이터를 S3로 수집하고, 자동으로 카탈로그화 및 변환하는 파이프라인을 구축할 수 있다.

5. 비용 구조

S3의 비용은 사용한 만큼 지불하는 종량제 모델을 기반으로 합니다. 주요 요금 요소는 데이터 저장량, 데이터 전송량, 요청 횟수로 구성됩니다.

요금 요소

설명

비용 영향 예시

스토리지 사용량

버킷에 실제 저장된 데이터의 총량(GB/월)에 따라 청구됩니다.

S3 스탠다드보다 S3 Glacier 스토리지 클래스의 GB당 월별 요금이 저렴합니다.

데이터 전송

인터넷으로 나가는 데이터 전송(OUT)량에 따라 청구됩니다.

버킷에서 사용자에게 파일을 다운로드할 때 비용이 발생합니다. 반대로 데이터를 업로드(IN)하거나 AWS 리전 내 전송은 일반적으로 무료입니다.

요청 횟수

수행한 API 작업(예: PUT, COPY, POST, LIST, GET 등) 수에 따라 청구됩니다.

객체를 업로드하거나 검색할 때마다 요청이 발생하며, 스토리지 클래스에 따라 요청당 비용이 다릅니다.

비용을 최적화하기 위해서는 데이터의 접근 패턴에 맞는 스토리지 클래스를 선택하는 것이 중요합니다. 자주 접근하는 데이터는 S3 스탠다드에, 자주 접근하지 않는 데이터는 S3 스탠다드-IA나 S3 Glacier에 저장하여 스토리지 비용을 절감할 수 있습니다. 또한 S3 수명 주기 관리 규칙을 설정하면, 사전 정의된 기간이 지난 객체를 더 저렴한 스토리지 클래스로 자동 이동하거나 삭제할 수 있습니다.

AWS는 S3 사용량에 대한 세부적인 비용 추정을 할 수 있는 요금 계산기를 제공합니다[1]. 실제 비용은 선택한 리전, 사용한 스토리지 클래스의 조합, 그리고 월간 사용량에 따라 상이하게 책정됩니다.

6. 다른 AWS 서비스와의 연동

S3는 AWS의 다른 핵심 서비스들과 광범위하게 연동되어 강력한 애플리케이션과 데이터 처리 파이프라인을 구축할 수 있게 한다.

EC2 인스턴스는 S3 버킷을 애플리케이션 데이터, 로그, 백업 파일의 저장소로 자주 사용한다. AWS Lambda는 S3에 객체가 업로드되거나 삭제될 때 이를 트리거로 하여 서버리스 함수를 실행할 수 있다. 예를 들어, 사용자가 업로드한 이미지를 S3에 저장하면 Lambda가 자동으로 썸네일을 생성하거나 메타데이터를 처리한다. 데이터 웨어하우스 서비스인 Amazon Redshift와 Amazon Athena는 S3에 저장된 구조화 또는 반구조화 데이터를 직접 쿼리하여 분석한다. 또한, Amazon CloudFront와 같은 CDN 서비스와 연동하여 S3에 저장된 정적 콘텐츠를 전 세계에 저지연으로 배포할 수 있다.

데이터 이동 및 처리 파이프라인 구축에도 널리 활용된다. AWS Glue는 S3에 저장된 데이터에 대한 크롤링, 카탈로그화, ETL 작업을 수행한다. Amazon Kinesis Data Firehose는 스트리밍 데이터를 변환하여 S3에 지속적으로 로드할 수 있다. 데이터베이스 서비스인 Amazon RDS나 DynamoDB의 스냅샷은 자동으로 S3에 백업된다. 모니터링 서비스인 Amazon CloudWatch는 S3에 대한 지표와 액세스 로그를 수집하고, AWS IAM과 연동하여 버킷과 객체 수준의 세밀한 접근 제어를 구현한다.

연동 서비스

주요 연동 목적

AWS Lambda

객체 이벤트(업로드/삭제) 트리거, 서버리스 데이터 처리

Amazon EC2

애플리케이션 데이터, 로그, 백업 파일 저장소

Amazon CloudFront

정적 웹사이트 콘텐츠의 글로벌 배포(오리진)

Amazon Athena / Redshift

S3 데이터에 대한 직접 SQL 쿼리 및 분석

AWS Glue

데이터 카탈로그화 및 ETL 작업

Amazon Kinesis Data Firehose

스트리밍 데이터의 S3 전달

AWS IAM / CloudWatch

세밀한 접근 제어 및 모니터링

7. 관련 문서

  • Amazon Web Services - Amazon S3

  • 위키백과 - 아마존 S3

  • 나무위키 - Amazon S3

  • AWS Documentation - Amazon S3 사용 설명서

  • Google Cloud - Cloud Storage와 Amazon S3 비교

  • Microsoft Learn - Azure Blob Storage와 Amazon S3 비교

  • ZDNet Korea - 아마존 S3 장애가 남긴 교훈

리비전 정보

버전r1
수정일2026.02.14 23:11
편집자unisquads
편집 요약AI 자동 생성