인스턴스나 시스템의 수를 늘리는 방법
ex) 전화 교환원, 전화 교환원의 수를 늘리자
수평확장 -> 분배 시스템이 있다는 걸 의미
인스턴스의 크기를 확장하는 것을 의미
ex) 전화 교환원, 신입 교환원을 경력 교환원으로 교체
데이터베이스처럼 분산되지 않은 시스템에서 흔히 사용(RDS, ElastiCache)
고가용성이란 애플리케이션 또는 시스템을 적어도 둘 이상의 AWS의 AZ나 데이터 센터에서 가동 중이라는 걸 의미
고가용성의 목표: 데이터 센터에서의 손실을 방지하는 것
-> 센터 하나가 멈춰도 게속 작동이 가능하게끔 하는 것
ex) 분배되어 있는 자원을 활용하여 한 곳이 끊기면 다른 곳을 이용
서버 문제를 자동으로 감지하고 클라이언트 트래픽을 사용 가능한 서버로 리다이렉션하여 시스템의 내결함성을 높인다.

로드 밸런서를 사용하는 이유:
관리형 로드 밸런서 => AWS가 관리하며, 어떤 경우에도 작동할 것을 보장
AWS는 업그레이드, 유지보수, 고가용성을 관리합니다.
작동이 올바르게 되고 있는지의 여부를 확인하기 위해 사용

위와 같이 테스트를 보내고 상태코드를 통해 해당 인스턴스의 상태를 확인한다.
-> 상태가 좋지 않다면 엘라스틱 로드 밸런서는 그쪽으로 트래픽을 보내지 않는다.
AWS에서 제공하는 로드 밸런서의 종류 AWS는 4가지 종류의 관리형 로드 밸런서를 제공



4가지 로드 밸런서 중에 ALB를 가장 많이 사용한다 함.

두 인스턴스 모두 잘 작동한다


이제 로드 밸런싱을 적용해보자

아래와 같이 인바운드는 HTTP를 모두 열어주고, 대상 그룹을 생성하자

생성을 완료하면 아래와 같이 DNS 이름이 나온다

새로 고침을 할때마다 아래와 같이 대상이 바뀌는 것을 확인할 수 있다
-> ALB가 균등하게 인스턴스를 바꿔가며 리디렉션을 해줌


리스너 규칙 추가
아래와 같이 특정 url, path를 조건으로 필터할 수 있다

어떤 동작을 할지 정할 수 있다.


클라우드에서 서버를 빠르게 생성하고 제거할 수 있다.



오토 스케일링 그룹 생성(템플릿을 만들자)

생성을 완료하면 EC2 인스턴스가 생성

활동 기록을 통해 볼 수 있다.

아래는 희망과 최대 인스턴스를 2개로 늘렸을 때


아래는 희망 인스턴스를 1개로 다시 바꿨을 때
