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

1. ভূমিকা

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

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

আপনি কি নির্মাণ করবেন

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

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

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

চিত্র 1

2292244ba0b11f71.png

আপনি কি শিখবেন

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

আপনি কি প্রয়োজন হবে

  • গুগল ক্লাউড প্রকল্প

IAM অনুমতি

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

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

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

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

চিত্র 2

2292244ba0b11f71.png

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

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

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

চিত্র 3

1354a9323c8e5787.png

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

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

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

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

3. নোটবুকের সর্বোত্তম অভ্যাস

আপনার উদাহরণ ডান আকার

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

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

  • খরচ অপ্টিমাইজড VM
  • খরচ কমাতে হার্ডওয়্যার সংস্থানগুলির আরও ভাল ব্যবহার করুন
  • N1 এর তুলনায় 31% পর্যন্ত সঞ্চয়
  • 1 বা 3 বছরের জন্য অতিরিক্ত সঞ্চয় (20-50%)
  • মেশিনের আকার বাড়ানো বা GPU যোগ করা কর্মক্ষমতা এবং মেমরির সীমাবদ্ধতা ত্রুটি কাটিয়ে উঠতে সাহায্য করতে পারে

শাটডাউন করার জন্য আপনার দৃষ্টান্ত নির্ধারণ করুন

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

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

নিরাপত্তা বিবেচনা

একটি ব্যবহারকারী-পরিচালিত নোটবুক তৈরি করার সময় নিম্নলিখিত প্রস্তাবিত নিরাপত্তা বিবেচ্য বিষয়গুলি রয়েছে:

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

4. আপনি শুরু করার আগে

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

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

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

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

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

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

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

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

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

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

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

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

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. একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন

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

এগিয়ে যাওয়ার আগে আপনাকে অবশ্যই পরিষেবা অ্যাকাউন্ট 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

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

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

ভোক্তা API সক্রিয় করুন

নোটবুক API

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

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

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

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

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

  1. মেশিন টাইপ বিভাগে, নিম্নলিখিত প্রদান করুন:
  • মেশিনের ধরন: আপনার নতুন উদাহরণের জন্য CPU-এর সংখ্যা এবং RAM-এর পরিমাণ নির্বাচন করুন। Vertex AI Workbench আপনার নির্বাচন করা প্রতিটি মেশিনের জন্য মাসিক খরচের অনুমান প্রদান করে।
  • GPU প্রকার: আপনার নতুন উদাহরণের জন্য GPU প্রকার এবং GPU গুলির সংখ্যা নির্বাচন করুন। বিভিন্ন জিপিইউ সম্পর্কে তথ্যের জন্য, কম্পিউট ইঞ্জিনে জিপিইউ দেখুন।
  • আমার জন্য স্বয়ংক্রিয়ভাবে NVIDIA GPU ড্রাইভার ইনস্টল করুন চেকবক্সটি নির্বাচন করুন।

ঝাল VM

  • নিরাপদ বুট চালু করুন
  • vTPM চালু করুন
  • ইন্টিগ্রিটি মনিটরিং চালু করুন

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

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

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

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

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

81bb7dbe31fbf587.png

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

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

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

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

e19f3cd05a2c1b7f.png

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

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

  • পরিবেশ স্বয়ংক্রিয় আপগ্রেড সক্ষম করুন চেকবক্স নির্বাচন করুন।
  • আপনার নোটবুক সাপ্তাহিক বা মাসিক আপগ্রেড করবেন কিনা তা চয়ন করুন৷

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

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

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

10. বৈধতা

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

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

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

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

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

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

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

দৃষ্টান্তের সময়সূচী ব্যবহার করতে, শুরু এবং বন্ধ আচরণের বিবরণ দিয়ে একটি সম্পদ নীতি তৈরি করুন এবং তারপর এক বা একাধিক VM দৃষ্টান্তের সাথে নীতিটি সংযুক্ত করুন।

টিউটোরিয়ালটি আপনাকে দেখাবে কিভাবে একটি ইনস্ট্যান্স সময়সূচী তৈরি করতে হয় যা আপনার নোটবুকে সকাল 7 টায় চালু করবে এবং সন্ধ্যা 6 টায় এটি বন্ধ করবে।

দৃষ্টান্তের সময়সূচী তৈরি করতে আপনাকে 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

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

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

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

13. পরিষ্কার করুন

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

ক্লাউড শেল থেকে, ভিপিসি উপাদানগুলি মুছুন।

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. অভিনন্দন

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

এরপর কি?

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

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

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