Auto Scaling Group

은채의 성장통·2025년 2월 6일
0

AWS

목록 보기
33/79

Auto Scaling Group (ASG)

Auto Scaling Group(ASG)은 클라우드 환경에서 애플리케이션의 가용성과 성능을 유지하기 위해 자동으로 인스턴스 수를 조절하는 기능입니다. 이를 통해 트래픽 변화에 따라 인프라 자원을 효율적으로 관리할 수 있습니다.

주요 개념

  1. ASG 런치 템플릿
    • 런치 템플릿은 ASG가 EC2 인스턴스를 시작할 때 사용하는 설정 모음입니다. 여기에는 인스턴스 유형, AMI ID, 키 페어, 보안 그룹, 네트워크 설정 등이 포함됩니다.
    • ASG는 런치 템플릿을 사용하여 일관된 설정으로 인스턴스를 자동으로 시작합니다. 이를 통해 관리의 일관성과 간편함을 제공합니다.
  2. 최소 및 최대 인스턴스 수
    • 최소 인스턴스 수는 애플리케이션의 가용성을 보장하기 위해 항상 유지되어야 하는 인스턴스 수를 나타냅니다.
    • 최대 인스턴스 수는 확장 가능한 최대 인스턴스 수를 제한합니다. 이를 통해 예산 초과나 리소스 낭비를 방지할 수 있습니다.
    • Desired Capacity는 ASG가 유지하려고 하는 인스턴스 수로, 트래픽 변동에 따라 ASG가 자동으로 인스턴스를 추가하거나 제거하여 이 수를 유지합니다.

작동 방식

  1. 자동 확장 정책
    • ASG는 특정 조건이 충족되면 자동으로 인스턴스를 추가하거나 제거하는 확장 정책을 설정할 수 있습니다.
    • 예를 들어, CPU 사용률이 일정 수준을 초과하면 인스턴스를 추가하고, 특정 수준 이하로 떨어지면 인스턴스를 제거하는 식입니다.
  2. 헬스 체크
    • ASG는 인스턴스의 상태를 정기적으로 확인하여 비정상적인 인스턴스를 감지합니다. 헬스 체크는 두 가지 방식으로 수행됩니다:
      • ELB 헬스 체크: 로드 밸런서(ELB)가 인스턴스의 상태를 확인합니다. 요청에 대한 응답이 없거나, 응답 시간이 길 경우 비정상으로 간주됩니다.
      • EC2 헬스 체크: 인스턴스 자체가 정기적으로 상태를 보고하여 비정상인 인스턴스를 감지합니다.
    • 비정상적인 인스턴스가 발견되면, ASG는 해당 인스턴스를 자동으로 교체하여 애플리케이션의 가용성을 유지합니다.
  3. 수동 조정
    • 관리자가 필요에 따라 ASG의 인스턴스 수를 수동으로 조정할 수 있습니다.
    • 이를 통해 예기치 않은 트래픽 증가나 감소에 유연하게 대응할 수 있습니다.

CloudWatch 경보를 기반으로 한 작동 방식

  1. CloudWatch 경보 설정
    • CloudWatch는 AWS 서비스의 리소스와 애플리케이션을 모니터링하는 서비스입니다.
    • CloudWatch 경보는 특정 메트릭이 지정된 임계값을 초과할 때 알림을 보내거나 자동으로 조치를 취하는 기능을 제공합니다.
  2. 경보 설정 예시
    • CPU 사용률 경보: EC2 인스턴스의 CPU 사용률이 80%를 초과할 경우 경보를 생성합니다.
    • 네트워크 트래픽 경보: 네트워크 인바운드 트래픽이 일정 수준을 초과할 경우 경보를 생성합니다.
  3. 자동 조치
    • CloudWatch 경보는 ASG와 연동되어 특정 경보가 트리거되면 자동으로 인스턴스를 추가하거나 제거할 수 있습니다.
    • 예를 들어, CPU 사용률 경보가 트리거되면 ASG는 자동으로 인스턴스를 추가하여 성능을 유지합니다.

CloudWatch 경보 설정 방법

  1. CloudWatch 콘솔에서 경보 생성
    • CloudWatch 콘솔에 접속하여 '경보 생성'을 선택합니다.
  2. 메트릭 선택
    • 모니터링하려는 메트릭(예: CPU 사용률)을 선택합니다.
  3. 조건 설정
    • 경보를 트리거할 조건을 설정합니다. 예를 들어, CPU 사용률이 80%를 초과할 때 경보를 생성합니다.
  4. 경보 조치 설정
    • 경보가 트리거될 때 수행할 조치를 설정합니다. 예를 들어, ASG의 인스턴스를 추가하는 조치를 설정할 수 있습니다.
  5. 경보 생성 완료
    • 설정을 완료하고 '경보 생성' 버튼을 눌러 경보를 생성합니다.

예시

  • 트래픽 증가 시: 트래픽이 급증하여 CPU 사용률이 80%를 초과하면, CloudWatch 경보가 트리거됩니다. ASG는 자동으로 인스턴스를 추가하여 성능을 유지합니다.
  • 트래픽 감소 시: 트래픽이 감소하여 CPU 사용률이 30% 이하로 떨어지면, CloudWatch 경보가 트리거됩니다. ASG는 자동으로 인스턴스를 제거하여 비용을 절감합니다.
  • 비정상 인스턴스 감지: ELB 헬스 체크에서 비정상 인스턴스가 감지되면, ELB는 해당 인스턴스에 대한 트래픽을 중단하고 ASG는 이를 교체합니다.
profile
인생 별거 없어

0개의 댓글