2017-10-08 1 views
1

Google Compute Engine VM 인스턴스에 대한 정적 외부 IP 주소를 설정하고 컴퓨터로 SSH를 설정하면 내 발신 요청 (예 : curl canhazip.com)은 정적 외부 IP이지만 콘솔에서 Google Cloud Shell을 실행하거나 앱을 배포 할 때 (예 : gcloud 앱 배포를 통해 Python 앱을 배포하면 IP 주소가 다릅니다.) 일관성있게 만드는 방법에 대한 아이디어가 있습니까? ? 나는이처럼 보였다 파이썬 응용 프로그램을 배포하고 싶다면, 다시 말하면 애플리케이션 제목에서 뭔가를 지정해야합니다 : 난 항상 내가 이미 설정 한 것과 같은 정적 외부 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이 있습니다. Cloud Shell은 ephemeral instance이므로 사용 된 IP 주소 같은 것을 더 이상 제어 할 필요가 없습니다.

  • App Engine Standard는 네트워크 액세스없이 샌드 박스 환경을 실행합니다. 응용 프로그램은 외부 요청을 수행하기 위해 Sockets or URLFetch API을 사용해야합니다. 파이썬 런타임은 소켓과 urllib을 패치하므로 대부분의 파이썬 코드가 더 이상 수정하지 않고이 API를 사용할 수 있습니다.

당신은 나가는 연결에 대한 일관된 소스 IP 주소가 필요한 경우

, 당신은 일 가능성 egress NAT gateway 찾고 있습니다. 이 설정은 Cloud Shell 또는 App Engine Standard에서도 사용할 수 없습니다.

관련 문제