CloudWatch EC2 Network Monitoring
네트워크 사용률을 모니터링하여 EC2 또는 RDS의 병목 현상을 방지한다.
아래 인스턴스 EC2 네트워크 성능 치트 시트를 참고하여 모니터링을 위한 임계 값을 설정할 수 있다.
https://cloudonaut.io/ec2-network-performance-cheat-sheet/
각 EC2 인스턴스는 CloudWatch에 다양한 지표를 보고한다. 이중에 인스턴스가 모든 네트워크 인터페이스에서 수신한 바이트 수를 측정하기 위해 Metric 2개 NetworkIn 과 NetworkOut 을 수집하여 계산해야 한다.
1. CloudWatch 지표
- [CloudWatch] > [경보] > [모든 경보] > [경보 생성]
- EC2 지표 중 NetworkIn 과 NetworkOut 을 선택 후, [View graphed metrics] 클릭
- [Add metrics]
- m1 = NetworkOut metric
- m2 = NetworkIn metric
- 표현식 = (m1+m2)/300/1000/1000/1000*8
- 5분을 1초로 계산 : /300
- Gbit -> Byte : 1000/1000/1000*8
2. CloudWatch 지표를 바탕으로 알림을 생성
- 임계값은 위의 네트워크 성능 치트 기준 네트워크 성능의 80%로 설정한다.
- 짧은 네트워크 사용률 급증으로 인한 경보를 방지하기 위하여 8 out of 12 datapoints 를 설정
for CloudFormation
Parameters:
Topic:
Type: String
AutoScalingGroupName:
Type: String
Resources:
NetworkUtilizationTooHighAlarm:
Type: 'AWS::CloudWatch::Alarm'
Properties:
AlarmDescription: 'EC2 High Network Utilization'
Metrics:
- Id: summary
Label: EC2 Utilization
Expression: IF(cpu > 80, 1, 0) OR IF(memory > 80, 1, 0) OR IF(network > 80, 1, 0)
ReturnData: true
- Id: cpu
MetricStat:
Metric:
Namespace: AWS/EC2
MetricName: CPUUtilization
Dimensions:
- Name: AutoScalingGroupName
Value: !Ref AutoScalingGroupName
Stat: Maximum
Period: 300
ReturnData: false
- Id: memory
MetricStat:
Metric:
Namespace: CWAgent
MetricName: mem_used_percent
Dimensions:
- Name: AutoScalingGroupName
Value: !Ref AutoScalingGroupName
Stat: Maximum
Period: 300
ReturnData: false
- Id: network
Label: Network Utilization
Expression: "((network_in+network_out)/300/1000/1000/1000*8)/0.75*100"
ReturnData: false
- Id: network_in
MetricStat:
Metric:
Namespace: AWS/EC2
MetricName: NetworkIn
Dimensions:
- Name: AutoScalingGroupName
Value: !Ref AutoScalingGroupName
Stat: Sum
Period: 300
ReturnData: false
- Id: network_out
MetricStat:
Metric:
Namespace: AWS/EC2
MetricName: NetworkOut
Dimensions:
- Name: AutoScalingGroupName
Value: !Ref AutoScalingGroupName
Stat: Sum
Period: 300
ReturnData: false
ComparisonOperator: GreaterThanOrEqualsThreshold
EvaluationPeriods: 1
DatapointsToAlarm: 1
Threshold: '1'
'AWS(Amazon Web Service) > CloudWatch' 카테고리의 다른 글
[AWS] CloudWatch, Web Application Monitoring (0) | 2021.11.08 |
---|---|
[AWS] CloudWatch, EBS Monitoring 지표 (0) | 2021.11.08 |
[AWS] CloudWatch, CloudFront 모니터링 (0) | 2021.11.04 |
[AWS] EC2에 CoudWatch Agent 설치 (0) | 2021.11.01 |
[AWS] Cloud Watch, Cloud Trail (0) | 2021.10.08 |