2017-10-08 13 views
1

Google Compute Engine VMインスタンスの静的外部IPアドレスを設定します。また、マシンにSSHを設定すると、送信リクエスト(curl canhazip.comなど)静的な外部IPですが、コンソール内からGoogle Cloud Shellを起動したときや、アプリケーションをデプロイするときに(たとえば、gcloudアプリをデプロイするPythonアプリでは、IPアドレスが異なります。 ?私はこのように見えたPythonアプリケーションを展開したい場合、つまり、app.yamlをで何かを指定する必要があります。私はいつも私がすでに設定された同じ静的外部IPを返すように設定する方法をGoogle Compute Engineで静的な送信/送信元IPアドレスを設定する

import requests 

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

答えて

1

Cloud EngineとApp Engineの両方に直接ネットワークアクセスがありません。

  • limitations to network accessがあります。クラウドシェルはephemeral instanceなので、使用するIPアドレスのようなものをさらに制御することはできません。

  • App Engine Standardはネットワークアクセスなしでサンドボックス環境を実行します。アプリケーションは、外部リクエストを行うためにSockets or URLFetch APIのいずれかを使用する必要があります。 Pythonランタイムは、ほとんどのPythonコードがこれらのAPIをそれ以上使用することができるように、ソケットとurllibをパッチします。

送信接続に一貫した送信元IPアドレスが必要な場合は、おそらくegress NAT gatewayが必要です。ただし、この設定はCloud ShellまたはApp Engine Standardからも使用できません。

関連する問題