Skip to content

创建 BYOC 部署

作为一款 MQTT 消息中间件,EMQX Bring Your Own Cloud (BYOC) 支持在您自己的云基础设施中创建部署,确保数据只在您的环境中,安全可控。这种部署方式可以提高数据安全性和可控性,同时也可以避免数据泄漏等风险。另外,EMQX BYOC 还能够提供更好的性能和可扩展性,以满足不同场景下的需求。本节将介绍如何创建和使用 BYOC 部署。

前置准备

创建 BYOC 部署前,请先在控制台中检查您的 BYOC 创建状态。在部署创建页面选择 BYOC,然后查看右侧按钮:显示联系我们表示需要申请权限,显示新建部署表示您的账号已获得创建权限。

byoc_permission

您还需要准备好对应公有云的账号、做好云资源规划、并申请 EMQX BYOC 产品许可证等。详细信息,请参考部署前置准备页面

准备部署

  1. 登录账户,进入 EMQX Cloud 控制台

  2. 对于首次使用的用户,您需要先从创建一个项目开始。详细步骤,参见创建项目。如果您已经创建过项目,可以跳过此步骤。

  3. 您可以在控制台首页(概览)中点击新建部署直接进入创建步骤页面,或者点击您想要创建部署的项目的卡片、进入项目,然后在项目页面中点击新建部署进入创建步骤。

  4. 选择版本中选中 BYOC

  5. 依据您的需求选择相应规格配置。

    BYOCSpecification

    云平台相关配置

    • 选择云平台:可选择阿里云亚马逊云科技(AWS 中国)

      如您希望部署在其他云平台,可通过工单或邮件(cloud-support@emqx.io)联系我们。

    • 选择区域:选择待部署的区域。

      如您希望部署在其他区域,可通过工单或邮件(cloud-support@emqx.io)联系我们。

    EMQX 集群相关配置

    TIP

    最大连接数需要与您申请的 EMQX BYOC 许可证保持一致。部署完成后,如需修改相关配置,可通过工单联系我们。

    • 最大连接数:指定部署集群的 MQTT 设备最大连接数。部署完成后,也可通过工单联系我们进行升降此部署规格。
    • 消息上下行 TPS:指定部署集群的消息上下行的每秒事务处理数(TPS)。
    • EMQX 节点实例规格:系统将自动根据最大连接数消息上下行 TPS 填入推荐的实例规格,您也可以实际业务需求修改实例规格。
    • EMQX 节点实例数量:系统将自动根据最大连接数消息上下行 TPS 填入推荐的实例数量,您也可以实际业务需求修改节点的数量(2-5 个节点)。
    • VPC 网段:选择用于创建 VPC 的私网地址范围。

    部署名称和项目

    • 部署名称:填写具有业务意义的部署名称。
    • 所属项目:为部署设置所属项目。

    云资源标签(可选):依据您的需求添加云资源标签,便于后续识别和管理,最多支持 10 个标签。

  6. 确认部署信息后,根据右侧显示的按钮继续操作:

    • 联系我们:您的账号尚未获得 BYOC 创建权限。点击该按钮后,在预填内容的工单窗口中点击确认。权限审批通过后,返回此页面继续创建 BYOC 部署。
    • 新建部署:您的账号已获得 BYOC 创建权限。点击该按钮继续。
  7. 阅读弹出的 BYOC 部署创建指引,点击马上开始以创建部署。

接下来,我们将根据执行部署章节中的步骤正式开始部署。

执行部署

创建 BYOC 部署后,部署状态为等待部署连接信息中不会显示部署详情。按照以下步骤执行部署:

  1. 部署概览页面中,点击开始部署
  2. 部署指南面板中,根据创建部署时选择的云平台完成相应步骤。
  3. 按照指南中的说明,准备一个可访问互联网的 Ubuntu 22.04 (AMD64) LTS 环境,并将所需的 TLS/SSL 证书和 BYOC 许可证文件复制到该环境中。指南中所需值的说明请参阅命令参数
  4. 复制为当前部署生成的命令,并按照指定顺序在 Ubuntu 命令行界面中执行。仅替换云平台凭据、域名和证书路径的占位符,不要修改 EMQX Cloud 自动生成的值。
  5. 系统提示确认需要创建的云资源时,输入 yes 继续。

云资源创建完成后,继续添加 DNS 记录

命令参数

部署指南生成的命令包含云平台凭据、MQTT 服务域名、TLS/SSL 证书和 EMQX Cloud 访问参数。执行命令前,请按照以下说明替换需要由您提供的占位符。

云平台凭据参数

参数云平台说明
--accessKey阿里云阿里云账号的 AccessKey ID。您可以在 RAM 访问控制中查看。
--secretKey阿里云与 AccessKey ID 对应的 AccessKey Secret。
--accessKey亚马逊云科技(AWS 中国)IAM 用户的访问密钥 ID。获取方式请参阅管理 IAM 用户的访问密钥
--secretKey亚马逊云科技(AWS 中国)与访问密钥 ID 对应的秘密访问密钥。

域名和证书参数

参数说明
--domainMQTT 客户端访问部署时使用的域名,例如 your.domain.com
--sslCertPathCA 签名的 TLS/SSL 证书的绝对路径。证书格式要求请参阅在 BYOC 中配置 TLS/SSL
--sslKeyPathTLS/SSL 证书对应私钥的绝对路径。私钥格式要求请参阅在 BYOC 中配置 TLS/SSL
--clientCaPath可选的客户端 CA 证书绝对路径。提供该参数将启用双向 TLS/SSL 认证。详情请参阅在 BYOC 中配置 TLS/SSL

如果不需要 --clientCaPath,请在执行命令前移除该参数。未提供该参数时,部署使用单向 TLS/SSL 认证。

控制台生成的参数

不要修改部署指南中自动生成的以下值:

参数说明
--platform为部署选择的云平台。
--byocEndpoint工具包使用的 EMQX Cloud 访问地址。
--byocKey当前 BYOC 部署的认证密钥。该密钥有效期为一小时,请在命令生成后尽快使用。

添加 DNS 记录

部署创建完成后,系统将返回以下内容。您可根据返回的 IP 地址,在 DNS 服务中添加一条域名解析记录,将部署的公网 IP 与您的域名进行绑定。

bash
Apply complete! Resources: 45 added, 0 changed, 0 destroyed.

Outputs:

cloud_register_data = <sensitive>
jwt_token = <sensitive>
lb_address = "<Your Deployment IP>"
password = "<EMQX Dashboard Password>"
username = "<EMQX Dashboard Username>"
vpc_id = "vpc-bp1n1dwiv2srgkgle4rlu"
*****************************
You need add a record to your DNS service provider.
IP address: 112.124.9.12
Domain: <Your Custom Domain>
*****************************
Checking if <Your Custom Domain> is resolved to the 112.124.9.12 of the load balancer

您可以选择主流云平台提供的 DNS 解析服务。以阿里云平台的云解析 DNS 服务为例,您可以根据 云解析 DNS - 添加网站解析页面 的操作步骤,添加一条域名解析记录。关于 DNS 和域名解析等基本概念,请参考 DNS 概念

解析记录生效时,系统将返回 HTTPS listener is ready

bash
HTTPS listener is ready

完成部署

完成域名解析后,Ubuntu 命令行界面将输出以下内容,说明该部署执行成功。

bash
Deployment successful! Here is the service information:
--------------------------------------------------------
EMQX service connection address: <Your Custom Doamin>
EMQX Dashboard address: https://<Your Custom Doamin>:18084
EMQX Dashboard username: <EMQX Dashboard Username>
EMQX Dashboard password: <EMQX Dashboard Password>
You can log in to the EMQX Cloud Console(https://cloud.emqx.com/console) to manage your deployment.
--------------------------------------------------------
Thank you for choosing our service. Happy IoT!

请妥善保存 EMQX Dashboard 用户名和密码,它将用于管理控制台登录和集群管理中,后续不会再显示该信息。

部署概览

返回并刷新部署概览页面,可获取到部署实时状态和连接信息:

byoc

实时状态:

  • 部署名称:部署名称,同时也是云资源的前缀,方便在公有云控制台中快速查找。
  • 实例状态:运行状态和创建时间。
  • 连接数:当前连接数和最大连接数。
  • 消息上下行 TPS:部署当前每秒钟消息发送和接收条数,以及 TPS 上限。

连接信息

  • 连接地址:部署时用户指定的域名。
  • 连接端口:默认开启 1883(mqtt)、8883(mqtts) 、8083(ws)、8084(wss) 端口,用于 MQTT 协议接入;18084(https) 和 8443(https) 分别用于 Dashboard 登录和 REST API 访问。

如您希望自定义端口,可通过工单或邮件(cloud-support@emqx.io)联系我们。

许可证信息

包含许可证基本信息与到期时间,许可证相关信息请参考 BYOC 许可证

高级网络设置

VPC 对等连接配置

Virtual Private Cloud (VPC) 对等连接是两个 VPC 之间的网络连接,通过此连接,两个位于不同网络中的 VPC 也可以彼此通信。该功能由云服务商提供,支持在同云服务商、同区域内,BYOC 部署所在的 VPC 与客户其他 VPC 创建对等连接。 请参考各公有云 VPC 对等连接文档进行配置:

私网连接(PrivateLink)能够实现 BYOC 部署所在的 VPC 与公有云上的服务建立安全稳定的私有连接,简化网络架构,实现私网访问服务,避免通过公网访问服务带来的潜在安全风险。请参考各公有云 VPC 私网连接文档进行配置:

NAT 网关配置

公有云平台提供的 NAT 网关可以提供网络地址转换服务,为 BYOC 部署提供访问公网资源的能力,无需 VPC 对等连接。您可以在 BYOC 部署所在 VPC 内添加 NAT 网关,请参考各公有云 NAT 网关文档进行配置:

连接到部署

您可以使用任何 MQTT 客户端工具连接到部署进行测试,我们推荐使用 MQTTX 连接到部署