JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

[실습] 3. ELB 셋팅하기 - 리스너 및 라우팅 / 헬스 체크

JSCODE 박재성
JSCODE 박재성
2025-11-30
author
JSCODE 박재성
category
AWS
createdAt
Nov 30, 2025
series
비전공자도 이해할 수 있는 AWS 입문
slug
elb-setup-listeners-routing-healthcheck
type
post
updatedAt
Nov 30, 2025 04:56 AM

✅ 1. 대상 그룹(Target Group) 설정하기

리스너 및 라우팅 설정은 ELB로 들어온 요청을 어떤 EC2 인스턴스에 전달할 건지를 설정하는 부분이다.
1.
notion image
ELB로 들어온 요청을 ‘어떤 곳’으로 전달해야 하는데, 여기서 ‘어떤 곳’을 대상 그룹(Target Group)이라고 표현한다. 즉, ELB로 들어온 요청을 어디로 보낼 지 대상 그룹을 만들어야 한다.
 
2. 대상 유형 선택하기
notion image
EC2에서 만든 특정 인스턴스로 트래픽을 전달할 것이기 때문에 인스턴스 옵션을 선택한다.
 
3. 프토토콜, IP 주소 유형, 프로토콜 버전 설정
notion image
ELB가 사용자로부터 트래픽을 받아 대상 그룹에게 어떤 방식으로 전달할 지 설정하는 부분이다. 위 그림은 HTTP(HTTP1), 80번 포트, IPv4 주소로 통신을 한다는 걸 뜻한다. 이 방식이 흔하게 현업에서 많이 쓰이는 셋팅 방법이다.
 
4. 상태 검사 설정하기
notion image
ELB의 부가 기능으로 상태 검사(= Health Check, 헬스 체크) 기능이 있다. 이 기능은 굉장히 중요한 기능 중 하나이므로 확실하게 짚고 넘어가자.
 
실제 ELB로 들어온 요청을 대상 그룹에 있는 여러 EC2 인스턴스로 전달하는 역할을 가진다. (
📖
ELB를 활용한 아키텍처 구성
) 그런데 만약 특정 EC2 인스턴스 내에 있는 서버가 예상치 못한 에러로 고장났다고 가정해보자. 그럼 ELB 입장에서 고장난 서버한테 요청(트래픽)을 전달하는 게 비효율적인 행동이다.
 
이런 상황을 방지하기 위해 ELB는 주기적으로(기본 30초 간격) 대상 그룹에 속해있는 각각의 EC2 인스턴스에 요청을 보내본다. 그 요청에 대한 200번대(HTTP Status Code) 응답이 잘 날라온다면 서버가 정상적으로 잘 작동되고 있다고 판단한다. 만약 요청을 보냈는데 200번대의 응답이 날라오지 않는다면 서버가 고장났다고 판단해서, ELB가 고장났다고 판단한 EC2 인스턴스로는 요청(트래픽)을 보내지 않는다.
 
이러한 작동 과정을 통해 조금 더 효율적인 요청(트래픽)의 분배가 가능해진다.
 
위에서 설정한 값을 해석해보자면, 대상 그룹의 각각의 EC2 인스턴스에 GET /health(HTTP 프로토콜 활용)으로 요청을 보내게끔 설정한 것이다. 정상적인 헬스 체크 기능을 위해 EC2 인스턴스에서 작동하고 있는 백엔드 서버에 Health Check용 API를 만들어야 한다. 뒤에서 곧 만들 예정이다.
 
  1. 대상 등록하기
    1. notion image
 
  1. ELB 만드는 창으로 돌아와서 대상 그룹(Target Group) 등록하기
    1. notion image
      위 설정을 해석하자면 ELB에 HTTP를 활용해 80번 포트로 들어온 요청(트래픽)을 설정한 대상 그룹으로 전달하겠다는 의미이다.
 
  1. 로드 밸런서 생성하기
    1. 나머지 옵션들은 그대로 두고 로드 밸런서를 생성하면 된다.
      notion image
 

✅ 2. Health Check API 추가하기

elb-express-health-sample
JSCODE-EDU • Updated Nov 14, 2023
app.js
const express = require('express'); const app = express(); const port = 80; app.get('/', (req, res) => { res.send(`Hello World!`); }) // GET /health 요청에 대해 상태코드 200으로 응답하는 API app.get('/health', (req, res) => { res.status(200).send("Success Heatlth Check"); }) app.listen(port, () => { console.log(`Example app listening on port ${port}`) })
위의 샘플 프로젝트처럼 ELB의 상태 검사(= Health Check, 헬스 체크)에 응답할 수 있는 API를 추가하자. 그런 뒤에 EC2 인스턴스의 서버를 업데이트 시켜주자.
 

✅ 3. 로드밸런서 주소를 통해 서버 접속해보기

notion image
notion image
 
 
author
category
AWS
createdAt
series
비전공자도 이해할 수 있는 AWS 입문
slug
type
series-footer
updatedAt
Jan 12, 2026 12:03 AM
📎
이 글은 비전공자도 이해할 수 있는 AWS 입문/실전 강의의 수업 자료 중 일부입니다.