AWS 서비스를 이용하면서 가장 많이 접근해본 서비스가 무엇이냐고 물어보면 필자는 S3 라고 말을 했을것이다.
물론 회사에서 다양하게 사용을 해서 그럴수 있지만 가장 안전하고 많은 데이터를 저렴한 비용에 저장하고 관리를 할수있다는 장점에서 사용을 한다.
여기서 S3 에 대해서 설명하자면
S3 (Simple Storage Service) 이란
다양한 기능이 있지만 S3 서비스는 스토리지 서비스 이다. 여기서 중요한 점은 블록,파일 단위가 아닌 객체 스토리지 이다.
객체 스토리지를 사용한다는것은 데이터의 저장 및 액세스(접근)이 용이하다는 장점이 있다. 객체 스토리지가 이해하기 힘들어
각 블록,파일,객체 스토리지에 대한 특징을 살펴 보았다.
파일 스토리지란
파일 수준의 스토리지이다. 즉 파일단위로 데이터가 저장이 되는 일반적인 스토리지 이다. 우리가 사용하는 윈도우 내폴더나 맥 파인더 화면에서 폴더안에 접근하여 파일을 저장해놓는것처럼 논리적 계층구조로 이루어져 있습니다. 그리고 해당 파일에 접근하려면 당연히 최상위폴더/폴더들/파일 로 접근을 해야합니다. 이때 데이터량이 많이 지고 폴더의 계층구조가 깊어질때마다 파일 인덱싱이 많이지고 찾기가 힘들어 집니다.
블록스토리지
데이터를 블록으로 쪼갠후 별도의 조각으로 분리해 저장하는 구조입니다. 이떼 생성된 블록은 고유 식별자를 부여받으며 혼선이 없도록 정리되어 보관이 된다. 주로 저장통신망(SAN: Storage area Network) 나 클라우드와 같은 원격 환경에서 데이터를 저장할때 사용되는 기술이다. 블록스토리지는 파일스토리지와 다르게 접근 방식이 단일 경로로 국한되지 않아 유연하고 신속하게 접근이 가능하다.그리고 IO 성능 또한 좋다. 하지만 가격이 비싸다는 단점을 가지고 있다.
객체 스토리지
객체 스토리지에 정의를 보면 데이터에 Unique ID 를 부여하여 컨테이너/버킷에 저장하고 필요한 데이터가 있을경우 ID를 통해 호출하여 사용하는 스토리지 입니다. 객체 스토리지를 이해하기위해 예를 많이 드는것은 발렛-파킹 구조입니다. 우리가 호텔에 들어갔을때 손님이 키를 주면 (PUT) 주차 요원이 알아서 주자를 해줍니다. 그리고 번호표를 받게 됩니다. 이때 우리는 손님의 차가 어디있는지는 전혀 모르게 됩니다.그리고 차를 찾을때 (데이터를 찾을때) 번호표를 반납하게(GET) 되면 차를 찾을수가 있습니다. (해당 설명은 링크를 찾아서 적어둔거지만 정말 쉽게 잘 설명을 해둔것 같아 가져왔습니다.)
그럼 객체 장점을 보면 여러가지가 있지만 사용하면서 가장 좋았던 것은 액세스가 용이하다는 점이다.
그럼 객체 스토리지인 AWS S3는 어떻게 관리가 되고 있는지 알아보자
버킷 (Bucket)
S3 는 Object(file)을 저장하기 위해 버킷 이라는 저장 공간을 생성해야한다.
이때 버킷의 이름은 전세계 어디에서도 겹치지 않아야 하고 네이밍 규칙까지 지켜야 한다. (번수명도 짓기 힘든데 세계에서 유일한 네이밍을 하라는것은....) 그리고 버킷에는 리전 수준을 정의할수가 있어 버킷을 생성할때 서비스 하려는 리전을 설정하면 된다.
객체 (Object)
S3 에서 객체란 버킷에 저장된 엔터티 또는 파일입니다. 객체는 모든 형식의 데이터를 저장을 할수가 있습니다. 객체의 크기는 0 바이트에서 5TB 까지 저장이 가능하며 단일 버킷에서는 무제한으로 객체를 저장할수 있습니다.
각 객체는 데이터(파일 자체) 와 메타데이터 로 구성이 되는데 객체의 데이터는 단순희 바이너리 취급을 받습니다.
그럼 S3에서 버킷을 생성해 보자
AWS 콘솔 페이지에서 S3 서비스 페이지에 접근을 하면 버킷 리스트와 함께 표 오른쪽 상단에 버킷 만들기 라는 버튼을 클릭해보자
버튼을 클릭하면 버킷을 생성할수 있는 페이지로 이동을 합니다. 버킷의 이름은 유니크 해야한다. 즉 모든 리전에 대해서 버킷의 이름은 중복이 없어야 하는것이다. 버킷의 이름을 설정하고 나면 리전에 대한 설정을 할수가 있는데 객체의 접근을 어느 리전에서 할건지 생각하여 설정을 하면 됩니다. 그리고 기존 버킷에서 설정된 내용을 복사할수도 있다.
그리고 S3에서 가장 중요한 객체에 대한 접근 허용 범위 설정입니다. ACL로 엑세스 제어 목록을 제한 할수도있고 퍼블릭으로 풀어 모든 사
용자가 접근이 가능하도록 설정을 할수도 있습니다.
다른 설정은 기본으로 놓은뒤 버킷을 만들기 하면 버킷이 생성이 됩니다.
참고 URL : http://www.ibm.com/blogs/cloud-computing/2017/02/01/object-storage-benefits-myths-and-options/
'AWS > S3' 카테고리의 다른 글
S3 + CloudFront 를 이용한 웹 호스팅 (0) | 2021.10.18 |
---|