2.9 「コンフィグマネージャー」 を利用する

本チュートリアルでは、 IoT Connect Gateway の 「コンフィグマネージャー」 に関する設定についてご説明いたします。

「コンフィグマネージャー」 機能の全体構成

おおよその構成概念は以下のようになります。

ポリシー:エントリーポイントへの設定
└プロファイル:以下の要素を取りまとめる機能
  ├ テンプレート:どういった設定ファイル(例:httpd.conf, sshd_config)を取得させるのか
  ├ 共通パラメータ:設定ファイル内で共通の可変項目を設定する機能
  └ デバイスグループ:デバイス固有の設定および取得しにくるデバイスを特定する機能
  • 1つの ポリシー に対し、1つの プロファイル を選択します。

    • ポリシー と プロファイル は、N:Nの関係ですが、同時に複数の プロファイル を割り当てる事は出来ません。
      • ですので、1つの ポリシー で、別の プロファイル に切り替える事も可能ですし、 プロファイル は別の ポリシー に割り当てる事も可能です。
  • 1つの プロファイル の中には、

    • テンプレート
    • 共通パラメータ
    • デバイスグループ

    を設定します。

    これらもN:Nの関係になります。 テンプレート 以下の3要素は、別の プロファイル にも割り当てる事が可能です。

      • 「 プロファイル A 」に
        • テンプレート A
        • 共通パラメータ A
        • デバイスグループ A

        が設定されていても、

      • 「 プロファイル B 」に
        • テンプレート A
        • 共通パラメータ A
        • デバイスグループ B

        と、 「テンプレート」 「共通パラメータ」 を流用することも可能です。 「デバイスグループ」 も流用可能です。

      但し、 「テンプレート」 の設定の中で参照しているパラメータ値が、 「共通パラメータ」 や 「デバイスグループ」 の設定中に存在している前提となります。

注釈

  • 全体の設計を行った上で、各要素について詳細の設定に移るのがよいでしょう。
    1. どのような設定ファイルを取得させるのか( 「テンプレート」 機能)
    2. グループごとに共通で変動する値はどれか( 「共通パラメータ」 機能)
    3. デバイス固有の変動値はあるか( 「デバイスグループ」 機能)
  • このように全体の設計を行い、 「コンフィグマネージャー」 への設定は、最小単位の 「デバイスグループ」 機能から設定することをお薦めします。

「デバイスグループ」 とは

  • 「コンフィグマネージャー」 機能の中では、最小単位の概念となります。
    • 設定ファイルを要求するSIMまたは 仮想コネクション を特定します。
    • SIMまたは 仮想コネクション それぞれの固有の値を設定します。

まずは左メニューから、「パラメータ」 をクリックします。

パラメータメニュー

「デバイスグループ」 タブをクリックし、新規作成ボタンをクリックします。

デバイス新規作成ボタン

「デバイスグループ」 新規作成時の画面となります。

デバイス新規作成(編集)
  • デバイスグループ 名(必須)

    デバイスグループ 名を入力します。任意の分かりやすい名称を付けてください。

  • 説明

    任意項目です。用途に応じて分かりやすい内容を設定ください。

  • ラベル

    任意項目です。検索時に利用するラベルですので、分類など必要な際に入力ください。項目にカーソルを当てると、既存の入力内容が表示されます。そちらから選択するか、新規に入力も可能です。

  • デバイス(必須)

    設定ファイルを要求するSIMまたは 仮想コネクション を特定します。

    • SIMの場合 : 「SIM管理」 ボタンをクリックします。
    • 仮想コネクション の場合 : 「仮想コネクション」 ボタンをクリックします。

    上記ボタンをクリックすると、以下の画面に遷移します。

    SIMの場合

    SIM管理

    仮想コネクション の場合

    vconn管理

    左側のチェックボックスにて、任意の設定ファイルを要求するSIMまたは 仮想コネクション を選択し、右下の「保存」ボタンを押すと元の画面に戻ります。

    元の画面に戻ると、「デバイス」項目に選択したSIMまたは 仮想コネクション が表示されます。(上段の赤枠) 「デバイスの情報を反映」ボタンを押すと(中段の赤枠)内容エリアに、選択されたSIMまたは 仮想コネクション が反映されます。

    SIM管理
  • 内容(必須)

    ここでデバイス個別の値を設定します。

    デバイス編集

    赤枠のように、Json形式にて、自由に記載が出来ます。

必要な情報の設定が終わりましたら、「作成」ボタンを押します。

注釈

ここで設定したキーの値を、後述する 「テンプレート」 機能で参照します。その際に、

device.{設定したキー名}

にて、値を参照することになります。上述の例で行くと、

device.imsi
device.name

となります。 「デバイスグループ」 機能で設定する可変パラメータは、予約語として、

device

がつく事を覚えておいてください。

「共通パラメータ」 とは

この 「共通パラメータ」 が所属する 「テンプレート」 全てに影響するパラメータを設定する部分となります。

まずは左メニューから、「パラメータ」 をクリックします。

パラメータメニュー

「共通パラメータ」 タブをクリックし、新規作成ボタンをクリックします。

共通パラメータ新規作成

「共通パラメータ」 新規作成時の画面となります。

共通パラメータ新規作成(編集)
  • 「共通パラメータ」 名(必須)

    共通パラメータ 名を入力します。任意の分かりやすい名称を付けてください。

  • 説明

    任意項目です。用途に応じて分かりやすい内容を設定ください。

  • ラベル

    任意項目です。検索時に利用するラベルですので、分類など必要な際に入力ください。項目にカーソルを当てると、既存の入力内容が表示されます。そちらから選択するか、新規に入力も可能です。

  • 内容(必須)

    ここでパラメータ値を設定します。

    共通パラメータ編集

    赤枠のように、Json形式にて、自由に記載が出来ます。

必要な情報の設定が終わりましたら、「作成」ボタンを押します。

注釈

ここで設定したキーの値を、後述する 「テンプレート」 機能で参照します。その際に、

global.{設定したキー名}

にて、値を参照することになります。

「共通パラメータ」 機能で設定する可変パラメータは、予約語として、

global

がつく事を覚えておいてください。

「テンプレート」 とは

配信される設定ファイルの本体とも言える設定項目となります。

まずは左メニューから、「パラメータ」 をクリックします。

パラメータメニュー

「テンプレート」 タブをクリックし、新規作成ボタンをクリックします。

共通パラメータ新規作成

「テンプレート」 新規作成時の画面となります。

テンプレート新規作成
  • 「テンプレート」 名(必須)

    テンプレート 名を入力します。任意の分かりやすい名称を付けてください。

  • 説明

    任意項目です。用途に応じて分かりやすい内容を設定ください。

  • ラベル

    任意項目です。検索時に利用するラベルですので、分類など必要な際に入力ください。項目にカーソルを当てると、既存の入力内容が表示されます。そちらから選択するか、新規に入力も可能です。

  • 内容(必須)

    ここで設定ファイルの内容を記載します。

    配信したい設定ファイルの形式が基本となります。Jinja2形式での記述となります。

    SIMの情報など プレースホルダ 機能も利用可能です。詳しくは、こちらの プレースホルダ を参照ください。

必要な情報の設定が終わりましたら、「作成」ボタンを押します。

「プロファイル」 とは

「プロファイル」 とは、事前に設定済みの、 テンプレート ID、 共通パラメータ ID、 デバイスグループ IDを組み合わせる機能となります。

例えば、デバイスグループ IDのみ変更することで、対象になるSIMまたは 仮想コネクション 群を変更する事も可能ですし、デバイスグループ IDは同一のまま、 テンプレート ID、 共通パラメータ IDを変更することで、違う設定を同一のSIMまたは 仮想コネクション 群に配する事も可能となります。

まずは左メニューから、「プロファイル」 をクリックし、新規作成ボタンをクリックします。

プロファイルメニュー

「プロファイル」 新規作成時の画面となります。

プロファイル新規作成
  • 「プロファイル」 名(必須)

    プロファイル 名を入力します。任意の分かりやすい名称を付けてください。

  • 説明

    任意項目です。用途に応じて分かりやすい内容を設定ください。

  • テンプレート ID

    テンプレート のIDをドロップダウンリストボックスから選択します。リストボックス右のアイコンをクリックすると、内容をプレビュー出来ます。必須です。

  • 共通パラメータ ID

    共通パラメータ のIDをドロップダウンリストボックスから選択します。リストボックス右のアイコンをクリックすると、内容をプレビュー出来ます。

  • デバイスグループ ID

    デバイスグループ のIDをドロップダウンリストボックスから選択します。リストボックス右のアイコンをクリックすると、内容をプレビュー出来ます。必須です。

  • チェックボタン

    必須項目を入力後、チェックボタンを押すと、一つのSIMまたは 仮想コネクション を例に、内容のチェックを行います。

    こちらのチェックが通らないと、実際には動かない設定になりますので、必ずチェックを行います。

    既に 「デバイスグループ」 作成時に選択したSIMまたは 仮想コネクション が、ドロップダウンリストボックスの中に表示されていますので、その中から任意のSIMのIMSI番号または 仮想コネクション IDを、一つ選んで「チェック」ボタンをクリックします。

    チェック用ドロップダウンリストボックス

    成功すると以下のような画面に変わります。

    チェックOK画面

    ここでエラーになった場合、テンプレート 共通パラメータ デバイスグループ のそれぞれの関係性に何かしら問題がありますので、各項目を修正してください。

必要な情報の設定が終わりましたら、「作成」ボタンを押します。

「生成」とは

ここまでで、設定準備は完了しましたが、肝心のデバイスごとの設定ファイル用データを作成するのが「生成」機能となります。

この「生成」を行わないと、実際にデバイスが取りに来るデータが存在しないことになりますので、必ず実施します。

  • プロファイル の一覧画面から、「生成」する プロファイル を、赤枠の表示ボタンから選択します。鉛筆アイコンをクリックすると、プロファイル 自体の編集画面に遷移しますので、ご注意ください。

    プロファイル生成用選択画面
  • 以下の画面に遷移します。プロファイル の新規作成完了後も同様の画面になりますので、新規作成と同時に生成も可能です。

    生成画面

    「生成」ボタンをクリックすると、確認画面が表示されます。

    生成確認画面

    成功すると「success」のメッセージがポップアップ表示されます。生成するSIMまたは 仮想コネクション の数に応じて、時間がかかる処理となります。

注釈

既に生成済みの 「プロファイル」 で選択している 「テンプレート」 「共通パラメータ」 「デバイスグループ」 の内容を編集したあとは、必ず再生成が必要になります。

再生成は、「プロファイル」 の保存時には自動的に行われますが、 「テンプレート」 「共通パラメータ」 「デバイスグループ」 の内容を編集したあとは、 「プロファイル」 に変更がなかったとしても、再生成ボタンを押下し、再生成を行ってください。

「 プロファイル セット」とは

注釈

この機能は必須の設定ではありません。

プロファイル セットとは、一度生成した設定ファイルデータの組み合わせ( 「テンプレート」 「共通パラメータ」 「デバイスグループ」 )を保存する機能です。5世代まで保存出来ます。

例えば、バージョンが違う設定ファイルを配信する際に、以前のバージョンも保管しておいて、問題が発生した場合に元に戻すような場合に利用出来ます。

「生成」は事前に実行しておいてください。 未生成の場合は、プロファイル セットを追加出来ません。

まずは左メニューから、「プロファイル」 をクリックし、プロファイル セットを編集したい行の、表示ボタンをクリックします。

プロファイルメニュー
  • 以下の画面に遷移します。

    プロファイルメニュー
  • 「Profile Set を保存」をクリックします。

    プロファイルセット一覧
  • 以下の画面に遷移します。

    プロファイル設定入力画面
  • Profile Set名

    Profile Setの名称を入力します(必須)

  • Profile Set詳細

    詳細説明を入力します。

必要な情報の設定が終わりましたら、「保存」ボタンを押します。

追加されますと、以下のようにリストに表示されます。

プロファイルセット一覧(追加後)

「ポリシー」 とは

「ポリシー」 は、デバイスからアクセスする エントリーポイント を設定する機能となります。こちらで 「ポリシー」 を設定しないと、実際にはデバイスからアクセス出来ません。

以下画面は、新規作成時のものです。

まずは左メニューから、「ポリシー」 をクリックし、新規作成ボタンをクリックします。

ポリシーメニュー

以下の画面に遷移します。

ポリシー新規作成
  • ポリシー 名(必須)

    ポリシー 名を入力します。任意の分かりやすい名称を付けてください。

  • エントリーポイント (必須)

    エントリーポイント を入力します。先頭には"/(半角スラッシュ)"が必要です。 例えば、Webサーバーの設定ファイルを扱う場合は、

    /httpd.conf
    

    などと設定します。

  • 有効

    トグルスイッチを有効(青)の状態すると、設定が有効になります。初期値は「無効」です。「有効」にする度に、月額料金に関するメッセージが表示されます。

    「有効」トグルスイッチをオンにすると以下のポップアップが表示されます。

    ポリシー有効

    警告

    テナントIDごとに1つのポリシーは無料でお使いいただけますが、2つ目以降のポリシーについては月額料金が発生します。

  • プロトコル(必須)

    現在、HTTPプロトコルのみの設定となります。HTTPプロトコルを選択ください。

  • プロファイルID(必須)

    「プロファイル」 機能にて設定したプロファイルIDを指定します。

必要な情報の設定が終わりましたら、「作成」ボタンを押します。

変更ステータスの取得方法について

コンフィグマネージャー 機能は、あくまでデバイス側からのリクエストに応じて、 IoT Connect Gateway がレスポンスを返す仕組みになっています。

その為、毎回実際の設定ファイルを取得するリクエストを発行すると、内容自体に変更がなくとも、実際の設定ファイルの容量分、 IoT Connect Mobile® Type S のデータ通信料や、 IoT Connect Gateway の利用料が発生してしまうことになります。

そこで コンフィグマネージャー 機能では、更新日時を取得する特殊なリクエストをご用意しました。

実際の設定方法

「ポリシー」 機能にて、エントリーポイントを

/httpd.conf

と設定した場合、設定ファイルへのリクエストは、

curl -L config-an1.icgw.ntt.com/httpd.conf

となりますが、/httpd.conf の前に、 /status を追記すると、更新日時の取得が可能となります。

curl -L config-an1.icgw.ntt.com/status/httpd.conf

このリクエストを発行すると、以下のようなレスポンスが返ってきます。

{
    "updatedAt": "2022-07-25T06:36:32.309Z",
    "url": "http://config-an1.icgw.ntt.com/httpd.conf"
}

デバイス側にて、この更新日時を保存しておき、定期的に /status を付与したリクエストを送信します。その後、前回保存しておいた更新日時と差分が発生した場合に、ファイル設定の取得リクエストを送信するのがよいと思われます。

注釈

以下のように、個別のエントリーポイントを指定せずに、/status をリクエストすると、

config-an1.icgw.ntt.com/status

設定済みの全ての ポリシー について、更新日時を返却します。

この方式ですと、以下の例のように ポリシー 名も付与した形での返却となります。

{
    "httpd Config": {
        "updatedAt": "2022-07-25T08:10:15.186Z",
        "url": "http://config-an1.icgw.ntt.com/httpd.conf"
    },
    "TEST2": {
        "updatedAt": "2022-07-25T08:10:15.186Z",
        "url": "http://config-an1.icgw.ntt.com/TEST2.conf"
    }
}

ご利用形態に合わせて、お使いください。