TechY's blog
Always think Tech and Y

EBS, EFS, S3 간략 정리

|

개인적 사이드 프로젝트로 한국 주식시장에 대한 Screener 및 Dashboard 사이드 프로젝트를 하게 되었다.

실습 겸 하여 AWS free tier를 사용해, 서버를 구축해보려고 하던 중에, 제일 먼저 저장한 데이터에 대한 처리 및 저장, 공유에 대해 고민하게 되었고, EBS(Elastic Block Store), EFS(Elastic File System), S3(Simple Storage Service) 를 이야기해보려 한다.

참고 자료 : AWS doc, redhat 사실 상 정리가 더 잘되어 있는 블로그

Alt text

  • 참고 자료의 이미지로, 위의 사진이 많은 것을 설명해주어 첨부하였다.

Amazon EBS

  • Block-level storage
  • EC2 에 붙여서(attach) 쓰는 storage 로써, 단일 EC2에만 attach할 수 있다.
  • EBS 볼륨은 EC2 인스턴스가 stop, terminate 되어도 독립적으로 유지된다. (외장 하드 느낌)
  • EBS snapshot을 지원한다.

Amazon EC2 instance store

  • EC2를 만들면 기본적으로 존재하는 스토리지이다.
  • 해당 볼륨은 EC2에 의존적이므로 인스턴스 수명과 볼륨의 수명이 일치한다.

Example of EBS & EC2 instance storage

Alt text

위의 이미지를 보면, EC2 instance를 생성할 때 설정했는 8G 의 용량이 disk라는 이름으로 할당되어 있고, xvdf 라는 이름으로 attach 된 EBS 볼륨이 /data 라는 path로 마운트되어 있다.

Amazon EFS file system

  • Scalable file storage
  • NAS 처럼 여러개의 EC2 인스턴스가 파일 시스템에 접근할 수 잇다. (공통 데이터 소스)
  • 기본적으로 제공되는 snapshot, backup 서비스가 없어서, 별다른 solution이나, AWS backup 서비스를 사용해야 한다.

Amazon S3

  • Object storage
  • 인터넷 데이터의 repository 역할을 한다. (get, post 등이 가능)
  • EC2 는 AMI(ex. os, app config) 를 저장하기 위해 S3를 사용
  • EBS, EC2 storage 의 snapshot, backup을 저장할 때 사용

무엇을 써야 할까

  • 상황
    • 여러 유저들의 작업은 각자 컴퓨터 로컬에서 이루어진다.
    • 데이터 소스는 NAS와 같이 네트워크로 연결된 형태여야 한다.
  • 생각의 흐름
    • S3는 wget, get과 같이 저장된 데이터를 commit, push 하는 형태이기 때문에, 실시간 sync가 되지 않아, NAS 대체로 적합하지 않다.
    • EC2를 사용하지 않을 것이기 때문에, EC2 attached storage 인 EBS는 사용할 수 없다. 심지어, EC2를 쓴다해도, 단일 EC2가 아닐 것이다.
    • EFS를 local server 에 마운트하면 가능하지 않을까

자료를 모아보자

참고자료1, 참고자료2 를 보니, 클라우드가 아닌 온프레미스 서 에서도 VPN을 통해서 EFS 파일 시스템에 연결할 수가 있다고 한다. 실제로 해보는건 성공시킨 다음에, 다음 포스팅에서 나눠서 써야겠다..

Comments