システムからエンドユーザーまでの全体図
obniz-app-sdkを使用する場合は、図のような構成が可能です。
⚠obniz.jsのみを使用する場合やWebSocket APIを直接使用する方は、スケーリング周りの処理を独自実装していただく必要があります。
workerがobnizデバイス1台分のプログラムです。
AppインスタンスがobnizCloudと連携し、obnizCloud上でアプリがデバイスにインストール/アンインストールされると、それに連動してworkerの生成/削除を行います。
Appインスタンスを通じてworkerインスタンスと情報のやり取りができるので、たとえばAPIが叩かれたらAppインスタンスを通じて最新のデバイス状態を確認し、その情報を返す、なども可能です。
obnizへの接続
obnizのセットアップ
obnizデバイスを操作するためには、obnizデバイスがobniz Cloudに接続されている必要があります。
アプリからobniz Cloudへの接続経路
緑線で囲われている、アプリサーバー(obniz-app-sdk slave)からobniz Cloudへの接続はアウトバウンド(中から外)で行われます。
obnizからアプリサーバーに直接接続したり、その逆もありません。obniz Cloud(※1)を経由することによりNAT超えを不要にしています。
その為、ポート開放などを行う必要はありません。
※1 obniz CloudはAPIサーバーの他にTURNサーバーとしても稼働しています。
アウトバウンドのファイアウォールを設定する場合
https://api.obniz.com:443 及び https://obniz.com:443 へのアクセスを許可してください。