AWS发布Amazon Quick跨账户资源迁移MCP服务器示例
AWS官方博客介绍Quick Resource Migrator:一个托管在Amazon Bedrock AgentCore上的可幂等、可审计MCP服务器,通过单次工具调用把开发账户中的Amazon Quick代理、连接器、知识库、流程和空间提升到生产账户,支持预览、备份与回滚。
AI解读:AWS发布了一个名为Quick Resource Migrator的示例方案,用于解决Amazon Quick资源跨AWS账户迁移长期依赖手工重建的问题。
方案以MCP服务器形式托管在Amazon Bedrock AgentCore运行时,提供preview_migration、migrate_resources、list_backups、get_backup、restore_backup五个工具。
迁移采用upsert幂等模式,只创建或更新,不执行删除;每次更新前把资源和依赖的版本化快照写入加密S3备份桶,备份失败则中止更新。
迁移内容有限制:S3对象(文档本体)不复制;连接器的密钥值不读取,目标账户用占位凭据重新认证;流程因ID跨账户不同按名称匹配。
方案采用三账户模型,源账户角色只读、目标账户角色仅含迁移所需动作,运行时用Cognito JWT认证调用方,并通过STS获取临时凭据。
AWS机器学习博客发布了一个名为Quick Resource Migrator的示例方案,用于自动完成Amazon Quick资源的跨AWS账户迁移。
该方案是一个MCP服务器,托管在Amazon Bedrock AgentCore运行时上,通过单次工具调用把开发账户中验证过的资源提升到生产账户,替代此前逐个重建的手工操作。
完整源码位于aws-samples仓库,博客同时给出部署步骤和一个通过提示词生成的Quick App示例。
迁移哪些资源,以及不迁移什么
Amazon Quick的可编程资源包括代理、操作连接器、知识库、流程和空间。迁移器按资源类型选择,可按ID、名称或全部选择;迁移空间时会同时带上其关联资源,但需要先迁移被关联的资源,以便目标账户中的ARN能正确解析。
Chat agents会被重建,保留自定义指令、身份、语气、起始提示和欢迎语,操作连接器重新附加并映射到目标账户;空间迁移时其代理会自动重新关联。操作连接器按其配置重建,但密钥值从不从源账户读取,目标账户以占位凭据创建后重新认证。知识库在目标账户注册,重建数据源、复制权限,S3支持的知识库还会创建目标桶和桶策略——但S3对象即文档本身不会被复制。流程从定义重建,因流程ID跨账户不同而按名称匹配,同名的目标流程被更新,否则新建。空间则被重建并重新关联其代理、连接器和知识库,ARN重映射到目标账户。
幂等、权限复制与备份回滚
迁移器是upsert语义:目标账户不存在则创建,已存在则原地更新,且从不针对目标发出删除操作,因此可反复运行并在同一目标状态下收敛。权限不是硬编码的,服务器对每个源资源调用相应的Describe*Permissions API,在目标账户重放相同的动作列表,并把主体重映射到目标账户的已注册用户。
每次更新任何已存在的目标资源前,迁移器会把该资源及其依赖的版本化快照写入专用备份桶;如果快照写入失败,更新会被中止。所有创建或更新的资源同样会被快照,restore_backup工具可把资源回滚到早期版本,且回滚前会先取一份新的备份,使回滚本身也可回滚。
暴露的工具与部署方式
服务器在server.py中定义五个工具。preview_migration为只读,返回将被迁移资源的清单;若同时传入目标账户ID,还会标记每个资源是CREATE还是UPDATE,用于变更管理审批前的预演。migrate_resources执行完整迁移并返回结构化的创建、更新、授权与错误报告。list_backups和get_backup为只读,用于查看每个资产的备份版本与完整快照内容。restore_backup将存储的备份版本重新应用到目标资源。
架构采用三账户模型:中央运行账户在AgentCore运行时托管MCP服务器,通过AWS STS在源账户扮演只读角色、在目标账户扮演读写角色,不存储长期凭据。运行时以VPC网络模式运行,使用Amazon Cognito JWT授权,调用方通过客户端凭据授予获得scope为invoke的令牌。部署层面需要三个AWS CloudFormation栈,分别对应跨账户IAM角色、VPC网络,以及承载MCP服务器的Cognito认证AgentCore运行时,然后把该运行时注册为Amazon Quick中的操作连接器。
注册后可从Amazon Quick用自然语言驱动迁移器,也可用仓库中提供的app-builder提示词生成一个Quick App图形界面,完成选择源和目标账户、预览、执行迁移与查看历史记录的操作。该应用由提示词生成,每次构建结果可能不同。