VPC Частный доступ к Google API для mqtt.googleapis.com (Cloud IOT) с использованием прокси - PullRequest
0 голосов
/ 08 июня 2018

Я включил Частный доступ к API Google для VPC, и я использую это HTTP-прокси-решение , описанное для подключения моего внешнего центра обработки данных к бэкенду Google Cloud.

Используя это решение, я убедился, что API-интерфейс хранилища объектов Google работает, используя gsutil для перемещения файлов через внешнюю сеть.

Однако я не могу подключиться к mqtt.googleapis.com, который требуется для облачного IOT.

Я думаю, это связано с тем, что к брокеру MQTT, работающему на mqtt.googleapis.com, нельзя получить доступ через частную сеть, если он также не проксирован, как решение HTTP-прокси, описанное выше.

Пока чтоКоманды gsutil IOT работают нормально, потому что я предполагаю, что они работают через Google HTTP API.

Чтобы решить эту проблему, я вижу, что нам потребуется что-то из нижеперечисленного, если у кого-то нет другого способа сделать это?

  1. Запустите посредник посредника MQTT в частном VPC и направьте пакеты MQTT на mqtt.googleapis.com.Есть ли подходящий прокси-брокер MQTT, который мы можем использовать в этом случае?

  2. Если мы получим диапазон публичных IP-адресов, на которых работает мост mqtt (mqtt.googleapis.com)мы можем просто построить сетевые маршруты для этого одного варианта использования.Это доступно?

Ответы [ 2 ]

0 голосов
/ 14 июня 2018

Мне удалось заставить это работать, используя NGINX в качестве обратного прокси-сервера и направлять трафик TCP напрямую на mqtt.googleapis.com.Вот шаги для достижения этого

  1. Установите Nginx с флагом конфигурации --with-stream.Это создает Nginx с функциональностью потокового прокси-сервера TCP
  2. Мой файл conf Nginx содержит следующее, указывающее на брокера Google.Сервер Nginx работает в экземпляре в VPC

/ etc / nginx / nginx.conf

 stream {
    upstream google_mqtt {
            server mqtt.googleapis.com:8883;
    }
    server {
            listen 8883;
            proxy_pass google_mqtt;
    }
}
Внутренний частный VPC имеет DNS-сервер, который разрешает mqtt.googleapis.com к IP-адресу сервера Nginx
0 голосов
/ 11 июня 2018

Будет ли это работать через мост протокола HTTP в IoT Core?Можно ли использовать HTTP вместо MQTT?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...