본문 바로가기
AWS

AWS의 S3(Simple Storage Service)

by xogns93 2024. 11. 8.

AWS의 S3(Simple Storage Service)는 **Amazon Web Services(AWS)**에서 제공하는 클라우드 객체 스토리지 서비스입니다. 간단히 말하면, 데이터를 저장하고 관리할 수 있는 인터넷 기반의 저장소입니다.

 

S3의 주요 개념

  1. 버킷(Bucket):
    • 데이터를 저장하는 컨테이너.
    • 파일(객체)을 저장하기 위한 최상위 디렉토리와 유사.
    • 각 버킷 이름은 전 세계에서 유일해야 함.
  2. 객체(Object):
    • 버킷 안에 저장되는 실제 데이터(파일).
    • 데이터 본문(파일 내용)과 메타데이터(파일 정보)로 구성됨.
    • 객체의 고유 식별자는 버킷 이름 + 객체 키(파일 경로).
  3. 객체 키(Key):
    • 객체의 경로를 포함한 파일 이름.
    • 예: images/photo.jpg처럼 디렉토리 구조처럼 사용할 수 있음.
  4. ARN(Amazon Resource Name):
    • AWS 리소스를 고유하게 식별하기 위한 이름.
    • 예: arn:aws:s3:::mybucket/myfile.jpg

S3의 주요 특징

  1. 확장성:
    • 데이터 크기와 저장 용량에 제한이 없으며, 초대형 데이터를 저장할 수 있음.
  2. 내구성 및 가용성:
    • 데이터를 여러 가용 영역(AZ)에 복제하여 99.999999999%의 내구성(11 9s)을 제공.
    • 99.99% 이상의 가용성 보장.
  3. 보안:
    • 데이터 암호화 지원(AES-256, KMS 등).
    • IAM 정책, 버킷 정책, ACL(Access Control List)로 세밀한 접근 제어 가능.
  4. 비용 효율성:
    • 사용한 만큼만 비용을 지불하는 종량제 요금제.
    • 장기 보관용으로 저비용 스토리지 옵션(S3 Glacier) 제공.
  5. 데이터 접근 방식:
    • REST API를 통해 데이터 업로드, 다운로드 가능.
    • SDK(Java, Python 등)를 사용해 프로그래밍 방식으로 데이터 관리 가능.

S3의 활용 사례

  1. 백업 및 복구:
    • 기업 데이터나 애플리케이션 로그의 백업 저장소로 활용.
  2. 웹 호스팅:
    • 정적 웹사이트(HTML, CSS, JS)를 S3에 배포하여 호스팅.
  3. 빅데이터 분석:
    • S3에 데이터를 저장한 후, Amazon Athena, Redshift 등으로 분석.
  4. 멀티미디어 저장:
    • 동영상, 이미지, 문서 등의 대규모 파일 저장 및 배포.
  5. 데이터 아카이브:
    • 자주 사용하지 않는 데이터는 저렴한 S3 Glacier로 보관.

S3의 간단한 동작 원리

  1. 데이터 저장:
    • 사용자는 데이터를 S3에 업로드하고, 각 파일은 고유한 키로 식별됩니다.
    • 데이터는 버킷에 저장됩니다.
  2. 데이터 읽기:
    • REST API 또는 SDK를 통해 데이터를 다운로드하거나 읽을 수 있습니다.
  3. 보안 및 권한 설정:
    • 버킷 및 객체에 대한 접근 권한을 사용자 또는 그룹 단위로 설정 가능합니다.

요약

AWS S3는 데이터를 안전하고 확장 가능하게 저장할 수 있는 클라우드 기반 스토리지 서비스입니다. 간단한 설정만으로 전 세계 어디서나 데이터를 업로드하거나 다운로드할 수 있어, 다양한 애플리케이션에서 필수적으로 사용되는 서비스입니다.