← Cloudflare One / cloudflare-one / networks / connectors / cloudflare-tunnel / deployment-guides
GCP
В этом руководстве рассказано, как подключить виртуальную машину Google Cloud Project (GCP) к Cloudflare с помощью нашего облегчённого коннектора, cloudflared.
Мы развернем:
- Виртуальная машина Google Cloud Project (GCP), на которой выполняется базовый HTTP-сервер.
- Cloudflare Tunnel, позволяющий пользователям подключаться к сервису либо через публичное имя хоста, либо через приватный IP-адрес.
Предварительные требования
Чтобы выполнить следующую процедуру, вам нужно будет:
- Добавьте веб-сайт в Cloudflare
- Разверните Cloudflare One Client на устройстве конечного пользователя
1. Создайте инстанс VM в GCP
-
В вашем Google Cloud Console ↗, создать новый проект ↗.
-
Перейдите в Compute Engine > экземпляры ВМ.
-
Выберите Создать инстанс.
-
Назовите VM-инстанс. В этом примере мы назовём его
http-test-server. -
Выберите нужную операционную систему и характеристики. Для этого примера можно использовать следующие настройки:
- Семейство машин: Общего назначения
- Серия: E2
- Тип машины: e2-micro
- Boot disk image: Debian GNU/Linux 12
- Межсетевые экраны: Разрешить HTTP- и HTTPS-трафик
-
В разделе Дополнительные параметры > Управление > Автоматизация, добавьте следующий стартовый скрипт. В этом примере разворачивается базовый веб-сервер Apache на порту
80.#!/bin/bash apt update apt -y install apache2 cat <<EOF > /var/www/html/index.html <html><body><h1>Hello Cloudflare!</h1> <p>This page was created for a Cloudflare demo.</p> </body></html> EOF -
Выберите Создание.
-
Операционная система автоматически запускает сервер Apache HTTP. Чтобы убедиться, что сервер работает:
- Скопируйте Внешний IP для экземпляра ВМ.
- Откройте браузер и перейдите по адресу
http://<EXTERNAL IP>. Вы должны увидеть Hello Cloudflare! тестовая страница.
-
Чтобы войти в инстанс виртуальной машины, откройте раскрывающийся список рядом с SSH и выберите Открыть в окне браузера.
2. Создайте Cloudflare Tunnel
Создайте Cloudflare Tunnel и запустите его на виртуальной машине GCP.
-
Войдите в панель управления Cloudflare и перейдите в Сеть > Tunnels.
Перейдите в Tunnels ↗ -
Выберите Создать туннель.
-
Введите имя туннеля (например,
gcp-tunnel). -
Выберите Create Tunnel.
-
Выберите операционную систему (нажмите Debian для вашей ВМ GCP). Скопируйте команду установки и выполните её на вашей ВМ GCP.
-
Дождитесь подключения туннеля. После установления соединения выберите Продолжение.
3. Подключитесь, используя общедоступное имя хоста
Опубликованные приложения позволяют любому пользователю интернета подключаться к HTTP-ресурсам, размещённым в вашем виртуальном частном облаке (VPC). Чтобы добавить опубликованное приложение для вашего Cloudflare Tunnel:
- На Маршруты вкладке выберите Добавить маршрут, затем выберите Опубликованное приложение.
- Введите имя хоста приложения (например,
hellocloudflare.<your-domain>.com). - В разделе Сервис, введите
http://localhost:80. - Выберите Добавить маршрут.
- Чтобы протестировать, откройте браузер и перейдите в
http://hellocloudflare.<your-domain>.com. Вы должны увидеть Hello Cloudflare! тестовая страница.
При желании вы можете создание приложения Access чтобы управлять тем, кто может получить доступ к сервису.
4. Подключитесь с помощью частного IP-адреса
Маршруты приватной сети позволяют пользователям подключаться к вашей сети VPC через Cloudflare One Client. Чтобы добавить маршрут приватной сети для вашего Cloudflare Tunnel:
-
В панели управления Cloudflare перейдите в Сеть > Маршруты.
Перейдите в Маршруты ↗ -
Выберите Создать маршрут > Tunnel CIDR. Выберите только что созданный туннель, введите Частный IP-адрес вашей ВМ GCP (например,
10.0.0.4), и выберите Создать маршрут. При необходимости вы можете расширить диапазон IP-адресов позже. -
В вашем Конфигурация Split Tunnel, убедитесь, что частный IP-адрес маршрутизируется через Cloudflare One Client. Например, если вы используете Split Tunnels в Exclude режиме удалите
10.0.0.0/8. Рекомендуем повторно добавить IP-адреса, которые явно не используются вашей виртуальной машиной GCP.Чтобы определить, какие IP-адреса нужно добавить обратно, вычтите IP-адреса ваших виртуальных машин GCP из
10.0.0.0/8:Добавьте результаты обратно в список режима Split Tunnel Exclude.
-
Чтобы протестировать на устройстве пользователя:
- Войдите в Cloudflare One Client.
- Откройте окно терминала и подключитесь к сервису, используя его частный IP-адрес:
curl 10.0.0.4<html><body><h1>Hello Cloudflare!</h1> <p>This page was created for a Cloudflare demo.</p> </body></html>
При желании вы можете создать сетевые политики Gateway чтобы управлять тем, кто может получить доступ к ВМ GCP через её частный IP-адрес.
Настройка межсетевого экрана
Чтобы защитить свой экземпляр VM, можно настроить свои правила VPC firewall ↗ чтобы запретить весь входящий трафик и разрешить только исходящий трафик к IP-адреса Cloudflare Tunnel. Поскольку GCP запрещает входящий трафик по по умолчанию ↗, вы можете удалить все правила ingress и оставить только нужные правила egress.
После настройки правил VPC firewall убедитесь, что доступ к сервису через Cloudflare Tunnel по-прежнему возможен через его публичное имя хоста или частный IP-адрес. Сервис больше не должен быть доступен извне Cloudflare Tunnel, например, если вы перейдёте по адресу http://<EXTERNAL IP> тестовая страница больше не должна загружаться.