Google के साथ कई बार आगे-पीछे होने के बाद, और घंटों ब्लॉग पढ़ने और रिपोर्ट देखने के बाद, मैंने आखिरकार (कुछ) जो हुआ उसके लिए स्पष्टीकरण पाया। मैं इसे अपने सुझावों के साथ यहां पोस्ट करूंगा ताकि अन्य लोग भी इस समस्या के शिकार न हों।
ध्यान दें, यह कुछ के लिए स्पष्ट लग सकता है, लेकिन एक नए GAE उपयोगकर्ता के रूप में, यह सब मेरे लिए बिल्कुल नया था।
संक्षेप में, जब जीएई को तैनात किया जाता है और निम्नलिखित कमांड " $ gcloud एप्लिकेशन को तैनात करता है " का उपयोग करते हुए , यह एक नया संस्करण बनाता है और इसे डिफ़ॉल्ट के रूप में सेट करता है, लेकिन यह भी और अधिक महत्वपूर्ण बात, यह पिछले संस्करण को नहीं हटाता है जो तैनात किया गया था।
संस्करणों और उदाहरणों के बारे में अधिक जानकारी यहां देखी जा सकती है: https://cloud.google.com/appengine/docs/standard/python/an-overview-of-app-engine
तो मेरे मामले में, इसे जाने बिना, मैंने अपने सरल नोड ऐप के कई संस्करण बनाए थे। एक त्रुटि के बाद स्विच करने की आवश्यकता होने पर ये संस्करण अभी भी चल रहे हैं। लेकिन इन संस्करणों के लिए भी उदाहरणों की आवश्यकता होती है, और डिफ़ॉल्ट, जब तक कि app.yaml में नहीं कहा जाता है, 2 उदाहरण हैं।
Google कहता है:
डिफ़ॉल्ट रूप से ऐप इंजन लोड से मिलान करने के लिए ऊपर और नीचे चलने वाले इंस्टेंस की संख्या को मापता है, इस प्रकार निष्क्रिय उदाहरणों को कम करते हुए और इस प्रकार लागत को कम करते हुए आपके ऐप के लिए लगातार प्रदर्शन प्रदान करता है।
हालांकि, मेरे अनुभव से, यह मामला नहीं था। जैसा कि मैंने पहले कहा था, मैंने अपने नोड ऐप को नोडमोन के साथ धकेल दिया था जो ऐसा लगता है कि त्रुटियां पैदा कर रहा था।
अंत में, ट्यूटोरियल का अनुसरण करते हुए और परियोजना को बंद नहीं करने पर, मेरे पास 4 संस्करण थे, जिनमें से प्रत्येक में 2 उदाहरण 1.5 महीने के लिए पूर्णकालिक चल रहे थे, 0 अनुरोधों को पूरा करने और बहुत सारे त्रुटि संदेश उत्पन्न करने और मुझे $ 500 का खर्च आया।
यदि आप चाहते हैं कि आप केवल एनईएल फ्लेक्स ईएनवी का उपयोग करना चाहते हैं:
सबसे पहले और सबसे पहले, बिलिंग बजट और अलर्ट सेट करें ताकि आप अपने चालान के लिए स्वचालित रूप से चार्ज किए गए महंगे चालान से आश्चर्यचकित न हों: https://cloud.google.com/billing/docs/how-to/budgets
एक परीक्षण एनवी में, आपको सबसे अधिक संभावना है कि कई संस्करणों की आवश्यकता नहीं है, इसलिए निम्नलिखित कमांड का उपयोग करते समय तैनात करें:
$ gcloud app deploy --version v1
अपने ऐप को अपडेट करें। केवल न्यूनतम संसाधनों के साथ 1 उदाहरण के लिए बाध्य करें:
runtime: nodejs
env: flex
# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/nodejs/configuring-your-app-with-app-yaml
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
- दैनिक खर्च सीमा निर्धारित करें
अधिक जानकारी के लिए इस ब्लॉग पोस्ट को देखें: https://medium.com/google-cloud/three-simple-steps-to-save-costs-when-prototyping-with-app-engine-flexible-environment-104fc6736495
मैं चाहता हूं कि इनमें से कुछ चरणों को ट्यूटोरियल में शामिल किया गया था ताकि उन लोगों की रक्षा की जा सके जो सीखने और प्रयोग करने की कोशिश कर रहे हैं, लेकिन यह नहीं था।
यदि कोई इन सभी विवरणों को नहीं जानता है तो Google App Engine Flex env मुश्किल हो सकता है। एक दोस्त ने मुझे हेरोकू की ओर इशारा किया, जिसमें मूल्य निर्धारण और फ्री / हॉबी ऑफर दोनों हैं। मैं जल्दी से वहाँ एक नया नोड एप्लिकेशन पुश करने में सक्षम था, और यह आकर्षण की तरह काम किया!
https://www.heroku.com/pricing
इस पाठ को सीखने के लिए मुझे "केवल" $ 500 का खर्च आया, लेकिन मुझे उम्मीद है कि इससे दूसरों को Google App Engine Flex Env को देखने में मदद मिलेगी।