Start typing to search across invoices, services, domains, tickets, and more...
Производителю, который продает по всему миру устройства умного дома, GPS-трекеры, зарядные станции для электромобилей или POS-терминалы, стоит строить IoT-облако для устройств как набор региональных MQTT-брокеров рядом с устройствами, а не как один брокер в одной стране. IMIDC предоставляет серверы под такую схему в Лос-Анджелесе (Америка), Гонконге и Сингапуре (Азия), Москве (Россия и СНГ) и Йоханнесбурге (Африка), а также защиту от DDoS, CDN для раздачи прошивок и маршруты CN2 до штаб-квартиры в Китае.
MQTT держит долгоживущие TCP-сессии, поэтому каждые лишние 100 мс задержки и каждый межконтинентальный участок с потерями превращаются в лавины переподключений и разряженные батареи.
Типовая схема: устройство через GeoDNS получает региональное имя вроде mqtt-ap.example.com, подключается по TLS на порт 8883 к местному EMQX, а брокер пересылает в центральную платформу данных только нужное — через MQTT-мост, Kafka или HTTP-действия движка правил.
Сопоставьте каждый регион продаж ближайшей площадке IMIDC и пропишите в прошивке как минимум две резервные точки подключения.
| Площадка IMIDC | Рынки устройств | Сеть | Как заказать |
|---|---|---|---|
| Лос-Анджелес, США | Северная и Латинская Америка | Маршруты Unicom 9929/4837 и CN2 в Китай; нативные IP США | Выделенный сервер от $499/мес |
| Гонконг | Континентальный Китай, Гонконг, Большой Китай | CN2 GIA (AS4809) в Китай; регистрация ICP не нужна | VPS от $18/мес, выделенный от $139/мес |
| Сингапур | Юго-Восточная Азия, Индия, Океания | Узел подводных кабелей региона; местные нативные IP | Через отдел продаж |
| Москва, Россия | Россия и СНГ | Маршрут CN2 в Китай; российские IP | VPS и выделенные серверы |
| Йоханнесбург, ЮАР | Южная и Восточная Африка | Нативные IP ЮАР (AFRINIC) | VPS от $18/мес |
| Токио, Япония / Сеул, Южная Корея | Япония, Корея | Нативные IP; у японских VPS есть опция CN2 для Китая | VPS в Японии от $28/мес |
IMIDC не указывает дата-центров на территории ЕС. Если договоры с клиентами в ЕС требуют хранения данных в ЕС, держите этот регион у европейского провайдера и передавайте в остальные регионы только агрегированные данные.
Для пилота достаточно одного контейнера EMQX на регион; в интернет открываются только TLS-слушатели.
# Regional EMQX broker on an IMIDC server (Docker installed)
docker volume create emqx-data
docker run -d --name emqx --restart unless-stopped \
--ulimit nofile=1048576:1048576 \
-p 8883:8883 -p 8084:8084 \
-p 127.0.0.1:1883:1883 -p 127.0.0.1:18083:18083 \
-v /opt/emqx/certs:/opt/emqx/etc/certs/custom:ro \
-v emqx-data:/opt/emqx/data \
-e [email protected] \
-e EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__CACERTFILE=/opt/emqx/etc/certs/custom/device-ca.crt \
-e EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__CERTFILE=/opt/emqx/etc/certs/custom/server.crt \
-e EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__KEYFILE=/opt/emqx/etc/certs/custom/server.key \
-e EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__VERIFY=verify_peer \
-e EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__FAIL_IF_NO_PEER_CERT=true \
emqx/emqx:5.8.0
# Dashboard stays on localhost; reach it through an SSH tunnel:
# ssh -L 18083:127.0.0.1:18083 [email protected]
emqtt-bench со второго сервера с реальным числом подключений и частотой сообщений.Взаимный TLS с отдельным сертификатом на каждое устройство — самый надежный способ не дать клонам и украденным учетным данным захватить парк.
# 1) Private device CA (keep ca key offline / in an HSM)
openssl ecparam -name prime256v1 -genkey -noout -out device-ca.key
openssl req -x509 -new -key device-ca.key -sha256 -days 3650 \
-subj "/CN=Example Device CA" -out device-ca.crt
# 2) One key + certificate per device, CN = serial number
SN=SN000123
openssl ecparam -name prime256v1 -genkey -noout -out $SN.key
openssl req -new -key $SN.key -subj "/CN=$SN" -out $SN.csr
openssl x509 -req -in $SN.csr -CA device-ca.crt -CAkey device-ca.key \
-CAcreateserial -days 1825 -sha256 -out $SN.crt
# 3) Test mutual TLS like a device would
mosquitto_pub -h mqtt-ap.example.com -p 8883 --cafile server-chain.pem \
--cert $SN.crt --key $SN.key -i $SN -q 1 \
-t devices/$SN/telemetry -m '{"temp":21.5,"fw":"1.4.2"}'
peer_cert_as_username = cn) и ACL, чтобы устройство SN000123 могло публиковать только в devices/SN000123/#.MQTT нужен только для объявления обновления; сам файл устройство скачивает по HTTPS из CDN.
devices/{model}/ota.https://fw.example.com/model-x/1.5.0.bin с ближайшего узла CDN, проверяет подпись и пишет образ в неактивный слот A/B.Арифметика простая: 100 000 устройств × 8 МБ прошивки — около 800 ГБ за релиз, что забьет канал брокера. CDN IMIDC принимает этот пик, а брокеры продолжают обрабатывать телеметрию.
Узким местом EMQX редко бывает число соединений — чаще это частота сообщений, работа движка правил и база данных за брокером.
| Устройств в регионе | Профиль трафика | Рекомендуемый брокер | Постоянная полоса | OTA за релиз (образ 8 МБ) |
|---|---|---|---|---|
| 10 000 | 1 сообщение / 60 с, ~200 байт (~170 сообщ./с) | Один VPS, 4 vCPU / 8 ГБ RAM | Около 1 Мбит/с с учетом TLS и keepalive | ~80 ГБ через CDN |
| 100 000 | 1 сообщение / 30 с (~3 300 сообщ./с) | Кластер EMQX из 3 узлов (по 8 ядер / 16 ГБ) или два выделенных сервера | Около 10–20 Мбит/с | ~800 ГБ через CDN |
| 1 000 000 | Смешанная телеметрия и команды | Кластер выделенных серверов в каждом регионе плюс Kafka; проектируется с отделом продаж IMIDC | От 100 Мбит/с | ~8 ТБ через CDN |
Это ориентиры, а не гарантии. Замеряйте на своих пакетах, уровне QoS и retained-сообщениях и держите 50% запаса на лавину переподключений после сетевого сбоя в регионе.
Публичная точка MQTT — такой же TCP-сервис, как любой другой, и ее начнут сканировать и атаковать в первые часы после запуска.
Относитесь к месту хранения данных как к требованию продукта и уточняйте его у местных юристов на каждом рынке. Раздел носит общий характер и не является юридической консультацией.
Начинайте с малого в каждом регионе и переходите на выделенные серверы, когда этого потребуют объем сообщений или комплаенс.
Индивидуальные конфигурации — больше RAM для кластера EMQX, приватная сеть между узлами, дополнительные IP-ресурсы — доступны через отдел продаж IMIDC.
IMIDC предлагает VPS и выделенные серверы во всех четырех локациях, а также Сингапур через отдел продаж, поэтому производитель может держать по брокеру EMQX в каждом регионе у одного провайдера. В Гонконге, Москве и Лос-Анджелесе также есть маршруты CN2 в континентальный Китай.
Сервер с 4 vCPU / 8 ГБ спокойно обслуживает около 10 000 устройств, отправляющих одно небольшое сообщение в минуту, а простаивающих соединений EMQX держит гораздо больше. Реальные ограничения — частота сообщений, TLS-рукопожатия при лавине переподключений и база данных, поэтому перед запуском протестируйте emqtt-bench.
Нет, ICP касается хостинга на территории материкового Китая, и серверам IMIDC в Гонконге она не нужна. Правила КНР о персональных данных и трансграничной передаче при этом продолжают действовать; это не юридическая консультация.
Нет. Отправляйте по MQTT подписанный манифест, а файл пусть устройства скачивают по HTTPS из CDN — так релиз не забьет канал брокера. Этим слоем раздачи может служить CDN IMIDC.
Планируете многорегиональное IoT-облако? Сравните VPS в Гонконге с CN2 GIA и выделенные серверы в Лос-Анджелесе, затем свяжитесь с отделом продаж IMIDC по поводу узлов в Сингапуре и кластеров брокеров или создайте тикет, чтобы обсудить размер парка с инженером.