BLOG

Amazon Elastic File System (EFS) 사용 가이드
작성일: 2016-08-05

작성자 : 메가존 SA팀

 

안녕하세요 이번 시간에는 AWS EFS파일시스템 을 사용해 보도록 하겠습니다.

 

Preview 상태에서 1년이 지난 후에야 오픈이 된거라 기대가 됩니다. 늘 그렇듯  현재 사용  Region은  US East, US west, EU에서만 가능합니다. AWS Architecture 권고사항은 Multi-AZ으로 구성해야하는 부분있죠 가용성을 높이기 위한 설계인데 2개의 인스턴스에서 각각의 EBS볼륨을 사용했지만 이제는 NAS스토리지 역할을 할수 있는 EFS가 대신 하게 되므로 매우 편리하고 비용부분도 절약할 수 있습니다. 기존엔 GlusterFS 오픈소스를 이용한 방법이 있었지만, 인스턴스 비용과 EBS 비용이 부담이 되었습니다.

 

아참, 한가지 안타까운 부분은 윈도우 플랫폼에선 사용할 수 없습니다. Mount 까진 되었지만 권한 문제로 사용할 수 없고 AWS에서도 아직 사용할 수 없다고 안내 되어있습니다.

 

Preview 버전이 길어진 까닭도 이런한 부분이 있는것 같기도합니다.

 

참고하시고요,

그럼 리뷰를 시작하겠습니다.  EFS 사용방법과 간단한 퍼포먼스 테스트를 진행해 보겠습니다.

 

 

먼저 AWS Console 에서 EFS서비스로 이동하겠습니다.

 

 

 

 

1.Configure file system access

 

 

 

 

2. Configure optional settings

 

 

3. Revies and create

 

 

 

4. Success!  Life cycle stat 값이 Available 상태가 되면 EFS 세팅 완료.

 

 

 

 

5. File system access

위에 그림에서 DNS names 클릭하게 되면 DNS 정보를 확인 가능하다. 실제 mount 할때 사용하는 DNS 이다.

 

 

 

 

EC2 mount 설정시 필요한 세팅 정보가 제공되므로 따라서 설치하기만 하면 된다. 기본적으로  Amazon Linux의 경우 기본 설치가 되어있다.

 

 

 

 

6. mount 확인

 

aws 에서 친절하게 제공해주  config를 ec2에 세팅하게 되면 정상적으로 마운트가 되어있는지 확인이 필요하다.

 

<code class="hljs language-javascript" style="font-size: 0.85em; font-family: Consolas, Inconsolata, Courier, monospace; margin: 0px 0.15em; padding: 0.5em; white-space: pre; border: 1px solid #cccccc; border-radius: 3px; display: block; background-color: #f8f8f8; overflow: auto; overflow-x: auto; background: #23241f; color: #f8f8f2;">[root@ip-172-31-10-127 efs]# df -h
Filesystem                                            Size  Used Avail Use% Mounted on
/dev/xvda1                                            7.8G  1.7G  6.1G  22% /
devtmpfs                                              238M   60K  238M   1% /dev
tmpfs                                                 246M     0  246M   0% /dev/shm
us-east-1b.fs-xxxxxxxx.efs.us-east-1.amazonaws.com:/  8.0E   16G  8.0E   1% /efs
</code>

 

 

6. 성능테스트

Tools : FIO  – Flexible I/O tester(Disk I/O 성능을 측정해 주는 툴)

URL : http://linux.die.net/man/1/fio

사용법 : fio 수행 설정 파일을 만들어, fio 실행파일로 호출하면 수행된다. 결과로 io/bandwidth/sec와 IOPS를 확인 가능하다.

 

도구 설명
fio I/O 성능을 벤치마크합니다. fiolibaio-devel에 대해 종속성이 있습니다.

Amazon Linux에 fio를 설치하려면 다음 명령을 실행합니다.

<code class="nohighlight">[ec2-user ~]$ <strong class="userinput"><code class=""><span class="">sudo</span> yum install -y fio</code></strong></code>

Ubuntu에 fio를 설치하려면 다음 명령을 실행합니다.

<code class="nohighlight">$ <strong class="userinput"><code class="">sudo apt-<span class="">get</span> install -y fio</code></strong></code>

 

 

실행 및 결과.

 

 

<code class="hljs language-javascript" style="font-size: 0.85em; font-family: Consolas, Inconsolata, Courier, monospace; margin: 0px 0.15em; padding: 0.5em; white-space: pre; border: 1px solid #cccccc; border-radius: 3px; display: block; background-color: #f8f8f8; overflow: auto; overflow-x: auto; background: #23241f; color: #f8f8f2;">[root@ip-172-31-10-127 efs]# fio --directory=/efs --name fio_test_file --direct=1 --rw=randwrite --bs=16k --size=1G
--numjobs=16 --time_based --runtime=180 --group_reporting --norandommap
 결과: <span style="color: #ff0000;">write: io=4216.8MB, bw=23987KB/s, iops=1499, runt=180017msec
</span></code>
<code class="hljs language-javascript" style="font-size: 0.85em; font-family: Consolas, Inconsolata, Courier, monospace; margin: 0px 0.15em; padding: 0.5em; white-space: pre; border: 1px solid #cccccc; border-radius: 3px; display: block; background-color: #f8f8f8; overflow: auto; overflow-x: auto; background: #23241f; color: #f8f8f2;">[root@ip-172-31-10-127 efs]# fio --directory=/efs --name fio_test_file --direct=1 --rw=randread --bs=16k --size=1G
--numjobs=16 --time_based --runtime=180 --group_reporting --norandommap
 결과: <span style="color: #ff0000;">read : io=8275.5MB, bw=47073KB/s, iops=2942, runt=180019msec
</span></code>

참조.

Amazon EFS Performance

http://docs.aws.amazon.com/ko_kr/efs/latest/ug/performance.html

 

이상 EFS 파일 시스템 사용 방법과 간단한 성능테스트까지 알아 봤는데요,

 

장점은 각  Availability Zone 간에 데이터가 복제 되므로 안정성이 높아졌고, 사용한 만큼 지불방식이라 EBS보단 비싸지만  결코 비싼 가격은 아니라고 생각이 되네요.

 

GlusterFS를 대신해서 사용하게 되므로 인스턴스 비용도 절감이 되겠구요,

 

단점은 EFS는 네트워크 파일 시스템 버전 4.1 (NFSv4.1) 및 NFSv4.0 프로토콜 지원하므로 윈도우에서는 사용이 불가합니다.

하루빨리 서울리전과 윈도우 플랫폼에서도 사용해볼수 있는 날이 왔으면 좋겠네요.

지금까지 읽어봐 주셔서 감사합니다.