Vertex AI truy cập vào các điểm cuối dự đoán trực tuyến một cách riêng tư bằng PSC

1. Giới thiệu

Các máy chủ lưu trữ tại cơ sở có thể truy cập Dự đoán trực tuyến một cách tự nhiên thông qua Internet công cộng (lựa chọn 1) hoặc bằng cách sử dụng Cloud VPN hay Cloud Interconnect với Private Service Connect (PSC) (lựa chọn 2) từ mạng tại cơ sở, cả hai đều cung cấp mã hoá SSL/TLS. Kết nối kết hợp với dự đoán trực tuyến qua kết nối hiệu quả hơn kết nối Internet, do đó được khuyến nghị cho các ứng dụng quan trọng như minh hoạ trong Hình 1.

Trong hướng dẫn này, chúng tôi sẽ minh hoạ cách sử dụng VPN có tính sẵn sàng cao (HA VPN) để truy cập vào tính năng Dự đoán trực tuyến một cách riêng tư giữa hai mạng VPC. Đây là cơ sở để kết nối riêng tư trên nhiều đám mây và tại cơ sở hạ tầng riêng.

Lưu ý: Vertex Online Prediction là một điểm cuối công khai, do đó, bạn muốn hạn chế quyền truy cập bằng dịch vụ VPC Service Controls (VPC-SC) để tạo phạm vi bảo mật nhằm cho phép hoặc từ chối quyền truy cập vào Vertex và Googleapis khác. Hướng dẫn này không bao gồm VPC-SC. Để biết thêm thông tin, hãy tham khảo bài viết Các biện pháp kiểm soát dịch vụ VPC-SC với Vertex AI

24a07ba49a7bcb16.png.

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

Bạn sẽ thiết lập một mạng lưới VPC có tên là on-prem-vpc để đại diện cho một môi trường tại cơ sở hạ tầng riêng. Để triển khai, on-prem-vpc sẽ không tồn tại. Thay vào đó, hệ thống sẽ sử dụng kết nối mạng kết hợp với trung tâm dữ liệu tại cơ sở riêng hoặc nhà cung cấp dịch vụ đám mây.

Bạn sẽ xây dựng một cấu trúc Kết nối dịch vụ riêng tư toàn diện minh hoạ việc truy cập Dự đoán trực tuyến công khai qua Cloud NAT và Riêng tư sử dụng PSC thay vì HA VPN theo thông tin chi tiết bên dưới.

b545c808b366341a.png

Sau khi tính năng dự đoán trực tuyến được triển khai trong Dự án Google Cloud, bạn sẽ tìm hiểu các trường hợp sử dụng sau:

Quyền truy cập công khai vào thông tin dự đoán trực tuyến bao gồm:

  • Tạo một thực thể GCE (nat-client) tận dụng NAT để truy cập Internet đầu ra
  • Sử dụng CURL để suy luận dựa trên mô hình
  • Sử dụng TCPDUMP để xác thực rằng cụm từ gợi ý trực tuyến được truy cập thông qua một VIP công khai

Quyền truy cập riêng tư vào cụm từ gợi ý trực tuyến bao gồm:

  • Triển khai mô hình cho điểm cuối dự đoán trực tuyến aVertex trong dự án
  • Tạo một Điểm cuối Kết nối dịch vụ riêng tư (Googleapis) trong intentl-vpc
  • Xuất địa chỉ IP PSC qua bộ định tuyến đám mây dưới dạng quảng cáo tuỳ chỉnh sang VPC tại cơ sở
  • Tạo một thực thể GCE (riêng tư-ứng dụng) và cập nhật tệp v.v./máy chủ bằng IP điểm cuối PSC
  • Sử dụng CURL để suy luận dựa trên mô hình
  • Sử dụng TCPDUMP để xác thực rằng người dùng truy cập vào thông tin dự đoán trực tuyến thông qua Địa chỉ IP điểm cuối PSC

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

  • Cách thiết lập điểm cuối Kết nối dịch vụ riêng tư
  • Cách quảng cáo IP điểm cuối PSC qua Cloud Router
  • Cách sử dụng TCPDUMP để xác thực quyền truy cập Dự đoán trực tuyến, cả Công khai lẫn Riêng tư

Bạn cần có

  • Dự án trong Google Cloud

Quyền quản lý danh tính và quyền truy cập (IAM)

Quản trị viên mạng điện toán

Trình chỉnh sửa thư mục dịch vụ

Quản trị viên DNS

Quản trị viên mạng

Quản trị viên hạn mức

Quản trị viên sổ tay

Người dùng tài khoản dịch vụ

Quản trị viên bộ nhớ

Người dùng Vertex AI

Quản trị viên tài khoản dịch vụ

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.

Bên trong Cloud Shell, hãy thực hiện như sau:

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

3. Bật dịch vụ

Bên trong Cloud Shell, hãy thực hiện như sau:

gcloud services enable dns.googleapis.com
gcloud services enable aiplatform.googleapis.com
gcloud services enable iam.googleapis.com 
gcloud services enable compute.googleapis.com 
gcloud services enable notebooks.googleapis.com

4. Thiết lập{/4}l-vpc

Tạo intentl-vpc

Bên trong Cloud Shell, hãy thực hiện như sau:

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

Tạo mạng con cho sổ tay do người dùng quản lý

Bên trong Cloud Shell, hãy thực hiện như sau:

gcloud compute networks subnets create workbench-subnet --project=$projectid --range=172.16.10.0/28 --network=aiml-vpc --region=us-central1 --enable-private-ip-google-access

Cấu hình Cloud Router và NAT

Cloud NAT được dùng trong hướng dẫn tải gói phần mềm sổ tay xuống vì phiên bản sổ tay do người dùng quản lý không có địa chỉ IP bên ngoài. Cloud NAT cũng cung cấp chức năng NAT đầu ra, tức là các máy chủ Internet không được phép bắt đầu giao tiếp với sổ tay do người dùng quản lý, nhờ đó tăng cường bảo mật cho sổ tay đó.

Bên trong Cloud Shell, hãy tạo bộ định tuyến đám mây theo khu vực.

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

Bên trong Cloud Shell, hãy tạo cổng vào đám mây theo khu vực.

gcloud compute routers nats create cloud-nat-us-central1 --router=cloud-router-us-central1-aiml-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1

5. thiết lập tại chỗ

Tạo tại chỗ

Bên trong Cloud Shell, hãy thực hiện như sau:

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

Tạo nat-subnet

Bên trong Cloud Shell, hãy thực hiện như sau:

gcloud compute networks subnets create nat-subnet --project=$projectid --range=192.168.10.0/28 --network=on-prem-vpc --region=us-central1

Tạo mạng con ip riêng tư

Bên trong Cloud Shell, hãy thực hiện như sau:

gcloud compute networks subnets create private-ip-subnet --project=$projectid --range=192.168.20.0/28 --network=on-prem-vpc --region=us-central1

Cấu hình Cloud Router và NAT

Cloud NAT được sử dụng trong hướng dẫn tải gói phần mềm xuống. Cloud NAT cũng cung cấp chức năng NAT đầu ra, tức là các máy chủ Internet không được phép bắt đầu giao tiếp với điện toán, giúp tăng cường tính bảo mật.

Bên trong Cloud Shell, hãy tạo bộ định tuyến đám mây theo khu vực.

gcloud compute routers create cloud-router-us-central1-on-prem-nat --network on-prem-vpc --region us-central1

Bên trong Cloud Shell, hãy tạo cổng vào đám mây theo khu vực.

gcloud compute routers nats create cloud-nat-us-central1 --router=cloud-router-us-central1-on-prem-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1

6. Tạo điểm cuối Private Service Connect

Trong phần sau, bạn sẽ tạo một điểm cuối của Kết nối dịch vụ riêng tư (PSC) dùng để truy cập vào Vertex API qua hệ thống tại chỗ. Địa chỉ IP PSC 100.100.10.10 sẽ được quảng cáo từ kế hoạch quảng cáo bộ định tuyến tùy chỉnh cho mạng tại chỗ trong bước tiếp theo.

Của Cloud Shell

gcloud compute addresses create psc-ip \
    --global \
    --purpose=PRIVATE_SERVICE_CONNECT \
    --addresses=100.100.10.10 \
    --network=aiml-vpc

Tạo điểm cuối PSC

Của Cloud Shell

gcloud compute forwarding-rules create pscvertex \
    --global \
    --network=aiml-vpc \
    --address=psc-ip \
    --target-google-apis-bundle=all-apis

Liệt kê các điểm cuối của Private Service Connect đã định cấu hình

Của Cloud Shell

gcloud compute forwarding-rules list  \
--filter target="(all-apis OR vpc-sc)" --global

Mô tả các điểm cuối của Private Service Connect đã định cấu hình

Của Cloud Shell

gcloud compute forwarding-rules describe \
    pscvertex --global

7. Kết nối lai

Trong phần sau, bạn sẽ tạo một Bộ định tuyến đám mây cho phép bạn trao đổi động các tuyến giữa Đám mây riêng ảo (VPC) và mạng ngang hàng bằng cách sử dụng Giao thức cổng nối biên (BGP).

Cloud Router có thể thiết lập phiên BGP qua một đường hầm VPN trên đám mây để kết nối các mạng của bạn. Tính năng này tự động tìm hiểu các dải địa chỉ IP mới của mạng con và thông báo chúng đến mạng ngang hàng của bạn.

Trong hướng dẫn này, bạn sẽ triển khai VPN HA giữa aiml-vpcon-prem-vpc.

Tạo cổng VPN HA cho aiml-vpc

Khi mỗi cổng vào được tạo, 2 địa chỉ IPv4 bên ngoài sẽ được tự động phân bổ, mỗi địa chỉ cho một giao diện cổng vào.

Bên trong Cloud Shell, hãy tạo cổng VPN HA

gcloud compute vpn-gateways create aiml-vpn-gw \
   --network=aiml-vpc\
   --region=us-central1

Tạo cổng VPN HA cho on-prem-vpc

Khi mỗi cổng vào được tạo, 2 địa chỉ IPv4 bên ngoài sẽ được tự động phân bổ, mỗi địa chỉ cho một giao diện cổng vào. Ghi lại các địa chỉ IP này để sử dụng sau này trong các bước định cấu hình.

Bên trong Cloud Shell, hãy tạo cổng VPN HA.

gcloud compute vpn-gateways create on-prem-vpn-gw \
   --network=on-prem-vpc\
   --region=us-central1

Xác thực việc tạo cổng VPN HA

Sử dụng bảng điều khiển, hãy chuyển đến HYBRID CONNECTIVITY → VPN → CLOUD VPN GATEWAYS và xác thực rằng IP cổng đã được tạo.

66312b1b53c233d7.pngS

Tạo Cloud Router cho intentl-vpc

Bên trong Cloud Shell, hãy tạo Cloud Router nằm ở us-central1

gcloud compute routers create aiml-cr-us-central1 \
   --region=us-central1 \
   --network=aiml-vpc\
   --asn=65001

Tạo Cloud Router cho on-prem-vpc

Bên trong Cloud Shell, hãy tạo Cloud Router nằm ở us-central1

gcloud compute routers create on-prem-cr-us-central1 \
   --region=us-central1 \
   --network=on-prem-vpc \
   --asn=65002

Tạo đường hầm VPN cho intentl-vpc

Bạn sẽ tạo 2 đường hầm VPN trên mỗi cổng VPN HA.

Tạo đường hầm VPN00

Bên trong Cloud Shell, hãy tạo đường hầm0:

gcloud compute vpn-tunnels create aiml-vpc-tunnel0 \
    --peer-gcp-gateway on-prem-vpn-gw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
    --router aiml-cr-us-central1 \
    --vpn-gateway aiml-vpn-gw \
    --interface 0

Tạo đường hầm VPN 1

Bên trong Cloud Shell, hãy tạo đường hầm 1:

gcloud compute vpn-tunnels create aiml-vpc-tunnel1 \
    --peer-gcp-gateway on-prem-vpn-gw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
    --router aiml-cr-us-central1 \
    --vpn-gateway aiml-vpn-gw \
    --interface 1

Tạo đường hầm VPN cho tại chỗ

Bạn sẽ tạo 2 đường hầm VPN trên mỗi cổng VPN HA.

Tạo đường hầm VPN00

Bên trong Cloud Shell, hãy tạo đường hầm0:

gcloud compute vpn-tunnels create on-prem-tunnel0 \
    --peer-gcp-gateway aiml-vpn-gw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
    --router on-prem-cr-us-central1 \
    --vpn-gateway on-prem-vpn-gw \
    --interface 0

Tạo đường hầm VPN 1

Bên trong Cloud Shell, hãy tạo đường hầm 1:

gcloud compute vpn-tunnels create on-prem-tunnel1 \
    --peer-gcp-gateway aiml-vpn-gw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
    --router on-prem-cr-us-central1 \
    --vpn-gateway on-prem-vpn-gw \
    --interface 1

Xác thực việc tạo đường hầm vpn

Bằng cách sử dụng bảng điều khiển, hãy chuyển đến HYBRID CONNECTIVITY → VPN → CLOUD VPN T DoA.

e8e13ebaed09f1.png

8. Thiết lập hàng xóm BGP

Tạo phiên BGP

Trong phần này, bạn sẽ định cấu hình giao diện Cloud Router và BGP ngang hàng.

Tạo giao diện BGP và kết nối ngang hàng chomụcl-vpc

Bên trong Cloud Shell, hãy tạo giao diện BGP:

gcloud compute routers add-interface aiml-cr-us-central1 \
    --interface-name if-tunnel0-to-onprem \
    --ip-address 169.254.1.1 \
    --mask-length 30 \
    --vpn-tunnel aiml-vpc-tunnel0 \
    --region us-central1

Bên trong Cloud Shell, hãy tạo ứng dụng ngang hàng BGP:

gcloud compute routers add-bgp-peer aiml-cr-us-central1 \
    --peer-name bgp-on-premises-tunnel0 \
    --interface if-tunnel1-to-onprem \
    --peer-ip-address 169.254.1.2 \
    --peer-asn 65002 \
    --region us-central1

Bên trong Cloud Shell, hãy tạo giao diện BGP:

gcloud compute routers add-interface aiml-cr-us-central1 \
    --interface-name if-tunnel1-to-onprem \
    --ip-address 169.254.2.1 \
    --mask-length 30 \
    --vpn-tunnel aiml-vpc-tunnel1 \
    --region us-central1

Bên trong Cloud Shell, hãy tạo ứng dụng ngang hàng BGP:

gcloud compute routers add-bgp-peer aiml-cr-us-central1 \
    --peer-name bgp-on-premises-tunnel1 \
    --interface if-tunnel2-to-onprem \
    --peer-ip-address 169.254.2.2 \
    --peer-asn 65002 \
    --region us-central1

Tạo giao diện BGP và kết nối ngang hàng cho tại chỗ-vpc

Bên trong Cloud Shell, hãy tạo giao diện BGP:

gcloud compute routers add-interface on-prem-cr-us-central1 \
    --interface-name if-tunnel0-to-aiml-vpc\
    --ip-address 169.254.1.2 \
    --mask-length 30 \
    --vpn-tunnel on-prem-tunnel0 \
    --region us-central1

Bên trong Cloud Shell, hãy tạo ứng dụng ngang hàng BGP:

gcloud compute routers add-bgp-peer on-prem-cr-us-central1 \
    --peer-name bgp-aiml-vpc-tunnel0 \
    --interface if-tunnel1-to-aiml-vpc\
    --peer-ip-address 169.254.1.1 \
    --peer-asn 65001 \
    --region us-central1

Bên trong Cloud Shell, hãy tạo giao diện BGP:

gcloud compute routers add-interface on-prem-cr-us-central1 \
    --interface-name if-tunnel1-to-aiml-vpc\
    --ip-address 169.254.2.2 \
    --mask-length 30 \
    --vpn-tunnel on-prem-tunnel1 \
    --region us-central1

Bên trong Cloud Shell, hãy tạo ứng dụng ngang hàng BGP:

gcloud compute routers add-bgp-peer on-prem-cr-us-central1 \
    --peer-name bgp-aiml-vpc-tunnel1\
    --interface if-tunnel2-to-aiml-vpc\
    --peer-ip-address 169.254.2.1 \
    --peer-asn 65001 \
    --region us-central1

Chuyển đến phần Kết nối kết hợp → VPN để xem thông tin chi tiết về đường hầm VPN.

cb91b4476a88acd3.png

Xác thực các tuyến đã học{/4}l-vpc qua VPN HA

Sử dụng bảng điều khiển, chuyển đến Mạng VPC → Mạng VPC → ngầm-vpc → ROUTES → REGION → US-CENTRAL1 → VIEW

Quan sát intentl-vpc đã học được các tuyến từ nat-subnet on-prem-vpc nat-subnet và private-ip-subnet

f407ed6e1a6233db.png

Xác thực rằng on-prem-vpc đã học được mạng con Workbench-subnet qua HA-VPN

Sử dụng bảng điều khiển, chuyển đến Mạng VPC → Mạng VPC → on-prem-vpc → ROUTES → REGION → US-CENTRAL1 → VIEW

7957e5d898a9e7e0.pngS

9. Tạo quảng cáo theo tuyến tuỳ chỉnh intentl-vpc

IP thiết bị đầu cuối kết nối dịch vụ riêng tư không được bộ định tuyến đám mây intentl-cr-us-central1 quảng cáo tự động vì mạng con không được định cấu hình trong VPC.

Thay vào đó, bạn sẽ cần tạo một quảng cáo định tuyến tùy chỉnh từ bộ định tuyến đám mây intentl-cr-us-central cho Địa chỉ IP điểm cuối 100.100.10.10 sẽ được quảng cáo cho môi trường tại cơ sở qua BGP đến vpc tại chỗ.

Trên bảng điều khiển, hãy chuyển đến HYBRID CONNECTIVITY → CLOUD ROUTERS → intentl-cr-us-central1, rồi chọn CHỈNH SỬA.

c8fb02ed59a5b068.png

Trong mục Tuyến đường được quảng cáo, hãy chọn mục Tạo tuyến đường tuỳ chỉnh, cập nhật các trường theo ví dụ bên dưới, rồi chọn XONG,sau đó nhấp vào LƯU.

5996464e3aae0665.pngS

f799082ab2cd7e31.png

Xác nhận kết quả

Xác thực rằng on-prem-vpc đã học được địa chỉ IP thiết bị đầu cuối PSC qua HA-VPN

Sử dụng bảng điều khiển, chuyển đến Mạng VPC → Mạng VPC → on-prem-vpc → ROUTES → REGION → US-CENTRAL1 → VIEW

1b42673e6f940bf2.pngS

10. Tạo quảng cáo tuyến đường tùy chỉnh trên-prem-vpc

Theo mặc định, bộ định tuyến đám mây tại chỗ quảng cáo tất cả mạng con, nhưng chỉ cần có mạng con ip riêng tư.

Trong phần sau, hãy cập nhật quảng cáo về tuyến đường từ bộ định tuyến đám mây on-prem-cr-us-central1.

Trong bảng điều khiển, hãy chuyển đến HYBRID CONNECTIVITY → CLOUD ROUTERS → on-prem-cr-us-central1, rồi chọn CHỈNH SỬA.

bd96bde9550d516a.png

Trong mục Tuyến đường được quảng cáo, hãy chọn mục Tạo tuyến đường tuỳ chỉnh, cập nhật các trường theo ví dụ bên dưới, rồi chọn XONG,sau đó nhấp vào LƯU.

f8b61f669a9cfeef.png

Xác nhận kết quả

Xác thực rằng rememberl-vpc đã học được tuyến private-ip-subnet từ on-prem-vpc.

Sử dụng bảng điều khiển, chuyển đến Mạng VPC → Mạng VPC → intentl-vpc → ROUTES → REGION → US-CENTRAL1 → VIEW

2b1a7a5f918e9f50.pngS

11. Tạo tài khoản dịch vụ do người dùng quản lý (Phiên bản GCE)

Để cung cấp mức độ kiểm soát chi tiết cho Vertex API, bạn cần phải có tài khoản dịch vụ do người dùng quản lý. Tài khoản này sẽ được áp dụng cho cả phiên bản ứng dụng riêng tư và phiên bản đầu tiên. Sau khi tạo, bạn có thể sửa đổi các quyền đối với tài khoản dịch vụ dựa trên yêu cầu kinh doanh. Trong hướng dẫn này, tài khoản dịch vụ do người dùng quản lý, vertex-sa, sẽ áp dụng các vai trò sau:

Bạn phải API Tài khoản dịch vụ trước khi tiếp tục.

Bên trong Cloud Shell, hãy tạo tài khoản dịch vụ.

gcloud iam service-accounts create gce-vertex-sa \
    --description="service account for vertex" \
    --display-name="gce-vertex-sa"

Bên trong Cloud Shell, hãy cập nhật tài khoản dịch vụ có vai trò quản trị viên thực thể điện toán

gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:gce-vertex-sa@$projectid.iam.gserviceaccount.com" --role="roles/compute.instanceAdmin.v1"

Bên trong Cloud Shell, hãy cập nhật tài khoản dịch vụ với vai trò Người dùng Vertex AI

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

12. Tạo tài khoản dịch vụ do người dùng quản lý (Sổ tay)

Trong phần sau, bạn sẽ tạo một tài khoản dịch vụ do người dùng quản lý. Tài khoản này sẽ liên kết với Vertex Workbench (Sổ tay) mà bạn dùng trong phần hướng dẫn.

Trong hướng dẫn này, tài khoản dịch vụ sẽ áp dụng các vai trò sau:

Bên trong Cloud Shell, hãy tạo tài khoản dịch vụ.

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

Trong Cloud Shell, hãy cập nhật tài khoản dịch vụ với vai trò Quản trị viên bộ nhớ.

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

Bên trong Cloud Shell, hãy cập nhật tài khoản dịch vụ với vai trò Người dùng Vertex AI.

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

Bên trong Cloud Shell, hãy cập nhật tài khoản dịch vụ với vai trò Quản trị viên Artifact Registry.

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

Trong Cloud Shell, hãy liệt kê tài khoản dịch vụ và ghi lại địa chỉ email sẽ được dùng khi tạo sổ tay do người dùng quản lý.

gcloud iam service-accounts list

13. Đã tạo các thực thể kiểm thử

Trong phần sau, bạn sẽ tạo các thực thể kiểm thử để xác thực nhiều phương thức để truy cập các API Vertex, cụ thể là:

  • Thực thể này, nat-client, sẽ sử dụng Cloud NAT để phân giải Vertex AI, do đó có thể truy cập vào điểm cuối Online Prediction qua Internet
  • Thực thể máy ảo private-client sẽ sử dụng Private Service Connect IP 100.100.10.10 để truy cập điểm cuối Online Prediction qua HA-VPN.

Bên trong Cloud Shell, hãy tạo thực thể nat-client.

gcloud compute instances create nat-client \
    --zone=us-central1-a \
    --image-family=debian-11 \
    --image-project=debian-cloud \
    --subnet=nat-subnet \
    --service-account=vertex-sa@$projectid.iam.gserviceaccount.com \
    --scopes=https://www.googleapis.com/auth/cloud-platform \
    --no-address \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install tcpdump dnsutils -y"

Bên trong Cloud Shell, hãy tạo thực thể private-client.

gcloud compute instances create private-client \
    --zone=us-central1-a \
    --image-family=debian-11 \
    --image-project=debian-cloud \
    --subnet=private-ip-subnet \
    --service-account=vertex-sa@$projectid.iam.gserviceaccount.com \
    --scopes=https://www.googleapis.com/auth/cloud-platform \
    --no-address \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install tcpdump dnsutils -y"

Để cho phép Proxy nhận biết danh tính (IAP) kết nối với các phiên bản máy ảo của bạn, hãy tạo một quy tắc tường lửa:

  • Áp dụng cho tất cả các thực thể máy ảo mà bạn muốn truy cập được bằng cách sử dụ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.

Bên trong Cloud Shell, hãy tạo quy tắc tường lửa cho IAP.

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

14. Tạo sổ tay do người dùng quản lý

API sổ tay

Trong phần sau, hãy tạo một sổ tay do người dùng quản lý kết hợp tài khoản dịch vụ đã tạo trước đó, sổ tay do người dùng quản lý.

Bên trong Cloud Shell, hãy tạo thực thể máy khách riêng tư.

gcloud notebooks instances create workbench-tutorial \
      --vm-image-project=deeplearning-platform-release \
      --vm-image-family=common-cpu-notebooks \
      --machine-type=n1-standard-4 \
      --location=us-central1-a \
      --subnet-region=us-central1 \
      --subnet=workbench-subnet \
      --no-public-ip    --service-account=user-managed-notebook-sa@$projectid.iam.gserviceaccount.com

15. Triển khai mô hình và dự đoán trực tuyến

Trong phần sau, hãy sử dụng lớp học lập trình được cung cấp,Vertex AI:Sử dụng các quy trình dự đoán tuỳ chỉnh với Sklearn để xử lý trước và đăng dữ liệu xử lý cho thông tin dự đoán bắt đầu từ Mục 7 vì bạn đã tạo một sổ tay ở bước trước. Sau khi mô hình được triển khai, hãy quay lại phần hướng dẫn để bắt đầu phần tiếp theo.

ee68b7ba0cfd2746.png

16. Xác thực quyền truy cập vào Vertex API qua Internet

Trong phần sau, bạn sẽ đăng nhập vào thực thể, nat-client và xác thực khả năng kết nối với Vertex AI thông qua việc sử dụng đào và tcpdump đối với miền us-central1-aiplatform.googleapis.com dùng để phân giải các API Vertex.

Đăng nhập vào nat-client sử dụng IAP trong Cloud Shell để xác thực khả năng kết nối với Vertex API bằng cách tìm kiếm trên miền đỉnh us-central1-aiplatform.googleapis.com

gcloud compute ssh nat-client --project=$projectid --zone=us-central1-a --tunnel-through-iap

Thực thi quá trình tìm hiểu.

dig us-central1-aiplatform.googleapis.com

Ví dụ: hãy lưu ý về IP công khai trong phản hồi DNS.

user@nat-client:~$ dig us-central1-aiplatform.googleapis.com

; <<>> DiG 9.16.42-Debian <<>> us-central1-aiplatform.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56761
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;us-central1-aiplatform.googleapis.com. IN A

;; ANSWER SECTION:
us-central1-aiplatform.googleapis.com. 300 IN A 108.177.111.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.250.1.95
us-central1-aiplatform.googleapis.com. 300 IN A 108.177.121.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.250.103.95
us-central1-aiplatform.googleapis.com. 300 IN A 108.177.120.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.171.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.250.159.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.120.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.161.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.172.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.126.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.70.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.132.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.201.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.202.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.69.95

;; Query time: 4 msec
;; SERVER: 169.254.169.254#53(169.254.169.254)
;; WHEN: Thu Jun 29 01:35:57 UTC 2023
;; MSG SIZE  rcvd: 322

Trong hệ điều hành nat-client, hãy thực thi tcpdump để xác thực quá trình phân giải DNS khi thực hiện curl dựa trên Online Prediction.

 sudo tcpdump -i any port 53 -n

Ví dụ:

user@nat-client:~$ sudo tcpdump -i any port 53 -n 
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes

Mở một thiết bị đầu cuối Cloud Shell mới bằng cách chọn "+". Sau khi thẻ mới mở ra, hãy cập nhật biến tên dự án.

Bên trong Cloud Shell, hãy cập nhật biến tên dự án.

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

Bên trong Cloud Shell 2, hãy thực hiện một ssh với thực thể nat-client.

gcloud compute ssh --zone "us-central1-a" "nat-client" --project "$projectid"

Trong phần sau, bạn sẽ tạo tệpinstance.json bằng trình chỉnh sửa sudo VI hoặc nano, rồi chèn chuỗi dữ liệu dùng để lấy thông tin dự đoán từ mô hình đã triển khai.

Trong hệ điều hành nat-client, hãy tạo một instances.json bằng chuỗi dữ liệu dưới đây:

{"instances": [
  [0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
  [0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}

Ví dụ:

user@nat-client:$ more instances.json 
{"instances": [
  [0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
  [0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}

user@nat-client:$

Nhận Mã nhận dạng thiết bị đầu cuối dự đoán trực tuyến từ Cloud Console. Mã này sẽ được dùng trong các bước tiếp theo.

Chuyển đến phần VERTEX AI → HIỂN THỊ TRỰC TUYẾN

237d413ccde1e95b.png.

Trong hệ điều hành nat-client, hãy tạo các biến sau:

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
ENDPOINT_ID="insert-your-endpoint-id-here"

Ví dụ:

ENDPOINT_ID="3328226095324463104"

Trên hệ điều hành nat-client, hãy thực hiện việc cuộn tròn để nhận phản hồi từ mô hình.

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json

Ví dụ: ghi lại dự đoán thành công.

user@nat-client$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json
{
  "predictions": [
    "$479.0",
    "$586.0"
  ],
  "deployedModelId": "1949163636186415104",
  "model": "projects/234086459238/locations/us-central1/models/947543727654567936",
  "modelDisplayName": "diamonds-cpr",
  "modelVersionId": "1"
}

17. Xác thực – Quyền truy cập Internet vào Vertex API

Bây giờ, bạn đã thực thi dự đoán, hãy xem kết quả TCPDUMP (thiết bị đầu cuối 1) cho biết phiên bản nat-client (192.168.10.2) đang thực hiện truy vấn DNS đến máy chủ dns cục bộ 169.254.169.254 cho miền Vertex AI us-central1-aiplatform.googleapis.com. Kết quả của truy vấn DNS là các Địa chỉ IP ảo (VIPS) công khai của các API Vertex như trình bày dưới đây:

user@nat-client:~$ sudo tcpdump -i any port 53 -n
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
20:05:09.260937 ens4  Out IP 192.168.10.2.40782 > 169.254.169.254.53: 47190+ A? oauth2.googleapis.com. (39)
20:05:09.260946 ens4  Out IP 192.168.10.2.40782 > 169.254.169.254.53: 28075+ AAAA? oauth2.googleapis.com. (39)
20:05:09.263556 ens4  In  IP 169.254.169.254.53 > 192.168.10.2.40782: 28075 4/0/0 AAAA 2607:f8b0:4001:c34::5f, AAAA 2607:f8b0:4001:c54::5f, AAAA 2607:f8b0:4001:c16::5f, AAAA 2607:f8b0:4001:c17::5f (151)
20:05:09.265018 ens4  In  IP 169.254.169.254.53 > 192.168.10.2.40782: 47190 16/0/0 A 74.125.201.95, A 74.125.202.95, A 74.125.69.95, A 64.233.183.95, A 173.194.193.95, A 173.194.194.95, A 173.194.195.95, A 173.194.196.95, A 173.194.197.95, A 64.233.191.95, A 173.194.74.95, A 173.194.192.95, A 209.85.145.95, A 209.85.146.95, A 209.85.147.95, A 142.250.125.95 (295)
20:05:09.474478 ens4  Out IP 192.168.10.2.57356 > 169.254.169.254.53: 36008+ A? us-central1-aiplatform.googleapis.com. (55)
20:05:09.474488 ens4  Out IP 192.168.10.2.57356 > 169.254.169.254.53: 47020+ AAAA? us-central1-aiplatform.googleapis.com. (55)
20:05:09.477190 ens4  In  IP 169.254.169.254.53 > 192.168.10.2.57356: 36008 16/0/0 A 173.194.194.95, A 173.194.195.95, A 173.194.196.95, A 173.194.197.95, A 173.194.74.95, A 173.194.192.95, A 209.85.145.95, A 209.85.146.95, A 209.85.147.95, A 142.250.125.95, A 142.250.136.95, A 142.250.148.95, A 209.85.200.95, A 209.85.234.95, A 142.250.152.95, A 142.250.128.95 (311)
20:05:09.478607 ens4  In  IP 169.254.169.254.53 > 192.168.10.2.57356: 47020 4/0/0 AAAA 2607:f8b0:4001:c1b::5f, AAAA 2607:f8b0:4001:c0c::5f, AAAA 2607:f8b0:4001:c0e::5f, AAAA 2607:f8b0:4001:c1e::5f (167)

18. Bật quyền truy cập riêng tư vào các API Vertex

Trong phần sau, bạn sẽ truy cập vào các API Vertex bằng cách sử dụng Private Service Connect thay vì mạng kết hợp (HA VPN) để truy cập vào thông tin dự đoán trên mạng một cách riêng tư. Trong ví dụ dùng trong hướng dẫn, bạn sẽ cập nhật tệp /etc/hosts trong phiên bản private-client.

Trong môi trường tại cơ sở của bạn, việc cập nhật một hoặc một số máy /etc/hosts để thử nghiệm là phù hợp. Tuy nhiên, đối với các môi trường sản xuất và quy mô lớn, việc tạo vùng chuyển tiếp mới sử dụng FQDN điểm cuối PSC là điều đáng mong muốn hơn.

Ví dụ: điểm cuối psc được tạo trong hướng dẫn có tên là pscvertex và chuyển thành pscvertex.p.googleapis.com, khi sử dụng điểm cuối cho đỉnh, hãy thêm FQDN bằng dịch vụ, ví dụ: us-central1-aiplatform-pscvertex.p.googleapis.com.

Việc cập nhật DNS tại chỗ bằng điểm cuối PSC cũng yêu cầu tái cấu trúc các ứng dụng cục bộ để gọi FDQN, ví dụ: us-central1-aiplatform-pscvertex.p.googleapis.com thay vì điểm cuối công khai gốc us-central1-aiplatform.googleapis.com.

Ứng dụng có thể được định cấu hình để sử dụng điểm cuối tuỳ chỉnh có thể dùng tên DNS của p.googleapis.com để gửi yêu cầu đến một điểm cuối.

Xem tài liệu dành cho ứng dụng hoặc thư viện ứng dụng của bạn để biết thông tin về cách định cấu hình ứng dụng đó nhằm sử dụng điểm cuối tuỳ chỉnh. Ví dụ:

Mở một thiết bị đầu cuối Cloud Shell mới bằng cách chọn "+". Sau khi thẻ mới mở ra, hãy cập nhật biến tên dự án.

Từ Cloud Shell.

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

Đăng nhập vào ứng dụng riêng tư bằng IAP trong một Cloud Shell mới để xác thực khả năng kết nối với Vertex API bằng cách kiểm tra miền đỉnh us-central1-aiplatform.googleapis.com

Trên Cloud Shell, hãy đăng nhập vào phiên bản hệ điều hành riêng tư cho máy khách.

gcloud compute ssh private-client --project=$projectid --zone=us-central1-a --tunnel-through-iap

Thực thi hoạt động tìm kiếm.

dig us-central1-aiplatform.googleapis.com

Ví dụ: lưu ý về IP công khai dựa trên phản hồi DNS.

user@private-client:~$ dig us-central1-aiplatform.googleapis.com

; <<>> DiG 9.16.42-Debian <<>> us-central1-aiplatform.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33311
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;us-central1-aiplatform.googleapis.com. IN A

;; ANSWER SECTION:
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.132.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.201.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.202.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.69.95
us-central1-aiplatform.googleapis.com. 300 IN A 64.233.182.95
us-central1-aiplatform.googleapis.com. 300 IN A 64.233.183.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.193.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.194.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.195.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.196.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.197.95
us-central1-aiplatform.googleapis.com. 300 IN A 64.233.191.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.74.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.192.95
us-central1-aiplatform.googleapis.com. 300 IN A 209.85.145.95
us-central1-aiplatform.googleapis.com. 300 IN A 209.85.146.95

;; Query time: 4 msec
;; SERVER: 169.254.169.254#53(169.254.169.254)
;; WHEN: Sun Jul 02 20:5

Cập nhật thực thể private-client /etc/hosts bằng trình chỉnh sửa sudo VI hoặc nano để tạo một bản ghi của Vertext AI FQDN us-central1-aiplatform.googleapis.com trỏ đến điểm cuối PSC 100.100.10.10 mà không cần thay đổi gì thêm.

Ví dụ:

user@private-client:~$ more /etc/hosts
127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

100.100.10.10 us-central1-aiplatform.googleapis.com
192.168.20.2 private-client.c.$projectid.internal private-client  # Added by Google
169.254.169.254 metadata.google.internal  # Added by Google

Từ hệ điều hành máy khách riêng tư, hãy thực hiện mã PIN (mã PIN) đến điểm cuối của Vertex API.

ping us-central1-aiplatform.googleapis.com

Ví dụ: PING trả về IP điểm cuối PSC nhưng dự kiến sẽ không có phản hồi.

user@private-client:~$ ping us-central1-aiplatform.googleapis.com
PING us-central1-aiplatform.googleapis.com (100.100.10.10) 56(84) bytes of data.

Từ hệ điều hành máy khách riêng tư, hãy thực thi tcpdump để xác thực quá trình phân giải DNS và đường dẫn dữ liệu IP cho điểm cuối PSC khi thực hiện thao tác curl dựa trên Dự đoán trực tuyến.

 sudo tcpdump -i any port 53 -n or host 100.100.10.10

Mở thiết bị đầu cuối Cloud Shell thứ tư bằng cách chọn "+". Sau khi thẻ mới mở ra, hãy cập nhật biến tên dự án.

Bên trong Cloud Shell, hãy cập nhật biến tên dự án.

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

Bên trong Cloud Shell 4, hãy thực hiện một giao thức ssh đối với thực thể máy khách riêng tư.

gcloud compute ssh --zone "us-central1-a" "private-client" --project "$projectid"

Trong phần sau, bạn sẽ tạo tệpinstance.json bằng trình chỉnh sửa sudo VI hoặc nano, rồi chèn chuỗi dữ liệu dùng để lấy thông tin dự đoán từ mô hình đã triển khai.

Trong hệ điều hành máy khách riêng tư, hãy tạo một instances.json bằng chuỗi dữ liệu bên dưới:

{"instances": [
  [0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
  [0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}

Ví dụ:

user@private-client:$ more instances.json 
{"instances": [
  [0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
  [0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}

user@private-client:$

Trong hệ điều hành của máy khách riêng tư, hãy tạo các biến sau:

gcloud config list project
projectid=YOUR-PROJECT-NAME
echo $projectid
ENDPOINT_ID="insert-your-endpoint-id-here"

Ví dụ:

ENDPOINT_ID="3328226095324463104"

Từ hệ điều hành máy khách riêng tư trong Cloud Shell 4, hãy thực hiện thao tác curl để nhận phản hồi từ mô hình.

curl -v -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json

19. Xác thực – Quyền truy cập riêng tư vào Vertex API

Từ hệ điều hành máy khách riêng tư trong Cloud Shell bốn, hãy lưu ý rằng IP điểm cuối PSC (100.100.10.10) đã được dùng để truy cập Vertex API.

user@private-client$ curl -v -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying 100.100.10.10:443...
* Connected to us-central1-aiplatform.googleapis.com (100.100.10.10) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=upload.video.google.com
*  start date: May 29 08:21:36 2023 GMT
*  expire date: Aug 21 08:21:35 2023 GMT
*  subjectAltName: host "us-central1-aiplatform.googleapis.com" matched cert's "*.googleapis.com"
*  issuer: C=US; O=Google Trust Services LLC; CN=GTS CA 1C3
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x55f2ab65c2c0)
> POST /v1/projects/$projectid/locations/us-central1/endpoints/3328226095324463104:predict HTTP/2
> Host: us-central1-aiplatform.googleapis.com
> user-agent: curl/7.74.0
> accept: */*
> authorization: Bearer ya29.a0AbVbY6NdCbIJYj0mQROeq-xYgQCw534TTtjRc1kBAEOimKCFxb3gqgD5AvhfefJatSNr33eW1YJirfQVMptFoqfjRoB-i8zEJJ_GGCVqhsVnpSOjK0hzJQSuo2YGjIiSe1o1zdo7lWmh1Px-vLe8FImieGkrQ1hqVaa6aCgYKAXgSARESFQFWKvPlUQ_FuKB2hrDJRyFDjupL1g0171
> content-type: application/json
> content-length: 154
> 
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
* We are completely uploaded and fine
< HTTP/2 200 
< content-type: application/json; charset=UTF-8
< x-vertex-ai-internal-prediction-backend: harpoon
< date: Mon, 03 Jul 2023 22:13:35 GMT
< vary: X-Origin
< vary: Referer
< vary: Origin,Accept-Encoding
< server: scaffolding on HTTPServer2
< cache-control: private
< x-xss-protection: 0
< x-frame-options: SAMEORIGIN
< x-content-type-options: nosniff
< accept-ranges: none
< 
{
  "predictions": [
    "$479.0",
    "$586.0"
  ],
  "deployedModelId": "1949163636186415104",
  "model": "projects/234086459238/locations/us-central1/models/947543727654567936",
  "modelDisplayName": "diamonds-cpr",
  "modelVersionId": "1"
}
* Connection #0 to host us-central1-aiplatform.googleapis.com left intact

Từ thiết bị đầu cuối TCPDUMP trong Cloud Shell 3, chúng ta có thể xác thực rằng không quan sát thấy tra cứu DNS tới us-central1-aiplatform.googleapis.com vì tệp /etc/host được ưu tiên nhưng Địa chỉ IP PSC 100.100.10.10 đã được dùng trong đường dẫn dữ liệu.

user@private-client:~$ sudo tcpdump -i any port 53 -n or host 100.100.10.10
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
22:13:35.507625 ens4  Out IP 192.168.20.2.37004 > 169.254.169.254.53: 58585+ A? oauth2.googleapis.com. (39)
22:13:35.507631 ens4  Out IP 192.168.20.2.37004 > 169.254.169.254.53: 15580+ AAAA? oauth2.googleapis.com. (39)
22:13:35.511796 ens4  In  IP 169.254.169.254.53 > 192.168.20.2.37004: 58585 16/0/0 A 142.251.6.95, A 108.177.112.95, A 74.125.124.95, A 172.217.212.95, A 172.217.214.95, A 172.253.114.95, A 172.253.119.95, A 108.177.111.95, A 142.250.1.95, A 108.177.121.95, A 142.250.103.95, A 108.177.120.95, A 142.251.171.95, A 142.250.159.95, A 142.251.120.95, A 142.251.161.95 (295)
22:13:35.512002 ens4  In  IP 169.254.169.254.53 > 192.168.20.2.37004: 15580 4/0/0 AAAA 2607:f8b0:4001:c2b::5f, AAAA 2607:f8b0:4001:c18::5f, AAAA 2607:f8b0:4001:c5f::5f, AAAA 2607:f8b0:4001:c58::5f (151)
22:13:35.722145 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [S], seq 1951267724, win 65320, options [mss 1420,sackOK,TS val 1371205990 ecr 0,nop,wscale 7], length 0
22:13:35.730727 ens4  In  IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [S.], seq 3198878726, ack 1951267725, win 65535, options [mss 1366,sackOK,TS val 67847676 ecr 1371205990,nop,wscale 8], length 0
22:13:35.730760 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [.], ack 1, win 511, options [nop,nop,TS val 1371205999 ecr 67847676], length 0
22:13:35.738339 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 1:518, ack 1, win 511, options [nop,nop,TS val 1371206006 ecr 67847676], length 517
22:13:35.739922 ens4  In  IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [.], ack 518, win 261, options [nop,nop,TS val 67847688 ecr 1371206006], length 0
22:13:35.740860 ens4  In  IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [.], seq 1:2709, ack 518, win 261, options [nop,nop,TS val 67847689 ecr 1371206006], length 2708
22:13:35.740863 ens4  In  IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [P.], seq 2709:4699, ack 518, win 261, options [nop,nop,TS val 67847689 ecr 1371206006], length 1990
22:13:35.740874 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [.], ack 2709, win 497, options [nop,nop,TS val 1371206009 ecr 67847689], length 0
22:13:35.740886 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [.], ack 4699, win 485, options [nop,nop,TS val 1371206009 ecr 67847689], length 0
22:13:35.742709 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 518:598, ack 4699, win 501, options [nop,nop,TS val 1371206011 ecr 67847689], length 80
22:13:35.743996 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 598:644, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 46
22:13:35.744011 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 644:693, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 49
22:13:35.744082 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 693:728, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 35
22:13:35.744165 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 728:1069, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 341

Bạn đã xác thực thành công việc kết nối với dự đoán trực tuyến thông qua một điểm cuối công khai qua Internet và riêng tư bằng cách sử dụng mạng kết hợp và Kết nối dịch vụ riêng tư (googleapis). Thoát khỏi hệ điều hành và quay lại lời nhắc Cloud Shell.

20. Dọn dẹp

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

gcloud compute forwarding-rules delete pscvertex --global --quiet

gcloud compute instances delete workbench-tutorial --zone=us-central1-a --quiet 

gcloud compute addresses delete psc-ip --global --quiet

gcloud compute networks subnets delete workbench-subnet --region=us-central1 --quiet 

gcloud compute vpn-tunnels delete aiml-vpc-tunnel0 aiml-vpc-tunnel1 on-prem-tunnel0 on-prem-tunnel1 --region=us-central1 --quiet

gcloud compute vpn-gateways delete aiml-vpn-gw on-prem-vpn-gw --region=us-central1 --quiet 

gcloud compute routers delete aiml-cr-us-central1 cloud-router-us-central1-aiml-nat --region=us-central1 --quiet 

gcloud compute routers delete cloud-router-us-central1-on-prem-nat on-prem-cr-us-central1 --region=us-central1 --quiet

gcloud compute instances delete nat-client private-client --zone=us-central1-a --quiet

gcloud compute firewall-rules delete ssh-iap-on-prem-vpc --quiet

gcloud compute networks subnets delete nat-subnet  private-ip-subnet --region=us-central1 --quiet

gcloud compute networks delete on-prem-vpc --quiet

gcloud compute networks delete aiml-vpc --quiet

Xoá các thành phần Vertex

Để xoá hình ảnh vùng chứa, hãy chuyển đến Artifact Registry, chọn kho lưu trữ mà bạn đã tạo rồi chọn Xoá

616a3108bc2e48c8.pngs

Để xoá Bộ chứa Storage, hãy sử dụng trình đơn Điều hướng trong Cloud Console, duyệt đến Bộ nhớ, chọn bộ chứa rồi nhấp vào Xoá:

eddd1f9fdfaede8.png

Huỷ triển khai mô hình từ điểm cuối. Chuyển đến Vertex AI → Dự đoán trực tuyến → Chọn kim cương-cpr_endpoint → Huỷ triển khai Mô hình từ điểm cuối → Huỷ triển khai

bc95f092d21d4698.png

Xoá Mô hình. Chuyển đến Vertex AI → Model Registry (Sổ đăng ký mô hình) → Xoá mô hình

ec4afff091e11606.png

Xoá điểm cuối Dự đoán trực tuyến. Chuyển đến VertexAI → Dự đoán trực tuyến → Chọn kim cương-cpr_endpoint → Xoá điểm cuối

7453760299bdfb9a.pngs

21. Xin chúc mừng

Xin chúc mừng, bạn đã định cấu hình và xác thực thành công việc kết nối với Dự đoán trực tuyến nguyên gốc bằng Internet và riêng tư với Private Service Connect và mạng kết hợp.

Bạn đã tạo một khách hàng nội bộ và một khách hàng riêng tư, đồng thời sử dụng TCPDUMP để xác thực các Địa chỉ IP dùng để truy cập vào các API Vertex. Ngoài ra, bạn đã tìm hiểu về Kết nối dịch vụ riêng tư (googleapis) và cách sử dụng kết nối này để tách biệt các ứng dụng tại cơ sở riêng và các ứng dụng đa đám mây bằng cách tận dụng điểm cuối PSC của khách hàng.

Cosmopup cho rằng các video hướng dẫn rất tuyệt vời!!

e6d3675ca7c6911f.jpeg

Tiếp theo là gì?

Hãy xem một số hướng dẫn trong số này...

Tài liệu đọc thêm & Video

Tài liệu tham khảo