目次

AWS IoT SiteWise 完全ガイド v2.0

初心者から実務者向けの包括的解説

AWS IoT SiteWise は、産業機器・工場設備からのデータを収集・整理・分析する産業 IoT(IIoT)プラットフォームです。OPC-UA・Modbus・EtherNet/IP 等の産業プロトコルに対応したゲートウェイを通じて PLC・SCADA・センサーのデータをクラウドに収集し、アセットモデルで設備の階層構造を表現します。タイムシリーズデータベース・自動メトリクス計算・Web ダッシュボード・エッジ処理を統合提供し、スマートファクトリーの実現に必要なすべての機能を備えています。


目次

  1. 概要
  2. SiteWise が解決する課題
  3. 主な特徴
  4. アーキテクチャ
  5. コアコンポーネント
  6. 主要ユースケース
  7. アセットモデルの設計
  8. ゲートウェイとデータ収集
  9. メトリクス・計算式
  10. SiteWise Monitor ダッシュボード
  11. SiteWise Edge(エッジ処理)
  12. 設定・操作の具体例
  13. 類似サービス比較表
  14. ベストプラクティス
  15. トラブルシューティング
  16. 2025-2026 年の最新動向
  17. 学習リソース・参考文献
  18. 実装例・チェックリスト
  19. まとめ

概要

AWS IoT SiteWise とは

AWS IoT SiteWise は、産業用データプラットフォームとして機能し、以下を統合提供します:

  • プロトコル変換: OPC-UA・Modbus・EtherNet/IP → クラウド
  • アセットモデリング: 工場階層構造(Factory → Line → Machine → Sensor)の定義
  • タイムシリーズDB: 高スループット(4000 TPS/アセット)のデータ格納
  • 自動メトリクス計算: OEE・稼働率・エネルギー効率の自動算出
  • Web ダッシュボード: ノーコード SiteWise Monitor でリアルタイム可視化
  • エッジ処理: SiteWise Edge でクラウド非接続時の運用継続
  • 予測分析: 機械学習(SageMaker)との統合

産業 IoT の課題を解決

従来、工場は各機械ごとに独立した制御システムを持ち、データ統一が困難でした。SiteWise は各プロトコルのデータを統一フォーマットで管理し、工場横断の可視化・分析を可能にします。


SiteWise が解決する課題

課題 従来の方法 SiteWise での解決
プロトコル互換性 OPC-UA サーバーは PLC メーカーごと互換性が低い。統一が困難 SiteWise ゲートウェイで複数プロトコルに統一対応
設備階層の表現 Excel で手動管理。階層関係が明確でない アセットモデルで階層を定義。自動インスタンス化
タイムシリーズデータベース 自社構築困難。InfluxDB・Prometheus の運用負荷が高い フルマネージド DB。4000 TPS/アセット対応
メトリクス計算 手動計算・ETL が必要。リアルタイム困難 Expression で自動計算。リアルタイム更新
ダッシュボード開発 Web 開発スキル必要。カスタマイズに時間・コスト SiteWise Monitor でドラッグ&ドロップ構築
異常検知 スクリプトで手動実装。保守困難 IoT Events 連携で自動アラート
クラウド非接続対応 クラウド依存で断線時は停止 SiteWise Edge でローカル処理継続
複数工場の比較分析 各工場のデータフォーマットが異なる SiteWise で統一フォーマット→工場横断 KPI

主な特徴

✅ 産業プロトコル標準対応

  • OPC-UA: 産業用データ交換プロトコルの標準
  • Modbus TCP: レガシー設備でも対応
  • EtherNet/IP: PLC・制御機器の標準
  • Generic modbus/TCP: カスタムプロトコルも可

✅ アセットモデル

  • 設備の階層構造を可視化
  • プロパティ(測定値・メトリクス)を型定義
  • モデルインスタンスで複数設備を一元管理

✅ 高スループットデータベース

  • 4000 TPS/アセット対応
  • インデックスなしで即座にクエリ可能
  • ホット・コールドストレージで費用最適化

✅ リアルタイムメトリクス

  • SQL ライク Expression で複雑計算
  • ウィンドウ関数(1H・1D・1M 集計)対応
  • 自動スケーリング対応

✅ Web ダッシュボード(SiteWise Monitor)

  • ノーコード構築
  • リアルタイムグラフ・ゲージ・テーブル
  • モバイル対応

✅ エッジコンピューティング

  • SiteWise Edge でローカル処理
  • クラウド断線時も自動バッファ・再接続時同期
  • ローカルダッシュボードも可能

アーキテクチャ

全体構成図

graph TB
    subgraph Factory["工場設備層"]
        PLC["PLC / SCADA<br/>OPC-UA サーバー"]
        Sensor["センサー類<br/>温度・圧力・振動"]
        Device["産業デバイス<br/>Modbus TCP"]
    end
    
    subgraph EdgeLayer["エッジ層"]
        Gateway["SiteWise Gateway<br/>(Greengrass ベース)"]
        EdgeCol["OPC-UA Collector"]
        ModbusCol["Modbus Collector"]
        EdgeDB["SiteWise Edge<br/>ローカル DB"]
    end
    
    subgraph Cloud["AWS クラウド"]
        SiteWise["SiteWise Core"]
        AssetModel["Asset Model<br/>階層・プロパティ定義"]
        TimeSeries["Time Series DB<br/>4000 TPS/asset"]
        Metrics["Metrics Engine<br/>計算式"]
        Monitor["SiteWise Monitor<br/>Web Dashboard"]
    end
    
    subgraph Analytics["分析・統合"]
        QuickSight["QuickSight<br/>BI・分析"]
        Events["IoT Events<br/>異常検知"]
        SageMaker["SageMaker<br/>機械学習"]
    end
    
    PLC -->|OPC-UA| Gateway
    Sensor -->|Modbus| Gateway
    Device -->|EtherNet/IP| Gateway
    
    Gateway --> EdgeCol
    Gateway --> ModbusCol
    EdgeCol & ModbusCol --> EdgeDB
    
    EdgeDB -->|同期| SiteWise
    
    SiteWise --> AssetModel
    SiteWise --> TimeSeries
    TimeSeries --> Metrics
    Metrics --> Monitor
    
    SiteWise --> QuickSight
    SiteWise --> Events
    SiteWise --> SageMaker

データフロー(OPC-UA 例)

sequenceDiagram
    participant PLC as OPC-UA Server
    participant GW as SiteWise Gateway
    participant Edge as SiteWise Edge
    participant Cloud as SiteWise Cloud
    participant Monitor as SiteWise Monitor
    
    PLC->>GW: データ発行(温度・圧力)
    GW->>GW: プロトコル変換
    GW->>Edge: エッジに保存
    GW->>Cloud: クラウドに送信
    Cloud->>Cloud: Metrics 計算<br/>OEE = Availability × Performance × Quality
    Cloud->>Monitor: リアルタイム更新
    Monitor->>Monitor: ダッシュボード表示

コアコンポーネント

1. Asset Model(アセットモデル)

工場・生産ライン・機械・センサーの階層構造を定義。各レベルで以下を指定:

  • Properties: 測定値(温度°C・速度 RPM)
  • Metrics: 計算値(OEE・稼働率)
  • Transforms: データ変換(Celsius → Fahrenheit)
  • Measurement: 単位・データ型
{
  "Factory": {
    "Lines": {
      "Line1": {
        "Machines": {
          "Machine1": {
            "SpindleSpeed": {"type": "measurement", "unit": "RPM"},
            "Temperature": {"type": "measurement", "unit": "Celsius"},
            "OEE": {"type": "metric", "expression": "..."}
          }
        }
      }
    }
  }
}

2. Asset(アセット)

アセットモデルのインスタンス。実際の機械・センサー。

例:

  • Asset Model: “CNC Machine”
    • Asset Instance 1: “CNC-Line1-M01”
    • Asset Instance 2: “CNC-Line1-M02”
    • Asset Instance 3: “CNC-Line2-M01”

3. Property(プロパティ)

各アセットのデータポイント。3 種類:

  • Measurement: センサー値(OPC-UA から読み込み)
  • Transform: データ変換式(Celsius → Fahrenheit)
  • Metric: 集計計算(平均・合計・OEE 等)

4. Gateway(ゲートウェイ)

オンプレミス設備とクラウドの架け橋。Greengrass ベースで、以下を実行:

  • OPC-UA Collector: OPC-UA サーバーからデータを定期読み込み
  • Modbus Collector: Modbus TCP デバイスからの読み込み
  • Protocol Conversion: 各プロトコルをクラウド標準フォーマットに変換
  • Local Buffering: ネットワーク断時のデータ保持・再同期

5. SiteWise Monitor

Web ベースの管理・可視化ダッシュボード。

機能:

  • ドラッグ&ドロップでウィジェット配置
  • リアルタイムグラフ・ゲージ・テーブル
  • Asset Hierarchy ツリー表示
  • アラート・イベント表示

6. Data Pipeline

データの流れ:

  • Gateway → Edge DB → Cloud Time Series DB → Metrics → SiteWise Monitor

主要ユースケース

1. 自動車工場の生産効率管理

複数生産ラインの OEE(Overall Equipment Efficiency)をリアルタイム表示。各ラインの稼働率・性能・品質を可視化。

構成:

  • Asset Model: Factory → Line → Machine → Sensor
  • Metrics: OEE = Availability × Performance × Quality
  • SiteWise Monitor: リアルタイム KPI ダッシュボード

2. 化学プラント安全監視

温度・圧力・流量センサーの 24/7 監視。異常値超過時の自動アラート。

実装:

  • Modbus TCP センサー × 1000+ の読み込み
  • SiteWise Edge でローカルバックアップ
  • IoT Events で 150°C 超過時にアラーム

3. 複数工場横断 KPI 管理

5 工場・各 50 ラインのエネルギー消費量を統一フォーマットで管理・比較。

4. 予知保全システム構築

機械の振動・温度・音データを SiteWise で蓄積。SageMaker で異常パターン学習。

5. 製造原価の見える化

各ラインのエネルギー消費・稼働時間・製品数から製品単位原価を自動計算。

6. 規制対応・監査ログ

すべてのセンサー値変化を SiteWise Time Series に記録。年 1 回監査で全ログ提示。

7. デジタルツイン構築

SiteWise データを IoT TwinMaker に連携。3D 工場モデルをリアルタイム更新。

8. スマートビルディング

HVAC・照明・エレベーター等のエネルギー管理。テナント別の自動課金。

9. 建設機械フリート管理

複数建設現場の重機稼働状況を一元監視。予防保全スケジュール最適化。

10. 食品工場・医薬品製造

温度・湿度・pH 等の GMP(医薬品製造基準)コンプライアンス記録。


アセットモデルの設計

アセットモデル定義例

# 自動車工場を例に:
# Factory
#   ├── Line1
#   │    ├── Machine-Stamping-01
#   │    ├── Machine-Stamping-02
#   │    └── Machine-Welding-01
#   └── Line2
#        └── Machine-Assembly-01

# アセットモデル:自動車工場
aws iotsitewise create-asset-model \
  --asset-model-name "AutomobileFactory" \
  --asset-model-description "自動車工場の標準モデル" \
  --asset-model-properties '[
    {
      "id": "factory-name",
      "name": "Factory Name",
      "dataType": "STRING",
      "type": {"attribute": {}}
    },
    {
      "id": "total-oee",
      "name": "Total OEE",
      "dataType": "DOUBLE",
      "unit": "%",
      "type": {
        "metric": {
          "expression": "avg(line_oee)",
          "variables": [
            {"name": "line_oee", "value": {"hierarchyId": "lines"}}
          ],
          "window": {"tumbling": {"interval": "1h"}}
        }
      }
    }
  ]' \
  --asset-model-hierarchy '[
    {
      "id": "lines",
      "name": "Production Lines",
      "childAssetModelId": "<LineModelId>"
    }
  ]'

# アセットモデル:生産ライン
aws iotsitewise create-asset-model \
  --asset-model-name "ProductionLine" \
  --asset-model-description "生産ラインの標準モデル" \
  --asset-model-properties '[
    {
      "id": "line-name",
      "name": "Line Name",
      "dataType": "STRING",
      "type": {"attribute": {}}
    },
    {
      "id": "target-output",
      "name": "Target Output",
      "dataType": "DOUBLE",
      "unit": "units/hour",
      "type": {"attribute": {}}
    },
    {
      "id": "line-oee",
      "name": "Line OEE",
      "dataType": "DOUBLE",
      "unit": "%",
      "type": {
        "metric": {
          "expression": "avg(machine_oee)",
          "variables": [
            {"name": "machine_oee", "value": {"hierarchyId": "machines"}}
          ],
          "window": {"tumbling": {"interval": "1h"}}
        }
      }
    }
  ]' \
  --asset-model-hierarchy '[
    {
      "id": "machines",
      "name": "Machines",
      "childAssetModelId": "<MachineModelId>"
    }
  ]'

# アセットモデル:機械
aws iotsitewise create-asset-model \
  --asset-model-name "Machine" \
  --asset-model-description "工作機械の標準モデル" \
  --asset-model-properties '[
    {
      "id": "machine-id",
      "name": "Machine ID",
      "dataType": "STRING",
      "type": {"attribute": {}}
    },
    {
      "id": "spindle-speed",
      "name": "Spindle Speed",
      "dataType": "DOUBLE",
      "unit": "RPM",
      "type": {"measurement": {}}
    },
    {
      "id": "temperature",
      "name": "Temperature",
      "dataType": "DOUBLE",
      "unit": "Celsius",
      "type": {"measurement": {}}
    },
    {
      "id": "operating-hours",
      "name": "Operating Hours",
      "dataType": "DOUBLE",
      "unit": "hours",
      "type": {"measurement": {}}
    },
    {
      "id": "availability",
      "name": "Availability",
      "dataType": "DOUBLE",
      "unit": "%",
      "type": {
        "metric": {
          "expression": "(operating_time / scheduled_time) * 100",
          "variables": [
            {"name": "operating_time", "value": {"propertyId": "operating-hours"}},
            {"name": "scheduled_time", "value": {"propertyId": "scheduled-hours"}}
          ],
          "window": {"tumbling": {"interval": "1d"}}
        }
      }
    },
    {
      "id": "oee",
      "name": "OEE",
      "dataType": "DOUBLE",
      "unit": "%",
      "type": {
        "metric": {
          "expression": "availability * performance * quality",
          "variables": [
            {"name": "availability", "value": {"propertyId": "availability"}},
            {"name": "performance", "value": {"propertyId": "performance"}},
            {"name": "quality", "value": {"propertyId": "quality"}}
          ],
          "window": {"tumbling": {"interval": "1h"}}
        }
      }
    }
  ]'

アセット(インスタンス)の作成

# Factory インスタンス作成
FACTORY_ID=$(aws iotsitewise create-asset \
  --asset-name "Tokyo-Factory-01" \
  --asset-model-id <AutomobileFactoryModelId> \
  --asset-properties '[
    {
      "id": "factory-name",
      "value": {"stringValue": "Tokyo Factory Line 1"}
    }
  ]' \
  --query 'assetId' \
  --output text)

# Line インスタンス作成
LINE_ID=$(aws iotsitewise create-asset \
  --asset-name "Tokyo-Factory-01-Line-01" \
  --asset-model-id <ProductionLineModelId> \
  --parent-asset-id $FACTORY_ID \
  --asset-properties '[
    {
      "id": "line-name",
      "value": {"stringValue": "Line 1 - Stamping"}
    },
    {
      "id": "target-output",
      "value": {"doubleValue": 500.0}
    }
  ]' \
  --query 'assetId' \
  --output text)

# Machine インスタンス作成
MACHINE_ID=$(aws iotsitewise create-asset \
  --asset-name "Tokyo-Factory-01-Line-01-Machine-Stamping-01" \
  --asset-model-id <MachineModelId> \
  --parent-asset-id $LINE_ID \
  --asset-properties '[
    {
      "id": "machine-id",
      "value": {"stringValue": "STAMP-001"}
    }
  ]' \
  --query 'assetId' \
  --output text)

ゲートウェイとデータ収集

SiteWise Gateway の設定(OPC-UA)

# 1. ゲートウェイの作成
GATEWAY_ID=$(aws iotsitewise create-gateway \
  --gateway-name "TokyoFactory-GW-01" \
  --gateway-platform-details cheOpcUaServerAsSource=true \
  --query 'gatewayId' \
  --output text)

# 2. ゲートウェイ能力設定(OPC-UA データソース)
aws iotsitewise update-gateway-capability-configuration \
  --gateway-id $GATEWAY_ID \
  --capability-namespace "iotsitewise:opcuacollector:2" \
  --capability-configuration '{
    "sources": [
      {
        "name": "PLC-Stamping-Line1",
        "endpoint": {
          "endpointUri": "opc.tcp://192.168.1.100:4840",
          "certificateTrust": {"type": "TrustAny"},
          "securityMode": "Basic256Sha256",
          "securityPolicy": "Basic256Sha256",
          "messageSecurityMode": "SignAndEncrypt",
          "identity": {"type": "UserName", "userName": "plc_user", "password": "xxxxxx"}
        },
        "measurementDataStreamPrefix": "factory/stamping/line1",
        "nodeFilterRules": [
          {
            "action": "INCLUDE",
            "definition": {
              "type": "OpcUaRootPath",
              "rootPath": "/Objects/Machines/StampingLine1"
            }
          }
        ]
      }
    ]
  }'

# 3. ゲートウェイのグループ化
aws iotsitewise create-gateway-group \
  --gateway-group-name "Tokyo-Gateways" \
  --gateway-group-description "Tokyo Factory Gateway Group" \
  --tags '{"Environment":"Production","Site":"Tokyo"}'

Modbus TCP 設定

# Modbus データソース設定
aws iotsitewise update-gateway-capability-configuration \
  --gateway-id $GATEWAY_ID \
  --capability-namespace "iotsitewise:modbus-rtu-collector:2" \
  --capability-configuration '{
    "sources": [
      {
        "name": "PLC-Welding-Line",
        "address": "192.168.1.50",
        "port": 502,
        "baudRate": 9600,
        "dataBits": 8,
        "stopBits": 1,
        "parity": "None",
        "unitId": 1,
        "measurements": [
          {
            "name": "Temperature-Sensor-01",
            "modbusAddress": {"address": 100},
            "dataType": "INT16",
            "scale": 0.1,
            "offset": -40
          },
          {
            "name": "Pressure-Sensor-02",
            "modbusAddress": {"address": 101},
            "dataType": "INT16",
            "scale": 1.0
          }
        ]
      }
    ]
  }'

メトリクス・計算式

OEE(Overall Equipment Effectiveness)計算

OEE = Availability × Performance × Quality
    = (稼働時間 / 計画時間) × (実生産数 / 理論生産数) × (良品数 / 生産数)

SiteWise での Expression:

expression: "(operating_time / scheduled_time) * (actual_output / theoretical_output) * (good_products / total_products) * 100"
variables:
  - name: operating_time
    value:
      propertyId: "availability-hours"
  - name: scheduled_time
    value: 
      propertyId: "scheduled-hours"
  - name: actual_output
    value:
      propertyId: "actual-output"
  - name: theoretical_output
    value:
      propertyId: "theoretical-output"
  - name: good_products
    value:
      propertyId: "good-count"
  - name: total_products
    value:
      propertyId: "total-count"
window:
  tumbling:
    interval: "1h"

ウィンドウ関数

  • Tumbling(固定): 1 時間ごと・完全に独立
  • rolling(スライディング): 直近 24 時間の移動平均

SiteWise Monitor ダッシュボード

Web ベース管理画面

SiteWise Monitor で以下を構築:

  • Asset Tree: 工場・ライン・機械の階層ツリー
  • Time Series Charts: リアルタイムグラフ(温度・圧力等)
  • Gauges: メーター表示(OEE・稼働率)
  • Tables: 詳細データテーブル(過去 24H のデータ)
  • Alarms: 警告・アラート表示

ダッシュボード構築例(AWS CLI)

# ダッシュボード作成
DASHBOARD_ID=$(aws iotsitewise create-dashboard \
  --dashboard-name "Factory-Operations" \
  --dashboard-definition file://dashboard-definition.json \
  --query 'dashboardId' \
  --output text)

dashboard-definition.json 例:

{
  "widgets": [
    {
      "type": "sc-asset-property-line-chart",
      "properties": {
        "title": "Spindle Speed - Line 1",
        "assetId": "asset-xxx",
        "properties": [
          {"propertyId": "spindle-speed"}
        ],
        "period": {
          "type": "RECENT",
          "offset": -86400000
        }
      }
    },
    {
      "type": "sc-kpi",
      "properties": {
        "title": "OEE - Last Hour",
        "assetId": "asset-xxx",
        "property": {"propertyId": "oee"},
        "thresholds": [
          {"value": 0.75, "color": "red"},
          {"value": 0.85, "color": "yellow"},
          {"value": 1.0, "color": "green"}
        ]
      }
    }
  ]
}

SiteWise Edge(エッジ処理)

Greengrass での SiteWise Edge デプロイ

# SiteWise Edge コンポーネントをデプロイ
aws greengrassv2 create-deployment \
  --target-arn arn:aws:iot:ap-northeast-1::thinggroup/sitewise-gateways \
  --components '{
    "aws.iot.SiteWiseEdgeCollectorOpcua": {
      "componentVersion": "2.1.3"
    },
    "aws.iot.SiteWiseEdgeLocalServer": {
      "componentVersion": "1.1.0"
    }
  }'

エッジでのローカルダッシュボード

SiteWise Edge はクラウド接続なしでも以下が可能:

  • ローカル DB にデータ蓄積
  • Expression で Metrics 計算
  • ローカル Web UI でダッシュボード表示
  • 再接続時に自動同期

設定・操作の具体例

CLI: Asset・Property 操作

# アセット一覧
aws iotsitewise list-assets

# 特定アセット詳細
aws iotsitewise describe-asset --asset-id <asset-id>

# アセット属性更新
aws iotsitewise update-asset \
  --asset-id <asset-id> \
  --asset-properties '[
    {
      "id": "location",
      "value": {"stringValue": "Tokyo"}
    }
  ]'

# 時系列データ入力
aws iotsitewise batch-put-asset-property-value \
  --entries '[
    {
      "entryId": "entry-001",
      "assetId": "<asset-id>",
      "propertyId": "spindle-speed",
      "propertyValues": [
        {
          "value": {"doubleValue": 3000.0},
          "timestamp": {"timeInSeconds": '$(date +%s)'},
          "quality": "GOOD"
        }
      ]
    }
  ]'

# 時系列データ読み込み(過去 24H)
aws iotsitewise get-asset-property-value-history \
  --asset-id <asset-id> \
  --property-id "spindle-speed" \
  --start-date 1672531200 \
  --end-date 1672617600 \
  --max-results 100

SDK: Python での自動化

import boto3
import json
from datetime import datetime, timedelta

sitewise = boto3.client('iotsitewise', region_name='ap-northeast-1')

# アセット情報の読み込み
def get_asset_details(asset_id):
    response = sitewise.describe_asset(assetId=asset_id)
    return {
        'name': response['assetName'],
        'properties': response['assetProperties']
    }

# 時系列データ取得
def get_timeseries_data(asset_id, property_id, days=1):
    end_time = int(datetime.now().timestamp())
    start_time = int((datetime.now() - timedelta(days=days)).timestamp())
    
    response = sitewise.get_asset_property_value_history(
        assetId=asset_id,
        propertyId=property_id,
        startDate=start_time,
        endDate=end_time,
        maxResults=1000
    )
    
    return response['assetPropertyValueHistory']

# バッチデータ書き込み
def write_measurement_data(asset_id, property_id, values):
    entries = [
        {
            'entryId': f'entry-{i}',
            'assetId': asset_id,
            'propertyId': property_id,
            'propertyValues': [
                {
                    'value': {'doubleValue': val['value']},
                    'timestamp': {'timeInSeconds': val['timestamp']},
                    'quality': 'GOOD'
                }
            ]
        }
        for i, val in enumerate(values)
    ]
    
    response = sitewise.batch_put_asset_property_value(entries=entries)
    return response['failedEntries']

# 使用例
asset_data = get_asset_details('asset-xxx')
timeseries = get_timeseries_data('asset-xxx', 'spindle-speed', days=1)
print(f"Asset: {asset_data['name']}")
print(f"Data points: {len(timeseries)}")

類似サービス比較表

特性 AWS SiteWise PTC ThingWorx GE Predix Siemens MindSphere
対応プロトコル OPC-UA/Modbus/EtherNet/IP MQTT/HTTP OPC-UA OPC-UA
Asset Modeling ✅ 階層型
メトリクス計算 ✅ Expression
Web Dashboard ✅ SiteWise Monitor
Edge Processing ✅ SiteWise Edge
Time Series DB ✅ 4000 TPS
AWS 統合 ✅ 200+ サービス × × ×
クラウド AWS 独立 Predix クラウド MindSphere クラウド
管理方式 フルマネージド オンプレ/ハイブリッド クラウド クラウド
スケーラビリティ ✅ グローバル

ベストプラクティス

✅ 推奨事項

項目 実装方法
Asset Model 設計 実際の工場階層(Factory → Line → Machine)に合わせる
Property 命名 一貫した命名規則(例:snake_case)。ユニット明示
Metric Expression シンプルで再利用可能。Window(1H/1D)明確化
Gateway 配置 ネットワーク安定性の高い場所。Redundancy 考慮
SiteWise Edge クラウド断線対応に常用。定期的なデータ同期確認
Dashboard デザイン ユーザー視点(現場作業者・管理者等)別に構築
アラート設定 IoT Events で異常閾値を定義。過剰アラート回避
データ保持 ホット(3 ヶ月)・コールド(~3 年)で容量・コスト最適化
バージョン管理 Asset Model 更新時は新バージョン作成。既存アセット互換性確認

トラブルシューティング

よくある問題と解決方法

問題 原因 解決方法
ゲートウェイ接続できない OPC-UA サーバー URL 不正・認証情報エラー ゲートウェイログ確認(/greengrass/v2/logs)
データが到着しない Node Filter Rule が不正・コレクタ無効 Gateway Capability Configuration 再確認
メトリクス計算が遅い Expression 複雑・変数参照エラー CloudWatch Logs で計算時間確認
SiteWise Monitor 重い ダッシュボードにウィジェット多すぎる ページ分割・フィルター追加
Edge データ同期失敗 クラウド接続不安定・バッファ満杯 ネットワーク確認・Edge DB サイズ調整

2025-2026 年の最新動向

  1. AI 異常検知: 機械学習で製造異常を自動検知・予測
  2. Digital Twin 統合: IoT TwinMaker との 3D ビジュアライゼーション
  3. Edge AI: SageMaker Edge モデルのエッジ推論
  4. コスト最適化: Data Pipeline で古いデータの自動アーカイブ
  5. セキュリティ強化: Zero Trust モデルの実装

学習リソース・参考文献

AWS 公式ドキュメント

  1. AWS IoT SiteWise User Guide
  2. Creating Assets and Asset Models
  3. Configuring Data Ingestion
  4. SiteWise Monitor
  5. SiteWise Edge
  6. Pricing

実装例・チェックリスト

SiteWise デプロイ前チェックリスト

計画・設計
  □ Asset Model 階層決定(Factory/Line/Machine/Sensor)
  □ Property・Metric 定義(データ型・ユニット・計算式)
  □ OPC-UA サーバーエンドポイント確認
  □ Gateway 配置計画(ネットワーク・冗長性)

ゲートウェイ準備
  □ Greengrass Core インストール
  □ OPC-UA Collector コンポーネント確認
  □ ネットワーク接続テスト
  □ ファイアウォール設定(4840: OPC-UA, 443: HTTPS)

SiteWise リソース作成
  □ Asset Model 定義
  □ Asset インスタンス作成
  □ Gateway セットアップ(OPC-UA/Modbus)
  □ Capability Configuration 設定

ダッシュボード構築
  □ SiteWise Monitor で初期ダッシュボード作成
  □ Key Widget(OEE・稼働率等)配置
  □ Asset Hierarchy ツリー確認

監視・保守
  □ CloudWatch Logs 有効化
  □ IoT Events で異常アラート設定
  □ Data Retention ポリシー設定

まとめ

AWS IoT SiteWise は、産業用データプラットフォームとして、OPC-UA・Modbus など複数産業プロトコルのデータを統一管理し、アセットモデルで工場階層を表現・タイムシリーズDB で高スループット処理・自動メトリクス計算・Web ダッシュボード・エッジ処理をワンプラットフォーム実現します。

核心的な価値

  1. マルチプロトコル対応: OPC-UA・Modbus・EtherNet/IP を統一処理
  2. アセットモデル: 工場のデジタルツイン化
  3. 自動 メトリクス: OEE・稼働率の自動計算
  4. ノーコードダッシュボード: SiteWise Monitor で技術者不要
  5. エッジ処理: クラウド断線時も自動継続

適用判断

SiteWise を選ぶべき場合:

  • 工場・製造現場のデータ一元管理が必要
  • OPC-UA・Modbus 等レガシー設備が多い
  • メトリクス自動計算・KPI 可視化が要件

最終更新:2026-04-27

バージョン:v2.0