MQTT gerenciado na nuvem

Broker MQTT na Nuvem: O Guia Completo de MQTT Hospedado

Tudo o que você precisa para escolher e operar um broker MQTT na nuvem: modelos de implantação, segurança, modelos de preço, limites, migração e um início passo a passo no plano Serverless gratuito da ConnectMQ.

Ilustração de um broker MQTT na nuvem com dispositivos, gateways e dashboards conectando-se com segurança a um broker hospedado na nuvem
Rode isso no seu próprio broker MQTTTenha um broker MQTT privado e gerenciado no plano Free e comece com exemplos de código prontos.
Teste grátis Exemplos de código Sem cartão de crédito

Um broker MQTT na nuvem oferece aos seus dispositivos, aplicativos e serviços um hub de mensagens confiável e acessível pela internet, sem que você precise instalar, atualizar ou escalar um servidor. Este guia explica o que é um broker hospedado, como os modelos de implantação se diferenciam, o que verificar em segurança, limites e custo, e como passar de um protótipo no notebook para a produção. No final você terá uma conexão funcionando com um broker privado e um checklist para escolher um provedor.

O Que É um Broker MQTT na Nuvem?

Um broker MQTT é o servidor que recebe cada mensagem publicada e a roteia para todos os subscribers correspondentes. Se precisar relembrar esse papel, comece por o que um broker MQTT faz. Um broker MQTT na nuvem é o mesmo software rodando em uma infraestrutura operada por um provedor e exposto por meio de um hostname público. Você recebe endpoints, credenciais e um console de gerenciamento; o provedor cuida de servidores, sistemas operacionais, certificados TLS, atualizações e capacidade.

A diferença em relação a "uma VM com Mosquitto" é a responsabilidade. Com uma VM na nuvem, o broker continua sendo seu: configuração, certificados, monitoramento, patches de segurança e a pane das 3 da manhã. Com um broker MQTT gerenciado, tudo isso passa a ser trabalho do provedor, e você consome MQTT como serviço. Esse modelo costuma ser chamado de broker MQTT como serviço, e é por isso que a maioria dos novos projetos de IoT começa na nuvem, e não em um servidor esquecido em um armário.

Por Que as Equipes Levam o MQTT para a Nuvem

  • Acessibilidade. Dispositivos em campo se conectam pela internet pública a um único hostname estável, sem regras de firewall de entrada nem redirecionamento de portas em cada site.
  • Tempo até a primeira mensagem. Criar um broker leva minutos, em vez de dias de hardening de servidor.
  • Carga operacional. Renovação de certificados, patches do sistema operacional, atualizações do broker e planejamento de capacidade deixam de ser trabalho da sua equipe.
  • Crescimento elástico. Passar de dez dispositivos de teste para milhares é uma troca de plano, não uma rearquitetura.
  • Ferramentas integradas. Um bom provedor oferece um cliente web, um explorador de topics e visibilidade das conexões, que de outra forma você teria de montar por conta própria.

Os trade-offs também são reais: você depende da disponibilidade e do roadmap do provedor, os dados saem das suas instalações e você trabalha dentro das cotas do plano. Pesamos os dois lados em broker MQTT auto-hospedado vs gerenciado.

Modelos de Implantação de Broker MQTT na Nuvem

"Broker na nuvem" abrange várias arquiteturas muito diferentes. Saber qual delas você está contratando importa mais do que qualquer lista de recursos.

Modelo Onde roda Isolamento Ideal para
Serverless (compartilhado) Cluster compartilhado do provedor Lógico, por tenant Protótipos, frotas pequenas, startups, educação
Dedicated Nuvem do provedor, cluster reservado para você Completo, em nível de infraestrutura Frotas de produção, desempenho previsível
BYOC (bring your own cloud) Sua conta de nuvem, operada pelo provedor Completo, dentro da sua conta Residência de dados, compromissos de nuvem existentes
Self Managed Enterprise Sua infraestrutura, operada por você Completo Sites isolados (air-gapped), regras rígidas de on-premises

Serverless

Um broker MQTT serverless roda em um cluster compartilhado e multi-tenant. Você cria um broker em segundos, não paga nada ou paga pouco em pequena escala e nunca precisa pensar em instâncias. Bons provedores aplicam isolamento rigoroso entre tenants, cotas por plano e proteção contra flood para que um tenant barulhento não prejudique os demais. As restrições são os limites de conexões, tamanho de mensagem e throughput definidos pelo plano. Como esse isolamento funciona é explicado em brokers MQTT multi-tenant.

Dedicated

Um broker MQTT dedicado oferece um cluster isolado. Ninguém mais compartilha sua CPU, memória ou rede, então latência e throughput são mais previsíveis, e os limites são dimensionados para a sua carga de trabalho, e não para um nível compartilhado.

BYOC

Com um broker MQTT BYOC, o broker roda dentro da sua própria conta de nuvem, de modo que os dados ficam em uma infraestrutura que você controla e os gastos contam para os seus acordos de nuvem existentes, enquanto o provedor continua operando o broker para você. Essa costuma ser a resposta para setores regulados; veja residência de dados MQTT para o lado de compliance.

Self Managed Enterprise

Alguns ambientes, como fábricas ou minas subterrâneas sem saída para a internet, não podem usar nenhum serviço externo. Uma edição self-managed permite rodar o mesmo software de broker no seu próprio hardware, operado pela sua equipe.

Segurança em um Broker MQTT Hospedado

Ir para a nuvem coloca seu broker na internet pública, então segurança não é opcional. O essencial, em ordem de importância:

  1. TLS em todas as conexões. Use a porta 8883 para MQTT sobre TLS e a 8084 para WebSocket seguro. A porta 1883 sem criptografia só é aceitável para testes descartáveis com dados não sensíveis.
  2. Credenciais únicas por dispositivo ou serviço. Senhas compartilhadas transformam um dispositivo comprometido em uma frota comprometida.
  3. Vinculação de client ID. Quando os client IDs estão atrelados às credenciais emitidas, uma senha roubada não pode ser usada para se passar por outro dispositivo.
  4. Proteção contra força bruta. O broker deve bloquear endereços IP após repetidas falhas de login.
  5. Isolamento entre tenants. Em infraestrutura compartilhada, verifique se os topics de um cliente são invisíveis para os de outro.
  6. Proteção contra flood e cotas. Um cliente com defeito preso em um loop de publish deve ser limitado, e não ter permissão para derrubar o broker.
  7. Higiene de payload. Nunca coloque segredos ou dados pessoais em nomes de topics; as strings de topic aparecem em logs e ferramentas.

A lista completa, incluindo certificate pinning nos dispositivos e rotação de credenciais, está nas nossas boas práticas de segurança MQTT.

Limites e Cotas que Você Precisa Entender

Todo broker hospedado impõe limites, e eles moldam o seu projeto mais do que a maioria das pessoas imagina. Peça esses números antes de se comprometer:

Limite Por que importa
Máximo de conexões simultâneas Cada dispositivo, gateway, aba de dashboard e worker de backend usa uma
Tamanho máximo de mensagem Imagens de firmware e frames de câmera não cabem nos níveis típicos de IoT
QoS máximo Alguns níveis gratuitos limitam o QoS a 1; entrega exatamente uma vez exige QoS 2
Taxa de mensagens por cliente Publishers com rajadas são limitados ou desconectados
Assinaturas por cliente e profundidade de topic Projetos com wildcards amplos podem atingir esses limites
Expiração de sessão Por quanto tempo clientes offline mantêm mensagens enfileiradas
Recursos do MQTT 5 Assinaturas compartilhadas, expiração de mensagens e topic aliases não são universais

Quando um cliente excede uma cota em um broker MQTT 5, ele recebe um reason code em vez de um descarte silencioso; 0x97 (Quota exceeded) é o que você deve observar. Nosso artigo sobre cotas de conexão de brokers MQTT explica como dimensioná-las.

Como Funciona o Preço do MQTT na Nuvem

Os provedores cobram pelo MQTT hospedado de algumas formas reconhecíveis:

  • Por número de conexões, muitas vezes o fator dominante para frotas de dispositivos.
  • Por volume de mensagens ou throughput, o que pesa em telemetria de alta frequência.
  • Por cluster ou instância, típico de implantações dedicadas.
  • Por nível de recursos, em que QoS 2, mensagens maiores ou assinaturas compartilhadas são liberados em planos superiores.

O plano mais barato no papel nem sempre resulta no sistema mais barato. Considere o tempo de engenharia para operações, o custo das paradas e o esforço para sair caso o provedor não dê certo. Preços de broker MQTT detalha os modelos, e custo total de propriedade compara os gastos com gerenciado e auto-hospedado ao longo do tempo. O risco de lock-in é menor quando o provedor fala MQTT padrão sem SDK proprietário, tema que abordamos em como evitar o vendor lock-in no MQTT.

Conectando-se a um Broker MQTT na Nuvem: Mão na Massa

A forma mais rápida de entender o MQTT hospedado é usar um. Comece pelo servidor MQTT público em broker.connectmq.com, gratuito e sem exigir conta, mas destinado apenas a testes e protótipos. Use um client ID único e um prefixo de topic único, e lembre-se de que a área pública pode ser lida por qualquer pessoa:

# Terminal 1: assinar
mosquitto_sub -h broker.connectmq.com -p 1883 -i cloud-sub-r4t7 \
  -t "connectmq/demo/r4t7w2/#" -v

# Terminal 2: publicar
mosquitto_pub -h broker.connectmq.com -p 1883 -i cloud-pub-r4t7 \
  -t "connectmq/demo/r4t7w2/sensor1/temp" -m "22.4"

Para um broker privado, o fluxo é este:

  1. Cadastre-se em app.connectmq.com e escolha um plano.
  2. Crie um broker.
  3. Copie do portal o nome de usuário, a senha e o client ID gerados.
  4. Conecte-se via TLS na porta 8883 (ou WSS na 8084 com o caminho /mqtt a partir de navegadores).
mosquitto_sub -h broker.connectmq.com -p 8883 --capath /etc/ssl/certs \
  -i YOUR_CLIENT_ID -u YOUR_USERNAME -P YOUR_PASSWORD \
  -t "plant1/#" -v

O certificado é emitido pela Let's Encrypt, então os pacotes de CAs padrão o validam. No macOS e no Windows, use --cafile com um arquivo de pacote de CAs em vez de --capath.

Um Cliente Python no Estilo de Produção

Este cliente paho-mqtt 2.x se conecta com credenciais, anuncia sua presença com um status retido e um Last Will, e usa a expiração de mensagens do MQTT 5 para que leituras desatualizadas não sejam entregues a subscribers que fiquem online muito depois:

import json
import time

import paho.mqtt.client as mqtt
from paho.mqtt.packettypes import PacketTypes
from paho.mqtt.properties import Properties

BASE = "plant1/line1/sensor1"

def on_connect(client, userdata, flags, reason_code, properties):
    if reason_code.is_failure:
        print("Connect failed:", reason_code)
        return
    client.publish(f"{BASE}/status", "online", qos=1, retain=True)
    client.subscribe(f"{BASE}/cmd", qos=1)

def on_message(client, userdata, msg):
    print("Command:", msg.payload.decode())

client = mqtt.Client(
    mqtt.CallbackAPIVersion.VERSION2,
    client_id="YOUR_CLIENT_ID",
    protocol=mqtt.MQTTv5,
)
client.username_pw_set("YOUR_USERNAME", "YOUR_PASSWORD")
client.will_set(f"{BASE}/status", "offline", qos=1, retain=True)
client.tls_set()
client.reconnect_delay_set(min_delay=1, max_delay=60)
client.on_connect = on_connect
client.on_message = on_message

client.connect("broker.connectmq.com", 8883, keepalive=30)
client.loop_start()

props = Properties(PacketTypes.PUBLISH)
props.MessageExpiryInterval = 60  # segundos

while True:
    payload = json.dumps({"temp": 22.4, "ts": int(time.time())})
    client.publish(f"{BASE}/telemetry", payload, qos=1, properties=props)
    time.sleep(10)

No portal da ConnectMQ você pode acompanhar essas mensagens chegando no explorador de topics em tempo real, enviar um comando de volta pelo cliente MQTT no navegador e verificar se um determinado cliente está conectado assinando $SYS/broker/connection/{clientId}/state.

Integrando um Broker na Nuvem ao Resto da Sua Stack

Um broker roteia mensagens; ele não as armazena no seu banco de dados nem chama as suas APIs. O padrão limpo e portável é conectar as ferramentas de integração como clientes MQTT comuns:

  • Armazenamento de séries temporais: o consumidor MQTT do Telegraf gravando no InfluxDB, ou um pequeno subscriber Python gravando no PostgreSQL ou no TimescaleDB.
  • Fluxos e automação: Node-RED com um nó de configuração mqtt-broker apontando para o seu broker na porta 8883 com TLS.
  • Dashboards: Grafana sobre o banco de dados, ou um app de navegador usando MQTT.js sobre WSS.
  • Casa inteligente: a integração MQTT do Home Assistant.

Como cada um deles é um cliente padrão, você pode trocar ou adicionar ferramentas sem mexer no firmware dos dispositivos. Para consumidores de backend com balanceamento de carga, as assinaturas compartilhadas do MQTT 5 ($share/group/topic) distribuem as mensagens entre vários workers; normalmente elas ficam reservadas aos planos pagos, como na tabela de planos abaixo.

Como Escolher um Provedor de Broker MQTT na Nuvem

Use este checklist ao comparar provedores. Ele complementa nosso guia mais amplo sobre como escolher um broker MQTT para IoT.

  1. Suporta MQTT 3.1.1 e 5.0 com clientes padrão, sem exigir SDK proprietário.
  2. Oferece endpoints TLS e WebSocket seguro com um certificado publicamente confiável.
  3. Publica cotas claras de conexões, tamanho de mensagem, QoS e taxa.
  4. Oferece um nível gratuito ou um servidor MQTT público para validar seus clientes antes de pagar.
  5. Oferece um caminho do compartilhado para o dedicado ou BYOC sem alterar o código dos clientes.
  6. Dá visibilidade: estado das conexões, visão de topics em tempo real e alertas sobre os valores que importam.
  7. Documenta o isolamento entre tenants e a proteção contra abuso nos planos compartilhados.
  8. Responde por escrito às suas perguntas sobre residência de dados e suporte.

Antes do lançamento, percorra o checklist de produção MQTT e, se estiver deixando um Mosquitto auto-hospedado, os passos de migrar o Mosquitto para um broker MQTT na nuvem vão poupar algumas surpresas. Depois de entrar no ar, monitoramento de broker MQTT explica quais sinais acompanhar.

Onde a ConnectMQ se Encaixa

A ConnectMQ é um broker MQTT gerenciado construído em torno dos modelos de implantação descritos acima:

Plano O que você recebe
Serverless (Free) Cluster compartilhado, até 25 conexões, QoS até 1, mensagens de 256 KB
Serverless (Paid) Até 1.000 conexões, QoS 2, mensagens de 1 MB, assinaturas compartilhadas
Dedicated Cluster isolado para a sua carga de trabalho
BYOC Roda na sua conta de nuvem, operado para você
Self Managed Enterprise Você mesmo opera na sua própria infraestrutura

Todo broker suporta MQTT 3.1.1 e 5.0 em TCP 1883, TLS 8883, WebSocket 8083 e WebSocket seguro 8084, com certificado Let's Encrypt. O portal inclui um cliente MQTT no navegador, um explorador de topics em tempo real, um dashboard, uma visão de dispositivos organizada pelos níveis da ISA-95 e regras de alerta por limite com registro de alertas, em inglês ou turco. No lado da segurança, você conta com isolamento multi-tenant, cotas por plano, proteção contra flood, bloqueio de IP após repetidas falhas de login e client IDs vinculados às credenciais emitidas. Para usuários industriais, a ConnectMQ também detecta topics ISA-95 e Unified Namespace e decodifica payloads Sparkplug B.

O que ela deliberadamente não faz é substituir a sua stack de dados: não há rule engine nem ponte para banco de dados integrados, então armazenamento e automação ficam a cargo de clientes MQTT padrão como Telegraf, Node-RED ou os seus próprios serviços, conforme descrito acima.

Comece Grátis com o Seu Broker MQTT na Nuvem

Teste seus clientes no servidor MQTT público broker.connectmq.com hoje mesmo (sem dados de produção) e depois crie um broker privado em app.connectmq.com. O plano Serverless (Free) não exige cartão de crédito, e as mesmas credenciais e o mesmo código continuam valendo quando você migrar para um plano pago, dedicado ou BYOC.

Perguntas frequentes

Qual é a diferença entre um broker MQTT na nuvem e um broker MQTT gerenciado?

Na prática os termos se sobrepõem. "Nuvem" descreve onde o broker roda e como os dispositivos chegam até ele, enquanto "gerenciado" descreve quem o opera; a maioria das ofertas hospedadas é as duas coisas, mas uma VM rodando o seu próprio Mosquitto está hospedada na nuvem sem ser gerenciada.

Um broker MQTT na nuvem é seguro o suficiente para dados industriais?

Pode ser, se você usar TLS em todas as conexões, credenciais únicas por dispositivo e um modelo de implantação adequado aos seus requisitos. Fábricas, usinas e empresas de saneamento com regras rígidas de residência de dados costumam escolher implantações dedicadas ou BYOC em vez de um nível compartilhado.

Posso usar um broker MQTT gratuito na nuvem em produção?

Um nível gratuito é adequado para implantações pequenas e não críticas dentro dos seus limites, como até 25 conexões no plano Serverless (Free) da ConnectMQ. O servidor MQTT público anônimo nunca é adequado para produção, porque qualquer pessoa pode ler a sua área pública.

Preciso de um SDK especial para me conectar a um broker MQTT hospedado?

Não com um provedor baseado em padrões. Qualquer cliente MQTT 3.1.1 ou 5.0 funciona, incluindo paho-mqtt, MQTT.js, MQTTnet, PubSubClient e as ferramentas de CLI do Mosquitto.

Como armazeno dados de um broker MQTT na nuvem em um banco de dados?

Rode um subscriber que grave no seu banco de dados, como o Telegraf para o InfluxDB ou um script Python curto para o PostgreSQL. O broker entrega as mensagens; o subscriber decide onde elas são armazenadas.

Artigos relacionados

Broker MQTT BYOC: Bring Your Own Cloud Explicado

Um broker MQTT BYOC roda na sua conta de nuvem, mas é operado por um provedor. Entenda como o modelo funciona, a divisão de responsabilidades e como preparar a sua conta para ele.

9 min de leitura

Alternativa ao Google Cloud IoT Core: Opções e Migração Após o Encerramento

O Google desativou o Cloud IoT Core em agosto de 2023. Este guia compara as alternativas realistas, mapeia os conceitos do IoT Core para MQTT puro e mostra como mover dispositivos para um broker MQTT gerenciado mantendo os dados fluindo para o Google Cloud.

9 min de leitura

Mensagens MQTT por Segundo: Como Estimar e Medir a Vazão

O planejamento de vazão em MQTT se resume a algumas fórmulas e a uma medição honesta. Aprenda a estimar mensagens de entrada e saída por segundo, considerar os picos e associar o resultado a um plano de broker.

8 min de leitura

Todos os artigos →

Seu broker MQTT privado está a poucos cliques de distância

Crie uma conta, receba as credenciais do seu broker e conecte seu primeiro dispositivo — sem servidores para instalar, atualizar ou escalar.