[AWS] S3 서비스

백현균·2023년 3월 26일
0

AWS S3?

정의

- Simple Storage Service의 약자로, 파일서버의 역할을 하는 서비스
- 일반적으로 파일서버의 트래픽이 증가할 경우, 장비를 증설해야하는데, S3는 이러한 것들을 대행함
- 파일에 대한 접근 권한을 지정할 수 있어, 서비스를 호스팅 용도로 사용하는 것을 방지할 수 있음

특징

1. 많은 사용자들이 접속했을 때 이를 감당하기 위한 시스템적 작업을 하지 않아도 됨
2. 저장할 수 있는 파일 수의 제한이 없음
3. 최소 1바이트에서 최대 5TB의 데이터를 저장하고 서비스 할 수 있음
4. 파일에 인증을 붙여, 무단으로 액세스 하지 못하게 할 수 있음
5. HTTP, BitTorrent 프로토콜을 지원
6. REST, SOAP 웹 인터페이스 제공
7. 데이터를 여러 시설에서 중복으로 저장해, 데이터의 손실이 발생할 경우 자동으로 복원
8. 버전관리 기능을 통해, 사용자에 의한 실수도 복원 가능
9. 정보의 중요도에 따라 보호 수준을 차등할 수 있으며, 이에 따라 비용을 절감할 수 있음

용어 개념

1. 객체: AWS S3에서는 저장된 하나의 파일, 즉 데이터를 하나의 객체라고 명명하고 있음
2. 버킷: 객체가 파일이면 버킷은 연관된 객체들을 그룹핑한 최상위 디렉토리를 뜻하며, 버킷 단위로 Region을 지정할 수 
		있고, 버킷에 포함된 모든 객체에 대해 일괄적으로 인증과, 접속제한을 할 수 있음
3) 버전관리: S3에 저장된 객체들의 변화를 저장, 예를 들면 A라는 객체를 사용자가 삭제하거나, 변경해도 각각의 변화를 
	  	   모두 기록하기 때문에 실수를 만회할 수 있음
           

객체의 특징

0. Object level storage(not a Block level storage)
1. 객체 하나의 크기는 1Byte ~ 5TB
2. 저장 가능한 객체 갯수 무제한
3. 객체마다 각각의 접근 권한 설정 가능
4. default로 private 이다.
5. 객체 metadata는 객체가 업로드 된 후에는 수정될 수 없고, 복사해서 수정해야 한다.
6. 객체는 Range HTTP header를 이용해서 부분적으로 검색할 수 있다.
7. 객체는 Pre-signed url를 사용해서 다운로드 할 수 있다.
8. 객체의 metadata는 response header에 반환된다.

버킷의 특징

0. 생성하면 default로 private.
1. 한 계정 당 최대 100개의 버킷 사용 가능.
2. 버킷 소유권은 이전할 수 없다.
3. 버킷의 이름은 region에 상관없이 globally unique 해야 한다.
4. 버킷 주소는 https://s3-리전이름.amazonaws.com/버킷이름
5. S3 데이터 모델은 flat structure라서 버킷에 hierarchie나 folder는 없다.
하지만 keyname prefix (Folder1/Object1)를 사용해서 논리적인 hierarchies를 암시할 수 있다.
6. 버킷 안에 다른 버킷을 둘 수 없다.
7. Access Control 종류
    1) Bucket Policies
    2) Access Control Lists
8. Path-Style URL에서 버킷 이름은 Region specific endpoint를 사용하지 않는 이상 도메인명에 
   포함되지 않는다.
9. Virtual Hosted Style URL에서 버킷이름은 URL의 도메인명의 일부가 된다.
10. Virtual hosting은 HTTP Host Header를 사용해서 REST API 콜의 버킷을 address하는 데 사용될 수 있다.

기타 참고 링크

https://okhyeon.tistory.com/26

0개의 댓글