본문 바로가기

AWS Design Pattern/동적 컨텐츠 처리 패턴

NFS Replica - 공유 콘텐츠 복사

ㅁ  풀어야 할 문제

NFS를 이용해 여러 대의 서버 간 파일 공유 시 공유하는 서버 수가 늘어나 액세스 빈도가 증가함에 따라 NFS 성능 저하 발생 가능

 

ㅁ  해결/패턴

각 서버에 가상 디스크를 개별적으로 준비하고 NFS 서버의 공유 파일을 복사해 둠 그렇게 하면 각 서버는 가상 디스크를 참조 전용 Replica로 사용할 수 있음

 

ㅁ  구현

 EC2 인스턴스의 가상 디스크인 EBS NFS 서버의 파일을 복하.  EC2 인스턴스에서 EBS의 파일을 읽어오면 NFS 서버에 액세스 하는 것보다 높은 성능으로 참조 가능

-       EC2 NFS 서버를 구축하고 공유 파일을 올려둠

-       Auto Scaling으로 가동하는 EC2(웹 서버)는 먼저 NFS 서버를 마운트 하고 NFS 서버 내용을 EBS에 복사

-        EC2의 애플리케이션은 EBS를 참조하도록 설정

 

ㅁ  장점

-       NFS 서버의 공유 파일을 갱신하면 그 후에 가동한 EC2는 그 파일을 사용하게 됨

-        EC2 EBS에 공유 파일이 존재하여 NFS 서버에 액세스할 필요가 없어 성능 문제가 쉽게 발생하지 않음

-       예를 들어 NFS 서버가 정지하더라도 각 EBS에 콘텐츠가 있어 SPOF가 되지 않음

 

ㅁ  주의점

-       공유 파일을 갱신할 때 NFS 서버의 파일을 갱신하더라도 각 EC2에 반영되지 않아 rsync 등을 이용해 동기 시켜야 함

 

ㅁ  기타

-       로컬 디스크로 EBS를 이용하는 대신 인스턴스 스토리지(임시 디스크)라는 EC2 로컬 디스크를 이용하면 성능을 향상시키고 비용을 줄일 수 있음.