1. Введение
Локальные хосты могут получить доступ к онлайн-прогнозированию напрямую через общедоступный интернет (вариант 1) или с помощью облачного VPN или облачного межсетевого соединения с частным сервисом подключения (PSC) (вариант 2) из своей локальной сети, причем оба варианта обеспечивают шифрование SSL/TLS. Гибридное подключение к онлайн-прогнозированию через межсетевое соединение обеспечивает более высокую производительность, чем подключение через Интернет, поэтому рекомендуется для критически важных приложений, как показано на рисунке 1.
В этом руководстве мы продемонстрируем, как использовать VPN с высокой доступностью (HA VPN) для частного доступа к онлайн-прогнозированию между двумя сетями VPC, которые могут служить основой для частного подключения в многооблачной и локальной средах.
Обратите внимание, что Vertex Online Prediction — это общедоступная конечная точка, поэтому вам следует ограничить доступ с помощью VPC Service Controls (VPC-SC), чтобы создать безопасные периметры, разрешающие или запрещающие доступ к Vertex и другим API Google. В этом руководстве не рассматривается VPC-SC; для получения более подробной информации см. раздел «VPC Service Controls с Vertex AI».

Что вы построите
Вам потребуется настроить сеть VPC под названием on-prem-vpc , представляющую собой локальную среду. В вашем случае сеть on-prem-vpc не будет существовать, вместо этого будет использоваться гибридная сеть, подключенная к вашему локальному центру обработки данных или облачному провайдеру.
Вам предстоит создать комплексную архитектуру Private Service Connect, которая демонстрирует публичный доступ к онлайн-прогнозированию через облачный NAT и частный доступ с использованием PSC через HA VPN в соответствии с приведенными ниже инструкциями.

После развертывания системы онлайн-прогнозирования в проекте Google Cloud будут рассмотрены следующие варианты ее использования:
Публичный доступ к онлайн-прогнозированию включает в себя следующее:
- Создайте экземпляр GCE (nat-client), использующий NAT для исходящего доступа в интернет.
- Используйте CURL для выполнения выводов на основе модели.
- Используйте TCPDUMP для проверки того, что доступ к онлайн-прогнозированию осуществляется через общедоступный виртуальный IP-адрес.
Приватный доступ к онлайн-прогнозированию включает в себя следующее:
- Разверните модель на конечной точке онлайн-прогнозирования Vertex в проекте.
- Создайте конечную точку Private Service Connect (Googleapis) в aiml-vpc.
- Экспортируйте IP-адрес PSC через облачный маршрутизатор в качестве пользовательского объявления в локальную VPC.
- Создайте экземпляр GCE (частный клиент) и обновите файл etc/hosts, указав IP-адрес конечной точки PSC.
- Используйте CURL для выполнения выводов на основе модели.
- Используйте TCPDUMP для проверки того, что доступ к онлайн-прогнозированию осуществляется через IP-адрес конечной точки PSC.
Что вы узнаете
- Как настроить конечную точку Private Service Connect
- Как объявить IP-адрес конечной точки PSC через облачный маршрутизатор
- Как использовать TCPDUMP для проверки доступа к онлайн-прогнозированию, как публичного, так и частного.
Что вам понадобится
- Проект Google Cloud
Разрешения IAM
Администратор вычислительной сети
2. Прежде чем начать
Обновите проект, чтобы он соответствовал учебному пособию.
В этом руководстве переменные `$variables` используются для упрощения настройки gcloud в Cloud Shell.
Внутри Cloud Shell выполните следующие действия:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
3. Включите службы
Внутри Cloud Shell выполните следующие действия:
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. Настройка aiml-vpc
Создайте aiml-vpc
Внутри Cloud Shell выполните следующие действия:
gcloud compute networks create aiml-vpc --project=$projectid --subnet-mode=custom
Создайте подсеть для ноутбуков, управляемую пользователем.
Внутри Cloud Shell выполните следующие действия:
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
Настройка облачного маршрутизатора и NAT.
В руководстве по загрузке программных пакетов для ноутбуков используется Cloud NAT, поскольку управляемый пользователем экземпляр ноутбука не имеет внешнего IP-адреса. Cloud NAT также предлагает возможности исходящего NAT, что означает, что интернет-хостам не разрешается инициировать связь с управляемым пользователем ноутбуком, что повышает безопасность.
Внутри Cloud Shell создайте региональный облачный маршрутизатор.
gcloud compute routers create cloud-router-us-central1-aiml-nat --network aiml-vpc --region us-central1
Внутри Cloud Shell создайте региональный шлюз NAT облака.
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. Настройка локальной VPC
Создайте локальную VPC.
Внутри Cloud Shell выполните следующие действия:
gcloud compute networks create on-prem-vpc --project=$projectid --subnet-mode=custom
Создайте NAT-подсеть
Внутри Cloud Shell выполните следующие действия:
gcloud compute networks subnets create nat-subnet --project=$projectid --range=192.168.10.0/28 --network=on-prem-vpc --region=us-central1
Создайте частную IP-подсеть
Внутри Cloud Shell выполните следующие действия:
gcloud compute networks subnets create private-ip-subnet --project=$projectid --range=192.168.20.0/28 --network=on-prem-vpc --region=us-central1
Настройка облачного маршрутизатора и NAT.
В этом руководстве для загрузки программных пакетов используется Cloud NAT. Cloud NAT также предоставляет возможности исходящего NAT, что означает, что интернет-хосты не могут инициировать обмен данными с вычислительными ресурсами, что повышает безопасность.
Внутри Cloud Shell создайте региональный облачный маршрутизатор.
gcloud compute routers create cloud-router-us-central1-on-prem-nat --network on-prem-vpc --region us-central1
Внутри Cloud Shell создайте региональный шлюз NAT облака.
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. Создайте конечную точку Private Service Connect.
В следующем разделе вы создадите конечную точку Private Service Connect (PSC), которая будет использоваться для доступа к API Vertex из локальной VPC. IP-адрес PSC 100.100.10.10 будет объявлен маршрутизатором aiml-vpc-cloud-router-vpn в качестве пользовательского объявления маршрутизатора в локальной сети на следующем шаге.
Из Cloud Shell
gcloud compute addresses create psc-ip \
--global \
--purpose=PRIVATE_SERVICE_CONNECT \
--addresses=100.100.10.10 \
--network=aiml-vpc
Создайте конечную точку PSC.
Из Cloud Shell
gcloud compute forwarding-rules create pscvertex \
--global \
--network=aiml-vpc \
--address=psc-ip \
--target-google-apis-bundle=all-apis
Перечислите настроенные конечные точки Private Service Connect.
Из Cloud Shell
gcloud compute forwarding-rules list \
--filter target="(all-apis OR vpc-sc)" --global
Опишите настроенные конечные точки Private Service Connect.
Из Cloud Shell
gcloud compute forwarding-rules describe \
pscvertex --global
7. Гибридная связь
В следующем разделе вы создадите облачный маршрутизатор, который позволит вам динамически обмениваться маршрутами между вашей виртуальной частной сетью (VPC) и соседней сетью с использованием протокола Border Gateway Protocol (BGP) .
Cloud Router может установить BGP-сессию через туннель Cloud VPN для соединения ваших сетей. Он автоматически изучает новые диапазоны IP-адресов подсетей и сообщает о них вашей партнерской сети.
В этом руководстве вы развернете VPN-соединение высокой доступности между aiml-vpc и on-prem-vpc .
Создайте шлюз HA VPN для aiml-vpc.
При создании каждого шлюза автоматически выделяются два внешних IPv4-адреса, по одному для каждого интерфейса шлюза.
Внутри Cloud Shell создайте шлюз HA VPN.
gcloud compute vpn-gateways create aiml-vpn-gw \
--network=aiml-vpc\
--region=us-central1
Создайте шлюз HA VPN для локальной VPC.
При создании каждого шлюза автоматически выделяются два внешних IPv4-адреса, по одному для каждого интерфейса шлюза. Запишите эти IP-адреса для дальнейшего использования на этапах настройки.
Внутри Cloud Shell создайте шлюз HA VPN.
gcloud compute vpn-gateways create on-prem-vpn-gw \
--network=on-prem-vpc\
--region=us-central1
Проверьте создание шлюза HA VPN.
В консоли перейдите в раздел HYBRID CONNECTIVITY → VPN → CLOUD VPN GATEWAYS и убедитесь, что IP-адреса шлюзов сгенерированы.

Создайте облачный маршрутизатор для aiml-vpc.
Внутри Cloud Shell создайте Cloud Router, расположенный в каталоге us-central1.
gcloud compute routers create aiml-cr-us-central1 \
--region=us-central1 \
--network=aiml-vpc\
--asn=65001
Создайте облачный маршрутизатор для локальной VPC.
Внутри Cloud Shell создайте Cloud Router, расположенный в каталоге us-central1.
gcloud compute routers create on-prem-cr-us-central1 \
--region=us-central1 \
--network=on-prem-vpc \
--asn=65002
Создайте VPN-туннели для aiml-vpc
Вам потребуется создать два VPN-туннеля на каждом VPN-шлюзе высокой доступности.
Создать VPN-туннель0
Внутри Cloud Shell создайте туннель tunnel0:
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
Создать VPN-туннель1
Внутри Cloud Shell создайте туннель 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
Создайте VPN-туннели для локальной VPC.
Вам потребуется создать два VPN-туннеля на каждом VPN-шлюзе высокой доступности.
Создать VPN-туннель0
Внутри Cloud Shell создайте туннель tunnel0:
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
Создать VPN-туннель1
Внутри Cloud Shell создайте туннель 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
Проверка создания VPN-туннеля
В консоли перейдите в раздел HYBRID CONNECTIVITY → VPN → CLOUD VPN TUNNELS.

8. Установите BGP-соседей.
Создание сессий BGP
В этом разделе вы настраиваете интерфейсы Cloud Router и BGP-пиры.
Создайте BGP-интерфейс и установите пиринговое соединение для aiml-vpc.
Внутри Cloud Shell создайте интерфейс 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
Внутри Cloud Shell создайте 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
Внутри Cloud Shell создайте интерфейс 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
Внутри Cloud Shell создайте 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
Создайте BGP-интерфейс и настройте пиринг для локальной VPC.
Внутри Cloud Shell создайте интерфейс 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
Внутри Cloud Shell создайте 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
Внутри Cloud Shell создайте интерфейс 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
Внутри Cloud Shell создайте 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
Для просмотра сведений о VPN-туннеле перейдите в раздел Hybrid CONNECTIVITY → VPN .

Проверка маршрутов, изученных aiml-vpc, через HA VPN
С помощью консоли перейдите в раздел Сеть VPC → Сети VPC → aiml-vpc → МАРШРУТЫ → РЕГИОН → US-CENTRAL1 → ВИД
Обратите внимание, что aiml-vpc изучил маршруты из nat-подсети и частной IP-подсети локальной VPC.

Убедитесь, что локальная VPC-система распознала подсеть рабочей среды через HA-VPN.
В консоли перейдите в раздел Сеть VPC → Сети VPC → Локальная VPC → Маршруты → Регион → US-CENTRAL1 → Просмотр

9. Создание пользовательских рекламных объявлений маршрутов aiml-vpc
IP-адрес конечной точки Private Service Connect не объявляется автоматически облачным маршрутизатором aiml-cr-us-central1, поскольку подсеть не настроена в VPC.
Вместо этого вам потребуется создать пользовательское объявление маршрута от облачного маршрутизатора aiml-cr-us-central для IP-адреса конечной точки 100.100.10.10, которое будет передаваться в локальную среду по протоколу BGP в локальную VPC.
В консоли перейдите в раздел HYBRID CONNECTIVITY → CLOUD ROUTERS → aiml-cr-us-central1 , затем выберите EDIT.

В разделе «Рекламируемые маршруты» выберите опцию «Создать пользовательские маршруты» , обновите поля в соответствии с приведенным ниже примером, выберите «ГОТОВО», а затем нажмите «СОХРАНИТЬ».

Проверка
Убедитесь, что локальная виртуальная сеть VPC получила IP-адрес конечной точки PSC через HA-VPN.
В консоли перейдите в раздел Сеть VPC → Сети VPC → Локальная VPC → Маршруты → Регион → US-CENTRAL1 → Просмотр

10. Создание пользовательских рекламных маршрутов в локальной VPC.
Облачный маршрутизатор on-prem-vpc по умолчанию объявляет все подсети, но требуется только частная IP-подсеть.
В следующем разделе обновите объявления маршрутов с облачного маршрутизатора on-prem-cr-us-central1.
В консоли перейдите в раздел HYBRID CONNECTIVITY → CLOUD ROUTERS → on-prem-cr-us-central1 , затем выберите EDIT.

В разделе «Рекламируемые маршруты» выберите опцию «Создать пользовательские маршруты» , обновите поля в соответствии с приведенным ниже примером, выберите «ГОТОВО», а затем нажмите «СОХРАНИТЬ».

Проверка
Убедитесь, что aiml-vpc получил маршрут private-ip-subnet от локальной виртуальной сети (on-prem-vpc).
С помощью консоли перейдите в раздел Сеть VPC → Сети VPC → aiml-vpc → МАРШРУТЫ → РЕГИОН → US-CENTRAL1 → ВИД

11. Создайте управляемую пользователем учетную запись службы (экземпляры GCE).
Для обеспечения точного управления API Vertex требуется управляемая пользователем учетная запись службы , которая будет применяться к экземплярам NAT и частного клиента. После создания учетную запись службы может быть изменена в соответствии с бизнес-требованиями. В данном руководстве управляемая пользователем учетная запись службы vertex-sa будет иметь следующие роли:
Перед продолжением необходимо API служебных учетных записей.
Внутри Cloud Shell создайте учетную запись службы.
gcloud iam service-accounts create gce-vertex-sa \
--description="service account for vertex" \
--display-name="gce-vertex-sa"
Внутри Cloud Shell обновите учетную запись службы, добавив ей роль администратора вычислительного экземпляра.
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:gce-vertex-sa@$projectid.iam.gserviceaccount.com" --role="roles/compute.instanceAdmin.v1"
Внутри Cloud Shell обновите учетную запись службы, присвоив ей роль «Пользователь Vertex AI».
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:gce-vertex-sa@$projectid.iam.gserviceaccount.com" --role="roles/aiplatform.user"
12. Создайте управляемую пользователем учетную запись службы (блокнот).
В следующем разделе вы создадите управляемую пользователем учетную запись службы, которая будет связана с рабочей средой Vertex Workbench (блокнотом), используемой в этом руководстве.
В данном руководстве к учетной записи службы будут применены следующие роли:
Внутри Cloud Shell создайте учетную запись службы.
gcloud iam service-accounts create user-managed-notebook-sa \
--display-name="user-managed-notebook-sa"
Внутри Cloud Shell обновите учетную запись службы, присвоив ей роль администратора хранилища.
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/storage.admin"
Внутри 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 обновите учетную запись службы, присвоив ей роль администратора реестра артефактов.
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/artifactregistry.admin"
В Cloud Shell укажите учетную запись службы и запишите адрес электронной почты, который будет использоваться при создании управляемого пользователем блокнота.
gcloud iam service-accounts list
13. Созданы тестовые экземпляры.
В следующем разделе вы создадите тестовые экземпляры для проверки различных методов доступа к API Vertex, а именно:
- Экземпляр
nat-client,будет использовать Cloud NAT для разрешения имен Vertex AI и, следовательно, для доступа к конечной точке онлайн-прогнозирования через Интернет. - Экземпляр
private-clientбудет использовать IP-адрес Private Service Connect 100.100.10.10 для доступа к конечной точке Online Prediction через HA-VPN.
Внутри Cloud Shell создайте экземпляр 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"
Внутри Cloud Shell создайте экземпляр 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"
Чтобы разрешить Identity-Aware Proxy (IAP) подключаться к вашим виртуальным машинам , создайте правило брандмауэра, которое:
- Применяется ко всем экземплярам виртуальных машин, к которым вы хотите обеспечить доступ с помощью IAP.
- Разрешает входящий трафик из диапазона IP-адресов 35.235.240.0/20. Этот диапазон содержит все IP-адреса, которые IAP использует для пересылки TCP-трафика.
Внутри Cloud Shell создайте правило брандмауэра 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. Создайте записную книжку, управляемую пользователем.
В следующем разделе создайте управляемый пользователем блокнот, который будет включать ранее созданную учетную запись службы user-managed-notebook-sa.
Внутри Cloud Shell создайте экземпляр частного клиента.
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. Развертывание модели и онлайн-прогнозирование.
В следующем разделе используйте предоставленный пример кода Vertex AI: Использование пользовательских процедур прогнозирования с помощью Sklearn для предварительной и постобработки данных для прогнозирования. Начните с раздела 7, поскольку вы уже создали ноутбук на предыдущем шаге. После развертывания модели вернитесь к руководству, чтобы начать следующий раздел.

16. Проверка доступа к API Vertex через Интернет.
В следующем разделе вы войдете в систему, nat-client, и проверите подключение к Vertex AI с помощью dig и tcpdump к домену us-central1-aiplatform.googleapis.com, используемому для разрешения API Vertex.
Войдите в nat-client, используя IAP в Cloud Shell, чтобы проверить подключение к API Vertex, выполнив команду dig по домену Vertex us-central1-aiplatform.googleapis.com.
gcloud compute ssh nat-client --project=$projectid --zone=us-central1-a --tunnel-through-iap
Провести раскопки.
dig us-central1-aiplatform.googleapis.com
Например, обратите внимание на публичные IP-адреса в ответе 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
В операционной системе nat-client выполните команду tcpdump для проверки разрешения DNS при выполнении запроса curl к онлайн-прогнозу.
sudo tcpdump -i any port 53 -n
Пример:
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
Откройте новый терминал Cloud Shell, выбрав значок "+". После открытия новой вкладки обновите переменную с именем проекта.
Внутри Cloud Shell обновите переменную с именем проекта.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
Внутри Cloud Shell 2 выполните SSH-подключение к экземпляру nat-client.
gcloud compute ssh --zone "us-central1-a" "nat-client" --project "$projectid"
В следующем разделе вы создадите файл instances.json с помощью редактора VI sudo или nano и вставите в него строку данных, используемую для получения прогноза от развернутой модели.
В операционной системе nat-client создайте файл 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:$ 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:$
Получите идентификатор конечной точки онлайн-прогнозирования в облачной консоли, который будет использоваться на последующих этапах.
Перейдите в VERTEX AI → ОНЛАЙН-ПРОГНОЗИРОВАНИЕ

В операционной системе nat-client создайте следующие переменные:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
ENDPOINT_ID="insert-your-endpoint-id-here"
Пример:
ENDPOINT_ID="3328226095324463104"
В операционной системе nat-client выполните команду curl, чтобы получить ответ от модели.
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
Например, обратите внимание на успешный прогноз.
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. Проверка — Доступ к API Vertex через Интернет
Теперь, когда вы выполнили предсказание, давайте посмотрим на результаты TCPDUMP (терминал 1), которые указывают на то, что экземпляр nat-клиента (192.168.10.2) выполняет DNS-запрос к локальному DNS-серверу 169.254.169.254 для домена Vertex AI us-central1-aiplatform.googleapis.com . Результатом DNS-запроса являются публичные виртуальные IP-адреса (VIPS) для API Vertex, как указано ниже:
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. Обеспечьте приватный доступ к API Vertex.
В следующем разделе вы получите доступ к API Vertex, используя Private Service Connect через гибридную сеть (HA VPN), чтобы обеспечить конфиденциальный доступ к онлайн-прогнозированию. В примере, используемом в руководстве, вы обновите файл /etc/hosts в экземпляре частного клиента.
В локальной среде для тестирования целесообразно обновить файл /etc/hosts на одной или нескольких машинах, однако для крупномасштабных и производственных сред предпочтительнее создать новую зону переадресации, используя полное доменное имя конечной точки PSC.
Например, конечная точка psc, созданная в руководстве, называется pscvertex, что соответствует pscvertex.p.googleapis.com . При использовании этой конечной точки для Vertex добавьте полное доменное имя (FQDN) с названием сервиса, например, us-central1-aiplatform-pscvertex.p.googleapis.com .
Обновление локальной DNS с использованием конечной точки PSC также требует рефакторинга локальных приложений для вызова FDQN, например, us-central1-aiplatform-pscvertex.p.googleapis.com , вместо собственной общедоступной конечной точки us-central1-aiplatform.googleapis.com .
Клиенты, которые могут быть настроены на использование пользовательской конечной точки, могут использовать DNS-имена p.googleapis.com для отправки запросов к этой конечной точке.
Для получения информации о настройке использования пользовательских конечных точек обратитесь к документации вашего клиента или клиентской библиотеки. Например:
- Python: Вы можете настроить параметр api_endpoint в классе Client options пакета google-api-core.
- Перейти: Вы можете настроить WithEndpoint в пакете параметров клиента в пакете api.
- gcloud: Вы можете настроить параметр api_endpoint_overrides.
Откройте новый терминал Cloud Shell, выбрав значок "+". После открытия новой вкладки обновите переменную с именем проекта.
Из Cloud Shell.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
Войдите в частный клиент, используя IAP, в новой оболочке Cloud Shell, чтобы проверить подключение к API Vertex, выполнив команду dig по домену Vertex us-central1-aiplatform.googleapis.com.
В Cloud Shell войдите в экземпляр частной клиентской операционной системы.
gcloud compute ssh private-client --project=$projectid --zone=us-central1-a --tunnel-through-iap
Провести раскопки.
dig us-central1-aiplatform.googleapis.com
Например, обратите внимание на публичные IP-адреса, полученные на основе ответа 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
Обновите файл /etc/hosts экземпляра частного клиента с помощью sudo VI editor или nano, чтобы создать запись с полным доменным именем Vertext AI us-central1-aiplatform.googleapis.com , указывающую на конечную точку PSC 100.100.10.10; дальнейшие изменения не требуются.
Пример:
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
С клиентской ОС выполните команду PING к конечной точке API Vertex.
ping us-central1-aiplatform.googleapis.com
Например, команда PING возвращает IP-адрес конечной точки PSC, но ответа не ожидается.
user@private-client:~$ ping us-central1-aiplatform.googleapis.com
PING us-central1-aiplatform.googleapis.com (100.100.10.10) 56(84) bytes of data.
В операционной системе частного клиента выполните команду tcpdump для проверки разрешения DNS и пути передачи данных по IP-адресу до конечной точки PSC при выполнении команды curl к онлайн-прогнозу.
sudo tcpdump -i any port 53 -n or host 100.100.10.10
Откройте четвертый терминал Cloud Shell, выбрав кнопку «+». После открытия новой вкладки обновите переменную с именем проекта.
Внутри Cloud Shell обновите переменную с именем проекта.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
Внутри Cloud Shell 4 выполните SSH-подключение к экземпляру частного клиента.
gcloud compute ssh --zone "us-central1-a" "private-client" --project "$projectid"
В следующем разделе вы создадите файл instances.json с помощью редактора VI sudo или nano и вставите в него строку данных, используемую для получения прогноза от развернутой модели.
В операционной системе частного клиента создайте файл 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:$ 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:$
В операционной системе частного клиента создайте следующие переменные:
gcloud config list project
projectid=YOUR-PROJECT-NAME
echo $projectid
ENDPOINT_ID="insert-your-endpoint-id-here"
Пример:
ENDPOINT_ID="3328226095324463104"
В частной операционной системе Cloud Shell 4 выполните команду curl, чтобы получить ответ от модели.
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. Валидация — Закрытый доступ к API Vertex
Обратите внимание, что в частной клиентской ОС в Cloud Shell 4 для доступа к API Vertex использовался IP-адрес конечной точки PSC (100.100.10.10).
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
С помощью терминала TCPDUMP в Cloud Shell 3 мы можем убедиться, что DNS-запрос к us-central1-aiplatform.googleapis.com не был выполнен, поскольку приоритет имел файл /etc/hosts, хотя в пути передачи данных использовался IP-адрес PSC 100.100.10.10.
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
Вы успешно подтвердили подключение к онлайн-прогнозированию через общедоступную точку доступа в Интернете, а также через частную сеть с использованием гибридной сети и Private Service Connect (googleapis). Выйдите из операционной системы и вернитесь в командную строку Cloud Shell.
20. Уборка
В Cloud Shell удалите компоненты учебного пособия.
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
Удалить компоненты вершин
Чтобы удалить образ контейнера, перейдите в реестр артефактов, выберите созданный вами репозиторий и нажмите «Удалить».

Чтобы удалить сегмент хранилища, воспользуйтесь меню навигации в консоли Cloud Console, перейдите в раздел «Хранилище», выберите свой сегмент и нажмите «Удалить».

Удалите модель с конечной точки. Перейдите в Vertex AI → Онлайн-прогнозирование → Выберите diamonds-cpr_endpoint → Удалить модель с конечной точки → Удалить

Удалите модель. Перейдите в Vertex AI → Реестр моделей → Удалить модель.

Удалите конечную точку онлайн-прогнозирования. Перейдите в VertexAI → Онлайн-прогнозирование → Выберите diamonds-cpr_endpoint → Удалить конечную точку

21. Поздравляем!
Поздравляем, вы успешно настроили и проверили подключение к Online Prediction как через Интернет, так и через частную сеть Private Service Connect и гибридную сеть.
Вы создали nat-client и private-client и использовали TCPDUMP для проверки IP-адресов, используемых для доступа к API Vertex. Кроме того, вы узнали о Private Service Connect (googleapis) и о том, как его можно использовать для изоляции локальных и многооблачных приложений с помощью конечной точки PSC клиента.
Cosmopup считает, что обучающие материалы — это здорово!!

Что дальше?
Посмотрите эти обучающие материалы...
- Private Service Connect для API Google
- Vertex AI создает защищенный ноутбук с пользовательским управлением.
Дополнительная литература и видеоматериалы
- Обзор Private Service Connect
- Что такое Private Service Connect?
- Как получить прогнозы от модели машинного обучения
- Что такое Vertex AI?
