AWS RAG系统:公网API Gateway与VPC Lambda通信及私网网关对接公网前端咨询
基于AWS的检索增强生成(RAG)系统架构与技术问题解答
系统架构流程
- 预处理后的多格式数据(PDF、DOCX、TXT、PNG等)存储至Amazon S3存储桶。
- 触发Lambda函数编排嵌入流程,调用Amazon Bedrock的嵌入模型生成文档嵌入向量,最终存储到作为向量数据库的MongoDB(部署在RDS)。
- 用户通过AWS Amplify部署的前端UI/UX发起提问,请求转发至Amazon API Gateway,触发编排Lambda函数。
- 该Lambda函数检索匹配的嵌入向量及DynamoDB中的聊天历史,整合后调用Amazon Bedrock大语言模型(LLM)生成回答,经另一Lambda验证后返回给前端。
安全配置
- 除公网可访问的前端外,RDS MongoDB及所有Lambda函数均部署在自有VPC内。
- 通过VPC网关端点连接S3、DynamoDB,实现私有网络内的资源访问。
- 通过VPC接口端点(AWS PrivateLink)连接Amazon Bedrock,避免流量走公网。
技术问题解答
1. 公网API Gateway端点能否与VPC内的编排Lambda交互?
可以。公网API Gateway能够直接触发VPC内的Lambda函数,核心前提是:
- Lambda所在VPC的安全组和网络ACL需允许API Gateway的服务前缀或IP范围访问;
- Lambda配置了允许API Gateway调用的IAM权限(即API Gateway的服务角色拥有
lambda:InvokeFunction权限)。
2. 是否需创建同VPC的API Gateway私网端点?
不是强制要求。仅当架构需要全流量VPC闭环(避免公网传输环节)、或有合规/安全强化需求时,才需要创建API Gateway私网端点。若当前公网API Gateway的访问模式符合安全策略且满足业务需求,无需额外配置。
3. 若改用私网端点,如何实现公网前端与私网网关的通信?
常见的两种实现方案:
- CloudFront中转方案:将AWS CloudFront作为公网入口,前端请求发送至CloudFront,再由CloudFront通过VPC端点服务转发到API Gateway私网端点。需配置CloudFront的Origin Access Control(OAC)确保访问权限,全程流量在AWS私有网络内完成从CloudFront到API Gateway的传输。
- 反向代理方案:在VPC的公有子网部署反向代理(如Nginx或AWS Application Load Balancer),前端请求先发送至该代理,再由代理转发到VPC内的API Gateway私网端点。需确保代理所在公有子网的安全组允许前端公网IP访问,同时代理能访问私网API Gateway的端点。
内容的提问来源于stack exchange,提问作者Gregory
相关产品推荐
相关产品推荐

