ELB 로드밸런서 사용하기

Seok·2020년 12월 6일
0

AWS

목록 보기
3/4
post-thumbnail

실습 환경

  • AWS EC2(Ubuntu 16.04)

0. 목표

  • 서로 다른 EC2 인스턴스를 생성 후 ELB를 적용해 본다.

1. EC2 인스턴스 생성하기

  • 먼저 ELB에 연결할 2개의 EC2 인스턴스를 생성한다.
  • 주의할 점은 두 인스턴스의 서브넷(가용영역)을 다르게 설정한다.
  • ap-northeast-2a 서브넷으로 지정된 첫번째 인스턴스
  • ap-northeast-2c 서브넷으로 지정된 두번째 인스턴스

2. Load Balancer 적용하기

Load Balancer 생성하기

  • EC2 서비스페이지에서 좌측 메뉴 하단에 로드 밸런싱->로드밸러서를 클릭해서 접속한다.
  • classic Load Balancer를 선택한다.
  • 로드밸런서 이름을 정의하고 다음을 눌러준다.

보안 그룹 할당

  • 기존에 생성되어있는 보안 그룹을 할당시켜줬다.
  • 80 HTTP만 설정되어있으면 된다.

상태검사 구성

  • 로드밸런서에 연결할 인스턴스의 헬스체크와 관련된 설정이다.
  • 기본값으로 두고 넘어간다.

인스턴스 추가

  • 로드밸런서에 연결할 인스턴스를 선택해 준다.

검토

  • 최종적으로 확인해준다.

생성완료

  • 생성 완료 후 방금 생성한 로드밸런서를 클릭해 아래 인스턴스 탭을 눌러보면 상태가 OutOfService상태이다.
  • 지금은 방금 생성해서 OutOfService라고 나타나지만 이후에는 인스턴스가 사용 불가한 상태일때 OutOfservice라고 나타난다.
  • 인스턴스가 사용가능하다면 위의 내용처럼 InService상태로 바뀐다.

로드밸런서 적용 확인

  • 앞으로의 접속 요청은 인스턴스의 DNS주소가 아닌 로드밸런서의 DNS주소로 접근한다.
  • 로드밸런서의 DNS주소로 처음 접근시에는 위와같이 미리 인스턴스에 세팅해 두었던 Server2라는 문장을 출력하는 NGINX + NodeJS서버를 볼 수 있다.
  • 새로고침을 수행하게 되면 다른 인스턴스에서 실행되고있는 Server1이라는 문장을 출력하는 NGINX + NodeJS서버를 볼 수 있다.

  • 계속 새로고침을 하면 Server1 과 Server2가 번갈아 표시되게된다.

  • 그러다가 더이상 번갈아 표시되지않을 경우가 생기는데 로그로 확인해 보았을 때 API요청이 캐싱되어 처리되는것을 확인할 수 있었다.

  • 2개의 EC2 인스턴스중에서 하나를 중지 시켰을 땐, Server1 혹은 Server2하나만 표시되는것을 알수 있었다.


두 인스턴스에 사용된 Nodejs 코드는 GITHUB에서 확인하실 수 있습니다.

profile
🦉🦉🦉🦉🦉

0개의 댓글