1. Giới thiệu
Tận dụng Private Service Connect (PSC) để thiết lập quyền truy cập riêng tư, có độ bảo mật cao 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ư chỉ có thể truy cập trong Đám mây riêng ả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 yêu cầu suy luận bằng cách sử dụng IP riêng tư.
Điều quan trọng là tất cả lưu lượng truy cập mạng giữa VPC của bạn và điểm cuối Vertex AI riêng tư vẫn nằm trên mạng chuyên dụng của Google, hoàn toàn tách biệt với Internet công cộng. Ngoài ra, kết nối riêng tư này được bảo mật trong quá trình truyền bằng cách sử dụng phương thức mã hoá TLS. Tính năng mã hoá đầu cuối này đảm bảo rằng các yêu cầu dự đoán và phản hồi của mô hình đều được bảo vệ, giúp tăng cường tính bảo mật và tính toàn vẹn của dữ liệu. Việc kết hợp tính năng cách ly mạng thông qua PSC và phương thức mã hoá TLS mang đến một môi trường bảo mật mạnh mẽ cho các hoạt động dự đoán trực tuyến của bạn, giúp giảm độ trễ và tăng cường đáng kể khả năng bảo mật.

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:
- 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 Private Service Connect.
- 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.
- 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.
- Cấu hình máy khách trong VPC: Bạn sẽ thiết lập một máy khách (ví dụ: máy ảo Compute Engine) 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.
- Xác minh hoạt động mã hoá TLS: Từ máy ảo ứng dụng trong VPC, bạn sẽ sử dụng các công cụ tiêu chuẩn ( openssl s_client) để kết nối với địa chỉ IP nội bộ của điểm cuối PSC. Bước này sẽ giúp bạn xác nhận rằng kênh giao tiếp với dịch vụ Vertex AI thực sự được mã hoá bằng TLS bằng cách kiểm tra thông tin chi tiết về cơ chế bắt tay và chứng chỉ máy chủ được trình bày.
Đế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 đó có thể truy cập một cách an toàn từ Đám mây riêng ảo (VPC) bằng Private Service Connect (PSC). Phương thức này cho phép các ứng dụng trong VPC của bạn (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:
- 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à an toàn từ người dùng đến nhà cung cấp. 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ộ.
- Triển khai một 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 Model Garden để sử dụng PSC, biến điểm cuối đó thành một điểm cuối riêng tư.
- 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 đối tượng 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.
- Tạo điểm cuối PSC trong VPC:
- Cách lấy URI Service Attachment 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 một Quy tắc chuyển tiếp trong VPC đóng vai trò là Điểm cuối PSC, nhắm đến Vertex AI Service Attachment. Điểm cuối này giúp mô hình có thể truy cập thông qua IP nội bộ được đặt trước.
- 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.
- 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 đến địa chỉ IP nội bộ của Điểm cuối PSC.
- 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ư.
- Xác minh hoạt động mã hoá TLS: Cách sử dụng các công cụ trong ứng dụng VPC (ví dụ: máy ảo Compute Engine) để kết nối qua TLS với địa chỉ IP nội bộ của Điểm cuối PSC.
Khi hoàn tất bước này, bạn sẽ có thể lưu trữ các mô hình trong 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
- Quản trị viên Nền tảng Trí tuệ nhân tạo (roles/ml.Admin)
- Quản trị viên mạng máy tính (roles/compute.networkAdmin)
- Quản trị viên thực thể Compute (roles/compute.instanceAdmin)
- Quản trị viên bảo mật điện toán (roles/compute.securityAdmin)
- Quản trị viên DNS (roles/dns.admin)
- Người dùng đường hầm được bảo mật bằng IAP (roles/iap.tunnelResourceAccessor)
- Quản trị viên ghi nhật ký (roles/logging.admin)
- Quản trị viên Notebook (roles/notebooks.admin)
- Quản trị viên IAM dự án (roles/resourcemanager.projectIamAdmin)
- Quản trị viên tài khoản dịch vụ (roles/iam.serviceAccountAdmin)
- Quản trị viên sử dụng dịch vụ (roles/serviceusage.serviceUsageAdmin)
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"
gcloud services enable dns.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 Cloud, hãy Chuyển đến Model Garden rồi tìm và chọn Gemma 3

Nhấp vào Triển khai mô hình rồi chọn Vertex AI

Chọn Chỉnh sửa chế độ cài đặt ở cuối mục Cài đặt triển khai

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.

Để 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.

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.

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

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.

Chọn điểm cuối để truy xuất Mã nhận dạng điểm cuối và cập nhật biến. Trong ví dụ minh hoạ, mã nhận dạng là 1934769929467199488.
Trong Cloud Shell, hãy thực hiện các bước sau:
endpointID=<Enter_Your_Endpoint_ID>
region=us-central1
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 dùng biến Endpoint ID/Region (Mã nhận dạng điểm cuối/Khu vực), sau đó đưa ra lệnh sau:
gcloud ai endpoints describe $endpointID --region=$region | grep -i serviceAttachment:
Dưới đây là một ví dụ:
user@cloudshell:$ gcloud ai endpoints describe 1934769929467199488 --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=<Enter_Your_ServiceAttachment>
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=$region --enable-private-ip-google-access
Tạo mạng con Điểm cuối PSC, bên trong Cloud Shell, hãy thực hiện các bước sau**:**
gcloud compute networks subnets create pscendpoint-subnet --project=$projectid --range=10.10.10.0/28 --network=consumer-vpc --region=$region
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 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 thực thể 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 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=$region \
--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.

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=$region \
--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.
Trong Cloud Shell, hãy thực hiện các bước sau:
gcloud compute forwarding-rules describe psc-consumer-ep \
--project=$projectid \
--region=$region
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

8. Thiết lập để kết nối với điểm cuối HTTPS của Vertex thông qua TLS
Tạo một vùng DNS riêng tư để bạn có thể nhận được Suy luận trực tuyến mà không cần chỉ định địa chỉ IP.
Trong Cloud Shell, hãy thực hiện các bước sau:
DNS_NAME_SUFFIX="prediction.p.vertexai.goog."
gcloud dns managed-zones create vertex \
--project=$projectid \
--dns-name=$DNS_NAME_SUFFIX \
--networks=consumer-vpc \
--visibility=private \
--description="A DNS zone for Vertex AI endpoints using Private Service Connect."
Tạo bản ghi A để liên kết miền với địa chỉ IP PSC.
Trong Cloud Shell, hãy thực hiện các bước sau:
gcloud dns record-sets create "*.prediction.p.vertexai.goog." \
--zone=vertex \
--type=A \
--ttl=300 \
--rrdatas="10.10.10.6"
Tạo phiên bản Cloud Router làm điều kiện tiên quyết cho phiên bản NAT.
Trong Cloud Shell, hãy thực hiện các bước sau:
gcloud compute routers create consumer-cr \
--region=$region --network=consumer-vpc \
--asn=65001
Tạo thực thể Cloud NAT dùng để tải các gói openssl và dnsutils xuống.
Trong Cloud Shell, hãy thực hiện các bước sau:
gcloud compute routers nats create consumer-nat-gw \
--router=consumer-cr \
--region=$region \
--nat-all-subnet-ip-ranges \
--auto-allocate-nat-external-ips
Kết nối qua ssh (bảng điều khiển) với VM người dùng. Trong Cloud Shell, hãy thực hiện các bước sau:
gcloud compute ssh --zone "us-central1-a" "consumer-vm" --tunnel-through-iap --project "$projectid"
Cập nhật các gói bên dưới, cài đặt open-ssl và cài đặt các tiện ích DNS
Trong Cloud Shell, hãy thực hiện các bước sau:
sudo apt update
sudo apt install openssl
sudo apt-get install -y dnsutils
Bạn sẽ cần Số dự án trong bước tiếp theo. Để lấy số dự án, hãy chạy lệnh sau từ Cloud Shell và đặt số dự án vào một Biến:
Trong Cloud Shell, hãy thực hiện các bước sau:
gcloud projects describe $projectid --format="value(projectNumber)"
Example Output: 549538389202
projectNumber=549538389202
Bạn sẽ cần một vài biến khác được xác định trong vài bước tiếp theo, hãy xác định các biến này(ENDPOINT_ID, REGION, VERTEX_AI_PROJECT_ID) bằng cách chụp các biến đó từ cloud shell trước, sau đó tạo các biến tương tự trong VM.
Trong Cloud Shell, hãy thực hiện các bước sau:
echo $projectNumber
echo $projectid
echo $region
echo $endpointID
Ví dụ về kết quả đầu ra bên dưới:
549538389202
test4-473419
Us-central1
1934769929467199s
Trong VM người dùng, hãy thêm các biến này – ví dụ bên dưới:
projectNumber=1934769929467199488
projectid=test4-473419
region=us-central1
endpointID=1934769929467199488
Tải chứng chỉ Vertex AI xuống bằng cách thực thi lệnh sau từ thư mục chính trong máy ảo. Lệnh này sẽ tạo một tệp có tên là vertex_certificate.crt.
sudo openssl s_client -showcerts -connect $endpointID-$region-$projectNumber.prediction.p.vertexai.goog:443 </dev/null | openssl x509 -outform pem -out vertex_certificate.crt
Output should look like below, error is expected.

Di chuyển chứng chỉ vào kho lưu trữ uy tín của hệ thống.
sudo mv vertex_certificate.crt /usr/local/share/ca-certificates
Cập nhật trình quản lý chứng chỉ.
sudo update-ca-certificates
Sau khi được cập nhật, tệp này sẽ có dạng như sau.
user@linux-vm:~$ sudo update-ca-certificates
Updating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
Done.
9. Thử nghiệm cuối cùng từ VM người tiêu dùng
Trên VM người dùng, hãy 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
Trong VM người dùng, hãy chạy lệnh curl sau để kiểm thử tính năng Dự đoán cho Mô hình Gemini bằng câu lệnh "1 pound lông và 1 pound đá, cái nào nặng hơn?
curl -v -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" -H "Content-Type: application/json" https://$endpointID-$region-$projectNumber.prediction.p.vertexai.goog/v1/projects/$projectid/locations/$region/endpoints/$endpointID/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!!!
Kết quả bạn sẽ thấy là 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
10. Dọn dẹp
Trong Cloud Shell, hãy xoá các thành phần hướng dẫn.
Get Deployed Model ID first with this command, you will need it to delete the Endpoint ID:
gcloud ai endpoints describe $endpointID \
--region=$region \
--project=$projectid \
--format="table[no-heading](deployedModels.id)"
Example Output: 7389140900875599872
Put it in a Variable:
deployedModelID=7389140900875599872
Run following Commands:
gcloud ai endpoints undeploy-model $endpointID --deployed-model-id=$deployedModelID --region=$region --quiet
gcloud ai endpoints delete $endpointID --project=$projectid --region=$region --quiet
Run Following command to get $MODEL_ID to delete Model:
gcloud ai models list --project=$projectid --region=$region
Example Output:
Using endpoint [https://us-central1-aiplatform.googleapis.com/]
MODEL_ID: gemma-3-12b-it-1768409471942
DISPLAY_NAME: gemma-3-12b-it-1768409471942
Put MODEL_ID value in a variable:
MODEL_ID=gemma-3-12b-it-1768409471942
Run the follow command to delete Model:
gcloud ai models delete $MODEL_ID --project=$projectid --region=$region --quiet
Clean up rest of the lab:
gcloud compute instances delete consumer-vm --zone=us-central1-a --quiet
gcloud compute forwarding-rules delete psc-consumer-ep --region=$region --project=$projectid --quiet
gcloud compute addresses delete psc-address --region=$region --project=$projectid --quiet
gcloud compute networks subnets delete pscendpoint-subnet consumer-vm-subnet --region=$region --quiet
gcloud compute firewall-rules delete ssh-iap-consumer --project=$projectid
gcloud compute routers delete consumer-cr --region=$region
gcloud compute networks delete consumer-vpc --project=$projectid --quiet
11. 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ằng chứng chỉ tự ký lấy từ Vertex AI và triển khai vào kho lưu trữ uy tín của VM.
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ộ, định cấu hình một Điểm cuối Private Service Connect (một quy tắc chuyển tiếp) trong VPC và DNS riêng tư để khớp với chứng chỉ tự ký *prediction.p.vertexai.goog. Đ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 đã triển khai của bạn.
Chế độ thiết lập này đảm bảo các ứng dụng của bạn trong VPC hoặc các mạng được kết nối có thể tương tác riêng tư với Gemma 3 API bằng địa chỉ IP nội bộ bằng cách sử dụng chứng chỉ. Tất cả lưu lượng truy cập vẫn nằm trong mạng của Google, không bao giờ đi qua Internet công cộng.