New
EMQX Enterprise 6.3.0 发布:全新功能开关与安全加固,按需灵活部署 →

如何在 Google Cloud 上部署 EMQX 企业版

Guowei LiGuowei Li
2023-4-18产品
如何在 Google Cloud 上部署 EMQX 企业版

Google Cloud 的 IoT Core 产品将于 2023 年 8 月 16 日停止服务,随着这一日期的临近,许多用户正在为他们现有的物联网业务寻找新的解决方案,而 EMQX 企业版是实现这一目标的理想选择。

EMQX 企业版是一款大规模分布式 MQTT 消息服务平台,能够通过多种方式部署到 Google Cloud Platform(GCP) 上。您可以轻松地将 IoT Core 上的设备迁移到 EMQX Enterprise,然后继续与 GCP 中的数据服务无缝集成,实现快速迁移而不影响现有业务。

本文将指导您如何在 GCP 上部署 EMQX 企业版,并完成物联网消息发布订阅测试。

在 GCP 上创建并启动虚拟机实例

在部署 EMQX 企业版之前,我们先在 GCP 上创建一个 Virtual Machine。

GCP 的 Virtual Machine Instances 允许用户轻松部署和管理应用程序,而无需在本地创建和管理服务器。以下是在 GCP 上创建 Virtual Machine 的步骤,你还可以参考 Create and start a VM instance。

  1. 登录 GCP 控制台 并点击 Create a VM。
  2. 如果您之前没有创建过 Virtual Machine,将跳转到 Compute Engine API 详情页面,点击 ENABLE 启用 Compute Engine API 以继续创建过程。
  3. 勾选 New VM instance 选项并开始实例创建配置。
    选择合适的 Region 与 Zone 并确定 Machine configuration。此处使用 E2 系列的服务器,Machine type 选择 Custom,分配 2 核 vCPU、4GB 内存。
    在此规格下,单个 EMQX 节点能够承载 10,000 MQTT 连接以及 5,000 TPS 的并发消息。

    在 Boot disk 配置中,选择 Ubuntu 20.04 LTS 操作系统,并更改磁盘大小为 30GB。

  4. 其余配置保持默认,点击 CREATE 开始创建 Instance。

安装 EMQX 企业版

我们将使用 GCP 的 SSH 连接到 VM instance 以部署 EMQX 企业版。在此之前,我们需要获取 EMQX 企业版的下载地址和安装命令。

在这个例子中,我们需要在 Ubuntu 20.04 上部署 EMQX 4.4.16,你可以从 下载 EMQX Enterprise 页面获取所需信息。

  1. 登录 GCP 控制台,点击 Navigation menu → PRODUCTS → COMPUTE → Compute Engine → VM Instances 进入到 VM instances 列表。
  2. 找到创建的 VM instance,您可以看到 GCP 已经为它分配了一个唯一的外部 IP,单击 SSH 打开您的 SSH 终端。
  3. 在 SSH 终端中进入根目录,并按照以下命令进行安装:
    进入根目录:
    sudo su
    cd ../../
    

    使用 wget 命令下载 EMQX 企业版:
    wget https://www.emqx.com/en/downloads/enterprise/4.4.16/emqx-ee-4.4.16-otp24.3.4.2-1-ubuntu20.04-amd64.deb
    


    安装 EMQX 企业版:
    sudo apt install ./emqx-ee-4.4.16-otp24.3.4.2-1-ubuntu20.04-amd64.deb
    


    启动 EMQX 企业版:
    sudo systemctl start emqx
    

恭喜您,您已经完成 EMQX 企业版在 GCP VM instance 上的安装。

在 GCP 上打开防火墙端口

在 GCP 上安装服务或应用程序后,您需要手动开放所需的端口才能够从外部访问它,请按照以下步骤在 GCP 上打开所需端口。

  1. 登录 GCP 控制台,点击 Navigation menu → PRODUCTS → VPC network → Firewall 进入到 Firewall 页面。
  2. 点击 CREATE FIREWALL RULE。
  3. 填入以下字段以创建防火墙规则:
    • Name:输入规则名称
    • Network:选择 default
    • Priority:规则优先级,数字越小优先级越高,此处输入 1000
    • Direction of traffic: 选择 Ingress,表示在特定端口上接收数据
    • Action on match: 选择 Allow,表示允许流量通过
    • Targets: 选择 All instances in the network,将规则应用于网络中所有实例
    • Source filter: Choose the source filter as IPv4 ranges if you want to receive data from all networks or users
    • Source IPv4 ranges: IP 地址 0.0.0.0/0 表示任何一个都可以发送数据,您也可以配置从特定 IP 地址接收数据的规则
    • Protocols and ports: 如果要打开所有端口,请选择 Allow all。此处打开指定 TCP 端口即可,您可以通过分隔逗号同时打开多个端口,此处输入 1883, 8883, 8083, 8084, 18083, 8081。

  4. 点击最下方 CREATE 完成防火墙规则创建,您可以在列表中看到您创建的规则。

通过 MQTTX 快速测试

至此,您已经在 GCP 上完成 EMQX 企业版的安装并开通了所有需要的端口,对应的连接信息如下:

服务器地址34.xxx.xxx.xxx
(请替换为实际的 VM Instance 公共 IP 地址)
TCP 端口8883
WebSocket 端口8083
SSL/TLS 端口8883
WebSocket SSL/TLS 端口8084
Dashboard 访问端口18083
REST API 端口8081

下面我们使用 MQTTX 模拟物联网 MQTT 设备的接入,快速测试服务器是否可用。

MQTTX 是 EMQ 开源的一款跨平台 MQTT 5.0 客户端工具,它支持 macOS、Linux、Windows,具有丰富的功能,您可通过 MQTTX 一键式的连接方式和图形界面,轻松测试 MQTT/TCP、MQTT/TLS、MQTT/WebSocket 连接。

MQTTX Web 是 MQTTX 的浏览器版本,可以免除下载与安装,打开浏览器即可通过 WebSocket 快速连接至 MQTT 服务器。

  1. 访问 MQTTX Web 页面,点击 New Connection 或菜单栏 + 图标创建连接。
  2. 配置并建立 MQTT 连接,您只需配置:
    • Name: 连接名称,如 GCP EMQX Enterprise
    • Host
      • 选择连接类型为 ws://,MQTTX Web 仅支持 WebSocket 协议,如希望测试 SSL/TLS 认证连接,请下载 MQTTX 客户端
      • 填入 VM instance 公共 IP 地址
    • Port: 填入 8083, 即 WebSockets 协议对应的端口
      其他选项保持默认配置,你也可以根据具体业务场景修改,对应的配置说明可参考 MQTTX 手册 - 快速建立连接

    配置完成后,点击页面右上角的 Connect 建立连接。
  3. 订阅主题并发布消息,完成消息发布订阅测试
    • 点击 New Subscription,在弹出框中输入 testtopic/# 主题并订阅
    • 在消息发送框输入 testtopic/1 主题,其他字段使用默认值
    • 点击 Payload 输入框右下角发送按钮,可以在聊天窗口中看到消息已成功发送
    • 几乎同时,聊天窗口中收到一条新消息,表示发布订阅测试已经完成

完成设备连接以及消息发布订阅测试后,您还可以通过浏览器打开 http://<ip>:18083,使用默认用户名 admin 与密码 public 登录 EMQX Dashboard。

在 Dashboard 上您可以轻松管理和监控 EMQX,管理设备列表,并配置安全、数据集成等各项功能。

写在最后

现在我们已经了解了如何在 GCP 上部署 EMQX 企业版。如需在生产中使用 EMQX 企业版,建议您继续通过 VPC 网络创建 EMQX 集群,以获得更好的扩展性和可用性。

除了手动安装外,您还可以通过 EMQX Kubernetes Operator 在 GCP 上部署 EMQX 企业版,我们也强烈推荐全托管的 MQTT 消息云服务 EMQX Cloud。

在本系列的后续博客中,我们将继续向您介绍如何将设备从 GCP IoT Core 迁移到 EMQX 企业版,以及如何通过 EMQX 企业版的 GCP Pub/Sub 集成无缝迁移 IoT Core 服务。

免费试用 EMQX 企业版
无限连接,任意集成,随处运行。
开始试用 →

推荐阅读

2022-8-26EMQX Team
如何在 Ubuntu 上安装 EMQX MQTT 服务器

本文将以 EMQX 开源版为例,介绍如何在 Ubuntu 系统中搭建一个单节点的 MQTT 服务器,并对搭建过程中容易遇到的常见问题进行逐一演示。