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

مجوزهای IAM

2. شبکه VPC

شما می توانید به یک شبکه VPC مانند شبکه های فیزیکی فکر کنید، با این تفاوت که در Google Cloud مجازی سازی شده است. شبکه VPC یک منبع جهانی است که از زیرشبکه های منطقه ای تشکیل شده است. شبکه های VPC به طور منطقی در Google Cloud از یکدیگر جدا شده اند.

VPC مستقل

شکل 2 نمونه ای از یک VPC جهانی مستقل است که شامل یک زیرشبکه منطقه ای (us-central1) به اضافه Cloud Router و Cloud NAT است که به نوت بوک مدیریت شده توسط کاربر اجازه می دهد تا به طور ایمن اتصال به اینترنت را برقرار کند.

شکل 2

2292244ba0b11f71.png

VPC مشترک

VPC اشتراکی به شما امکان می‌دهد تا زیرشبکه‌ها را از یک شبکه VPC در یک پروژه میزبان به پروژه‌های همان سازمان صادر کنید. پروژه میزبان شامل منابع شبکه ای است که با پروژه خدمات مشترک است مانند زیرشبکه ها، nat ابری و قوانین فایروال. پروژه خدمات شامل منابع در سطح برنامه است که از منابع شبکه در پروژه میزبان استفاده می کند.

شکل 3 تصویری از یک VPC مشترک جهانی است که در آن زیرساخت شبکه و امنیت در پروژه میزبان مستقر شده است، در حالی که بارهای کاری در پروژه خدمات مستقر شده اند.

شکل 3

1354a9323c8e5787.png

مستقل در مقابل VPC مشترک

یک شبکه VPC واحد برای بسیاری از موارد استفاده ساده کافی است، زیرا ایجاد، نگهداری و درک آن نسبت به جایگزین های پیچیده تر آسان تر است. VPC مشترک ابزاری موثر برای سازمان‌هایی است که تیم‌های متعددی دارند، زیرا به آن‌ها اجازه می‌دهد تا سادگی معماری یک شبکه VPC واحد را از طریق استفاده از پروژه‌های خدماتی در بین گروه‌های کاری متعدد گسترش دهند.

بهترین تمرین VPC مورد استفاده در آموزش

  • Cloud NAT را برای دسترسی به نوت بوک فعال کنید.
  • هنگام ایجاد زیرشبکه ، دسترسی Google خصوصی را روشن کنید.
  • قوانین فایروال تجویزی را برای کاهش ترافیک ناخواسته ایجاد کنید، به عنوان مثال از 0.0.0.0/0 tcp استفاده نکنید، به جای آن زیرشبکه(های) یا میزبان(ها) آدرس IP دقیق را تعریف کنید.
  • از سیاست‌های فایروال برای تعمیق بخشیدن به قوانین ورودی استفاده کنید، مانند مکان‌های جغرافیایی، فهرست‌های اطلاعاتی تهدید، نام‌های دامنه منبع و غیره.

3. بهترین روش های نوت بوک

نمونه های خود را اندازه درست کنید

  • توقف و/یا حذف نمونه های استفاده نشده
  • از نمونه اولیه کوچکتر استفاده کنید و با داده های نمونه کوچکتر تکرار کنید
  • موارد را در صورت لزوم بزرگ کنید
  • با مجموعه داده های کوچکتر آزمایش کنید

انواع ماشین مناسب را انتخاب کنید

  • ماشین های مجازی بهینه سازی هزینه
  • از منابع سخت افزاری برای کاهش هزینه ها بهتر استفاده کنید
  • تا 31٪ صرفه جویی در مقایسه با N1
  • پس انداز اضافی (20-50%) برای تعهدات 1 یا 3 ساله
  • افزایش اندازه دستگاه یا افزودن GPU می تواند به عملکرد و غلبه بر خطاهای محدودیت حافظه کمک کند.

نمونه های خود را برای خاموش شدن برنامه ریزی کنید

  • موارد خاموش شدن زمانی که آنها بیکار هستند (فقط برای ذخیره سازی دیسک پرداخت کنید)
  • زمان‌بندی نمونه‌های VM نوت‌بوک برای خاموش شدن و راه‌اندازی خودکار در ساعات مشخص

وضعیت سلامت نوت بوک را کنترل کنید

ملاحظات امنیتی

موارد زیر ملاحظات امنیتی توصیه شده هنگام ایجاد یک نوت بوک مدیریت شده توسط کاربر است:

  • گزینه دسترسی به نوت بوک «فقط یک کاربر» را انتخاب کنید. اگر کاربر مشخص شده سازنده نمونه نیست، باید نقش کاربر حساب سرویس (roles/iam.serviceAccountUser) را در حساب سرویس نمونه به کاربر مشخص شده اعطا کنید.
  • گزینه های زیر را غیرفعال کنید:
  • دسترسی ریشه
  • nbconvert
  • دانلود فایل از JupyterLab UI
  • 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

روتر ابری و پیکربندی NAT

Cloud NAT در آموزش برای دانلود بسته نرم افزار نوت بوک استفاده می شود زیرا نمونه نوت بوک مدیریت شده توسط کاربر یک آدرس IP خارجی ندارد. Cloud NAT همچنین قابلیت‌های egress 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. یک اسکریپت پست راه اندازی ایجاد کنید

برای فعال کردن دانلود بسته های هوش مصنوعی Generative، یک اسکریپت پس از راه اندازی در پوسته ابری با استفاده از ویرایشگر 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

اسکریپت پس از راه اندازی را از پوسته ابری با استفاده از gsutil در سطل ذخیره سازی خود آپلود کنید

gsutil cp poststartup.sh gs://$BUCKET_NAME

8. یک حساب کاربری ایجاد کنید

برای ارائه یک سطح خوب از کنترل نوت بوک مدیریت شده توسط کاربر، یک حساب سرویس مورد نیاز است. پس از ایجاد، مجوزهای حساب سرویس را می توان بر اساس نیازهای تجاری تغییر داد. در آموزش، حساب سرویس دارای قوانین زیر اعمال می شود:

قبل از ادامه، باید API حساب سرویس .

در داخل Cloud Shell، حساب سرویس را ایجاد کنید.

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

در داخل Cloud Shell، حساب سرویس را با نقش Storage Object Viewer به روز کنید

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 را برای شتاب سخت‌افزاری اضافه کنید.

فعال کردن API های مصرف کننده

API Notebooks را

نوت بوک مدیریت شده توسط کاربر را ایجاد کنید

  1. برو میز کار
  2. Notebooks-Managed User را انتخاب کنید و سپس Create Notebook را انتخاب کنید. صفحه Create a notebook مدیریت شده توسط کاربر باز می شود.
  3. اگر یک نوت بوک موجود مستقر شده است، نوت بوک های مدیریت شده توسط کاربر → نوت بوک جدید → سفارشی سازی را انتخاب کنید.
  4. در صفحه ایجاد یک نوت بوک مدیریت شده توسط کاربر، در بخش جزئیات، اطلاعات زیر را برای نمونه جدید خود ارائه دهید:
  • نام: نامی برای نمونه جدید خود وارد کنید.
  • منطقه و منطقه: این آموزش از منطقه us-central1 و zone us-central1-a استفاده می کند

Continue را انتخاب کنید

  1. در بخش محیط زیست موارد زیر را ارائه دهید:
  • سیستم عامل: سیستم عاملی را که می خواهید استفاده کنید انتخاب کنید.
  • محیطی را که می خواهید استفاده کنید انتخاب کنید.
  • نسخه: نسخه ای را که می خواهید استفاده کنید انتخاب کنید.
  • اسکریپت پس از راه‌اندازی ( اختیاری، استفاده از اسکریپت هوش مصنوعی تولیدی قبلی) Browse را انتخاب کنید تا اسکریپتی را انتخاب کنید تا پس از شروع نمونه اجرا شود.
  • فراداده: اختیاری: کلیدهای فراداده سفارشی را برای نمونه ارائه دهید.

Continue را انتخاب کنید

  1. در قسمت Machine type موارد زیر را وارد کنید:
  • نوع ماشین: تعداد CPU و مقدار RAM را برای نمونه جدید خود انتخاب کنید. Vertex AI Workbench تخمین هزینه ماهانه را برای هر نوع ماشینی که انتخاب می کنید ارائه می دهد.
  • نوع GPU: نوع GPU و تعداد GPU ها را برای نمونه جدید خود انتخاب کنید. برای کسب اطلاعات در مورد GPU های مختلف، به GPU ها در Compute Engine مراجعه کنید.
  • چک باکس Install NVIDIA GPU automatically for me را انتخاب کنید.

VM محافظ

  • Secure Boot را روشن کنید
  • vTPM را روشن کنید
  • مانیتورینگ یکپارچگی را روشن کنید

Continue را انتخاب کنید

  1. در بخش Disk موارد زیر را ارائه کنید:
  • دیسک‌ها: اختیاری: برای تغییر تنظیمات پیش‌فرض بوت یا دیسک داده، نوع دیسک راه‌اندازی، اندازه دیسک راه‌اندازی به گیگابایت، نوع دیسک داده و اندازه دیسک داده به گیگابایت را انتخاب کنید. برای اطلاعات بیشتر در مورد انواع دیسک، گزینه های ذخیره سازی را ببینید.
  • حذف در سطل زباله: اختیاری: برای استفاده از رفتار پیش‌فرض سطل زباله سیستم عامل، این کادر را انتخاب کنید، اگر از رفتار پیش‌فرض سطل زباله استفاده می‌کنید، فایل‌های حذف شده با استفاده از رابط کاربری JupyterLab قابل بازیابی هستند اما این فایل‌های حذف شده از فضای دیسک استفاده می‌کنند.
  • پشتیبان‌گیری: اختیاری: برای همگام‌سازی یک مکان ذخیره‌سازی ابری با دیسک داده نمونه خود، Browse را انتخاب کنید و مکان ذخیره‌سازی ابری را مشخص کنید. برای اطلاع از هزینه‌های ذخیره‌سازی، به قیمت‌گذاری Cloud Storage مراجعه کنید.
  • رمزگذاری: کلید رمزگذاری تحت مدیریت گوگل

Continue را انتخاب کنید

  1. در بخش Networking موارد زیر را ارائه دهید:
  • شبکه‌سازی: شبکه‌های موجود در این پروژه یا شبکه‌های اشتراک‌گذاری شده با من را انتخاب کنید. اگر از VPC مشترک در پروژه میزبان استفاده می‌کنید، باید نقش Compute Network User (roles/compute.networkUser) را نیز از پروژه سرویس به نماینده خدمات Notebooks بدهید.
  • در قسمت Network، شبکه مورد نظر خود را انتخاب کنید. آموزش استفاده از شبکه، safevertex-vpc است. شما می توانید یک شبکه VPC را انتخاب کنید، تا زمانی که شبکه دسترسی گوگل خصوصی را فعال کرده باشد یا به اینترنت دسترسی داشته باشد. در قسمت Subnetwork، زیرشبکه مورد نظر خود را انتخاب کنید، در آموزش از subnetwork safevertex-subnet-a استفاده شده است.
  • اختصاص آدرس IP خارجی را لغو انتخاب کنید
  • اجازه دسترسی به پروکسی را انتخاب کنید

Continue را انتخاب کنید

81bb7dbe31fbf587.png

  1. در بخش IAM و امنیت موارد زیر را ارائه دهید:
  • Single user را انتخاب کنید و سپس در قسمت ایمیل کاربر، حساب کاربری را که می خواهید به آن دسترسی بدهید وارد کنید. اگر کاربر مشخص شده سازنده نمونه نیست، باید نقش کاربر حساب سرویس (roles/iam.serviceAccountUser) را در حساب سرویس نمونه به کاربر مشخص شده اعطا کنید.
  • برای فراخوانی APIهای Google Cloud، استفاده از حساب پیش‌فرض خدمات Compute Engine در VM را لغو انتخاب کنید
  • آدرس ایمیل حساب سرویس جدید ایجاد شده را وارد کنید، به عنوان مثال: user-managed-notebook-sa@my-project-id.iam.gserviceaccount.com

گزینه های امنیتی

  • فعال کردن دسترسی ریشه به نمونه را لغو انتخاب کنید
  • فعال کردن nbconvert را لغو انتخاب کنید
  • فعال کردن دانلود فایل از JupyterLab UI را لغو انتخاب کنید
  • فعال کردن پایانه (لغو انتخاب برای محیط های تولید)

Continue را انتخاب کنید

e19f3cd05a2c1b7f.png

  1. در قسمت System Health موارد زیر را ارائه دهید

ارتقاء محیط زیست و سلامت سیستم

  • کادر فعال کردن ارتقاء خودکار محیط را انتخاب کنید.
  • انتخاب کنید که نوت بوک خود را به صورت هفتگی یا ماهانه ارتقا دهید.

در System Health and Reporting، کادرهای زیر را انتخاب یا پاک کنید:

  • فعال کردن گزارش سلامت سیستم
  • معیارهای سفارشی را به Cloud Monitoring گزارش دهید
  • عامل Cloud Monitoring را نصب کنید

ایجاد را انتخاب کنید.

10. اعتبار سنجی

Vertex AI Workbench یک نمونه نوت بوک مدیریت شده توسط کاربر را بر اساس ویژگی های مشخص شده شما ایجاد می کند و به طور خودکار نمونه را شروع می کند. هنگامی که نمونه آماده استفاده است، Vertex AI Workbench یک پیوند Open JupyterLab را فعال می کند که به کاربر نهایی امکان دسترسی به نوت بوک را می دهد.

11. قابلیت مشاهده

سیستم و معیارهای برنامه را از طریق مانیتورینگ نظارت کنید

برای نمونه‌های نوت‌بوک‌های مدیریت‌شده توسط کاربر که مانیتورینگ را نصب کرده‌اند ، می‌توانید با استفاده از کنسول Google Cloud بر معیارهای سیستم و برنامه‌تان نظارت کنید:

  1. در کنسول Google Cloud، به صفحه نوت بوک های مدیریت شده توسط کاربر بروید.
  2. روی نام نمونه ای که می خواهید معیارهای سیستم و برنامه را مشاهده کنید کلیک کنید.
  3. در صفحه جزئیات نوت بوک ، روی تب مانیتورینگ کلیک کنید. معیارهای سیستم و برنامه را برای نمونه خود مرور کنید.

12. یک برنامه نوت بوک ایجاد کنید

زمان‌بندی‌های نمونه به شما امکان می‌دهند نمونه‌های ماشین مجازی (VM) را به طور خودکار شروع و متوقف کنید. استفاده از زمان‌بندی‌های نمونه برای به‌کارگیری خودکار نمونه‌های VM می‌تواند به شما در بهینه‌سازی هزینه‌ها و مدیریت مؤثرتر نمونه‌های VM کمک کند. می‌توانید از برنامه‌های نمونه برای بارهای کاری تکراری و یکباره استفاده کنید. به عنوان مثال، از برنامه‌های نمونه استفاده کنید تا فقط نمونه‌های VM را در طول ساعات کاری اجرا کنید یا ظرفیت یک رویداد یک‌باره را فراهم کنید.

برای استفاده از زمان‌بندی‌های نمونه، یک خط‌مشی منبع با جزئیات رفتار شروع و توقف ایجاد کنید و سپس خط‌مشی را به یک یا چند نمونه 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، حساب پیش فرض سرویس محاسباتی را با نقش سفارشی، 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 مستقل سفارشی با استفاده از بهترین روش‌های سخت‌سازی امنیتی برای نوت‌بوک‌های مدیریت‌شده، یک نوت‌بوک ایمن مدیریت‌شده توسط کاربر را با موفقیت پیکربندی و اعتبارسنجی کرده‌اید و یک زمان‌بندی نمونه برای بهینه‌سازی هزینه‌ها پیاده‌سازی کرده‌اید.

بعدش چی؟

برخی از این آموزش ها را ببینید...

ادامه مطلب و ویدیوها

اسناد مرجع