본문 바로가기
CICD/AWS

[AWS] ELB , ALB 로 분산 처리해보기

by windy7271 2024. 9. 8.
728x90
반응형
  • 하나의 서버, 서버셋으로 트래픽을 백엔드나 여러 서버(EC2 인스턴스들)로 다운스트림으로 전달하는 역할
  • 인스턴스 앞에 위치하여 유저가 엘라스틱 로드 밸런서로 접근할 때 여러 인스턴스들( 서버셋 )로 트래픽을 분산하는 것 → 다른 인스턴스 엔드포인트로 보냄
  • 단일 엑세스 지점(DNS)을 노출하게 되고 다운스트림 인스턴스의 장애를 원활히 처리 가능
  • 상태 확인 매커니즘으로 파악 가능
  • 쿠키를 통한 고정성 지원, HTTPS 트래픽을 위한 SSL, 고가용성과 클라우드 내부의 개인 트래픽과 공공 트래픽을 분리할 수 있다

만약에 우리가 여러개의 EC2 인스턴스를 접속하고 여러개 사이의 부하를 분산하기 위해 LoabBalancer를 사용한다.

 

그중에 ALB를 한 번 해보려고한다.

 

ALB :  Application Load Balancer 

ALB 는 Http 와 Https 타입의 트래픽을 위한 것이고, TCP , UDP , TCP 기반의 TLS를 위한 것이다.

ALB 는 초고성능 환경을 구착할 때 사용하고, 

지연 시간을 최소로 유지하면 서초당 수백만의 건의 요청을 처리한다.

 

1. 상황

 

 

현재의 인스턴스 상태 EC2 2개

 

 

 

같은 URL로 이 두 EC2 인스턴스 부하를 분산해보겠다.

 

1.  로드밸런서 생성

 

우리는 http, https 트래픽 을 위함이니깐 맨 왼쪽것을 누른다.

 

GLB는 보안, 침입 탐지, 방화벽등에 특화돼 네트워크 트래픽을 분석하기 위한 로드밸런서이다.

 

 

1

 

모든 가용 영역

 

 

여기에 인스턴트들을 대상그룹으로 만들어야 한다.

 

 

http 1 유지

 

돌아와서 대상그룹 추가

 

그리고 생성

 

 

여기서 상태가 바뀌면

DNS 이름인 song-loadbalancer-562512137.ap-northeast-2.elb.amazonaws.com 으로 들어가서

새로고침을 하다보면 안에 내용이 바뀐다.

 

 

대상그룹에서 두 인스턴스가 정상인지 확인 가능 

 

로드밸런서를 통해 들어갈수도 있지만. EC2인스턴스에 직접 접근할 수 있다.

AWS 에서는 EC2 인스턴스 접근할때 로드밸런서를 통해서 접근하는게 좋다고 한다. 

 

방법 :

 

로드밸런스에서 오는것만 받아야 하기 때문에

HTTP(80), 로드밸런서의 보안그룹을 선택하면 된다.

 

이런식으로 EC2 에 인바운드 규칙을 로드밸런서에서만 날라오게 해주면 된다.

 

 

 

로드밸런스 -> 리스너 -> 리스너 규칙 추가 -> 규칙 추가로 복잡하게 만들 수도 있다. 

즉 필터링을 해서 받을 수 있다.

이런식으로 하면 /error 가 있으면 규칙이 실행되는것이다.

 

조건이 일치하는경우 무엇을 하는지 설정하는 것이다.

 

URL 리디렉션, 전체 url선택 등 여러가지 활동을 할 수 있다.

나는 404 찾을 수 없음을 할것이다.

 

 

우선순위도 정해준다. 지금은 하나밖에 없으니 그냥 아무숫자 넣는다.

 

그러면 요렇게 나온다.

 

그럼이만.

 

반응형

댓글