ㅁ 풀어야 할 문제
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 로컬 디스크를 이용하면 성능을 향상시키고 비용을 줄일 수 있음.
'AWS Design Pattern > 동적 컨텐츠 처리 패턴' 카테고리의 다른 글
URL Rewriting - 정적 콘텐츠 이전 (0) | 2021.02.05 |
---|---|
State Sharing - 상태 정보 공유 (0) | 2021.02.05 |
NFS Sharing - 공유 콘텐츠 이용 (0) | 2021.02.05 |
Clone Server 패턴 - 서버 클론 (0) | 2021.02.05 |
Scale Out 패턴 - 서버 수의 동적 증감 (0) | 2021.02.05 |