【小ネタ集】AWS IoT SiteWiseのEdgeゲートウェイのバージョンアップと暗号化!!

はじめに

こんにちは、omkです。

IoT SiteWiseのセルフホストのEdgeゲートウェイの新しいバージョンが出ましたね。
出ましたが、じゃあどうやって更新すんの?というところを記します。

また今までOPC UAサーバとAWS IoT SiteWiseで色々検証してきましたが、
どこからでもOPC UAで繋げられる状態だったので署名と暗号化で対応しました(FWは入れてますが)。
暗号化周りの対応についても記します。

シリーズ

PythonでOPC UAで通信してみた
AWS IoT SiteWiseとOPC UAサーバをセルフホストゲートウェイで連携!!
AWS IoT SiteWise Monitorのダッシュボードでアラームを可視化!!(前)
AWS IoT SiteWise Monitorのダッシュボードでアラームを可視化!!(後)
AWS IoT SiteWiseでデータの連携時にLambdaを実行!!
【小ネタ集】AWS IoT SiteWiseのEdgeゲートウェイのバージョンアップと暗号化!! ←今ここ

Edgeゲートウェイのバージョンアップ

セルフホストゲートウェイの実態はGreengrassのコンポーネントです。
Greengrassを介してコンポーネントがデプロイされることでゲートウェイが展開されています。
更にその上位の管理コンソールとしてIoT SiteWiseのゲートウェイのコンソールがあります。

というところを踏まえて、IoT SiteWiseのゲートウェイのコンソールから更新していくといいです。
こんな感じで新しいバージョンが利用できることが表示されます。

「ソフトウェアのアップデートが利用可能」を選択して画面を遷移し、新しいバージョンを選択、デプロイ。

Greengrassでコアデバイスに新しいデプロイが実行されます。
更新できました。

簡単ですね!
動作確認して問題なければOKです。
失敗したり動作に問題あれば切り戻しましょう。

暗号化対応

保存時の暗号化や通信時の暗号化など色々な観点から暗号化は考える必要があります。
エンドツーエンドで見ていきましょう。

以下のドキュメントに記載があります。
https://docs.aws.amazon.com/ja_jp/iot-sitewise/latest/userguide/encryption-at-rest.html
https://docs.aws.amazon.com/ja_jp/iot-sitewise/latest/userguide/encryption-in-transit.html

例として取り扱う構成です(OPC UAのところはEC2で代用していますが物理機器であることが多いと思います)。

まずは、OPC UAサーバのディスクの暗号化ですね。
今回はEBSで作成しているので暗号化出来ます。

次にOPC UAの通信の暗号化ですね。
ここは別途考慮する必要があります。

私が利用している「python-opcua」では暗号化のオプションがありましたのでそれを利用します。

◯サンプル
https://github.com/FreeOpcUa/python-opcua/blob/master/examples/server-with-encryption.py
https://github.com/FreeOpcUa/python-opcua/blob/master/examples/client-with-encryption.py

とすると、OPC UAサーバとAWS IoT SiteWiseのEdgeゲートウェイ間の通信がそのままでは出来なくなります。
Edgeゲートウェイ側でセキュリティモードを合わせてあげましょう。

これで通信出来るようになりました。
……なんで???
相互認証でお互い自動で全部受け入れるようになってるんですかね……?環境によってはもうちょっと対応が要るかもです。

SiteWise Edgeゲートウェイの保管時の暗号化も考える必要があります。
この例ではOPC UAサーバと同じマシンに導入していますので同様にEBSで暗号化しています。

SiteWiseエッジゲートウェイとAWS IoT SiteWiseのサービス間の通信は暗号化されます。
SiteWiseのサービス上でも暗号化して保存されます。

以上、暗号化の対応でした。

おわりに

ちょっとした小ネタでした。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA