본문 바로가기
Amazon Web Serivce 자격증 쉽게 공부하기/AWS Solutions Architect Associate 핵심

SAA-C03 핵심 #4, S3(1)

by 네트워크 엔지니어 환영 2023. 10. 31.
반응형

Simple Storage Service(S3)

  • 웹서비스 인터페이스(HTTP)를 이용하여 웹에서 언제 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있는 스토리지(글로벌 스토리지 서비스)
  • 버킷(Bucket)과 객체(Object), 2개의 구성요소가 있으며 저장하고자 하는 모든 요소는 하나의 객체로 저장되고 오브젝트를 담는 곳이 바로 버킷
  • 각 객체에는 키가 존재하며 이는 버킷 내 객체에 대한 고유한 식별자
  • S3 자체는 글로벌 서비스이지만 버킷을 생성할 때에는 리전을 선택해야 함
  • 객체는 객체 데이터와 메타 데이터로 나뉘며 각자의 고유한 URL을 가지고 해당 URL로 접속 가능

 

버킷(Bucket)의 정의와 특징

  • 객체를 담고 있는 구성요소로 모든 객체는 버킷에 포함됨
  • 크기는 무제한이며 리전을 지정하여 버킷을 생성해야 함
  • 버킷에 저장할 수 있는 객체 수에는 제한이 없음
  • 버킷의 이름은 반드시 고유해야 하며 중복될 수 없음
    • 한 번 설정된 버킷의 이름은 다른 계정에서 사용할 수 없음
  • Read-after-write Consistency(쓰기 후 읽기 일관성)
    • 객체 내 데이터를 변경한 직후 변경사항을 확인할 수 있는가에 대한 특성
    • 20년 중순까지는 Eventual Consistency(최종 일관성), 다시 말해 변경사항이 동기화될 때까지 지연이 발생했음
    • 20년 말 업데이트 후, 신규 객체 및 변경 객체에 대해 Strong Read-after-write Consistency(강력한 쓰기 후 읽기 일관성)을 적용
      • 변경 직후 데이터 읽기가 가능해짐

 

S3의 보안 정책

  • Bucket Policy : 권한을 가진 사용자에게 S3 버킷과 내부 객체에 대한 액세스 권한을 부여할 수 있는 리소스 기반 정책
    • JSON 기반의 IAM 정책 언어를 사용하여 생성
    • 버킷 정책을 이용하여 객체에 대한 권한을 추가하거나 거부할 수 있음
    • 구성 요소로 사용자(Principal), 행동(Action), Effect(허용 혹은 거부), Resource(허용 대상 버킷, 객체), Condition(조건) 등이 있음
  • ACL : "AWS 계정"에 읽기/쓰기 권한을 부여하는 방법 중 하나로 개별 버킷 또는 객체의 특정 사용자에게 특정 권한(READ,WRITE, FULLCONTROL) 부여 가능
    • 권한 관리에 한계가 있어 사용이 권장되지 않음
    • 버킷 및 객체 권한은 서로 독립적으로 행동하며 객체는 버킷으로부터 권한을 상속하지 않음

 

객체(Object)의 정의와 특징

  • S3에 업로드되는 1개의 데이터를 객체라 함
  • 키, 버전 ID, 값, 메타데이터 등으로 구성됨
    • 버전 ID : 키와 더불어 객체를 고유하게 식별하는 정보
    • 메타데이터 : 객체 관련 정보를 저장하기 위한 이름-값 페어 세트
  • 객체 하나의 최소 크기는 1(0) byte ~ 5TB
  • 스토리지 클래스, 암호화, 태그, 메타데이터, 객체 잠금 설정 가능
  • 객체의 크기가 100MB에 근접할 경우, 멀티파트 업로드를 통해 신속하게 업로드하는 것을 고려해야 함

 

객체의 스토리지 클래스

  • 객체의 접근빈도 및 저장기간에 따라 결정되는 객체의 특성
  • 99.999999999%의 내구성을 지니도록 설계됨
  • 필요에 따라 Standard 클래스에서 다른 클래스로 이전할 수 있어 요금을 절감할 수 있음(LifeCycle Management, S3-2에서 설명)
    • 여기서 필요는 검색 빈도, 저장기간, 복제 여부 등임
  • Standard Type : 클래스를 선택하지 않을 경우 선택되는 일반적인 클래스로 자주 액세스하는 데이터를 위한 클래스
  • Standard_IA(Infrequent Access) : 자주 액세스하지는 않지만 즉시 액세스할 수 있는 데이터여야 하는 경우 선택되는 클래스
    • Standard_IA 클래스로 전환하기 위한 최소 기간 : 30일
  • One Zone_IA : Standard_IA와 기능은 동일하나 Standard_IA의 경우 세 곳의 AZ에 저장되는 것과 달리 한 군데의 AZ에만 저장되어 해당 AZ가 파괴될 경우 정보 손실 가능성 존재(저장요금이 적음)
    • One Zone_IA 클래스로 전환하기 위한 최소 기간 : 30일
  • Intelligent tiering : 액세스 빈도가 불규칙하여 빈도를 가늠하기 어려운 경우 선택되는 클래스
  • S3 Glacier Instant Retrieval : 거의 액세스하지 않고 밀리초 단위로 검색해야 하는 데이터를 저장하는데 사용하는 클래스(Standard-IA 스토리지 클래스와 동일한 대기 시간 및 처리량 성능)
  • S3 Glacier Flexible Retrieval(Glacier) : 검색이 아닌 저장이 주용도인 스토리지로 저장요금이 위 클래스들보다 훨씬 저렴함. 다만 저장이 주용도이기 때문에 검색에 3~5시간이 걸림
    • 최소 스토리지 기간(기간 내 삭제 및 덮어쓰기시 요금 발생) : 90일
  • S3 Glacier Deep Archive : 10년 이상 저장할 데이터를 저장하는 스토리지 클래스
    • 최소 스토리지 기간(기간 내 삭제 및 덮어쓰기시 요금 발생) : 180일
반응형

댓글