-
[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을 사용하여 다른 사용자에게 기간 제한(임시 권한) 엑세스 부여
➡️ 엑세스 관리 기능을 조합하여 사용함으로써 다른 사용자에게 엑세스 권한 부여 가능
반응형'AWS > Cloud' 카테고리의 다른 글
[AWS] 유저가 업로드한 동영상에서 썸네일 이미지 추출하여 S3에 바로 저장하기 - Java (0) 2023.02.01 [AWS] EC2 개념 원리 및 구성 요소 (0) 2023.01.21