EC2 간에 파일 시스템을 공유하기 위해 AWS EFS를 구현하는 방법은 무엇입니까?

다중 서버 환경에서 파일 시스템 공유를 위한 AWS EFS 활용법

다수의 서버를 운영하며 파일 시스템을 공유해야 하는 환경에서, 네트워크 파일 시스템(NFS) 구성은 필수적입니다. NFS는 여러 서버가 동일한 파일 시스템에 접근할 수 있도록 해주지만, 구축 과정에 상당한 시간과 노력이 필요합니다.

기존 환경에서는 다양한 팀의 협업이 필요하며, NFS 설정에 상당한 시간이 소요될 수 있습니다. 그러나 AWS의 Elastic File System(EFS) 서비스를 이용하면 이러한 과정을 몇 분 만에 완료할 수 있습니다.

AWS EFS는 EC2 인스턴스에서 사용할 수 있는 확장 가능한 파일 스토리지를 제공합니다. 필요한 용량에 따라 자동으로 확장 및 축소되므로 용량 관리에 대한 걱정을 덜 수 있습니다.

EFS의 작동 방식을 이해를 돕기 위해 AWS 페이지에서 관련 이미지를 가져왔습니다.

EFS의 주요 장점은 다음과 같습니다.

  • AWS에서 완벽하게 관리해 줍니다.
  • 사용한 만큼만 비용을 지불하는 경제적인 모델입니다.
  • 높은 가용성과 내구성을 보장합니다.
  • 자동으로 확장 및 축소됩니다.
  • 뛰어난 성능을 제공합니다.

본 가이드에서는 두 개의 EC2 Ubuntu 인스턴스를 활용하여 하나의 EFS를 생성하고, 이를 두 서버에 마운트하는 과정을 상세히 안내합니다.

EFS 설정 방법

  • 먼저 AWS 콘솔에 로그인합니다.
  • 서비스 메뉴에서 “스토리지”를 선택하고 EFS를 클릭합니다. (직접 링크)
  • “파일 시스템 생성” 버튼을 클릭합니다.

  • AWS는 각 가용 영역에 자동으로 IP 주소를 할당합니다. 필요한 경우 다음 화면에서 설정을 변경할 수 있습니다.

  • 필요한 태그를 추가하고 성능 모드를 선택합니다 (범용 또는 최대 I/O).

  • 설정 내용을 확인한 후 “파일 시스템 생성” 버튼을 클릭합니다.

생성 과정은 몇 초 정도 소요되며, 완료되면 성공 메시지가 표시됩니다.

축하합니다! 파일 시스템이 성공적으로 생성되었습니다. 이제 NFSv4.1 클라이언트가 설치된 EC2 인스턴스에서 해당 파일 시스템을 마운트할 수 있습니다. 또한 AWS Direct Connect를 통해 온프레미스 서버에서도 마운트가 가능합니다.

생성된 EFS는 목록에서 확인할 수 있습니다.

이제 EFS 생성 과정을 완료했으며, EC2 인스턴스에 마운트할 준비가 되었습니다.

EC2에 EFS 마운트하기

마운트하기 전에 NFS 클라이언트를 설치해야 합니다. 상세 정보를 확인하려면 목록을 확장하고 “Amazon EC2 마운트 지침”을 클릭하십시오.

마운트 과정은 다음과 같습니다.

  • 두 개의 EC2 인스턴스에 모두 접속하여 NFS 클라이언트를 설치합니다. Ubuntu를 사용하므로 다음 명령어를 사용합니다.
apt-get install nfs-common
  • EFS를 마운트할 디렉토리를 생성합니다.

예시: /apps

cd /
mkdir apps

제공된 마운트 명령어를 이용하여 파일 시스템을 마운트합니다.

예시:

mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-4fd14a06.efs.us-east-1.amazonaws.com:/ apps

참고: 마운트 중 문제가 발생하면 문제 해결 가이드를 참고하십시오. 또한 보안 그룹 설정을 확인하여 다음을 확인해야 합니다.

  • NFS 포트 (2049)가 EC2 인스턴스의 인바운드 규칙에서 허용되어야 합니다.
  • EC2 보안 그룹이 EFS 보안 그룹에서 허용되어야 합니다.

마운트는 몇 초 정도 소요될 수 있으며, `df -h` 명령어를 실행하면 `/apps`가 성공적으로 마운트된 것을 확인할 수 있습니다.

[email protected]:/# df -h | grep apps
fs-4fd14a06.efs.us-east-1.amazonaws.com:/  8.0E      0 8.0E   0% /apps
[email protected]:/#

이제 다른 서버에 로그인하여 동일한 방식으로 `/apps` 디렉토리를 생성하고 EFS를 마운트합니다.

두 서버에서 `/apps`에 접근할 수 있는지를 확인함으로써 EFS가 다른 서버에 성공적으로 마운트되었는지 확인합니다.

[email protected]:/apps# df -h | grep apps
fs-4fd14a06.efs.us-east-1.amazonaws.com:/  8.0E      0 8.0E   0%
/apps [email protected]:/apps#

간단하죠?

몇 가지 파일을 생성하여 테스트해 본 결과, 전반적으로 좋은 성능을 보여주었습니다. AWS EFS는 EC2 인스턴스 간에 파일 시스템 공유가 필요한 경우 매우 유용한 서비스입니다. 한 번 시도해 보시길 추천합니다.

AWS에 대해 더 자세히 알고 싶으신가요? 다음 Udemy 강좌를 확인해 보세요.

이 기사가 유익했나요? 다른 사람들과 공유해 주세요!