AWS

[속보] Amazon EFS 서비스 서울 리전 출시

여기서 다루는 내용

· 들어가며
· 주요 특징
· 구성 데모
· 마치며


Amazon EFS 서울 리전 출시 소식


안녕하십니까, GS네오텍 최준승입니다.

AWS 환경에서 두개 이상의 EC2로부터 하나의 공유된 스토리지 공간을 사용하려면 어떻게 해야 할까요? 이전에는? How?

우선 EBS 볼륨은 (내부적으로 네트워크 통신을 하긴 하나) 하나의 EC2에만 붙여 쓸 수 있으니 안되고
S3를 쓸 수는 있는데, 전통적인 방식으로 마운트해서 쓰기는 어렵습니다. 결국 REST API로 통신을 해야죠.
그래서 뭔가 찝찝하지만 s3fs나 goofys같은 오픈소스 트릭을 쓰게 되는데..
인터페이스를 논하기 전에. 객체 스토리지인 S3를 전통 방식의 파일시스템 위에 공유스토리지로 쓴다는 것에 모순이 있습니다.

File Gateway에서 EC2를 하나 만들어, NFS 프토토콜을 빼주는 중간 역할을 하고 백엔드는 S3를 쓰는 방법도 있고
아님 스토리지를 서비스같이 제공하는 모모 제품을 사용하면 엥간한 기존 인터페이스는 대부분 사용할 수 있긴 합니다.

하지만 문제는 이겁니다. 이 계층의 가용성은 누가? 어떻게? 관리해주지요?

만일 이걸 AWS가 매니지드 서비스 형태로 제공한다면?

  • 이게 AWS 이슈인지, 3rd Party 이슈인지, 연동 구간의 설정 이슈인지 구분할 필요가 없습니다
  • 가용성은 매니지드 서비스니까 AWS가 알아서 관리해 줍니다
  • AWS의 타 서비스와 아주 예쁘게(자연스럽게) 연동되어 있습니다. 이슈가 생겼을때는 AWS 티켓으로 문의하면 우왕굿

바로 이 서비스의 이름은 Amazon EFS 입니다.
제 기억에는 3년 전쯤에 정식 출시된 것 같은데.. 드디어 `18년 5월에 서울 리전에도 출시되었습니다.

도쿄 리전보다도 먼저 나오다니. 흔치 않은 일이네요. 스고이데스네..


주요 특징


Amazon EFS 서비스의 주요 특징을 간단한 질답을 통해 살펴보도록 하겠습니다.

▨ 어느곳에서 마운트해서 사용?
→ 동일 VPC 내의 EC2 인스턴스, D/X로 연결된 On-Premise 구간 시스템

▨ 마운트시 지원하는 프로토콜은?
→ NFSv4 (따라서 1차적으로는 Linux만 가능)

▨ 전체 용량 제한은?
→ 없음. 볼륨 크기 프로비저닝 불필요.

▨ 하나의 EFS 객체에 동시 연결 가능한 클라이언트 수는?
→ 1000대도 동시 연결 가능

▨ 가용성, 내구성 관리는?
→ AWS 매니지드 서비스임. AWS가 알아서 함

특징은 AWS의 타 스토리지 서비와 비교하여 살펴보도록 하겠습니다.

※ 참고링크: When to Choose Amazon EFS

 Amazon EFS
:: File ::
Amazon S3
:: Object ::
Amazon EBS
:: Block ::
지연시간
(Latency)
낮음
consistent
낮음매우 낮음
consistent
단위 처리량
(Throughput)
Multiple GBs per secondMultiple GBs per secondSingle GB per second
가용성/내구성복수 AZ에 복제복수 AZ에 복제단일 AZ에 복제
접근복수의 인스턴스에서 동시 접근
(마운트 방식)
수백만 사용자가 접근 가능
(Public 구간)
단일 EC2에서 접근
(마운트 방식)
가격비쌈제일쌈중간

EFS의 경우, 월평균 100GB정도의 용량을 사용한다고 하면 요금이 30$ 전후입니다.


그럼 한번 설정해봅시다


※ [AWS Management Console] ▷ [EFS] ▷ [Create File System]

  • 1단계: EFS 또한 VPC 환경에서 구성됩니다. 놓일 VPC를 선택하고, AZ별로 하나씩 서브넷을 선택합니다

  • 2단계: 원하는 태그를 붙이고, 성능 모드를 선택합니다. 암호화 옵션도 선택합니다

  • 3단계: 선택한 옵션을 확인하고, 생성 작업을 완료합니다

참 쉽죠? 구성은 모두 끝났습니다. 구성이 완료되면 아래와 같이 마운트 포인트를 띄워줍니다.

이제 마운트를 해볼 차례입니다. 동일 VPC에 EC2 인스턴스를 하나 띄웠습니다.

$ sudo yum install -y amazon-efs-utils
Loaded plugins: priorities, update-motd, upgrade-helper

(skip)

Installed:
  amazon-efs-utils.noarch 0:1.2-1.amzn1

Dependency Installed:
  stunnel.x86_64 0:4.56-4.13.amzn1

Complete!

필요한 패키지를 설치하고

$ sudo mkdir efs
$ sudo mount -t efs fs-d627c2b7:/ efs
$ df -h
Filesystem                                      Size  Used Avail Use% Mounted on
devtmpfs                                        484M   60K  484M   1% /dev
tmpfs                                           494M     0  494M   0% /dev/shm
/dev/xvda1                                      7.8G  1.1G  6.7G  14% /
fs-d627c2b7.efs.ap-northeast-2.amazonaws.com:/  8.0E     0  8.0E   0% /home/ec2-user/efs

경로를 만든 후에 마운트 명령어를 사용했습니다. 짜잔.. 아주 간단하네요.


마치며


사람은 본성이 게으른지라.. (아님 저만)
불편한 곳에서 편한곳으로는 갈 수 있지만.. 그 역방향으로는 좀처럼 가지 못합니다.

가격은 좀 비싸더라도. 이런 관리/사용이 편리한 서비스를 한번 써보게 되면
예전 그 복잡했던 환경으로 다시는 돌아가고 싶지 않을 것 같다는 생각이 드네요.

Amazon EFS 서비스의 보다 구체적인 내용은 다른 포스팅으로 공유드리도록 하겠습니다.

그럼 마치겠습니다. 끝!

Related Post

태그 : , ,

필자: 최준승

GS네오텍에서 일하고 있습니다. 정리하는 것을 좋아합니다

전체 게시물수 : 127

전체 조회수 : 1758

게시물 공유하기