3 분 소요

[AWS]Amazon S3: AWS의 객체 스토리지 핵심

Amazon S3: AWS의 객체 스토리지 핵심

1. Amazon S3 정의

img

  • AWS에서 제공하는 객체 스토리지 서비스.
  • “무한 확장” 가능, 데이터 저장용량 걱정 없음.
  • 데이터가 “버킷(bucket)” 단위로 저장됨.
  • AWS 생태계와 통합성 강함. 정적 웹 호스팅부터 빅데이터 처리까지 활용 가능.

2. S3 주요 사용 사례

img

  • 백업 및 스토리지: 데이터 안정적으로 저장.
    • 예: 금융 데이터 백업, 사용자 데이터 저장.
  • 재난 복구: 리전 간 복제로 장애 대비.
    • 예: 지리적으로 다른 리전에 데이터 복제하여 장애 시 빠른 복구.
  • 데이터 레이크: 빅데이터 처리 및 분석용 데이터 저장.
    • 예: S3를 데이터 레이크로 활용하여 분석 작업 실행.
  • 애플리케이션 호스팅: 정적 웹사이트, 소프트웨어 배포 등.
    • 예: HTML, CSS, JS 파일 호스팅.
  • 장기 아카이빙: 저비용 Glacier 클래스 활용.
    • 예: 법적 규정 준수를 위해 데이터 7년 이상 보관.
  • 하이브리드 클라우드 스토리지: 온프레미스와 통합 저장.
    • 예: AWS Storage Gateway를 통해 온프레미스 데이터와 연동.

3. S3 버킷과 객체 개념

버킷

  • 데이터 저장 컨테이너.
  • 전 세계적으로 고유한 이름 필요.
  • 네이밍 규칙:
    • 소문자, 숫자, 하이픈만 가능.
    • 3~63자 길이.
    • IP 형식 금지.

객체

  • S3에 저장된 개별 파일.
  • 키(Key): 객체의 고유 경로 (예: s3://bucket-name/folder/file.txt).
  • 최대 크기: 5TB.
    • 5GB 초과 시 “멀티파트 업로드” 필요.
  • 메타데이터와 태그 지원.
  • 예: 사용자 프로필 사진, 로그 데이터 등.

4. S3 스토리지 클래스

S3 Standard 와 S3 Glacier Deep Archive란

스토리지 클래스를 데이터 사용 패턴에 맞게 선택하면 비용 절감 가능.

  • S3 Standard: 자주 사용하는 데이터용. 짧은 지연 시간.
    • 예: 실시간 사용자 데이터, 자주 조회되는 콘텐츠.
  • S3 Standard-IA: 드물게 접근하는 데이터용. 저렴한 비용.
    • 예: 월별 보고서, 백업 데이터.
  • S3 One Zone-IA: 단일 가용영역에 저장. 낮은 비용, 낮은 내구성.
    • 예: 재해 복구가 필요하지 않은 로그 데이터.
  • S3 Intelligent-Tiering: 접근 패턴 분석해 자동으로 클래스 이동.
    • 예: 액세스 빈도가 변동하는 데이터.
  • S3 Glacier Instant Retrieval: 아카이빙 데이터 즉시 접근 가능.
    • 예: 자주 참조해야 하는 오래된 미디어 파일.
  • S3 Glacier Flexible Retrieval: 표준 아카이빙 옵션. 3~5시간 지연.
    • 예: 규제 준수를 위한 금융 데이터.
  • S3 Glacier Deep Archive: 가장 저렴. 12~48시간 복구 시간.
    • 예: 장기 보관용 의료 기록.

5. 데이터 관리 기능

버전 관리 (Versioning)

  • 동일 키 객체의 여러 버전 저장.
  • 의도치 않은 삭제나 수정 복구 가능.
  • “null” 버전: 버전 관리 활성화 이전 파일.
  • 예: 소프트웨어 배포 시 다양한 버전 관리.

복제 (Replication)

  • Cross-Region Replication (CRR): 리전 간 복제.
    • 예: 미국에서 유럽 리전으로 데이터 복제.
  • Same-Region Replication (SRR): 동일 리전 내 복제.
    • 예: 개발과 테스트 환경 간 데이터 복제.
  • 복제는 비동기로 작동.

수명 주기 정책 (Lifecycle Policies)

image-20241210174348408

  • 객체를 특정 기간 후 저렴한 스토리지 클래스로 자동 이동.
    • 예: 30일 지난 로그 데이터를 Glacier로 이동.
  • 오래된 데이터 자동 삭제 설정 가능.
    • 예: 만료된 데이터 정리.

6. S3 보안 및 접근 제어

IAM 기반 접근

  • 특정 사용자와 그룹의 S3 API 호출 권한 설정.
    • 예: 개발자 그룹에만 읽기/쓰기 권한 부여.

리소스 기반 제어

  • 버킷 정책: 조건부로 전체 버킷 접근 제어.
    • 예: 특정 IP에서만 접근 허용.
  • 객체 ACL: 개별 객체 단위 세부 권한 설정.
    • 예: 공유 문서에 대해 읽기 권한 부여.

암호화 옵션

  • 서버 측 암호화 (SSE): S3에서 자동 암호화.
    • AES-256 또는 AWS KMS 키 사용.
  • 클라이언트 측 암호화 (CSE): 사용자 암호화 후 S3 업로드.
    • 예: 민감한 데이터 보호.

7. 성능 최적화와 비용 절감 전략

성능 최적화

  • 프리픽스 최적화: 데이터 요청 분산으로 병목 현상 방지.
    • 예: 객체 키 프리픽스를 다양하게 설정.
  • 멀티파트 업로드: 대용량 파일 업로드 속도 최적화.
    • 예: 5GB 이상의 동영상 파일.

비용 절감

  • 적합한 스토리지 클래스 선택.
    • 예: 비활성 데이터를 Glacier로 이동.
  • 데이터 압축 후 저장.
    • 예: GZIP으로 로그 데이터 압축.
  • 수명 주기 정책으로 오래된 데이터 자동 아카이빙.
    • 예: 1년 이후 데이터 삭제.

8. S3 확장성과 활용 사례

![Enhance analytics with Google Trends data using AWS Glue, Amazon Athena, and Amazon QuickSight AWS Big Data Blog](https://d2908q01vomqb2.cloudfront.net/b6692ea5df920cad691c20319a6fffd7a4a766b8/2022/04/05/BDB-1858-image001.png)
  • 리전 내에서 데이터 저장, 하지만 글로벌하게 데이터 제공 가능.
    • 예: 전 세계 사용자를 대상으로 콘텐츠 제공.
  • AWS Lambda, Athena, Glue 등과 연동해 데이터 처리 및 분석 가능.
    • 예: Athena로 S3 데이터를 SQL 쿼리.
  • 데이터 레이크 구축, 정적 웹사이트 호스팅, 빅데이터 워크로드 지원.
    • 예: S3를 데이터 레이크로 활용해 머신러닝 데이터 저장.

Amazon S3는 AWS 클라우드의 핵심 서비스임. 데이터 저장에서 분석까지 다양한 사용 사례를 지원하며, 비용 최적화와 보안 관리로 더 효율적인 데이터 운영 가능.

댓글남기기