EC2
인스턴스를 생성 후 ELB
를 적용해 본다.ELB
에 연결할 2개의 EC2 인스턴스
를 생성한다.ap-northeast-2a
서브넷으로 지정된 첫번째 인스턴스ap-northeast-2c
서브넷으로 지정된 두번째 인스턴스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에서 확인하실 수 있습니다.