현재 EC2 인스턴스의 전월 트래픽 조회

By | 2026년 10월 23일
Table of Contents

현재 EC2 인스턴스의 전월 트래픽 조회

vi traffic.sh
-----------------
#!/bin/bash
# IMDSv2 토큰 발급 후 인스턴스 ID / 리전 조회
TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" \
  -H "X-aws-ec2-metadata-token-ttl-seconds: 60")
INSTANCE_ID=$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" \
  http://169.254.169.254/latest/meta-data/instance-id)
REGION=$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" \
  http://169.254.169.254/latest/meta-data/placement/region)

# 전월 1일 00:00 ~ 이번 달 1일 00:00 (UTC)
START=$(date -u -d "$(date -u +%Y-%m-01) -1 month" +%Y-%m-01T00:00:00Z)
END=$(date -u +%Y-%m-01T00:00:00Z)

BYTES=$(aws cloudwatch get-metric-statistics \
  --region "$REGION" \
  --namespace AWS/EC2 --metric-name NetworkOut \
  --dimensions Name=InstanceId,Value="$INSTANCE_ID" \
  --start-time "$START" --end-time "$END" \
  --period 86400 --statistics Sum \
  --query 'sum(Datapoints[].Sum)' --output text)

echo "인스턴스: $INSTANCE_ID ($REGION)"
echo "기간: $START ~ $END"
awk -v b="$BYTES" 'BEGIN { printf "NetworkOut: %.0f bytes (%.2f GiB)\n", b, b/1024/1024/1024 }'
chmod 700 traffic.sh
./traffic.sh

답글 남기기