Amazon CloudWatch에서 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 집계 Amazon Elastic Block Store(Amazon EBS) 처리량을 보여주는 측정치를 확보하려면 어떻게 해야 합니까? 또한, EC2 인스턴스에서 처리량 한도에 도달했을 때를 알리는 경보를 설정하려면 어떻게 해야 합니까? 

CloudWatch에서 Xen 기반 Amazon EC2 인스턴스의 EBS 처리량을 추적하는 기본 Amazon EBS 측정치는 없습니다. 하지만, EC2EBSThroughput/ebs-stats.sh 스크립트를 사용하여 EC2 인스턴스의 집계 EBS 처리량을 측정할 수 있습니다.

스크립트는 연결된 모든 볼륨에서 초당 총 읽기/쓰기 바이트 수를 수집하고, 처리량을 Amazon CloudWatch에 측정치로 전달합니다. 그런 다음 Amazon CloudWatch 콘솔에 측정치를 표시하고 지정한 임계값에 따라 경보가 트리거되도록 설정할 수 있습니다.

참고: 새 Nitro 인스턴스, M5 및 C5는 CloudWatch 측정치 EBSByteBalance% 및 EBSIOBalance%를 포함합니다. 자세한 내용은 Amazon EBS 최적화 인스턴스를 참조하십시오.

ebs-stats.sh 스크립트는 CloudWatch에서 Xen-기반 EC2 인스턴스에 사용하도록 작성되었으며, Amazon Linux, Red Hat Enterprise Linux 및 CentOS 인스턴스에서만 호환 가능합니다. 하지만, 이 스크립트는 다른 Linux 배포에 적합하도록 사용자 지정할 수 있습니다.

참고: 인스턴스에 인스턴스 스토어 볼륨이 있으면, 스크립트는 인스턴스 스토어 볼륨의 처리량을 비롯하여 집계 처리량을 보고합니다. 즉, 이 스크립트에서 정확한 EBS 처리량 측정을 얻지 못할 수도 있습니다.

1.    RHEL 기반 배포의 경우 AWS CLI(명령줄 인터페이스)가 아직 설치되지 않은 경우 이를 설치합니다.

2.    ebs-stats.sh 스크립트를 다운로드합니다.

3.    인스턴스에 스크립트를 배치하고 실행 가능하게 설정합니다. 스크립트는 "root" 사용자 또는 "sudo"로 실행해야 합니다. 그렇지 않으면 실패합니다.

$sudo chmod +x ebs-stats.sh 

4.    AWS CLI에서 다음 명령을 백그라운드에서 실행하여 원하는 ebs-stats.sh 런타임 빈도를 설정합니다.

$sudo nohup ./ebs-stats.sh example-sleep-interval &

참고: example-sleep-interval을 각 데이터 포인트 사이의 원하는 시간(초)으로 대체합니다. 

5. IAM 역할을 생성합니다.

6. 역할에 다음 정책을 연결합니다.

{
  "Version": "2012-10-17",
  "Statement": [{
    "Action": [
      "cloudwatch:ListMetrics",
      "cloudwatch:GetMetricStatistics",
      "cloudwatch:PutMetricData",
      "autoscaling:DescribeAutoScalingInstances"
    ],
    "Effect": "Allow",
    "Resource": "*"
  }]
}

7.    EC2 인스턴스에 IAM 정책을 연결합니다. 이렇게 하면 스크립트는 측정치를 Amazon CloudWatch에 전달합니다.

8.    CloudWatch 콘솔에서 EBSThroughoutMB에 대한 경보를 설정합니다. 자세한 내용은 CloudWatch 측정치를 기반으로 CloudWatch 경보 생성 또는 Amazon CloudWatch 경보 사용을 참조하십시오.

사용하는 인수를 기반으로 올바른 기간을 선택했는지 확인합니다.


페이지 내용이 도움이 되었습니까? | 아니요

AWS 지원 지식 센터로 돌아가기

도움이 필요하십니까? AWS 지원 센터를 방문하십시오.

게시 날짜: 2019년 3월 29일