ينشئ Vertex AI دفتر ملاحظات آمنًا يديره المستخدم

1. مقدمة

تتيح لك مثيلات أجهزة الكمبيوتر الدفترية المُدارة من قِبل المستخدمين في Vertex AI Workbench إنشاء مثيلات أجهزة افتراضية (VM) للتعلّم العميق وإدارتها، وهي مجمّعة مسبقًا مع JupyterLab.

تتضمّن مثيلات دفاتر الملاحظات التي يديرها المستخدمون مجموعة من حِزم التعلّم العميق المثبّتة مسبقًا، بما في ذلك التوافق مع أُطر عمل TensorFlow وPyTorch. يمكنك ضبط مثيلات تستخدم وحدة المعالجة المركزية فقط أو مثيلات تستخدم وحدة معالجة الرسومات.

ما ستنشئه

يشرح هذا البرنامج التعليمي عملية نشر دفتر ملاحظات آمن يديره المستخدم استنادًا إلى أفضل الممارسات من "الشبكات والأمان". تتضمّن العملية الخطوات التالية:

  1. إنشاء شبكة VPC
  2. إنشاء Cloud Router وCloud NAT
  3. ضبط مثيل دفتر الملاحظات باستخدام إعدادات الأمان المناسبة

يقدّم هذا الدليل التوجيهي تعليمات مفصّلة لكل خطوة. ويتضمّن أيضًا نصائح وأفضل الممارسات لتأمين دفاتر الملاحظات التي يديرها المستخدم. الشكل 1 هو رسم توضيحي لعملية النشر باستخدام شبكة VPC مستقلة.

الشكل 1

2292244ba0b11f71.png

ما ستتعلمه

  • كيفية تحديد ما إذا كانت شبكة VPC مشتركة أو مستقلة مناسبة لمؤسستك
  • كيفية إنشاء شبكة VPC مستقلة
  • كيفية إنشاء Cloud Router وCloud NAT
  • كيفية إنشاء دفتر ملاحظات يديره المستخدم
  • كيفية الوصول إلى دفتر ملاحظات يديره المستخدم
  • كيفية مراقبة حالة دفاتر الملاحظات التي يديرها المستخدم
  • كيفية إنشاء جدول مواعيد مثيل وتطبيقه

المتطلبات

  • مشروع Google Cloud

أذونات "إدارة الهوية وإمكانية الوصول"

2. شبكة VPC

يمكنك التفكير في شبكة VPC بالطريقة نفسها التي تفكّر بها في الشبكة الفعلية، باستثناء أنّها تتم محاكاتها داخل Google Cloud. شبكة السحابة الافتراضية الخاصة (VPC) هي مورد عالمي يتألف من شبكات فرعية إقليمية. يتم عزل شبكات السحابة الافتراضية الخاصة (VPC) منطقيًا عن بعضها البعض في Google Cloud.

شبكة VPC مستقلة

الشكل 2 هو مثال على شبكة VPC عالمية مستقلة تتألف من شبكة فرعية إقليمية (us-central1) بالإضافة إلى Cloud Router وCloud NAT المستخدَمة للسماح لخدمة "دفاتر ملاحظات يديرها المستخدم" بإنشاء اتصال آمن بالإنترنت.

الشكل 2

2292244ba0b11f71.png

شبكة VPC المشتركة

تتيح لك شبكة VPC المشتركة تصدير الشبكات الفرعية من شبكة VPC في مشروع مضيف إلى مشاريع الخدمة في المؤسسة نفسها. يحتوي المشروع المضيف على موارد الشبكة التي تتم مشاركتها مع مشروع الخدمة، مثل الشبكات الفرعية وCloud NAT وقواعد جدار الحماية. يحتوي مشروع الخدمة على موارد على مستوى التطبيق تستفيد من موارد الشبكات في المشروع المضيف.

الشكل 3 هو رسم توضيحي لشبكة VPC مشتركة عالمية، يتم فيه نشر البنية الأساسية للشبكات والأمان في مشروع المضيف، بينما يتم نشر أحمال العمل في مشروع الخدمة.

الشكل 3

1354a9323c8e5787.png

شبكة VPC المستقلة مقابل شبكة VPC المشتركة

تكفي شبكة VPC واحدة للعديد من حالات الاستخدام البسيطة، لأنّها أسهل في الإنشاء والصيانة والفهم من البدائل الأكثر تعقيدًا. تُعدّ شبكة VPC المشتركة أداة فعّالة للمؤسسات التي تضمّ فِرقًا متعددة، لأنّها تتيح لها توسيع نطاق البنية الأساسية البسيطة لشبكة VPC واحدة لتشمل عدة مجموعات عمل من خلال استخدام مشاريع الخدمات.

أفضل ممارسات VPC المستخدَمة في البرنامج التعليمي

  • فعِّل Cloud NAT للوصول إلى دفتر الملاحظات.
  • فعِّل الوصول الخاص إلى Google عند إنشاء الشبكات الفرعية.
  • أنشئ قواعد جدار حماية إرشادية للحدّ من حركة الزيارات غير المرغوب فيها، على سبيل المثال، لا تستخدم 0.0.0.0/0 tcp، بل حدِّد الشبكات الفرعية أو عناوين IP الخاصة بالمضيفين.
  • استخدِم سياسات جدار الحماية لتوسيع نطاق قواعد الدخول، مثل المواقع الجغرافية وقوائم معلومات التهديدات وأسماء نطاقات المصدر وما إلى ذلك.

3- أفضل الممارسات المتعلّقة بدفاتر الملاحظات

تحديد الحجم المناسب للأجهزة الافتراضية

  • إيقاف و/أو حذف المثيلات غير المستخدَمة
  • استخدام نسخة أولية أصغر وتكرارها مع بيانات نموذجية أصغر
  • توسيع نطاق الآلات الافتراضية حسب الحاجة
  • تجربة مجموعات بيانات أصغر

اختيار أنواع الآلات المناسبة

  • الأجهزة الافتراضية المحسَّنة من حيث التكلفة
  • الاستفادة بشكل أفضل من موارد الأجهزة لخفض التكاليف
  • توفير يصل إلى% 31 مقارنةً بآلة N1
  • توفير مبالغ إضافية (من %20 إلى %50) عند الالتزام بعقد لمدة عام واحد أو 3 أعوام
  • يمكن أن يساعد زيادة حجم الجهاز أو إضافة وحدات معالجة الرسومات في تحسين الأداء والتغلّب على أخطاء قيود الذاكرة.

جدولة إيقاف الأجهزة الافتراضية

  • إيقاف المثيلات عندما تكون غير نشطة (الدفع مقابل مساحة تخزين القرص فقط)
  • جدولة إيقاف وتشغيل آلات Notebook الافتراضية تلقائيًا في ساعات محدّدة

مراقبة حالة سلامة أجهزة الكمبيوتر المحمول

  • تحتوي مثيلات دفاتر ملاحظات يديرها المستخدم على أداة تشخيص مدمجة يمكن أن تساعدك في مراقبة حالة مثيلاتك.

اعتبارات الأمان

في ما يلي اعتبارات الأمان المقترَحة عند إنشاء دفتر ملاحظات يديره المستخدم:

  • اختَر خيار الوصول إلى دفتر الملاحظات "للمستخدم الفردي فقط". إذا لم يكن المستخدم المحدّد هو من أنشأ المثيل، يجب منحه دور "مستخدم حساب الخدمة" (roles/iam.serviceAccountUser) في حساب خدمة المثيل.
  • أوقِف الخيارات التالية:
  • إذن الوصول إلى الجذر
  • nbconvert
  • تنزيل الملفات من واجهة مستخدم JupyterLab
  • سيتم استخدام Cloud NAT بدلاً من تعيين عنوان IP خارجي لدفتر الملاحظات المُدار من قِبل المستخدم.
  • حدِّد خيارات الحوسبة التالية:
  • بروتوكول التشغيل الآمن
  • وحدة النظام الأساسي الموثوقة الافتراضية (vTPM)
  • مراقبة السلامة

4. قبل البدء

تعديل المشروع ليتوافق مع البرنامج التعليمي

يستفيد هذا البرنامج التعليمي من $variables للمساعدة في تنفيذ عملية إعداد gcloud في Cloud Shell.

داخل 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

إنشاء الشبكة الفرعية لدفتر الملاحظات المُدارة من قِبل المستخدم

داخل 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 Router وNAT

يتم استخدام Cloud NAT في البرنامج التعليمي لتنزيل حِزم برامج دفتر الملاحظات لأنّ مثيل دفتر الملاحظات المُدار من قِبل المستخدم لا يتضمّن عنوان IP خارجيًا. توفّر خدمة Cloud NAT أيضًا إمكانات NAT للخروج، ما يعني أنّه لا يُسمح لمضيفي الإنترنت ببدء التواصل مع دفتر ملاحظات يديره المستخدم، ما يجعلها أكثر أمانًا.

داخل Cloud Shell، أنشئ موجّه السحابة الإقليمي.

gcloud compute routers create cloud-router-us-central1 --network securevertex-vpc --region us-central1

داخل Cloud Shell، أنشئ بوابة NAT إقليمية على السحابة الإلكترونية.

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. إنشاء نص برمجي لتشغيل المشاركة

لتفعيل تنزيل حِزم الذكاء الاصطناعي التوليدي، أنشئ نصًا برمجيًا بعد بدء التشغيل في Cloud Shell باستخدام vi أو nano editor واحفظه باسم 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

تحميل البرنامج النصي لما بعد بدء التشغيل إلى حزمة التخزين من Cloud Shell باستخدام gsutil

gsutil cp poststartup.sh gs://$BUCKET_NAME

8. إنشاء حساب خدمة

لإتاحة مستوى دقيق من التحكّم في دفتر الملاحظات المُدار من قِبل المستخدم، يجب توفير حساب خدمة. بعد إنشاء أذونات حساب الخدمة، يمكن تعديلها استنادًا إلى متطلبات النشاط التجاري. في البرنامج التعليمي، سيتم تطبيق القواعد التالية على حساب الخدمة:

يجب واجهة برمجة التطبيقات لحساب الخدمة قبل المتابعة.

داخل Cloud Shell، أنشئ حساب الخدمة.

gcloud iam service-accounts create user-managed-notebook-sa \
    --display-name="user-managed-notebook-sa"

في Cloud Shell، عدِّل حساب الخدمة باستخدام دور "مشاهد عناصر Storage".

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".

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 لتسريع الأجهزة.

تفعيل واجهات برمجة التطبيقات المخصّصة للمستهلكين

واجهة برمجة التطبيقات Notebooks API

إنشاء دفتر ملاحظات يديره المستخدم

  1. انتقِل إلى مساحة العمل
  2. اختَر "دفاتر الملاحظات التي يديرها المستخدم"، ثمّ اختَر "إنشاء دفتر ملاحظات". يتم فتح صفحة "إنشاء دفتر ملاحظات يديره المستخدم".
  3. في حال نشر دفتر ملاحظات حالي، اختَر "دفاتر ملاحظات يديرها المستخدم" (User-Managed Notebooks) → "دفتر ملاحظات جديد" (New Notebook) → "تخصيص" (Customize).
  4. في صفحة "إنشاء دفتر ملاحظات يديره المستخدم"، ضمن قسم "التفاصيل"، قدِّم المعلومات التالية عن مثيلك الجديد:
  • الاسم: أدخِل اسمًا لآلتك الافتراضية الجديدة.
  • المنطقة والنطاق: سيستخدم البرنامج التعليمي المنطقة us-central1 والنطاق us-central1-a

انقر على متابعة

  1. في قسم البيئة، أدخِل ما يلي:
  • نظام التشغيل: اختَر نظام التشغيل الذي تريد استخدامه.
  • اختَر البيئة التي تريد استخدامها.
  • الإصدار: اختَر الإصدار الذي تريد استخدامه.
  • نص برمجي بعد بدء التشغيل (اختياري، استخدِم النص البرمجي الذي تم إنشاؤه سابقًا باستخدام الذكاء الاصطناعي التوليدي): انقر على "تصفّح" لاختيار نص برمجي لتشغيله بعد بدء تشغيل الجهاز الظاهري.
  • البيانات الوصفية: اختيارية: أدخِل مفاتيح البيانات الوصفية المخصّصة للمثيل.

انقر على متابعة

  1. في قسم "نوع الجهاز"، قدِّم ما يلي:
  • نوع الآلة الافتراضية: اختَر عدد وحدات المعالجة المركزية (CPU) وحجم ذاكرة الوصول العشوائي (RAM) للمثيل الجديد. تقدّم Vertex AI Workbench تقديرات التكلفة الشهرية لكل نوع من أنواع الآلات التي تختارها.
  • نوع وحدة معالجة الرسومات: اختَر نوع وحدة معالجة الرسومات وعدد وحدات معالجة الرسومات للمثيل الجديد. للحصول على معلومات عن وحدات معالجة الرسومات المختلفة، راجِع وحدات معالجة الرسومات على Compute Engine.
  • ضَع علامة في مربّع الاختيار "تثبيت برنامج تشغيل وحدة معالجة الرسومات NVIDIA GPU تلقائيًا نيابةً عني".

Shielded VM

  • تفعيل ميزة "التشغيل الآمن"
  • تفعيل vTPM
  • تفعيل ميزة "مراقبة السلامة"

انقر على متابعة

  1. في قسم "الأقراص" (Disks)، قدِّم ما يلي:
  • الأقراص: اختياري: لتغيير إعدادات قرص التشغيل أو قرص البيانات التلقائية، اختَر "نوع قرص التشغيل" و"حجم قرص التشغيل" بالغيغابايت و"نوع قرص البيانات" و"حجم قرص البيانات" بالغيغابايت الذي تريده. لمزيد من المعلومات حول أنواع الأقراص، يُرجى الاطّلاع على خيارات التخزين.
  • الحذف إلى سلة المهملات: اختياري: ضَع علامة في مربّع الاختيار هذا لاستخدام سلوك سلة المهملات التلقائي لنظام التشغيل. وفي حال استخدام سلوك سلة المهملات التلقائي، يمكن استرداد الملفات المحذوفة باستخدام واجهة مستخدم JupyterLab، ولكن هذه الملفات المحذوفة تستخدم مساحة على القرص.
  • النسخ الاحتياطي: اختياري: لمزامنة موقع Cloud Storage مع قرص البيانات الخاص بالجهاز الافتراضي، انقر على "تصفّح" وحدِّد موقع Cloud Storage. لمعرفة المزيد عن تكاليف التخزين، اطّلِع على أسعار Cloud Storage.
  • التشفير: مفتاح تشفير تديره Google

انقر على متابعة

  1. في قسم "الشبكات" (Networking)، قدِّم ما يلي:
  • الربط بالشبكة: اختَر "الشبكات في هذا المشروع" أو "الشبكات التي تمت مشاركتها معي". في حال استخدام شبكة VPC مشتركة في المشروع المضيف، يجب أيضًا منح دور "مستخدم شبكة Compute" (roles/compute.networkUser) إلى وكيل خدمة Notebooks من مشروع الخدمة.
  • في حقل "الشبكة"، اختَر الشبكة التي تريدها. يستخدِم البرنامج التعليمي الشبكة securevertex-vpc. يمكنك اختيار شبكة VPC، طالما أنّ ميزة الوصول الخاص إلى Google مفعّلة في الشبكة أو يمكنها الوصول إلى الإنترنت. في حقل "الشبكة الفرعية"، اختَر الشبكة الفرعية التي تريدها. في البرنامج التعليمي، يتم استخدام الشبكة الفرعية securevertex-subnet-a.
  • إلغاء اختيار "تحديد عنوان IP خارجي"
  • اختَر "السماح بالوصول عبر خادم وكيل".

انقر على متابعة

81bb7dbe31fbf587.png

  1. في قسم "إدارة الهوية وإمكانية الوصول" (IAM) والأمان، أدخِل ما يلي:
  • اختَر مستخدم واحد، ثم أدخِل في حقل "البريد الإلكتروني للمستخدم" حساب المستخدم الذي تريد منحه إذن الوصول. إذا لم يكن المستخدم المحدّد هو من أنشأ المثيل، يجب منحه دور "مستخدم حساب الخدمة" (roles/iam.serviceAccountUser) في حساب خدمة المثيل.
  • ألغِ اختيار "استخدام حساب الخدمة التلقائي في Compute Engine على الجهاز الافتراضي لاستدعاء واجهات Google Cloud APIs"
  • أدخِل عنوان البريد الإلكتروني لحساب الخدمة الذي تم إنشاؤه حديثًا، على سبيل المثال: user-managed-notebook-sa@my-project-id.iam.gserviceaccount.com

خيارات الأمان

  • إلغاء اختيار "تفعيل إذن الوصول إلى الجذر" للمثيل
  • إلغاء اختيار "تفعيل nbconvert"
  • إلغاء اختيار "تفعيل تنزيل الملفات من واجهة مستخدم JupyterLab"
  • تفعيل المحطة الطرفية (إلغاء الاختيار لبيئات الإنتاج)

انقر على متابعة

e19f3cd05a2c1b7f.png

  1. في قسم "سلامة النظام" (System health)، قدِّم ما يلي:

ترقية البيئة وحالة النظام

  • ضَع علامة في مربّع الاختيار "تفعيل الترقية التلقائية للبيئة".
  • اختَر ما إذا كنت تريد ترقية دفتر ملاحظاتك أسبوعيًا أو شهريًا.

في "سلامة النظام وإعداد التقارير"، ضَع علامة في مربّعات الاختيار التالية أو أزِلها:

  • تفعيل تقرير حالة النظام
  • إعداد التقارير حول المقاييس المخصّصة في Cloud Monitoring
  • تثبيت وكيل Cloud Monitoring

انقر على إنشاء.

10. التحقّق من الصحة

تنشئ Vertex AI Workbench مثيلاً من أجهزة الكمبيوتر الدفترية المُدارة من قِبل المستخدم استنادًا إلى الخصائص التي تحدّدها، وتبدأ تشغيل المثيل تلقائيًا. عندما يصبح الجهاز الظاهري جاهزًا للاستخدام، يفعّل Vertex AI Workbench الرابط فتح JupyterLab الذي يتيح للمستخدم النهائي الوصول إلى دفتر الملاحظات.

11. إمكانية تتبّع البيانات

مراقبة مقاييس النظام والتطبيق من خلال Monitoring

بالنسبة إلى مثيلات دفاتر ملاحظات يديرها المستخدمون والتي تم فيها تثبيت خدمة المراقبة، يمكنك مراقبة مقاييس النظام والتطبيق باستخدام "وحدة تحكّم Google Cloud" باتّباع الخطوات التالية:

  1. في Google Cloud Console، انتقِل إلى صفحة دفاتر ملاحظات يديرها المستخدم.
  2. انقر على اسم الجهاز الظاهري الذي تريد عرض مقاييس النظام والتطبيق له.
  3. في صفحة تفاصيل دفتر الملاحظات، انقر على علامة التبويب "المراقبة". راجِع مقاييس النظام والتطبيق لمثيلك.

12. إنشاء جدول دفتر ملاحظات

تتيح لك جداول مثيلات الأجهزة الافتراضية بدء مثيلات الأجهزة الافتراضية وإيقافها تلقائيًا. يمكن أن يساعدك استخدام جداول المثيلات في تنفيذ عملية نشر مثيلات الأجهزة الافتراضية تلقائيًا على تحسين التكاليف وإدارة مثيلات الأجهزة الافتراضية بشكل أكثر فعالية. يمكنك استخدام جداول المثيلات لكلّ من أحمال العمل المتكرّرة وغير المتكرّرة. على سبيل المثال، استخدِم جداول المثيلات لتشغيل مثيلات الأجهزة الافتراضية خلال ساعات العمل فقط أو لتوفير سعة لحدث لمرة واحدة.

لاستخدام جداول المثيلات، أنشئ سياسة موارد توضّح سلوك البدء والإيقاف، ثم اربط السياسة بمثيل واحد أو أكثر من الأجهزة الافتراضية.

سيوضّح لك البرنامج التعليمي كيفية إنشاء جدول زمني للمثيل سيؤدي إلى تشغيل دفتر الملاحظات في الساعة 7 صباحًا وإيقافه في الساعة 6 مساءً.

لإنشاء جدول مثيل، يجب أن يكون لديك الإذن compute.instances.start وcompute.instances.stop، لذا يُنصح باستخدام دور مخصّص ينشئه المشرف ويمنحه لك.

بعد إنشاء الدور المخصّص، سيتمّ تعيينه إلى حساب خدمة Compute Engine التلقائي في مشروعك، ما سيسمح لجدول المثيل ببدء دفتر ملاحظاتك وإيقافه.

إنشاء دور مُخصَّص

داخل 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 مستقلة مخصّصة باستخدام أفضل ممارسات تعزيز الأمان لدفاتر الملاحظات المُدارة، كما نفّذت جدولاً زمنيًا للآلة الافتراضية من أجل تحسين الإنفاق.

ما هي الخطوات التالية؟

يمكنك الاطّلاع على بعض هذه البرامج التعليمية...

مزيد من المعلومات والفيديوهات

المستندات المرجعية