阿里云上部署 
这个 Terraform 模块旨在在阿里云上部署 EMQX 或 EMQX Enterprise。EMQX 是一个可扩展且开源的 MQTT 代理,用于连接物联网设备。
兼容性 
| 操作系统/版本 | EMQX Enterprise 4.4.x | EMQX开源版 4.4.x | EMQX开源版 5.0.x | 
|---|---|---|---|
| ubuntu 20.04 | ✓ | ✓ | ✓ | 
先决条件 
Terraform 
在使用此模块之前,需要先安装 Terraform。如果尚未安装,请参考官方Terraform安装指南进行安装。
阿里云访问密钥 
为了在阿里云上部署 EMQX,您需要提供阿里云访问密钥。您可以通过设置环境变量 ALICLOUD_ACCESS_KEY 和 ALICLOUD_SECRET_KEY 来实现:
bash
export ALICLOUD_ACCESS_KEY=${access-key}
export ALICLOUD_SECRET_KEY=${secret-key}部署 EMQX 集群 
配置 EMQX4 
要部署 EMQX 版本 4.4.x,请在 emqx_package 变量中提供软件包URL。将 ${emqx4_package_url} 替换为实际的 URL。
bash
emqx_package = ${emqx4_package_url}配置 EMQX5 
要部署 EMQX 版本 5.0.x,请在 emqx_package 变量中提供软件包URL。将 ${emqx5_package_url} 替换为实际的URL。
bash
emqx_package = ${emqx5_package_url}
is_emqx5 = true
emqx5_core_count = 1
emqx_instance_count = 4Note
emq5_core_count应小于或等于emqx_instance_count。
运行 Terraform 
要应用 Terraform 模块,请进入 services/emqx_cluster 目录,并执行以下命令:
bash
cd services/emqx_cluster
terraform init
terraform plan
terraform apply -auto-approveNote
如果您正在部署 EMQX Enterprise 并且需要超过10个配额,请申请 EMQX 许可证,并在
terraform apply命令中作为变量传递。
成功应用后,将输出:
bash
Outputs:
emqx_cluster_address = ${emqx-cluster-ip}您可以使用不同的端口访问不同的服务:
- Dashboard:
${emqx_cluster_address}:18083 - MQTT:
${emqx_cluster_address}:1883 - MQTTS:
${emqx_cluster_address}:8883 - WS:
${emqx_cluster_address}:8083 - WSS:
${emqx_cluster_address}:8084 
清理 
当您完成EMQX集群的使用后,可以使用以下命令销毁它:
bash
terraform destroy -auto-approve这将删除Terraform在该模块中创建的所有资源。