Bedrock 调用次数比预期多了一倍?CloudTrail 5 分钟定位元凶

复盘成本发现 Bedrock 调用量异常偏高。CloudTrail 一查------一个忘关的测试 Lambda 在持续调用。

CloudTrail 记录 AWS 账号里所有 API 调用。对 AI Agent 来说,它能告诉你:谁调了 Bedrock、调了哪个模型、什么时间、从哪个 IP。

开启 Bedrock 数据事件

默认 CloudTrail 不记录 InvokeModel(属于数据事件),需要手动开:

bash 复制代码
aws cloudtrail put-event-selectors \
  --trail-name your-trail \
  --advanced-event-selectors '[{
    "Name": "Bedrock events",
    "FieldSelectors": [
      {"Field": "eventCategory", "Equals": ["Data"]},
      {"Field": "resources.type", "Equals": ["AWS::Bedrock::Model"]}
    ]
  }]'

实用查询(CloudWatch Logs Insights)

按小时统计调用量:

java 复制代码
fields @timestamp, requestParameters.modelId
| filter eventSource = "bedrock.amazonaws.com" and eventName = "InvokeModel"
| stats count(*) by bin(1h)

按模型统计:

sql 复制代码
fields requestParameters.modelId
| filter eventSource = "bedrock.amazonaws.com"
| stats count(*) as cnt by requestParameters.modelId
| sort cnt desc

查半夜异常调用:

less 复制代码
filter eventSource = "bedrock.amazonaws.com"
| filter datepart(@timestamp, "hour") < 6 or datepart(@timestamp, "hour") > 22

设告警

bash 复制代码
# Metric Filter
aws logs put-metric-filter \
  --log-group-name /aws/cloudtrail/bedrock-audit \
  --filter-name BedrockInvokeCount \
  --filter-pattern '{ $.eventSource = "bedrock.amazonaws.com" && $.eventName = "InvokeModel" }' \
  --metric-transformations metricName=BedrockInvokeModelCount,metricNamespace=Custom/Bedrock,metricValue=1

# 每小时超 100 次报警
aws cloudwatch put-metric-alarm \
  --alarm-name bedrock-high-invoke \
  --metric-name BedrockInvokeModelCount \
  --namespace Custom/Bedrock \
  --statistic Sum --period 3600 --threshold 100 \
  --comparison-operator GreaterThanThreshold \
  --evaluation-periods 1 \
  --alarm-actions arn:aws:sns:us-west-2:123456789012:ops-alerts

日志成本

S3 存长期($0.023/GB/月),CloudWatch Logs 存 30 天方便查( �L �Ј9�a9ai{�"x� �L9i*yd#�/k�X�Y\�9� zd�x� ���-�HRHY�[�9�9o�yi!�."y.��ie��&�PSH9�y��fd8� U��[��[�9�y�dy��8� P��Y�Z[9�yk�z+�x� ���KKB���9g*9.��jk:"�.�y��y��9."�j�:+�z`&�/���

相关推荐
海水冷却1 天前
RTC成语音AI基础设施:AWS和ElevenLabs相继跟进,ZEGO已跑三年
人工智能·实时音视频·aws
亚马逊云开发者2 天前
开了 GuardDuty 一周,发现 EC2 被人暴力破解 SSH 了
aws
亚马逊云开发者2 天前
API Key 还明文写在配置文件里?OpenClaw SecretRef 帮你摘出来
aws
zhojiew3 天前
[INFRA] EMR集群节点下线 (Decommission) 机制和逻辑深入分析
aws·emr·bigdata
zhojiew3 天前
[INFRA] EMR集群中Hive和Spark集成Glue Data Catalog过程的深入分析
hive·hadoop·spark·aws·bigdata
亚马逊云开发者3 天前
我用 Lambda Durable Functions 把五个 Lambda 缩成了一个,代码量砍半
aws
亚马逊云开发者3 天前
异构 GPU 混合部署 Whisper,我用 HyperPod 一个集群搞定了
aws
亚马逊云开发者4 天前
模型搜完网页就"脑算"数字?用 Dynamic Filtering 让它老老实实写代码
aws
亚马逊云开发者4 天前
老板让我迁 Graviton,我用 AI 工具几分钟搞定了迁移评估
aws