less than 1 minute read

로드밸런싱 필요한 이유

로드밸런싱을 사용하지 않는다면

EC2 인스턴스 하나에 고정된 아이피를 부여 하며 사용해야하는데, 만약 많은 사람이 몰려 스케일업이나 스케일아웃을 고려 해야한다.

하지만 스케일업의 경우 업데이트 하는동안 서비스를 이용할수없고, 스케일아웃의 경우 새로 생성된 인스턴스마다 도메인이 새로 필요하다.

만약 로드밸런싱이 있다면

한곳의 엔드포인트로 들어오는 트래픽을 각 인스턴스에 분산해줄수 있다.

로드밸런서의 종류

1. 클래식 로드밸런서

네트워크 4계층에서 작동하기 때문에  라우터 스위치등 물리적인 하드웨어 영역이기때문에 데이터를 변경/수정 할 수 없다.

  • 타겟그룹으로 EC2 인스턴스를 오토스케일링 하여 사용한다.
  • 단점으로는 서버의 기본 주소가 바뀌면 로드밸런서를 새로 생성해야하고 하나의 엔드포인트에 하나의 대상 그룹으로 보낸다.
  • 또한 4계층에서 작동해 포트나 헤더를 바꿀수없다.
  • 이런구조는 아키텍쳐 구조가 복잡해지며 비용이 많이 들수있다.

2. 애플리케이션 로드 밸런서

네트워크 7 계층에서 작동하며 레이어 7계층은 애플리케이션 계층이기때문에 포트나 헤더등이 수정 가능하다정도만 이해해도 충분하다.

  • ALB 는 패스나 포트에 따라 다른 타겟그룹으로 매핑할수있다. 뿐만아니라 람다나 EC2, ip 로도 연결이 가능해 자유롭다.

용어

1. 상태확인

로드밸런서는 각 인스턴스의 상태를 확인할수있다.

HTTP 요청을 보내본후 응답이 오지 않는 인스턴스가 있다면 비정상 상태의 인스턴스를 제외한 다른 인스턴스로만 트래픽을 분산한다.

2. 타켓그룹

일반적으로 오토스케일링을 하는 단위, 그룹

ALB 용어

1. 리스너와 룰

리스너는 포트와 프로토콜별로 요청을 처리할수있다.

출처 : https://medium.com/harrythegreat/aws-%EB%A1%9C%EB%93%9C%EB%B0%B8%EB%9F%B0%EC%8B%B1-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0-9fd0955f859e

Categories:

Updated: