1.Auto Scaling Group (ASG) 쉬운 설명: 무인 카페 예시
- 무인 카페가 있고, 총 5개의 커피머신을 놓을수 있다고 가정합시다.
- 해당 무인카페는 렌탈업체가 기계상태를 모니터링하고 있다고 가정합니다.
1) 무인카페 운영 시작
- 무인카페에 커피 머신이 하나만 있는 상황입니다. 손님이 오면 커피 머신이 그 일을 처리합니다.
- 1개의 EC2 인스턴스 가 동작하는 것과 같습니다.
2) 손님이 늘었을 때(트래픽 증가)
- 손님이 많아지면 커피 머신이 이를 감당하지 못하고 과부하 에 걸리게 됩니다.
- 렌탈업체에서 이를 감지하고, 더 많은 커피 머신을 자동으로 배치합니다.
- 이는 ASG 가 EC2 인스턴스를 추가 하는 것과 같습니다.
- 예를 들어, Backend Instance CPU 사용량이 높아지면, AWS는 트래픽을 처리할 수 있도록 자동으로 새로운 인스턴스를 추가합니다.
3) 손님이 줄었을 때(트래픽 감소)
- 손님이 줄면, 커피머신들의
- 이때, 모니터링 시스템은 불필요한 커피 머신을 제거할 필요가 있다는 것을 감지하고, 커피 머신을 회수합니다. 이건 EC2 인스턴스를 자동으로 종료하는 것과 같습니다.
- 이렇게 하면 비용을 절감할 수 있죠.
4) 커피 머신 고장
- 만약 커피 머신이 고장난다면, 모니터링 시스템이 이를 자동으로 감지하고, 고장 난 커피 머신을 교체합니다. 이건 인스턴스 헬스 체크를 통해 문제가 있는 인스턴스를 종료하고 새로운 인스턴스를 시작하는 것과 같습니다.
- 이렇게 해서 가용성을 유지할 수 있습니다.
2. Auto Scaling Group (ASG) 이란?
- 트래픽 변화에 맞춰 자동으로 EC2 인스턴스 수를 동적으로 관리하는 그룹입니다.
- ASG를 통해 애플리케이션의 가용성을 유지하고 리소스를 최적화할 수 있습니다.
1) 수평확장/축소(Scale-out/Scale-in)
- 정해진 EC2 인스턴스를 동적으로 수평 확장/축소 하여 트래픽 변화에 따라 인스턴스 수를 조절합니다.
- 유연성 : 트래픽 변화에 따라 대응하여 과부하를 방지할수 있습니다.
- 비용 효율성 : 불필요한 리소스를 제거하여 비용을 최적화합니다.
- 무중단 확장 : EC2 인스턴스를 종료하지 않고도 인스턴스수를 늘릴 수 있습니다.
2) Scaling Policies
- 스케일링 작업 조건을 설정하여(CPU, 메모리 사용률 등) 자동으로 스케일링을 진행합니다.
3) Health Check
- EC2 인스턴스의 상태를 일정주기마다 점검하여 비정상 인스턴스를 삭제, 새로운 인스턴스를 추가합니다.
- Health Check API: Health Check를 위한 API 가 인스턴스 내에 있어야 하며, HTTP 200 응답을 반환해야 합니다. 응답이 정상적이지 않을경우 비정상 인스턴스로 판단됩니다.
4) Launch Template
- 인스턴스를 추가할때 사용할 템플릿 정보입니다. 기본적으로 EC2 인스턴스 생성과 유사합니다.
- AMI: EC2 인스턴스의 운영 체제와 애플리케이션 구성등을 포함하는 EC2 이미지 입니다. EC2 인스턴스로 쉽게 생성할 수 있습니다.
- 인스턴스 유형 : CPU, 메모리, 네트워크 성능 등을 선택합니다.
- 보안 그룹: 네트워크 트래픽에 대한 접근 제어(In Bound, Out Bound)합니다.
- EBS 볼륨: 스토리지 크기를 결정합니다.
5) Elastic Load Balancer와 통합
- AWS의 Load Balancer와 통합하여 생성된 인스턴스들의 트래픽을 관리할 수 있습니다.
3. 설계
- 백엔드 인스턴스를
'AWS > EC2' 카테고리의 다른 글
[EC2] Load Balancer 기반 Auto Scaling 구현 (1) 도입배경, 이론 (2) | 2024.11.21 |
---|---|
[EC2] EC2 Auto Scaling Group 적용 (3) - 오토스케일링 테스트 (0) | 2024.11.20 |
[EC2] EC2 Auto Scaling Group 적용 (2) - 시스템 구축 (1) | 2024.11.19 |
[EC2] AWS EC2 프로젝트 배포 (2) - Backend, Frontend, Redis 인스턴스 설정 및 Docker Compos배포 (0) | 2024.11.18 |
[EC2] AWS EC2 프로젝트 배포 (1) - 도입배경, 설계 (1) | 2024.11.18 |