Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

DevYGwan

AWS - EFS 사용법 본문

Study/AWS_Service

AWS - EFS 사용법

YGwan 2022. 5. 5. 15:01

 

EFS란

  • Elastic File System의 약자로 EC2용 관리형 파일 스토리지이다.
  • 간단하고 확장이 가능하며 안정적인 클라우드 파일 스토리지이다.
  • 파일을 추가/제거할때마다 스토리지 용량이 탄력적으로 자동 확장 및 축소가 가능하다.
  • 여러 인스턴스를 한번에 mount 할 수 있습니다.
  • EBS보다 가격대가 더 높습니다.

 

Mission

다른 인스턴스에서 EFS 파일 시스템을 마운트하고 인스턴스가 동일한 파일을 가지고 있는지 확인합니다.

 

 

1. EFS 생성

EFS로 이동 후, 파일 시스템 생성 버튼을 클릭합니다. 버튼을 클릭하면 아래와 같은 창이 생성됩니다.

이름을 입력하고, VPC을 지정합니다. 그 후, 가용성 및 내구성에서 리전과 One Zone을 선택할 수 있습니다. 둘의 차이는 가용 영역에 제한을 둘 것인가 안 둘 것인가 입니다. 리전을 선택할 경우 여러 가용 영역에서 접근 할 수 있는 파일 시스템을 생성하기 때문에 이미지 하단에 보이는 가용 영역 선택창이 없고, One Zone을 선택할 경우 여러 가용 영역 중 한개의 가용 영역에서만 접근할 수 있는 파일 시스템을 생성합니다. 당연히 One Zone이 리전에 비해 가격이 저렴합니다. 저같은 경우 One Zone을 선택한 후, us-east-1d 가용 영역을 선택했습니다.(미리 만든 인스턴스가 해당 가용 영역을 가지고 있기 때문입니다.)

 

생성완료 버튼을 클릭하면 아래와 같이 파일시스템이 생성된 것을 알 수 있습니다.

 

 

2. 인스턴스 간의 vpc확인

이제 미리 만들어 둔 인스턴스의 vpc을 확인해야 합니다. 확인 후, 만든 EFS와 VPC가 다르다면 해당 VPC로 변경해줘야 EFS를 사용할 수 있기 때문입니다. 따라서 그 부분을 수정하기 위해 인스턴스 페이지로 들어가 해당 인스턴스 ID 왼쪽 클릭 -> 보안 -> 보안 그룹 변경을 들어갑니다. 해당 작업은 아래 사진을 첨부해 두었습니다.

 

 

이렇게 들어간 페이지에서 해당 EFS vpc에 맞는 보안 그룹을 선택 후, 저장하면 됩니다. 저같은 경우 defalut vpc를 사용하였으므로 defalut로 선택 후, 저장했습니다.

 

마찬가지로 다른 인스턴스도 동일한 작업을 수행합니다.

 

3. 작업 수행

이 후, 인스턴스에 연결해 아래와 같은 작업을 수행합니다.

 

1. nfs 클라이언트를 설치합니다.

$ sudo yum -y update
$ sudo yum -y install nfs-utils

 

 

2. EFS mount를 진행 할 디렉터리를 생성합니다.

$ mkdir ~/efs-mount-point

 

 

3. 해당 파일에 Amazon EFS 파일 시스템을 탑재합니다.

 

이부분 같은 경우 해당 EFS 페이지에서 확인 할 수 있습니다. EFS 페이지로 들어가 아까 만든 파일시스템을 클릭 -> 연결을 클릭하면 아래와 같은 창이 나옵니다. 이때 NFS 클라이언트 사용 부분을 복사하면 됩니다. 이때 마지막에 들어가는 것은 mount할 디렉터리 명이므로 전단계에서 만든 디렉터리 명을 사용합니다.

 

sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport
fs-09adba7833cc6d6a6.efs.us-east-1.amazonaws.com:/ efs-mount-point

 

 

4. 해당 파일로 이동합니다.

$ cd ~/efs-mount-point

 

 

5. 파일을 쓰기 위해 권한 변경

$ sudo chmod go+rw .

 

디렉터리로 이동한 후, 파일을 쓰려고 하면 permission denied 오류가 발생합니다. 왜냐하면 파일시스템의 루트 디렉터리는 생성 시 루트 사용자가 소유하며 루트 사용자의 쓰기가 가능하기 때문에, 파일을 추가할 수 있도록 권한을 변경해야 합니다.

 

 

6. 텍스트 파일 생성

$ touch test-file.txt

 

공유하고 싶은 파일을 생성합니다.

 

 

7. 다른 인스턴스로 이동 후 1, 2, 3, 4번 과정을 또다시 실행하고 ls 명령어를 실행하면 전 인스턴스에서 생성된 텍스트 파일이 그대로 있는 것을 확인할 수 있습니다.

 

 

 

EFS는 전에 작업한 EBS와는 다르게 여러개의 인스턴스를 동시에 mount 할 수 있기 때문에 EBS처럼 따로 연결할 필요도 없고 작업 후에 unmount하고 분리하는 과정도 필요 없습니다.

 

'Study > AWS_Service' 카테고리의 다른 글

AWS - WordPress 환경 설정  (1) 2022.05.15
AWS - S3  (0) 2022.05.11
AWS - EBS 사용법  (0) 2022.05.05