오브젝트 스토리지

파일단위로 데이터를 관리하고 HTTP/HTTPS 프로토콜로 데이터에 접근.

내부 구성

오브젝트 스토리지는 내부에 HTTP 서버를 내장. 웹사이트를 운영하는 것처럼 HTTP 서버를 통해 파일을 공개할 수도 있음.

오브젝트 스토리지를 사용하면 쉽게 웹사이트를 만들고 서비스할 수 있다. (서버와 블록 스토리지를 사용하면 서버 OS에 웹서버(엔진엑스)설치하고 공개할 파일을 배치해야함)

오브젝트 스토리지는 파일 자체를 클라우드에서 제어할 수 있다. (API를 통해 제어할 수 있음)

오브젝트 스토리지는 파일을 여러 곳에 리플리케이션하는 기능이 있다. (블록스토리지는 복구 방안을 따로 고려해야 한다.)

오브젝트 스토리지는 필요한 용량 미리 정해놓고 사용하지 않아서 이런 부분을 고민하지 않아도 된다.

정적 파일 제공, 동영상 제공, 로그 파일 제공에 쓰인다.

하지만 안정적이고 높은 IO 성능과 파일의 정합성을 보장하는 락을 고려하면 블록 스토리지를 사용하는 것이 유리

오브젝트 스토리지 구성하는 리소스

어카운트는 테넌트에 해당한다. 어카운트끼리 버킷을 공유하는 경우에 주로 사용된다.

버킷은 파일 시스템에 비유하면 최상위 폴더에 해당. 일반적으로 버킷의 이름은 어카운트 범위 내에서 고유해야 한다. 아마존의 경우 버킷의 이름으로 FQDN을 만들어 공개되기 때문에 어카운트 범위 밖에서도 고유해야 한다.

오브젝트는 버킷에 저장되는 파일. 파일 경로 처럼 파일이름에 프리픽스를 붙인 것을 키. 저장되는 곳이 다르면 같은 오브젝트라도 다른 리소스로 취급된다.

멀티 파트 업로드

오브젝트 스토리지는 조작할 수 있는 파일의 크기에 제약이 있다. 파일을 분할하여 병렬로 처리하기 위해서 멀티 파트로 전송한다.

  1. 오브젝트를 분할해서 파트를 생성