[실습] ALB와 NLB 이용한 로드 밸런싱

탬늬·2025년 2월 24일

AWS 교과서

목록 보기
7/21
post-thumbnail

목표 아키텍쳐

실습단계

  1. 기본 인프라를 CloudFormation으로 배포
  2. 기본 인프라 환경 검증
  3. ALB 생성 동작 과정 확인
  4. ALB 경로 기반 라우팅 기능 이용한 로드 밸런싱 구상
  5. ALB의 User-Agent 활용한 로드 밸런싱 방법 구성
  6. NLB을 생성, 교차 영역 로드 밸런싱 기능 여부 동작 과정 거쳐 확인
  7. 삭제

1. CloudFormation으로 배포

  • 앞에서는 수동으로 생성하고 사용, 코드 기반으로 생성하는 기술인 CloudFormation 통해 더 빠르고 정확한 실습 환경 조성
  • CloudFormation: AWS 인프라 리소스를 자동으로 생성해주는 서비스
    • 구성요소 : 템플릿,스택,리소스,파라미터,이벤트

스택생성

  • 템플릿 지정

  • CloudFormation으로 생성된 기본 인프라

  • server 1 파일구조

  • server 2 파일구조

2.MYEC2에서 server 1,2,3으로 HTTP,SNMP 서비스 확인

  • 퍼블릭 ip 변수지정
  • http,snmp 확인

3. ALB 생성 및 동작 과정 확인

대상그룹

로드 밸런서 생성

  • ALB 정보
  • ALB 상태 확인

동작확인

  • MYEC2에 SSH 접속
  • ALB DNS 이름 변수지정
ALB=ALB-1120926963.ap-northeast-2.elb.amazonaws.com
  • dig로 도메인에 대한 질의 수행

dig 명령어로 확인된 공인 IP는 가용 영역당 각각 생성된 ALB의 ENI 유동 IP !!

  • curl 명령어로 통신 확인

  • 반복문을활용해서 90번 통신을 하면 어느정도로 분배되는지 확인

  • 사진에서 보다싶이 거의 33% 비중으로 균등하게 분산이되는걸 확인

ALB 경로 기반 라우팅 기능 구성및 확인

  • MYEC2에 접속하여 /dev/index.html 접근 => SERVER 1 만 접근가능

  • /mgt/index.html => SERVER 2,3 만 접근 가능

    서버 1에는 dev 서버2,3에는 mgt라는 폴더라서 구분 가능

동일한 경로 서비스하는 서버를 각 대상그룹에 묶고 , ALB 경로 기반 라우팅 기능을 활용하여 웹에 접근할때 HTML 경로에 해당하는 그룹으로 접근하는 규칙 생성 해보자 .

DEV-TG 대상그룹생성

  • DEV 니까 DEV파일이 있는 서버1을 대상등록을 한다.

MGT-TG 대상그룹생성

  • 전에는 다르게 MGT파일이 있는 서버2,3을 등록한다.

ALB 리스터 규칙 추가 ( 경로 기반 라우팅 설정 위해서)

  • 로드 밸런서에 들어가서 규칙추가에 dev 라는 이름으로 /dev/* 라는 경로로 설정한다.
  • 우선순위 설정
  • 생성완료
  • 똑같이 mgt도 설정

접근 경로에 /mgt/ 경로는 MGT-TG로 전달하고 /dev/ 경로는 DEV-TG로 전달하는 규칙이다.

확인해보기

  • 반씩 트래픽이 잘 가는걸 볼수있음

각자 핸드폰의 웹 브라우저에 alb 도메인 주소로 접근할때 USER AGENT 정보 확인해서 특정 장치 접근 차단을 해보자

  • 규칙 생성 하기 전까지는 정상적으로 접속이가능함

규칙 생성해보자

처음에 그냥 iPhone,Android 썼는데 원인모르는 오류가 발생해서 포함으로 했더니 완성이됐다!

  • 이ip중 하나로 스마트폰으로 접속할것이다.

    결과론적으로 접근이 거부된걸 알수있다.

NLB 생성후 교차 영역 로드 밸런싱 동작 확인

NLB 생성

  • 대상그룹 생성

    달라진점은 프로토콜을 UDP로 바꾼점이다.

  • 고급 상태 검사 설정

    -등록된 대상 확인

  • 로드 밸런서 생성

NLB 동작 확인하기

  • NLB 대상그룹에 인스턴스 서버 포함했고 , 로드 밸런서는 2개의 가용 영역에 각각 생성된다.
    통신을 위한 ENL 생성하고 퍼블릭 IP 주소 할당.

  • NLB가 생성되면 각각의 NLB로 분산하여 전달하려고 NLB 도메인 주소를 생성

  • MYEC2에서 ELB-VPC에 있는 SERVER 1,2,3의 SNMP 정보 확인할 때 각각의 인스턴스 요청하는것이 아니라 NLB 도메인 주소 IP 주소로 요청!!

    ALB 와 어떤 차이가 있는지 알아보자 .

  • NLB에 매칭된 공인 IP 확인

  • NLB ip 변수설정

  • SNMP 서비스 확인

    MYEC2에서 NLB 로 SNMPGET 명령어를 요청하면 NLB 도메인 주소에 매칭된 각 가용 영역에 있는 로드 밸런서에 전달.
    Server 1에는 30 2,3,에는 각 15회정도로 전달한다. (위의 사진)
    ALB 와 다르게 라운드 로빈 방식으로 동작하는걸 알수있다.
    ALB : 교차 영역 로드 밸런싱 활성
    NLB : 교차 영역 로드 밸런싱 비활성화

  • 그럼 교차영역 활성화해보자

  • 교차로 응답함

삭제

profile
공부하면서 기록하기..

0개의 댓글