Auto Scaling Group

combi_jihoon·2022년 4월 1일
0

aws solutions architect

목록 보기
43/57
post-thumbnail

Auto Scaling Group

ASG를 통해 scale-out/scale-in 할 수 있으며 desired 개수의 머신이 항상 작동하도록 할 수 있다. 또한, scale-out 하면 로드 밸런서에 자동으로 새로운 인스턴스가 등록 된다.


ASG를 구성하는 속성

  • Launch configuration
    - EC2 instance를 수동으로 설정했을 때 보았던 구성 요소들을 의미한다.
  • Min 용량/Max 용량/desired 용량
  • 네트워크 + 서브넷 정보
  • 로드 밸런서 정보
  • Scaling Policies
    - 무엇이 스케일 아웃 또는 스케일 인을 트리거 하도록 만들 지를 정의한다.


Auto Scaling Alarms

  • CloudWatch 알람을 기반으로 ASG를 scale 할 수 있다.
  • 알람은 metric을 모니터링 한다.
    - 예를 들면, 평균 CPU가 이에 해당한다.
  • metric은 평균 값을 확인한다.
  • 이러한 알람을 기반으로 scale-out 정책 또는 scale-in 정책을 생성할 수 있다.

Auto Scaling의 새로운 규칙

  • 아래와 같이, 이제는 더 나은 오토 스케일링 규칙을 정의하는 것이 가능하다.
    - Target 평균 CPU 사용량
    - 한 ELB의 인스턴스 당 요청 개수
    - 평균 네트워크 인/아웃

Auto Scaling Custom Metric

  • custom metric을 기반으로 auto scaling 하도록 정의할 수 있다.
    - 가령, 연결된 유저 수를 기반으로 하는 것 역시 가능하다.
  • 그러면 Auto scaling 되는 과정은 다음과 같다.
    1. application이 CloudWatch로 custom metric을 전송한다.
    - PutMetric API를 이용하면 된다.
    2. 낮거나 높은 값에 대해 반응하는 CloudWatch 알람을 생성한다.
    3. 해당 알람을 ASG의 scaling policy로 사용한다.

정리

  • Auto scaling policies는 CPU, Network, 그리고 커스텀 metric, 또는 스케줄을 기반으로 하는 것 역시 가능하다.
  • Auto scaling group에 IAM 역할을 연결시키면 해당 IAM 역할은 자동으로 EC2 인스턴스에 할당된다.
  • ASG는 무료이지만 이에 의해 리소스가 launch 된다면 이에 대해서는 비용을 지불해야 한다.
  • 만약 특정 인스턴스가 어떤 이유로든 종료되었다면 ASG는 이를 자동으로 인식해 새로운 인스턴스를 하나 생성해 준다. 따라서 안전이 보장 된다.
  • ASG는 ELB가 비정상이라고 판단한 인스턴스를 종료시키고 새로운 인스턴스를 생성해 교체한다.
profile
쿄쿄

0개의 댓글