2021. 9. 10. 18:44ㆍCloud/AWS 기초
공유 파일 시스템(Storage)
네트워크를 만든 가장 기본적인 이유는 멀리 떨어진 곳에서 자유롭게 정보를 공유하는 것이었다. 이와같이 instance에도 '네트워크'를 통해 공유를 할 수 있는데 어떤 기술과 종류로써 공유를 하는지 알아보도록 하자.
* 여기서 말하는 네트워크는 인터넷 뿐 아니라 LAN, WAN등을 포함한 기기와 기기간 연결이 되어 서로 통신이 된다. 라는 큰 범위로 이야기 한다.
먼저 이전시간에 배운 EBS는 원칙적으로 1개당 1개의 인스턴스에만 연결이 된다. 즉 외장하드를 여기저기에 동시에 사용할 수 없는것과 같은 개념이다.(여러개를 연결할 수 있긴 하지만 일반적인 환경이 아닌 아주 특이한 케이스에서만 가능하다.)
S3도 공유 스토리지 용으로 사용할 수 는 있다. 하지만 이상적이지는 않다. 왜냐하면 S3의 경우 여러대의 인스턴스가 S3에 접근할때 동일 파일을 각각 따로 수정해 따로 업로드 하게 될 경우 가장 나중에 업로드 되는 파일이 최종적으로 업로드 된다. 동시접근에 대한 제어가 전혀 없다는 의미이다. 그렇기에 단순 파일배포, 다운로드 일 경우에만 S3를 공유 파일 시스템으로 사용하는것이 좋다.
그렇다면 AWS 기술 중 어떤 기술을 사용해야 좋을까? 바로 'EFS/FSx'기술이다. 이 기술은 AWS에서 순수하게 인스턴스가 공유할 수 있는 저장공간을 만들어 주는 서비스이다. 기술이 EFS와 FSx라는 두가지 기술인가? 라고하면 그건 또 아니고 그냥 이름이 저렇게 되어 있다. 그 이유는 특별한 것이 아니라 서비스가 생성될때 먼저 리눅스 기반의 공유 서비스인 EFS서비스가 먼저 만들어졌고 윈도우에서는 굉장히 사용하기 불편했기 때문에 윈도우 사용자의 불만을 해소하기 위해 FSx서비스를 출시하게 되었다. 두 서비스간의 차이는 단지 '운영체제의 프로토콜'의 차이 뿐이다.
위 그림은 EFS에 대한 기술을 도식화 시켜 둔 것이다. EFS는 기본적으로 NFSv4프로토콜을 사용하며 가용영역, 리전, VPC, 계정에 대해 공유 서비스를 사용할 수 있다. 서비스에 들어가서 공유폴더를 만든 후 마운트지점(공유대상)을 지정한다. 리눅스는 디스크나 드라이브를 연결할때 마운트 라는 용어를 사용한다. EFS파일시스템을 생성하면 리눅스에서 사용할 수 있는 마운트 명령어도 제공이 된다. 특이하게 저장된 데이터가 많으면 많을 수록 성능이 올라가는 특징을 가진다.
FSx의 경우 조금 더 복잡한데 윈도우 서버의 경우 디렉토리 서비스를(ADDS) 기반으로 사용하기 때문에 이것을 사용하기 위한 지식이 어느정도는 필요하다.
FSx Lustre라는 서비스가 있는데 공유시스템인데 굉장히 처리속도가 빠른 서비스가 필요할때 Lustre워크로드 를 사용하면된다. 지연시간 1밀리세컨드에 수백 기가바이트 의 처리시간을 가지는 아주 좋은게 있다. HPC(High Performance Computing)환경에서 주로 사용된다.
* High Performance Computing 고성능 컴퓨터
이 환경을 만들때 서버들을 마구 모아서 클러스터링(연결)시킨다. 이후 작업 하나를 병렬로 계산하도록 하는 방법이다. 서버들이 서로 데이터를 주고 받으면서 하나의 계산을 하는데 이때 이 서버들의 공유 파일 시스템이 필요하다. 이때 공유 파일 시스템이 느리다면 계산속도도 자연스럽게 느려지고 이것을 개선하기위해 HPC와 FSx의 Lustre버전이다.
* ADDS active Directory Domain Service 도메인과 작업으로 나누어서 서비스를 제공 해 주는 윈도우의 서비스 이다.
'Cloud > AWS 기초' 카테고리의 다른 글
AWS Container part.2 (Docker 개요) (0) | 2021.10.04 |
---|---|
AWS Container part.1(Container란 무엇일까?) (0) | 2021.10.04 |
Amazon EC2 Part.2(데이터 저장) (0) | 2021.09.08 |
Amazon EC2 part.1 (0) | 2021.09.08 |
Amazon S3 part.2 (0) | 2021.09.06 |