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

1. مقدمة

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

تحتوي مثيلات أوراق الملاحظات التي يديرها المستخدم على حزمة مثبَّتة مسبقًا من حزم التعلّم المعمّق، بما في ذلك دعم إطارَي العمل TensorFlow وPyTorch. يمكنك ضبط إما مثيلات وحدة المعالجة المركزية (CPU) فقط أو وحدة معالجة الرسومات (GPU).

ما الذي ستنشئه

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

  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 واحدة بين مجموعات عمل متعددة من خلال استخدام مشاريع الخدمة.

أفضل ممارسات VC المستخدَمة في الدليل التوجيهي

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

3- أفضل ممارسات ورقة الملاحظات

تحديد حجم المثيلات المناسبة

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

اختيار أنواع الأجهزة المناسبة

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

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

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

مراقبة حالة سلامة ورقة الملاحظات

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

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

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

  • تحديد خيار "مستخدم واحد فقط" الوصول إلى دفتر الملاحظات. إذا لم يكن المستخدم المحدّد هو منشئ المثيل، عليك منح المستخدم المحدّد دور مستخدم حساب الخدمة (roles/iam.serviceAccountUser) في حساب خدمة المثيل.
  • أوقِف الخيارات التالية:
  • الوصول إلى الجذر
  • nbconvert
  • ملف جارٍ تنزيله من واجهة مستخدم JupyterLab
  • سيتم استخدام ترجمة عنوان الشبكة بدلاً من تخصيص عنوان 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

يتم استخدام ترجمة عنوان الشبكة في السحابة الإلكترونية في البرنامج التعليمي لعمليات تنزيل حزمة برامج الكمبيوتر الدفتري لأنّ مثيل الدفتر الذي يديره المستخدم ليس له عنوان IP خارجي. توفّر ترجمة عنوان الشبكة في السحابة الإلكترونية أيضًا إمكانات ترجمة عنوان الشبكة (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 واحفظه باسم 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، يمكنك تعديل حساب الخدمة باستخدام الدور "عارض كائن التخزين".

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. انتقِل إلى Workbench
  2. اختَر دفاتر الملاحظات المُدارة من قِبل المستخدم، ثم اختَر "إنشاء دفتر ملاحظات". تفتح صفحة "إنشاء دفتر ملاحظات يديره المستخدم".
  3. إذا تم نشر دفتر ملاحظات حالي، عليك اختيار دفاتر الملاحظات المُدارة من قِبل المستخدم ← ورقة ملاحظات جديدة ← تخصيص.
  4. في صفحة "إنشاء دفتر ملاحظات يديره المستخدم"، في قسم "Details" (التفاصيل)، قدّم المعلومات التالية للمثيل الجديد:
  • الاسم: أدخِل اسمًا للمثيل الجديد.
  • المنطقة والمنطقة: سيستخدم البرنامج التعليمي المنطقة us-central1 والمنطقة us-central1-a.

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

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

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

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

Shielded VM

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

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

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

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

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

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

81bb7dbe31fbf587.png

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

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

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

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

e19f3cd05a2c1b7f.png

  1. في قسم "سلامة النظام"، أدخِل ما يلي:

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

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

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

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

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

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

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

11. الملاحظة

تتبُّع مقاييس النظام والتطبيق من خلال "المراقبة"

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

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

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

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

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

سيوضح لك البرنامج التعليمي كيفية إنشاء جدول زمني للمثيل من شأنه تشغيل دفتر الملاحظات في الساعة 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، يمكنك تعديل حساب خدمة Compute Engine التلقائي باستخدام الدور المخصّص، وهو 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

يمكنك إرفاق جدول زمني للمثيل بأي مثيل جهاز افتراضي (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 مستقلة مخصّصة باستخدام أفضل ممارسات تعزيز الأمان لأجهزة الكمبيوتر الدفترية المُدارة وتطبيق جدول زمني للمثيل من أجل تحسين الإنفاق.

الخطوات التالية

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

تعزيز القراءة الفيديوهات

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