INTEGRITY Документация

GCP

В этом руководстве рассказано, как подключить виртуальную машину Google Cloud Project (GCP) к Cloudflare с помощью нашего облегчённого коннектора, cloudflared.

Мы развернем:

Предварительные требования

Чтобы выполнить следующую процедуру, вам нужно будет:

1. Создайте инстанс VM в GCP

  1. В вашем Google Cloud Console, создать новый проект.

  2. Перейдите в Compute Engine > экземпляры ВМ.

  3. Выберите Создать инстанс.

  4. Назовите VM-инстанс. В этом примере мы назовём его http-test-server.

  5. Выберите нужную операционную систему и характеристики. Для этого примера можно использовать следующие настройки:

    • Семейство машин: Общего назначения
    • Серия: E2
    • Тип машины: e2-micro
    • Boot disk image: Debian GNU/Linux 12
    • Межсетевые экраны: Разрешить HTTP- и HTTPS-трафик
  6. В разделе Дополнительные параметры > Управление > Автоматизация, добавьте следующий стартовый скрипт. В этом примере разворачивается базовый веб-сервер 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
  7. Выберите Создание.

  8. Операционная система автоматически запускает сервер Apache HTTP. Чтобы убедиться, что сервер работает:

    1. Скопируйте Внешний IP для экземпляра ВМ.
    2. Откройте браузер и перейдите по адресу http://<EXTERNAL IP>. Вы должны увидеть Hello Cloudflare! тестовая страница.
  9. Чтобы войти в инстанс виртуальной машины, откройте раскрывающийся список рядом с SSH и выберите Открыть в окне браузера.

2. Создайте Cloudflare Tunnel

Создайте Cloudflare Tunnel и запустите его на виртуальной машине GCP.

  1. Войдите в панель управления Cloudflare и перейдите в Сеть > Tunnels.

    Перейдите в Tunnels ↗
  2. Выберите Создать туннель.

  3. Введите имя туннеля (например, gcp-tunnel).

  4. Выберите Create Tunnel.

  5. Выберите операционную систему (нажмите Debian для вашей ВМ GCP). Скопируйте команду установки и выполните её на вашей ВМ GCP.

  6. Дождитесь подключения туннеля. После установления соединения выберите Продолжение.

3. Подключитесь, используя общедоступное имя хоста

Опубликованные приложения позволяют любому пользователю интернета подключаться к HTTP-ресурсам, размещённым в вашем виртуальном частном облаке (VPC). Чтобы добавить опубликованное приложение для вашего Cloudflare Tunnel:

  1. На Маршруты вкладке выберите Добавить маршрут, затем выберите Опубликованное приложение.
  2. Введите имя хоста приложения (например, hellocloudflare.<your-domain>.com).
  3. В разделе Сервис, введите http://localhost:80.
  4. Выберите Добавить маршрут.
  5. Чтобы протестировать, откройте браузер и перейдите в http://hellocloudflare.<your-domain>.com. Вы должны увидеть Hello Cloudflare! тестовая страница.

При желании вы можете создание приложения Access чтобы управлять тем, кто может получить доступ к сервису.

4. Подключитесь с помощью частного IP-адреса

Маршруты приватной сети позволяют пользователям подключаться к вашей сети VPC через Cloudflare One Client. Чтобы добавить маршрут приватной сети для вашего Cloudflare Tunnel:

  1. В панели управления Cloudflare перейдите в Сеть > Маршруты.

    Перейдите в Маршруты ↗
  2. Выберите Создать маршрут > Tunnel CIDR. Выберите только что созданный туннель, введите Частный IP-адрес вашей ВМ GCP (например, 10.0.0.4), и выберите Создать маршрут. При необходимости вы можете расширить диапазон IP-адресов позже.

  3. В вашем Конфигурация 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.

  4. Чтобы протестировать на устройстве пользователя:

    1. Войдите в Cloudflare One Client.
    2. Откройте окно терминала и подключитесь к сервису, используя его частный 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> тестовая страница больше не должна загружаться.