1. परिचय
Vertex AI Workbench के उपयोगकर्ता से मैनेज किए जाने वाले नोटबुक इंस्टेंस की मदद से, JupyterLab के साथ पहले से पैकेज किए गए डीप लर्निंग वर्चुअल मशीन (वीएम) इंस्टेंस बनाए और मैनेज किए जा सकते हैं.
उपयोगकर्ता के ज़रिए मैनेज की जाने वाली नोटबुक के इंस्टेंस में, डीप लर्निंग पैकेज का पहले से इंस्टॉल किया गया सुइट होता है. इसमें TensorFlow और PyTorch फ़्रेमवर्क के साथ काम करने की सुविधा शामिल है. सिर्फ़ सीपीयू या जीपीयू वाले इंस्टेंस कॉन्फ़िगर किए जा सकते हैं.
आपको क्या बनाना होगा
यह ट्यूटोरियल, नेटवर्किंग और सिक्योरिटी के सबसे सही तरीकों के आधार पर, उपयोगकर्ता के ज़रिए मैनेज की जाने वाली नोटबुक को सुरक्षित तरीके से डिप्लॉय करने की प्रोसेस के बारे में बताता है. इसमें ये चरण शामिल हैं:
- VPC बनाना
- क्लाउड राऊटर और क्लाउड एनएटी (NAT) बनाएं
- नोटबुक इंस्टेंस को सही सुरक्षा सेटिंग के साथ कॉन्फ़िगर करें
इस ट्यूटोरियल में हर चरण के लिए पूरी जानकारी दी गई है. इसमें उपयोगकर्ता की ओर से मैनेज की जाने वाली नोटबुक को सुरक्षित रखने के लिए सलाह और सबसे सही तरीके भी शामिल हैं. पहली इमेज, स्टैंडअलोन VPC का इस्तेमाल करके डिप्लॉयमेंट का उदाहरण है.
इमेज 1
आपको इनके बारे में जानकारी मिलेगी
- कैसे पता लगाएं कि शेयर किया गया स्टैंडअलोन VPC आपके संगठन के लिए सही है या नहीं
- स्टैंडअलोन VPC बनाने का तरीका
- क्लाउड राऊटर और क्लाउड एनएटी बनाने का तरीका
- उपयोगकर्ता की ओर से मैनेज की जाने वाली नोटबुक बनाने का तरीका
- उपयोगकर्ता की ओर से मैनेज की जाने वाली नोटबुक को ऐक्सेस करने का तरीका
- उपयोगकर्ता की ओर से मैनेज की जा रही नोटबुक की परफ़ॉर्मेंस को मॉनिटर करने का तरीका
- इंस्टेंस शेड्यूल बनाने और लागू करने का तरीका
आपको इनकी ज़रूरत होगी
- Google Cloud प्रोजेक्ट
आईएएम की अनुमतियां
- Compute Network एडमिन
- कंप्यूट सिक्योरिटी एडमिन
- कंप्यूट इंस्टेंस एडमिन
- Notebooks का एडमिन
- स्टोरेज एडमिन
- प्रोजेक्ट आईएएम एडमिन
- सेवा खाते का एडमिन
- सेवा खाते का उपयोगकर्ता
- स्टोरेज ऑब्जेक्ट व्यूअर (सेवा खाते पर लागू होता है)
- Vertex AI का उपयोगकर्ता (सेवा खाते पर लागू)
2. VPC नेटवर्क
VPC नेटवर्क को, किसी फ़िज़िकल नेटवर्क की तरह ही इस्तेमाल किया जा सकता है. हालांकि, Google Cloud में इसका वर्चुअलाइज़ेशन होता है. VPC नेटवर्क, ग्लोबल संसाधन है जिसमें रीजनल सबनेट शामिल होते हैं. Google Cloud में, VPC नेटवर्क एक-दूसरे से लॉजिकल तरीके से अलग किए जाते हैं.
स्टैंडअलोन VPC
इमेज 2, स्टैंडअलोन ग्लोबल VPC का उदाहरण है. इसमें क्लाउड राऊटर और Cloud NAT के अलावा, रीजनल सबनेट (us-central1) शामिल है. इसकी मदद से, उपयोगकर्ता की ओर से मैनेज की जाने वाली नोटबुक, सुरक्षित तरीके से इंटरनेट से कनेक्ट हो पाती है.
दूसरी इमेज
शेयर किया गया VPC
शेयर किए गए VPC की मदद से, किसी होस्ट प्रोजेक्ट में मौजूद VPC नेटवर्क से सबनेट, एक ही संगठन के सेवा प्रोजेक्ट में एक्सपोर्ट किए जा सकते हैं. होस्ट प्रोजेक्ट में ऐसे नेटवर्किंग संसाधन शामिल हैं जिन्हें सेवा प्रोजेक्ट के साथ शेयर किया जाता है. जैसे, सबनेट, क्लाउड नैट, और फ़ायरवॉल के नियम. सेवा प्रोजेक्ट में, ऐप्लिकेशन-लेवल के संसाधन होते हैं. ये होस्ट प्रोजेक्ट में नेटवर्किंग संसाधनों का इस्तेमाल करते हैं.
तीसरी इमेज, ग्लोबल शेयर किए गए VPC का इलस्ट्रेशन है. इसमें नेटवर्किंग और सिक्योरिटी इन्फ़्रास्ट्रक्चर को होस्ट प्रोजेक्ट में डिप्लॉय किया गया है, जबकि वर्कलोड को सर्विस प्रोजेक्ट में डिप्लॉय किया गया है.
तीसरी इमेज
स्टैंडअलोन बनाम शेयर किए गए VPC
इस्तेमाल के कई आसान उदाहरणों के लिए, एक ही VPC नेटवर्क काफ़ी होता है, क्योंकि इसे बनाना, मैनेज करना, और समझना ज़्यादा मुश्किल विकल्पों के मुकाबले ज़्यादा आसान होता है. शेयर किया गया VPC, उन संगठनों के लिए एक असरदार टूल है जिनके पास कई टीमें हैं. इसकी मदद से, वे सेवा प्रोजेक्ट का इस्तेमाल करके, काम करने वाले कई ग्रुप के लिए एक ही VPC नेटवर्क को इस्तेमाल करना आसान बना सकते हैं.
ट्यूटोरियल में इस्तेमाल की गई वीपीसी के सबसे सही तरीके
- नोटबुक को ऐक्सेस करने के लिए, Cloud NAT को चालू करें.
- सबनेट बनाते समय, निजी Google ऐक्सेस को चालू करें.
- अनचाहे ट्रैफ़िक को कम करने के लिए, फ़ायरवॉल के नियम बनाएं. उदाहरण के लिए, 0.0.0.0/0 tcp का इस्तेमाल न करें. इसके बजाय, सटीक सबनेट या होस्ट के आईपी पते तय करें.
- इन्ग्रेस डेटा ट्रैफ़िक के नियमों का दायरा बढ़ाने के लिए, फ़ायरवॉल की नीतियों का इस्तेमाल करें.उदाहरण के लिए, भौगोलिक-जगहें, खतरे का पता लगाने की सूची, सोर्स डोमेन नेम वगैरह.
3. Notebook बनाने के सबसे सही तरीके
अपने इंस्टेंस का सही साइज़ तय करना
- इस्तेमाल नहीं किए गए इंस्टेंस रोकें और/या मिटाएं
- छोटे शुरुआती इंस्टेंस का इस्तेमाल करें और छोटे सैंपल डेटा के साथ दोहराएं
- ज़रूरत के हिसाब से इंस्टेंस बढ़ाएं
- छोटे डेटासेट के साथ प्रयोग करना
सही मशीन टाइप चुनना
- लागत को ऑप्टिमाइज़ की गई वीएम
- लागत कम करने के लिए हार्डवेयर संसाधनों का बेहतर ढंग से इस्तेमाल करें
- N1 के मुकाबले 31% तक बचाएं
- एक या तीन साल के लिए, 20 से 50% की अतिरिक्त बचत की जा सकती है
- मशीन का साइज़ बढ़ाने या जीपीयू जोड़ने से परफ़ॉर्मेंस में मदद मिल सकती है. साथ ही, मेमोरी से जुड़ी सीमाओं से जुड़ी गड़बड़ियों को ठीक करने में मदद मिल सकती है
डिवाइसों को बंद करने के लिए शेड्यूल करना
- डिवाइस कुछ समय से इस्तेमाल में न होने पर, इन इंस्टेंस को बंद करें (सिर्फ़ डिस्क स्टोरेज के लिए पैसे चुकाएं)
- Notebook के वीएम इंस्टेंस को तय समय पर अपने-आप बंद और चालू होने के लिए शेड्यूल करें
Notebook की परफ़ॉर्मेंस की स्थिति को मॉनिटर करना
- उपयोगकर्ता के मैनेज किए जाने वाले notebook के इंस्टेंस में, गड़बड़ी की जानकारी देने वाला टूल पहले से मौजूद होता है. यह टूल अपने इंस्टेंस की स्थिति को मॉनिटर करने में आपकी मदद कर सकता है.
सुरक्षा के लिए ध्यान देने वाली बातें
उपयोगकर्ता के ज़रिए मैनेज की जाने वाली नोटबुक बनाते समय, सुरक्षा से जुड़ी इन बातों का सुझाव दिया जाता है:
- "सिर्फ़ एक उपयोगकर्ता" के लिए विकल्प चुनें नोटबुक ऐक्सेस करने की अनुमति देता है. अगर बताया गया उपयोगकर्ता, इंस्टेंस का क्रिएटर नहीं है, तो आपको उस उपयोगकर्ता को इंस्टेंस के सेवा खाते के लिए, सेवा खाते के उपयोगकर्ता की भूमिका (roles/iam.serviceAccountUser) देनी होगी.
- इन विकल्पों को बंद करें:
- रूट का ऐक्सेस
- nbconvert
- JupyterLab यूआई से फ़ाइल डाउनलोड हो रही है
- उपयोगकर्ता से मैनेज की जाने वाली नोटबुक को कोई बाहरी आईपी पता असाइन करने के बजाय, Cloud NAT का इस्तेमाल किया जाएगा.
- कंप्यूट के इन विकल्पों में से चुनें:
- सिक्योर बूट प्रोटोकॉल
- वर्चुअल ट्रस्टेड प्लैटफ़ॉर्म मॉड्यूल (vTPM)
- पूरी सुरक्षा देने की सुविधा
4. शुरू करने से पहले
ट्यूटोरियल की मदद करने के लिए, प्रोजेक्ट अपडेट करना
यह ट्यूटोरियल, Cloud Shell में gcloud कॉन्फ़िगरेशन लागू करने में मदद करने के लिए $variables का इस्तेमाल करता है.
Cloud Shell के अंदर, यह तरीका अपनाएं:
gcloud config list project
gcloud config set project [your-project-name]
projectid=your-project-name
echo $projectid
5. VPC सेटअप
स्टैंडअलोन VPC बनाना
Cloud Shell के अंदर, यह तरीका अपनाएं:
gcloud compute networks create securevertex-vpc --project=$projectid --subnet-mode=custom
उपयोगकर्ता से मैनेज किया जाने वाला notebook सबनेट बनाना
Cloud Shell के अंदर, यह तरीका अपनाएं:
gcloud compute networks subnets create securevertex-subnet-a --project=$projectid --range=10.10.10.0/28 --network=securevertex-vpc --region=us-central1 --enable-private-ip-google-access
Cloud राऊटर और NAT का कॉन्फ़िगरेशन
Cloud NAT का इस्तेमाल, notebook सॉफ़्टवेयर पैकेज को डाउनलोड करने के ट्यूटोरियल में किया जाता है. ऐसा इसलिए होता है, क्योंकि उपयोगकर्ता की ओर से मैनेज किए जाने वाले notebook के इंस्टेंस में कोई बाहरी आईपी पता नहीं होता है. Cloud NAT, इग्रेस डेटा ट्रैफ़िक (एनएटी) की सुविधाएं भी देता है. इसका मतलब है कि इंटरनेट होस्ट, उपयोगकर्ता से मैनेज की जाने वाली नोटबुक के साथ कम्यूनिकेशन शुरू नहीं कर सकते. इससे नोटबुक ज़्यादा सुरक्षित होती है.
Cloud Shell में, रीजनल क्लाउड राऊटर बनाएं.
gcloud compute routers create cloud-router-us-central1 --network securevertex-vpc --region us-central1
Cloud Shell के अंदर, रीजनल क्लाउड नैट गेटवे बनाएं.
gcloud compute routers nats create cloud-nat-us-central1 --router=cloud-router-us-central1 --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1
6. स्टोरेज बकेट बनाना
स्टोरेज बकेट में, सुरक्षित तरीके से फ़ाइल अपलोड करने या वापस पाने की सुविधा मिलती है. ट्यूटोरियल में, क्लाउड स्टोरेज में एक पोस्ट स्टार्टअप स्क्रिप्ट दी गई होगी. इसकी मदद से, उपयोगकर्ता की ओर से मैनेज किए जाने वाले नोटबुक में जनरेटिव एआई पैकेज इंस्टॉल किए जा सकेंगे.
Cloud Storage बकेट बनाएं और BUCKET_NAME को अपनी पसंद के मुताबिक, दुनिया भर में इस्तेमाल होने वाले यूनीक नाम से बदलें.
Cloud Shell के अंदर, एक यूनीक स्टोरेज बकेट बनाएं.
gsutil mb -l us-central1 -b on gs://BUCKET_NAME
‘BUCKET_NAME' स्टोर करें लैब की अवधि के लिए
BUCKET_NAME=YOUR BUCKET NAME
echo $BUCKET_NAME
7. पोस्ट स्टार्टअप स्क्रिप्ट बनाएं
जनरेटिव एआई पैकेज को डाउनलोड करने की सुविधा चालू करने के लिए, vi या नैनो एडिटर का इस्तेमाल करके क्लाउड शेल में पोस्ट-स्टार्टअप स्क्रिप्ट बनाएं. इसके बाद, इसे poststartup.sh के तौर पर सेव करें.
#! /bin/bash
echo "Current user: id" >> /tmp/notebook_config.log 2>&1
echo "Changing dir to /home/jupyter" >> /tmp/notebook_config.log 2>&1
cd /home/jupyter
echo "Cloning generative-ai from github" >> /tmp/notebook_config.log 2>&1
su - jupyter -c "git clone https://github.com/GoogleCloudPlatform/generative-ai.git" >> /tmp/notebook_config.log 2>&1
echo "Current user: id" >> /tmp/notebook_config.log 2>&1
echo "Installing python packages" >> /tmp/notebook_config.log 2&1
su - jupyter -c "pip install --upgrade --no-warn-conflicts --no-warn-script-location --user \
google-cloud-bigquery \
google-cloud-pipeline-components \
google-cloud-aiplatform \
seaborn \
kfp" >> /tmp/notebook_config.log 2>&1
उदाहरण:
vpc_admin@cloudshell$ more poststartup.sh
#! /bin/bash
echo "Current user: id" >> /tmp/notebook_config.log 2>&1
echo "Changing dir to /home/jupyter" >> /tmp/notebook_config.log 2>&1
cd /home/jupyter
echo "Cloning generative-ai from github" >> /tmp/notebook_config.log 2>&1
su - jupyter -c "git clone https://github.com/GoogleCloudPlatform/generative-ai.git" >> /tmp/notebook_config.log 2>&1
echo "Current user: id" >> /tmp/notebook_config.log 2>&1
echo "Installing python packages" >> /tmp/notebook_config.log 2&1
su - jupyter -c "pip install --upgrade --no-warn-conflicts --no-warn-script-location --user \
google-cloud-bigquery \
google-cloud-pipeline-components \
google-cloud-aiplatform \
seaborn \
kfp" >> /tmp/notebook_config.log 2>&1
gsutil का इस्तेमाल करके, क्लाउड शेल से अपने स्टोरेज बकेट में पोस्ट स्टार्टअप स्क्रिप्ट अपलोड करें
gsutil cp poststartup.sh gs://$BUCKET_NAME
8. सेवा खाता बनाना
उपयोगकर्ता की ओर से मैनेज की जाने वाली notebook पर बेहतर कंट्रोल देने के लिए, सेवा खाता ज़रूरी है. जनरेट होने के बाद, सेवा खाते की अनुमतियों में, कारोबार की ज़रूरी शर्तों के आधार पर बदलाव किया जा सकता है. ट्यूटोरियल में, सेवा खाते पर ये नियम लागू होंगे:
आगे बढ़ने से पहले, आपको सेवा खाता एपीआई को करना होगा.
Cloud Shell में, सेवा खाता बनाएं.
gcloud iam service-accounts create user-managed-notebook-sa \
--display-name="user-managed-notebook-sa"
Cloud Shell में, सेवा खाते को स्टोरेज ऑब्जेक्ट व्यूअर की भूमिका के साथ अपडेट करें
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/storage.objectViewer"
Cloud Shell में, सेवा खाते को Vertex AI User की भूमिका के साथ अपडेट करें
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/aiplatform.user"
Cloud Shell में, सेवा खाते की सूची बनाएं और वह ईमेल पता नोट करें जिसका इस्तेमाल, उपयोगकर्ता से मैनेज की जाने वाली नोटबुक को बनाते समय किया जाएगा.
gcloud iam service-accounts list
उदाहरण:
$ gcloud iam service-accounts list
DISPLAY NAME: user-managed-notebook-sa
EMAIL: user-managed-notebook-sa@my-project-id.iam.gserviceaccount.com
DISABLED: False
9. उपयोगकर्ता की मदद से मैनेज की जाने वाली एक सुरक्षित नोटबुक बनाएं
उपयोगकर्ता से मैनेज की जाने वाली नोटबुक का इंस्टेंस, डीप लर्निंग वर्चुअल मशीन इंस्टेंस है. इसमें मशीन लर्निंग और डेटा साइंस की लाइब्रेरी पहले से इंस्टॉल होती हैं. हार्डवेयर से तेज़ी लाने के लिए, आपके पास Nvidia जीपीयू को शामिल करने का विकल्प होता है.
उपभोक्ता एपीआई चालू करें
उपयोगकर्ता के ज़रिए मैनेज की जाने वाली नोटबुक बनाना
- Workbench पर जाएं
- उपयोगकर्ता की ओर से मैनेज की जाने वाली नोटबुक चुनें. इसके बाद, नोटबुक बनाएं चुनें. 'उपयोगकर्ता प्रबंधित नोटबुक बनाएं' पेज खुलता है.
- अगर कोई मौजूदा नोटबुक डिप्लॉय की गई है, तो उपयोगकर्ता की मदद से मैनेज की जा रही नोटबुक → नई नोटबुक → पसंद के मुताबिक बनाएं चुनें
- उपयोगकर्ता द्वारा प्रबंधित नोटबुक बनाएं पृष्ठ पर, विवरण अनुभाग में, अपने नए इंस्टेंस के लिए निम्न जानकारी प्रदान करें:
- नाम: अपने नए इंस्टेंस को कोई नाम दें.
- इलाका और ज़ोन: ट्यूटोरियल, इलाके us-central1 और ज़ोन us-central1-a का इस्तेमाल करेगा
जारी रखें को चुनें
- परिवेश सेक्शन में, यह जानकारी दें:
- ऑपरेटिंग सिस्टम: वह ऑपरेटिंग सिस्टम चुनें जिसका आपको इस्तेमाल करना है.
- वह एनवायरमेंट चुनें जिसका इस्तेमाल करना है.
- वर्शन: वह वर्शन चुनें जिसका आपको इस्तेमाल करना है.
- पोस्ट-स्टार्टअप स्क्रिप्ट (ज़रूरी नहीं है, पहले बनाई गई जनरेटिव एआई स्क्रिप्ट का इस्तेमाल करें) पर क्लिक करें. इंस्टेंस शुरू होने के बाद चलाने के लिए स्क्रिप्ट चुनने के लिए, 'ब्राउज़ करें' चुनें.
- मेटाडेटा: ज़रूरी नहीं: इंस्टेंस के लिए कस्टम मेटाडेटा कुंजियां उपलब्ध कराएं.
जारी रखें को चुनें
- मशीन टाइप सेक्शन में, यह जानकारी दें:
- मशीन का टाइप: अपने नए इंस्टेंस के लिए, सीपीयू की संख्या और रैम की मात्रा चुनें. Vertex AI Workbench की मदद से, आपकी चुनी गई हर मशीन टाइप के लिए, हर महीने की अनुमानित लागत की जानकारी मिलती है.
- जीपीयू का टाइप: अपने नए इंस्टेंस के लिए, जीपीयू का टाइप और जीपीयू की संख्या चुनें. अलग-अलग जीपीयू के बारे में जानकारी पाने के लिए, Compute Engine पर GPU देखें.
- 'मेरे लिए अपने-आप NVIDIA जीपीयू ड्राइवर इंस्टॉल करें' चेकबॉक्स चुनें.
Shielded VM
- सिक्योर बूट प्रोटोकॉल को चालू करना
- vTPM चालू करें
- पूरी सुरक्षा देने की सुविधा चालू करें
जारी रखें को चुनें
- डिस्क सेक्शन में, यह जानकारी दें:
- डिस्क: ज़रूरी नहीं: बूट या डेटा डिस्क की डिफ़ॉल्ट सेटिंग बदलने के लिए, बूट डिस्क का टाइप, जीबी में बूट डिस्क का साइज़, डेटा डिस्क का टाइप, और जीबी में मौजूद डेटा डिस्क का साइज़ चुनें. डिस्क के टाइप के बारे में ज़्यादा जानने के लिए, स्टोरेज के विकल्प देखें.
- ट्रैश में हटाएं: वैकल्पिक: ऑपरेटिंग सिस्टम के डिफ़ॉल्ट ट्रैश व्यवहार का उपयोग करने के लिए इस चेकबॉक्स को चुनें, यदि आप डिफ़ॉल्ट ट्रैश व्यवहार का उपयोग करते हैं, तो JupyterLab उपयोगकर्ता इंटरफ़ेस का उपयोग करके हटाई गई फ़ाइलों को रिकवर किया जा सकता है, लेकिन ये हटाई गई फ़ाइलें डिस्क स्पेस का उपयोग करती हैं.
- बैकअप: ज़रूरी नहीं: अपने इंस्टेंस की डेटा डिस्क के साथ Cloud Storage की जगह को सिंक करने के लिए, 'ब्राउज़ करें' को चुनें और Cloud Storage की जगह की जानकारी दें. स्टोरेज के खर्च के बारे में जानने के लिए, Cloud Storage की कीमतें देखें.
- एन्क्रिप्ट (सुरक्षित) करने का तरीका: एन्क्रिप्ट (सुरक्षित) करने की वह कुंजी जिसे Google मैनेज करता है
जारी रखें को चुनें
- नेटवर्किंग सेक्शन में, यह जानकारी दें:
- नेटवर्किंग: इस प्रोजेक्ट में नेटवर्क या मेरे साथ शेयर किए गए नेटवर्क चुनें. अगर होस्ट प्रोजेक्ट में शेयर किए गए VPC का इस्तेमाल किया जा रहा है, तो आपको सेवा प्रोजेक्ट से Notebooks Service Agent को Compute Network के उपयोगकर्ता की भूमिका (roles/compute.networkUser) की अनुमति भी देनी होगी.
- नेटवर्क फ़ील्ड में, अपनी पसंद का नेटवर्क चुनें. ट्यूटोरियल में नेटवर्क, secureversionex-vpc का इस्तेमाल किया जा रहा है. VPC नेटवर्क को तब ही चुना जा सकता है, जब उस नेटवर्क पर निजी Google ऐक्सेस चालू हो या उसके पास इंटरनेट का ऐक्सेस हो. Subnetwork फ़ील्ड में, अपनी पसंद का सबनेटवर्क चुनें. ट्यूटोरियल में, सबनेटवर्क securevertex-subnet-a का इस्तेमाल किया जाता है.
- असाइन किए गए बाहरी आईपी पते से, चुने हुए का निशान हटाएं
- प्रॉक्सी ऐक्सेस की अनुमति दें चुनें
जारी रखें को चुनें
- आईएएम और सुरक्षा सेक्शन में, यह जानकारी दें:
- एक उपयोगकर्ता चुनें. इसके बाद, उपयोगकर्ता के ईमेल फ़ील्ड में, उस उपयोगकर्ता खाते का नाम डालें जिसे आपको ऐक्सेस देना है. अगर बताया गया उपयोगकर्ता, इंस्टेंस का क्रिएटर नहीं है, तो आपको उस उपयोगकर्ता को इंस्टेंस के सेवा खाते के लिए, सेवा खाते के उपयोगकर्ता की भूमिका (roles/iam.serviceAccountUser) देनी होगी.
- Google Cloud API को कॉल करने के लिए, वीएम पर डिफ़ॉल्ट Compute Engine सेवा खाते का इस्तेमाल करने से चुने हुए का निशान हटाएं
- नया सेवा खाते का ईमेल पता डालें. उदाहरण के लिए: user-managed-notebook-sa@my-project-id.iam.gserviceaccount.com
सुरक्षा के विकल्प
- इंस्टेंस का रूट ऐक्सेस चालू करने के लिए, चुने हुए का निशान हटाएं
- nbconvert चालू करें से चुने हुए का निशान हटाएं
- JupyterLab यूज़र इंटरफ़ेस (यूआई) से फ़ाइल डाउनलोड करने की सुविधा चालू करें से चुने हुए का निशान हटाएं
- टर्मिनल को चालू करें (प्रोडक्शन एनवायरमेंट से चुने हुए का निशान हटाएं)
जारी रखें को चुनें
- सिस्टम हेल्थ सेक्शन में, यह जानकारी दें
एनवायरमेंट अपग्रेड और सिस्टम हेल्थ
- 'एनवायरमेंट के लिए अपने-आप अपग्रेड होने की सुविधा चालू करें' चेकबॉक्स चुनें.
- चुनें कि अपनी नोटबुक को हर हफ़्ते अपग्रेड करना है या हर महीने.
'सिस्टम की परफ़ॉर्मेंस और रिपोर्टिंग' में जाकर, इन चेकबॉक्स को चुनें या हटाएं:
- सिस्टम हेल्थ रिपोर्ट चालू करें
- क्लाउड मॉनिटरिंग को कस्टम मेट्रिक की रिपोर्ट करना
- क्लाउड मॉनिटरिंग एजेंट इंस्टॉल करें
बनाएं को चुनें.
10. पुष्टि
Vertex AI Workbench, आपकी बताई गई प्रॉपर्टी के आधार पर, उपयोगकर्ता से मैनेज किए जाने वाले नोटबुक इंस्टेंस बनाता है और अपने-आप इंस्टेंस शुरू करता है. जब इंस्टेंस इस्तेमाल के लिए तैयार हो जाता है, तब Vertex AI Workbench एक Open JupyterLab लिंक को चालू करता है जो असली उपयोगकर्ता को notebook का ऐक्सेस देता है.
11. निगरानी करने की क्षमता
मॉनिटरिंग की सुविधा की मदद से, सिस्टम और ऐप्लिकेशन की मेट्रिक पर नज़र रखें
अगर मैनेज की जा रही नोटबुक के इंस्टेंस में निगरानी की सुविधा इंस्टॉल है, तो सिस्टम और ऐप्लिकेशन की मेट्रिक को मॉनिटर किया जा सकता है. इसके लिए, Google Cloud Console का इस्तेमाल करें:
- Google Cloud Console में, उपयोगकर्ता की ओर से मैनेज की जाने वाली नोटबुक पेज पर जाएं.
- उस इंस्टेंस के नाम पर क्लिक करें जिसकी सिस्टम और ऐप्लिकेशन मेट्रिक आपको देखनी हैं.
- नोटबुक की जानकारी वाले पेज पर, मॉनिटरिंग टैब पर क्लिक करें. अपने इंस्टेंस के लिए, सिस्टम और ऐप्लिकेशन की मेट्रिक देखें.
12. Notebook का शेड्यूल बनाएं
इंस्टेंस शेड्यूल की मदद से, वर्चुअल मशीन (वीएम) के इंस्टेंस अपने-आप चालू और बंद होते हैं. वीएम इंस्टेंस को अपने-आप डिप्लॉय करने के लिए, इंस्टेंस शेड्यूल का इस्तेमाल करने से, लागत को ऑप्टिमाइज़ करने और वीएम इंस्टेंस को बेहतर तरीके से मैनेज करने में मदद मिल सकती है. बार-बार होने वाले और एक बार वाले वर्कलोड के लिए, इंस्टेंस शेड्यूल का इस्तेमाल किया जा सकता है. उदाहरण के लिए, काम के घंटों के दौरान वीएम इंस्टेंस चलाने के लिए, इंस्टेंस शेड्यूल का इस्तेमाल करें. इसके अलावा, एक बार वाले इवेंट के लिए क्षमता उपलब्ध कराने के लिए भी इंस्टेंस शेड्यूल का इस्तेमाल करें.
इंस्टेंस शेड्यूल का इस्तेमाल करने के लिए, शुरू और बंद होने के व्यवहार की जानकारी देने वाली संसाधन नीति बनाएं. इसके बाद, इस नीति को एक या एक से ज़्यादा वीएम इंस्टेंस से अटैच करें.
ट्यूटोरियल में, इंस्टेंस शेड्यूल बनाने का तरीका बताया गया है. इससे आपकी नोटबुक सुबह 7 बजे चालू होगी और शाम 6 बजे बंद हो जाएगी.
इंस्टेंस शेड्यूल बनाने के लिए, आपको check.instances.start और Comp.instances.stop की अनुमति की ज़रूरत होगी. इसलिए, आपको एक कस्टम रोल चुनने का सुझाव दिया जाता है, जो एडमिन ने आपको बनाया है.
कस्टम भूमिका बनाने के बाद, आपके प्रोजेक्ट में डिफ़ॉल्ट Compute Engine सेवा खाते को असाइन कर दिया जाएगा. इससे, इंस्टेंस शेड्यूल को आपकी notebook को शुरू और बंद करने की अनुमति मिल जाएगी.
पसंद के मुताबिक भूमिका बनाना
Cloud Shell में, पसंद के मुताबिक भूमिका, VmScheduler बनाएं और ज़रूरी अनुमतियां शामिल करें.
gcloud iam roles create Vm_Scheduler --project=$projectid \
--title=vm-scheduler-notebooks \
--permissions="compute.instances.start,compute.instances.stop" --stage=ga
Cloud Shell से मिली कस्टम भूमिका के बारे में बताएं.
gcloud iam roles describe Vm_Scheduler --project=$projectid
उदाहरण:
$ gcloud iam roles describe Vm_Scheduler --project=$projectid
etag: BwX991B0_kg=
includedPermissions:
- compute.instances.start
- compute.instances.stop
name: projects/$projectid/roles/Vm_Scheduler
stage: GA
title: vm-scheduler-notebooks
डिफ़ॉल्ट सेवा खाते को अपडेट करना
नीचे दिए गए सेक्शन में, आपको इस फ़ॉर्मैट वाले डिफ़ॉल्ट सेवा खाते की पहचान करके उसे अपडेट करना होगा: PROJECT_NUMBER-compute@developer.gserviceaccount.com
Cloud Shell में, मौजूदा प्रोजेक्ट नंबर की पहचान करें.
gcloud projects list --filter=$projectid
Cloud Shell में, प्रोजेक्ट नंबर को वैरिएबल के तौर पर सेव करें.
project_number=your_project_number
echo $project_number
Cloud Shell में, कंप्यूट सेवा खाते को पसंद के मुताबिक बनाई गई भूमिका VM_Scheduler के साथ अपडेट करें.
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:$project_number-compute@developer.gserviceaccount.com" --role="projects/$projectid/roles/Vm_Scheduler"
इंस्टेंस शेड्यूल बनाना
Cloud Shell में, शुरू और रोकने का शेड्यूल बनाएं.
gcloud compute resource-policies create instance-schedule optimize-notebooks \
--region=us-central1 \
--vm-start-schedule='0 7 * * *' \
--vm-stop-schedule='0 18 * * *' \
--timezone=America/Chicago
Cloud Shell में, अपनी नोटबुक के नाम का नाम सेव करें.
gcloud compute instances list
notebook_vm=your_notebookvm_name
echo $notebook_vm
किसी भी मौजूदा वीएम इंस्टेंस में इंस्टेंस शेड्यूल अटैच किया जा सकता है. यह इंस्टेंस उसी क्षेत्र में मौजूद होता है जहां इंस्टेंस शेड्यूल मौजूद है.
Cloud Shell में, शेड्यूल को अपनी नोटबुक के साथ जोड़ें.
gcloud compute instances add-resource-policies $notebook_vm \
--resource-policies=optimize-notebooks \
--zone=us-central1-a
13. व्यवस्थित करें
कंसोल से, उपयोगकर्ता की मदद से मैनेज की जाने वाली नोटबुक को मिटाएं. इसके बाद, Vertex AI → Workbench पर जाएं, फिर नोटबुक को चुनें और मिटाएं.
Cloud Shell से, VPC कॉम्पोनेंट मिटाएं.
gcloud compute routers delete cloud-router-us-central1 --region=us-central1 --quiet
gcloud compute routers nats delete cloud-nat-us-central1 --region=us-central1 --router=cloud-router-us-central1 --quiet
gcloud compute instances remove-resource-policies $notebook_vm \
--resource-policies=optimize-notebooks \
--zone=us-central1-a --quiet
gcloud compute resource-policies delete optimize-notebooks --region=us-central1 --quiet
gcloud compute instances delete $notebook_vm --zone=us-central1-a --quiet
gcloud compute networks subnets delete securevertex-subnet-a --region=us-central1 --quiet
gcloud iam service-accounts delete user-managed-notebook-sa@$projectid.iam.gserviceaccount.com --quiet
gcloud projects remove-iam-policy-binding $projectid --member="serviceAccount:$project_number-compute@developer.gserviceaccount.com" --role="projects/$projectid/roles/Vm_Scheduler"
gcloud iam roles delete Vm_Scheduler --project=$projectid
gcloud compute networks delete securevertex-vpc --quiet
14. बधाई हो
बहुत खूब! आपने कस्टम स्टैंडअलोन VPC बनाकर, उपयोगकर्ता की ओर से मैनेज की जाने वाली सुरक्षित नोटबुक को कॉन्फ़िगर कर लिया है और उसकी पुष्टि कर ली है. इसके लिए, मैनेज की जा रही नोटबुक के लिए, सुरक्षा से जुड़े सबसे सही तरीकों का इस्तेमाल किया है. साथ ही, खर्च को ऑप्टिमाइज़ करने के लिए इंस्टेंस शेड्यूल लागू किया है.
आगे क्या होगा?
इनमें से कुछ ट्यूटोरियल देखें...
- Vertex Pipelines के बारे में जानकारी
- मैनेज किए जा रहे डेटासेट की मदद से, ज़रूरत के मुताबिक ट्रेनिंग जॉब और अनुमान लगाना
आगे पढ़ें और वीडियो
- मशीन लर्निंग के लिए, Notebook का इस्तेमाल शुरू करना
- Vertex AI का इस्तेमाल शुरू करना
- जनरेटिव एआई के बारे में जानकारी
पहचान फ़ाइलें
- Vertex AI Workbench के बारे में शुरुआती जानकारी
- उपयोगकर्ता मैनेज की जा रही नोटबुक के बारे में जानकारी
- सेवा पेरीमीटर में उपयोगकर्ता से मैनेज किए जाने वाले नोटबुक इंस्टेंस का इस्तेमाल करें
- सेवा खाता बनाएं
- वीएम इंस्टेंस को चालू और बंद करने के लिए शेड्यूल करना