ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS | EC2와 로드밸런서 연결하는 방법
    Topic/AWS | JENKINS 2022. 8. 30. 09:36
    반응형
    • 서로 다른 EC2 인스턴스를 생성 후 ELB를 적용

    1. EC2 인스턴스 생성

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

    2. Load Balancer 적용

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

    보안 그룹 할당

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

    상태검사 구성

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

    인스턴스 추가

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

    검토

    • 최종 확인해주기

    생성완료

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

    로드밸런서 적용 확인

    • 앞으로의 접속 요청은 인스턴스의 DNS주소가 아닌 로드밸런서의 DNS주소로 접근한다.
    • 로드밸런서의 DNS주소로 처음 접근시에는 위와같이 미리 인스턴스에 세팅해 두었던 Server2라는 문장을 출력하는 NGINX + NodeJS서버를 볼 수 있다.
    • 리로드를 할 때마다 다른 인스턴스에서 실행되고있는 Server1이라는 문장을 출력하는 NGINX + NodeJS서버를 볼 수 있다.
    • 계속 리로드를 할 시 Server1 과 Server2가 번갈아 표시되게된다.
    • 그러다가 더이상 번갈아 표시되지않을 경우가 생기는데 로그로 확인해 보았을 때 API요청이 캐싱되어 처리되는것을 확인할 수 있었다.
    • 2개의 EC2 인스턴스중에서 하나를 중지 시켰을 땐, Server1 혹은 Server2하나만 표시되는것을 알수 있었다.
    반응형
Designed by LEO.