AWS EFS 완벽 가이드! Shared File Storage와 Cloud Native Storage 구조 이해하기

Cloud 환경에서는 Application 규모가 커질수록 여러 서버가 동일한 데이터를 공유해야 하는 상황이 발생합니다.

기존 방식에서는 하나의 서버에 Disk를 연결하여 사용했지만, 여러 서버가 동시에 같은 데이터를 사용하려면 Shared Storage 구조가 필요합니다.

AWS에서는 이를 위해 Amazon EFS(Elastic File System)를 제공합니다.

예:

여러 EC2 Instance

동일한 File Storage 연결

공유 데이터 사용

EFS는 여러 서버에서 동시에 접근 가능한 Managed File Storage 서비스입니다.

구성 요소역할
EFS File System공유 파일 저장 공간
Mount TargetNetwork 연결 지점
NFS Protocol파일 접근 방식
Availability Zone고가용성 구성
Lifecycle Management비용 최적화

AWS EFS 구조를 이해하면 Web Server, Container 환경, Kubernetes 기반 Application의 Shared Storage Architecture를 설계할 수 있습니다.

AWS EFS란?

Amazon EFS(Elastic File System)는 AWS에서 제공하는 Managed File Storage 서비스입니다.

특징:

  • 여러 EC2 동시 접근 가능
  • 자동 Storage 확장
  • Multi AZ 지원
  • 별도 서버 관리 불필요

기존 File Server 역할을 Cloud 서비스 형태로 제공합니다.

AWS EFS와 EBS 차이

구분EFSEBS
Storage 방식File StorageBlock Storage
접근 방식여러 서버 공유단일 서버 연결
ProtocolNFSBlock Device
확장자동 확장Volume 크기 관리
용도Shared FileOS·Database

사용 목적에 따라 선택합니다.

AWS EFS Architecture

기본 구조:

AWS Region

↓

EFS File System

↓

Mount Target

↓

EC2 Instance

↓

Application

Network 기반으로 File Storage를 제공합니다.

AWS EFS Mount Target이란?

Mount Target은 EC2와 EFS를 연결하는 Network Endpoint입니다.

구조:

EC2

↓

Subnet

↓

Mount Target

↓

EFS

각 Availability Zone마다 생성할 수 있습니다.

AWS EFS Multi AZ 구조

Production 환경에서는 여러 AZ에 Mount Target을 구성합니다.

예:

Region

↓

EFS

├── AZ-A Mount Target

├── AZ-B Mount Target

└── AZ-C Mount Target

장애 발생 시에도 접근 가능합니다.

AWS EFS Storage Class

EFS는 데이터 사용 빈도에 따라 Storage Class를 제공합니다.

Storage Class용도
Standard자주 사용하는 데이터
Infrequent Access접근 빈도 낮은 데이터
Archive장기 보관

비용 최적화가 가능합니다.

AWS EFS Lifecycle Management

Lifecycle Management는 오래된 데이터를 자동 이동합니다.

예:

파일 생성

30일 후

IA Storage 이동

사용하지 않는 데이터 비용을 줄입니다.

AWS EFS와 EC2 연결

구조:

EC2 Instance

NFS Mount

EFS File System

여러 EC2에서 동일한 데이터를 사용할 수 있습니다.

AWS EFS와 Kubernetes 연결

앞에서 작성한 Kubernetes Storage와 연결하면:

AWS EFS

↓

EFS CSI Driver

↓

Persistent Volume

↓

Persistent Volume Claim

↓

Pod

AWS EKS 환경에서 Shared Storage로 활용할 수 있습니다.

AWS EFS CSI Driver란?

EFS CSI Driver는 Kubernetes가 AWS EFS를 사용할 수 있도록 연결하는 Component입니다.

동작:

Pod 요청

PVC 생성

EFS 연결

Container Mount

Cloud Native Shared Storage를 구성합니다.

AWS EFS 활용 사례

대표 사용:

Web Server Cluster

여러 Web Server

동일한 이미지 파일 공유

Container Application

여러 Container

공유 Configuration 사용

Machine Learning

여러 Instance

Dataset 공유

AWS EFS Security 구조

보안 요소:

  • IAM Authorization
  • Security Group
  • POSIX Permission
  • Encryption

여러 계층으로 보호합니다.

AWS EFS Encryption

EFS는 저장 데이터를 암호화할 수 있습니다.

구성:

Application

EFS

KMS Encryption

Enterprise 환경에서 많이 사용합니다.

AWS EFS Performance Mode

EFS는 Application 특성에 맞는 성능 모드를 제공합니다.

Mode특징
General Purpose일반 Application
Max I/O대규모 병렬 처리

Workload에 맞게 선택합니다.

AWS EFS 운영 Best Practice

권장:

  • Multi AZ Mount Target 구성
  • Encryption 활성화
  • Lifecycle 적용
  • Security Group 제한
  • Backup 정책 구성

안정적인 Shared Storage 환경을 구축합니다.

AWS EFS 장애 분석

File System 확인:

aws efs describe-file-systems

Mount 확인:

df -h

Network 확인:

mount | grep efs

확인:

  • Mount Target 상태
  • Security Group
  • NFS 연결
  • IAM 권한

AWS EFS 비용 관리

비용 요소:

  • 저장 데이터 용량
  • Storage Class
  • Throughput

최적화:

  • Lifecycle 적용
  • 불필요한 데이터 제거
  • IA Storage 활용

AWS EFS 장점

장점설명
공유 Storage여러 서버 접근
자동 확장용량 관리 불필요
고가용성Multi AZ 지원
Cloud NativeContainer 연결 가능

EFS는 AWS 환경에서 Shared File Storage를 제공하는 핵심 서비스입니다.

자주 묻는 질문

EFS와 S3는 같은 Storage인가요?

아닙니다.

EFS는 File Storage이고 S3는 Object Storage입니다.

EFS는 여러 EC2에서 동시에 사용할 수 있나요?

가능합니다.

여러 Instance가 같은 File System에 접근할 수 있습니다.

Kubernetes에서도 EFS를 사용할 수 있나요?

가능합니다.

AWS EFS CSI Driver를 통해 EKS Persistent Storage로 활용할 수 있습니다.

마무리

AWS EFS는 여러 서버가 동시에 접근할 수 있는 Managed File Storage 서비스이며, Web Cluster, Container 환경, Kubernetes Shared Storage Architecture에서 활용됩니다.

구성 요소역할
EFS File System공유 데이터 저장
Mount TargetNetwork 연결
NFS파일 접근
Lifecycle비용 관리
CSI DriverKubernetes 연결

AWS EFS 구조를 이해하면 EC2, EKS, Container 기반 Enterprise Storage Architecture를 설계할 수 있습니다.

댓글 남기기