查看亚马逊云服务器(Amazon EC2)的流量使用情况,主要通过 Amazon CloudWatch 监控网络指标。以下是详细步骤和方法:
一、通过 CloudWatch 控制台查看
- 登录 AWS 管理控制台,进入 CloudWatch 服务。
- 选择「指标」:
- 在左侧菜单选择 「指标」 → 「所有指标」。
- 选择 「EC2」 命名空间。
- 筛选指标:
- 选择 「按实例 ID」(Per-Instance Metrics)。
- 找到以下关键网络指标:
NetworkIn:实例接收的数据量(字节)。NetworkOut:实例发送的数据量(字节)。NetworkPacketsIn/Out(可选):数据包数量。
- 设置时间范围与统计方式:
- 调整时间范围(如最近1小时、1天等)。
- 统计方式选择 「总和」(Sum)可查看总流量,选择 「平均值」(Average)可查看趋势。
二、启用详细监控(可选)
- 默认 CloudWatch 每5分钟采集一次指标。如需更精细数据(每1分钟),需启用 「详细监控」(额外收费)。
- 在 EC2 实例设置中开启,或通过以下 CLI 命令启用:
aws ec2 monitor-instances --instance-ids i-1234567890abcdef0
三、查看流量费用相关数据
- 流量费用主要基于「流出流量」(NetworkOut),流入流量通常免费(跨区域或特殊服务除外)。
- 通过 「成本资源管理器」 可细化流量费用:
- 进入 「成本管理」 → 「成本资源管理器」。
- 筛选服务为 「EC2」,并查看 「网络传输」 相关费用。
四、使用 VPC 流日志(高级监控)
如需分析流量来源/去向(如IP、端口、协议),可启用 VPC 流日志:
- 在 VPC 控制台 选择目标子网或网络接口。
- 创建流日志并保存到 S3 或 CloudWatch Logs。
- 通过 Athena 或 CloudWatch Insights 分析日志。
五、命令行(CLI)查询示例
# 获取最近1小时的 NetworkOut 数据总和
aws cloudwatch get-metric-statistics
--namespace AWS/EC2
--metric-name NetworkOut
--dimensions Name=InstanceId,Value=i-1234567890abcdef0
--start-time 2023-10-01T00:00:00Z
--end-time 2023-10-01T01:00:00Z
--period 3600
--statistics Sum
--region us-east-1
六、注意事项
- 数据延迟:CloudWatch 指标可能有几分钟延迟。
- 跨区域流量:若流量跨区域或通过 NAT 网关/负载均衡器,需额外查看对应服务的监控指标。
- 费用预警:建议在 「预算」 中设置流量费用警报,避免意外支出。
总结
- 基础监控:直接通过 CloudWatch 查看
NetworkIn/Out指标。 - 费用分析:结合成本资源管理器定位流量消费。
- 深度分析:使用 VPC 流日志追踪具体流量细节。
如果需要进一步自动化(如定期报告),可结合 CloudWatch 警报、Lambda 或 AWS 合作伙伴工具(如 Grafana)实现。
CLOUD技术笔记