JSCODE Logo
JSCODE 박재성JSCODE 제이온JSCODE 시니
온라인 강의프로그래밍 과외책/전자책무료 강의
유튜브블로그
후기
완강 후기 이벤트블로그 리뷰 이벤트AWS SAA 합격 후기 이벤트
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호

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

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

이용약관개인정보처리방침

비전공자도 이해할 수 있는 AWS 입문

백엔드 API 서버 배포하기 (EC2)

배포(Deployment)란
EC2란? / EC2를 왜 배울까? / 현업에서 EC2는 주로 언제 쓸까?
[실습] 1. 리전(Region) 선택하기
[실습] 2. EC2 셋팅하기 - 기본 설정
[실습] 3. EC2 셋팅하기 - 보안그룹 설정
[보충 강의] IP와 Port의 개념
[실습] 4. EC2 셋팅하기 - 스토리지 구성
[실습] 5. EC2 접속하기
[실습] 6. 탄력적 IP 연결하기
[실습] 7. Express 서버를 EC2에 배포하기
[보충 강의] 7-2.
비용 나가지 않게 EC2 깔끔하게 종료하기

도메인 연결하기 (Route 53)

Route 53이란? / DNS란? / 현업에서의 Route53 활용 여부
[실습] 1. Route53에서 도메인 구매
[실습] 2. Route53의 도메인을 EC2에 연결하기
[보충 강의] 무료로 도메인 구매하는 방법

HTTPS 연결하기 (ELB)

ELB란? / TLS, SSL과 HTTPS
ELB를 활용한 아키텍처 구성
[실습] 1. ELB 셋팅하기 - 기본 구성
[실습] 2. ELB 셋팅하기 - 보안그룹
[실습] 3. ELB 셋팅하기 - 리스너 및 라우팅 / 헬스 체크
[실습] 4. ELB에 도메인 연결하기
[실습] 5. HTTPS 적용을 위해 인증서 발급받기
[실습] 6. ELB에 HTTPS 설정하기
비용 나가지 않게 ELB 깔끔하게 종료하기
[보충 강의] HTTPS 연결 시 ELB vs Nginx, Certbot
[보충 강의] Nginx, Certbot을 활용해 HTTPS 연결하기

데이터베이스 연결하기 (RDS)

RDS란? / RDS를 왜 사용하는걸까? / 현업에서의 RDS
RDS를 활용한 아키텍처 구성
[실습] 1. RDS 생성하기
[실습] 2. 보안그룹 설정하기
[실습] 3. 파라미터 그룹 추가하기
[실습] 4. RDS에 접속하기
[실습] 5. Express 서버에 RDS 연결하기
[실습] 5-2. Spring Boot 서버에 RDS 연결하기
비용 나가지 않게 RDS 깔끔하게 종료하기

파일 및 이미지 업로드 (S3)

S3란? / S3를 왜 사용하는걸까? / 현업에서 S3를 많이 사용할까?
S3를 활용한 아키텍처 구성
[실습] 1. S3 버킷 생성하기
[실습] 2. S3에 파일 업로드 할 수 있도록 IAM에서 액세스 키 발급받기
[실습] 3. S3를 활용해 Express 서버에 이미지 업로드 기능 구현하기
[실습] 3-2. S3를 활용해 Spring Boot 서버에 이미지 업로드 기능 구현하기
비용 나가지 않게 S3 깔끔하게 종료하기

웹 페이지 배포하기 (S3, Cloudfront)

웹 서비스를 배포할 때 사용하는 S3, CloudFront
S3, CloudFront를 활용한 아키텍처 구성
[실습] 1. S3 버킷 셋팅하기
[실습] 2. S3에 업로드하기 / 웹 호스팅 설정하기
[실습] 3. CloudFront 생성하기
[실습] 4. 도메인 연결하기, HTTPS 적용하기
비용 나가지 않게 S3, CloudFront 깔끔하게 종료하기

기타

[보충 강의] 혹시나 비용 나가지 않는 지 체크하는 방법
[보충 강의] 사용 중인 Public IPv4 확인하는 방법
← 블로그 목록으로 돌아가기

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

JSCODE 박재성
JSCODE 박재성
2026. 03. 08.
author
JSCODE 박재성
category
AWS
createdAt
Nov 30, 2025 04:00 AM
isPublic
isPublic
series
비전공자도 이해할 수 있는 AWS 입문
slug
elb-setup-listeners-routing-healthcheck
type
post
updatedAt
Mar 8, 2026 20:00

✅ 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
 
 
📎
이 글은 비전공자도 이해할 수 있는 AWS 입문/실전 강의의 수업 자료 중 일부입니다.