Огляд
HA VPN – це рішення Cloud VPN високої доступності, що дає змогу безпечно підключити локальну мережу до мережі VPC через VPN-з’єднання IPsec у межах одного регіону, а також гарантує 99,99% доступності сервісів згідно з угодою про рівень обслуговування.
Рішення HA VPN можна додати до окремої регіональної мережі VPC. Шлюзи HA VPN мають два інтерфейси, кожен з окремою загальнодоступною ІР-адресою. Під час створення такого шлюзу дві загальнодоступні ІР-адреси автоматично вибираються з різних пулів адрес. Завдяки налаштуванню HA VPN із двома тунелями Cloud VPN забезпечує безперервну доступність сервісів на 99,99%.
Під час цього практичного заняття ви створите глобальну мережу VPC під назвою vpc-demo з двома спеціальними підмережами в і . Ви також додасте екземпляр Compute Engine у цю мережу VPC в кожному регіоні. Потім ви створите другу мережу VPC під назвою on-prem для імітації локального центру обробки даних клієнта. У цій мережі VPC ви додасте підмережу в регіон і екземпляр Compute Engine, запущений у цьому регіоні. Насамкінець ви додасте HA VPN і хмарний маршрутизатор у кожну мережу VPC й запустите два тунелі з обох шлюзів HA VPN, щоб забезпечити виконання угоди про рівень обслуговування на 99,99%, перш ніж тестувати конфігурацію.

Цілі
На цьому практичному занятті ви навчитеся виконувати наведені нижче дії.
- Створювати дві мережі VPC й екземпляри.
- Налаштовувати шлюзи HA VPN.
- Налаштовувати динамічну маршрутизацію через VPN-тунелі.
- Налаштовувати глобальний режим динамічної маршрутизації.
- Тестувати й перевіряти конфігурацію шлюзу HA VPN.
Налаштування й вимоги
Для кожного практичного заняття ви безкоштовно отримуєте новий проект Google Cloud і набір ресурсів на визначений період часу.
-
Натисніть кнопку Почати заняття. Якщо за практичне заняття необхідно заплатити, відкриється спливаюче вікно, де ви зможете обрати спосіб оплати.
Ліворуч розміщено панель Відомості про практичне заняття з такими компонентами:
- кнопка Відкрити консоль Google;
- час до закінчення;
- тимчасові облікові дані, які потрібно використовувати для доступу до цього практичного заняття;
- інша інформація, необхідна для виконання цього практичного заняття.
-
Натисніть Відкрити консоль Google або натисніть правою кнопкою миші й виберіть Відкрити анонімне вікно, якщо ви використовуєте вебпереглядач Chrome.
Завантажаться необхідні ресурси. Потім відкриється нова вкладка зі сторінкою Вхід.
Порада. Упорядковуйте вкладки в окремих вікнах, розміщуючи їх поруч.
Примітка. Якщо з’явиться вікно Виберіть обліковий запис, натисніть Вибрати інший обліковий запис.
-
За потреби скопіюйте значення в полі Username (Ім’я користувача) нижче й вставте його у вікні Вхід.
{{{user_0.username | "Username"}}}
Поле Username (Ім’я користувача) також можна знайти на панелі Відомості про практичне заняття.
-
Натисніть Next (Далі).
-
Скопіюйте значення в полі Password (Пароль) нижче й вставте його у вікні Welcome (Привітання).
{{{user_0.password | "Password"}}}
Поле Password (Пароль) також можна знайти на панелі Відомості про практичне заняття.
-
Натисніть Next (Далі).
Важливо. Обов’язково використовуйте облікові дані, призначені для відповідного практичного заняття. Не використовуйте облікові дані Google Cloud.
Примітка. Якщо ввійти у власний обліковий запис Google Cloud, може стягуватися додаткова плата.
-
Що від вас очікується
- Прийміть Умови використання.
- Не додавайте способи відновлення й двохетапну перевірку (оскільки це тимчасовий обліковий запис).
- Не реєструйте безкоштовні пробні версії.
Через кілька секунд Google Cloud Console відкриється в новій вкладці.
Примітка. Щоб переглянути меню зі списком продуктів і сервісів Google Cloud, натисніть меню навігації вгорі ліворуч або введіть назву сервісу чи продукту в полі пошуку.
Активація Google Cloud Shell
Google Cloud Shell – це віртуальна машина з попередньо завантаженими інструментами для розробників. Вона містить головний каталог обсягом 5 ГБ постійної пам’яті й працює в середовищі Google Cloud.
Google Cloud Shell надає доступ до ресурсів Google Cloud через командний рядок.
-
У консолі Cloud Console на панелі інструментів угорі праворуч натисніть кнопку Open Cloud Shell (Відкрити Cloud Shell).

-
Натисніть Continue (Продовжити).
Налаштування та підключення до середовища триватиме кілька секунд. Щойно ви підключитеся, вас буде автентифіковано, а проект отримає ваш PROJECT_ID (ІДЕНТИФІКАТОР ПРОЕКТУ). Наприклад:

gcloud – це інструмент командного рядка для Google Cloud. Він входить у пакет Cloud Shell і підтримує функцію автозавершення клавішею TAB.
- Щоб вивести поточне ім’я облікового запису, введіть таку команду:
gcloud auth list
Вихідні дані:
Credentialed accounts:
- @.com (active)
Приклад вихідних даних:
Credentialed accounts:
- google1623327_student@qwiklabs.net
- Щоб вивести ідентифікатор проекту, введіть таку команду:
gcloud config list project
Вихідні дані:
[core]
project =
Приклад вихідних даних:
[core]
project = qwiklabs-gcp-44776a13dea667a6
Примітка.
Повну документацію щодо gcloud наведено в
посібнику з інтерфейсу командного рядка gcloud
.
Завдання 1. Налаштуйте глобальне середовище VPC
У цьому завданні ви створите глобальне середовище VPC з двома спеціальними підмережами й двома екземплярами віртуальних машин, запущених у кожній зоні.
- Створіть мережу VPC під назвою vpc-demo в Cloud Shell:
gcloud compute networks create vpc-demo --subnet-mode custom
Вивід матиме приблизно такий вигляд:
Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo].
NAME: vpc-demo
SUBNET_MODE: CUSTOM
BGP_ROUTING_MODE: REGIONAL
IPV4_RANGE:
GATEWAY_IPV4:
- У Cloud Shell створіть підмережу vpc-demo-subnet1 у регіоні :
gcloud compute networks subnets create vpc-demo-subnet1 \
--network vpc-demo --range 10.1.1.0/24 --region "{{{project_0.default_region| REGION}}}"
- Створіть підмережу vpc-demo-subnet2 у регіоні :
gcloud compute networks subnets create vpc-demo-subnet2 \
--network vpc-demo --range 10.2.1.0/24 --region {{{project_0.default_region_2 | REGION 2}}}
- Створіть правило для брандмауера, що дозволяє спеціальний трафік усередині мережі:
gcloud compute firewall-rules create vpc-demo-allow-custom \
--network vpc-demo \
--allow tcp:0-65535,udp:0-65535,icmp \
--source-ranges 10.0.0.0/8
Вивід матиме приблизно такий вигляд:
Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/firewalls/vpc-demo-allow-custom].
Creating firewall...done.
NAME: vpc-demo-allow-custom
NETWORK: vpc-demo
DIRECTION: INGRESS
PRIORITY: 1000
ALLOW: tcp:0-65535,udp:0-65535,icmp
DENY:
DISABLED: False
- Створіть правило для брандмауера, що дозволяє трафік SSH і ICMP з будь-якого джерела:
gcloud compute firewall-rules create vpc-demo-allow-ssh-icmp \
--network vpc-demo \
--allow tcp:22,icmp
- Створіть екземпляр віртуальної машини vpc-demo-instance1 у зоні :
gcloud compute instances create vpc-demo-instance1 --machine-type=e2-medium --zone {{{ project_0.default_zone | "ZONE" }}} --subnet vpc-demo-subnet1
Вивід матиме приблизно такий вигляд:
Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/zones/{{{ project_0.default_zone | "ZONE" }}}/instances/vpc-demo-instance1].
NAME: vpc-demo-instance1
ZONE: {{{ project_0.default_zone | "ZONE" }}}
MACHINE_TYPE: e2-standard-2
PREEMPTIBLE:
INTERNAL_IP: 10.1.1.2
EXTERNAL_IP: 34.71.135.218
STATUS: RUNNING
- Створіть екземпляр віртуальної машини vpc-demo-instance2 в зоні :
gcloud compute instances create vpc-demo-instance2 --machine-type=e2-medium --zone {{{project_0.default_zone_2 | ZONE2}}} --subnet vpc-demo-subnet2
Завдання 2. Налаштуйте імітацію локального середовища
У цьому завданні ви створюєте мережу VPC під назвою on-prem для імітації локального середовища, з якого клієнт підключатиметься до середовища Google Cloud.
- Створіть мережу VPC під назвою on-prem у Cloud Shell:
gcloud compute networks create on-prem --subnet-mode custom
Вивід матиме приблизно такий вигляд:
Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/on-prem].
NAME: on-prem
SUBNET_MODE: CUSTOM
BGP_ROUTING_MODE: REGIONAL
IPV4_RANGE:
GATEWAY_IPV4:
- Створіть підмережу під назвою on-prem-subnet1:
gcloud compute networks subnets create on-prem-subnet1 \
--network on-prem --range 192.168.1.0/24 --region {{{ project_0.default_region | "REGION" }}}
- Створіть правило для брандмауера, що дозволяє спеціальний трафік усередині мережі:
gcloud compute firewall-rules create on-prem-allow-custom \
--network on-prem \
--allow tcp:0-65535,udp:0-65535,icmp \
--source-ranges 192.168.0.0/16
- Створіть правило для брандмауера, що дозволяє трафік SSH, RDP, HTTP й ICMP до екземплярів:
gcloud compute firewall-rules create on-prem-allow-ssh-icmp \
--network on-prem \
--allow tcp:22,icmp
- Створіть екземпляр під назвою on-prem-instance1 у регіоні .
Примітка. У наведеній нижче команді замініть на зону в регіоні , однак вона має відрізнятися від тієї, що використовувалася для створення екземпляра vpc-demo-instance1 у підмережі vpc-demo-subnet1.
gcloud compute instances create on-prem-instance1 --machine-type=e2-medium --zone zone_name --subnet on-prem-subnet1
Завдання 3. Налаштуйте шлюз HA VPN
У цьому завданні ви створюєте шлюз HA VPN у кожній мережі VPC, а потім – тунелі HA VPN у кожному шлюзі Cloud VPN.
- Створіть шлюз HA VPN у мережі vpc-demo network у Cloud Shell:
gcloud compute vpn-gateways create vpc-demo-vpn-gw1 --network vpc-demo --region {{{ project_0.default_region | "REGION" }}}
Вивід матиме приблизно такий вигляд:
Creating VPN Gateway...done.
NAME: vpc-demo-vpn-gw1
INTERFACE0: 35.242.117.95
INTERFACE1: 35.220.73.93
NETWORK: vpc-demo
REGION: {{{ project_0.default_region | "REGION" }}}
- Створіть шлюз HA VPN у мережі on-prem:
gcloud compute vpn-gateways create on-prem-vpn-gw1 --network on-prem --region {{{ project_0.default_region | "REGION" }}}
- Перегляньте відомості про шлюз vpc-demo-vpn-gw1, щоб перевірити його налаштування:
gcloud compute vpn-gateways describe vpc-demo-vpn-gw1 --region {{{ project_0.default_region | "REGION" }}}
Вивід матиме приблизно такий вигляд:
creationTimestamp: '2022-01-25T03:02:20.983-08:00'
id: '7306781839576950355'
kind: compute#vpnGateway
labelFingerprint: 42WmSpB8rSM=
name: vpc-demo-vpn-gw1
network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo
region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}
selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/vpc-demo-vpn-gw1
vpnInterfaces:
- id: 0
ipAddress: 35.242.117.95
- id: 1
ipAddress: 35.220.73.93
- Перегляньте відомості про шлюз VPN on-prem-vpn-gw1, щоб перевірити його налаштування:
gcloud compute vpn-gateways describe on-prem-vpn-gw1 --region {{{ project_0.default_region | "Region" }}}
Вивід матиме приблизно такий вигляд:
creationTimestamp: '2022-01-25T03:03:34.305-08:00'
id: '3697047034868688873'
kind: compute#vpnGateway
labelFingerprint: 42WmSpB8rSM=
name: on-prem-vpn-gw1
network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/on-prem
region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}
selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/on-prem-vpn-gw1
vpnInterfaces:
- id: 0
ipAddress: 35.242.106.234
- id: 1
ipAddress: 35.220.88.140
Створіть хмарні маршрутизатори
- Створіть хмарний маршрутизатор у мережі vpc-demo:
gcloud compute routers create vpc-demo-router1 \
--region {{{ project_0.default_region | "REGION" }}} \
--network vpc-demo \
--asn 65001
Вивід матиме приблизно такий вигляд:
Creating router [vpc-demo-router1]…done.
NAME: vpc-demo-router1
REGION: {{{ project_0.default_region | "REGION" }}}
NETWORK: vpc-demo
- Створіть хмарний маршрутизатор у мережі on-prem:
gcloud compute routers create on-prem-router1 \
--region {{{ project_0.default_region | "REGION" }}} \
--network on-prem \
--asn 65002
Завдання 4. Створіть два тунелі VPN
У цьому завданні ви створюєте тунелі VPN між двома шлюзами. Щоб налаштувати HA VPN, вам потрібно додати два тунелі з кожного шлюзу для віддаленого налаштування. Ви створюєте тунель в інтерфейсі interface0 й підключаєтеся до interface0 через віддалений шлюз. Потім ви створюєте інший тунель в інтерфейсі interface1 і підключаєтеся до interface1 через віддалений шлюз.
Під час запуску тунелів HA VPN між двома мережами Google Cloud VPC потрібно переконатися, що тунель в інтерфейсі interface0 підключено до interface0 через віддалений шлюз VPN. Аналогічно, тунель в інтерфейсі interface1 має бути підключено до interface1 через віддалений шлюз VPN.
Примітка. Для локального з’єднання клієнта під час запуску HA VPN через віддалений шлюз VPN у власному середовищі можна скористатися наведеними нижче варіантами.
-
Два локальні пристрої шлюзу VPN. Кожен із тунелів з окремого інтерфейсу на шлюзі Cloud VPN має бути підключено до власного пірингового шлюзу.
-
Один локальний пристрій шлюзу VPN із двома інтерфейсами. Кожен із тунелів з окремого інтерфейсу на шлюзі Cloud VPN має бути підключено до власного інтерфейсу на піринговому шлюзі.
-
Один локальний пристрій шлюзу VPN із єдиним інтерфейсом. Обидва тунелі з кожного інтерфейсу на шлюзі Cloud VPN мають бути підключені до одного інтерфейсу на піринговому шлюзі.
Під час цього практичного заняття ви імітуєте локальне налаштування з обома шлюзами VPN у Google Cloud. Переконайтеся, що інтерфейс interface0 шлюзу підключено до interface0 іншого шлюзу, а interface1 – до interface1 віддаленого шлюзу.
- Створіть перший тунель VPN у мережі vpc-demo:
gcloud compute vpn-tunnels create vpc-demo-tunnel0 \
--peer-gcp-gateway on-prem-vpn-gw1 \
--region {{{ project_0.default_region | "REGION" }}} \
--ike-version 2 \
--shared-secret [SHARED_SECRET] \
--router vpc-demo-router1 \
--vpn-gateway vpc-demo-vpn-gw1 \
--interface 0
Вивід матиме приблизно такий вигляд:
Creating VPN tunnel…done.
NAME: vpc-demo-tunnel0
REGION: {{{ project_0.default_region | "REGION" }}}
GATEWAY: vpc-demo-vpn-gw1
VPN_INTERFACE: 0
PEER_ADDRESS: 35.242.106.234
- Створіть другий тунель VPN у мережі vpc-demo:
gcloud compute vpn-tunnels create vpc-demo-tunnel1 \
--peer-gcp-gateway on-prem-vpn-gw1 \
--region {{{ project_0.default_region | "REGION" }}} \
--ike-version 2 \
--shared-secret [SHARED_SECRET] \
--router vpc-demo-router1 \
--vpn-gateway vpc-demo-vpn-gw1 \
--interface 1
- Створіть перший тунель VPN у мережі on-prem:
gcloud compute vpn-tunnels create on-prem-tunnel0 \
--peer-gcp-gateway vpc-demo-vpn-gw1 \
--region {{{ project_0.default_region | "REGION" }}} \
--ike-version 2 \
--shared-secret [SHARED_SECRET] \
--router on-prem-router1 \
--vpn-gateway on-prem-vpn-gw1 \
--interface 0
- Створіть другий тунель VPN у мережі on-prem:
gcloud compute vpn-tunnels create on-prem-tunnel1 \
--peer-gcp-gateway vpc-demo-vpn-gw1 \
--region {{{ project_0.default_region | "REGION" }}} \
--ike-version 2 \
--shared-secret [SHARED_SECRET] \
--router on-prem-router1 \
--vpn-gateway on-prem-vpn-gw1 \
--interface 1
Завдання 5. Створіть піринг протоколу граничного шлюзу (BGP) для кожного тунелю
У цьому завданні вам потрібно налаштувати піринг BGP для кожного тунелю VPN між мережами VPC vpc-demo й on-prem. Щоб рішення HA VPN забезпечувало доступність сервісів на рівні 99,99%, потрібна динамічна маршрутизація.
- Створіть інтерфейс маршрутизатора для тунелю tunnel0 в мережі vpc-demo:
gcloud compute routers add-interface vpc-demo-router1 \
--interface-name if-tunnel0-to-on-prem \
--ip-address 169.254.0.1 \
--mask-length 30 \
--vpn-tunnel vpc-demo-tunnel0 \
--region {{{ project_0.default_region | "REGION" }}}
Вивід матиме приблизно такий вигляд:
Updated [https://www.googleapis.com/compute/v1/projects/binal-sandbox/regions/{{{ project_0.default_region | "REGION" }}}/routers/vpc-demo-router1].
- Створіть пір BGP для тунелю tunnel0 в мережі vpc-demo:
gcloud compute routers add-bgp-peer vpc-demo-router1 \
--peer-name bgp-on-prem-tunnel0 \
--interface if-tunnel0-to-on-prem \
--peer-ip-address 169.254.0.2 \
--peer-asn 65002 \
--region {{{ project_0.default_region | "REGION" }}}
Вивід матиме приблизно такий вигляд:
Creating peer [bgp-on-prem-tunnel0] in router [vpc-demo-router1]…done.
- Створіть інтерфейс маршрутизатора для тунелю tunnel1 у мережі vpc-demo:
gcloud compute routers add-interface vpc-demo-router1 \
--interface-name if-tunnel1-to-on-prem \
--ip-address 169.254.1.1 \
--mask-length 30 \
--vpn-tunnel vpc-demo-tunnel1 \
--region {{{ project_0.default_region | "REGION" }}}
- Створіть пір BGP для тунелю tunnel1 у мережі vpc-demo:
gcloud compute routers add-bgp-peer vpc-demo-router1 \
--peer-name bgp-on-prem-tunnel1 \
--interface if-tunnel1-to-on-prem \
--peer-ip-address 169.254.1.2 \
--peer-asn 65002 \
--region {{{ project_0.default_region | "REGION" }}}
- Створіть інтерфейс маршрутизатора для тунелю tunnel0 в мережі on-prem:
gcloud compute routers add-interface on-prem-router1 \
--interface-name if-tunnel0-to-vpc-demo \
--ip-address 169.254.0.2 \
--mask-length 30 \
--vpn-tunnel on-prem-tunnel0 \
--region {{{ project_0.default_region | "REGION" }}}
- Створіть пір BGP для тунелю tunnel0 в мережі on-prem:
gcloud compute routers add-bgp-peer on-prem-router1 \
--peer-name bgp-vpc-demo-tunnel0 \
--interface if-tunnel0-to-vpc-demo \
--peer-ip-address 169.254.0.1 \
--peer-asn 65001 \
--region {{{ project_0.default_region | "REGION" }}}
- Створіть інтерфейс маршрутизатора для тунелю tunnel1 у мережі on-prem:
gcloud compute routers add-interface on-prem-router1 \
--interface-name if-tunnel1-to-vpc-demo \
--ip-address 169.254.1.2 \
--mask-length 30 \
--vpn-tunnel on-prem-tunnel1 \
--region {{{ project_0.default_region | "REGION" }}}
- Створіть пір BGP для тунелю tunnel1 у мережі on-prem:
gcloud compute routers add-bgp-peer on-prem-router1 \
--peer-name bgp-vpc-demo-tunnel1 \
--interface if-tunnel1-to-vpc-demo \
--peer-ip-address 169.254.1.1 \
--peer-asn 65001 \
--region {{{ project_0.default_region | "REGION" }}}
Завдання 6. Перевірте налаштування маршрутизатора
У цьому завданні ви перевірите налаштування маршрутизатора в обох середовищах VPC. Ви налаштуєте правила брандмауера, що дозволяють трафік між обома мережами VPC, і перевірите статус тунелів. Ви також перевірите приватне підключення через VPN між обома мережами VPC й увімкнете для них режим глобальної маршрутизації.
- Перегляньте відомості про хмарний маршрутизатор vpc-demo-router1, щоб перевірити його налаштування:
gcloud compute routers describe vpc-demo-router1 \
--region {{{ project_0.default_region | "REGION" }}}
Вивід матиме приблизно такий вигляд:
bgp:
advertiseMode: DEFAULT
asn: 65001
keepaliveInterval: 20
bgpPeers:
- bfd:
minReceiveInterval: 1000
minTransmitInterval: 1000
multiplier: 5
sessionInitializationMode: DISABLED
enable: 'TRUE'
interfaceName: if-tunnel0-to-on-prem
ipAddress: 169.254.0.1
name: bgp-on-prem-tunnel0
peerAsn: 65002
peerIpAddress: 169.254.0.2
- bfd:
minReceiveInterval: 1000
minTransmitInterval: 1000
multiplier: 5
sessionInitializationMode: DISABLED
enable: 'TRUE'
interfaceName: if-tunnel1-to-on-prem
ipAddress: 169.254.1.1
name: bgp-on-prem-tunnel1
peerAsn: 65002
peerIpAddress: 169.254.1.2
creationTimestamp: '2022-01-25T03:06:23.370-08:00'
id: '2408056426544129856'
interfaces:
- ipRange: 169.254.0.1/30
linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/vpc-demo-tunnel0
name: if-tunnel0-to-on-prem
- ipRange: 169.254.1.1/30
linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/vpc-demo-tunnel1
name: if-tunnel1-to-on-prem
kind: compute#router
name: vpc-demo-router1
network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo
region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}
selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/vpc-demo-router1
- Перегляньте відомості про хмарний маршрутизатор on-prem-router1, щоб перевірити його налаштування:
gcloud compute routers describe on-prem-router1 \
--region {{{ project_0.default_region | "REGION" }}}
Вивід матиме приблизно такий вигляд:
bgp:
advertiseMode: DEFAULT
asn: 65002
keepaliveInterval: 20
bgpPeers:
- bfd:
minReceiveInterval: 1000
minTransmitInterval: 1000
multiplier: 5
sessionInitializationMode: DISABLED
enable: 'TRUE'
interfaceName: if-tunnel0-to-vpc-demo
ipAddress: 169.254.0.2
name: bgp-vpc-demo-tunnel0
peerAsn: 65001
peerIpAddress: 169.254.0.1
- bfd:
minReceiveInterval: 1000
minTransmitInterval: 1000
multiplier: 5
sessionInitializationMode: DISABLED
enable: 'TRUE'
interfaceName: if-tunnel1-to-vpc-demo
ipAddress: 169.254.1.2
name: bgp-vpc-demo-tunnel1
peerAsn: 65001
peerIpAddress: 169.254.1.1
creationTimestamp: '2022-01-25T03:07:40.360-08:00'
id: '3252882979067946771'
interfaces:
- ipRange: 169.254.0.2/30
linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/on-prem-tunnel0
name: if-tunnel0-to-vpc-demo
- ipRange: 169.254.1.2/30
linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/on-prem-tunnel1
name: if-tunnel1-to-vpc-demo
kind: compute#router
name: on-prem-router1
network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/on-prem
region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}
selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/on-prem-router1
Налаштуйте правила брандмауера, щоб дозволити трафік із віддаленої мережі VPC
Налаштуйте правила брандмауера, щоб дозволити трафік із приватних IP-адрес пірингової мережі VPN.
- Дозвольте трафік із мережі VPC on-prem до мережі vpc-demo:
gcloud compute firewall-rules create vpc-demo-allow-subnets-from-on-prem \
--network vpc-demo \
--allow tcp,udp,icmp \
--source-ranges 192.168.1.0/24
Вивід матиме приблизно такий вигляд:
Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/firewalls/vpc-demo-allow-subnets-from-on-prem].
Creating firewall...done.
NAME: vpc-demo-allow-subnets-from-on-prem
NETWORK: vpc-demo
DIRECTION: INGRESS
PRIORITY: 1000
ALLOW: tcp,udp,icmp
DENY:
DISABLED: False
- Дозвольте трафік із мережі vpc-demo до мережі VPC on-prem:
gcloud compute firewall-rules create on-prem-allow-subnets-from-vpc-demo \
--network on-prem \
--allow tcp,udp,icmp \
--source-ranges 10.1.1.0/24,10.2.1.0/24
Перевірте статус тунелів
- Виведіть список створених тунелів VPN:
gcloud compute vpn-tunnels list
У цьому списку мають відображатися чотири тунелі VPN (по два тунелі для кожного шлюзу VPN). Вивід матиме приблизно такий вигляд:
NAME: on-prem-tunnel0
REGION: {{{ project_0.default_region | "REGION" }}}
GATEWAY: on-prem-vpn-gw1
PEER_ADDRESS: 35.242.117.95
NAME: on-prem-tunnel1
REGION: {{{ project_0.default_region | "REGION" }}}
GATEWAY: on-prem-vpn-gw1
PEER_ADDRESS: 35.220.73.93
NAME: vpc-demo-tunnel0
REGION: {{{ project_0.default_region | "REGION" }}}
GATEWAY: vpc-demo-vpn-gw1
PEER_ADDRESS: 35.242.106.234
NAME: vpc-demo-tunnel1
REGION: {{{ project_0.default_region | "REGION" }}}
GATEWAY: vpc-demo-vpn-gw1
PEER_ADDRESS: 35.220.88.140
- Переконайтеся, що тунель vpc-demo-tunnel0 запущено:
gcloud compute vpn-tunnels describe vpc-demo-tunnel0 \
--region {{{ project_0.default_region | "REGION" }}}
Вивід інформації про тунель має показувати статус Tunnel is up and running (Тунель налаштовано й запущено).
creationTimestamp: '2022-01-25T03:21:05.238-08:00'
description: ''
detailedStatus: Tunnel is up and running.
id: '3268990180169769934'
ikeVersion: 2
kind: compute#vpnTunnel
labelFingerprint: 42WmSpB8rSM=
localTrafficSelector:
- 0.0.0.0/0
name: vpc-demo-tunnel0
peerGcpGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/on-prem-vpn-gw1
peerIp: 35.242.106.234
region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}
remoteTrafficSelector:
- 0.0.0.0/0
router: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/vpc-demo-router1
selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/vpc-demo-tunnel0
sharedSecret: '*************'
sharedSecretHash: AOs4oVY4bX91gba6DIeg1DbtzWTj
status: ESTABLISHED
vpnGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/vpc-demo-vpn-gw1
vpnGatewayInterface: 0
- Переконайтеся, що тунель vpc-demo-tunnel1 запущено:
gcloud compute vpn-tunnels describe vpc-demo-tunnel1 \
--region {{{ project_0.default_region | "REGION" }}}
Вивід інформації про тунель має показувати статус Tunnel is up and running (Тунель налаштовано й запущено).
- Переконайтеся, що тунель on-prem-tunnel0 запущено:
gcloud compute vpn-tunnels describe on-prem-tunnel0 \
--region {{{ project_0.default_region | "REGION" }}}
Вивід інформації про тунель має показувати статус Tunnel is up and running (Тунель налаштовано й запущено).
- Переконайтеся, що тунель on-prem-tunnel1 запущено:
gcloud compute vpn-tunnels describe on-prem-tunnel1 \
--region {{{ project_0.default_region | "REGION" }}}
Вивід інформації про тунель має показувати статус Tunnel is up and running (Тунель налаштовано й запущено).
Перевірте налаштування приватного підключення через VPN
-
Перейдіть до Compute Engine і запишіть зону, у якій було створено екземпляр on-prem-instance1.
-
Відкрийте нову вкладку Cloud Shell і введіть наведений нижче код, щоб через SSH підключитися до екземпляра on-prem-instance1.
Замініть <zone_name> на зону, у якій створено екземпляр on-prem-instance1.
gcloud compute ssh on-prem-instance1 --zone zone_name
-
Введіть "Y", щоб підтвердити потрібну дію.
-
Двічі натисніть клавішу Enter, щоб пропустити етап створення пароля.
-
Для перевірки зв’язку між екземплярами в мережі vpc-demo й екземпляром on-prem-instance1 у мережі on-prem надішліть запит ping на адресу 10.1.1.2:
ping -c 4 10.1.1.2
Перевірки ping виконуються успішно. Вивід матиме приблизно такий вигляд:
PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data.
64 bytes from 10.1.1.2: icmp_seq=1 ttl=62 time=9.65 ms
64 bytes from 10.1.1.2: icmp_seq=2 ttl=62 time=2.01 ms
64 bytes from 10.1.1.2: icmp_seq=3 ttl=62 time=1.71 ms
64 bytes from 10.1.1.2: icmp_seq=4 ttl=62 time=1.77 ms
--- 10.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 8ms
rtt min/avg/max/mdev = 1.707/3.783/9.653/3.391 ms
Глобальна маршрутизація через VPN
HA VPN – це регіональний ресурс і хмарний маршрутизатор, який за умовчанням розпізнає лише маршрути в регіоні, де його було розгорнуто. Щоб підключитися до екземплярів в іншому регіоні, потрібно ввімкнути для мережі VPC режим глобальної маршрутизації. Це дасть хмарному маршрутизатору змогу розпізнавати й використовувати маршрути з інших регіонів.
- Відкрийте нову вкладку Cloud Shell і змініть значення bgp-routing mode із vpc-demo на GLOBAL:
gcloud compute networks update vpc-demo --bgp-routing-mode GLOBAL
- Підтвердьте зміни:
gcloud compute networks describe vpc-demo
Вивід матиме приблизно такий вигляд:
autoCreateSubnetworks: false
creationTimestamp: '2022-01-25T02:52:58.553-08:00'
id: '4735939730452146277'
kind: compute#network
name: vpc-demo
routingConfig:
routingMode: GLOBAL
selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo
subnetworks:
- https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/subnetworks/vpc-demo-subnet1
- https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/us-west1/subnetworks/vpc-demo-subnet2
x_gcloud_bgp_routing_mode: GLOBAL
x_gcloud_subnet_mode: CUSTOM
- З вкладки Cloud Shell, яку підключено до екземпляра в мережі on-prem через протокол ssh, надішліть запит ping до екземпляра vpc-demo-instance2 в регіоні :
ping -c 2 10.2.1.2
Перевірки ping виконуються успішно. Вивід матиме приблизно такий вигляд:
PING 10.2.1.2 (10.2.1.2) 56(84) bytes of data.
64 bytes from 10.2.1.2: icmp_seq=1 ttl=62 time=34.9 ms
64 bytes from 10.2.1.2: icmp_seq=2 ttl=62 time=32.2 ms
--- 10.2.1.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 2ms
rtt min/avg/max/mdev = 32.189/33.528/34.867/1.339 ms
Завдання 7. Перевірте й протестуйте конфігурацію тунелів HA VPN
У цьому завданні ви протестуєте кожен тунель HA VPN і переконаєтеся, що конфігурацію з високою доступністю налаштовано.
-
Відкрийте нову вкладку Cloud Shell.
-
Видаліть тунель tunnel0 в мережі vpc-demo:
gcloud compute vpn-tunnels delete vpc-demo-tunnel0 --region {{{ project_0.default_region | "REGION" }}}
Натисніть "Y", щоб підтвердити видалення тунелю. Відповідний тунель tunnel0 в мережі on-prem буде видалено.
- Переконайтеся, що цей тунель видалено:
gcloud compute vpn-tunnels describe on-prem-tunnel0 --region {{{ project_0.default_region | "REGION" }}}
Він матиме статус Handshake_with_peer_broken.
creationTimestamp: '2022-01-25T03:22:33.581-08:00'
description: ''
detailedStatus: Handshake with peer broken for unknown reason. Trying again soon.
id: '4116279561430393750'
ikeVersion: 2
kind: compute#vpnTunnel
localTrafficSelector:
- 0.0.0.0/0
name: on-prem-tunnel0
peerGcpGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/vpc-demo-vpn-gw1
peerIp: 35.242.117.95
region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}
remoteTrafficSelector:
- 0.0.0.0/0
router: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/on-prem-router1
selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/on-prem-tunnel0
sharedSecret: '*************'
sharedSecretHash: AO3jeFtewmjvTMO7JEM5RuyCtqaa
status: FIRST_HANDSHAKE
vpnGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/on-prem-vpn-gw1
vpnGatewayInterface: 0
- Перейдіть на попередню вкладку Cloud Shell із запущеним сеансом ssh і переконайтеся, що запити ping надсилаються між екземплярами в мережах vpc-demo й on-prem:
ping -c 3 10.1.1.2
Вивід матиме приблизно такий вигляд:
PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data.
64 bytes from 10.1.1.2: icmp_seq=1 ttl=62 time=6.31 ms
64 bytes from 10.1.1.2: icmp_seq=2 ttl=62 time=1.13 ms
64 bytes from 10.1.1.2: icmp_seq=3 ttl=62 time=1.20 ms
--- 10.1.1.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 1.132/2.882/6.312/2.425 ms
Перевірки ping і далі виконуються успішно, оскільки трафік тепер надходить через другий тунель. Ви налаштували тунелі HA VPN.
Завдання 8. Очистьте середовище практичної роботи (необов’язково)
У цьому завданні вам потрібно очистити ресурси, які ви використовували. Це завдання необов’язкове. Після закінчення практичної роботи всі ресурси й проект буде очищено й закрито автоматично. Однак вам слід навчитися очищувати ресурси самостійно у власному середовищі, щоб знизити витрати й зменшити використання ресурсів.
Видаліть тунелі VPN
- Введіть наведену нижче команду в Cloud Shell, щоб видалити існуючі тунелі. Для підтвердження кожної дії введіть "Y", коли буде запропоновано:
gcloud compute vpn-tunnels delete on-prem-tunnel0 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute vpn-tunnels delete vpc-demo-tunnel1 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute vpn-tunnels delete on-prem-tunnel1 --region {{{ project_0.default_region | "REGION" }}}
Вилучіть піринг BGP
- Введіть наведені нижче команди, щоб вилучити піринг із кожного однорангового вузла BGP:
gcloud compute routers remove-bgp-peer vpc-demo-router1 --peer-name bgp-on-prem-tunnel0 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute routers remove-bgp-peer vpc-demo-router1 --peer-name bgp-on-prem-tunnel1 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute routers remove-bgp-peer on-prem-router1 --peer-name bgp-vpc-demo-tunnel0 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute routers remove-bgp-peer on-prem-router1 --peer-name bgp-vpc-demo-tunnel1 --region {{{ project_0.default_region | "REGION" }}}
Видаліть хмарні маршрутизатори
- Введіть наведені нижче команди, щоб видалити маршрутизатори. Для підтвердження кожної дії введіть "Y", коли буде запропоновано:
gcloud compute routers delete on-prem-router1 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute routers delete vpc-demo-router1 --region {{{ project_0.default_region | "REGION" }}}
Видаліть шлюзи VPN
- Введіть наведені нижче команди, щоб видалити шлюзи VPN. Для підтвердження кожної дії введіть "Y", коли буде запропоновано:
gcloud compute vpn-gateways delete vpc-demo-vpn-gw1 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute vpn-gateways delete on-prem-vpn-gw1 --region {{{ project_0.default_region | "REGION" }}}
Видаліть екземпляри
- Введіть наведені нижче команди, щоб видалити екземпляри. Для підтвердження кожної дії введіть "Y", коли буде запропоновано:
gcloud compute instances delete vpc-demo-instance1 --zone {{{ project_0.default_zone | "ZONE" }}}
gcloud compute instances delete vpc-demo-instance2 --zone {{{project_0.default_zone_2 | "ZONE"}}}
gcloud compute instances delete on-prem-instance1 --zone zone_name
ПРИМІТКА. Замініть на зону, у якій було створено екземпляр on-prem-instance1.
Видаліть правила брандмауера
- Введіть наведені нижче команди, щоб видалити правила брандмауера. Для підтвердження кожної дії введіть "Y", коли буде запропоновано:
gcloud compute firewall-rules delete vpc-demo-allow-custom
gcloud compute firewall-rules delete on-prem-allow-subnets-from-vpc-demo
gcloud compute firewall-rules delete on-prem-allow-ssh-icmp
gcloud compute firewall-rules delete on-prem-allow-custom
gcloud compute firewall-rules delete vpc-demo-allow-subnets-from-on-prem
gcloud compute firewall-rules delete vpc-demo-allow-ssh-icmp
Видаліть підмережі
- Введіть наведені нижче команди, щоб видалити підмережі. Для підтвердження кожної дії введіть "Y", коли буде запропоновано:
gcloud compute networks subnets delete vpc-demo-subnet1 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute networks subnets delete vpc-demo-subnet2 --region {{{project_0.default_region_2 | REGION 2}}}
gcloud compute networks subnets delete on-prem-subnet1 --region {{{ project_0.default_region | "REGION" }}}
Видаліть мережі VPC
- Введіть наведені нижче команди, щоб видалити мережі VPC. Для підтвердження кожної дії введіть "Y", коли буде запропоновано:
gcloud compute networks delete vpc-demo
gcloud compute networks delete on-prem
Завдання 9. Перевірка
Під час цього практичного заняття ви налаштували шлюзи HA VPN, а також динамічну маршрутизацію з тунелями VPN і глобальний режим динамічної маршрутизації. Ви також перевірили правильність налаштування й роботу HA VPN.
Завершіть завдання
Закінчивши виконувати завдання, натисніть кнопку End Lab (Завершити завдання). Google Cloud Skills Boost вилучить використані ресурси й очистить обліковий запис.
Ви зможете оцінити, наскільки вам сподобалося виконувати завдання на платформі. Виберіть потрібну кількість зірочок, введіть коментар і натисніть Submit (Надіслати).
Кількість зірочок відповідає певній оцінці:
- 1 зірочка = зовсім не сподобалося
- 2 зірочки = не сподобалося
- 3 зірочки = не можу сказати напевно
- 4 зірочки = сподобалося
- 5 зірочок = дуже сподобалося
Якщо ви не хочете надсилати відгук, просто закрийте діалогове вікно.
Залишайте свої відгуки, пропозиції або коментарі на вкладці Support (Підтримка).
© Google LLC 2022. Усі права захищено. Назва та логотип Google є торговельними марками Google LLC. Усі інші назви компаній і продуктів можуть бути торговельними марками відповідних компаній, з якими вони пов’язані.