# 部署相关问题

## 要如何才能连接到部署？
您可以通过客户端软件如 [MQTTX 客户端](https://mqttx.app) 进行连接。也可以通过 SDK 进行连接，可以查看 [连接到部署](../connect_to_deployments/overview.md)了解更多内容。

## 连接失败有哪几类原因？
1. 首先需要检查部署是否处于运行的状态，对于没有活跃连接的部署，系统会自动停止。
2. 查看连接地址和端口是否正确，如果是基础版的实例，请留意端口号不是1883和8883
3. 连接到部署需要设置认证鉴权，需要在 **访问控制**- > **客户端认证** 中设置用户名和密码，并且通过用户名和密码连接

## 为什么 MQTT 客户端在连接到 EMQX Cloud Serverless 时必须包含 SNI？

在 EMQX Cloud Serverless 部署中，多个租户共享同一基础设施。为了保持租户之间的隔离性和安全性，EMQX Cloud 依赖于服务器名称指示（SNI），通过客户端在连接过程中提供的域名来确定正确的租户服务。

SNI 是 TLS 握手协议的一部分，允许客户端指定目标域名。如果没有 SNI，服务器无法识别与连接相关的正确租户，从而导致身份验证失败。

如果客户端未包含 SNI，EMQX 将返回 MQTT 错误代码 `0x5`（身份验证失败），因为无法选择合适的证书或租户信息。

## 会提供定期的升级吗？会对业务有影响吗？大概会在什么时间段升级？

会提供定期的升级，bugfix或者小版本升级可以做到热更新，对用户来说是无感的。如果是大版本升级或者重大更新，会有个设备的闪断，需要客户设备支持自动重连。升级前都会和用户确认或协商升级时间。

## 我的部署被误删除了，能恢复么？
在删除部署之前，系统会要求您输入部署名称进行二次确认，以减少误删除的可能性。然而，请注意，一旦删除部署，将无法恢复。

## EMQX Cloud 提供 DDoS 攻击防护吗？

EMQX Cloud 公网接入点具备基础的**分布式拒绝服务（DDoS）** 攻击防护能力，该部分由底层云服务商提供，用于抵御常见的小规模攻击。如果您需要更高级别的 DDoS 防护（如大流量攻击场景），我们可以协助您联系云厂商或第三方安全服务提供商，单独采购相应的防护服务。

此外，EMQX 本身在协议层面内置了多项防御机制，以防止客户端侧的 DoS（拒绝服务）行为：

- **最大 MQTT 报文大小限制**：默认仅允许 1 MB 以内的 MQTT 报文，超出限制的报文将被直接拒绝。
- **协议合规性检查**：EMQX 严格遵循 MQTT 协议标准，任何格式错误或不符合协议的消息都会被立即丢弃。
- **频繁重连检测（Flapping Detection）**：当客户端在短时间内频繁断开重连时，EMQX 会自动识别并触发会话封禁，防止异常连接造成系统压力。
- **连接速率限制**：每个 EMQX 节点每秒最多允许 500 个新连接，防止由于连接洪峰导致系统资源耗尽。
- **客户端发布速率限制**：每个客户端的消息发布速率上限为每秒 1500 条消息，超过此限制的消息将被限流或丢弃。

有关客户端黑名单和频繁重连检测的更多信息，请参阅官方[黑名单](../deployments/blacklist.md)文档。

**注意**：任何由于 DDoS 攻击导致的服务停机不在 EMQX Cloud 的 SLA 保障范围内。

## 如何能在部署里面看到客户端发的消息？
在部署控制台中是不能直接查看客户端发送的消息，需要做消息的持久化保存情使用数据集成做转发，同时EMQX Cloud是不会保存客户端消息。


## 试用部署到期了还能使用吗？
正常情况试用部署到期之后部署将会被自动停止，如果没有后续充值，3天之后试用部署将会被删除，不会保留任何数据。3天内使用微信、支付宝、或者对公汇款的方式进行充值，充值到账户余额，即可以继续保留使用。

## 是否可以延长免费试用部署时长？
如果您希望延长试用部署时长，可以填写合格的调查问卷，我们会对符合条件的问卷的提交者发送一定金额的代金券，或者提工单或发送邮件(cloud-support@emqx.io)与我们取得联系，我们会在 24 小时之内回复。

## 如何伸缩部署规格
对于专有版部署，EMQX Cloud 支持通过提交工单或直接在 Platform 控制台中调整部署规格来实现自动扩缩容。有关更多信息，请参见[调整部署规格](../deployments/change_tier.md)。

扩容/缩容持续时间为 5 ~ 15 分钟，扩容/缩容期间不会影响服务正常使用，但会出现 2 到 3 次设备秒级别掉线重连，如果设备配置了自动重连将不会影响使用。

## 使用 Serverless 部署的免费额度

在 EMQX Cloud 控制台创建 Serverless 部署的时候，在配置选择中，保持消费限额为默认值 0。这样您就可以创建一台每个月有 100 万连接分钟数和 1 GB 流量的免费部署。具体的创建流程可以参考[创建 Serverless 部署](../create/serverless.md)。

### 在哪里可以看到额度的使用情况？

在部署概览页可以看到连接分钟数和流量的统计，数值统计间隔为 1 小时，即**真实消耗数值会滞后 1 小时显示**。

### 当月的免费额度超过了会怎么样？

当月的免费额度超过了之后（连接分钟数或流量有一项达到），部署将会被停止。直到下个月有新的免费额度之后可继续使用。但是部署不会自动开启，需要在控制台重新启动部署。

### 当月的免费额度超过了之后，我如果想继续使用要如何操作？

当月的免费额度超过了之后，如果您想继续使用，需要在**部署概览**页中点击**消费限额**的编辑图标来调整 Serverless 消费限额，将每月最高消费设置成大于 0 的数值。如果您的账户没有余额，需要对您的账户余额进行充值。充值完成之后，您需要在部署概览页重新启动部署。

## 管理 Serverless 部署的付费使用

如果每个月的免费额度不能满足使用需求，您可以根据实际需要来设置[消费限额](../deployments/spend_limit.md)。假设您设置了消费限额为50元，在本月的使用中，会优先消耗免费额度，当免费额度使用完，系统每小时将会进行结算，在余额中扣除消耗费用。当本月的消费达到50元的时候，会根据您的选择停止部署或仅提醒并继续使用。

### 付费使用情况下如何使部署不停止？

如果您的业务量较大，想不停止部署，建议将消费限额设置为一个较大的值，或者在调整消费限额时选择`提醒我并且继续计费`，同时请确保账户中余额充足。

### 可以修改消费限额吗？

您可以随时修改消费限额，做增加或者减少的修改。请注意，如果您的部署当月的消耗已经大于修改的目标限额，限额修改后会造成部署的停止。

### 什么时候会收到提醒？

当每月消费额达到免费额度 75% 的时候，相关账号的邮箱会收到提醒。当使用量达到设定的消费限额的时候，相关账号的邮箱会再次收到提醒。请注意邮件的查收。

## 如何在 BYOC 部署前保持 SSH 会话稳定？

在网络连接不稳定的情况下，SSH 会话可能会中断，从而导致 BYOC 部署过程失败或中断。为避免此类情况，建议使用终端复用工具 tmux。即使 SSH 连接掉线，tmux 中运行的任务也会在后台继续执行，从而保证部署过程不中断。

### 如何使用 tmux 保持部署会话稳定？
`tmux` 是一个终端会话管理工具，特别适合执行长时间运行的任务。可按以下步骤操作：

1. 安装 tmux （如系统未安装）：

```bash
sudo apt install tmux -y
```

2. 启动一个新的 tmux 会话：

```bash 
tmux new -s byoc
```

3. 在 tmux 会话中执行 BYOC 部署命令：

```bash   
./byoc create ...
```

4. 若连接断开，可重新登录并恢复会话：

```bash
tmux attach -t byoc
```





