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

跨AWS账号VPC对等场景下私有子网Lambda访问RDS Proxy方案咨询

方案1:复用现有VPC对等连接(成本最低)

你当前走不通的核心原因是RDS Proxy的默认域名解析为公有IP,VPC对等场景下需要强制解析到RDS Proxy的私有IP:

  • 到账号1的VPC控制台,找到RDS Proxy所在的子网,记录RDS Proxy的所有私有IP地址
  • 在账号2的VPC中创建私有托管Zone(Private Hosted Zone),域名为你RDS Proxy的域名:proxy-XXXXXXXXX.eu-central-1.rds.amazonaws.com
  • 在该托管Zone中添加A记录,值填写刚才记录的RDS Proxy私有IP
  • 确认账号2私有子网的DNS设置已开启VPC内部DNS解析
  • 安全组配置:账号1的RDS Proxy关联的安全组需要入方向放开账号2 Lambda安全组的数据库监听端口(MySQL为3306、PostgreSQL为5432)
  • 路由表配置:账号2私有子网的路由表要添加指向账号1 VPC CIDR的路由,下一跳为VPC对等连接ID;账号1的RDS Proxy所在子网的路由表也要添加指向账号2 VPC CIDR的路由,下一跳为同一个VPC对等连接ID
方案2:使用PrivateLink实现跨账号私有访问

如果不想维护对等连接的路由规则,或者后续有更多跨账号服务访问诉求,可以用PrivateLink:

  • 账号1侧操作:
    • 为RDS Proxy创建目标组,目标类型选择IP,端口填写RDS Proxy的监听端口,VPC选择账号1的VPC
    • 创建网络负载均衡器(NLB),部署在RDS Proxy所在的相同私有子网,监听器转发规则指向刚才创建的目标组
    • 为该NLB创建VPC终端节点服务(PrivateLink服务),允许账号2的AWS账号ID作为允许的主体
  • 账号2侧操作:
    • 在账号2的VPC中创建接口端点,选择刚才账号1共享的PrivateLink服务名称,部署在Lambda所在的私有子网,关联Lambda的安全组
    • 在账号2的VPC私有托管Zone中添加RDS Proxy域名的A记录,值填写接口端点的私有IP,或者直接修改Lambda的DB_HOST环境变量为接口端点的私有DNS
    • 账号1的NLB安全组、RDS Proxy安全组放开账号2接口端点安全组的对应端口访问权限
现有CloudFormation模板补充配置

你当前的模板缺少对等连接的路由配置,需要在账号2的私有子网路由表中添加以下资源:

"vpcPeerRouteToAccount1": {
  "Type": "AWS::EC2::Route",
  "Properties": {
    "RouteTableId": {"Ref": "vpcPrivateSubnet1RouteTableB41A48CC"},
    "DestinationCidrBlock": "172.31.0.0/16", // 替换为账号1的实际VPC CIDR
    "VpcPeeringConnectionId": {"Ref": "vpcPeertomainaccount833D3E2C"}
  }
}

注意账号1侧也要配置对应回包路由,以及安全组的入方向规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:09:01