AWS 로드 밸런서 · 4 min read · Dec 10, 2025
AWS 애플리케이션 로드 밸런서에서 경로 기반 라우팅 구성 방법

AWS에서는 ELB 및 Elastic Load Balancing이라는 개념이 존재하여 서버를 애플리케이션의 수요 및 들어오는 트래픽에 따라 추가하거나 해제할 수 있으며, 애플리케이션에서 들어오는 트래픽이 여러 대상에 분산됩니다. 이러한 대상은 EC2 인스턴스, 컨테이너 및 하나 이상의 가용 영역에 있는 IP 주소일 수 있습니다. 지원되는 AWS Elastic Load Balancer 유형은 애플리케이션 로드 밸런서(ALB), 네트워크 로드 밸런서(NLB), 게이트웨이 로드 밸런서(최근 출시됨) 및 클래식 로드 밸런서입니다. 이러한 로드 밸런서는 서로 다른 구성을 가지고 있습니다. 예를 들어,
애플리케이션 로드 밸런서: 들어오는 애플리케이션 트래픽을 두 개 이상의 EC2 인스턴스 간에 자동으로 분산하여 작동합니다. 요청의 내용에 따라 라우팅 규칙을 정의할 수 있습니다(내용 기반 라우팅). 이는 레이어 7 로드 밸런서입니다.
네트워크 로드 밸런서: NLB는 IP 프로토콜 데이터(TCP 및 UDP)를 사용하여 EC2, 마이크로서비스 및 컨테이너와 같은 AWS 리소스에 연결을 라우팅합니다. 이는 레이어 4 로드 밸런서입니다.
게이트웨이 로드 밸런서: 이는 EC2 인스턴스에서 실행되는 NextGen 방화벽(NGFW), IPS, IDS 등과 같은 타사 가상 장치와 함께 사용됩니다. 여러 가상 장치에서 트래픽을 위한 단일 게이트웨이를 배치하여 작동하며, 이러한 여러 가상 장치는 수요에 따라 확장하거나 축소할 수 있습니다. 이는 네트워크의 안정성에 좋습니다. 이는 레이어 3(게이트웨이) 및 레이어 4(로드 밸런싱) 로드 밸런서입니다.
클래식 로드 밸런서: CLB는 여러 EC2 인스턴스 간의 로드 밸런싱에 사용되는 AWS의 레거시 로드 밸런서입니다. EC2-클래식 네트워크 내에서 설계된 애플리케이션에 권장됩니다. 이는 레이어 4/7 로드 밸런서입니다. AWS에서는 이 로드 밸런서를 피할 것을 권장합니다.
이 가이드 개요
이 튜토리얼에서는 AWS에서 애플리케이션 로드 밸런서에 대한 경로 기반 라우팅을 구성합니다. 이 작업을 위해 IAM 사용자 계정을 사용할 것입니다. 이 설정을 위한 리소스는 다음과 같습니다:
각 가용 영역에 최소 하나의 EC2 인스턴스가 포함된 두 개의 가용 영역.
위의 두 가용 영역 각각에 최소 하나의 공용 서브넷이 있는 VPC. 이 공용 서브넷은 로드 밸런서를 구성하는 데 사용됩니다.
각 인스턴스에 웹 서버를 설치하고 보안 그룹을 사용하여 이러한 인스턴스에서 포트 80 접근을 허용합니다.
EC2 인스턴스 구성
이 가이드를 위해 Apache Httpd 웹 서버가 설치된 두 개의 Amazon Linux EC2 인스턴스를 구성했습니다. 한 서버에는 “Welcome User? Sign in to proceed…”라는 내용이 포함된 index.html 파일이 있는 ‘signin’ 디렉토리가 있습니다.
다른 서버에는 “New User? Sign Up First…”라는 내용이 포함된 index.html 파일이 있는 ‘signup’ 디렉토리가 있습니다.
두 ‘signin’ 및 ‘signup’ 디렉토리는 루트 디렉토리 (/var/www/html) 내에 있습니다.
대상 그룹 구성
1단계. 요청을 라우팅하기 위해 각 서버에 대해 두 개의 대상 그룹을 먼저 생성합니다. EC2 콘솔을 열고 왼쪽 패널에서 ‘대상 그룹’을 찾아 선택합니다(로드 밸런싱 아래에 있습니다).
2단계. 새 페이지에서 ‘대상 그룹 생성’ 버튼을 클릭합니다:
3단계. 이제 ‘그룹 세부정보 지정’ 페이지에 있습니다. 기본 구성에서 다음을 수행합니다:
- 대상 유형 선택: 여기에서 ‘인스턴스’를 선택합니다.
- 대상 그룹 이름: 대상 그룹에 적절한 이름을 지정합니다(우리의 경우 ‘Sign-In’).
- 프로토콜: HTTP
- 포트: 80
- VPC: 여기에서 VPC 이름을 선택합니다.
- 프로토콜 버전: 기본 선택된 상태로 유지합니다.(HTTP1)
‘헬스 체크’ 설정에서:
- 헬스 체크 프로토콜: HTTP
- 헬스 체크 경로: ‘사용할 경로’(우리의 경우 ‘/signin’)
- ‘고급 헬스 체크 설정’을 기본값으로 유지합니다. 태그가 필요하면 추가합니다(선택 사항). 계속하려면 ‘다음’을 클릭합니다.
EC2 인스턴스를 대상 그룹에 등록
1단계. 이제 위의 대상 그룹에 EC2 인스턴스 중 하나를 추가합니다. 인스턴스를 선택한 다음 ‘아래에 보류로 포함’ 버튼을 클릭합니다.

2단계. 위에서 선택한 인스턴스가 ‘대상 검토’ 아래에 나타납니다. 이제 ‘대상 그룹 생성’을 클릭합니다.

3단계. 다음 창에서 다시 ‘계속’을 클릭합니다. 이제 다른 대상 그룹에 대해 동일한 절차를 반복하고 이름을 ‘Sign-Up’으로 지정합니다. 이 대상 그룹에 대해 다른 인스턴스(다른 가용 영역에 있는)를 사용하고 다른 헬스 체크 경로(우리의 경우 ‘/signup’)를 사용합니다:

애플리케이션 로드 밸런서 생성
1단계. EC2 콘솔에서 로드 밸런서로 이동하여 로드 밸런서 생성 버튼을 클릭한 다음 새 페이지에서 ‘애플리케이션 로드 밸런서’를 선택합니다:

2단계. 로드 밸런서에 적절한 이름(여기서는 ‘My_Path_ALB’)을 지정합니다. 스킴은 기본값으로 유지합니다(‘인터넷-대면’), IP 주소 유형을 IPv4로 선택합니다.

3단계. 네트워크 매핑 섹션에서 대상 VPC를 선택하고 매핑 섹션에서 로드 밸런서가 트래픽을 라우팅할 대상이 포함된 두 개의 가용 영역을 선택합니다.

4단계. 로드 밸런서에 대한 보안 그룹을 구성하고 대상 포트(우리의 경우 포트 80)가 수신 대기하도록 허용합니다:

5단계. 리스너를 선택하고(우리의 경우 HTTP) 수신 대기할 포트를 입력하거나 HTTP 요청에 대해 기본 포트 80을 유지하도록 선택합니다. 기본 작업에서 ‘전달할’ 열에 ‘Sign-in’ 대상을 선택합니다:

6단계. 선택적 단계는 건너뛸 수 있습니다. 이제 요약을 검토하고 ‘로드 밸런서 생성’ 버튼을 클릭합니다:

7단계. 이제 다시 ‘로드 밸런서’ 페이지로 이동하여 여기에서 대상 로드 밸런서를 찾습니다:
경로 기반 전달 규칙 추가
1단계. ALB 상태가 활성으로 변경되면 전달 규칙을 진행합니다. 로드 밸런서 이름을 클릭한 다음 리스너 탭으로 이동합니다.
2단계. ‘규칙’ 열 아래에서 ‘규칙 보기/편집’을 클릭한 다음 ‘+’ 기호를 클릭하고 ‘규칙 삽입’을 클릭합니다:

3단계. ‘IF(모두 일치)’ 열에서 ‘+ 조건 추가’ 드롭다운 화살표를 클릭하고 규칙 유형으로 ‘경로’를 선택한 다음 ‘is’ 레이블에 해당하는 텍스트 필드에 ‘/signin*’을 입력합니다.
4단계. ‘Then’ 열에서 ‘+작업 추가’ 드롭다운 화살표를 클릭하고 작업으로 ‘전달하기’를 선택합니다. 여기에서 대상 그룹 ‘Sign-In’을 선택합니다.
위의 2단계와 3단계를 ‘/signup*’ 경로로 대상 그룹 ‘SignUp’에 대해 반복합니다. 규칙을 저장한 후 두 개의 규칙이 생깁니다:
설정 확인…
모든 것이 예상대로 작동하는지 확인하려면 웹 브라우저를 열고 로드 밸런서의 DNS를 붙여넣고 다음을 추가합니다:
- 대상 그룹 ‘Sign-Up’의 경로: ‘/signup’
- 대상 그룹 ‘Sign-In’의 경로: ‘/signin’
결론
축하합니다. AWS 애플리케이션 로드 밸런서에서 경로 기반 라우팅을 위한 작동 시나리오를 구성했습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.