Question


하나의 EFS를 생성하고 두개의 액세스 포인트를 생성하여 하나의 Linux서버에서 각각 다른 디렉터리에 마운트 하는 방법이 무엇인가요?



Answer


하나의 AWS EFS를 생성하고 두개의 액세스 포인트를 생성하여 각각 다른 디렉터리에 마운트 하는 방법은 아래와 같습니다.


순서

1. Amazon EFS 파일시스템 생성

2. 액세스 포인트 생성 및 파일 시스템 정책 수정

3. 보안 그룹에 인바운드 규칙 추가

4. amazon-efs-utils 패키지 설치

5. EFS 액세스 포인트 마운트


=====================================================================================================================================


  1. Amazon EFS 파일시스템 생성

 

1-1. 파일 시스템의 이름과 VPC를 지정하여 파일시스템을 생성합니다.

(해당 방법은 EFS와 EC2가 동일한 VPC와 동일한 리전에 있다는 구성하에 진행되는 테스트 내용입니다.)




  1. 액세스 포인트 생성 및 파일 시스템 정책 수정

 

2-1. 생성한 EFS에 두개의 액세스 포인트를 이름과 경로를 입력하고 POSIX 사용자를 입력해줍니다.

POSIX 사용자는 마운트 되는 가상 디렉터리의 권한을 부여하고자 하는 사용자ID(UID)와 그룹ID(GID)를 입력합니다.

(ROOT를 사용자와 그룹으로 지정하기 위해서는 파일시스템 정책에 "ClientRootAccess"권한을 추가하여야 합니다.)


또한 경로를 /의 하위 디렉토리로 지정한다면 "루트 디렉터리 생성 권한"에도 동일한 ID값을 입력하고 권한은 일반적인 755를 입력해줍니다.



2-2. 파일시스템의 “파일시스템 정책”탭에서 편집을 선택합니다.


2-3. 기본적으로 루트액세스 금지 정책을 선택하여 마운트와 쓰기가 가능한 정책을 설정하고 저장합니다.



  1. 보안 그룹에 인바운드 규칙 추가

 

3-1. 파일시스템의 보안 그룹이 EC2의 보안그룹과 동일한지 확인합니다.


3-2. 보안그룹에 NFS 포트(2049)를 추가합니다.


  1. amazon-efs-utils 패키지 설치

✔ Amazon Linux의 경우 간단하게 yum install -y amazon-efs-utils 명령어를 이용하여 설치 할 수 있지만 이외의 리눅스 서버의 경우 GitHub에서 패키지를 다운 받아서 설치를 진행해야 합니다.


아래의 패키지 설치는 CentOS를 기준으로 진행하였습니다.


4-1. Git 설치합니다.

# sudo yum -y install git


4-2. rpm-build 설치합니다.

# sudo yum -y install rpm-build


4-3. efs 패키지를 git에서 다운로드 합니다.

# git clone https://github.com/aws/efs-utils


4-4. 다운로드를 확인합니다.


4-5. 다운받은 efs-utils로 이동합니다.

# cd efs-utils


4-6. make 설치합니다.

# sudo yum -y install make


4-7. amazon-efs-utils을 rpm으로 make 합니다.

# sudo make rpm


4-8. amazon-efs-utils을 설치합니다.

# sudo yum -y install ./build/amazon-efs-utils*rpm


  1. EFS 액세스 포인트 마운트


5-1. 마운트를 진행할 디렉터리를 생성합니다.(예 : efs-mount-01, efs-mount-02)


5-2.efs 명령어를 이용해 액세스 포인트에 마운트를 진행 합니다. 

(예 : sudo mount -t efs -o tls,accesspoint=[액세스 포인트 ID] [파일시스템 ID]: /[마운트 포인트] )

sudo mount -t efs -o tls,accesspoint=fsap-0ee176fc93bd912d8 fs-a03c9ac0: /efs-mount-01

sudo mount -t efs -o tls,accesspoint=fsap-0b1c3481c58a9a59e fs-a03c9ac0: /efs-mount-02


5-3. 정상적으로 각 디렉터리를 다른 마운트 포인트로 정상적으로 마운트가 완료 되었음을 확인합니다.



관련하여 문의사항이 있으시거나 지원이 필요하시면

언제든지 저희 고객지원포털에 문의 남겨주시기 바랍니다.


감사합니다.