[AWS] S3란?

johnyeom
|2024. 11. 8. 08:35
반응형

AWS S3(Simple Storage Service)는 AWS에서 가장 많이 사용되는 스토리지 서비스 중 하나로, 

데이터를 안전하게 저장하고 필요할 때 언제든 접근할 수 있게 해주는 매우 유용한 서비스입니다. 

S3의 중요한 개념과 시험에서 자주 나오는 내용들을 아래에 정리해보죠!!

 

aws s3
AWS S3

 

 


 

 

1. AWS S3 기본 개념

- S3 버킷(Bucket): S3에 데이터를 저장하려면 먼저 버킷을 만들어야 합니다. 버킷은 데이터를 저장하는 일종의 "컨테이너" 역할을 하며, 각 버킷은 전 세계적으로 유일한 이름을 가져야 합니다.
  
- 객체(Object): S3에 저장되는 각각의 데이터 파일을 객체라고 부릅니다. 객체는 데이터 자체, 메타데이터(설명 정보), 고유한 키로 구성됩니다.
  
- 키(Key): 객체를 구분하는 고유한 식별자입니다. 버킷 내의 객체를 식별하기 위해 사용하며, 폴더 구조처럼 경로를 지정해 사용할 수도 있습니다.

- 리전(Region): 버킷은 특정 리전에 위치하며, 리전을 선택해 데이터가 저장될 물리적 위치를 결정할 수 있습니다. 데이터 접근 속도와 관련이 있으며, 규제 요건이 있는 경우에도 리전을 신경 써야 합니다.

 

2. S3의 주요 특징

- 내구성 및 가용성: S3는 99.999999999% (11 9’s)의 내구성을 제공합니다. 데이터가 손실될 가능성을 최소화하기 위해 여러 물리적 시설에 자동으로 복제하여 저장합니다.
  
- 데이터 접근 제어: IAM 정책, 버킷 정책, ACL(Access Control List)을 통해 누가 어떤 데이터에 접근할 수 있는지 세부적으로 제어할 수 있습니다.

- S3 스토리지 클래스: 데이터 사용 빈도와 보관 기간에 따라 최적화된 스토리지 클래스를 제공합니다.
  - S3 Standard: 자주 사용하는 데이터를 위한 기본 클래스.
  - S3 Intelligent-Tiering: 자동으로 데이터 접근 패턴을 분석해 비용을 최적화하는 클래스.
  - S3 Standard-IA (Infrequent Access): 덜 자주 접근하지만, 필요할 때 바로 꺼낼 수 있는 데이터에 적합.
  - S3 Glacier 및 S3 Glacier Deep Archive: 장기 보관이 필요하지만 접근 빈도가 낮은 데이터에 최적화된 저렴한 스토리지.

 

3. AWS S3의 핵심 기능

- 버전 관리(Versioning): 객체가 변경될 때 이전 버전을 유지합니다. 실수로 데이터가 삭제되거나 변경된 경우에도 쉽게 복구할 수 있습니다.
  
- 서버 액세스 로그: 버킷에 대한 모든 요청을 로그로 기록할 수 있어, 누가 어떤 데이터에 접근했는지 추적할 수 있습니다.

- 수명 주기 정책(Lifecycle Policy): 저장 비용을 절감하기 위해 객체의 수명 주기를 관리합니다. 예를 들어, 30일 후 객체를 Standard-IA로 이동하거나, 1년 후 Glacier로 아카이빙할 수 있습니다.

- 정적 웹사이트 호스팅: S3를 사용해 정적 웹사이트(HTML, CSS, JS 파일로 구성된 웹페이지)를 호스팅할 수 있습니다.

- 객체 잠금(Object Lock): 데이터를 삭제 불가능하게 해줍니다. 이를 통해 삭제 방지 기간 동안 데이터 보호를 강화할 수 있습니다. 금융이나 법적 요구 사항을 준수할 때 유용합니다.

 


4. AWS SAA 시험에 자주 나오는 S3 내용

1. 권한 제어 방식: S3의 권한은 버킷 정책, IAM 정책, ACL을 통해 제어됩니다. 시험에서는 S3 버킷을 공개 또는 비공개로 설정하거나 특정 사용자나 역할에 권한을 부여하는 방법을 묻는 질문이 자주 나옵니다.

2. S3 스토리지 클래스의 차이점: 시험 문제에서는 데이터 접근 빈도에 따라 어떤 스토리지 클래스를 선택해야 하는지 묻는 경우가 많습니다. 예를 들어, "자주 접근하지 않지만 즉시 접근이 필요한 데이터"라면 Standard-IA를 선택하는 것이 좋습니다.

3. 데이터 복제 및 전송 가속화
   - S3 Cross-Region Replication(CRR): 데이터를 다른 리전의 버킷에 복제하는 기능으로, DR(재해 복구) 또는 다중 리전 접근이 필요한 경우 사용합니다.
   - S3 Transfer Acceleration: 전송 속도를 높여주는 기능으로, 특히 전송 거리가 멀거나 네트워크 상태가 불안정한 경우 유용합니다.

4. 수명 주기 관리: 수명 주기 정책을 통해 비용을 줄이는 방식은 시험에서 자주 언급됩니다. 특정 조건이 충족되면 객체를 삭제하거나 더 저렴한 스토리지 클래스로 자동 이동하는 방식입니다.

5. 정적 웹사이트 호스팅 및 URL 설정: S3를 이용한 정적 웹사이트 호스팅에 대한 설정과 버킷 URL 구성이 시험 문제에 종종 출제됩니다. 특히, 웹 호스팅을 위해 퍼블릭 접근 설정이 필요하다는 점을 기억해 두세요.

6. 버전 관리 및 복구: S3 객체에 대해 버전 관리 기능을 활성화하여 데이터를 복구하는 방법에 대한 내용도 자주 나옵니다. 예를 들어, 실수로 데이터를 삭제한 경우 버전 관리된 객체를 복구하는 시나리오 문제에 대비하세요.

 

5. S3 실습 추천

1. 버킷 생성과 권한 설정: IAM 정책 및 버킷 정책을 이용해 S3 버킷에 대한 접근 제어 연습.
2. S3 스토리지 클래스 전환: S3 객체를 다양한 스토리지 클래스로 이동하는 실습. 이를 통해 비용 절감의 효과를 확인할 수 있습니다.
3. 정적 웹사이트 호스팅 설정: 버킷을 정적 웹사이트로 설정하고, 올바른 권한을 부여하여 웹페이지에 접근할 수 있게 만드는 과정.

 

6. 요약

AWS S3는 데이터 저장, 접근 제어, 비용 최적화, 데이터 보호에 중요한 기능을 제공하는 서비스입니다. 시험에서는 S3 권한 제어 방식, 스토리지 클래스 선택, 데이터 복제 및 수명 주기 관리 등에 대한 기본 개념을 확실히 이해하는 것이 중요합니다.

이렇게 정리하면 블로그 작성에도 도움이 되실 거예요! S3는 실무에서도 정말 많이 쓰이니, 꼭 이해하고 넘어가시길 추천드립니다.

반응형

'AWS' 카테고리의 다른 글

[AWS] EC2  (0) 2024.11.15
[AWS] CloudFront  (0) 2024.11.10
[AWS] AWS Organization  (6) 2024.11.09
[AWS] IAM 이란?  (0) 2024.11.07