본문 바로가기
AWS

[4편] AWS로 나만의 고가용성 보안 NAS 구축기 (ALB와 Auto Scaling)

by ImirAin 2025. 10. 15.

안녕하세요! 지난 3편에서는 서버(EC2), 보안 그룹, 스토리지(EFS) 등 우리 NAS 시스템을 구성할 모든 개별 '부품'을 완벽하게 준비했습니다.

이번 편에서는 드디어 이 부품들을 조립하여, 시스템이 스스로 장애를 감지하고 복구하는 동적인 자동화 시스템의 핵심, Application Load Balancer(ALB)와 Auto Scaling Group(ASG)을 완성해보겠습니다. 이번 단계를 마치면, 우리의 NAS는 단순한 서버 모음이 아닌, 살아 움직이는 유기적인 시스템이 될 것입니다.


1단계: 대상 그룹(Target Group) 생성 - 트래픽이 도착할 곳

일단 아무 그룹도 선택하지 않습니다.

 

가장 먼저, 로드밸런서가 트래픽을 전달할 서버들의 묶음인 대상 그룹부터 만듭니다. 지금은 비어있는 그룹을 만들지만, 나중에 Auto Scaling Group이 이 그룹에 자동으로 서버들을 등록하고 관리하게 됩니다.

 


2단계: Application Load Balancer (ALB) 생성 - 똑똑한 교통 경찰

이제 외부 사용자의 모든 요청을 가장 먼저 받아 분산시켜주는 교통 경찰, ALB를 생성합니다.

 

ALB 설정의 핵심은 두 개의 Public Subnet에 걸쳐서 생성하여 로드밸런서 자체의 고가용성을 확보하고

들어온 HTTP (80번 포트) 트래픽은 방금 만든 nas-tg 대상 그룹으로 전달하도록 리스너를 설정하는 것입니다.


3단계: Auto Scaling Group (ASG) 생성 - 24시간 현장 관리팀

마지막으로, 서버들을 자동으로 생성하고 관리하며 장애를 복구하는 '현장 관리팀', ASG를 설정합니다.

ASG 설정에서는 다음 세 가지가 핵심입니다.

  • 시작 템플릿 지정: 3편에서 만든 nas-server-template을 서버 '설계도'로 사용하도록 지정합니다.

서버를 외부 인터넷의 직접적인 공격으로부터 보호하기 위해 private subnet에 배치합니다.

  • 네트워크 배치: 서버들을 두 개의 Private Subnet에 분산하여 배치하도록 설정합니다.

  • 그룹 크기 설정: 원하는 용량과 최소 용량을 2로 설정하여, 항상 두 개의 서버가 각 가용 영역에서 건강한 상태로 유지되도록 구성합니다.

 ELB 상태 확인은 필수! ASG 설정 중 '상태 확인(Health Check)' 부분에서 'Elastic Load Balancing 상태 확인 켜기' 를 반드시 체크해야 합니다. 이렇게 해야 ASG가 ALB의 정밀 검사 결과를 신뢰하여, 애플리케이션에 문제가 생긴 서버까지 정확하게 찾아내 자동으로 교체할 수 있습니다.


마무리하며

이것으로 우리의 NAS 시스템은 드디어 스스로 장애를 감지하고 복구하는 심장(ALB)과 두뇌(ASG)를 갖추게 되었습니다. 이제 EC2 인스턴스 목록에 가보면, nas-asg에 의해 자동으로 생성되어 실행 중인 두 개의 NAS 서버를 확인할 수 있을 겁니다.