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

部署在东京的Google Cloud Functions如何获取本地IP访问Binance API

解决Cloud Functions调用Binance API时IP区域不符的问题

问题原因

Cloud Functions默认出站流量会通过GCP全球网络的边缘节点转发,并非严格绑定部署区域的本地IP。即使你将函数部署在东京区域,出口IP仍可能来自美国节点,导致Binance API拦截请求。

解决方案

1. 配置VPC Connector+Cloud NAT绑定区域本地IP

  • 创建Serverless VPC Access Connector,指定部署区域为东京(asia-northeast1),确保连接器与函数在同一区域。
  • 在Cloud Functions的部署设置中,启用VPC连接器,关联刚创建的实例。
  • 为该VPC配置Cloud NAT和Cloud Router:
    • 创建Cloud Router并关联目标VPC网络。
    • 创建Cloud NAT网关,选择东京区域,绑定静态外部IP(可提前预留东京区域的静态IP),并设置NAT规则允许VPC内的流量通过该网关出站。
  • 完成配置后,Cloud Functions的所有出站请求会通过VPC Connector走东京区域的NAT网关,使用指定的本地IP访问Binance API。

2. 验证出站IP归属

在函数中添加代码验证当前出口IP,确认是否为东京区域地址:

// Node.js示例
const axios = require('axios');

exports.verifyOutboundIP = async (req, res) => {
  try {
    const response = await axios.get('https://api.ipify.org?format=json');
    const ip = response.data.ip;
    // 可进一步调用IP归属查询接口确认区域
    const geoResponse = await axios.get(`http://ip-api.com/json/${ip}`);
    res.send(`Outbound IP: ${ip}, Region: ${geoResponse.data.regionName}, Country: ${geoResponse.data.country}`);
  } catch (error) {
    res.status(500).send(`Verification failed: ${error.message}`);
  }
};

3. (可选)配置Binance API IP白名单

如果Binance支持IP白名单,将验证后的东京区域静态IP添加到白名单中,进一步确保请求不会被拦截。

注意事项

  • VPC Connector、Cloud NAT等组件会产生额外费用,需参考GCP计费规则确认成本。
  • 确保VPC子网的路由规则正确,允许函数流量通过NAT网关出站。
  • 若使用Python、Go等其他语言,验证IP的逻辑类似,只需调用公网IP查询接口即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 21:21:00