1. Введение
С помощью Private Service Connect вы можете создавать частные конечные точки, используя глобальные внутренние IP-адреса в вашей сети VPC. Этим внутренним IP-адресам можно назначить DNS-имена со значимыми именами, например Storage-pscendpoint.p.googleapis.com и bigtable-adsteam.p.googleapis.com. Вместо отправки запросов API к конечным точкам общедоступных служб, таким как Storage.googleapis.com, вы можете отправлять запросы к конечной точке Private Service Connect, которая является частной и внутренней по отношению к вашей сети VPC.
Эти имена и IP-адреса являются внутренними для вашей сети VPC и любых локальных сетей, которые подключены к ней с помощью туннелей Cloud VPN или подключений Cloud Interconnect (VLAN).
Вы можете контролировать, какой трафик направляется к какой конечной точке, и можете продемонстрировать, что трафик остается в Google Cloud.
Что вы узнаете
- Варианты использования подключения частных услуг
- Требования к сети
- Поддерживаемые API
- Создайте конечную точку Private Service Connect.
- Создайте сегмент облачного хранилища
- Создание и обновление частных зон Cloud DNS
- Создайте шлюз NAT для доступа к общедоступным API Google.
- Создайте и обновите файл конфигурации BOTO.
- Выполните список gsutil на виртуальной машине 1, разрешенный для конечной точки службы PSC.
- Выполнение списка gsutil на виртуальной машине 2 разрешено на общедоступном сайте googleapis.com
- Используйте Tcpdump для проверки разрешения DNS
Что вам понадобится
- Знание DNS, редактора nano или vi.
2. Варианты использования подключения частных услуг
Вы можете создать несколько конечных точек Private Service Connect в одной сети VPC. Нет ограничений на пропускную способность для конкретной конечной точки. Поскольку конечные точки Private Service Connect используют глобальные внутренние IP-адреса, их может использовать любой ресурс в вашей сети VPC.
При наличии нескольких конечных точек вы можете указать разные сетевые пути с помощью правил Cloud Router и брандмауэра.
- Вы можете создать правила брандмауэра, чтобы запретить некоторым виртуальным машинам доступ к API Google через конечную точку Private Service Connect, в то же время позволяя другим виртуальным машинам иметь доступ.
- На экземпляре виртуальной машины можно установить правило брандмауэра, запрещающее весь трафик в Интернет; трафик, отправленный на конечные точки Private Service Connect, по-прежнему достигает Google.
- Если у вас есть локальные хосты, которые подключены к VPC с помощью туннеля Cloud VPN или подключения Cloud Interconnect (VLAN), вы можете отправлять некоторые запросы через туннель или VLAN, одновременно отправляя другие запросы через общедоступный Интернет. Эта конфигурация позволяет обойти туннель или VLAN для таких служб, как Google Книги, которые не поддерживаются Private Google Access. Чтобы создать эту конфигурацию, создайте конечную точку Private Service Connect, объявите IP-адреса конечной точки Private Service Connect с помощью объявлений настраиваемого маршрута Cloud Router и включите политику входящей пересылки Cloud DNS . Приложение может отправлять некоторые запросы через туннель Cloud VPN или подключение Cloud Interconnect (VLAN), используя имя конечной точки Private Service Connect, а другие — через Интернет, используя DNS-имя по умолчанию.
- Если вы подключаете свою локальную сеть к сети VPC с помощью нескольких подключений Cloud Interconnect (VLAN), вы можете отправлять часть трафика из локальной сети через одну VLAN, а остальной трафик — через другие, как показано на рис. 2. Это позволяет вам использовать иметь собственную глобальную сеть вместо сети Google и контролировать перемещение данных в соответствии с географическими требованиями. Чтобы создать эту конфигурацию, создайте две конечные точки Private Service Connect. Создайте объявление настраиваемого маршрута для первой конечной точки в сеансе BGP облачного маршрутизатора, управляющего первой VLAN, и создайте другое объявление настраиваемого маршрута для второй конечной точки в сеансе BGP облачного маршрутизатора, управляющего второй VLAN. Локальные узлы, настроенные на использование имени конечной точки Private Service Connect, отправляют трафик через соответствующее подключение Cloud Interconnect (VLAN).
- Вы также можете использовать несколько подключений Cloud Interconnect (VLAN) в топологии «активный/активный». Если вы объявляете один и тот же IP-адрес конечной точки Private Service Connect с помощью объявлений настраиваемых маршрутов для сеансов BGP на облачных маршрутизаторах, управляющих виртуальными локальными сетями, пакеты, отправляемые из локальных систем в конечные точки, маршрутизируются через виртуальные локальные сети с использованием ECMP.
Рисунок 1. Настраивая Private Service Connect, Cloud Router и локальные хосты, вы можете контролировать, какое подключение Cloud Interconnect (VLAN) используется для отправки трафика в API Google.
3. Требования к сети
Чтобы использовать Private Service Connect, экземпляры виртуальных машин (ВМ) без внешних IP-адресов должны иметь основной интерфейс в подсети с включенным частным доступом Google.
Виртуальная машина с внешним IP-адресом может получать доступ к API и службам Google с помощью конечных точек Private Service Connect независимо от того, включен ли частный доступ Google для ее подсети. Подключение к конечной точке Private Service Connect остается в сети Google.
Конечные точки Private Service Connect недоступны из одноранговых сетей VPC.
Поддерживаемые API
Когда вы создаете конечную точку Private Service Connect, вы выбираете, к какому пакету API-интерфейсов вам нужен доступ: all-apis или vpc-sc.
Пакеты API предоставляют доступ к тем же API, которые доступны через VIP-клиенты Private Google Access .
- Пакет all-apis обеспечивает доступ к тем же API, что и Private.googleapis.com.
- Пакет vpc-sc предоставляет доступ к тем же API, что и Restricted.googleapis.com.
4. Топология Codelab и вариант использования
Рисунок 1. Топология Codelab
Вариант использования Codelab —
Нашему клиенту требуется сочетание частного (интерконнект) и общедоступного доступа к GoogleAPIS для передачи данных в облачное хранилище. Чтобы удовлетворить требования наших клиентов, мы развернем Private Service Connect, состоящий из уникального адреса /32, конфигурации BOTO и обновлений записей DNS. Виртуальная машина 1 будет использовать PSC для доступа к облачному хранилищу; напротив, VM2 будет использовать общедоступные диапазоны IP-адресов googleapis.com через NAT GW.
Все аспекты лабораторной работы развертываются в рамках Google Cloud Platform, однако тот же вариант использования применим и для развертывания гибридного облака, требующего разделения трафика.
5. Настройка и требования
Самостоятельная настройка среды
- Войдите в Cloud Console и создайте новый проект или повторно используйте существующий. (Если у вас еще нет учетной записи Gmail или G Suite, вам необходимо ее создать .)
Запомните идентификатор проекта — уникальное имя для всех проектов Google Cloud (имя, указанное выше, уже занято и не подойдет вам, извините!). Позже в этой лаборатории он будет называться PROJECT_ID
.
- Далее вам необходимо включить биллинг в Cloud Console, чтобы использовать ресурсы Google Cloud.
Прохождение этой лаборатории кода не должно стоить много, если вообще стоит. Обязательно следуйте всем инструкциям в разделе «Очистка», в которых рассказывается, как отключить ресурсы, чтобы вам не приходилось нести расходы, выходящие за рамки этого руководства. Новые пользователи Google Cloud имеют право на участие в программе бесплатной пробной версии стоимостью 300 долларов США .
Запустить Cloud Shell
Хотя Google Cloud можно управлять удаленно с вашего ноутбука, в этой лаборатории вы будете использовать Google Cloud Shell , среду командной строки, работающую в облаке.
В консоли GCP щелкните значок Cloud Shell на верхней правой панели инструментов:
Подготовка и подключение к среде займет всего несколько минут. Когда все будет готово, вы должны увидеть что-то вроде этого:
Эта виртуальная машина оснащена всеми необходимыми инструментами разработки. Он предлагает постоянный домашний каталог объемом 5 ГБ и работает в Google Cloud, что значительно повышает производительность сети и аутентификацию. Всю работу в этой лабораторной работе можно выполнять с помощью простого браузера.
6. Прежде чем начать
Включить API
В Cloud Shell убедитесь, что идентификатор вашего проекта настроен.
gcloud config list project gcloud config set project [YOUR-PROJECT-NAME] projectname=YOUR-PROJECT-NAME echo $projectname
Включите все необходимые службы
gcloud services enable compute.googleapis.com gcloud services enable servicedirectory.googleapis.com gcloud services enable dns.googleapis.com
7. Создайте сеть VPC.
Сеть VPC
Из Cloud Shell
gcloud compute networks create psc-lab --subnet-mode custom
Выход
Created NAME SUBNET_MODE BGP_ROUTING_MODE IPV4_RANGE GATEWAY_IPV4 psc-lab CUSTOM REGIONAL
Создать подсеть
Из Cloud Shell
gcloud compute networks subnets create psclab-subnet \ --network psc-lab --range 10.0.0.0/24 --region us-central1
--enable-private-ip-google-access
Выход
Created NAME REGION NETWORK RANGE psclab-subnet us-central1 psc-lab 10.0.0.0/24
Создать правила брандмауэра
Из Cloud Shell
gcloud compute firewall-rules create psclab-ssh \ --network psc-lab --allow tcp:22 --source-ranges=35.235.240.0/20
Выход
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED psclab-ssh psc-lab INGRESS 1000 tcp:22 False
Создать экземпляр Cloud NAT
Создать облачный маршрутизатор
Из Cloud Shell
gcloud compute routers create crnat \ --network psc-lab \ --asn 65000 \ --region us-central1
Создать облачный NAT
Из Cloud Shell
gcloud compute routers nats create cloudnat \ --router=crnat \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges \ --enable-logging \ --region us-central1
8. Создайте конечную точку Private Service Connect.
При настройке IP-адреса конечной точки Private Service Connect <pscendpointip>
вам потребуется указать уникальный IP-адрес, не определенный в вашем VPC.
Из Cloud Shell
gcloud beta compute addresses create psc-ip \ --global \ --purpose=PRIVATE_SERVICE_CONNECT \ --addresses=<pscendpointip> \ --network=psc-lab
Сохраните «pscendpointip» на время лабораторной работы.
(gcloud compute addresses list --filter=name:psc-ip --format="value(address)") pscendpointip=$(gcloud compute addresses list --filter=name:psc-ip --format="value(address)") echo $pscendpointip
Создайте правило переадресации, чтобы подключить конечную точку к API и службам Google.
Из Cloud Shell
gcloud beta compute forwarding-rules create pscendpoint \ --global \ --network=psc-lab \ --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 \ pscendpoint --global
9. Создайте корзину
Создайте сегмент Cloud Storage и замените BUCKET_NAME глобально уникальным именем, которое вы предпочитаете.
Из Cloud Shell
gsutil mb -l us-central1 -b on gs://BUCKET_NAME
Сохраните BUCKET_NAME на время лабораторной работы.
BUCKET_NAME=YOUR BUCKET NAME echo $BUCKET_NAME
10. Конфигурация DNS
Предположим, у вас есть приложение, использующее Google Cloud Storage. Без Private Service Connect ваши приложения могут подключаться к «storage.googleapis.com», который по умолчанию разрешается в какой-либо общедоступный адрес. С помощью Private Service Connect вы можете создавать и использовать такие имена, как «storage-psclab.p.googleapis.com». Имя и адреса являются конфиденциальными для вашей сети VPC и любых подключенных локальных сетей.
Private Service Connect для DNS соответствует соглашению об именах: SERVICE-ENDPOINT.p.googleapis.com. В приведенном выше примере «хранилище» — это СЕРВИС, а «psclab» — КОНЕЧНАЯ ТОЧКА. Обязательно включите «-» между SERVICE и ENDPOINT.
Для доступа к облачному хранилищу с помощью конечной точки Private Service Connect создайте запись DNS (A) Storage-psclab.p.googleapis.com, которая указывает на IP-адрес конечной точки Private Service Connect.
Создать частную зону DNS
gcloud dns --project=$projectname managed-zones create psc-dns-zone --description="" --dns-name="p.googleapis.com." --visibility="private" --networks="psc-lab"
Создать DNS-запись
gcloud dns --project=$projectname record-sets transaction start --zone=psc-dns-zone gcloud dns --project=$projectname record-sets transaction add $pscendpointip --name=storage-pscendpoint.p.googleapis.com. --ttl=300 --type=A --zone=psc-dns-zone gcloud dns --project=$projectname record-sets transaction execute --zone=psc-dns-zone
11. Создание виртуальных машин
Создайте виртуальную машину (psc-instance-1), используемую для проверки подключения частной службы.
Из Cloud Shell
gcloud compute instances create psc-instance-1 \ --subnet psclab-subnet \ --zone us-central1-a \ --image=centos-7-v20210122 \ --image-project=centos-cloud \ --no-address \ --metadata=startup-script=yum\ install\ tcpdump\ -y$'\n'yum\ install\ bind-utils\ -y$'\n'yum\ install\ nano\ -y
Войдите в экземпляр виртуальной машины (psc-instance-1).
SSH к виртуальной машине через Cloud Shell
gcloud compute ssh --zone "us-central1-a" "psc-instance-1" --project "$projectname"
Создайте дополнительные терминалы облачной оболочки, трижды нажав + (скриншот ниже).
Создайте виртуальную машину (psc-instance-2), используемую для проверки общедоступного Googleapis.
Из вкладки 2
gcloud compute instances create psc-instance-2 \ --subnet psclab-subnet \ --zone us-central1-a \ --image=centos-7-v20210122 \ --image-project=centos-cloud \ --no-address \ --metadata=startup-script=yum\ install\ tcpdump\ -y$'\n'yum\ install\ bind-utils\ -y$'\n'yum\ install\ nano\ -y
С вкладки 2 SSH в виртуальную машину через Cloud Shell
gcloud config list project gcloud config set project [YOUR-PROJECT-NAME] projectname=YOUR-PROJECT-NAME echo $projectname gcloud compute ssh --zone "us-central1-a" "psc-instance-2" --project "$projectname"
С вкладки 3 SSH в psc-instance-1 через Cloud Shell
gcloud config list project gcloud config set project [YOUR-PROJECT-NAME] projectname=YOUR-PROJECT-NAME echo $projectname gcloud compute ssh --zone "us-central1-a" "psc-instance-1" --project "$projectname"
С вкладки 4 Shell SSH в psc-instance-2 через Cloud Shell
gcloud config list project gcloud config set project [YOUR-PROJECT-NAME] projectname=YOUR-PROJECT-NAME echo $projectname gcloud compute ssh --zone "us-central1-a" "psc-instance-2" --project "$projectname"
12. Проверьте существующее поведение Gsutil.
На вкладке 4 (psc-instance-2) запустите tcpdump и отслеживайте DNS-трафик.
sudo tcpdump -vv -i eth0 port 53
Проверьте поиск DNS сегмента хранилища на вкладке 2 (psc-instance-2).
BUCKET_NAME=YOUR BUCKET NAME echo $BUCKET_NAME gsutil -D ls gs://$BUCKET_NAME
Проверьте отладку gsutil: HOST Storage.googleapis.com используется для разрешения DNS.
<snip> send: 'GET /storage/v1/b/$BUCKET_NAME/o?delimiter=%2F&projection=noAcl&versions=False&fields=prefixes%2CnextPageToken%2Citems%2Fname&alt=json&maxResults=1000 HTTP/1.1\r\nHost: storage.googleapis.com\r\ncontent-length: 0\r\nauthorization: Bearer ya29.c.KpkB7wfaMjfc_WXEKCeNF4Md0fEHnfDU7tqBf3cd0u43yEmYXqj8fX_X5wWdNdDVH6k1EkjeAeIJDzKGvyjPOkf1Io2kVeUqYX69sDv53huW1NslffjAHKchbZ0CP3Cg83TS3Pa55jLcuE0TLbYycVrgSbD3H90LaapUGbWD3kj4IsJLf9J8R98Bqobu8HZwwqk92hlZ4zVzRqOM\r\naccept-encoding: gzip, deflate\r\naccept: application/json\r\nuser-agent: apitools Python/2.7.5 gsutil/4.57 (linux2) analytics/disabled interactive/True command/ls google-cloud-sdk/324.0.0\r\n\r\n' reply: 'HTTP/1.1 200 OK\r\n' <snip>
На вкладке 4 (psc-instance-2) убедитесь, что общедоступные записи DNS GoogleAPI.com используются при доступе к сегменту хранилища.
metadata.google.internal.domain > psc-instance-2.c.yourprojectname.internal.33973: [udp sum ok] 36442 q: A? storage.googleapis.com. 11/0/0 storage.googleapis.com. A 108.177.111.128, storage.googleapis.com. A 142.250.128.128, storage.googleapis.com. A 74.125.70.128, storage.googleapis.com. A 74.125.201.128, storage.googleapis.com. A 64.233.183.128, storage.googleapis.com. A 173.194.198.128, storage.googleapis.com. A 172.217.219.128, storage.googleapis.com. A 142.250.136.128, storage.googleapis.com. A 209.85.234.128, storage.googleapis.com. A 172.217.212.128, storage.googleapis.com. A 172.217.214.128
13. Измените поведение Gsutil.
Напомним, что на предыдущем шаге вы создали частную зону DNS и запись A, сопоставленную с IP-адресом конечной точки PSC. На следующем шаге мы теперь будем контролировать поведение gsutil, обновляя файл VM BOTO в psc-instance-1.
Просмотрите конфигурацию BOTO по умолчанию в терминале экземпляра виртуальной машины на вкладке 1 (psc-instance-1).
[psc-instance ~]$ more /etc/boto.cfg
Вывод (ваш project_id будет отличаться)
[GSUtil] default_project_id = 234086459238 default_api_version = 2 [GoogleCompute] service_account = default
Обновите конфигурацию BOTO с помощью nano или VI Editor, обязательно скопируйте и вставьте все записи.
Пример: sudo nano /etc/boto.cfg
или
Пример: sudo vi /etc/boto.cfg
На вкладке терминала экземпляра виртуальной машины 1 (psc-instance-1)
[Credentials] gs_host = storage-pscendpoint.p.googleapis.com gs_host_header = storage.googleapis.com gs_json_host = storage-pscendpoint.p.googleapis.com gs_json_host_header = www.googleapis.com
Проверьте конфигурацию: порядок [Учетные данные] важен для поиска DNS.
more /etc/boto.cfg [Credentials] gs_host = storage-pscendpoint.p.googleapis.com gs_host_header = storage.googleapis.com gs_json_host = storage-pscendpoint.p.googleapis.com gs_json_host_header = www.googleapis.com [GSUtil] default_project_id = 234086459238 default_api_version = 2 [GoogleCompute] service_account = default
14. Проверьте обновленное поведение поиска gsutil.
На вкладке 3 (psc-instance-1) запустите tcpdump и отслеживайте DNS-трафик.
sudo tcpdump -vv -i eth0 port 53
Проверьте поиск gsutil в сегменте хранилища на вкладке 1 (psc-instance-1).
BUCKET_NAME=YOUR BUCKET NAME echo $BUCKET_NAME gsutil -D ls gs://$BUCKET_NAME
Журналы отладки подтверждают, что сегмент хранилища доступен через конечную точку Private Service Connect "pscendpoint".
Выход:
<snip> INFO 0131 22:14:18.795986 base_api.py] Making http GET to https://storage-pscendpoint.p.googleapis.com/storage/v1/b/$BUCKET_NAME/o?delimiter=%2F&projection=noAcl&versions=False&fields=prefixes%2CnextPageToken%2Citems%2Fname&alt=json&maxResults=1000 INFO 0131 22:14:18.796415 base_api.py] Headers: {u'Host': 'www.googleapis.com', 'accept': 'application/json', 'accept-encoding': 'gzip, deflate', 'content-length': '0', 'user-agent': 'apitools Python/2.7.5 gsutil/4.57 (linux2) analytics/disabled interactive/True command/ls google-cloud-sdk/324.0.0'} INFO 0131 22:14:18.796502 base_api.py] Body: (none) connect: (storage-pscendpoint.p.googleapis.com, 443) send: 'GET /storage/v1/b/psc-bucket/o?delimiter=%2F&projection=noAcl&versions=False&fields=prefixes%2CnextPageToken%2Citems%2Fname&alt=json&maxResults=1000 HTTP/1.1\r\ncontent-length: 0\r\naccept-encoding: gzip, deflate\r\naccept: application/json\r\nuser-agent: apitools Python/2.7.5 gsutil/4.57 (linux2) analytics/disabled interactive/True command/ls google-cloud-sdk/324.0.0\r\nhost: www.googleapis.com\r\nauthorization: Bearer ya29.c.KpkB7wd3XWiYeRyTuth5_HPlNV-hPwc2Nn7RSIeMpzrpa_j4EsMPl2m_mDGKAcGHvYIgiC5bT2UVQirAPpSbbpToa6G6lkaBbH5SZwHwgNXYfisp5Ww1UjXe4rTa69a_Wp0WesafcwPNnYzDo3xf5VGh3iGhySA04kTXuyT--MgOU8U-XLII2LJQxUWlV8KEdrvyCuqRb-jsDdk_\r\n\r\n' reply: 'HTTP/1.1 200 OK\r\n' <snip>
На вкладке 3 (psc-instance-1) убедитесь, что IP-адрес конечной точки PSC соответствует записи DNS A, используемой при попытке доступа к вашему сегменту хранилища.
@psc-instance-1 ~]$ sudo tcpdump -vv -i eth0 port 53 tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 05:02:33.936256 IP (tos 0x0, ttl 64, id 55416, offset 0, flags [DF], proto UDP (17), length 82) psc-instance-1.c.yourprojectname.internal.42296 > metadata.google.internal.domain: [bad udp cksum 0x5e4e -> 0xcceb!] 34796+ A? storage-pscendpoint.p.googleapis.com. (54) 05:02:33.936269 IP (tos 0x0, ttl 64, id 55417, offset 0, flags [DF], proto UDP (17), length 82) psc-instance-1.c.yourprojectname.internal.42296 > metadata.google.internal.domain: [bad udp cksum 0x5e4e -> 0x3ebd!] 5632+ AAAA? storage-pscendpoint.p.googleapis.com. (54) 05:02:33.944018 IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 98) metadata.google.internal.domain > psc-instance-1.c.yourprojectname.42296: [udp sum ok] 34796 q: A? storage-pscendpoint.p.googleapis.com. 1/0/0 storage-pscendpoint.p.googleapis.com. A 10.10.110.10 (70) 05:02:33.946005 IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 175)
Убедитесь, что IP-адрес конечной точки Private Service Connect теперь используется для разрешения DNS.
Из вкладки 1
nslookup storage-pscendpoint.p.googleapis.com
Выход
@psc-instance ~]$ nslookup storage-pscendpoint.p.googleapis.com Server: 169.254.169.254 Address: 169.254.169.254#53 Non-authoritative answer: Name: storage-pscendpoint.p.googleapis.com Address: <pscip>
15. Этапы очистки
Выход из экземпляра виртуальной машины (все вкладки)
exit
Удаление компонентов лаборатории из одного терминала Cloud Shell
gcloud compute routers nats delete cloudnat --router=crnat --region=us-central1 --quiet gcloud compute routers delete crnat --region=us-central1 --quiet gcloud beta compute forwarding-rules delete pscendpoint --global --quiet gcloud beta compute addresses delete psc-ip --global --quiet gsutil rm -r gs://$BUCKET_NAME gcloud compute instances delete psc-instance-1 --zone=us-central1-a --quiet gcloud compute instances delete psc-instance-2 --zone=us-central1-a --quiet gcloud compute firewall-rules delete psclab-ssh --quiet gcloud compute networks subnets delete psclab-subnet --region us-central1 --quiet gcloud compute networks delete psc-lab --quiet
В консоли убедитесь, что вы просматриваете правильный проект, затем выберите «Сетевые службы» → «Облачный DNS».
Определите и нажмите «psc-dns-zone».
Выберите набор записей «storage-pscendpoint.p.googleapis.com», затем нажмите «Удалить наборы записей».
Нажмите «Удалить зону», чтобы завершить очистку лаборатории.
16. Поздравляем!
Поздравляем с завершением работы над кодом.
Что мы рассмотрели
- Варианты использования подключения к частным услугам
- Требования к сети
- Поддерживаемые API
- Создана конечная точка Private Service Connect.
- Создал сегмент облачного хранилища.
- Созданы частные зоны Cloud DNS.
- Обновлен файл конфигурации BOTO.
- Создал NAT GW.
- Выполните список gsutil на виртуальной машине 1, который разрешается для вашей конечной точки службы PSC.
- Выполните список gsutil на виртуальной машине 2, который разрешается на общедоступном сайте googleapis.com.
- Используйте Tcpdump для проверки разрешения DNS