RainMaker 附加服务
ESP 时间序列
时间序列 (TimeSeries) 服务用于提取和检索连接到 ESP RainMaker 的节点的时间序列数据,该服务包括两个组件:
部署基础组件
时间序列服务的 "esp-rainmaker-base-timeseries" 组件需要使用 CloudFormation 进行部署,具体步骤如下。
- 前往 AWS 控制台。
- 在
Services
中搜索CloudFormation
并点击打开,如下图所示。
目前此模块可以部署的地区包括 N. Virginia(us-east-1)、Ohio(us-east-2)、Oregon(us-west-2)、Frankfurt(eu-central-1) 和 Ireland(eu-west-1),您可以选择其中之一进行部署。请记住此区域,部署 API 时需要用到。建议选择 us-east-1 地区。
- 在 CloudFormation 服务中点击
Create stack
,如下图所示。
- 如果您在堆栈页面点击
Create stack
,将会出现两个选项,如下图所示。请选择With new resources (standard)
。
- 选择
Template is Ready
,并将以下网址粘贴至 Amazon S3 网址栏。
亚马逊 S3 网址:https://esp-rainmaker-timeseries.s3.amazonaws.com/v2/espbasetsdata-package.yml
- 在
Stack name
中输入 "esp-rainmaker-base-timeseries",保持默认配置并点击Next
,如下所示。
- 点击
Next
并添加版本标签,如下所示:- Key: Version
- Value: 1
点击
Add tag
,其余设置保持默认,然后点击Next
。勾选以下选项。
I acknowledge that AWS CloudFormation might create IAM resources.
I acknowledge that AWS CloudFormation might create IAM resources with custom names.
I acknowledge that AWS CloudFormation might require the following capability: CAPABILITY_AUTO_EXPAND
并点击
Create stack
,如下图所示。
- 堆栈创建后将会显示以下信息。
部署 API
请首先确保您已经为您的账号选择了 RainMaker 的部署区域。
只有基本组件都部署成功后才可以部署时间序列 API 组件的 SAR 仓库。
部署 SAR 仓库
- 前往 AWS 控制台。
- 在
Services
中搜索SAR
并点击打开 SAR 服务,如下图所示。
- 点击
Available applications
>Private applications
。勾选复选框Show apps that create custom IAM roles or resource policies
。
- 下图即为需要部署的仓库。
如果 RainMaker TimeSeries 仓库未显示,请确认您是否已经选择 RainMaker 部署区域。若仍有问题,请联系 RainMaker 支持团队 (esp-rainmaker-support@espressif.com)。
- 点击
ESP-Rainmaker-TimeSeries
SAR 仓库,该仓库的详细信息将显示如下。
向下滚动翻页,输入参数的值。
LogLevel
- 可将该参数设置为不同级别,例如Debug
、Error
和Info
。暂时将其设置为Error
。TSDataRegion
- 此参数为原有基础组件部署的地区,如us-east-1
。
点击复选框——
I acknowledge that this app creates custom IAM roles
,然后点击Deploy
按钮。部署过程将会启动,您将看到以下界面。部署过程将持续几分钟。
可以在 CloudFormation 中查看此 SAR 仓库的部署状态。
前往 AWS 控制台 >
Services
>CloudFormation
,即可查看已部署的堆栈列表。您将在列表中看到
serverlessrepo-ESP-Rainmaker-TimeSeries
栈的条目,其中CREATE_COMPLETE
状态表示此仓库已经成功部署,如下图所示。
ESP API 限流
通过配置 API 速率限制可以保护 RainMaker API 免受 DoS 和 DDoS 攻击。用户需部署 ESP API 限流 (Rate Limiter) 服务来配置 API。
API 速率限制是指限定 5 分钟内来自单个 IP 地址的最大请求数量。一旦达到上限,来自该 IP 地址的请求将被阻止,低于上限后,该 IP 地址将会自动解封。
API 速率限制的默认值为 1000,您可以在管理面板对其进行更改。 该服务包括两个组件:
部署基础组件
ESP API 限流服务的第一个组件需要使用 CloudFormation 进行部署,具体步骤如下所示:
- 前往 AWS 控制台。
- 在
Services
中搜索CloudFormation
并点击打开,如下图所示。
- 在 CloudFormation 服务中点击
Create stack
,如下图所示。
- 如果您在堆栈页面点击
Create stack
,将会出现两个选项,如下图所示。请选择With new resources (standard)
。
- 选择
Template is Ready
,并将以下网址粘贴至 Amazon S3 网址栏。
亚马逊 S3 网址:https://esp-api-rate-limiter.s3.amazonaws.com/v3/espbasewaf.yml
在
Stack name
中输入 "ESP-Base-API-Rate-Limiter"。API 速率限制的默认值为 1000,请按照具体需求设定该值。您之后可以在管理面板对其进行更改。
输入用于接收通知的电子邮件地址。任意 IP 地址的 API 请求数量超过 API 速率限制时,您将在此邮箱收到通知。
- 点击
Next
并添加版本标签,如下所示:- Key: Version
- Value: 3
点击
Add tag
,其余设置保持默认,然后点击Next
。勾选以下选项。
I acknowledge that AWS CloudFormation might create IAM resources.
I acknowledge that AWS CloudFormation might create IAM resources with custom names.
I acknowledge that AWS CloudFormation might require the following capability: CAPABILITY_AUTO_EXPAND
并点击
Create stack
,如下图所示。
- 堆栈创建后将会显示以下信息。
堆栈部署成功后,您会在上述邮箱收到一封电子邮件,确认您是否希望订阅 API 限流通知服务。
点击确认订阅的链接即可确认订阅。
部署 API
请首先确保您已经为您的账号选择了 RainMaker 的部署区域。
只有基本组件都部署成功后才可以部署限流组件 API 的 SAR 仓库。
部署 SAR 仓库
- 前往 AWS 控制台。
- 在
Services
中搜索SAR
并点击打开 SAR 服务,如下图所示。
- 点击
Available applications
>Private applications
。勾选复选框Show apps that create custom IAM roles or resource policies
。
- 下图即为需要部署的仓库。
如果 ESP-API-Rate-Limiter SAR 仓库未显示,请确认您是否已经选择 RainMaker 部署区域。若仍有问题,请联系 RainMaker 支持团队 (esp-rainmaker-support@espressif.com)。
- 点击
ESP-API-Rate-Limiter
SAR 仓库,该仓库的详细信息将显示如下。
- 然后点击复选框——
I acknowledge that this app creates custom IAM roles
,并点击Deploy
按钮。
部署过程将持续几分钟。您可以在 CloudFormation 中查看此 SAR 仓库的部署状态。
前往 AWS 控制台 >
Services
>CloudFormation
,即可查看已部署的堆栈列表。您将在列表中看到
serverlessrepo-ESP-API-Rate-Limiter
栈的条目,其中CREATE_COMPLETE
状态表示此仓库已经成功部署,如下图所示。
- 部署完成。
ESP Device Defender
Device Defender 设备安全模块能够监测连接到 RainMaker 的物联网设备是否有任何异常(这些异常可能表明设备被入侵),从而降低物联网设备的安全风险。当检测到异常时,Device Defender 就会发出警报。以下异常均会触发警报:
- 每台设备每 5 分钟内尝试连接设备的次数超过设置的阈值。
- 每台设备每 5 分钟内授权失败的次数超过设置的阈值。
- 每台设备每 5 分钟内发送信息的数量超过设置的阈值。
如果设备超过任一上述阈值,Device Defender 就会向超级管理员的电子邮件地址发送警报邮件。您可以在部署模块时设置以上阈值。
Device Defender 模块需要单独部署,下文介绍了具体步骤。
请首先确保您已经为您的账号选择了 RainMaker 的部署区域。
部署服务
- 登录 AWS 控制台。
- 在
Services
页面,搜索并点击SAR
,打开 SAR 服务,如下图所示:
- 点击
Available applications
,选择Private applications
,然后勾选复选框Show apps that create custom IAM roles or resource policies
。
- 需要部署的仓库如下图所示:
如果页面中未显示 ESP-RainMaker-DeviceDefender SAR 仓库,请再次确认您是否已经选择 RainMaker 的部署区域。如果还有其他问题,请联系 RainMaker 支持团队 (esp-rainmaker-support@espressif.com)。
- 点击打开 ESP-RainMaker-DeviceDefender SAR 仓库,其详细信息将显示在页面中,如下图所示:
- 向下滚动页面至
Application settings
。
在
ESPSuperAdmin
字段,输入电子邮件地址,该邮箱将用于接收设备异常信息的警报邮件。如该字段为空,警报邮件将发送至 SuperAdmin 用户的电子邮件地址。LogLevel
字段表示将被记入 lambda 函数的日志信息的严重程度,可选值包括Debug
、Info
和Error
。NumAuthorizationFailures
、NumConnectionAttempts
和NumMessagesSent
字段分别为每 5 分钟内每台设备授权失败的次数阈值、每 5 分钟内每台设备尝试连接的次数阈值和每 5 分钟内每台设备发送消息的次数阈值。如果设备超过了上述阈值,Device Defender 将向指定的电子邮件地址发送警报邮件。请在相应字段内输入所需值。勾选复选框
I acknowledge that this app creates custom IAM roles
,并点击Deploy
按钮。部署过程将持续几分钟。您可以从 CloudFormation 查看这一 SAR 仓库的部署状态。
前往 AWS 控制台,打开
Services
>CloudFormation
,您将能看到已部署堆栈的列表。在列表中,您将能够看到
serverlessrepo-ESP-RainMaker-DeviceDefender
堆栈条目。CREATE_COMPLETE
表示该仓库已成功部署,如下图所示:
ESP 访问日志 (ESP Access Logs)
ESP 访问日志服务用于记录和检索 ESP RainMaker 云平台的 API 数据和 MQTT 主题信息。 此服务只包含一个组件:
部署访问日志
请首先确保您已经为您的账号选择了 RainMaker 的部署区域。
如何部署 SAR 资源库
- 登录 AWS 管理控制台。
- 在
Services
中,搜索 "SAR" 并点击打开 SAR 服务,如下图所示:
- 点击
Available applications
>Private applications
,勾选复选框Show apps that create custom IAM roles or resource policies
。
- 下图展示了需要部署的仓库。
如果 RainMaker Access Logs 仓库未显示,请确认您是否已经选择 RainMaker 部署区域。若仍有问题,请联系 RainMaker 支持团队 (esp-rainmaker-support@espressif.com)。
- 点击打开 ESP-RainMaker-Access-Logs SAR 仓库,其详细信息将显示在页面中,如下图所示:
-
向下滚动并输入参数的值。
LogLevel
- 可将该参数设置为不同级别,例如Debug
、Error
和Info
。暂时将其设置为Error
。
勾选复选框
I acknowledge that this app creates custom IAM roles
并点击Deploy
。部署开始后,您将看到以下界面。部署过程将持续几分钟。
您可以从 CloudFormation 查看这一 SAR 仓库的部署状态。
前往 AWS 控制台,打开
Services
>CloudFormation
,您将能看到已部署堆栈的列表。在列表中,您将能够看到
serverlessrepo-ESP-RainMaker-Access-Logs
堆栈条目。CREATE_COMPLETE
表示该仓库已成功部署,如下图所示: