TIL/용어

[TIL] Cloud 기초 개념 #3 - L4/ L7 Load Balancer, Auto Scaling

아람2 2025. 7. 7. 13:26
반응형

Cloud 기초 개념 #1 - VPC, NAT, Routing Table, Server https://helloahram.tistory.com/239

 

[TIL] Cloud 기초 개념 #1 - VPC, NAT, Routing Table, Server

VPC, Virtual Private Cloud 는 클라우드 컴퓨팅 환경에서 사용자가 정의한 가상 네트워크이다 기본적으로 외부 인터넷과 직접 통신할 수 없다 VPC 를 구성하기 위해서는 반드시 RFC 1918 에서 정의한 Privat

helloahram.tistory.com

Cloud 기초 개념 #2 - Instance, Hypervisor, Security Group https://helloahram.tistory.com/240

 

[TIL] Cloud 기초 개념 #2 - Instance, Hypervisor, Security Group

Instance 클라우드 컴퓨팅에서 Instance 는 Virtual Machine (VM, 가상 머신) 을 의미한다 하나의 물리적 서버를 가상화하여 여러 개의 가상 서버 (Instance) 를 생성할 수 있으며 각 가상 서버를 Instance 라고

helloahram.tistory.com

 

Server

Server 는 네트워크 상에서 클라이언트 (Client) 에게 데이터를 제공하거나 

특정 서비스를 제공하는 컴퓨터 또는 소프트웨어를 의미한다 

서버는 다양한 형태로 존재하며, 특정 작업을 효율적으로 수행하도록 전용 하드웨어와 소프트웨어로 구성된다 

각각의 서버는 고유한 역할을 가지며, 클라이언트의 요청에 따라 적절한 서비스를 제공한다

서버 종류 주요 역할 대표 예시
DB 서버 데이터를 저장하고, 데이터베이스 쿼리 (SQL 등) 를 처리 MySQL, PostgreSQL, Oracle DB
웹 서버 HTTP 요청을 처리하고 웹 페이지 (HTML, CSS, JS) 를 브라우저에 전달 Apache, Nginx
애플리케이션 서버 비즈니스 로직을 수행하고, 웹 서버와 DB 서버 사이에서 중간 처리를 담당 Tomcat, JBoss, WebLogic
메일 서버 이메일을 전송 (SMTP), 수신 (POP3, IMAP) 하고 저장 Microsoft Exchange, Postfix
파일 서버 네트워크 상에서 파일을 공유하고 저장 Samba, FTP 서버
DNS 서버 도메인 이름을 IP 주소로 변환 BIND, Cloudflare DNS

 

 

Load Balancer

들어오는 트래픽을 여러 대의 서버에 분산시켜주는 장치 또는 소프트웨어이다 

Load Balancer 를 통해 서버의 부하를 줄이고, 웹사이트의 가용성과 성능을 향상시킬 수 있다 

L4 Load Balancing 

네트워크 계층에서 작동하며, IP Address 와 Port Number 를 기반으로 트래픽을 분산한다 

TCP/ UDP 트래픽을 처리하며, 속도가 빠르고 상대적으로 단순하다 

클라이언트와 서버 간의 연결을 제어하고, 지정된 서버로 트래픽을 Routing 해주는 역할을 한다 

L7 Load Balancing 

애플리케이션 계층에서 작동하며, HTTP/ HTTPS 요청의 헤더, 쿠키, URL 등을 분석하여 트래픽을 분산한다 

더 세밀한 제어가 가능하며, 특정 애플리케이션 서버로 트래픽을 Routing 할 수 있다 

Load Balancing Algorithm 

알고리즘 동작 방식 설명 특징 및 장점
Round Robin 클라이언트 요청을 순차적으로 서버에 분배 구현이 단순, 균등한 분배 가능
Least Connection 현재 연결 수가 가장 적은 서버에 요청 분배 서버 부하 고려 가능, 동적 트래픽 처리에 유리
Source IP Hash 클라이언트 IP 를 해시하여 특정 서버에 고정적으로 분배 세션 유지에 유리 (Sticky Session)

 

Infra Resource 를 확장하는 방법 

Scale Up, 수직 확장 

기존 서버의 CPU, 메모리, 저장 용량 등의 하드웨어 사양을 업그레이드하여 성능을 향상시키는 방식이다 

관리가 상대적으로 간단하고, 성능 향상이 즉각적일 수 있다는 장점이 있다 

Scale Out, 수평 확장 

기존에 있던 리소스에 여러 대의 장비를 추가하여 시스템을 수평적으로 확장하는 방식이다 

장애 발생 시 대응이 유연하고, 확장성이 뛰어나다는 장점이 있다 

 

Auto Scaling 

시스템의 부하 변화에 따라 서버 인스턴스를 자동으로 추가하거나 제거하는 Scale Out 방식의 서비스이다

미리 정의된 정책과 메트릭을 기반으로 동작한다 

 

Auto Scaling 에 대한 자세한 내용은 아래에 정리해놨다 

https://helloahram.tistory.com/238

 

[TIL] Auto Scaling 개념과 SLA 간단 정리

Auto Scaling 은 유동적인 수요 변화에 탄력적으로 대응하는 서버 관리 서비스이다 CPU, 메모리, 디스크, 네트워크 트래픽과 같은 시스템 자원들의 지표 (Metric) 값을 지속적으로 모니터링하여 그에

helloahram.tistory.com

 

Load Balancer 와 Auto Scaling 

Load Balancer 는 네트워크 트래픽을 여러 서버 인스턴스에 균등하게 분산하여 

시스템의 성능과 안정성을 향상시키는 역할을 한다 

이를 통해 특정 서버의 트래픽이 집중되는 것을 방지하고 

시스템 전체에 고르게 분산시켜 안정적인 성능을 유지할 수 있다

 

Auto Scaling 은 시스템의 부하 변화에 따라 서버 인스턴스 수를 자동으로 조정한다 

시스템 부하가 증가할 때는 새로운 인스턴스를 추가하여 확장하고 

부하가 감소할 때는 자동으로 불필요한 인스턴스를 종료하여 비용을 절감한다 

 

Load Balancer 와 Auto Scaling 기능을 함께 활용하면, 

효율적이고 안정적인 시스템 운영이 가능하다 

 

1. 트래픽 분산과 자동 확장 

Load Balancer 를 통해 여러 인스턴스에 분산,

Auto Scaling 을 통해 인스턴스 수를 자동으로 조정 

2. 고가용성 확보 

Load Balancer 는 특장애 발생 시, 정상 인스턴스로 트래픽을 우회, 

Auto Scaling 은 장애 인스턴스를 대체할 새로운 인스턴스를 자동 생성 

3. 성능 최적화 

트래픽 증가 시 인스턴스를 추가하여 성능 유지, 
트래픽 감소 시 인스턴스를 줄여 리소스 낭비 방지 및 비용 절감 

 

 

반응형