本指南演示如何在 AWS 上托管和扩展 Ignition Cloud Edition 监管控制和数据采集(SCADA)软件。您可以使用本指南作为框架,将运营技术(OT)数据摄取到安全、可扩展且可容错的 Ignition Cloud Edition 环境中。Ignition 部署跨越两个可用区,并且使用多项 AWS 服务进行数据存储和数据处理。它还可以进行扩展,从而使用人工智能和机器学习(AI/ML)技术进行企业级高级分析。
请注意:[免责声明]
架构图

[架构图描述]
步骤 1
Ignition 是一款服务器软件,可作为全面系统集成的中心。 Ignition 可以连接到各种可编程逻辑控制器(PLC)、开放平台通信数据访问(OPC-DA)和开放平台通信统一架构(OPC-UA)协议。
Ignition 支持通过 Java 数据库连接(JDBC)连接到任何 SQL 数据库。
步骤 2
Ignition 具有双向性,支持多种输出。Ignition 可以通过内置的 OPC-UA 服务器公开数据。Ignition 可以使用 JDBC 将数据写入任何 SQL 数据库。Ignition 可以使用 Sparkplug 规范将数据发布到 MQTT 服务器。Ignition 可以为第三方应用程序公开 REST 端点。
步骤 3
在数据摄取期间,Ignition 有连接器,可直接连接各种 AWS 服务。它可通过 OPC-UA 和 MQTT 实现 AWS IoT Greengrass 集成,因此可实现实时数据访问。Ignition 会将数据直接发布到 MQTT 服务器。
使用 AWS Marketplace 中提供的 IoT Bridge for SiteWise 后,运营技术(OT)数据即可无缝传输到 AWS IoT SiteWise。它连接到 Amazon Kinesis Data Streams,以实现可扩展的实时流式传输。Ignition 还可以与 Amazon DynamoDB 进行交互,后者是一个 NoSQL 数据库,可用于存储和检索数据。
步骤 4
AWS Marketplace 中提供的 Ignition Cloud Edition 是对本地 Ignition 平台的补充。可以将其用于构建企业应用程序和控制面板。
无论是本地平台还是 AWS 云上托管的版本,Ignition 均可使用 JDBC 驱动程序连接到 Amazon Aurora 数据库。数据可以直接从本地 Ignition 摄取到 Ignition Cloud Edition。它利用 NAT 网关来启用来自托管 Ignition 的私有子网的出站互联网连接。
步骤 5
数据会通过 AWS IoT Core 规则发布到 Amazon Simple Storage Service(Amazon S3),或通过 Kinesis Data Streams 发布到 Amazon Data Firehose。它能够可靠地将流式数据加载到 Amazon S3 数据湖中,然后使用 Amazon Athena 对数据进行编目。
也可以将数据加载到 Amazon Redshift 数据仓库服务中,用于分析目的。使用 Amazon SageMaker 开发机器学习模型,然后部署到 IoT Greengrass,以简化基于边缘的部署。
开始使用

Well-Architected 支柱

当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
本指南中使用的 AWS 服务可为您提供全面的云原生框架,以扩展您的本地 Ignition 部署。通过将基础设施视为代码,使用可扩展的数据和分析服务并启用边缘机器学习功能,您便可以增强整个工业环境的运营可见性、响应能力并进一步优化。
-
安全性
在 AWS 上完成部署后,本指南会使用多种服务来增强您的整体安全状况。其中包括用于控制访问的 AWS Identity and Access Management(IAM)、用于保护数据的 AWS Key Management Service(AWS KMS)以及用于确保安全通信的 AWS IoT Core。这些服务协同工作,通过本指南中强大的访问控制、数据保护功能和安全连接来加强部署。
-
可靠性
弹性负载均衡(ELB)仅将来自用户桌面和移动应用程序的流量请求路由到运行状况良好的 Amazon Elastic Compute Cloud(Amazon EC2)实例,确保流量不会定向到接近过载状态的实例。这种方法降低了应用程序出现故障的可能性,让用户可以无缝浏览移动店面,而不会遭遇停机错误。
-
性能效率
在多可用区部署中配置的 Aurora 提供高度可用且可容错的数据库基础架构,因此可确保 Ignition SCADA 系统继续高效运行。此外,采用应用程序负载均衡器在多个 Ignition 前端实例之间分配流量,以便系统可以有效地处理增加的负载和流量模式。
-
成本优化
Amazon S3 提供了标准、不频繁访问和 Glacier 等一系列存储类,因此将其用于数据存储,这样便可根据指南的特定数据访问模式和持久性实现成本优化。Aurora 之所以采用多可用区部署,是因为它能够根据需求纵向扩展或缩减数据库层,从而避免过度预置并最大限度地降低成本。
-
可持续性
SageMaker 是一项完全托管的服务,可用于构建、训练和部署机器学习模型,从而帮助您优化资源利用率,并最大限度地减少与手动流程和资源管理效率低下相关的环境影响。Amazon S3 提供不同的存储类,这些存储类针对各种数据访问模式和持久性要求进行了优化,因此您可以最大程度地减少数据存储所需的资源并减少相关的环境影响。
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。