[AWS 클라우드 Discovery] 07. Loadbalancing

leny·2021년 7월 18일
0
post-thumbnail

로드밸런싱 (Loadbalancing Concept)

네트워크 기술의 일종으로, 네트워크 트래픽을 하나 이상의 서버나 자입로 분산하기 위해 사용하는 기술로,
통상적으로 외부에서 발생하는 많은 인터넷 트래픽을 여러 웹 서버나 장비로 부하를 분산하여 처리한다

일반적으로 웹 트래픽 증가에 대해 처리방식은 두가지로 나눈다.

1. scale up (서버 크기를 증설)
:cpu, 메모리, 디스크 등의 기능을 업그레이드 하는 방식

2. scale out (서버 개수를 증가)
: 저렴한 노드 여러개를 하나의 cluster로 구성하는 방식으로, cluster 내의 하나에 노드에 문제가 발생하여도 웹서비스가 중단되는 일을 방지할 수 있다. 즉 fail-over 가 가능하다는 이야기이다.

Loadbalancing Type (총 4가지)

1. Round Robin (라운드 로빈)

real server로 세션 연결을 순차적으로 맺어주는 방식으로, 세션에 대한 보장을 제공하지 않음

2. Hash (해쉬)

해쉬 알고리즘을 이용한 로드밸런싱 방식으로, 클라이언트가 특정 서버로 연결된 이후에는 동일 서버로만 연결되는 구조로, 세션에 대한 보장을 제공함

  1. Least connection (최소연결)
    세션 수를 고려해서, 가장 작은 세션을 보유한 서버로 세션을 맺어주는 연결 방식으로, 세션에 대한 보장을 제공함

  2. Response Time (반응 시간)
    빠른 응답시간을 제공하는 서버로 세션을 맺어주는 방식으로, 세션에 대한 보장을 제공하지 않음

Amazon Elastic Load Balancing

Amazon Elastic Load Balancing은 single AZ 에서 인스턴스 및 컨테이너, ip 주소와 같은 동일한 서비스를 제공하기 위해 준비된 여러 대상으로 앱 및 네트워크 트래픽을 자동으로 분산시킴

목적에 따라 세가지 로드밸런스를 선택하여 하나의 서비스를 사용할 수 있으며, 이를 통해 앱의 내결함성 보장을 위해 필요한 고가용성, 부하분산, 자동확대/ 축소, 강력한 보안기능을 제공한다.

주요 특징

  1. 앱의 내결함성을 확보하며, 네트워크 트래픽을 원할하게 대상으로 자동분산 처리기능 제공
  2. 고가용성, 자동조정 및 강력한 보안 서비스 제공
  3. application load balancer, network load balancer, classic load balancer 와 같이 3가지 형태의 밸런서를 제공하고, 앱의 필요에 따라 로드 밸런스함
  4. 프리티어 (free tier) 제공

ELB의 종류 및 유형

ELB의 주요 특징

Lab 01 : 웹 서버 구성 및 웹 페이지 연결 테스트하기

2대의 웹 서버를 띄운다음에, ELB Configuration 해서, test를 진행해본다. (동작여부와 복구 후 서비스 복구 후 동작방식에 대해 실습을 진행할 예정이다.

순서 1. ec2> ami를 linux free tier version 아래의 옵션들로 구성하여 인스턴스를 생성한다.

  • number of instances : 2
  • network : 만들어놓은 vpc or default vpc도 무관하다
  • subnet : 만들어놓은 vpc or default vpc도 무관하다
  • auto-assign public ip : enable (활성화)

Lab 02 : ELB 구성하기

Lab 03 : 서비스 실패 시 ELB 테스트하기

Lab 04 : ELB 세션 연결 고정(sticky session activation)

profile
행복과 성장에 대해 고민하는 사람🤓 , 포스팅 주기가 잦지 않을 수 있습니다만, 항상 좋은 내용을 담고자 합니다🙇🏼

0개의 댓글