회의 중에 스토리지 관련 얘기가 나와서

S3, EBS, EFS 스토리지에 대한 공부도 할 겸 비교해보자.


먼저 알아둬야 할 용어에 대해 정리해둔다.

  1. On-premise : 기업의 서버를 클라우드에 운영하는 방식이 아닌, 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식
  2. Public Cloud : 기업의 서버를 공급해주는 업체가 따로 존재하며, 인터넷을 통해서 서비스나 리소스를 제공
  3. Private Cloud : 클라이언트의 전용 클라우드 환경. 일반적으로 사용자 방화벽 내에 위치하며 액세스 권한이 있는 사람만 이용
  4. 프로비저닝 : 무언가를 빌리는 행위로 보면 된다.
  5. AZ(Availability Zone) : 가용성 영역, 예를 들면 클라우드 서비스를 사용할 수 있는 국가나 지역
  6. IOPS(Input/Output Operations Per Second) : 저장장치의 속도를 나타내는 측정 범위
  7. S3 Region : Bucket 생성 위치
  8. 정적 웹페이지 : 주로 변하지 않는 html 페이지로 메뉴 소개, 가이드 등에 사용됨. 그 외 나머지는 다 동적 웹페이지

 

1. EFS(Elastic File Storage)

  • AWS 클라우드 서비스와 On-premise에서 간단하게 사용할 수 있는 확장 가능한 완전 관리형 탄력적 NFS 파일 시스템
  • EC2 Linux 인스턴스에 마운트된 NFS를 통해 VPC에 필요한 파일에 접근하거나 AWS Direct Connect로 연결된 On-premise 서버의 파일에 접근할 수 있다.
  • NAS와 비슷한 서비스라고 이해하면 된다. 예를 들면, 수천대의 EC2 인스턴스간 파일 시스템 공유 가능하며, 병렬 접근 가능하기 때문에 두개 이상의 EC2로부터 하나의 공유된 스토리지 공간이 필요할 때 EFS 사용.
  • 저장소가 공유되기 때문에 응용프로그램 개발에 사용하기 적합하다.
  • 직접 해보고 싶은데, 무료 계정의 사용량을 다 쓰는 바람에 금액이 청구돼서 직접 해보지는 못할 것 같고 혹시라도 나중에 해보기 위해서 링크만 남겨둔다.(https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-EFS-%EA%B0%9C%EB%85%90-%EC%9B%90%EB%A6%AC-%EC%82%AC%EC%9A%A9-%EC%84%B8%ED%8C%85-%F0%9F%92%AF-%EC%A0%95%EB%A6%AC)


2. EBS(Elastic Block Storage)

  • 클라우드에서 사용하는 가상 하드디스크, EC2 인스턴스에 사용할 영구 블록 스토리지 볼륨
  • EC2 인스턴스가 종료되어도 별개로 작동, 네트워크로 연결된 서비스

  • 네트워크로 연결되어 있기 때문에 하나의 인스턴스에 종속되어 있지 않고, 다른 인스턴스에 연결 가능하다.
  • 여러 인스턴스에서 하나의 EBS를 사용 가능하다.
  • 인스턴스에서도 하나의 EBS만 사용하지 않고 여러 EBS를 동시에 사용 가능하다.

  • 동일한 AZ여야 연결 및 통신이 빠르므로, 다른 AZ에서는 사용할 수 없다.
  • 5가지 타입이 있다.(범용, 프로비전된 IOPS, 쓰루풋 최적화 HDD, Cold HDD, 마그네틱)

  • 저장 타입은 2가지가 있다.(EBS 기반, 인스턴스 저장 기반)

  2-1. EBS 기반

  • EC2와 네트워크로 연결
  • 네트워크로 연결되었기 때문에 상대적으로 속도가 느리다.
  • 대신 인스턴스가 삭제되더라도 EBS는 남아있다.
  • 다른 인스턴스에 연결가능(USB처럼)

  2-2. 인스턴스 저장 기반

  • EC2안에 존재
  • 상대적으로 속도가 빠르다.
  • 인스턴스 삭제시 당연하게 삭제 된다.
  • 인스턴스에 종속적이기 때문에 다른 인스턴스에 사용 불가
  • 주로 삭제할 데이터들을 저장


3. S3(Simple Storage Service)

  • 데이터를 Online Object화 하여 저장하는 서비스(like 구글드라이브)
  • Online이 붙는 이유는 데이터 조작에 HTTP/HTTPS를 통한 API가 사용되기 때문
  • 어디서나 쉽게 데이터를 저장하고 불러올 수 있어 개발자가 쉽게 웹 규모 컴퓨팅 작업을 수행할 수 있다.
  • 비용 저렴, 무제한 데이터, 별도의 스토리지 확장/축소를 신경쓰지 않아도 된다.
  • 파일 업로드, 삭제, 업데이트만 가능 / 프로그램 설치 불가능.

3-1. Object와 Bucket

  • Object는 데이터와 메타데이터를 구성하고 있는 저장 단위
  • Bucket은 Object를 저장하고 관리(Directory나 Folder의 개념과 비슷)
  • 예를 들면, JJ라는 이름의 버킷에 Test.txt 객체 파일을 저장하면 https://JJ.s3.amazonaws.com/Test.txt 라는 URL 생성
https://BucketName.Region.amazoneaws.com/ObjectFileName
  • Bucket은 소유권을 이전할 수 없다.       
  • Bucket안에 다른 Bucket을 둘 수 없다.
  • Bucket의 이름은 S3 안에서 유일해야 한다. 


  • 장기간 방치되는 파일들, 정적 웹사이트 호스팅, 복잡한 쿼리를 실행할 수 있는 데이터(규모가 큰 테이블이나 복잡하게 연결되어 있는 데이터) 등을 저장할 때 사용한다.

 

 

일단은 이론적인 부분들은 이렇다.

직접 다 해보고 싶은데 어제인가..갑자기 3천원이 결제되길래 뭔가 봤더니

aws였다..무료 계정도 특정 데이터 이상 사용하면 돈을 내는 것 같아서 무서워서 못해보겠다..ㅋㅋ

 

 

728x90

'Cloud > AWS' 카테고리의 다른 글

AWS SAA 공부3  (0) 2023.10.18
AWS SAA 공부2  (1) 2023.10.17
AWS SAA 공부1  (1) 2023.10.16
AWS EC2 환경에 Slurm 구축해보기(Ubuntu)  (0) 2023.09.19
AWS EC2(Elastic Compute Cloud) 사용 해보기  (0) 2023.09.18

+ Recent posts