컴퓨터 리소스 양을 동적으로 조정하는 클라우드 컴퓨팅에 사용되는 한 방식이다. 메트릭(CPU 사용률, 메모리 사용량, 분당 네트워크 속도 등) 조건을 기준으로 자원의 크기를 조절한다.
수평적 확장(Scale-Out)
시스템의 처리 능력을 늘리기 위해 더 많은 리소스(서버나 인스턴스)를 추가한다.
수직적 확장(Scale-Up)
기존 서버에 RAM, CPU, 스토리지 등의 성능을 추가한다.
대표적인 예시로 Amazon EC2 Auto Scaling은 애플리케이션의 부하를 처리하기 위해 적절한 수의 Amazon EC2 인스턴스를 확보할 수 있도록 도와준다.
예를 들어 다음 그림과 같은 Auto Scaling 그룹은 최소 크기가 4개 인스턴스, 원하는 용량이 6개 인스턴스, 최대 크기가 12개 인스턴스이다.
지정한 기준에 따라 최소 및 최대 인스턴스 수 범위 내에서 인스턴스 수를 조정한다.

네트워크 트래픽을 여러 서버에 분산하여 애플리케이션의 성능과 신뢰성을 향상시키는 기술이다. 이를 통해 단일 서버의 과부하를 방지하고, 시스템 가용성을 증가시키고, 확장성을 향상시키고, 장애 발생 시 서비스가 중단되지 않도록 한다.
들어오는 클라이언트 요청을 실시간으로 중재하고 어떤 백엔드 서버가 이러한 요청을 가장 잘 처리할 수 있는지 결정하는 방식으로 작동한다.
할당된 서버는 요청을 받으면 로드 밸런서를 통해 클라이언트에 응답한다. 그런 다음 로드 밸런서가 클라이언트의 IP 주소를 선택한 서버의 IP 주소와 일치시켜 서버-클라이언트 연결을 완료한다. 클라이언트와 서버는 세션이 완료될 때까지 통신하고 요청된 작업을 수행할 수 있다.

가용성
로드 밸런서는 서버 문제를 자동으로 감지하고 클라이언트 트래픽을 사용 가능한 서버로 리디렉션하여 시스템의 내결함성을 높인다.
확장성
로드 밸런서를 사용하여 여러 서버 간에 네트워크 트래픽을 지능적으로 전달할 수 있다.
보안
성능
로드 밸런서는 응답 시간을 늘리고 네트워크 지연 시간을 줄여 애플리케이션 성능을 향상시킨다.
| 특징 | L4 로드밸런싱 | L7 로드밸런싱 |
|---|---|---|
| 작동 계층 | OSI 모델의 4계층(전송 계층) | OSI 모델의 7계층(응용 계층) |
| 트래픽 분산 기준 | IP 주소와 포트 정보를 기반 | HTTP 헤더, 쿠키, URL 등 애플리케이션 레벨의 데이터를 기반 |
| 다루는 프로토콜 | TCP, UDP | HTTP, HTTPS, WebSocket |
| 패킷 검사 | 패킷의 내용을 검사하지 않고, 헤더 정보를 사용 | 패킷의 내용을 검사하고 이해할 수 있음 |
| 속도 | 단순하고 빠름 | 복잡하고 지능적 |
| 성능 | 높은 성능, 적은 리소스 사용 | 상대적으로 낮은 성능, 많은 리소스 사용 |
| 보안 기능 | 기본적인 보안 기능 제공 | 보안 기능 구현에 용이 |
지금까지는 오토스케일링과 로드밸런싱 각각의 개념과 동작 방식에 대해 알아보았다. 두 기술은 비슷한 것 같으면서도 다른데, 이 두 가지 기술을 함께 사용하면 생기는 이점들은 아래와 같다.
What is Amazon EC2 Auto Scaling? - Amazon EC2 Auto Scaling