OperaMetrix
Cloud

L'IoT industriel rencontre le cloud AWS

Intégration Ignition AWS IoT : Données industrielles connectées au cloud

Connectez Ignition SCADA à AWS IoT Core pour une ingestion cloud sécurisée et évolutive de vos données industrielles. Routez les mesures capteurs en temps réel vers Amazon S3, Lambda, Timestream et SageMaker grâce au moteur de règles IoT.

Présentation

L'intégration Ignition AWS IoT comble le fossé entre les systèmes SCADA sur site et l'écosystème cloud AWS. En exploitant le module MQTT Transmission, Ignition publie les données industrielles directement vers AWS IoT Core, permettant une supervision centralisée, des analyses avancées et de l'apprentissage automatique à grande échelle.

AWS IoT Core agit comme un broker MQTT entièrement géré avec authentification des appareils via certificats X.509. Une fois les données dans le cloud, le moteur de règles IoT route les messages vers les services en aval tels qu'Amazon S3 pour le stockage, AWS Lambda pour le traitement serverless et Amazon Timestream pour l'analyse de séries temporelles.

Avantages clés

  • Connectivité TLS 1.2 sécurisée avec authentification par certificats X.509
  • Broker MQTT entièrement géré avec mise à l'échelle automatique
  • Moteur de règles IoT pour un routage flexible des données
  • Intégration native avec plus de 20 services AWS
  • Device Shadow pour la synchronisation d'état hors ligne

Architecture Ignition AWS IoT

Les données circulent depuis la passerelle Ignition via MQTT Transmission vers AWS IoT Core, puis le moteur de règles distribue les messages vers les services de stockage, de calcul et d'analyse.

┌──────────────┐     ┌─────────────────┐     ┌───────────────┐
│   Ignition   │     │  MQTT           │     │  AWS IoT      │
│   Gateway    │────▶│  Transmission   │────▶│  Core         │
│              │     │  Module         │     └───────┬───────┘
└──────────────┘     └─────────────────┘             │
                                              ┌──────┴───────┐
                                              │  IoT Rules   │
                                              │  Engine      │
                                              └──────┬───────┘
                                          ┌──────────┼──────────┐
                                     ┌────┴────┐ ┌───┴───┐ ┌───┴────┐
                                     │   S3    │ │Lambda │ │Timestr.│
                                     └─────────┘ └───────┘ └────────┘

Étapes de configuration

1

Étape 1 : Créer un objet AWS IoT

Enregistrez votre passerelle Ignition en tant qu'objet dans AWS IoT Core. Cela crée une identité d'appareil et attache une politique de sécurité qui autorise les opérations MQTT de publication et d'abonnement.

# Create a Thing in AWS IoT Core
aws iot create-thing --thing-name "IgnitionGateway01"

# Create and attach a permissive IoT policy
aws iot create-policy --policy-name "IgnitionPolicy" --policy-document '{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iot:Connect",
        "iot:Publish",
        "iot:Subscribe",
        "iot:Receive"
      ],
      "Resource": "arn:aws:iot:us-east-1:123456789012:*"
    }
  ]
}'
2

Étape 2 : Générer et configurer les certificats

AWS IoT Core nécessite une authentification mutuelle TLS avec des certificats X.509. Générez une paire certificat/clé, attachez la politique et téléchargez le certificat racine Amazon pour la vérification du serveur.

# Create keys and certificate
aws iot create-keys-and-certificate \
  --set-as-active \
  --certificate-pem-outfile "ignition-cert.pem" \
  --public-key-outfile "ignition-public.key" \
  --private-key-outfile "ignition-private.key"

# Attach the policy to the certificate
aws iot attach-policy \
  --policy-name "IgnitionPolicy" \
  --target "arn:aws:iot:us-east-1:123456789012:cert/<certificate-id>"

# Attach the certificate to the Thing
aws iot attach-thing-principal \
  --thing-name "IgnitionGateway01" \
  --principal "arn:aws:iot:us-east-1:123456789012:cert/<certificate-id>"

# Download Amazon Root CA
curl -o AmazonRootCA1.pem \
  https://www.amazontrust.com/repository/AmazonRootCA1.pem
3

Étape 3 : Configurer le module MQTT Transmission

Dans l'interface web de la passerelle Ignition, configurez le module MQTT Transmission pour se connecter à votre point de terminaison AWS IoT Core en utilisant les certificats générés à l'étape précédente.

# MQTT Transmission Module Settings (Ignition Gateway Config)
# ─────────────────────────────────────────────────────────────
# Server URL:    ssl://<your-iot-endpoint>.iot.us-east-1.amazonaws.com:8883
# Client ID:     IgnitionGateway01
# CA Certificate: AmazonRootCA1.pem
# Client Cert:   ignition-cert.pem
# Private Key:   ignition-private.key
# Topic:         ignition/plant01/data
# QoS:           1 (At least once)
# Keep Alive:    60 seconds

# Verify your endpoint
aws iot describe-endpoint --endpoint-type iot:Data-ATS
# Returns: "<account-id>-ats.iot.<region>.amazonaws.com"
4

Étape 4 : Créer des règles IoT pour le routage des données

Définissez des règles AWS IoT qui filtrent et routent les messages MQTT entrants vers les services en aval. Utilisez une syntaxe de type SQL pour sélectionner des champs de données spécifiques et déclencher des actions dans S3, Lambda ou Timestream.

# Create an IoT Rule to route data to Timestream
aws iot create-topic-rule --rule-name "IgnitionToTimestream" \
  --topic-rule-payload '{
    "sql": "SELECT temperature, pressure, flow_rate, timestamp() AS time FROM '\''ignition/plant01/data'\''",
    "actions": [
      {
        "timestream": {
          "roleArn": "arn:aws:iam::123456789012:role/IoTTimestreamRole",
          "databaseName": "IndustrialDB",
          "tableName": "SensorReadings",
          "dimensions": [
            { "name": "plant", "value": "plant01" },
            { "name": "gateway", "value": "IgnitionGateway01" }
          ]
        }
      },
      {
        "s3": {
          "roleArn": "arn:aws:iam::123456789012:role/IoTS3Role",
          "bucketName": "ignition-raw-data",
          "key": "plant01/${topic()}/${timestamp()}.json"
        }
      }
    ]
  }'

Fonctionnalités clés

Communication TLS sécurisée

Toutes les données transmises entre Ignition et AWS IoT Core sont chiffrées via TLS 1.2 avec authentification mutuelle par certificats X.509, garantissant une sécurité de bout en bout pour les données industrielles en transit.

Moteur de règles IoT

Le moteur de règles AWS IoT évalue les messages MQTT entrants à l'aide de requêtes de type SQL et route les données vers plus de 20 services AWS, notamment Lambda, S3, Timestream, SNS et SQS, sans écrire de code.

Device Shadow / Jumeau numérique

Les Device Shadows d'AWS IoT maintiennent une représentation virtuelle de l'état de votre passerelle Ignition, permettant aux applications de lire et écrire l'état de l'appareil même lorsque la passerelle est temporairement hors ligne.

Stockage cloud évolutif

Routez les données industrielles vers Amazon S3 pour un stockage long terme économique et Amazon Timestream pour des requêtes de séries temporelles performantes, avec une mise à l'échelle automatique de milliers à des milliards de points de données.

Cas d'utilisation

Énergie et services publics

Surveillance d'actifs à distance

Surveillez des actifs industriels géographiquement distribués depuis un tableau de bord AWS centralisé. Les passerelles Ignition Edge de chaque site publient les données capteurs vers AWS IoT Core, offrant une visibilité en temps réel et des alertes sur tous les sites sans infrastructure VPN.

Industrie manufacturière

Maintenance prédictive avec SageMaker

Transmettez les données de vibration, température et exploitation depuis Ignition vers AWS IoT Core, puis routez-les vers Amazon SageMaker pour l'entraînement et l'inférence de modèles d'apprentissage automatique. Détectez les anomalies d'équipement avant les pannes et réduisez les arrêts non planifiés jusqu'à 50 %.

Agroalimentaire

Analyse cloud multi-sites

Agrégez les données de production de plusieurs passerelles Ignition dans Amazon Timestream et visualisez les KPI inter-usines avec Amazon QuickSight. Comparez l'OEE, la consommation énergétique et les indicateurs qualité entre les sites pour des initiatives d'amélioration continue.

Technologies

AWS IoT Core

Service de broker MQTT entièrement géré qui connecte de manière sécurisée les appareils IoT au cloud AWS et se met à l'échelle automatiquement pour supporter des milliards de messages.

MQTT Transmission

Module Cirrus Link pour Ignition qui publie les données de tags via le protocole MQTT, supportant l'encodage Sparkplug B et les structures de topics personnalisées.

AWS Lambda

Service de calcul serverless qui exécute du code en réponse aux événements IoT, permettant la transformation, l'enrichissement et la génération d'alertes en temps réel sans gérer de serveurs.

Amazon S3

Stockage objet haute durabilité pour l'archivage de données industrielles brutes, la construction de data lakes et la rétention long terme avec des politiques de cycle de vie configurables.

Amazon Timestream

Base de données de séries temporelles conçue pour gérer des milliers de milliards d'événements quotidiens avec des fonctions d'analyse intégrées, idéale pour les requêtes de données capteurs industriels et les tableaux de bord.

Questions fréquentes

Retrouvez les réponses aux questions courantes sur cette intégration.

Le module MQTT Transmission de Cirrus Link est nécessaire pour publier les données depuis Ignition vers AWS IoT Core. Pour recevoir des commandes cloud, le module MQTT Engine est également recommandé. Les deux modules supportent TLS 1.2 et l'authentification par certificats X.509 requise par AWS IoT Core.
La tarification d'AWS IoT Core repose sur la connectivité (par million de minutes), la messagerie (par million de messages) et les déclenchements du moteur de règles. Les déploiements industriels typiques envoyant des données chaque seconde coûtent environ 10 à 50 $/mois par passerelle. Le module MQTT Transmission nécessite une licence séparée auprès de Cirrus Link.
Oui, le module MQTT Transmission supporte nativement l'encodage Sparkplug B. Cependant, AWS IoT Core traite les messages Sparkplug B comme des payloads binaires. Vous pouvez utiliser AWS Lambda pour décoder les messages protobuf Sparkplug B, ou configurer MQTT Transmission pour publier en format JSON afin de permettre un traitement direct par le moteur de règles IoT.
Oui, l'intégration inclut plusieurs mécanismes de fiabilité. Le QoS 1 MQTT garantit une livraison au moins une fois, le module MQTT Transmission fournit un tampon store-and-forward lors des pannes réseau, et AWS IoT Core offre un SLA de disponibilité de 99,9 %. Pour les données critiques, configurez un stockage historien local dans Ignition comme solution de repli.

Prêt à démarrer ?

Contactez notre équipe pour discuter de vos besoins et obtenir une solution sur mesure.