You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需Lambda:如何将AWS API Gateway连接至EC2上的RDS MySQL?

可行解决方案

方案1:在现有EC2实例上部署API服务

  • 在EC2上搭建轻量API框架(如Python Flask、Node.js Express),直接编写代码连接MySQL数据库
  • 配置EC2安全组,开放API服务端口(如80/443),若需HTTPS可通过Let's Encrypt免费配置证书
  • 需为API添加身份验证(API Key、JWT等),同时限制EC2安全组的访问来源IP,避免数据库暴露风险
  • 优势:无需额外AWS服务权限,复用现有EC2资源,开发维护成本低

方案2:使用AWS App Runner托管API服务

  • 将连接MySQL的API代码打包为容器镜像,上传至AWS ECR私有仓库
  • 通过App Runner部署该镜像,在配置中填入数据库连接串、用户名密码等环境变量
  • 调整RDS安全组,允许App Runner所在VPC的网络访问
  • 优势:完全托管式服务,自动处理扩容、负载均衡与HTTPS,权限配置灵活度高于Lambda

方案3:基于ECS Fargate部署API容器

  • 把API代码容器化后上传至ECR,创建ECS集群并使用Fargate启动任务
  • 配置应用负载均衡(ALB)暴露API服务,同时在任务配置中注入数据库连接环境变量
  • 确保RDS安全组允许Fargate所在VPC的流量访问
  • 优势:适合高并发场景,无需管理底层服务器,资源弹性伸缩可控

方案4:采用第三方API网关服务

  • 选择Kong、Apigee等第三方网关,部署在EC2或云主机上,作为请求入口转发至连接MySQL的API服务
  • 这类网关自带身份验证、流量限流、监控告警等成熟功能,不受AWS API Gateway的权限限制
  • 注意:需自行维护网关服务的可用性与安全防护

通用配置要点

  • 所有连接MySQL的服务,必须确保RDS安全组开放对应来源的访问权限
  • 数据库敏感信息(连接串、密码)禁止硬编码,优先使用环境变量或AWS Secrets Manager(若有权限)存储
  • 无论采用哪种方案,都必须为API添加身份校验机制,防止未授权访问导致数据泄露

内容的提问来源于stack exchange,提问作者andryne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 09:34:50