2 Answers
- Newest
- Most votes
- Most comments
2
안녕하세요
NATGateway 모니터링이 가능한 AWS Lambda 함수를 구현하고 싶으신 것으로 이해했습니다.
NATGateway의 경우 별도의 추가 등록 없이도 CloudWatch를 통해서 관련 지표들을 확인하실 수 있으며,
이 CloudWatch를 AWS SDK와 연동하면 Lambda 함수에서 NATGateway 지표들의 조회가 가능합니다.
AWS Python SDK (Boto3)를 활용한 예시는 다음과 같습니다.
- get_metrics_statistics()를 통해서 NATGateway의 지표를 요청합니다. 응답받은 response["Datapoints"]에 원하는 NatGateway의 지표 값이 포함되어 있습니다.
- PacketDropCount 지표의 경우, 0.01보다 큰 값이 나타난다면 해당 NATGateway에 일시적인 문제가 발생하였음을 의심해볼 수 있습니다. 즉, 0.01을 기준으로 NATGateway의 이상 발생 가능성을 추측할 수 있습니다.
- Lambda 함수의 [구성] - [권한] - [실행 역할]에서 IAM 역할(Role)에 CloudWatch 권한(CloudWatchReadOnlyAccess 등)이 연결되어야 합니다.
import json import boto3 def lambda_handler(event, context): natgateway_id = "nat-07b3a8d19312a859a" cloudwatch = boto3.client('cloudwatch') response = cloudwatch.get_metric_statistics( Namespace="AWS/NATGateway", MetricName="PacketsDropCount", Dimensions=[{"Name": "NatGatewayId", "Value": natgateway_id}], StartTime="2023-10-19T00:00:00Z", EndTime="2023-12-20T00:00:00Z", Period=36000, Statistics=[ "Average" ] ) return { 'statusCode': 200, 'body': json.dumps({"metrics" : response["Datapoints"]}, default=str) }
답변이 도움이 되셨기를 바랍니다. 감사합니다.
answered a year ago
0
안녕하세요.
NAT Gateway의 CloudWatch 지표에는 "PacketsDropCount"라는 지표가 있습니다.
이 메트릭은 NAT 게이트웨이에서 삭제한 패킷 수를 기록합니다.
이 메트릭의 값이 크면 NAT 게이트웨이가 제대로 작동하지 않을 수 있습니다.
즉, 이 지표를 기반으로 CloudWatch 경보를 생성하고 Lambda를 시작하면 NAT 게이트웨이를 전환할 수 있습니다.
https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/vpc-nat-gateway-cloudwatch.html
Relevant content
- asked a year ago
- AWS OFFICIALUpdated 3 months ago
- AWS OFFICIALUpdated 4 months ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 7 days ago