返回
RSS AWS Big Data Blog 发布 2026-08-11 00:21 41

AWS推出Kinesis数据流AI成本优化Agent

AWS博客介绍如何部署一个基于Amazon Bedrock的开源AI代理,自动分析账户内每个Kinesis Data Streams流,对比Provisioned、On-demand Standard和On-demand Advantage三种容量模式的成本,并推荐最优模式。该代理可按日或周调度运行,无需人工干预,帮助节省超过60%的流处理成本。
推荐理由:展示AI Agent在数据流成本优化中的实际应用,对使用Kinesis的团队有直接降本价值。

译文 AI 逐段翻译

基于人工智能的Amazon Kinesis Data Streams成本优化代理

运行多个Amazon Kinesis Data Streams的客户常常难以估计在容量模式之间切换的成本影响。随着账户增长到数十或数百个流,手动审查每个流的Amazon CloudWatch指标,并比较预置、按需标准和按需优势之间的定价变得不切实际。团队通常停留在当前模式,不确定切换是否会节省或增加成本,导致潜在的节省未被量化。按需优势是一项账户级设置,可为某个AWS区域中的按需流解锁额外的功能和不同的定价结构。然而,如果没有清晰、数据驱动的比较,启用它的决定仍然难以证明其合理性。

在本文中,我们向您展示如何部署基于Amazon Bedrock构建的人工智能代理。该代理自动分析您账户中的每个Kinesis数据流,并比较所有三种容量模式之间的成本。它会准确告诉您哪些流应切换到按需模式,以及您的账户是否有资格获得按需优势定价,所有这些都按每日或每周计划进行,无需人工干预。正如我们在Kinesis按需优势节省60%以上的流式处理成本中所展示的,选择正确的模式可以节省超过60%的流式处理成本。该代理自动为您执行该分析。

什么是Kinesis模式优化器代理?

Kinesis模式优化器代理是一个开源的、无服务器的解决方案,使用Amazon Bedrock AgentCore(一个可大规模构建、连接和优化代理的平台,支持任何框架或模型)。该代理自主分析您的Kinesis数据流使用情况。它收集区域内每个流7天的Amazon CloudWatch指标,并发现增强扇出(EFO)消费者。然后,它计算三向成本比较(按需标准、按需优势、预置),并生成每流建议以及账户级按需优势评估。

该代理强烈倾向于按需模式,因其操作简单(自动扩展、无需容量规划、无限制风险)。

结果以可视HTML报告和机器可读的JSON格式存储在Amazon Simple Storage Service(Amazon S3)中。

架构

该解决方案使用以下架构:

Kinesis模式优化器代理的架构图,显示Amazon EventBridge、调度程序Lambda、Amazon Bedrock AgentCore、工具Lambda以及下游的Kinesis数据流、CloudWatch和Amazon S3

图1:Kinesis模式优化器代理的架构

架构流程包括以下步骤:

  1. Amazon EventBridge Schedule按您配置的节奏(每日、每周或自定义cron)触发调度程序Lambda(一个AWS Lambda函数)。
  2. 调度程序Lambda调用Amazon Bedrock AgentCore框架,指示其分析流并生成报告。
  3. Amazon Bedrock AgentCore Gateway(由Claude Sonnet驱动的Amazon Bedrock AgentCore的一项功能)解释请求,并将其路由到工具Lambda公开的适当模型上下文协议(MCP)工具。
  4. Kinesis数据流– 列出区域中的流,描述每个流(分片数量、模式、保留期),并发现每个流的增强扇出消费者。
  5. CloudWatch– 拉取每个流7天的指标(IncomingBytes、OutgoingBytes、限制事件),并计算三向成本比较。
  6. Amazon S3– 生成每流建议和账户级优势评估,然后存储最终的HTML和JSON报告。

Amazon Bedrock AgentCore框架总结发现并将其返回给调用者。整个堆栈使用AWS Cloud Development Kit(AWS CDK)部署,只需一个cdk deploy命令。

前提条件

开始之前,请确保您具备以下条件:

  • AWS CDKnpm install -g aws-cdk
  • Python 3.12+
  • aws-cdk-lib >= 2.251.0 – 用于AgentCore L2构造。
  • AWS命令行界面(AWS CLI)配置了用于部署所需资源的凭据。
  • Amazon Bedrock模型访问 – 确认您能访问目标区域中的Claude Sonnet 4.5(或您选择的模型)。在Amazon Bedrock控制台的模型访问下检查。

演练

在以下部分中,您将部署Kinesis数据流模式优化器代理,并针对您的Kinesis流进行测试。

步骤1:克隆仓库

git clone https://github.com/aws-samples/sample-kinesis-optimizer-agent.git
cd sample-kinesis-optimizer-agent

步骤2:安装CDK依赖项

cd infra
pip install -r requirements.txt

步骤3:设置目标区域

堆栈部署到AWS_DEFAULT_REGION中设置的任何区域。在运行任何CDK命令之前设置它:

# Linux/macOS
export AWS_DEFAULT_REGION=us-east-1

# Windows PowerShell
$env:AWS_DEFAULT_REGION="us-east-1"

步骤4:引导CDK(每个账户/区域首次)

cdk bootstrap aws://<ACCOUNT_ID>/<REGION>

步骤5:部署

cdk deploy

可选地自定义计划存储桶名称:

# Weekly instead of daily
cdk deploy --parameters ReportSchedule="rate(7 days)"

# Custom bucket name
cdk deploy --parameters ReportBucketName=amzn-s3-demo-bucket

步骤6:测试代理

您可以使用AWS CLI测试代理:

aws bedrock-agentcore invoke-harness \
    --harness-arn <HARNESS_ARN> \
    --runtime-session-id $(uuidgen) \
    --messages '[{"role":"user","content":[{"text":"Generate an optimization report"}]}]' \
    --region us-east-1

步骤7:查看报告

报告存储在Amazon S3中,位置为:

s3:// amzn-s3-demo-bucket/kinesis-optimization-reports/YYYY/MM/DD/HHMMSS-<report-id>.html
s3:// amzn-s3-demo-bucket/kinesis-optimization-reports/YYYY/MM/DD/HHMMSS-<report-id>.json

HTML报告包括一个带有优先级指示器的每流操作表、详细的成本明细以及账户级优势建议。

示例HTML报告,显示带有优先级指示器和成本明细的每流操作表

图2:带有每流操作表的示例HTML报告

示例报告,显示账户级按需优势建议

图3:示例报告输出中的账户级按需优势建议

多区域部署

该代理是区域特定的。部署到某个区域时,仅分析该区域中的流。要覆盖多个区域,请更改环境变量并重复部署:

export AWS_DEFAULT_REGION=eu-west-1
cdk bootstrap aws://<ACCOUNT_ID>/eu-west-1
cdk deploy

每个部署都是独立的,具有自己的代理、Amazon S3存储桶和计划。

清理

要从区域中移除堆栈:

cd infra
cdk destroy

注意: Amazon S3存储桶具有RemovalPolicy.RETAIN设置,不会随堆栈删除。如果您不再需要报告,请手动删除它。

结论

在这篇文章中,您部署了一个由AI驱动的代理,该代理自主分析您的Amazon Kinesis数据流,并为每个流推荐最佳容量模式。该代理减轻了跨数十或数百个流审查CloudWatch指标的人工工作量,并按定期计划生成可行的、成本意识的建议。

通过从手动容量审查转向自主、定期优化,您获得三个关键好处。首先,通过识别应该切换模式的流,您可以降低流处理成本。其次,通过捕捉供应不足的流在其影响性能之前,您减轻了节流风险。第三,您将团队从重复性运维工作中解放出来。所有这些都可以通过一次cdk deploy实现。

要开始使用,请克隆sample-kinesis-optimizer-agent仓库并立即部署到您的账户中。

关于作者

分享这条资讯
分享海报
保存图片
iOS 也可以长按图片保存