Python 在Google计算引擎上设置静态出站/源IP地址

Python 在Google计算引擎上设置静态出站/源IP地址,python,google-compute-engine,Python,Google Compute Engine,我为Google Compute Engine VM实例设置了一个静态外部IP地址,当我使用SSH连接到机器时,我的出站请求(例如curl canhazip.com)源自静态外部IP,但当我从控制台内启动Google Cloud Shell或部署应用程序时(例如,通过gcloud app deploy部署一个Python应用程序,IP地址是不同的。关于如何使其一致性,有什么想法吗?我是否需要在app.yaml中指定一些内容?换句话说,如果我想部署一个类似这样的Python应用程序: import

我为Google Compute Engine VM实例设置了一个静态外部IP地址,当我使用SSH连接到机器时,我的出站请求(例如curl canhazip.com)源自静态外部IP,但当我从控制台内启动Google Cloud Shell或部署应用程序时(例如,通过gcloud app deploy部署一个Python应用程序,IP地址是不同的。关于如何使其一致性,有什么想法吗?我是否需要在app.yaml中指定一些内容?换句话说,如果我想部署一个类似这样的Python应用程序:

import requests

print('requesting...')
res = requests.get("http://ip.jsontest.com/")
print(res.text)

如何将其配置为始终返回我已设置的相同静态外部IP?

Cloud Shell和App Engine都没有直接的网络访问权限

  • 对于Cloud Shell,有。因为Cloud Shell是一个,所以您无法进一步控制所使用的IP地址等内容

  • App Engine Standard在没有网络访问的情况下运行沙盒环境。应用程序必须使用两者之一来发出外部请求。python运行时修补了套接字和urllib,以便大多数python代码无需进一步修改即可使用这些API

如果您需要传出连接的一致源IP地址,您可能正在寻找。但是,此设置在Cloud Shell或App Engine Standard中也不可用