Amazon Elastic File System (EFS)

kauze98·2025년 5월 23일

AWS 실습

목록 보기
14/16

1. 개요

AWS Management Console을 활용하여 Amazon Elastic File System(Amazon EFS)을 소개하고, EFS 파일 시스템을 안전하게 사용할 수 있도록 보안 그룹(Security Group)을 설정하는 과정을 실습해보려고 합니다.

Amazon Elastic File System(Amazon EFS)

AWS에서 제공하는 완전 관리형 네트워크 파일 시스템 서비스입니다.

  • 완전 관리형, 서버리스, 탄력적 파일 스토리지: 사용자는 스토리지 용량이나 성능을 직접 관리하지 않아도 되고, 필요에 따라 페타바이트(PB) 규모까지 자동으로 확장·축소됩니다.

  • 공유 파일 시스템: 여러 EC2 인스턴스(리눅스 기반)에서 동시에 마운트하여 파일을 공유할 수 있습니다. 즉, 여러 서버에서 동일한 파일 시스템에 병렬로 접근할 수 있습니다.

  • NFS 프로토콜 지원: 표준 Network File System(NFS) v4 프로토콜을 지원해, 기존 온프레미스 환경의 NFS/NAS와 유사하게 사용할 수 있습니다.

  • 고가용성 및 내구성: 여러 가용 영역(AZ)에 데이터를 중복 저장하여, 하나의 AZ에 장애가 발생해도 데이터 접근이 가능합니다.

  • 간편한 생성 및 관리: 웹 콘솔에서 몇 번의 클릭만으로 파일 시스템을 생성하고, EC2 인스턴스에 쉽게 마운트할 수 있습니다.

  • 비용 효율성: 실제로 사용한 스토리지 용량과 성능에 따라 과금되며, 자주/비자주 액세스(IA) 스토리지 클래스를 지원해 비용을 최적화할 수 있습니다.

 


2. Amazon EFS 파일 시스템 액세스를 위한 보안 그룹 생성

EFS 파일 시스템과 EC2 인스턴스 간 안전한 네트워크 트래픽을 보장하기 위해, NFS 프로토콜(포트 2049)에 대한 접근을 허용하는 보안 그룹을 생성합니다. 이를 통해 EC2 인스턴스가 EFS 파일 시스템을 마운트할 수 있습니다.

Amazon EFS는 AWS에서 제공하는 확장성·공유성이 뛰어난 네트워크 파일 시스템입니다.
EFS를 안전하게 사용하려면, EC2와 EFS 간 NFS 트래픽이 허용되는 보안 그룹을 정확히 설정해야 하며, 이 실습의 첫 단계는 이를 위한 보안 그룹을 생성하고 올바른 인바운드 규칙을 추가하는 것입니다.
다음 단계에서는 이 보안 그룹을 활용해 EFS 파일 시스템을 생성하고, EC2 인스턴스에서 마운트하는 과정을 진행하게 됩니다.

 


3. Amazon EFS 파일 시스템 생성

  • 여러 EC2 인스턴스(동일 리전, 여러 가용 영역에서 실행)에 공유 스토리지를 제공하는 Amazon EFS 파일 시스템을 생성합니다.
    EFS는 NFSv4.1 프로토콜을 사용하며, 한 번에 한 VPC 내에서만 마운트가 가능합니다.
    이 과정은 EC2 인스턴스들이 동일한 파일 시스템에 동시에 접근할 수 있도록 환경을 준비하는 단계입니다.

1. 왜 이 과정을 하는가?

여러 EC2 인스턴스가 파일을 공유할 수 있는 환경을 구축하기 위해 EFS 파일 시스템이 필요합니다.
EFS는 가용성(여러 AZ 지원), 확장성, 관리 편의성을 제공하며, 표준 NFS 프로토콜로 손쉽게 마운트 및 사용이 가능합니다.
실습 VPC 내에서 안전하게 파일 시스템을 제공하기 위해, 앞서 만든 보안 그룹과 연동하여 네트워크 접근을 제어합니다.

2. 과정 요약

  • EFS 파일 시스템을 생성할 때, 실습에 사용할 VPC와 서브넷, 보안 그룹을 지정합니다.

  • 각 가용 영역에 Mount Target(탑재 대상)이 자동으로 생성되어, 여러 AZ의 EC2 인스턴스가 EFS에 접속할 수 있게 됩니다.

  • Mount Target에는 앞서 만든 EFS Mount Target 보안 그룹을 적용해 네트워크 접근을 제한합니다.

  • 파일 시스템 생성 후, EC2 인스턴스에서 사용할 NFS 마운트 명령어를 확인할 수 있습니다.

 


4. Amazon EC2 인스턴스에 연결

AWS Systems Manager의 Session Manager를 사용해 EC2 인스턴스에 안전하게 접속합니다.
이 방식은 SSH 키나 퍼블릭 IP 없이도 브라우저에서 EC2 인스턴스 터미널에 직접 접근할 수 있게 해줍니다.

  1. 왜 이 과정을 하는가?
  • 보안 강화: SSH 포트를 열 필요가 없으므로 외부 공격에 노출될 위험이 줄어듭니다.

  • 운영 편의성: 키 페어 관리, Bastion Host 운영 없이도 EC2 인스턴스에 접근할 수 있습니다.

  • 접근 제어 및 로깅: IAM 정책으로 접근 권한을 세밀하게 제어할 수 있고, 세션 기록도 남길 수 있습니다.

 

  1. 과정 요약
    EC2 인스턴스에 SSM Agent와 IAM 역할이 정상적으로 설정되어 있으면, 퍼블릭 IP 없이도 브라우저에서 바로 접속할 수 있습니다.

Session Manager를 통해 접속하면 별도의 SSH 키나 보안 그룹 설정 없이도 EC2 인스턴스의 터미널을 사용할 수 있습니다.

이 단계에서는 Session Manager를 통해 EC2 인스턴스에 안전하게 접속하는 환경을 구축했습니다.
SSH 키나 퍼블릭 IP 없이도, IAM 권한만으로 브라우저에서 EC2 인스턴스의 터미널을 사용할 수 있습니다.
다음 단계에서는 이 세션을 활용해 EFS 파일 시스템을 EC2 인스턴스에 마운트하는 작업을 진행하게 됩니다.

 


5. 새 디렉터리 생성 및 Amazon EFS 파일 시스템 탑재

  • EC2 인스턴스에서 Amazon EFS 파일 시스템을 실제로 사용할 수 있도록, 마운트(Mount) 과정을 수행합니다.

  • 이 과정을 통해 EC2 인스턴스에서 EFS를 로컬 디렉터리처럼 읽고 쓸 수 있습니다.

  1. 왜 이 과정을 하는가?
  • EFS 파일 시스템을 EC2 인스턴스에 연결(마운트)해야만 파일 공유와 데이터 저장이 가능합니다.

  • NFSv4.1 프로토콜을 사용해 EFS를 EC2 인스턴스의 파일 시스템처럼 활용할 수 있습니다.

  • 마운트 작업을 통해 여러 EC2 인스턴스가 동일한 데이터를 실시간으로 공유할 수 있습니다.

이 단계에서는 EC2 인스턴스에 amazon-efs-utils를 설치하고, 새 디렉터리를 만든 뒤, EFS 파일 시스템을 마운트했습니다.
이제 EC2 인스턴스에서 EFS를 로컬 디렉터리처럼 사용할 수 있으며, 여러 인스턴스 간 파일 공유 환경이 완성되었습니다.

 


6. 새 Amazon EFS 파일 시스템의 성능 동작 검사

EFS 파일 시스템을 EC2 인스턴스에 마운트한 뒤, 실제 IO 벤치마크 도구와 AWS 모니터링 서비스를 통해 파일 시스템의 성능 특성을 확인합니다.
이 과정을 통해 EFS의 처리량, 지연 시간 등 실질적인 성능을 직접 측정하고, CloudWatch를 활용해 모니터링할 수 있습니다.

EC2 인스턴스에서 EFS 파일 시스템의 성능을 fio로 벤치마킹하고, CloudWatch에서 실시간 처리량 등 주요 지표를 확인했습니다.
이를 통해 EFS가 실제 워크로드를 얼마나 잘 처리할 수 있는지, 그리고 AWS 모니터링 도구를 통해 성능을 어떻게 추적할 수 있는지 직접 경험할 수 있습니다.

이제 EFS 파일 시스템을 실무 환경에서 어떻게 활용할지, 그리고 성능 최적화와 비용 관리에 어떤 점을 고려해야 할지 이해할 수 있습니다.

profile

0개의 댓글