Vertex AI একটি নিরাপদ ব্যবহারকারী-পরিচালিত নোটবুক তৈরি করে

1. ভূমিকা

ভার্টেক্স এআই ওয়ার্কবেঞ্চ ব্যবহারকারী-পরিচালিত নোটবুক ইনস্ট্যান্সগুলি আপনাকে ডিপ লার্নিং ভার্চুয়াল মেশিন (ভিএম) ইনস্ট্যান্স তৈরি এবং পরিচালনা করতে দেয় যা জুপিটারল্যাব দিয়ে প্রি-প্যাকেজ করা থাকে।

ব্যবহারকারী-পরিচালিত নোটবুক ইনস্ট্যান্সগুলিতে টেনসরফ্লো এবং পাইটর্চ ফ্রেমওয়ার্কের জন্য সমর্থন সহ একটি পূর্ব-ইনস্টল করা গভীর শিক্ষণ প্যাকেজ স্যুট রয়েছে। আপনি কেবল CPU-অনলি বা GPU-সক্ষম ইনস্ট্যান্স কনফিগার করতে পারেন।

তুমি কী তৈরি করবে

এই টিউটোরিয়ালটি নেটওয়ার্কিং এবং সিকিউরিটির সেরা অনুশীলনের উপর ভিত্তি করে একটি নিরাপদ ব্যবহারকারী-পরিচালিত নোটবুক স্থাপনের প্রক্রিয়া বর্ণনা করে। নিম্নলিখিত পদক্ষেপগুলি জড়িত:

  1. একটি ভিপিসি তৈরি করুন
  2. একটি ক্লাউড রাউটার এবং ক্লাউড NAT তৈরি করুন
  3. যথাযথ নিরাপত্তা সেটিংস সহ নোটবুক ইনস্ট্যান্স কনফিগার করুন

এই টিউটোরিয়ালটি প্রতিটি ধাপের জন্য বিস্তারিত নির্দেশাবলী প্রদান করে। এতে ব্যবহারকারী-পরিচালিত নোটবুকগুলি সুরক্ষিত করার জন্য টিপস এবং সর্বোত্তম অনুশীলনও অন্তর্ভুক্ত রয়েছে। চিত্র 1 হল একটি স্বতন্ত্র VPC ব্যবহার করে স্থাপনার একটি চিত্র।

চিত্র ১

2292244ba0b11f71.png সম্পর্কে

তুমি কি শিখবে

  • আপনার প্রতিষ্ঠানের জন্য একটি শেয়ার্ড অফ স্ট্যান্ডঅ্যালোন ভিপিসি সঠিক কিনা তা কীভাবে নির্ধারণ করবেন
  • কিভাবে একটি স্বতন্ত্র ভিপিসি তৈরি করবেন
  • কিভাবে একটি ক্লাউড রাউটার এবং ক্লাউড NAT তৈরি করবেন
  • ব্যবহারকারী-পরিচালিত নোটবুক কীভাবে তৈরি করবেন
  • ব্যবহারকারী-পরিচালিত নোটবুক কীভাবে অ্যাক্সেস করবেন
  • ব্যবহারকারী-পরিচালিত নোটবুকের স্বাস্থ্য কীভাবে পর্যবেক্ষণ করবেন
  • কিভাবে একটি ইনস্ট্যান্স সময়সূচী তৈরি এবং প্রয়োগ করবেন

তোমার যা লাগবে

  • গুগল ক্লাউড প্রজেক্ট

IAM অনুমতি

২. ভিপিসি নেটওয়ার্ক

আপনি একটি VPC নেটওয়ার্ককে একটি ভৌত ​​নেটওয়ার্কের মতোই ভাবতে পারেন, তবে এটি Google Cloud-এর মধ্যে ভার্চুয়ালাইজ করা থাকে। VPC নেটওয়ার্ক হল একটি বিশ্বব্যাপী সম্পদ যা আঞ্চলিক সাবনেট নিয়ে গঠিত। VPC নেটওয়ার্কগুলি Google Cloud-এ যুক্তিসঙ্গতভাবে একে অপরের থেকে বিচ্ছিন্ন।

স্বতন্ত্র ভিপিসি

চিত্র ২ হল একটি স্বতন্ত্র গ্লোবাল ভিপিসির উদাহরণ যেখানে ক্লাউড রাউটার এবং ক্লাউড NAT ছাড়াও একটি আঞ্চলিক সাবনেট (us-central1) রয়েছে যা ব্যবহারকারী পরিচালিত নোটবুককে ইন্টারনেটের সাথে নিরাপদে সংযোগ স্থাপনের অনুমতি দেয়।

চিত্র ২

2292244ba0b11f71.png সম্পর্কে

শেয়ার করা ভিপিসি

শেয়ার্ড ভিপিসি আপনাকে একটি হোস্ট প্রজেক্টের ভিপিসি নেটওয়ার্ক থেকে একই প্রতিষ্ঠানের সার্ভিস প্রোজেক্টে সাবনেট রপ্তানি করতে দেয়। হোস্ট প্রজেক্টে নেটওয়ার্কিং রিসোর্স থাকে যা সার্ভিস প্রোজেক্টের সাথে শেয়ার করা হয় যেমন সাবনেট, ক্লাউড ন্যাট এবং ফায়ারওয়াল নিয়ম। সার্ভিস প্রোজেক্টে অ্যাপ্লিকেশন-স্তরের রিসোর্স থাকে যা হোস্ট প্রজেক্টে নেটওয়ার্কিং রিসোর্স ব্যবহার করে।

চিত্র ৩ হল একটি গ্লোবাল শেয়ার্ড ভিপিসির একটি চিত্র, যেখানে নেটওয়ার্কিং এবং নিরাপত্তা পরিকাঠামো হোস্ট প্রকল্পে স্থাপন করা হয়, যখন কাজের চাপ পরিষেবা প্রকল্পে স্থাপন করা হয়।

চিত্র 3

1354a9323c8e5787.png সম্পর্কে

স্বতন্ত্র বনাম শেয়ার্ড ভিপিসি

অনেক সহজ ব্যবহারের ক্ষেত্রে একটি একক VPC নেটওয়ার্ক যথেষ্ট, কারণ জটিল বিকল্পের তুলনায় এটি তৈরি করা, রক্ষণাবেক্ষণ করা এবং বোঝা সহজ। একাধিক দল বিশিষ্ট প্রতিষ্ঠানের জন্য শেয়ার্ড VPC একটি কার্যকর হাতিয়ার, কারণ এটি পরিষেবা প্রকল্প ব্যবহারের মাধ্যমে একাধিক ওয়ার্কিং গ্রুপ জুড়ে একটি একক VPC নেটওয়ার্কের স্থাপত্য সরলতা প্রসারিত করতে সহায়তা করে।

টিউটোরিয়ালে ব্যবহৃত VPC সেরা অনুশীলন

  • নোটবুক অ্যাক্সেস করতে ক্লাউড NAT সক্ষম করুন।
  • সাবনেট তৈরি করার সময় প্রাইভেট গুগল অ্যাক্সেস চালু করুন।
  • অযাচিত ট্র্যাফিক কমাতে প্রেসক্রিপটিভ ফায়ারওয়াল নিয়ম তৈরি করুন, যেমন 0.0.0.0/0 tcp ব্যবহার না করে সঠিক সাবনেট(গুলি) বা হোস্ট(গুলি) আইপি ঠিকানা নির্ধারণ করুন।
  • প্রবেশের নিয়মের পরিধি আরও গভীর করার জন্য ফায়ারওয়াল নীতিগুলি ব্যবহার করুন, যেমন ভূ-অবস্থান, হুমকি গোয়েন্দা তালিকা, উৎস ডোমেন নাম ইত্যাদি।

৩. নোটবুকের সেরা অনুশীলন

আপনার দৃষ্টান্তগুলিকে ডান-আকার দিন

  • অব্যবহৃত উদাহরণ বন্ধ করুন এবং/অথবা মুছে ফেলুন
  • ছোট প্রাথমিক উদাহরণ ব্যবহার করুন এবং ছোট নমুনা ডেটা দিয়ে পুনরাবৃত্তি করুন
  • প্রয়োজন অনুযায়ী উদাহরণ বৃদ্ধি করুন
  • ছোট ডেটাসেট নিয়ে পরীক্ষা-নিরীক্ষা করুন

সঠিক ধরণের মেশিন নির্বাচন করুন

  • খরচ-অপ্টিমাইজড ভিএম
  • খরচ কমাতে হার্ডওয়্যার রিসোর্সের আরও ভালো ব্যবহার করুন
  • N1 এর তুলনায় 31% পর্যন্ত সাশ্রয়
  • ১ বা ৩ বছরের কমিটের জন্য অতিরিক্ত সঞ্চয় (২০-৫০%)
  • মেশিনের আকার বাড়ানো বা GPU যোগ করা কর্মক্ষমতা বৃদ্ধি এবং মেমরি সীমাবদ্ধতার ত্রুটিগুলি কাটিয়ে উঠতে সাহায্য করতে পারে।

আপনার ইনস্ট্যান্সগুলি বন্ধ করার জন্য সময়সূচী করুন

  • নিষ্ক্রিয় থাকা অবস্থায় সুইচ-অফ ইনস্ট্যান্স (শুধুমাত্র ডিস্ক স্টোরেজের জন্য অর্থ প্রদান করুন)
  • নির্দিষ্ট সময়ে স্বয়ংক্রিয়ভাবে বন্ধ এবং শুরু করার জন্য নোটবুক ভিএম ইনস্ট্যান্স নির্ধারণ করুন

নোটবুকের স্বাস্থ্যের অবস্থা পর্যবেক্ষণ করুন

নিরাপত্তা বিবেচ্য বিষয়গুলি

ব্যবহারকারী-পরিচালিত নোটবুক তৈরি করার সময় নিম্নলিখিত সুপারিশকৃত নিরাপত্তা বিবেচনাগুলি দেওয়া হল:

  • "একক ব্যবহারকারীর জন্য শুধুমাত্র" নোটবুক অ্যাক্সেসের বিকল্পটি নির্বাচন করুন। যদি নির্দিষ্ট ব্যবহারকারী ইনস্ট্যান্সের স্রষ্টা না হন, তাহলে আপনাকে অবশ্যই নির্দিষ্ট ব্যবহারকারীকে ইনস্ট্যান্সের পরিষেবা অ্যাকাউন্টে পরিষেবা অ্যাকাউন্ট ব্যবহারকারীর ভূমিকা (roles/iam.serviceAccountUser) প্রদান করতে হবে।
  • নিম্নলিখিত বিকল্পগুলি অক্ষম করুন:
  • রুট অ্যাক্সেস
  • nbconvert সম্পর্কে
  • JupyterLab UI থেকে ফাইল ডাউনলোড করা হচ্ছে
  • ব্যবহারকারী-পরিচালিত নোটবুকে একটি বহিরাগত আইপি ঠিকানা বরাদ্দ করার পরিবর্তে ক্লাউড NAT ব্যবহার করা হবে।
  • নিম্নলিখিত গণনা বিকল্পগুলি নির্বাচন করুন:
  • সিকিউর বুট
  • ভার্চুয়াল ট্রাস্টেড প্ল্যাটফর্ম মডিউল (vTPM)
  • সততা পর্যবেক্ষণ

৪. শুরু করার আগে

টিউটোরিয়ালটি সমর্থন করার জন্য প্রকল্পটি আপডেট করুন।

এই টিউটোরিয়ালটি ক্লাউড শেলে gcloud কনফিগারেশন বাস্তবায়নে সহায়তা করার জন্য $variables ব্যবহার করে।

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud config list project
gcloud config set project [your-project-name]
projectid=your-project-name
echo $projectid

৫. ভিপিসি সেটআপ

স্বতন্ত্র ভিপিসি তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute networks create securevertex-vpc --project=$projectid --subnet-mode=custom

ব্যবহারকারী-পরিচালিত নোটবুক সাবনেট তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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 কনফিগারেশন

নোটবুক সফটওয়্যার প্যাকেজ ডাউনলোডের জন্য টিউটোরিয়ালে ক্লাউড NAT ব্যবহার করা হয়েছে কারণ ব্যবহারকারী-পরিচালিত নোটবুক ইনস্ট্যান্সের কোনও বহিরাগত IP ঠিকানা নেই। ক্লাউড NAT এ ইগ্রেস NAT ক্ষমতাও অফার করে, যার অর্থ ইন্টারনেট হোস্টদের ব্যবহারকারী-পরিচালিত নোটবুকের সাথে যোগাযোগ শুরু করার অনুমতি নেই, যা এটিকে আরও নিরাপদ করে তোলে।

ক্লাউড শেলের ভিতরে, আঞ্চলিক ক্লাউড রাউটার তৈরি করুন।

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

ক্লাউড শেলের ভিতরে, আঞ্চলিক ক্লাউড ন্যাট গেটওয়ে তৈরি করুন।

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

৬. একটি স্টোরেজ বালতি তৈরি করুন

স্টোরেজ বাকেটগুলি নিরাপদ ফাইল আপলোড/পুনরুদ্ধার অফার করে, টিউটোরিয়ালে, ক্লাউড স্টোরেজে ব্যবহারকারী পরিচালিত নোটবুকগুলিতে জেনারেটিভ এআই প্যাকেজ ইনস্টল করার জন্য একটি পোস্ট স্টার্টআপ স্ক্রিপ্ট থাকবে।

একটি ক্লাউড স্টোরেজ বাকেট তৈরি করুন এবং BUCKET_NAME এর পরিবর্তে আপনার পছন্দের একটি বিশ্বব্যাপী অনন্য নাম দিন।

ক্লাউড শেলের ভিতরে, একটি অনন্য স্টোরেজ বাকেট তৈরি করুন।

gsutil mb -l us-central1 -b on gs://BUCKET_NAME

ল্যাবের সময়কালের জন্য 'BUCKET_NAME' সংরক্ষণ করুন

BUCKET_NAME=YOUR BUCKET NAME
echo $BUCKET_NAME

৭. একটি পোস্ট স্টার্টআপ স্ক্রিপ্ট তৈরি করুন

জেনারেটিভ এআই প্যাকেজ ডাউনলোড সক্ষম করতে, 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

৮. একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন

ব্যবহারকারী-পরিচালিত নোটবুকের নিয়ন্ত্রণের একটি সূক্ষ্ম স্তর প্রদানের জন্য একটি পরিষেবা অ্যাকাউন্ট প্রয়োজন। একবার তৈরি হয়ে গেলে, ব্যবসায়িক প্রয়োজনীয়তার উপর ভিত্তি করে পরিষেবা অ্যাকাউন্টের অনুমতিগুলি পরিবর্তন করা যেতে পারে। টিউটোরিয়ালে, পরিষেবা অ্যাকাউন্টে নিম্নলিখিত নিয়মগুলি প্রয়োগ করা হবে:

এগিয়ে যাওয়ার আগে আপনাকে অবশ্যই পরিষেবা অ্যাকাউন্ট API হবে।

ক্লাউড শেলের ভিতরে, পরিষেবা অ্যাকাউন্ট তৈরি করুন।

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

ক্লাউড শেলের ভিতরে, স্টোরেজ অবজেক্ট ভিউয়ার ভূমিকা সহ পরিষেবা অ্যাকাউন্ট আপডেট করুন।

gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/storage.objectViewer"

ক্লাউড শেলের ভিতরে, Vertex AI ব্যবহারকারীর ভূমিকা সহ পরিষেবা অ্যাকাউন্ট আপডেট করুন।

gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/aiplatform.user"

ক্লাউড শেলের ভিতরে, পরিষেবা অ্যাকাউন্টটি তালিকাভুক্ত করুন এবং ব্যবহারকারী-পরিচালিত নোটবুক তৈরি করার সময় যে ইমেল ঠিকানাটি ব্যবহার করা হবে তা নোট করুন।

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

৯. একটি নিরাপদ ব্যবহারকারী-পরিচালিত নোটবুক তৈরি করুন

একটি ব্যবহারকারী-পরিচালিত নোটবুক ইনস্ট্যান্স হল একটি ডিপ লার্নিং ভার্চুয়াল মেশিন ইনস্ট্যান্স যেখানে সর্বশেষ মেশিন লার্নিং এবং ডেটা সায়েন্স লাইব্রেরি আগে থেকে ইনস্টল করা থাকে। হার্ডওয়্যার অ্যাক্সিলারেশনের জন্য আপনি ঐচ্ছিকভাবে Nvidia GPU গুলি অন্তর্ভুক্ত করতে পারেন।

কনজিউমার API গুলি সক্ষম করুন

নোটবুকস এপিআই

ব্যবহারকারী-পরিচালিত নোটবুক তৈরি করুন

  1. ওয়ার্কবেঞ্চে যান
  2. ব্যবহারকারী-পরিচালিত নোটবুক নির্বাচন করুন, এবং তারপর নোটবুক তৈরি করুন নির্বাচন করুন। ব্যবহারকারী-পরিচালিত নোটবুক তৈরি করুন পৃষ্ঠাটি খোলে।
  3. যদি একটি বিদ্যমান নোটবুক স্থাপন করা হয়, তাহলে ব্যবহারকারী-পরিচালিত নোটবুক → নতুন নোটবুক → কাস্টমাইজ নির্বাচন করুন
  4. ব্যবহারকারী-পরিচালিত নোটবুক তৈরি করুন পৃষ্ঠায়, বিবরণ বিভাগে, আপনার নতুন উদাহরণের জন্য নিম্নলিখিত তথ্য প্রদান করুন:
  • নাম: আপনার নতুন উদাহরণের জন্য একটি নাম দিন।
  • অঞ্চল এবং অঞ্চল: টিউটোরিয়ালটি অঞ্চল us-central1 এবং অঞ্চল us-central1-a ব্যবহার করবে

চালিয়ে যান নির্বাচন করুন

  1. পরিবেশ বিভাগে, নিম্নলিখিতগুলি প্রদান করুন:
  • অপারেটিং সিস্টেম: আপনি যে অপারেটিং সিস্টেমটি ব্যবহার করতে চান তা নির্বাচন করুন।
  • আপনি যে পরিবেশটি ব্যবহার করতে চান তা নির্বাচন করুন।
  • সংস্করণ: আপনি যে সংস্করণটি ব্যবহার করতে চান তা নির্বাচন করুন।
  • পোস্ট-স্টার্টআপ স্ক্রিপ্ট ( ঐচ্ছিক, পূর্বে তৈরি জেনারেটিভ এআই স্ক্রিপ্ট ব্যবহার করুন) ইনস্ট্যান্স শুরু হওয়ার পরে চালানোর জন্য একটি স্ক্রিপ্ট নির্বাচন করতে ব্রাউজ নির্বাচন করুন।
  • মেটাডেটা: ঐচ্ছিক: উদাহরণের জন্য কাস্টম মেটাডেটা কী প্রদান করুন।

চালিয়ে যান নির্বাচন করুন

  1. মেশিন টাইপ বিভাগে, নিম্নলিখিতগুলি প্রদান করুন:
  • মেশিনের ধরণ: আপনার নতুন ইনস্ট্যান্সের জন্য CPU-এর সংখ্যা এবং RAM-এর পরিমাণ নির্বাচন করুন। Vertex AI Workbench আপনার নির্বাচিত প্রতিটি মেশিনের জন্য মাসিক খরচের অনুমান প্রদান করে।
  • GPU টাইপ: আপনার নতুন ইনস্ট্যান্সের জন্য GPU টাইপ এবং GPU-এর সংখ্যা নির্বাচন করুন। বিভিন্ন GPU সম্পর্কে তথ্যের জন্য, Compute Engine-এ GPU দেখুন।
  • "Install NVIDIA GPU driver automatic for me" চেকবক্সটি নির্বাচন করুন।

শিল্ডেড ভিএম

  • সিকিউর বুট চালু করুন
  • ভিটিপিএম চালু করুন
  • ইন্টিগ্রিটি মনিটরিং চালু করুন

চালিয়ে যান নির্বাচন করুন

  1. ডিস্ক বিভাগে, নিম্নলিখিতগুলি প্রদান করুন:
  • ডিস্ক: ঐচ্ছিক: ডিফল্ট বুট বা ডেটা ডিস্ক সেটিংস পরিবর্তন করতে, আপনার পছন্দের বুট ডিস্কের ধরণ, বুট ডিস্কের আকার GB তে, ডেটা ডিস্কের ধরণ এবং ডেটা ডিস্কের আকার GB তে নির্বাচন করুন। ডিস্কের ধরণ সম্পর্কে আরও তথ্যের জন্য, স্টোরেজ বিকল্পগুলি দেখুন।
  • ট্র্যাশে মুছে ফেলুন: ঐচ্ছিক: অপারেটিং সিস্টেমের ডিফল্ট ট্র্যাশ আচরণ ব্যবহার করতে এই চেকবক্সটি নির্বাচন করুন। আপনি যদি ডিফল্ট ট্র্যাশ আচরণ ব্যবহার করেন, তাহলে JupyterLab ব্যবহারকারী ইন্টারফেস ব্যবহার করে মুছে ফেলা ফাইলগুলি পুনরুদ্ধারযোগ্য কিন্তু এই মুছে ফেলা ফাইলগুলি ডিস্কের স্থান ব্যবহার করে।
  • ব্যাকআপ: ঐচ্ছিক: আপনার ইনস্ট্যান্সের ডেটা ডিস্কের সাথে একটি ক্লাউড স্টোরেজ অবস্থান সিঙ্ক করতে, ব্রাউজ নির্বাচন করুন এবং ক্লাউড স্টোরেজ অবস্থান নির্দিষ্ট করুন। স্টোরেজ খরচ সম্পর্কে জানতে, ক্লাউড স্টোরেজ মূল্য দেখুন।
  • এনক্রিপশন: গুগল-পরিচালিত এনক্রিপশন কী

চালিয়ে যান নির্বাচন করুন

  1. নেটওয়ার্কিং বিভাগে, নিম্নলিখিতগুলি প্রদান করুন:
  • নেটওয়ার্কিং: এই প্রকল্পের নেটওয়ার্ক অথবা আমার সাথে শেয়ার করা নেটওয়ার্ক নির্বাচন করুন। যদি আপনি হোস্ট প্রকল্পে একটি শেয়ারড ভিপিসি ব্যবহার করেন, তাহলে আপনাকে পরিষেবা প্রকল্পের নোটবুকস সার্ভিস এজেন্টকে কম্পিউট নেটওয়ার্ক ব্যবহারকারীর ভূমিকা (roles/compute.networkUser) প্রদান করতে হবে।
  • "নেটওয়ার্ক" ক্ষেত্রে, আপনার পছন্দের নেটওয়ার্কটি নির্বাচন করুন। টিউটোরিয়ালটি হল "নেটওয়ার্ক ব্যবহার করা হচ্ছে, "securevertex-vpc"। আপনি একটি VPC নেটওয়ার্ক নির্বাচন করতে পারেন, যতক্ষণ না নেটওয়ার্কটিতে Private Google Access সক্ষম থাকে বা ইন্টারনেট অ্যাক্সেস করতে পারে। "Subnetwork" ক্ষেত্রে, আপনার পছন্দের সাবনেটওয়ার্কটি নির্বাচন করুন, টিউটোরিয়ালে "subnetwork securevertex-subnet-a" ব্যবহার করা হয়েছে।
  • বহিরাগত IP ঠিকানা বরাদ্দ করুন নির্বাচন মুক্ত করুন
  • প্রক্সি অ্যাক্সেসের অনুমতি দিন নির্বাচন করুন

চালিয়ে যান নির্বাচন করুন

81bb7dbe31fbf587.png সম্পর্কে

  1. IAM এবং নিরাপত্তা বিভাগে, নিম্নলিখিতগুলি প্রদান করুন:
  • "একক ব্যবহারকারী" নির্বাচন করুন এবং তারপর, ব্যবহারকারীর ইমেল ক্ষেত্রে, আপনি যে ব্যবহারকারীর অ্যাকাউন্টটি অ্যাক্সেস দিতে চান তা লিখুন। যদি নির্দিষ্ট ব্যবহারকারী ইনস্ট্যান্সের স্রষ্টা না হন, তাহলে আপনাকে অবশ্যই নির্দিষ্ট ব্যবহারকারীকে ইনস্ট্যান্সের পরিষেবা অ্যাকাউন্টে পরিষেবা অ্যাকাউন্ট ব্যবহারকারীর ভূমিকা (roles/iam.serviceAccountUser) প্রদান করতে হবে।
  • নির্বাচন মুক্ত করুন Google Cloud API গুলিতে কল করতে VM-এ ডিফল্ট Compute Engine পরিষেবা অ্যাকাউন্ট ব্যবহার করুন
  • নতুন তৈরি পরিষেবা অ্যাকাউন্টের ইমেল ঠিকানা লিখুন, উদাহরণস্বরূপ: user-managed-notebook-sa@my-project-id.iam.gserviceaccount.com

নিরাপত্তা বিকল্পগুলি

  • ইনস্ট্যান্সে রুট অ্যাক্সেস সক্ষম করুন অনির্বাচন করুন
  • nbconvert সক্ষম করুন নির্বাচন মুক্ত করুন
  • JupyterLab UI থেকে ফাইল ডাউনলোড সক্ষম করুন নির্বাচন মুক্ত করুন
  • টার্মিনাল সক্ষম করুন (উৎপাদন পরিবেশের জন্য নির্বাচন বাদ দিন)

চালিয়ে যান নির্বাচন করুন

e19f3cd05a2c1b7f.png

  1. সিস্টেম স্বাস্থ্য বিভাগে, নিম্নলিখিতগুলি প্রদান করুন

পরিবেশগত আপগ্রেড এবং সিস্টেমের স্বাস্থ্য

  • Enable environment auto-upgrade চেকবক্সটি নির্বাচন করুন।
  • আপনার নোটবুক সাপ্তাহিক নাকি মাসিক আপগ্রেড করবেন তা বেছে নিন।

সিস্টেম হেলথ অ্যান্ড রিপোর্টিং-এ, নিম্নলিখিত চেকবক্সগুলি নির্বাচন করুন বা সাফ করুন:

  • সিস্টেম হেলথ রিপোর্ট সক্ষম করুন
  • ক্লাউড মনিটরিং-এ কাস্টম মেট্রিক্স রিপোর্ট করুন
  • ক্লাউড মনিটরিং এজেন্ট ইনস্টল করুন

তৈরি করুন নির্বাচন করুন।

১০. বৈধতা

Vertex AI Workbench আপনার নির্দিষ্ট বৈশিষ্ট্যের উপর ভিত্তি করে একটি ব্যবহারকারী-পরিচালিত নোটবুক ইনস্ট্যান্স তৈরি করে এবং স্বয়ংক্রিয়ভাবে ইনস্ট্যান্সটি শুরু করে। যখন ইনস্ট্যান্সটি ব্যবহারের জন্য প্রস্তুত হয়, তখন Vertex AI Workbench একটি Open JupyterLab লিঙ্ক সক্রিয় করে যা শেষ ব্যবহারকারীকে নোটবুকে অ্যাক্সেসের অনুমতি দেয়।

১১. পর্যবেক্ষণযোগ্যতা

মনিটরিংয়ের মাধ্যমে সিস্টেম এবং অ্যাপ্লিকেশন মেট্রিক্স পর্যবেক্ষণ করুন

ব্যবহারকারী-পরিচালিত নোটবুকগুলির ক্ষেত্রে যেখানে মনিটরিং ইনস্টল করা আছে, আপনি Google ক্লাউড কনসোল ব্যবহার করে আপনার সিস্টেম এবং অ্যাপ্লিকেশন মেট্রিক্স পর্যবেক্ষণ করতে পারেন:

  1. গুগল ক্লাউড কনসোলে, ব্যবহারকারী-পরিচালিত নোটবুক পৃষ্ঠায় যান।
  2. আপনি যে ইনস্ট্যান্সের নামটির সিস্টেম এবং অ্যাপ্লিকেশন মেট্রিক্স দেখতে চান তাতে ক্লিক করুন।
  3. নোটবুকের বিবরণ পৃষ্ঠায়, মনিটরিং ট্যাবে ক্লিক করুন। আপনার ইনস্ট্যান্সের জন্য সিস্টেম এবং অ্যাপ্লিকেশন মেট্রিক্স পর্যালোচনা করুন।

১২. একটি নোটবুক সময়সূচী তৈরি করুন

ইনস্ট্যান্স শিডিউল আপনাকে ভার্চুয়াল মেশিন (VM) ইন্সট্যান্সগুলি স্বয়ংক্রিয়ভাবে শুরু এবং বন্ধ করতে দেয়। আপনার VM ইন্সট্যান্সগুলির স্থাপনা স্বয়ংক্রিয় করার জন্য ইন্সট্যান্স শিডিউল ব্যবহার করা আপনাকে খরচ অপ্টিমাইজ করতে এবং VM ইন্সট্যান্সগুলিকে আরও দক্ষতার সাথে পরিচালনা করতে সহায়তা করতে পারে। আপনি পুনরাবৃত্তিমূলক এবং এককালীন উভয় কাজের জন্যই ইন্সট্যান্স শিডিউল ব্যবহার করতে পারেন। উদাহরণস্বরূপ, কাজের সময়কালে শুধুমাত্র VM ইন্সট্যান্স চালানোর জন্য অথবা এককালীন ইভেন্টের জন্য ক্ষমতা প্রদানের জন্য ইন্সট্যান্স শিডিউল ব্যবহার করুন।

ইনস্ট্যান্স শিডিউল ব্যবহার করতে, স্টার্ট এবং স্টপ আচরণের বিস্তারিত বর্ণনা সহ একটি রিসোর্স নীতি তৈরি করুন এবং তারপর নীতিটি এক বা একাধিক VM ইনস্ট্যান্সের সাথে সংযুক্ত করুন।

এই টিউটোরিয়ালটি আপনাকে দেখাবে কিভাবে একটি ইনস্ট্যান্স শিডিউল তৈরি করবেন যা আপনার নোটবুকটি সকাল ৭টায় চালু করবে এবং সন্ধ্যা ৬টায় বন্ধ করবে।

ইনস্ট্যান্স শিডিউল তৈরি করতে আপনার compute.instances.start এবং compute.instances.stop অনুমতির প্রয়োজন হবে, তাই আপনাকে প্রদত্ত প্রশাসক দ্বারা তৈরি একটি কাস্টম ভূমিকা সুপারিশ করা হচ্ছে।

একবার তৈরি হয়ে গেলে, কাস্টম ভূমিকাটি আপনার প্রকল্পের ডিফল্ট কম্পিউট ইঞ্জিন পরিষেবা অ্যাকাউন্টে বরাদ্দ করা হবে, যা ইনস্ট্যান্স শিডিউলকে আপনার নোটবুক শুরু এবং বন্ধ করার অনুমতি দেবে।

একটি কাস্টম ভূমিকা তৈরি করুন

ক্লাউড শেলের ভিতরে, একটি কাস্টম ভূমিকা, VmScheduler তৈরি করুন এবং প্রয়োজনীয় অনুমতিগুলি অন্তর্ভুক্ত করুন।

gcloud iam roles create Vm_Scheduler --project=$projectid \
    --title=vm-scheduler-notebooks \
    --permissions="compute.instances.start,compute.instances.stop" --stage=ga

ক্লাউড শেলের কাস্টম ভূমিকা বর্ণনা করো।

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

ক্লাউড শেলে, বর্তমান প্রকল্প নম্বরটি সনাক্ত করুন।

gcloud projects list --filter=$projectid

ক্লাউড শেলে, প্রজেক্ট নম্বরটি একটি ভেরিয়েবল হিসেবে সংরক্ষণ করুন।

project_number=your_project_number
echo $project_number

ক্লাউড শেলে, ডিফল্ট কম্পিউট সার্ভিস অ্যাকাউন্টটি কাস্টম রোল, VM_Scheduler দিয়ে আপডেট করুন।

gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:$project_number-compute@developer.gserviceaccount.com" --role="projects/$projectid/roles/Vm_Scheduler"

ইনস্ট্যান্স শিডিউল তৈরি করুন

ক্লাউড শেলে, শুরু এবং বন্ধের সময়সূচী তৈরি করুন।

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

ক্লাউড শেলে, আপনার নোটবুকের নামের নাম সংরক্ষণ করুন।

gcloud compute instances list
notebook_vm=your_notebookvm_name
echo $notebook_vm

আপনি যেকোনো বিদ্যমান VM ইনস্ট্যান্সের সাথে একটি ইনস্ট্যান্স শিডিউল সংযুক্ত করতে পারেন যা ইনস্ট্যান্স শিডিউলের একই অঞ্চলে অবস্থিত।

ক্লাউড শেলে, আপনার নোটবুকের সাথে সময়সূচী সংযুক্ত করুন।

gcloud compute instances add-resource-policies $notebook_vm \
--resource-policies=optimize-notebooks \
--zone=us-central1-a

১৩. পরিষ্কার করা

কনসোল থেকে ব্যবহারকারী-পরিচালিত নোটবুকটি মুছুন, Vertex AI → Workbench-এ যান, নোটবুকটি নির্বাচন করুন এবং মুছুন।

ক্লাউড শেল থেকে, 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 

১৪. অভিনন্দন

দারুন! আপনি পরিচালিত নোটবুকগুলির জন্য সুরক্ষা কঠোরকরণের সর্বোত্তম অনুশীলন ব্যবহার করে একটি কাস্টম স্ট্যান্ডঅ্যালোন ভিপিসি তৈরি করে একটি নিরাপদ ব্যবহারকারী-পরিচালিত নোটবুক সফলভাবে কনফিগার এবং যাচাই করেছেন এবং ব্যয় অপ্টিমাইজ করার জন্য একটি ইনস্ট্যান্স সময়সূচী বাস্তবায়ন করেছেন।

এরপর কী?

এই টিউটোরিয়ালগুলির কিছু দেখুন...

আরও পড়া এবং ভিডিও

রেফারেন্স ডক্স