본문 바로가기

카테고리 없음

Amazon ELB 기능 소개2

ALB를 생성하고 동작 과정 확인하기

출처 : AWS 교과서

 

ALB 생성하기

 

대상 그룹 이름 : ALB-TG, VPC : ELB-VPC

대상 그룹 생성 - 그룹 세부 정보 지정

 

모두 체크하고 아래에 보류 중인 것으로 포함 클릭

대상 그룹 생성 - 대상 등록

로드 밸런서 생성

로드 밸런서 유형 선택

로드 밸런서 이름

ALB 생성 - 기본 구성

 

네트워크 매핑

ALB 생성 - 네트워크 매핑

 

보안 그룹

ALB 생성 - 보안 그룹

리스너 및 라우팅

ALB 생성

ALB 동작

출처 : AWS 교과서

ALB 동작확인하기

MyEC2 인스턴스에서 SSH로 접속

ALB 변수에는 각자의 ALB DNS 이름을 입력

ALB DNS 이름 = 로드 밸런서 페이지에서 생성된 로드 밸런서를 클릭

# MyEC2의 SSH 터미널 접속
3 ALB DNS 이름 변수 지정
ALB=ALB-499212327.ap-northeast-2.elb.amazonaws.com # 각자의 ALB DNS 이름 입력

echo $ALB
ALB-499212327.ap-northeast-2.elb.amazonaws.com

# dig로 도메인에 대한 질의 수행

dig $ALB +short
3.37.139.109
43.203.83.152

 

두 개의 유동 공인 IP가 출력

즉, 사용자가 ALB 도메인 주소로 접속을 시도하면 DNS 질의 결과인 유동 공인 IP로 번갈아 가며 접속

 

다음으로 curl 명령어 입력 결과 확인

# MyEC2dml SSH 터미널
# curl 접속 테스트 - ALB는 기본 라운드 로빈 방식으로 대상 분산
[root@MyEC2 ~]# curl $ALB
<h1>ELB LAB Web Server-2</h1>
[root@MyEC2 ~]# curl $ALB
<h1>ELB LAB Web Server-3</h1>

# 반복문을 활용하여 curl 접속 테스트
# for 문으로 20번 반복 접속을 수행한 후 동일한 결과 값을 모아 출력
[root@MyEC2 ~]#
[root@MyEC2 ~]# for i in {1..20}; do curl $ALB --silent ; done | sort | uniq -c | sort -nr           
      7 <h1>ELB LAB Web Server-3</h1>
      7 <h1>ELB LAB Web Server-2</h1>
      6 <h1>ELB LAB Web Server-1</h1>
      
# for 문으로 90번 반복 접속을 수행한 후 동일한 결과 값을 모아 출력 
[root@MyEC2 ~]# for i in {1..90}; do curl $ALB --silent ; done | sort | uniq -c | sort -nr
     30 <h1>ELB LAB Web Server-3</h1>
     30 <h1>ELB LAB Web Server-2</h1>
     30 <h1>ELB LAB Web Server-1</h1>

 

ALB 도메인 주소로 접속을 시도하면 세 대의 웹 서버가 배치된 대상 그룹으로 거의 33% 비중으로 균등하게 로드 밸런싱 

출처 : AWS 교과서

 

ALB 경로 기반 라우팅 기능을 구성하고 확인하기

# MyEC2의 SSH 터미널
# /dev/index.html 접근 -> 로드 밸런싱 기능으로 SERVER-1만 접근 가능

[root@SERVER1 ~]# curl $ALB/dev/index.html --silent
<h1>ELB LAB Dev Web Page</h1>

[root@MyEC2 ~]# curl $ALB/dev/index.html --silent
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

# /mgt/index.html 접근 -> 로드 밸런싱 기능으로 SERVER-2,3 만 접근 가능
[root@SERVER2 ~]# curl $ALB/dev/index.html --silent
<h1>ELB LAB Dev Web Page</h1>

[root@MyEC2 ~]# curl $ALB/dev/index.html --silent
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

 

ALB 경로 기반 라우팅 기능 동작 그림

출처 : AWS 교과서

EC2 - 로드 밸런싱 - 대상 그룹

DEV-TG

대상 그룹 생성 - 그룹 세부 정보 지정

 

서버 1 선택

대상 그룹 생성 - 대상 등록

MGT-TG

대상 그룹 생성 - 그룹 세부 정보 지정

서버 2,3 선택

 

ALB 리스너 규칙 추가

EC2 - 로드 밸런서 , 리스너 및 규칙 탭, 라우팅 규칙 체크, 오른쪽에서 규칙 관리 - 규칙 추가

ALB 리스너 규칙 확인

Name에 dev

ALB 리스너 규칙 삽입

 

조건 추가 클릭 후 규칙 조건 유형에서 경로 선택

값 영역에 '/dev/*' 입력 후 확인 - 다음

작업 유형 대상 그룹으로 전달

대상 그룹으로 전달 DEV-TG

ALB 리스너 dev 규칙 설정

 

ALB 리스너 규칙 생성 확인

ALB 리스너 규칙 생성 확인