네트워크 기술의 일종으로, 네트워크 트래픽을 하나 이상의 서버나 자입로 분산하기 위해 사용하는 기술로,
통상적으로 외부에서 발생하는 많은 인터넷 트래픽을 여러 웹 서버나 장비로 부하를 분산하여 처리한다
일반적으로 웹 트래픽 증가에 대해 처리방식은 두가지로 나눈다.
1. scale up (서버 크기를 증설)
:cpu, 메모리, 디스크 등의 기능을 업그레이드 하는 방식
2. scale out (서버 개수를 증가)
: 저렴한 노드 여러개를 하나의 cluster로 구성하는 방식으로, cluster 내의 하나에 노드에 문제가 발생하여도 웹서비스가 중단되는 일을 방지할 수 있다. 즉 fail-over 가 가능하다는 이야기이다.
1. Round Robin (라운드 로빈)
real server로 세션 연결을 순차적으로 맺어주는 방식으로, 세션에 대한 보장을 제공하지 않음
2. Hash (해쉬)
해쉬 알고리즘을 이용한 로드밸런싱 방식으로, 클라이언트가 특정 서버로 연결된 이후에는 동일 서버로만 연결되는 구조로, 세션에 대한 보장을 제공함
Least connection (최소연결)
세션 수를 고려해서, 가장 작은 세션을 보유한 서버로 세션을 맺어주는 연결 방식으로, 세션에 대한 보장을 제공함
Response Time (반응 시간)
빠른 응답시간을 제공하는 서버로 세션을 맺어주는 방식으로, 세션에 대한 보장을 제공하지 않음
Amazon Elastic Load Balancing은 single AZ 에서 인스턴스 및 컨테이너, ip 주소와 같은 동일한 서비스를 제공하기 위해 준비된 여러 대상으로 앱 및 네트워크 트래픽을 자동으로 분산시킴
목적에 따라 세가지 로드밸런스를 선택하여 하나의 서비스를 사용할 수 있으며, 이를 통해 앱의 내결함성 보장을 위해 필요한 고가용성, 부하분산, 자동확대/ 축소, 강력한 보안기능을 제공한다.
주요 특징
2대의 웹 서버를 띄운다음에, ELB Configuration 해서, test를 진행해본다. (동작여부와 복구 후 서비스 복구 후 동작방식에 대해 실습을 진행할 예정이다.
순서 1. ec2> ami를 linux free tier version 아래의 옵션들로 구성하여 인스턴스를 생성한다.