1. บทนำ
อินสแตนซ์สมุดบันทึกที่มีการจัดการโดยผู้ใช้ Vertex AI Workbench ช่วยให้คุณสร้างและจัดการอินสแตนซ์เครื่องเสมือน (VM) สำหรับการเรียนรู้เชิงลึกที่มาพร้อมกับ JupyterLab
อินสแตนซ์สมุดบันทึกที่ผู้ใช้จัดการมีชุดแพ็กเกจ Deep Learning ที่ติดตั้งไว้ล่วงหน้า ซึ่งรวมถึงการรองรับเฟรมเวิร์ก TensorFlow และ PyTorch คุณกำหนดค่าอินสแตนซ์ที่ใช้เฉพาะ CPU หรืออินสแตนซ์ที่เปิดใช้ GPU ก็ได้
สิ่งที่คุณจะสร้าง
บทแนะนำนี้จะอธิบายกระบวนการติดตั้งใช้งาน Notebook ที่ผู้ใช้จัดการเองอย่างปลอดภัยตามแนวทางปฏิบัติแนะนำจากทีมเครือข่ายและความปลอดภัย ขั้นตอนที่เกี่ยวข้องมีดังนี้
- สร้าง VPC
- สร้าง Cloud Router และ Cloud NAT
- กำหนดค่าอินสแตนซ์ Notebook ด้วยการตั้งค่าความปลอดภัยที่เหมาะสม
บทแนะนำนี้จะแสดงวิธีการโดยละเอียดสำหรับแต่ละขั้นตอน นอกจากนี้ยังมีเคล็ดลับและแนวทางปฏิบัติแนะนำสำหรับการรักษาความปลอดภัยของ Notebook ที่ผู้ใช้จัดการ รูปที่ 1 แสดงภาพการติดตั้งใช้งานโดยใช้ VPC แบบสแตนด์อโลน
รูปที่ 1

สิ่งที่คุณจะได้เรียนรู้
- วิธีพิจารณาว่า VPC ที่แชร์หรือ VPC แบบสแตนด์อโลนเหมาะกับองค์กรของคุณหรือไม่
- วิธีสร้าง VPC แบบสแตนด์อโลน
- วิธีสร้าง Cloud Router และ Cloud NAT
- วิธีสร้าง Notebook ที่ผู้ใช้จัดการ
- วิธีเข้าถึง Notebook ที่ผู้ใช้จัดการ
- วิธีตรวจสอบความสมบูรณ์ของ Notebook ที่ผู้ใช้จัดการ
- วิธีสร้างและใช้กำหนดเวลาอินสแตนซ์
สิ่งที่คุณต้องมี
- โปรเจ็กต์ Google Cloud
สิทธิ์ IAM
2. เครือข่าย VPC
คุณสามารถนึกถึงเครือข่าย VPC ในลักษณะเดียวกับที่นึกถึงเครือข่ายจริง เพียงแต่เครือข่าย VPC จะเป็นแบบเสมือนภายใน Google Cloud เครือข่าย VPC เป็นทรัพยากรระดับโลกที่ประกอบด้วยซับเน็ตระดับภูมิภาค เครือข่าย VPC จะแยกออกจากกันอย่างเป็นตรรกะใน Google Cloud
VPC แบบสแตนด์อโลน
รูปที่ 2 แสดงตัวอย่าง VPC ทั่วโลกแบบสแตนด์อโลนซึ่งประกอบด้วยซับเน็ตระดับภูมิภาค (us-central1) นอกเหนือจาก Cloud Router และ Cloud NAT ที่ใช้เพื่ออนุญาตให้ Notebook ที่ผู้ใช้จัดการสร้างการเชื่อมต่อกับอินเทอร์เน็ตได้อย่างปลอดภัย
รูปที่ 2

VPC ที่แชร์
VPC ที่แชร์ช่วยให้คุณส่งออกซับเน็ตจากเครือข่าย VPC ในโปรเจ็กต์โฮสต์ไปยังโปรเจ็กต์บริการในองค์กรเดียวกันได้ โปรเจ็กต์โฮสต์มีทรัพยากรเครือข่ายที่แชร์กับโปรเจ็กต์บริการ เช่น ซับเน็ต, Cloud NAT และกฎไฟร์วอลล์ โปรเจ็กต์บริการมีทรัพยากรระดับแอปพลิเคชันที่ใช้ประโยชน์จากทรัพยากรเครือข่ายในโปรเจ็กต์โฮสต์
รูปที่ 3 แสดงภาพ VPC ที่ใช้ร่วมกันทั่วโลก ซึ่งมีการติดตั้งใช้งานโครงสร้างพื้นฐานด้านเครือข่ายและความปลอดภัยในโปรเจ็กต์โฮสต์ ในขณะที่ติดตั้งใช้งานเวิร์กโหลดในโปรเจ็กต์บริการ
รูปที่ 3

VPC แบบสแตนด์อโลนเทียบกับ VPC ที่แชร์
เครือข่าย VPC เดียวเพียงพอสำหรับกรณีการใช้งานที่เรียบง่ายหลายกรณี เนื่องจากสร้าง รักษา และทำความเข้าใจได้ง่ายกว่าทางเลือกที่ซับซ้อนกว่า VPC ที่แชร์เป็นเครื่องมือที่มีประสิทธิภาพสำหรับองค์กรที่มีหลายทีม เนื่องจากช่วยให้ทีมต่างๆ เพิ่มความเรียบง่ายเชิงสถาปัตยกรรมของเครือข่าย VPC เดียวในกลุ่มการทำงานหลายกลุ่มได้ด้วยการใช้โปรเจ็กต์บริการ
แนวทางปฏิบัติแนะนำเกี่ยวกับ VPC ที่ใช้ในบทแนะนำ
- เปิดใช้ Cloud NAT เพื่อเข้าถึง Notebook
- เปิดการเข้าถึง Google แบบส่วนตัว เมื่อสร้างเครือข่ายย่อย
- สร้างกฎไฟร์วอลล์ที่แนะนําเพื่อลดการเข้าชมที่ไม่พึงประสงค์ เช่น อย่าใช้ 0.0.0.0/0 tcp แต่ให้กําหนดที่อยู่ IP ของซับเน็ตหรือโฮสต์ที่แน่นอน
- ใช้นโยบายไฟร์วอลล์เพื่อขยายขอบเขตของกฎขาเข้า เช่น สถานที่ทางภูมิศาสตร์ รายการข้อมูลภัยคุกคาม ชื่อโดเมนต้นทาง ฯลฯ
3. แนวทางปฏิบัติแนะนำสำหรับ Notebook
ปรับขนาดอินสแตนซ์ให้เหมาะสม
- หยุดและ/หรือลบอินสแตนซ์ที่ไม่ได้ใช้
- ใช้อินสแตนซ์เริ่มต้นขนาดเล็กและทำซ้ำด้วยข้อมูลตัวอย่างขนาดเล็ก
- เพิ่มขนาดอินสแตนซ์ตามที่จำเป็น
- ทดลองกับชุดข้อมูลขนาดเล็ก
เลือกประเภทเครื่องที่เหมาะสม
- VM ที่เพิ่มประสิทธิภาพด้านต้นทุน
- ใช้ทรัพยากรฮาร์ดแวร์ให้เกิดประโยชน์มากขึ้นเพื่อลดต้นทุน
- ประหยัดสูงสุด 31% เมื่อเทียบกับ N1
- ส่วนลดเพิ่มเติม (20-50%) สำหรับสัญญา 1 หรือ 3 ปี
- การเพิ่มขนาดเครื่องหรือการเพิ่ม GPU จะช่วยในเรื่องประสิทธิภาพและช่วยแก้ไขข้อผิดพลาดเกี่ยวกับข้อจำกัดด้านหน่วยความจำได้
ตั้งเวลาปิดอินสแตนซ์
- ปิดอินสแตนซ์เมื่อไม่ได้ใช้งาน (จ่ายเฉพาะพื้นที่เก็บข้อมูลในดิสก์)
- กำหนดเวลาให้อินสแตนซ์ VM ของ Notebook ปิดและเปิดโดยอัตโนมัติในเวลาที่เจาะจง
ตรวจสอบสถานะความสมบูรณ์ของ Notebook
- อินสแตนซ์ Notebook ที่ผู้ใช้จัดการมีเครื่องมือวินิจฉัยในตัวที่จะช่วยคุณตรวจสอบสถานะของอินสแตนซ์
ข้อควรพิจารณาด้านความปลอดภัย
ข้อควรพิจารณาด้านความปลอดภัยที่แนะนำเมื่อสร้าง Notebook ที่ผู้ใช้เป็นผู้จัดการมีดังนี้
- เลือกตัวเลือกสำหรับการเข้าถึง Notebook แบบ "ผู้ใช้คนเดียวเท่านั้น" หากผู้ใช้ที่ระบุไม่ใช่ผู้สร้างอินสแตนซ์ คุณต้องให้บทบาทผู้ใช้บัญชีบริการ (roles/iam.serviceAccountUser) แก่ผู้ใช้ที่ระบุในบัญชีบริการของอินสแตนซ์
- ปิดใช้ตัวเลือกต่อไปนี้
- การเข้าถึงระดับรูท
- nbconvert
- การดาวน์โหลดไฟล์จาก UI ของ JupyterLab
- ระบบจะใช้ Cloud NAT แทนการกำหนดที่อยู่ IP ภายนอกให้กับ Notebook ที่ผู้ใช้จัดการ
- เลือกตัวเลือกการประมวลผลต่อไปนี้
- การเปิดเครื่องที่ปลอดภัย
- Virtual Trusted Platform Module (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
สร้างซับเน็ตของ Notebook ที่ผู้ใช้จัดการ
ใน 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 สำหรับการดาวน์โหลดแพ็กเกจซอฟต์แวร์ Notebook เนื่องจากอินสแตนซ์ Notebook ที่ผู้ใช้จัดการไม่มีที่อยู่ IP ภายนอก นอกจากนี้ Cloud NAT ยังมีความสามารถ NAT ขาออก ซึ่งหมายความว่าโฮสต์อินเทอร์เน็ตไม่ได้รับอนุญาตให้เริ่มการสื่อสารกับ Notebook ที่ผู้ใช้จัดการ ทำให้มีความปลอดภัยมากขึ้น
สร้าง Cloud Router ระดับภูมิภาคภายใน Cloud Shell
gcloud compute routers create cloud-router-us-central1 --network securevertex-vpc --region us-central1
สร้างเกตเวย์ Cloud NAT ระดับภูมิภาคภายใน Cloud Shell
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. สร้างที่เก็บข้อมูล
ที่เก็บข้อมูลช่วยให้คุณอัปโหลด/ดึงข้อมูลไฟล์ได้อย่างปลอดภัย ในบทแนะนำนี้ พื้นที่เก็บข้อมูลระบบคลาวด์จะมีสคริปต์หลังการเริ่มต้นเพื่อติดตั้งแพ็กเกจ Generative AI ใน Notebook ที่ผู้ใช้จัดการ
สร้างที่เก็บข้อมูล 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 AI ให้สร้างสคริปต์หลังการเริ่มต้นใน 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. สร้างบัญชีบริการ
หากต้องการควบคุมสมุดบันทึกที่ผู้ใช้จัดการได้อย่างละเอียด คุณต้องมีบัญชีบริการ เมื่อสร้างแล้ว คุณจะแก้ไขสิทธิ์ของบัญชีบริการได้ตามข้อกำหนดทางธุรกิจ ในบทแนะนำ บัญชีบริการจะมีกฎต่อไปนี้
คุณต้อง Service Account API ก่อนดำเนินการต่อ
สร้างบัญชีบริการภายใน 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 ให้แสดงรายการบัญชีบริการและจดที่อยู่อีเมลที่จะใช้เมื่อสร้าง Notebook ที่ผู้ใช้จัดการ
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. สร้าง Notebook ที่ผู้ใช้จัดการเองที่ปลอดภัย
อินสแตนซ์ Notebook ที่ผู้ใช้จัดการคืออินสแตนซ์เครื่องเสมือน Deep Learning ที่ติดตั้งไลบรารีแมชชีนเลิร์นนิงและวิทยาศาสตร์ข้อมูลล่าสุดไว้ล่วงหน้า คุณจะรวม GPU ของ Nvidia เพื่อการเร่งฮาร์ดแวร์หรือไม่ก็ได้
เปิดใช้ API สำหรับผู้บริโภค
สร้าง Notebook ที่ผู้ใช้จัดการ
- ไปที่ Workbench
- เลือก Notebook ที่ผู้ใช้จัดการ แล้วเลือกสร้าง Notebook หน้าสร้าง Notebook ที่ผู้ใช้จัดการจะเปิดขึ้น
- หากมีการติดตั้งใช้งาน Notebook ที่มีอยู่ ให้เลือก Notebook ที่มีการจัดการโดยผู้ใช้ → Notebook ใหม่ → ปรับแต่ง
- ในหน้าสร้าง Notebook ที่ผู้ใช้จัดการ ในส่วนรายละเอียด ให้ระบุข้อมูลต่อไปนี้สำหรับอินสแตนซ์ใหม่
- ชื่อ: ระบุชื่ออินสแตนซ์ใหม่
- ภูมิภาคและโซน: บทแนะนำนี้จะใช้ภูมิภาค us-central1 และโซน us-central1-a
เลือกดำเนินการต่อ
- ในส่วนสภาพแวดล้อม ให้ระบุข้อมูลต่อไปนี้
- ระบบปฏิบัติการ: เลือกระบบปฏิบัติการที่ต้องการใช้
- เลือกสภาพแวดล้อมที่ต้องการใช้
- เวอร์ชัน: เลือกเวอร์ชันที่ต้องการใช้
- สคริปต์หลังการเริ่มต้น (ไม่บังคับ ใช้สคริปต์ Generative AI ที่สร้างไว้ก่อนหน้านี้) เลือก "เรียกดู" เพื่อเลือกสคริปต์ที่จะเรียกใช้หลังจากอินสแตนซ์เริ่มต้น
- ข้อมูลเมตา: ไม่บังคับ: ระบุคีย์ข้อมูลเมตาที่กำหนดเองสำหรับอินสแตนซ์
เลือกดำเนินการต่อ
- ในส่วนประเภทเครื่อง ให้ระบุข้อมูลต่อไปนี้
- ประเภทเครื่อง: เลือกจำนวน CPU และปริมาณ RAM สำหรับอินสแตนซ์ใหม่ Vertex AI Workbench จะแสดงค่าใช้จ่ายโดยประมาณรายเดือนสำหรับเครื่องแต่ละประเภทที่คุณเลือก
- ประเภท GPU: เลือกประเภท GPU และจำนวน GPU สำหรับอินสแตนซ์ใหม่ ดูข้อมูลเกี่ยวกับ GPU ประเภทต่างๆ ได้ที่ GPU ใน Compute Engine
- เลือกช่องทำเครื่องหมาย "ติดตั้งไดรเวอร์ NVIDIA GPU ให้ฉันโดยอัตโนมัติ"
VM ที่มีการป้องกัน
- เปิดการเปิดเครื่องที่ปลอดภัย
- เปิด vTPM
- เปิดการตรวจสอบความสมบูรณ์
เลือกดำเนินการต่อ
- ในส่วนดิสก์ ให้ระบุข้อมูลต่อไปนี้
- ดิสก์: ไม่บังคับ: หากต้องการเปลี่ยนการตั้งค่าดิสก์สำหรับบูทหรือดิสก์ข้อมูลเริ่มต้น ให้เลือกประเภทดิสก์สำหรับบูท ขนาดดิสก์สำหรับบูทเป็น GB ประเภทดิสก์ข้อมูล และขนาดดิสก์ข้อมูลเป็น GB ที่ต้องการ ดูข้อมูลเพิ่มเติมเกี่ยวกับประเภทดิสก์ได้ที่ตัวเลือกพื้นที่เก็บข้อมูล
- ลบไปที่ถังขยะ: ไม่บังคับ: เลือกช่องทำเครื่องหมายนี้เพื่อใช้ลักษณะการทำงานของถังขยะเริ่มต้นของระบบปฏิบัติการ หากใช้ลักษณะการทำงานของถังขยะเริ่มต้น คุณจะกู้คืนไฟล์ที่ลบโดยใช้ส่วนติดต่อผู้ใช้ของ JupyterLab ได้ แต่ไฟล์ที่ลบเหล่านี้จะใช้พื้นที่ดิสก์
- ข้อมูลสำรอง: ไม่บังคับ: หากต้องการซิงค์ตำแหน่ง Cloud Storage กับดิสก์ข้อมูลของอินสแตนซ์ ให้เลือก "เรียกดู" แล้วระบุตำแหน่ง Cloud Storage ดูข้อมูลเกี่ยวกับค่าใช้จ่ายในการจัดเก็บได้ที่ราคาของ Cloud Storage
- การเข้ารหัส: คีย์การเข้ารหัสที่จัดการใน Google
เลือกดำเนินการต่อ
- ในส่วนเครือข่าย ให้ระบุข้อมูลต่อไปนี้
- เครือข่าย: เลือกเครือข่ายในโปรเจ็กต์นี้หรือเครือข่ายที่แชร์กับฉัน หากใช้ VPC ที่แชร์ในโปรเจ็กต์โฮสต์ คุณต้องให้บทบาทผู้ใช้เครือข่าย Compute (roles/compute.networkUser) แก่ตัวแทนบริการ Notebooks จากโปรเจ็กต์บริการด้วย
- ในช่องเครือข่าย ให้เลือกเครือข่ายที่ต้องการ บทแนะนำนี้ใช้เครือข่าย securevertex-vpc คุณเลือกเครือข่าย VPC ได้ตราบใดที่เครือข่ายได้เปิดใช้การเข้าถึง Google แบบส่วนตัวหรือเข้าถึงอินเทอร์เน็ตได้ ในฟิลด์เครือข่ายย่อย ให้เลือกเครือข่ายย่อยที่ต้องการ ในบทแนะนำนี้จะใช้เครือข่ายย่อย securevertex-subnet-a
- ยกเลิกการเลือกกำหนดที่อยู่ IP ภายนอก
- เลือกอนุญาตให้เข้าถึงพร็อกซี
เลือกดำเนินการต่อ

- ในส่วน IAM และความปลอดภัย ให้ระบุข้อมูลต่อไปนี้
- เลือกผู้ใช้รายเดียว จากนั้นในช่องอีเมลผู้ใช้ ให้ป้อนบัญชีผู้ใช้ที่คุณต้องการให้สิทธิ์เข้าถึง หากผู้ใช้ที่ระบุไม่ใช่ผู้สร้างอินสแตนซ์ คุณต้องให้บทบาทผู้ใช้บัญชีบริการ (roles/iam.serviceAccountUser) แก่ผู้ใช้ที่ระบุในบัญชีบริการของอินสแตนซ์
- ยกเลิกการเลือก "ใช้บัญชีบริการ Compute Engine เริ่มต้นใน VM เพื่อเรียกใช้ Google Cloud APIs"
- ป้อนอีเมลบัญชีบริการที่สร้างขึ้นใหม่ เช่น user-managed-notebook-sa@my-project-id.iam.gserviceaccount.com
ตัวเลือกความปลอดภัย
- ยกเลิกการเลือก "เปิดใช้การเข้าถึงรูทในอินสแตนซ์"
- ยกเลิกการเลือก "เปิดใช้ nbconvert"
- ยกเลิกการเลือก "เปิดใช้การดาวน์โหลดไฟล์จาก UI ของ JupyterLab"
- เปิดใช้เทอร์มินัล (ยกเลิกการเลือกสำหรับสภาพแวดล้อมที่ใช้งานจริง)
เลือกดำเนินการต่อ

- ในส่วนสถานะของระบบ ให้ระบุข้อมูลต่อไปนี้
การอัปเกรดสภาพแวดล้อมและประสิทธิภาพของระบบ
- เลือกช่องทำเครื่องหมายเปิดใช้การอัปเกรดสภาพแวดล้อมอัตโนมัติ
- เลือกว่าจะอัปเกรด Notebook ทุกสัปดาห์หรือทุกเดือน
ในส่วนสุขภาพและการรายงานของระบบ ให้เลือกหรือยกเลิกการเลือกช่องทำเครื่องหมายต่อไปนี้
- เปิดใช้รายงานประสิทธิภาพของระบบ
- รายงานเมตริกที่กำหนดเองไปยัง Cloud Monitoring
- ติดตั้ง Agent ของ Cloud Monitoring
เลือกสร้าง
10. การตรวจสอบความถูกต้อง
Vertex AI Workbench จะสร้างอินสแตนซ์สมุดบันทึกที่จัดการโดยผู้ใช้ตามพร็อพเพอร์ตี้ที่คุณระบุและเริ่มอินสแตนซ์โดยอัตโนมัติ เมื่ออินสแตนซ์พร้อมใช้งาน Vertex AI Workbench จะเปิดใช้งานลิงก์เปิด JupyterLab ซึ่งช่วยให้ผู้ใช้เข้าถึง Notebook ได้
11. ความสามารถในการสังเกต
ตรวจสอบเมตริกระบบและแอปพลิเคชันผ่านการตรวจสอบ
สำหรับอินสแตนซ์ Notebook ที่ผู้ใช้จัดการซึ่งติดตั้งการตรวจสอบแล้ว คุณสามารถตรวจสอบเมตริกระบบและแอปพลิเคชันได้โดยใช้คอนโซล Google Cloud ดังนี้
- ในคอนโซล Google Cloud ให้ไปที่หน้าสมุดบันทึกที่ผู้ใช้จัดการ
- คลิกชื่ออินสแตนซ์ที่ต้องการดูเมตริกระบบและแอปพลิเคชัน
- ในหน้ารายละเอียด Notebook ให้คลิกแท็บการตรวจสอบ ตรวจสอบเมตริกระบบและแอปพลิเคชันสำหรับอินสแตนซ์
12. สร้างกำหนดการ Notebook
กำหนดการอินสแตนซ์ช่วยให้คุณเริ่มและหยุดอินสแตนซ์เครื่องเสมือน (VM) ได้โดยอัตโนมัติ การใช้ตารางเวลาอินสแตนซ์เพื่อทำให้การติดตั้งใช้งานอินสแตนซ์ VM เป็นแบบอัตโนมัติจะช่วยให้คุณเพิ่มประสิทธิภาพค่าใช้จ่ายและจัดการอินสแตนซ์ VM ได้อย่างมีประสิทธิภาพมากขึ้น คุณใช้ตารางเวลาอินสแตนซ์ได้ทั้งสำหรับเวิร์กโหลดที่เกิดซ้ำและเวิร์กโหลดแบบครั้งเดียว เช่น ใช้ตารางเวลาอินสแตนซ์เพื่อเรียกใช้อินสแตนซ์ VM ในช่วงเวลาทําการเท่านั้น หรือเพื่อจัดสรรความจุสําหรับกิจกรรมแบบครั้งเดียว
หากต้องการใช้ตารางเวลาอินสแตนซ์ ให้สร้างนโยบายทรัพยากรที่ระบุรายละเอียดลักษณะการทำงานของการเริ่มต้นและหยุด แล้วแนบนโยบายกับอินสแตนซ์ VM อย่างน้อย 1 รายการ
บทแนะนำจะแสดงวิธีสร้างกำหนดเวลาอินสแตนซ์ที่จะเปิด Notebook เวลา 07:00 น. และปิดเวลา 18:00 น.
หากต้องการสร้างกำหนดเวลาอินสแตนซ์ คุณจะต้องมีสิทธิ์ compute.instances.start และ compute.instances.stop ดังนั้นเราขอแนะนำให้ใช้บทบาทที่กำหนดเองซึ่งสร้างโดยผู้ดูแลระบบที่ให้สิทธิ์แก่คุณ
เมื่อสร้างแล้ว ระบบจะกำหนดบทบาทที่กำหนดเองให้กับบัญชีบริการ Compute Engine เริ่มต้นในโปรเจ็กต์ ซึ่งจะช่วยให้กำหนดการอินสแตนซ์เริ่มและหยุดสมุดบันทึกได้
สร้างบทบาทที่กำหนดเอง
สร้างบทบาทที่กำหนดเอง VmScheduler และรวมสิทธิ์ที่จำเป็นไว้ใน Cloud Shell
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 ด้วยบทบาทที่กำหนดเอง 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
จัดเก็บชื่อของ Notebook ใน Cloud Shell
gcloud compute instances list
notebook_vm=your_notebookvm_name
echo $notebook_vm
คุณแนบกำหนดเวลาอินสแตนซ์กับอินสแตนซ์ VM ที่มีอยู่ซึ่งอยู่ในภูมิภาคเดียวกับกำหนดเวลาอินสแตนซ์ได้
ใน Cloud Shell ให้เชื่อมโยงกำหนดเวลากับ Notebook
gcloud compute instances add-resource-policies $notebook_vm \
--resource-policies=optimize-notebooks \
--zone=us-central1-a
13. ล้างข้อมูล
ลบ Notebook ที่จัดการโดยผู้ใช้ออกจากคอนโซล โดยไปที่ Vertex AI → Workbench เลือกและลบ Notebook
ลบคอมโพเนนต์ VPC จาก Cloud Shell
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. ขอแสดงความยินดี
เยี่ยมมาก! คุณกำหนดค่าและตรวจสอบ Notebook ที่ผู้ใช้จัดการเองอย่างปลอดภัยได้สำเร็จโดยการสร้าง VPC แบบสแตนด์อโลนที่กำหนดเองโดยใช้แนวทางปฏิบัติแนะนำด้านการเพิ่มความปลอดภัยสำหรับ Notebook ที่มีการจัดการ และใช้ตารางเวลาอินสแตนซ์เพื่อเพิ่มประสิทธิภาพการใช้จ่าย
สิ่งต่อไปที่ควรทำ
ดูบทแนะนำเหล่านี้
- ข้อมูลเบื้องต้นเกี่ยวกับ Vertex Pipelines
- งานการฝึกและงานการคาดการณ์ที่กำหนดเองโดยใช้ชุดข้อมูลที่มีการจัดการ
อ่านเพิ่มเติมและวิดีโอ
- การเริ่มต้นใช้งาน Notebook สำหรับแมชชีนเลิร์นนิง
- เริ่มต้นใช้งาน Vertex AI
- ข้อมูลเบื้องต้นเกี่ยวกับ Generative AI
เอกสารอ้างอิง
- ข้อมูลเบื้องต้น เกี่ยวกับ Vertex AI Workbench
- ข้อมูลเบื้องต้นเกี่ยวกับ Notebook ที่ผู้ใช้จัดการ
- ใช้อินสแตนซ์สมุดบันทึกที่ผู้ใช้จัดการภายในขอบเขตบริการ
- สร้าง บัญชีบริการ
- กำหนดเวลาให้อินสแตนซ์ VM เริ่มและหยุด