ECS Service Auto Scaling
- 태스크 수를 자동으로 늘리거나 줄일 수 있다.
- ECS 서비스의 CPU 사용률을 확장할 수 있고, 메모리 사용률 즉 ECS 서비스의 RAM이나 ALB 관련 지표인 타겟당 요청 수를 확장할 수 있다.
- 세 개의 지표만 기억하면 다양한 오토 스케일링을 설정할 수 있다.
- 특정 타겟을 추적하는 대상 추적(Target Tracking) 스케일링이나 단계(Step) 스케일링 혹은 ECS 서비스 확장을 설정하는 예약(Scheduled) 스케일링 등이 있다.
- EC2 시작유형이라면 태스크 레벨에서의 ECS 서비스 확장이 EC2 인스턴스 클러스터의 확장과 다르다는 사실을 기억해야 한다.
- 따라서, EC2 오토 스케일링이 필요하지 않다면, 백엔드에 EC2 인스턴스가 없다면 Fargate를 사용하는 것이 서버리스이니깐 서비스 오토 스케일링에 도움이 된다.
EC2 Launch Type - Auto Scaling EC2 Instances
(EC2 시작 유형에서는 백엔드의 EC2 인스턴스를 어떻게 자동으로 확장할까?)
- 스케일링에서 여러 방법이 있는데 그 중 하나가 오토 스케일링 그룹이다.
- CPU 사용률에 따라 ASG를 확장한다고 하면 CPU 사용률이 급등할 때 EC2 인스턴스를 추가할 수 있다. 아니면 더 최신 기능인 ECS 클러스터 용량 공급자를 사용할 수 있다.
- 용량 공급자(Capacity Provider)는 새 태스크를 실행할 용량이 부족하면 자동으로 ASG를 확장한다.
- 오토 스케일링 그룹과 함께 사용되며 RAM이나 CPU가 모자랄 때 EC2 인스턴스를 추가한다. - 오토 스케일링 그룹과 EC2 클러스터 용량 공급자 중에 EC2 시작 유형의 경우, EC2 클러스터 용량 공급자를 사용하는 것이 좋다.
EC2 Scaling - Service CPU Usage Example
- 서비스 A에 태스크 두 개가 실행 중이고, CPU 사용량은 위의 예시 정도이다.
- 이 서비스는 AWS 애플리케이션 오토 스케일링으로 자동 확장된다.
- 만약 사용자가 훨씬 많아져서 CPU 사용량이 급증하면 ECS 서비스 레벨에서 CPU 사용량을 모니터링하는 CloudWatch 지표가 CloudWatch 알람을 트리거 한다.
- 이 알람이 오토 스케일링을 또 트리거하면 ECS 서비스의 희망 용량이 증가하고 새 태스크가 생성되게 된다.
- EC2 시작 유형에서 실행되는 서비스라면 ECS 용량 공급자가 EC2 인스턴스를 추가해 ECS 클러스털르 확장할 것이다.
'AWS(Amazon Web Service)' 카테고리의 다른 글
[AWS] AWS's containers - ECR (0) | 2024.12.05 |
---|---|
[AWS] AWS's containers - ECS 솔루션 아키텍트 (0) | 2024.12.04 |
[AWS] AWS's containers - ECS (0) | 2024.12.02 |
[AWS] AWS's containers (1) | 2024.12.01 |
[AWS] AWS Integration & Messaging - Amazon MQ (0) | 2024.11.30 |