Amazon EC2 Auto Scaling
사용 설명서

Amazon CloudWatch를 사용하여 Auto Scaling 그룹 및 인스턴스 모니터링

Amazon CloudWatch를 사용하면 지표라고 알려진 통계를 정렬된 시계열 집합으로 검색할 수 있습니다. 이러한 지표를 사용하여 시스템이 예상대로 수행되고 있는지 확인할 수 있습니다.

Amazon EC2는 CloudWatch에 Auto Scaling 인스턴스를 설명하는 지표를 보냅니다. Auto Scaling 그룹의 EC2 인스턴스뿐 아니라 모든 EC2 인스턴스에 이러한 측정치를 사용할 수 있습니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서에서 인스턴스 지표를 참조하십시오.

Auto Scaling 그룹은 CloudWatch로 그룹 자체를 설명하는 지표를 전송할 수 있습니다. 이러한 지표를 활성화해야 합니다.

Auto Scaling 그룹 지표

AWS/AutoScaling 네임스페이스에는 다음 지표가 포함되어 있습니다.

지표 설명
GroupMinSize

Auto Scaling 그룹의 최소 크기입니다.

GroupMaxSize

Auto Scaling 그룹의 최대 크기입니다.

GroupDesiredCapacity

Auto Scaling 그룹에서 유지 관리를 시도하는 인스턴스의 수입니다.

GroupInServiceInstances

Auto Scaling 그룹의 일부로 실행되는 인스턴스의 수입니다. 이 지표에는 보류 중이거나 종료되는 인스턴스가 포함되지 않습니다.

GroupPendingInstances

보류 중인 인스턴스의 수입니다. 보류 중인 인터페이스는 아직 서비스되지 않습니다. 이 지표에는 서비스되거나 종료되는 인스턴스가 포함되지 않습니다.

GroupStandbyInstances

Standby 상태에 있는 인스턴스의 수입니다. 이 상태의 인스턴스는 계속해서 실행되지만 적극적으로 서비스되지는 않습니다.

GroupTerminatingInstances

종료 과정이 진행 중인 인스턴스의 수입니다. 이 지표에는 서비스되거나 보류 중인 인스턴스가 포함되지 않습니다.

GroupTotalInstances

Auto Scaling 그룹에 있는 총 인스턴스 수입니다. 이 지표는 서비스되거나, 보류 중이거나, 종료되는 인스턴스의 수를 식별합니다.

Auto Scaling 그룹 지표의 차원

그룹 이름을 기준으로 Auto Scaling 그룹의 지표를 필터링하려면 AutoScalingGroupName 차원을 사용하십시오.

Auto Scaling 그룹 지표 활성화

Auto Scaling 그룹 지표를 활성화하면 Auto Scaling이 매분 CloudWatch로 샘플링된 데이터를 전송합니다.

콘솔을 사용하여 그룹 지표를 활성화하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 [Auto Scaling Groups]를 선택합니다.

  3. Auto Scaling 그룹을 선택합니다.

  4. [Monitoring] 탭에서 [Auto Scaling Metrics]에 대하여 [Enable Group Metrics Collection]을 선택합니다. 이 옵션이 보이지 않으면 [Display]에서 [Auto Scaling]을 선택합니다.

    
                        Auto Scaling 그룹 지표 수집 활성화.

콘솔을 사용하여 그룹 지표를 비활성화하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 [Auto Scaling Groups]를 선택합니다.

  3. Auto Scaling 그룹을 선택합니다.

  4. [Monitoring] 탭에서 [Auto Scaling Metrics]에 대하여 [Disable Group Metrics Collection]을 선택합니다. 이 옵션이 보이지 않으면 [Display]에서 [Auto Scaling]을 선택합니다.

    
                        Auto Scaling 그룹 지표 수집 비활성화.

AWS CLI를 사용하여 그룹 지표를 활성화하려면

enable-metrics-collection 명령을 사용하여 하나 이상의 그룹 지표를 활성화합니다. 예를 들어, 다음 명령은 GroupDesiredCapacity 지표를 활성화합니다.

aws autoscaling enable-metrics-collection --auto-scaling-group-name my-asg --metrics GroupDesiredCapacity --granularity "1Minute"

--metrics 옵션을 생략하면 모든 지표가 활성화됩니다.

aws autoscaling enable-metrics-collection --auto-scaling-group-name my-asg --granularity "1Minute"

AWS CLI를 사용하여 그룹 지표를 비활성화하려면

disable-metrics-collection 명령을 사용합니다. 예를 들어, 다음 명령은 모든 Auto Scaling 그룹 지표를 비활성화합니다.

aws autoscaling disable-metrics-collection --auto-scaling-group-name my-asg

Auto Scaling 인스턴스에 대한 모니터링 구성

기본적으로 기본 모니터링(5분 세분화)은 AWS Management 콘솔을 사용하여 시작 구성을 만드는 경우 활성화되며, 세부 모니터링(1분 세분화)은 AWS CLI 또는 SDK를 사용하여 시작 구성을 만드는 경우에 활성화됩니다.

Auto Scaling 그룹이 있고 Auto Scaling 인스턴스에 대해 활성화된 모니터링 유형을 변경해야 하는 경우, 새 시작 구성을 만들고 이 시작 구성을 사용하도록 Auto Scaling 그룹을 업데이트해야 합니다. 이렇게 하면 Auto Scaling 그룹에서 시작하는 인스턴스가 업데이트된 모니터링 유형을 사용하게 됩니다. Auto Scaling 그룹의 기존 인스턴스는 계속 이전 모니터링 유형을 사용합니다. 이러한 인스턴스를 종료하여 Auto Scaling에서 바꾸게 하거나, monitor-instancesunmonitor-instances를 사용하여 각 인스턴스를 개별적으로 업데이트할 수 있습니다.

Auto Scaling 그룹과 연결된 CloudWatch 경보가 있는 경우, put-metric-alarm 명령을 사용하여 기간이 모니터링 유형과 일치하도록 각 경보를 업데이트합니다(기본 모니터링의 경우 300초, 세부 모니터링의 경우 60초). 세부 모니터링에서 기본 모니터링으로 변경하면서 5분 기간과 일치하도록 경보를 업데이트하지 않으면 경보가 계속해서 1분마다 통계를 검사하므로 전체 5개 기간 중 4개에서 사용 가능한 데이터를 찾지 못할 수 있습니다.

콘솔을 사용하여 CloudWatch 모니터링을 구성하려면

AWS Management 콘솔을 사용하여 시작 구성을 생성할 경우 세부 정보 구성 페이지에서 CloudWatch 세부 모니터링 활성화를 선택합니다. 그렇지 않으면 기본 모니터링이 활성화됩니다. 자세한 내용은 시작 구성 만들기 단원을 참조하십시오.

AWS CLI를 사용하여 CloudWatch 모니터링을 구성하려면

시작 구성의 경우, --instance-monitoring 옵션과 함께 create-launch-configuration 명령을 사용합니다. 이 옵션을 true로 설정하여 세부 모니터링을 활성화하거나 false로 설정하여 기본 모니터링을 활성화합니다.

--instance-monitoring Enabled=true

CloudWatch 지표 보기

Amazon EC2 콘솔을 사용해 Auto Scaling 그룹과 인스턴스에 대한 CloudWatch 지표를 볼 수 있습니다. 이 측정치들은 모니터링 그래프로 표시됩니다.

혹은 CloudWatch 콘솔을 사용해 이런 지표를 볼 수 있습니다.

Amazon EC2 콘솔을 사용한 메트릭 확인

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 [Auto Scaling Groups]를 선택합니다.

  3. Auto Scaling 그룹을 선택합니다.

  4. [Monitoring] 탭을 선택합니다.

  5. (선택 사항) 시간을 기준으로 결과를 필터링하려면 [Showing data for]에서 시간 범위를 선택합니다.

  6. 그룹별 지표를 보려면 [Display]에서 [Auto Scaling]을 선택합니다. 단일 지표를 크게 보려면 그래프를 선택합니다. 다음 지표를 사용할 수 있는 그룹은 다음과 같습니다.

    • 최소 그룹 크기 - GroupMinSize

    • 최대 그룹 크기 - GroupMaxSize

    • 원하는 용량 - GroupDesiredCapacity

    • 서비스 상태의 인스턴스 - GroupInServiceInstances

    • 보류 중인 인스턴스 - GroupPendingInstances

    • 대기 상태의 인스턴스 - GroupStandbyInstances

    • 종료 중인 인스턴스 - GroupTerminatingInstances

    • 총 인스턴스 - GroupTotalInstances

  7. 인스턴스별 지표를 보려면 [Display]에서 [EC2]를 선택합니다. 단일 지표를 크게 보려면 그래프를 선택합니다. 다음 지표를 사용할 수 있는 인스턴스는 다음과 같습니다.

    • CPU 사용률 - CPUUtilization

    • 디스크 읽기 - DiskReadBytes

    • 디스크 읽기 연산 - DiskReadOps

    • 디스크 쓰기 - DiskWriteBytes

    • 디스크 쓰기 연산 - DiskWriteOps

    • 네트워크 입력 - NetworkIn

    • 네트워크 출력 - NetworkOut

    • 상태 확인 실패(해당되는 경우) - StatusCheckFailed

    • 상태 확인 실패(인스턴스) - StatusCheckFailed_Instance

    • 상태 확인 실패(시스템) - StatusCheckFailed_System

CloudWatch 콘솔을 사용한 메트릭 확인

자세한 내용은 Auto Scaling 그룹별 통계 집계를 참조하십시오.

AWS CLI를 사용하여 CloudWatch 지표를 보려면

모든 Auto Scaling 그룹에 대한 지표를 모두 보려면 다음 list-metrics 명령을 사용합니다.

aws cloudwatch list-metrics --namespace "AWS/AutoScaling"

단일 Auto Scaling 그룹의 지표를 보려면 다음과 같이 AutoScalingGroupName 차원을 지정합니다.

aws cloudwatch list-metrics --namespace "AWS/AutoScaling" --dimensions Name=AutoScalingGroupName,Value=my-asg

모든 Auto Scaling 그룹의 단일 지표를 보려면 다음과 같이 해당 지표의 이름을 지정합니다.

aws cloudwatch list-metrics --namespace "AWS/AutoScaling" --metric-name GroupDesiredCapacity

Amazon CloudWatch 경보 만들기

CloudWatch 경보는 특정 기간 동안 단일 지표를 모니터링하는 객체입니다. 하나의 지표는 EC2 인스턴스의 평균 CPU 사용량 또는 서로 다른 여러 EC2 인스턴스에서 수신되는 네트워크 트래픽과 같이 모니터링하려는 하나의 변수에 해당합니다. 지표의 값이 정의된 범위를 위반하고 지정된 기간 동안 변경 상태가 유지될 경우, 경보의 상태가 변경됩니다.

가능한 경보 상태는 다음과 같습니다.

  • OK - 지표의 값이 지정한 범위 내에 있습니다.—

  • ALARM - 지표의 값이 지정된 기간 동안 지정한 범위 밖에 있습니다.—

  • INSUFFICIENT_DATA – 아직 지표를 사용할 수 없거나 경보 상태를 결정하는 데 사용할 충분한 데이터가 없습니다.—

경보가 ALARM 상태로 변경되고 일정 기간 동안 그러한 상태가 유지될 경우, 하나 이상의 작업이 호출됩니다. 이러한 작업은 그룹의 원하는 용량을 변경하라는 내용의 메시지를 Auto Scaling 그룹에 전송하는 것 등이 될 수 있습니다.

모니터링하는 지표를 확인하여 경보를 구성합니다. 예를 들어, Auto Scaling 그룹에서 EC2 인스턴스의 평균 CPU 사용량을 감시하도록 경보를 구성할 수 있습니다.

CloudWatch 경보를 생성하려면

  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 [Alarms]를 선택합니다.

  3. [Create Alarm]을 선택합니다.

  4. [EC2 Metrics] 범주를 선택합니다.

  5. (선택 사항) 결과를 필터링할 수 있습니다. 인스턴스 지표를 보려면 [Per-Instance Metrics]를 선택합니다. Auto Scaling 그룹 지표를 보려면 Auto Scaling 그룹별을 선택합니다.

  6. 지표를 선택한 후 [Next]를 선택합니다.

  7. 경보 임계값과 취할 조치를 지정합니다.

    자세한 내용은 Amazon CloudWatch 사용 설명서CloudWatch 경보 생성을 참조하십시오.

  8. [Create Alarm]을 선택합니다.