Question

CloudWatch 관련 문의드립니다.

  1. 디스크읽기(바이트), 디스크읽기작업(작업), 디스크쓰기(바이트), 디스크쓰기작업(작업) 의 경우 어떤 이벤트나 작업이 있는경우 발생하는지 알고싶습니다.

 현재 모니터링상 로그가 없는것으로 표시됩니다 EC2인스턴스에는 전자정부프레임웍 이용한 프로그램이 기동중입니다.

  1. CPU크레딧밸런스(개수)의 경우 CPU사용량 부족시 크레딧을 사용하는것으로 알고 있습니다.

          EC2인스턴스유형: t2.micro  크레딧사양:standard 입니다.

          최초크레딧밸런스(개수) : 144  현재크레딧밸런스(개수) : 52 

위와 같은 상황으로 크레딧밸런스(개수)가 줄어들고 있는상황에서 0이될경우 시스템에 영향이 없는지 0이된이후에도 서비스에는 영향이 없고 크레딧이 필요시 비용이 추가로 발생만 하는건지 확인 부탁드립니다.


Answer

[디스크읽기(바이트), 디스크읽기작업(작업), 디스크쓰기(바이트), 디스크쓰기작업(작업)]

4개 지표는 인스턴스 스토어에 대한 지표이므로 EBS볼륨을 사용하고 계시면 측정치가 나오지 않습니다.

아래는 CloudWatch 지표에 대한 설명입니다.[1] 

  • DiskReadOps

    • 지정된 시간 내에 인스턴스에 사용할 수 있는 모든 인스턴스 스토어 볼륨에서 읽기 작업 완료.

    • 인스턴스 스토어 볼륨이 없으면 값이 0이거나 측정치가 나오지 않습니다.

  • DiskWriteOps

    • 지정된 시간 내에 인스턴스에 사용할 수 있는 모든 인스턴스 스토어 볼륨에 대한 쓰기 작업 완료.

    • 인스턴스 스토어 볼륨이 없으면 값이 0이거나 측정치가 나오지 않습니다.

  • DiskReadBytes

    • 인스턴스에 사용할 수 있는 모든 인스턴스 스토어 볼륨에서 읽은 바이트 수.

    • 이 지표는 애플리케이션이 인스턴스의 하드 디스크에서 읽는 데이터 볼륨을 결정하는 데 사용됩니다. 이를 사용하여 애플리케이션의 속도를 결정할 수 있습니다.

    • 보고된 숫자는 해당 기간에 수신된 바이트 수입니다. 기본(5분) 모니터링을 사용하는 경우, 이 숫자를 300으로 나누어 바이트/초를 찾을 수 있습니다. 세부(1분) 모니터링의 경우 60으로 나눕니다.

    • 인스턴스 스토어 볼륨이 없으면 값이 0이거나 측정치가 나오지 않습니다.

  • DiskWriteBytes

    • 인스턴스에 사용할 수 있는 모든 인스턴스 스토어 볼륨에 쓴 바이트 수.

    • 이 지표는 애플리케이션이 인스턴스의 하드 디스크에 쓰는 데이터 볼륨을 결정하는 데 사용됩니다. 이를 사용하여 애플리케이션의 속도를 결정할 수 있습니다.

    • 보고된 숫자는 해당 기간에 수신된 바이트 수입니다. 기본(5분) 모니터링을 사용하는 경우, 이 숫자를 300으로 나누어 바이트/초를 찾을 수 있습니다. 세부(1분) 모니터링의 경우 60으로 나눕니다.

    • 인스턴스 스토어 볼륨이 없으면 값이 0이거나 측정치가 보고되지 않습니다.

[t시리즈 인스턴스에서 크레딧 부족 시 CPU 사용 방식]

먼저, t2.micro standard를 사용하고 계신다면, 크레딧을 모두 사용했을 때 CPU 성능 저하가 일어날 수 있습니다.

인스턴스에는 standard와 unlimited 모드가 있습니다.
standard 모드에서는 크레딧을 모두 사용했을 때, 인스턴스 타입의 CPU 기준사용량까지만 성능을 낼 수 있게 됩니다.[2]

반면, unlimited 모드에서는 크레딧을 모두 사용하더라도 필요한만큼의 성능을 낸 후 비용을 지불합니다.[3]

크레딧을 모두 소진한 후 비용을 지불해 CPU기준사용률 이상의 성능을 내려면, 인스턴스를 unlimited(무제한)모드로 변경해야 합니다.

인스턴스의 크레딧 사양 변경 방법은 아래 이미지를 참고해주시기 바랍니다.

크레딧 사양을 변경하더라도 인스턴스는 중지되지 않으며, 실행 또는 중지 상태의 인스턴스에서 언제든 크레딧 사양을 변경할 수 있습니다.

또한, 크레딧이 소진되면 인스턴스의 CPU 성능이 저하 발생할 수 있습니다. 인스턴스 유형 및 크레딧 상태를 주기적으로 모니터링하여 크레딧이 부족한 경우 대비해야하며, 크레딧을 지속적으로 소모한다면 인스턴스 타입 변경을 고려 하셔야 합니다.


[참고자료]

[1] https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html#ec2-cloudwatch-metrics

[2] https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/burstable-performance-instances-standard-mode.html

[3] https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode.html