跨 AWS 账户迁移 Amazon Quick 资源:用可审计、可重跑的 MCP 迁移服务器替代手工重建

AWS ML Blog 2026-10-06T18:02:20.356463

Amazon Quick 里的代理、连接器、知识库和空间,过去跨 AWS 账户迁移只能逐项手工重建,过程慢且难审计。示例工具 Quick Resource Migrator 把迁移做成托管在 Amazon Bedrock AgentCore 上的 MCP 服务器:一次工具调用即可跨账户迁移,支持只读预览、幂等重跑和版本化备份,并且不会删除目标账户中的任何资源。对用 AI 辅助编程、乃至氛围编程快速搭代理的团队来说,开发账户里的原型不再是一次性产物。

手工迁移卡在哪里

Amazon Quick 是亚马逊面向企业工作场景打造的代理式 AI 助手。基于它搭建的智能代理可以结合自有数据推理、调用外部系统、完成多步骤任务。

这类方案通常由几个组件拼成:

团队一般先在开发账户中把这些资源搭好,再反复迭代。问题出在部署环节。

大多数企业把开发和生产拆成两个独立的 AWS 账户,有时中间再加一个质量保证(QA)账户。但代理、连接器和知识库在开发账户验证通过后,并没有原生的“一键搬家”方式把它们送到下一个账户,只能一项一项手工重建:

这套流程进度慢、难以审计,还容易埋下不易察觉的错误,最终破坏企业需要的治理体系。

这些资源本来就能用 API 管起来

好消息是,Amazon Quick 的资源本身支持编程管理。空间、代理、操作连接器、知识库和流程都可以通过 Amazon Quick API 管理(它隶属于 Amazon Quick Sight API 体系),该 API 提供完整的资源生命周期操作:创建、读取、更新、删除和列表查询。

换句话说,业务用户在 Amazon Quick 中配置的任何东西——带指令和启动提示词的代理、连接器、知识库或流程——都能用程序去检查、重建、更新和治理,权限也不例外。

这套可编程接口正是实现受管控迁移的关键:与其手工重建每个资源,不如通过 API 把资源和权限读出来,再原样在另一个账户中重新应用。

本文介绍的迁移工具把创建、读取、更新和列表操作组合成一个可重复执行的工作流。它从不对目标账户执行删除操作,因此每次运行只会新增或更新资源。

Quick Resource Migrator:一次调用完成迁移

这个工具叫 Quick Resource Migrator,是一个示例 MCP 服务器。MCP 即模型上下文协议,是一套让 AI 客户端调用外部工具的通用接口。它托管在 Amazon Bedrock AgentCore 运行时上,通过一次工具调用即可完成 Amazon Quick 资源的跨账户迁移。

它采用资源驱动的操作方式:先选资源类型(agent、connector、knowledge base、flow 或 space),再按 ID、按名称或全选来挑选具体资源。它支持幂等操作——同一条命令重复执行,结果保持一致,可以放心重试——并且会忠实复制权限:先描述源端资源,再在目标账户中重放同样的操作。完整源代码已放在 aws-samples 仓库中。

对用 AI 辅助编程、甚至靠“氛围编程”快速搭代理的团队来说,这类工具的价值在于:开发账户里的原型不再是一次性产物,验证通过后可以原样推到生产账户。

方案概览:一次调用,一组资源

迁移器一次调用迁移一组选定的资源,采用 upsert 模式,也就是“有则更新、无则新建”:

每次更新之前,工具都会先把带版本号的备份写入 Amazon S3,因此每个资源都有完整历史记录,可以随时查阅和回滚。

它还提供只读预览:正式提交之前,会准确报告这次运行将创建或更新哪些内容。

迁移本身运行在 Amazon Bedrock AgentCore 上,所以可以通过 Amazon Quick 或任何兼容 MCP 的客户端来驱动。

迁移范围与各类资源的处理方式

选择模型:先选资源类型(agent、connector、knowledge base、flow 或 space),再按 ID、按名称或全选来指定资源,整个过程以资源为驱动。你既可以只迁移某一类资源,也可以整体迁移一个 space,把它关联的资源一并带过去。

聊天代理:重建时保留自定义指令、身份、语气、起始提示词和欢迎消息,同时重新挂载它的操作连接器(重新映射到目标账户)。迁移 space 时,其中的代理会自动重新关联。

操作连接器:按原有配置重建。密钥值不会从源端读取——连接器创建时使用占位凭证,之后再在目标账户中重新完成身份验证。

知识库:知识库注册到目标账户,数据源被重建,权限也会一并复制。对于由 S3 支撑的知识库,迁移工具还会在目标账户里创建对应的存储桶和存储桶策略——这部分同样算一项独立的迁移产出。文档本身(也就是 S3 对象)不会被复制。

查看原文