2015-06-18 4 views

उत्तर

4
प्रति metadata docs

:

आप आसानी से यदि आपके अनुप्रयोगों या स्क्रिप्ट मेटाडाटा सर्वर का उपयोग करके एक कंप्यूट इंजन उदाहरण के भीतर चल रहे हैं पता लगा सकते हैं। जब आप सर्वर से अनुरोध करते हैं, मेटाडेटा सर्वर से किसी भी प्रतिक्रिया में Metadata-Flavor: Google शीर्षलेख होगा। यदि आप कंप्यूट इंजन में चल रहे हैं तो आप विश्वसनीय रूप से यह पता लगाने के लिए इस हेडर को देख सकते हैं।

उदाहरण के लिए, निम्न कर्ल अनुरोध Metadata-Flavor: Google शीर्षलेख देता है, यह दर्शाता है कि अनुरोध एक कंप्यूट इंजन उदाहरण के भीतर से किया जा रहा है।

[email protected]:~$ curl metadata.google.internal -i 
HTTP/1.1 200 OK 
Metadata-Flavor: Google 
Content-Type: application/text 
Date: Thu, 10 Apr 2014 19:24:27 GMT 
Server: Metadata Server for VM 
Content-Length: 22 
X-XSS-Protection: 1; mode=block 
X-Frame-Options: SAMEORIGIN 

0.1/ 
computeMetadata/ 
2

तुम भी मेटाडाटा सर्वर के लिए DNS लुकअप कर सकते हैं।

उदाहरण के लिए

, dig +short metadata.google.internalकर अंदर एक Google गणना उदाहरण इस तरह होगा उत्पादन कुछ:

[[email protected]]# dig +short metadata.google.internal 
169.254.169.254 

अगर, हालांकि, आप एक ही आदेश (dig +short metadata.google.internal) एक मानक सर्वर के अंदर करते हैं, Google मेघ के बाहर , आप एक खाली प्रतिक्रिया प्राप्त कर सकते हैं।

तो जाँच करने के लिए, तुम सब (उदाहरण के लिए bash में) क्या करने की जरूरत है:

GMETADATA_ADDR=`dig +short metadata.google.internal` 
if [[ "${GMETADATA_ADDR}" == "" ]]; then 
    echo "I am NOT in a Google VM!" 
else 
    echo "I AM INSIDE a Google VM! Whoohoo!" 
fi 
संबंधित मुद्दे