ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AWS] S3 개념 정리 및 작동 방식
    AWS/Cloud 2023. 1. 21. 15:28
    반응형

    S3란?

    : Simple Storage Service의 줄임말로 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스

    - 데이터를 온라인으로 오브젝트 형태로 저장하는 서비스

    S3 객체 스토리지

    : 객체로 된 파일을 다루는 저장소
    - 별도의 클라이언트나 ActiveX를 통하지 않고 HTTP 프로토콜(restful)로 파일 업로드/다운로드 처리가 가능
    - S3 자체로 정적 웹서비스 가능(HTML 파일을 스토리지에 저장하고, 접근)
    ** 동적 웹페이지 + 정적 웹페이지가 섞여 있을 경우 동적 웹페이지만 EC2에서 서비스하고 정적 웹페이지는 S3를 이용하면 성능을 높이고 비용을 절감할 수 있음

      Amazon EBS Amazon S3
    패러다임 파일 시스템이 있는 블록 스토리지 객체 스토어
    성능 매우 빠름 빠름
    중복성 가용 영역의 여러 서버에 걸쳐 존재 지역 내 여러 시설에 존재
    보안 EBS 암호화 - 데이터 볼륨 및 스냅샷 암호화
    인터넷 엑세스 불가능 가능
    일반적 사용사례 디스크 드라이브 온라인 스토리지
    특징 - 다양한 가상머신에서 엑세스 가능
    - EC2와 함께 사용(독립형 스토리지 아님)
    - 단일 인스턴스에 대한 고성능 스토리지 서비스가 필요한 경우 사용
    - 웹에서 사용 가능한 오브젝트 저장소
    - 어디서나 웹을 통해 엑세스 가능
    - 저장 용량이 무한대이며 파일 저장에 최적화
    - EC2와 EBS 구축보다 저렴

    S3 작동 방식

    객체

    : 데이터와 메타데이터를 구성하고 있는 저장 단위
    - 메타데이터는 최종 수정일, 파일 타입 등 특정 값에 대한 데이터를 정의해주는 데이터(데이터들을 분류하고 설명)

    - 객체마다 각각의 접근 권한 설정 가능
    - 메타데이터는 객체가 업로드 된 후 수정될 수 없으며 복사해서 수정해야 함
    - 메타데이터는 response header에 반환됨
    - 객체 안에는 다양한 구성 요소가 존재

    이름 특징
    Key 파일의 이름
    - 버킷 내 객체의 고유 식별자
    - 버킷, 키 및 버전 ID의 조합으로 식별
    Value 파일의 데이터
    - Key-Value형태로 저장
    Version Id 파일의 버전 아이디
    - 같은 파일이지만 다른 버전으로 올릴 수 있게 돕는 인식표
    - 이전 버전으로 돌아가고 싶으면 Version Id를 통해 복원
    MetaData 파일의 정보를 담은 데이터
    - 최종 수정일, 파일 타입, 파일 소유자, 사이즈 등
    ACL 파일의 권한을 담은 데이터
    CORS 한 버킷의 파일을 지역을 무시하고 다른 버킷에서 접근 가능하게 해주는 기능

    버킷

    : 객체를 저장하고 관리하는 컨테이너
    - 한 계정 당 버킷은 최대 100개까지 사용 가능하며, 버킷에 저장할 수 있는 객체 수에는 제한 없음
    - 버킷 단위로 접근 제한 설정도 가능하며, 소유권 이전은 불가하기 때문에 주의가 필요
    - 버킷의 이름은 S3 안에서 유일해야 함 (전세계 어디에서도 중복될 수 없음)
    - 버킷 안에 다른 버킷을 둘 수 없음

    리전

    S3가 생성한 버킷을 저장할 위치
    - 리전 간 객체 공유 불가능
    - 버킷 위치를 어디에 지정하느냐에 따라 지연 시간, 비용 등이 결정

    S3 Versioning

    : 동일 버킷 내에 여러 개의 객체 변형을 보유함으로써 저장된 모든 버전의 객체를 보존, 검색 및 복원 할 수 있음
    - AWS 매니저에서 버킷 생성시 기본적으로 비활성화로 설정되어 있으며 직접 활성화 해야 함
    - 버킷에서 버저닝을 사용하도록 설정한 후에는 비활성화 상태로 돌아갈 수 없으며, 일시 중지 설정만 가능
    - 변경 내용을 추적할 수 있으므로 편리하지만 비용 주의해야 함

    S3 보안 및 권한 (접근 제어)

    : 버킷의 기본 정책은 private으로 버킷 소유자만 해당 버킷에 연결할 수 있으며, 외부에서 연결시 권한 제어를 통해 접근 제어 가능

    - S3 권한 설정

    ① IAM : 사용자를 생성하고 사용자의 버킷 권한 엑세스 관리
    ② ACL : 권한 있는 사용자에 대해 간단한 개별 객체(오브젝트)를 엑세스 가능하게 만듦

    ③ 버킷 정책 : 단일 S3 버킷 내 모든 객체에 대한 권한을 세부적으로 구성

    ④ 쿼리 문자열 인증: 임시 URL을 사용하여 다른 사용자에게 기간 제한(임시 권한) 엑세스 부여

    ➡️ 엑세스 관리 기능을 조합하여 사용함으로써 다른 사용자에게 엑세스 권한 부여 가능

     

    반응형

    댓글

Designed by Tistory.