본문 바로가기
  • 노션에서 삽질한 내용을 정리하는 블로그
자기발전소/# AWS

Principles of Well Architect Framework -1

by iamlucia 2020. 8. 10.

안정성 

Auto Scaling 

Load Balancer (LB):

실습에서 자주 사용한 Classic LB:

L4계층에서 작동, 데이터 변경할 수 없는 물리 하드웨어 영역
오토 스케일링할 수 있는 단위 타겟그룹을 지정
단점: 서버의 기본주소가 바뀌면 로드밸런서를 새로 생성해야 함
예) 회원모듈을 처리하는 인스턴스와 쇼핑모듈 인스턴스가 있다면 2개의 로드밸런서가 필요

 

🟢 Load Balancer 기능
1. 클라이언트에 대한 단일 접점이 되어 여러 가용영역 EC2에 트래픽을 분산: 애플리케이션의 가용성 향상
2. 비정상적인 인스턴스를 감지하고 정상 인스턴스에만 트래픽 라우팅: 전체 흐름을 방해하지 않고 필요에 따라 인스턴스 추가 및 제거
3. 하나 이상의 리스너 추가 가능 
Listener : 사용자가 구성한 프로토콜 및 포트 번호를 사용하여 클라이언트 연결 요청 확인 후 인스턴스에 전달 
4. 여러 가용영역이 있을 때 각 영역에 있는 인스턴스 수가 거의 동일해야 한다 : 교차 영역 로드 밸런싱 
예) 한 영역에 7개의 인스턴스가 있고 다른 영역에 3개의 인스턴스가 있는 경우 로드밸런서는 각 영역별로 동일한 트래픽을 분산하여 7개 인스턴스가 함께 처리하는 양을 3개 인스턴스가 담당하게 됨

 

교차 (Cross-zone) 영역 로드 밸런싱 : Availibility Zones and load Balancer Nods

교차 로드밸런싱 기능 활성화된 경우 / 비활성화된 경우 

 

 

Process of Load Balancer: 

- 아마존 DNS 서버가 클라이언트의 요청을 받고 로드밸런서 노드의 IP주소를 반환한다.

 

- 네트워크 로드밸런서의 경우, 각 가용영역에 네트워크 인터페이스를 생성하여 각 로드밸런서 노드는 이 인터페이스를 통해 고정IP를 할당받는다(또는 네트워크 로드밸런서 생성시 EIP를 부여할 수 있다).

 

- 클라이언트는 어떤 IP주소를 사용하여 로드밸런서에 요청을 보낼지 결정한다.

 

- 요청을 받은 로드밸런서는 등록되어 있는 타겟 중 정상적인 타겟을 선정한다.

 

- 로드밸런서는 해당 타겟의 사설IP(내부)를 통해 타겟에 클라이언트의 요청을 전달한다.

 

- 시간이 지남에 따라 애플리케이션에 대한 트래픽이 변화하고, 로드밸런서의 스케일이 바뀌며 DNS 엔트리가 업데이트 된다. DNS 엔트리는 TTL을 60초로 지정하여 트래픽 변화에 대응하여 IP주소의 매핑을 다시(remap) 빠르게 수행한다.

 

 

Routing Algorithm:

 

유형 애플리케이션 로드밸런서 네트워크 로드밸런서 클래식 로드밸런서 
라우팅
알고리즘 
디폴트: 라운드 로빈
Flow Hash 알고리즘 
(프로토콜,  출발지와 목적지의 IP 주소 및 PORT) 
라운드 로빈 for TCP
Least Outstanding Request 알고리즘 for HTTP / HTTPS 
특징 Path나 Port 등에 따라 타겟 그룹으로 맵핑 가능
하나의 타겟 그룹에 더 많은 컨테이너를 넣어 비용 최적화 가능
EC2, 람다, IP등으로 연결 가능
  인스턴스를 타겟으로 지정