티스토리 뷰

인프라

EFS를 통한 네트워크 파일 시스템 구성

김도리개발자 2023. 2. 18. 11:27

AWS 파일 스토리지 서비스인 EFS(Elastic File System)을 생성하고 EC2 인스턴스와 연결해서 네트워크 파일 시스템을 구성해보자

 

EFS 구성에 필요한 SG(Security Group)을 생성해야 한다.

EC2 인스턴스와 EFS간 통신을 하기 위해서는 두 리소스 사이에 트래픽이 이동할 수 있도록 보안그룹이 있어야 한다.

EC2 인스턴스와 EFS간 마운트 타겟이 네트워크 파일 시스템과 관련된  프로토콜, 포트에 대한 통신을 허용할 수 있도록 규칙이 있어야 한다.

  • 마운트하다 : 어떠한 것을 사용할 수 있게 준비하는 것으로, 다른 파일 시스템/장치를 마치 지금 사용중인 곳에 있는 시스템/장치처럼 움직이도록 하는 것이다.

 

  • SG를 생성한다.

VPC > 보안 그룹에 들어가 우측 상단 보안 그룹 생성 버튼을 클릭한다.
이름과 설명을 입력하고 VPC는 디폴트로 선택된거 말고 지난번에 생성했던 lab-vpc로 선택한다.

 

  • NFS : Network File System으로 사용자가 원격 컴퓨터에 있는 파일/디렉토리에 접근하여 로컬에 있는 파일/디렉토리 처럼 처리할 수 있도록 해주는 분산 파일 시스템이다.
  • EFS와 연결하고자 하는 인스턴스에 연결되어 있는 SG를 선택하게 되는데 이는 public-ec2-sg라는 SG로부터 나오는 NFS 트래픽을 EFS의 마운트 타겟이 허용하겠다는 의미이다.

아웃바운드 규칙은 설정하지 않고 태그는 입력하여 보안 그룹 생성 버튼을 클릭한다.
생성 완료

 

 

  • EFS를 생성한다.

EFS로 들어가 파일 시스템 생성 버튼을 클릭한다.
조금 더 상세한 설정을 위해 사용자 지정 버튼을 클릭한다.

  • 스토리지 클래스 : 여러 가용 영역(Standard) 혹은 단일 가용 영역(One Zone)에서 사용할 것인지 설정
  • 자동 백업 : 주기적으로 백업을 할 것인지 설정
  • 수명 주기 관리 : 일정 기간 접속하지 않은 파일들을 Standard에서 IA로 마이그레이션해서 비용을 효과적으로 관리할 수 있게 해줌
  • IA : Infrequent Access로 자주 액세스하지 않는 것

설정 값들을 입력한 후 다음 버튼을 클릭한다.
lab-vpc를 선택한다.

  • 마운트 타겟 : EFS 마운트 될 수 있도록 엔드포인트에 ip 주소를 제공하는데 하나의 az에는 하나의 마운트 타겟을 만들 수 있게 설정 되어 있다.

서브넷 ID에는 public-subnet-a1, public-subnet-c1을 각각 선택하고, 보안그룹은 위에서 만든 sg로 선택하여 다음 버튼을 클릭한다.
입력하지 않고 다음 버튼을 클릭한다.

  • 파일 시스템 정책 : 파일 시스템에 접근, 읽기 등과 같은 정책을 JSON형식으로 설정하는 메뉴

생성 버튼 클릭

 

  • EC2 인스턴스에 EFS 마운트 시킨다.

서버에 접속하여 df -h 명령어를 친다.

  • df 명령어 : 파일 시스템의 디스크 공간을 확인하는 것으로 현재 연결된 EFS가 없는 것을 확인할 수 있다.
  • EFS를 인스턴스에 마운트 하는 방법
    • NFS 클라이언트를 이용해서 마운트 하는 방법
    • EFS 마운트 헬퍼를 이용해서 마운트 하는 방법 (우리는 AWS에서 제공하는 EFS 마운트 헬퍼를 사용한다.)

sudo yum install amazon-efs-utils -y 명령어를 쳐서 EFS 마운트 헬퍼를 설치한다.
EFS를 마운트 하기 위한 마운트 포인트를 생성한다.
lab-vpc-efs에 들어가 우측 상단에 있는 연결 버튼을 클릭한다.
EFS 헬퍼 사용에 있는 명령어를 복사한다.
터미널에 복사한 명령어를 입력하면 별다른 에러 없이 완료된다.
맨 하단에 새로운 파일 시스템이 추가된 것이 보인다.

 

EFS에 파일 다운로드하기

S3에 업로드 해두었던 파일들이 있다.
객체 URL을 복사한다.
wget "(객체 url)" 명령어로 car.jpg, mycar.html 파일을 다운 받는다.
EC2 웹페이지를 열어보니 정적 웹사이트 호스팅과 동일하게 보여진다.

 

  • public-ec2-c1에도 동일하게 진행한다.

EFS 헬퍼를 다운 받는다.
efs 디렉토리를 만들고 lab-vpc-efs에 연결시키는 명령어를 친다.

  • 그러면 아까 public-ec2-a1에서 efs로 다운받아두었던 car.jpg와 mycar.html을 확인할 수 있다.

동일하게 웹페이지가 로드 된다.

 

  • public-ec2-c1에서 mycar.html 파일 수정을 하면 public-ec2-a1에서도 동일하게 수정된 파일로 보여지는지 확인해보자

수정하러 들어가기 위해 vi 명령어 사용하기
파일의 문구 살짝 수정하기
public-ec2-c1 웹사이트 열어보면 바뀐 문구로 보여짐
public-ec2-a1 보면 동일하게 바뀐 문구로 보여짐

  • 네트워크 파일 시스템이 public-ec2-a1, public-ec2-c1에 동시에 연결이 되어있다는 것을 알 수 있다.

 

EFS 파일 시스템을 생성하여 두개의 EC2 인스턴스에 마운트 하고, 동일한 하나의 파일 시스템이 복수의 EC2 인스턴스에 네트워크 연결이 되어서 데이터와 파일을 공유하게 되었다.

 

https://www.inflearn.com/course/lecture?courseSlug=aws-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%9D%B8%ED%94%84%EB%9D%BC-%EA%B8%B0%EB%B3%B8&unitId=111940 

 

학습 페이지

 

www.inflearn.com

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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 31
글 보관함