Triển khai Model Garden trên một điểm cuối PSC

1. Giới thiệu

Tận dụng Private Service Connect để thiết lập quyền truy cập riêng tư, bảo mật cho các mô hình được triển khai từ Vertex AI Model Garden. Thay vì hiển thị một điểm cuối công khai, phương thức này cho phép bạn triển khai mô hình của mình đến một điểm cuối Vertex AI riêng tư mà chỉ có thể truy cập trong Đám mây riêng tư ảo (VPC) của bạn.

Private Service Connect tạo một điểm cuối có địa chỉ IP nội bộ trong VPC của bạn, kết nối trực tiếp với dịch vụ Vertex AI do Google quản lý đang lưu trữ mô hình của bạn. Điều này cho phép các ứng dụng trong VPC và môi trường tại chỗ (thông qua Cloud VPN hoặc Interconnect) gửi các yêu cầu suy luận bằng cách sử dụng IP riêng tư. Tất cả lưu lượng truy cập mạng vẫn nằm trên mạng của Google, giúp tăng cường bảo mật, giảm độ trễ và hoàn toàn tách biệt điểm cuối phân phát của mô hình với Internet công cộng.

4a78228d4197997c.png

Sản phẩm bạn sẽ tạo ra

Trong hướng dẫn này, bạn sẽ tải Gemma 3 xuống từ Model Garden, được lưu trữ trong Vertex AI Online Inference dưới dạng một điểm cuối riêng tư có thể truy cập thông qua Private Service Connect. Quá trình thiết lập mã hoá hai đầu sẽ bao gồm:

  1. Mô hình trong Model Garden: Bạn sẽ chọn Gemma 3 trong Vertex AI Model Garden và triển khai mô hình này đến một điểm cuối Kết nối dịch vụ riêng tư.
  2. Private Service Connect: Bạn sẽ định cấu hình một điểm cuối của người dùng trong Đám mây riêng ảo (VPC) bao gồm một địa chỉ IP nội bộ trong mạng của riêng bạn.
  3. Kết nối an toàn với Vertex AI: Điểm cuối PSC sẽ nhắm đến Service Attachment do Vertex AI tự động tạo cho việc triển khai mô hình riêng tư của bạn. Điều này thiết lập một kết nối riêng tư, đảm bảo lưu lượng truy cập giữa VPC của bạn và điểm cuối phân phát mô hình không đi qua Internet công cộng.
  4. Cấu hình ứng dụng trong VPC: Bạn sẽ thiết lập một ứng dụng (ví dụ: Compute Engine VM) trong VPC để gửi các yêu cầu suy luận đến mô hình đã triển khai bằng địa chỉ IP nội bộ của điểm cuối PSC.

Đến cuối khoá học, bạn sẽ có một ví dụ minh hoạ chức năng về một mô hình Model Garden được phân phát riêng tư, chỉ có thể truy cập từ bên trong mạng VPC được chỉ định của bạn.

Kiến thức bạn sẽ học được

Trong hướng dẫn này, bạn sẽ tìm hiểu cách triển khai một mô hình từ Vertex AI Model Garden và giúp mô hình này có thể truy cập một cách an toàn từ Đám mây riêng ảo (VPC) bằng cách sử dụng Kết nối dịch vụ riêng tư (PSC). Phương thức này cho phép các ứng dụng của bạn trong VPC (người dùng) kết nối riêng tư với điểm cuối mô hình Vertex AI (dịch vụ nhà sản xuất) mà không cần đi qua Internet công cộng.

Cụ thể, bạn sẽ tìm hiểu:

  1. Tìm hiểu về PSC cho Vertex AI: Cách PSC cho phép các kết nối riêng tư và bảo mật từ người tiêu dùng đến nhà sản xuất. VPC của bạn có thể truy cập vào mô hình Model Garden đã triển khai bằng địa chỉ IP nội bộ.
  2. Triển khai mô hình có quyền truy cập riêng tư: Cách định cấu hình một Điểm cuối Vertex AI cho mô hình trong Model Garden để sử dụng PSC, biến điểm cuối đó thành điểm cuối riêng tư.
  3. Vai trò của Service Attachment: Khi bạn triển khai một mô hình đến một Điểm cuối Vertex AI riêng tư, Google Cloud sẽ tự động tạo một Service Attachment trong một dự án người thuê do Google quản lý. Service Attachment này cung cấp dịch vụ phân phát mô hình cho các mạng lưới người tiêu dùng.
  4. Tạo điểm cuối PSC trong VPC:
  • Cách lấy URI Đính kèm dịch vụ duy nhất từ thông tin chi tiết về Điểm cuối Vertex AI đã triển khai.
  • Cách đặt trước địa chỉ IP nội bộ trong mạng con bạn chọn trong VPC.
  • Cách tạo Quy tắc chuyển tiếp trong VPC đóng vai trò là Điểm cuối PSC, nhắm đến Tệp đính kèm dịch vụ Vertex AI. Điểm cuối này giúp mô hình có thể truy cập thông qua IP nội bộ dành riêng.
  1. Thiết lập kết nối riêng tư: Cách điểm cuối PSC trong VPC của bạn kết nối với Service Attachment, kết nối mạng của bạn với dịch vụ Vertex AI một cách an toàn.
  2. Gửi riêng tư các yêu cầu suy luận: Cách gửi yêu cầu dự đoán từ các tài nguyên (chẳng hạn như máy ảo Compute Engine) trong VPC của bạn đến địa chỉ IP nội bộ của Điểm cuối PSC.
  3. Xác thực: Các bước kiểm thử và xác nhận rằng bạn có thể gửi thành công các yêu cầu suy luận từ VPC đến mô hình Model Garden đã triển khai thông qua kết nối riêng tư.

Khi hoàn tất bước này, bạn sẽ có thể lưu trữ các mô hình từ Model Garden mà chỉ có thể truy cập được từ cơ sở hạ tầng mạng riêng của bạn.

Bạn cần có

Dự án trên Google Cloud

Quyền IAM

2. Trước khi bắt đầu

Cập nhật dự án để hỗ trợ hướng dẫn

Hướng dẫn này sử dụng $variables để hỗ trợ việc triển khai cấu hình gcloud trong Cloud Shell.

Trong Cloud Shell, hãy thực hiện các bước sau:

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
projectid=[YOUR-PROJECT-ID]
echo $projectid

Bật API

Trong Cloud Shell, hãy thực hiện các bước sau:

gcloud services enable "compute.googleapis.com"
gcloud services enable "aiplatform.googleapis.com"
gcloud services enable "serviceusage.googleapis.com"

3. Triển khai mô hình

Làm theo các bước dưới đây để triển khai mô hình của bạn từ Model Garden

Trong bảng điều khiển Google Cloud, hãy Chuyển đến Model Garden rồi tìm và chọn Gemma 3

10c7ce35cfc571dc.png

Nhấp vào Deploy options (Lựa chọn triển khai) rồi chọn Vertex AI

ed9280fcc5f4c3fa.png

Trong ngăn Triển khai trên Vertex AI, hãy chọn Nâng cao. Khu vực và Thông số kỹ thuật của máy được điền sẵn dựa trên công suất hiện có. Bạn có thể thay đổi các giá trị này, mặc dù lớp học lập trình được điều chỉnh cho us-central1.

3f7e4cefdc06488a.png

Trong ngăn Triển khai trên Vertex AI, hãy đảm bảo bạn đã định cấu hình Quyền truy cập vào điểm cuối là Private Service Connect, sau đó chọn Dự án của bạn.

d0f0d9bc49205fb3.png

Để nguyên tất cả các giá trị mặc định cho các lựa chọn khác, sau đó chọn Triển khai ở dưới cùng và Kiểm tra thông báo để biết trạng thái triển khai.

9bd3b10256b7b2cc.png

Trong Model Garden, hãy chọn khu vực us-central1 cung cấp mô hình và điểm cuối Gemma 3. Quá trình triển khai mô hình mất khoảng 5 phút.

e998ee6288a8a7a.png

Trong 30 phút, điểm cuối sẽ chuyển sang trạng thái "Đang hoạt động" sau khi hoàn tất

9dcc7c56dbe0e88a.png

Lấy và ghi lại Mã nhận dạng điểm cuối bằng cách chọn điểm cuối.

6e3e2feef82fadd5.png

Mở Cloud Shell và thực hiện các bước sau để lấy URI của Private Service Connect Service Attachment. Chuỗi URI này được người tiêu dùng sử dụng khi triển khai một điểm cuối người tiêu dùng PSC.

Trong Cloud Shell, hãy cập nhật Mã nhận dạng điểm cuối, sau đó đưa ra lệnh sau.

gcloud ai endpoints describe [Endpoint ID] --region=us-central1  | grep -i serviceAttachment:

Dưới đây là một ví dụ:

user@cloudshell:$ gcloud ai endpoints describe 2124795225560842240 --region=us-central1 | grep -i serviceAttachment:

Using endpoint [https://us-central1-aiplatform.googleapis.com/]
    serviceAttachment: projects/o9457b320a852208e-tp/regions/us-central1/serviceAttachments/gkedpm-52065579567eaf39bfe24f25f7981d

Sao chép nội dung sau serviceAttachment vào một biến có tên là "Service_attachment". Bạn sẽ cần biến này sau khi tạo mối kết nối PSC.

user@cloudshell:$ Service_attachment=projects/o9457b320a852208e-tp/regions/us-central1/serviceAttachments/gkedpm-52065579567eaf39bfe24f25f7981d

4. Thiết lập người tiêu dùng

Tạo VPC người tiêu dùng

Trong Cloud Shell, hãy thực hiện các bước sau:

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

Tạo mạng con VM của người tiêu dùng

Trong Cloud Shell, hãy thực hiện các bước sau:

gcloud compute networks subnets create consumer-vm-subnet --project=$projectid --range=192.168.1.0/24 --network=consumer-vpc --region=us-central1 --enable-private-ip-google-access

Tạo mạng con Điểm cuối PSC

gcloud compute networks subnets create pscendpoint-subnet --project=$projectid --range=10.10.10.0/28 --network=consumer-vpc --region=us-central1

5. Bật IAP

Để cho phép IAP kết nối với các phiên bản máy ảo, hãy tạo một quy tắc tường lửa có:

  • Áp dụng cho tất cả các phiên bản máy ảo mà bạn muốn có thể truy cập bằng IAP.
  • Cho phép lưu lượng truy cập vào từ dải IP 35.235.240.0/20. Dải địa chỉ này chứa tất cả địa chỉ IP mà IAP sử dụng để chuyển tiếp TCP.

Trong Cloud Shell, hãy tạo quy tắc tường lửa IAP.

gcloud compute firewall-rules create ssh-iap-consumer \
    --network consumer-vpc \
    --allow tcp:22 \
    --source-ranges=35.235.240.0/20

6. Tạo phiên bản máy ảo cho người tiêu dùng

Trong Cloud Shell, hãy tạo phiên bản vm người dùng, consumer-vm.

gcloud compute instances create consumer-vm \
    --project=$projectid \
    --machine-type=e2-micro \
    --image-family debian-11 \
    --no-address \
    --shielded-secure-boot \
    --image-project debian-cloud \
    --zone us-central1-a \
    --subnet=consumer-vm-subnet 

7. Điểm cuối của Private Service Connect

Người dùng tạo một điểm cuối của người dùng (quy tắc chuyển tiếp) có địa chỉ IP nội bộ trong VPC của họ. Điểm cuối PSC này nhắm đến tệp đính kèm dịch vụ của nhà sản xuất. Các máy khách trong VPC của người tiêu dùng hoặc mạng kết hợp có thể gửi lưu lượng truy cập đến địa chỉ IP nội bộ này để truy cập vào dịch vụ của nhà sản xuất.

Dành riêng một địa chỉ IP cho điểm cuối của người tiêu dùng.

Trong Cloud Shell, hãy tạo quy tắc chuyển tiếp.

gcloud compute addresses create psc-address \
    --project=$projectid \
    --region=us-central1 \
    --subnet=pscendpoint-subnet \
    --addresses=10.10.10.6

Xác minh rằng địa chỉ IP đã được đặt trước

Trong Cloud Shell, hãy liệt kê địa chỉ IP dành riêng.

gcloud compute addresses list 

Bạn sẽ thấy địa chỉ IP 10.10.10.6 được đặt trước.

edb5661bea25cd14.png

Tạo điểm cuối của người dùng bằng cách chỉ định URI của tệp đính kèm dịch vụ, target-service-attachment mà bạn đã chụp ở bước trước đó, phần Triển khai mô hình.

Trong Cloud Shell, hãy mô tả network attachment.

 gcloud compute forwarding-rules create psc-consumer-ep \
    --network=consumer-vpc \
    --address=psc-address \
    --region=us-central1 \
    --target-service-attachment=$Service_attachment \
    --project=$projectid

Xác minh rằng tệp đính kèm dịch vụ chấp nhận điểm cuối

gcloud compute forwarding-rules describe psc-consumer-ep \
    --project=$projectid \
    --region=us-central1 \

Trong phản hồi, hãy xác minh rằng trạng thái "ACCEPTED" xuất hiện trong trường pscConnectionStatus

6c66347ede9d4c7d.png

8. Kiểm thử từ VM người tiêu dùng

Trong Cloud Shell, hãy thực hiện các bước sau để cấp quyền truy cập vào VM người dùng nhằm truy cập Vertex Model Garden API

SSH vào VM người dùng

f0984d9e60530cb2.png

Xác thực lại bằng Thông tin xác thực mặc định của ứng dụng và chỉ định các phạm vi Vertex AI.

gcloud auth application-default login
--scopes=https://www.googleapis.com/auth/cloud-platform 

Sử dụng bảng bên dưới để tạo lệnh CURLl, điều chỉnh dựa trên môi trường của bạn

Thuộc tính

Giá trị

Giao thức

HTTP

Thông tin vị trí

us-central1

Điểm cuối dự đoán trực tuyến

2133539641536544768

Mã dự án

test4-473419

Mô hình

gemma-3-12b-it

IP điểm cuối Private Service Connect

10.10.10.6

Tin nhắn

[{"role": "user","content": "1 pound lông hay đá nặng hơn?"}]

Cập nhật và thực thi lệnh curl dựa trên thông tin chi tiết về môi trường của bạn:

curl -k -v -X POST   -H "Authorization: Bearer $(gcloud auth application-default print-access-token)"   -H "Content-Type: application/json"   http://[PSC-IP]/v1/projects/[Project-ID]/locations/us-central1/endpoints/[Predictions Endpoint]/chat/completions   -d '{"model": "google/gemma-3-12b-it", "messages": [{"role": "user","content": "What weighs more 1 pound of feathers or rocks?"}] }'

Ví dụ:

curl -k -v -X POST   -H "Authorization: Bearer $(gcloud auth application-default print-access-token)"   -H "Content-Type: application/json"   http://10.10.10.6/v1/projects/test4-473419/locations/us-central1/endpoints/2133539641536544768/chat/completions   -d '{"model": "google/gemma-3-12b-it", "messages": [{"role": "user","content": "What weighs more 1 pound of feathers or rocks?"}] }'

KẾT QUẢ CUỐI CÙNG – THÀNH CÔNG!!!

Bạn sẽ thấy kết quả dự đoán từ Gemma 3 ở cuối đầu ra. Điều này cho thấy bạn có thể truy cập vào điểm cuối API một cách riêng tư thông qua điểm cuối PSC

 Connection #0 to host 10.10.10.6 left intact
{"id":"chatcmpl-9e941821-65b3-44e4-876c-37d81baf62e0","object":"chat.completion","created":1759009221,"model":"google/gemma-3-12b-it","choices":[{"index":0,"message":{"role":"assistant","reasoning_content":null,"content":"This is a classic trick question! They weigh the same. One pound is one pound, regardless of the material. 😊\n\n\n\n","tool_calls":[]},"logprobs":null,"finish_reason":"stop","stop_reason":106}],"usage":{"prompt_tokens":20,"total_tokens":46,"completion_tokens":26,"prompt_tokens_details":null},"prompt_logprobs":null

9. Dọn dẹp

Trong Cloud Shell, hãy xoá các thành phần hướng dẫn.

gcloud ai endpoints undeploy-model ENDPOINT_ID --deployed-model-id=DEPLOYED_MODEL_ID --region=us-central1 --quiet

gcloud ai endpoints delete $ENDPOINT_ID --project=$projectid --region=us-central1 --quiet

gcloud ai models delete $MODEL_ID --project=$projectid --region=us-central1 --quiet

gcloud compute instances delete consumer-vm --zone=us-central1-a --quiet

gcloud compute forwarding-rules delete psc-consumer-ep --region=us-central1 --project=$projectid --quiet

gcloud compute addresses delete psc-address --region=us-central1 --project=$projectid --quiet

gcloud compute networks subnets delete pscendpoint-subnet consumer-vm-subnet --region=us-central1 --quiet

gcloud compute firewall-rules delete ssh-iap-consumer --project=$projectid

gcloud compute networks delete consumer-vpc --project=$projectid --quiet

gcloud projects delete $projectid --quiet

10. Xin chúc mừng

Chúc mừng bạn đã định cấu hình và xác thực thành công quyền truy cập riêng tư vào Gemma 3 API được lưu trữ trên Vertex AI Prediction bằng Điểm cuối Private Service Connect.

Bạn đã tạo cơ sở hạ tầng người dùng, bao gồm cả việc đặt trước một địa chỉ IP nội bộ và định cấu hình một Điểm cuối Kết nối dịch vụ riêng tư (một quy tắc chuyển tiếp) trong VPC của bạn. Điểm cuối này kết nối an toàn với dịch vụ Vertex AI bằng cách nhắm đến tệp đính kèm dịch vụ được liên kết với mô hình Gemma 3 mà bạn đã triển khai. Chế độ thiết lập này cho phép các ứng dụng của bạn trong VPC hoặc các mạng được kết nối tương tác với Gemma 3 API một cách riêng tư và an toàn, bằng cách sử dụng địa chỉ IP nội bộ mà không yêu cầu lưu lượng truy cập đi qua Internet công cộng.

Tài liệu đọc thêm và video

Tài liệu tham khảo