AWS Auto Scaling은 애플리케이션을 모니터링하고 용량을 자동으로 조정하여, 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지합니다.
우리가 실제로 서비스를 배포할 때 꼭 필요한 기술이라고 생각됩니다.
이때 서버나 네트워크 장치에 가해지는 트래픽을 여러 대상으로 분산시키는 기술을 로드 밸런싱이라고 합니다.
위 그림을 보면 ALB(Applicatoin Load Balancer)을 통해 Load Balancing을 하고 있다.
크게 보면 로드 밸런서는 들어오는 트래픽을 여러 서버로 분산하여 오토스케일링 그룹은 서버의 인스턴스의 수를 자동으로 확장 또는 축소합니다.
1. LoadBalancer에서 만들 Security Group을 만들어줍니다.
이때 Load Balancers에서 HTTP, HTTPS를 사용하는 Application Load Balancer를 사용할 것이기 때문에
HTTP, HTTPS를 추가해줍니다.
2. 정해진 Instance에게 부하를 분산해 주기 위해 Target Group을 설정해 줍니다.
이때 AutoScaling으로 Instance에게 부하를 분산해 줄 것이기 때문에 Target Group에서는 별 다른 Instance를 지정 안 해줍니다.
Target Type으로는 Instance를 고릅니다.
Target Group Name은 BlogExampleTG으로 해줍니다.
이때 Available instances에서는 아무런 Instance도 고르지 않습니다.
-> AutoScaling에서 자동으로 고르기 때문
3. Load Balancers를 만들어줍니다.
Load Balancer에서 Application Load Balancer을 사용할 것이기 때문에 Security Group에서 HTTP, HTTPS를 추가해 줬습니다.
인터넷을 통해 트래픽을 받고 분산시킬 것이기 때문에 Internet-facing을 고릅니다.
서울 Region에는 가용영역이 4개 있는데 그중에 2개를 사용할 것입니다.
그러므로 a와 b를 체크해줍니다.
가용영역을 2개 사용하는 이유는 데이터 센터가 화재가 나서 전체가 마비되는 것처럼 하나의 데이터센터가 작동이 안 될 때 나머지 데이터센터로 가동하기 위해서입니다.
가용영역과 Region이란?
가용영역 : - 1개 이상의 데이터 센터를 논리적 그룹으로 묶어 놓은 인프라.
Region이란 : 3개 이상의 가용영역을 논리적으로 묶음
- 데이터 센터를 그룹 한 것을 또 그룹 한 것 ( 우리가 사용하는 것은 서울 Region )
그래서 최소한의 두 개의 Zone을 고르라고 되어 있습니다.
그리고 Security Group으로 아까 만들었던 Securiy Group을 선택합니다.
Listener : ~ 번 포트를 들을지 정해주는 것이다. 여기서는 HTTP:80 포트를 듣는다고 나와있다.
그리고 80번 포트로 들어온 트래픽을 BlogExampleTG로 라우팅을 해줍니다.
여기까지 한 뒤, create를 해주면 됩니다!