跳到主要内容

RainMaker 部署相关的问题

我已经完成了 RainMaker 服务的部署,但未收到任何关于部署详情的邮件。我该怎么办?

  1. 请检查邮件是否被归类到垃圾邮件文件夹中。

  2. 如果邮件不在垃圾邮件文件夹中,则需要进一步排查。确保已正确配置 RainMaker 区域的邮件发送服务,参考指南:配置简单电子邮件服务

  3. 在 CloudFormation 控制台中,检查所有必要的 RainMaker 组件是否成功部署,具体操作请参考部署指南:后端部署验证

  4. 如果所有必要的堆栈均已成功部署,可以通过 RainMaker 管理面板重置超级管理员密码。

    密码重置步骤:

    1. 进入 RainMaker 管理面板的登录页面,点击 Forgot Password

    2. 输入注册的超级管理员邮箱地址,系统会发送一个验证码到你的邮箱。

    3. 输入验证码,并设置新密码。

    4. 使用新密码登录 RainMaker 管理面板。

获取 RainMaker API URL(基础 URL)

  1. 使用管理员账号登录 RainMaker 管理面板。

  2. 进入 Deployment Settings 标签页。

    Deployment details dashboard

  3. 确定 API 网关类型:

    1. REST 网关:默认的传统网关,适用于所有部署。

    2. HTTP 网关:新推出的低成本网关(成本降低约 70%)。

    注意:该网关需要用户迁移至新用户池,迁移步骤参考用户池迁移指南

    警告

    选择 HTTP 网关时,ESP API Rate Limiter不可用,这可能导致 API 被恶意用户滥用。

    OAuth-only RainMaker 部署 只能使用 HTTP 网关。

  4. 选择所需的 API 端点。

  5. 如有任何疑问,请联系 ESP RainMaker 支持团队,邮箱地址为 esp-rainmaker-support@espressif.com

ESP-RainMaker-Core 部署失败,如何解决?

deployment_error_1

  1. 登录 AWS 控制台。

  2. 在 AWS 控制台搜索 CloudFormation,然后选择 serverlessrepo-ESP-RainMaker-Core

  3. 进入 Resources 标签页,搜索 espstatsinfo,然后点击相关的堆栈链接。

    deployment_error_2

  4. 打开 Events 标签页,查找 CREATE_FAILED 状态信息。

    deployment_error_3

  5. 如果错误信息与上图类似,则问题可能与 Lambda 并发数配额相关。请向 AWS 提交支持请求以解决此问题。

提交支持请求的步骤:

  1. 打开 AWS 控制台,搜索 Support

    support_1

  2. 点击 Create case

    support_1a

  3. 选择 Service limit increase(请求增加服务使用配额),然后在 Limit Type(配额类型)中选择 Lambda,如下所示:

    support_2

  4. 填写详细信息:

    support_3

  5. 添加以下信息:

    1. 选择你的部署区域
    2. Limit: 并发请求数(预期持续时间 × 每秒预期请求数)
    3. New Limit Value: 1000

    support_4

  6. 添加请求描述:

    我们正在部署我们的产品:https://rainmaker.espressif.com/。 由于当前并发数配额设为 10,无法完成部署。 请将并发数配额提高到 1000。

  7. 提交请求。

在 CloudFormation 中找不到 ESP-RainMaker-Base-API 堆栈。

  • ESP-RainMaker-Base-API 堆栈在 RainMaker 的初始部署后被禁用。
  • 如果你需要清理并重新部署 RainMaker,请联系 Espressif RainMaker 团队申请访问权限,邮箱地址为 esp-rainmaker-support@espressif.com
  • 如果仅进行 RainMaker 升级,无需更新 ESP-RainMaker-Base-API 堆栈。

如何确认 v3.1.0 升级停机结束后系统是否正常运行?

  1. 登录 AWS 管理控制台。

  2. 打开 IoT Core AWS 服务。

  3. 从左侧菜单中,展开 Security,点击 Policies,然后选择 esp-rainmaker-iot-policy

    esp-rainmaker-iot-policy

  4. 如果 Active 策略如下所示:

    this

    则表示系统正常运行,没有 MQTT 停机,并且设备已连接。

  5. 如果 Active 策略看起来可能是仅连接策略:

    this

    请检查是否有任何 Inactive 版本如下所示:

    this

    选择该 Inactive 版本并点击 Set as Active

    active

如何恢复丢失的管理员节点组映射?

问题描述

所有早期版本均存在节点重置问题,会错误地将节点从管理员组中移除。如果将 OTA 配置到某个管理员组,此类节点将无法接收 OTA 更新。此问题已在 v3.6.1 中修复。该问题可能在以下情况下发生:

  • 节点在连接 MQTT 时重置为出厂设置
  • 新用户接管了之前映射到其他用户的节点

由于时间跨度较长且可能发生了手动操作,无法完全确定受影响的数据并进行历史数据修正。

恢复范围

基于节点注册的分组(自 v2.8.0 起):

  • 可以恢复从 v2.8.0 版本开始约一年前发生的节点注册的管理员节点组映射。

动态分组:

  • 将根据 group_query 条件(基于 node_typenode_modelnode_fw_version)对所有现有活跃节点重新分组,以恢复动态组映射。

限制

  • 五年期间手动修改的分组无法恢复。

恢复脚本

下载脚本:

管理员节点组映射恢复脚本

如何运行 (AWS CloudShell)

# 1. 在 CloudShell 中下载脚本
wget https://esp-rainmaker-generic-315787942180.s3.us-east-1.amazonaws.com/scripts/restore_admin_node_group_mappings.py

# 2. 首先在 DRY RUN 模式下运行(不进行任何更改)
python3 restore_admin_node_group_mappings.py --region <your-region>

# 3. 在 LIVE 模式下运行以恢复映射
python3 restore_admin_node_group_mappings.py --region <your-region> --live

输出

  • 控制台仅显示摘要
  • 详细日志文件: restore_mappings_<admin_id>_<timestamp>.log
  • CSV 报告: missing_mappings_<admin_id>_<timestamp>.csv

何时应该运行此脚本?

  • 升级到 v3.6.1 或更高版本后: 如果从 v3.6.0 或更早版本开始运行 RainMaker,并且拥有包含节点的管理员组用于提供 OTA 更新,应运行此脚本一次以恢复任何丢失的节点-组映射。
  • 如果发现管理员组中节点缺失: 运行此脚本检查并恢复映射。
备注

脚本首先在 DRY RUN 模式下运行,以查看将进行哪些更改。要应用更改,请使用 --live 标志在 LIVE 模式下运行脚本。

增加 Amazon API Gateway 限制

在升级 RainMaker 后端(例如升级到 v3.8.0 或更高版本)之前,必须在部署区域将 Amazon API Gateway 配额 Routes per HTTP API 增加到 500。如果此配额过低,在创建或更新 API Gateway 资源时堆栈更新可能会失败。

  1. 打开 AWS Service Quotas 控制台 并选择部署区域 Region
  2. 选择 AWS services > Amazon API Gateway
  3. 找到 Routes per HTTP API 并选择 Request quota increase(或等效选项)。
  4. Request quota increase 对话框中,输入 500 作为新的配额值。此配额的 AWS 默认值通常为 300;请求的值必须大于当前应用的配额。提交请求。

Request quota increase dialog for Routes per HTTP API,new value 500

可以在 Service Quotas 的 Recent quota increase requests 下跟踪请求。以下示例显示了此配额已批准增加到 500:

Routes per HTTP API quota set to 500 in AWS Service Quotas Recent quota increase requests

如果升级失败并出现 API Gateway 配额错误,请增加错误消息中指定的配额,然后重试升级。如需进一步帮助,请联系 esp-rainmaker-support@espressif.com