SiteWise ゲートウェイの作成

AWS IoT SiteWise ゲートウェイ は、産業用データストリームを取得するためにデータソースに接続します。ゲートウェイは、Greengrass コンポーネントとして AWS IoT Greengrass V2 上で動作します。AWS IoT SiteWise では データ収集パックデータ処理パック が提供されています。データ収集パック は、データを収集し、そのデータをクラウドにエクスポートします。データ処理パック は、ゲートウェイがエッジでデータを処理できるようにします。

データパックは、AWS IoT Greengrass のストリームマネージャーが提供するストリームを使用します。

AWS クラウド内の AWS IoT SiteWise にデータを転送するために、ストリーム SiteWise_Stream が使用されます。また、他の宛先にデータを転送するために、カスタムストリームを作成することもできます。

この章では、AWS IoT SiteWise ゲートウェイを作成し、設定する方法を学びます。

ゲートウェイを作成

このワークショップでは、SiteWise ゲートウェイは Cloud9 環境で代用されます。AWS IoT Greengrass V2 は SiteWise の各種パックと共にインストールする必要があります。

AWS IoT SiteWise コンソールには、入力した情報に基づいてインストーラーを生成するゲートウェイインストールウィザードが用意されています。インストーラーは Greengrass V2 コアデバイスを作成し、産業用ゲートウェイに Greengrass V2 コアソフトウェアをインストールすると共に、Greengrass V2 コンポーネントをデプロイして AWS IoT SiteWise ゲートウェイを作成します。

ターゲットゲートウェイの設定

SiteWise ゲートウェイに以下の OPC-UA データソースを設定します。

  • Node-OPC-UA on localhost port 26543

ゲートウェイのインストーラーを作成

AWS IoT SiteWise コンソールにアクセスしている時に Error configuring sso region というエラーメッセージが表示されたとしても、ワークショップの進行に支障はありません。メッセージは無視してください。

AWS IoT SiteWise コンソール へ移動します。

  1. 左上の 3 本バー をクリック
  2. エッジ の下の ゲートウェイ をクリック
  3. ゲートウェイを作成 をクリック
    • Greengrass バージョンの選択が出た場合は Greengrass v2 (推奨) をクリック
  4. ゲートウェイ名: sitewise-workshop-Gateway と入力
  5. Greengrass コアデバイス: デフォルトセットアップ を選択
  6. コアデバイス名: SiteWise-Core と入力
  7. 次へ をクリック
  8. エッジ機能: データ処理パック が非選択であることを確認
  9. 次へ をクリック
  10. データソースを追加 をクリック
    • ソース名: Node-OPC-UA on localhost port 26543 と入力
    • ローカルエンドポイント: opc.tcp://localhost:26543 と入力
    • 送信先: AWS IoT SiteWise を選択
    • 追加 をクリック
  11. 次へ をクリック
  12. ゲートウェイデバイス OS: Amazon Linux を選択
  13. 生成 をクリック
  14. SiteWise Edge インストーラを生成 ダイアログで 承認 をクリック

インストーラーが生成されると、保存するように指示されるので ファイルを保存 をクリックしてローカルに保存します。

インストーラーの命名規則は Gateway_Name.deploy.sh です。ゲートウェイ名を sitewise-workshop-Gateway とした場合、インストーラーのファイル名は sitewise-workshop-Gateway.deploy.sh となります。

インストーラーをアップロード

Cloud9 環境にインストーラーをアップロードします。

  1. Cloud9 環境へ移動
  2. FAVORIES の下のフォルダ /home/ec2-user を展開し、sitewise を選択
  3. File をクリックし、Upload Local Files… を選択
  4. Upload Files ウィンドウに sitewise-workshop-Gateway.deploy.sh をドラッグ&ドロップ
  5. アップロードが完了したら、ウィンドウを閉じる

左側のペインに FAVORIES が表示されていない場合は、歯車のアイコンをクリックし、Show Home in Favorites を選択してください。

インストーラーを実行

Cloud9 ターミナルでインストーラーを実行します。インストーラーを実行するには、Cloud9 ターミナルで以下のコマンドを実行します。

cd ~/sitewise
chmod +x sitewise-workshop-Gateway.deploy.sh
sudo ./sitewise-workshop-Gateway.deploy.sh

インストーラーが正常に実行されると、以下のようなメッセージが表示されます。

Successfully set up Nucleus as a system service

インストール結果を確認

インストール結果を確認するには、Greengrass コアが作成され、コンポーネントがデプロイされていることを確認します。

AWS IoT Greengrass コンソール へ移動します。

  1. Greengrass の下の コアデバイス をクリック
    • SiteWise-Core が作成されていることを確認
  2. Greengrass の下の デプロイ をクリック
  3. ターゲット名 SiteWise-Core の左側のリンクをクリック
  4. コンポーネント の下に以下の SiteWise コンポーネントがあることを確認
    • aws.iot.SiteWiseEdgeCollectorOpcua
    • aws.iot.SiteWiseEdgePublisher

産業用ゲートウェイで Greengrass コアソフトウェアが動作していることを確認するために、Cloud9 ターミナルで以下のコマンドを実行します。

ps aux |grep green

AWS IoT Greengrass コアソフトウェアに関連するプロセスが表示され、以下のような内容が確認できます。

root     19785  0.0  0.0 124064  3004 ?        Ss   13:38   0:00 /bin/sh /greengrass/v2/alts/current/distro/bin/loader
root     19817 12.3  8.8 3636200 351320 ?      Sl   13:38   0:20 java -Dlog.store=FILE -Dlog.store=FILE -Droot=/greengrass/v2 -jar /greengrass/v2/alts/current/distro/lib/Greengrass.jar --setup-system-service false
root     19945  0.0  0.1 133436  6828 ?        S    13:38   0:00 sudo -n -E -H -u ggc_user -g ggc_group -- sh -c java  -cp /greengrass/v2/packages/artifacts/aws.greengrass.StreamManager/2.0.12/aws-iot-device-sdk.jar:/greengrass/v2/packages/artifacts/aws.greengrass.StreamManager/2.0.12/AWSGreengrassGreenlake-1.0-super.jar com.amazonaws.iot.greengrass.streammanager.StreamManagerService
ggc_user 19950  3.7  4.2 3640992 167704 ?      Sl   13:38   0:04 java -cp /greengrass/v2/packages/artifacts/aws.greengrass.StreamManager/2.0.12/aws-iot-device-sdk.jar:/greengrass/v2/packages/artifacts/aws.greengrass.StreamManager/2.0.12/AWSGreengrassGreenlake-1.0-super.jar com.amazonaws.iot.greengrass.streammanager.StreamManagerService
root     19972  0.0  0.1 133436  6768 ?        S    13:38   0:00 sudo -n -E -H -u ggc_user -g ggc_group -- sh -c java -cp /greengrass/v2/packages/artifacts/aws.iot.SiteWiseEdgeCollectorOpcua/2.0.1/IotSiteWiseOpcUaCollector-1.0-super.jar com.amazon.iot.sitewise.component.collector.OpcUaCollector
root     19973  0.0  0.1 133436  6784 ?        S    13:38   0:00 sudo -n -E -H -u ggc_user -g ggc_group -- sh -c java -cp /greengrass/v2/packages/artifacts/aws.iot.SiteWiseEdgePublisher/2.0.1/IotSiteWisePublisher-1.0-super.jar com.amazon.iot.sitewise.component.Publisher
ggc_user 19978  3.5  4.4 3596592 177516 ?      Sl   13:38   0:04 java -cp /greengrass/v2/packages/artifacts/aws.iot.SiteWiseEdgeCollectorOpcua/2.0.1/IotSiteWiseOpcUaCollector-1.0-super.jar com.amazon.iot.sitewise.component.collector.OpcUaCollector
ggc_user 19982  4.0  3.9 3598928 156700 ?      Sl   13:38   0:05 java -cp /greengrass/v2/packages/artifacts/aws.iot.SiteWiseEdgePublisher/2.0.1/IotSiteWisePublisher-1.0-super.jar com.amazon.iot.sitewise.component.Publisher
ec2-user 20123  0.0  0.0 119420   992 pts/2    S+   13:41   0:00 grep --color=auto green

ログファイル

Greengrass と SiteWise コンポーネントのログファイルは /greengrass/v2/logs ディレクトリに保存されます。エラーが発生した場合、これらのディレクトリのログファイルを調べてください。注意: ログディレクトリにアクセスするには、root ユーザーに切り替える必要があります。

sudo su -
cd /greengrass/v2/logs/

以下のログファイルが特に重要です。

  • greengrass.log: AWS IoT Greengrass のログ
  • aws.iot.SiteWiseEdgeCollectorOpcua.log: OPC-UA サーバーからデータを収集する SiteWise コンポーネントのログ
  • aws.iot.SiteWiseEdgePublisher.log: クラウド上の SiteWise データストアにデータを送信する SiteWise コンポーネントのログ

次のセクションでは、OPC-UA サーバーを起動します。