AWS에서 Auto Scaling 그룹을 이용해 다중 서버를 구성해보자 😃
Auto Scaling: 트래픽에 따라 서버의 수를 자동으로 늘리고 줄이는 것
Auto Scaling Group
- AWS에서 제공하는 자동 다중 서버 서비스
- 같은 사양, 같은 환경, 같은 코드를 가지고 있는 똑같은 EC2 인스턴스들의 묶음
- 자원 사용량 또는 시간을 기준으로 Auto Sacling을 설정할 수 있음
생성하는 방법 ✔
1. 다중 서버로 만들고자 하는 인스턴스의 현재 환경을 스냇숍으로 생성해서 AMI으로 만든다.
2. 시작 템플릿에 AMI을 이용해 어떤 설정(사양, 보안 그룹, 네트워크 설정 등)의 인스턴스를 띄울지 정의하고, 생성한다.
3. 이 시작 템플릿을 이용해 인스턴스를 실행할 Auto Scaling 그룹을 만든다.
Auto Scaling Group을 생성할 때 네트워크 유형은 VPC로 설정했다.
* VPC (Virtual Private Cloud)
AWS Elastic Load Balancing을 이용해 서버 트래픽을 분산 관리해보자 😃
요청을 전달할 서버들을 묶어둔 개념적인 그룹인 대상 그룹(Target Group)을 생성한다.
=> 로드 밸런서 생성할 때 라우팅 구성 설정을 통해 요청한 포트에 따라 다양한 대상 그룹으로 그 요청을 전달하는 것이 가능해진다.
로드 밸런서는 상태 검사(Health Check)를 실시한다.
=> 상태 검사 경로를 GET /health로 등록해두면 로드 밸런서는 주기적으로 서버들에게 요청을 보내고, 문제가 있다면 정상 상태가 될 때까지 클라이언트의 요청을 전달하지 않는다.
=> nginx 서버와 같은 웹 서버만 살아있어도 서버가 정상이라고 판단해도 된다면, nginx에서만 GET /health를 설정해도 되지만, 애플리케이션까지 실제로 올바르게 실행 중이어야 한다면, 애플리케이션에서 처리해서 상태 코드 200을 응답하도록 설정해야 한다.
'AWS' 카테고리의 다른 글
[Terraform] 테라폼으로 모듈 구성하기 - count, for-each 등 (0) | 2021.02.06 |
---|---|
[AWS] 대용량 스트림 데이터 처리 플랫폼 - Kinesis (0) | 2021.02.06 |
[AWS] 운영 서버 관리 - 코드 배포 (0) | 2020.10.10 |
[AWS] 운영 서버 환경 구성 - 외부 환경 ( 도메인, HTTPS, SSL/TLS ) (0) | 2020.10.09 |
[AWS] 운영 서버 환경 구성 - 단일 서버 (0) | 2020.10.07 |