通貨に関する注記。 数値は 2026-10 に中国の公開チャネルから収集したものです。価格が CNY で示されている場合、USD の数値は固定の 2026-10 参照レートで換算しています: 1 USD ≈ 6.71 CNY。ハードウェア価格は桁感を示す目安であり、調達の推奨ではありません。
「データは工場の外に出してはならない」。これは産業用 IoT の入札で一行として現れ、通常は技術仕様書の第 3 条にあり、それ以上の説明はありません。インテグレーターは落札し、産業用 PC を購入し、IoT プラットフォームのオンプレミス版をインストールし、受け入れを通過し、作業は完了したように見えます。
問題は、その文が説明しているのは データがどこに存在するかだけだということです。それは データが工場内でどのように移動するかについては何も述べていません。7 つのコンテナからなるプラットフォームを現場ネットワークに配置すると、データがローカルに留まるからといって疑問が消えるわけではありません — MQTT は平文か、誰がオブジェクトストレージのコンソールに到達できるか、履歴テーブルは 12 か月後にどれくらいの大きさになるか。データを集中化すると、内部の攻撃対象領域は縮小するのではなく、むしろ拡大する傾向があります。
本記事では、ThinkLink Edge(TKE)のデプロイメントを、実際に起こる順序で説明します。焦点はインストールコマンドではなく、通常は 後 に発見され、本来はマシンを発注する前に決めておくべき事柄の集合です。
1。何かを購入する前に:TKE が必要かどうかを決める 3 つの質問
ThinkLink は 3 つのデプロイ形態で提供されます:パブリッククラウド SaaS(Cloud)、ローカルサーバー上でのセルフホスト(TKE / ThinkLink Edge)、ゲートウェイ内への組み込み(TKG)。3 つとも同じデバイスモデル、RPC 定義、トリガーロジックを共有し、アセットはそれらの間で移行できます。だからこそ、ある程度までは決定を先送りしても安全なのです。
| 項目 |
Cloud |
TKE(Edge) |
TKG(ゲートウェイ内) |
| 実行場所 |
パブリッククラウド SaaS |
ローカルサーバー / 産業用 PC、セルフホスト |
ManThink ゲートウェイ内(例:GDO51 / GDI51) |
| デバイス上限 |
1,000(無料、永久) |
1,000 |
100 |
| データスループット |
約 100k メッセージ/日 |
明示された上限なし |
約 10k メッセージ/日 |
| 参考ハードウェア |
購入不要 |
8 コア / 8 GB / 64 GB ストレージ |
統合済み(GDI51 は 32 GB eMMC を搭載) |
| 接続性 |
パブリックインターネットが必要 |
ローカル、オフラインで動作 |
ローカル、パブリックインターネット不要 |
| 最適な用途 |
評価、小規模パイロット |
データのローカライズ、中堅・大企業、プライベートネットワーク |
小規模プライベートデプロイ、ブラウンフィールド改修、追加サーバー不要 |
最初に答えるべき 3 つの質問:
本当に TKE が必要ですか? 100 デバイス未満かつ 1 日 10k メッセージ未満であれば、TKG はネットワークサーバーをゲートウェイに直接組み込みます — 追加サーバーもサーバー調達サイクルも不要です。「データは工場の外に出してはならない」という要件の多くは、実際には生産データをパブリックインターネットの出口から外に出さないことであり、TKG はまったく異なるコスト構造でそれを満たします。
1 日 10k メッセージのどちら側にいますか? その線が TKG と TKE を分けます。1,000 台のデバイスが 10 分ごとに報告すると 1 日 144,000 メッセージになります — Cloud の参考密度を超え、TKG をはるかに超えます。50 台のメーターが 1 時間ごとに報告すると 1 日 1,200 になり、TKG はこれを余裕で処理します。
その後、このマシンの所有者は誰ですか? TKE は継続的な運用コミットメントです:OS パッチ、Docker エンジン、7 つのコンテナ、証明書の更新、バックアップ。顧客の IT 部門が所有権を明示的に受け入れていなければ、あなたは所有者のいないサーバーを作ったことになり、通常は 2 年目にディスクが満杯になったときに発覚します。
2。ハードウェア選定:x64 は推奨ではなく厳格な制約
公式ドキュメントには TKE のハードウェア要件について 2 つの異なる記述があり、それらは一致していません。予算を確定する前に整理しておく価値があります。
記述 A(製品比較表): 参考ハードウェア 8 コア / 8 GB RAM / 64 GB ストレージ、最小 2 コアおよび 2 GB、アーキテクチャは ARM64 / x64と記載。
記述 B(Docker デプロイマニュアル、インストールフロー更新 2026-09-11、TLS セクション更新 2026-10-22):
| 項目 |
要件 |
| 権限 |
root(インストールコマンドは sudo を使用) |
| CPU アーキテクチャ |
x64 のみ(x86_64 / amd64)、最小 2 コア |
| RAM |
最小 4 GiB |
| ディスク |
最小 20 GiB を保持するファイルシステム上の空き /opt |
| ネットワーク |
HTTPS アクセス先 package.think-link.net オンラインインストール用;オフラインターゲットはインターネット不要 |
| 明示的に非サポート |
ARM、ARM64、32 ビット x86 |
2 つの記述は 3 点で一致していません:RAM が 2 GB か 4 GB か、ディスクが 64 GB か 20 GB か、そして — 最も重大なことに — ARM がそもそも動作するかどうか。
記述 B に従ってください。 理由は 3 つ:
- 記述 B はデプロイマニュアル自体に由来し、インストーラーが実際に照合する内容です;満たさないとインストールは終了します。記述 A は比較表の要約行です。
- 記述 B はより厳格な制約です。7 つのコンテナが同時に実行されます — EMQX、NS ブリッジ、PostgreSQL、Redis、ThinkLink、ThinkOne、MinIO。2 ギガバイトではその規模で余裕が残りません。
- ステートメントBはARM、ARM64、32ビットのx86を非対応として明示的に列挙し、さらにその制限がワンラインのオンラインインストールとスクリプトによるオフラインインストールの両方に適用されることを別途注記している。これほど具体的な文言は、通常、実際に試した経験から来るものである。
この制約は国産CPUの義務化と真っ向から衝突する。 中国製CPUは二つの陣営に分かれる:
| 陣営 |
代表的な製品 |
TKEで動作するか? |
| x86 |
Zhaoxin KX-6000/KX-7000、Hygon 3000/5000シリーズ |
はい — アーキテクチャは互換性あり |
| ARM |
Phytium FT-2000/4およびD2000、Kunpeng 920、Rockchip RK3568/RK3588 |
いいえ — 非互換 |
国産化の義務化がARM陣営に及ぶ場合、TKEは選定の段階で除外すべきであり、マシンが届いて uname -m prints aarch64と表示されてからではない。x86陣営はそのまま動作する — Hygon 3350(8コア / 16スレッド、3.0 GHz)はx86_64である。
2026-10に公開チャネルから収集した参考価格:
| 構成 |
用途 |
参考価格 |
| 4Uラックマウント、i5-6500U / 8 GB / 1 TB |
概念実証(2コア、まさに最小構成ちょうど) |
約$477(¥3,200) |
| 産業用PC、Hygon 3350(8C/16T) / 16 GB / 1 TB SSD |
本番環境に推奨 |
約$1,550–1,700(¥10,400–11,400) |
| 同上、国産OSライセンス付き |
国産化義務化プロジェクト |
約$1,950(¥13,100) |
最初の階層はPOCマシン専用である。i5-6500Uは2コア/4スレッドで、まさに明記された最小構成であり、ディスクより先にCPUがボトルネックになる。
この記事の知識をプロジェクトに活かす
ManThink(門思科技)は、デバイス接続、ネットワーク、データ活用に向けたIoT製品を提供しています。この記事の技術情報とあわせて、以下の製品情報をご覧ください。
GD71 屋内用 LoRaWAN ゲートウェイ · ThinkLink
ManThinkの製品を確認し、プロジェクトを相談する →
3。ディスクの計算:20 GiBは入場券であり、計画ではない
20 GiBのチェックはインストーラの入場ゲートである。実際の消費量は三つの要因から生じる。
七つのコンテナイメージ。 2026-09-11 で受け入れられるオフラインバンドル(バージョン用) 2.00.062 についてです 2.45 GBであり、アプリケーションアーカイブ、Composeファイル、七つのイメージアーカイブを保持している — 合計九ファイル。以降のバージョンでは異なる。
データベースの増加。 1,000台のデバイスが10分ごとに報告する場合、1日あたり144,000行となる。インデックスを含めて1行あたり約1 KBとすると、約144 MB/日、つまり年間約52 GBとなる。PostgreSQLのWAL、インデックスの肥大化、履歴クエリのオーバーヘッドを加えると、通常の実務ではその二倍から三倍を確保する。
MinIOオブジェクトストレージ。 レポートと画像はDockerの名前付きボリューム minio_dataに格納される。これは業務がレポートを生成するかどうか、またその頻度によって大きく変動する。
これらを合計すると、20 GiBでは数か月分をカバーする。 本番環境では1 TB SSDに移行すること。 価格差は上記の表にあり、プロジェクト全体の価値に比べれば取るに足らない。代替案は二年目のオンライン容量拡張である。
見落としやすい点が一つある: オブジェクトファイルはDockerの名前付きボリュームに格納されるため、定期的なバックアップはそのボリュームを対象としなければならない; /opt ディレクトリのみのバックアップではオブジェクトデータの代わりにはならない。 ディレクトリパスを走査するだけのバックアップスクリプトは、すべてのレポートファイルを黙って失う。
4。ポート計画:「工場の外に出ない」は「ネットワーク上にない」と同じではない
これは二度読む価値のあるセクションである。オンプレミス展開はデータの所在を解決する。しかしデフォルトのインストールはホスト上に一連のポートを開き、そのかなりの割合が平文である。
まずHTTPインストールを完了し、その後tkl-tls 2.0.0でHTTPSを設定する — これが文書化された順序である。ホストの受信ポート:
| ポート |
プロトコル |
用途 |
備考 |
| 80(または8080) |
TCP |
HTTP経由のThinkLink Web / API |
元のエントリ;80が使用中の場合、インストーラは対話的に8080を提示する;TLS後も維持される |
| 443 |
TCP |
HTTPS経由のThinkLink Web / API |
tkl-tls 2.0.0がコンテナ内のNginxを設定すると有効になる |
| 1700 |
UDP |
LoRaWAN GWMPゲートウェイアップリンク |
ゲートウェイのアクセス要件に応じて開放 |
| 1883 |
TCP |
デバイスMQTT(平文) |
デバイスのアクセス要件に応じて開放 |
| 8883 |
TCP |
デバイスMQTTS |
デフォルトでは公開されない;EMQXで個別に設定・検証すること |
| 8083 |
TCP |
WebSocket経由のMQTT |
クライアントの要件に応じて開放 |
| 8084 |
TCP |
WSS経由のMQTT |
パス /mqtt;独自の証明書が必要 |
| 18083 |
TCP |
HTTP経由のEMQXダッシュボード |
保持される。HTTPSへ自動アップグレードされない |
| 18084 |
TCP |
HTTPS経由のEMQXダッシュボード |
tkl-tlsにより有効化される 2.0.0 |
| 9000 |
TCP |
MinIO S3 API |
送信元アドレスを制限する |
| 9001 |
TCP |
MinIOコンソール |
信頼できる管理者ネットワークのみ |
計画に含めるべき詳細:
ポート競合の扱いは一貫していない。 80が使用中の場合、インストーラーは8080を使用するかどうかを尋ね、占有しているサービスには手を付けない。しかし 9000または9001が使用中の場合、インストーラーは即座に停止する ため、代替ポートを選択しない。別のストレージサービスが稼働中のターゲットマシンでは、インストールの途中で停止する。
5432と6379は公開する必要が一切ない。 PostgreSQLとRedisのポートはコンテナ内部専用である。
管理用HTTPSはデバイス用MQTTSではない。 tkl-tlsは443と18084を生成する。デバイス側の8883と8084はデフォルトでは公開されておらず、EMQXへの証明書アップロード、マッピングの開放、接続性の検証が必要である。 管理UIで証明書を置き換えても、デバイスリスナーの証明書は置き換わらない — これらは二つの別個の設定です。
ポートが開いていることは、TLSリスナーが有効であることを意味しない。 マニュアルの注意書きをそのまま受け入れチェックシートに転記する価値がある。
18083のEMQXコンソールはHTTPのままである。 HTTPSコンソールは18084であり、旧エントリは保持される。18083をロックダウンしても18084を忘れれば何の意味もない。
5。オンプレミス展開 ≠ 規制遵守
これは「データを工場外に出してはならない」という最もよくある誤読である。
プラットフォームを工場内へ移すことは 保存場所に対処するものである。センサーからプラットフォームまでの経路は依然としてネットワーク伝送であり、適用される規則が伝送に求める要件に依然として従う。
中国の 工業・情報化分野におけるデータ安全管理の暫定措置 (工信部ネットワークセキュリティ通達第166号、2022年12月08日発布、2023年01月01日施行)は、業界データを一般・重要・核心の三階層に分類し、第17条で次のように述べている:
データ処理者は、伝送されるデータの種類、レベル、適用シナリオに基づいてセキュリティポリシーを策定し、保護措置を講じなければならない。重要データまたはコアデータを伝送する場合、検証技術、暗号技術、安全な伝送チャネルまたは安全な伝送プロトコルを採用しなければならない。
これを上記のポート表と照らし合わせよ。デフォルトインストールでは、デバイスMQTTは1883上で平文で動作し、HTTPは80上で動作し、MinIOのS3 APIは9000上で動作する。本システムが重要に分類されるデータを扱う場合、 オンプレミス展開だけでは第17条を満たさない — 伝送チャネルも閉じる必要があり、つまりWeb/APIは443で、デバイスMQTTは8883で提供する必要がある。
その ネットワークデータセキュリティ規制 (国務院令第790号、2024年09月24日公布、2025年01月01日施行、全九章・全64条)は、その一段上の階層で分類・等級制度を定めており、重要データに関する専用の章を設けている。
さらに二つの条項が具体的な運用に及ぶ:
- 第15条: 重要データおよびコアデータの保存には、検証技術と暗号技術を用いた安全な保存、さらに データ災害復旧バックアップ および 記憶媒体のセキュリティ管理が必要であり、 定期的なデータ復旧テストを伴う。
- 第25条: 処理者はデータ処理、権限管理、操作者の行動を記録し、ログを 六ヶ月以上保持しなければならない。
欧州の読者にとっては、圧力は別の方向から来る。EUデータ法のデータアクセスに関する設計義務(第3条(1))は2026-09-12に発効し、クラウド切り替え料金は2027-01-12にゼロとなる。異なる法令だが、構造的な結論は同じである。展開を移行する能力 — 自社ハードウェア上への移行を含む — は、アーキテクチャの好みではなくコンプライアンス上の問題になりつつある。
この三つの条項は連鎖を形成する: ローカル展開が第一歩、TLSが第二歩、バックアップとログ保持が第三歩である。 第一歩の後にコンプライアンスを宣言することが、監査で指摘される所以である。
6. 二つのインストール経路:オンラインのワンライナーとスクリプトによるオフライン
オンライン
接続されたサーバー上では、引数は不要:
curl --tlsv1.2 --tls-max 1.2 -fsSL https://package.think-link.net/install.sh | sudo bash
インストーラー:OS、CPU、RAM、ディスク、ポートを検出 → 対応システムにDockerをインストール(動作中のDockerがあれば再利用) → アプリケーションアーカイブ、Composeファイル、七つのイメージアーカイブ(計九ファイル)をダウンロード → 対象ディレクトリへインストールし、イメージをロードしてComposeを起動 → ThinkLinkのHTTP、MinIOの準備状態、バケット初期化を確認 → バージョンとアクセス情報を記録する。
MinIOは初回起動時に thinklink という名前のプライベートバケットを作成する。
スクリプトによるオフライン
ドキュメントでは「オンラインでダウンロード → 転送と検証 → オフラインでインストール」と要約されている。
第一歩は接続されたマシン上で行う。 ダウンロードモードはローカルのスクリプトファイルから実行しなければならず、 curl | bashを介して実行してはならない
curl --fail --silent --show-error --proto '=https' \
--tlsv1.2 --tls-max 1.2 --connect-timeout 10 --max-time 60 \
https://package.think-link.net/install.sh -o thinklink-install.sh
bash thinklink-install.sh --help
bash thinklink-install.sh --download-only ./thinklink-offline
まず --help を実行し、 --download-only、 --verify-only および --offlineが一覧表示されることを確認する。ターゲットディレクトリはまだ存在してはならず、その親ディレクトリは存在しなければならない。 事前に mkdir 作成しないこと。
納品されたディレクトリには13個のチェックサム付きファイルが含まれる:
| ファイル |
役割 |
| application.tar |
アプリケーションアーカイブ |
| docker-compose.yml |
Compose 定義 |
| tkl-emqx.tar / tkl-nsbrg.tar / tkl-postgres.tar |
EMQX、NS ブリッジ、PostgreSQL イメージ |
| tkl-redis.tar / tkl-thinklink.tar / tkl-thinkone.tar |
Redis、ThinkLink、ThinkOne イメージ |
| tkl-minio.tar |
MinIO イメージ |
| install.sh / install-offline.sh |
インストーラースクリプト |
| release.json |
リリース ID、バージョン、チャネル、アーキテクチャ |
| SHA256SUMS |
9 の成果物、2 のスクリプト、バージョン記録、readme を対象とする |
| README.txt |
バンドル内の注記 |
ステップ 2、転送と検証。 ディレクトリはそのまま移動してください。モード 0700 で作成され、その後も読み取り制限を維持する必要があります。ターゲット側で:
cd thinklink-offline
bash install.sh --verify-only .
このモードは root も Docker も不要で、ネットワークリクエストも行いません。ファイルの整合性、マニフェストのパス、バージョン形式をチェックし、すべて合格した場合にのみ続行します。 SHA-256 は転送の整合性を検証するものであり、発行者の署名ではなく、出所を独立して証明するものではありません — マニュアルにある率直な注記であり、サプライチェーンの信頼は依然として配信チャネルに依存するという注意喚起です。
ステップ 3、インストール。 実行する sudo bash install-offline.sh バンドルディレクトリ内で、次を追加します --yes 無人実行の場合(最後の確認プロンプトのみをスキップし、検証やポートチェックはスキップしません)。
オフラインのターゲットには Docker Engine と Docker Compose V2 が既に必要です。なぜなら バンドルには Docker や OS の依存関係は含まれていません。まず確認してください:
uname -m
sudo docker version
sudo docker compose version
uname -m 出力される必要があります x86_64。それ以外の場合は中止してください。
オフラインパスの 3 つの制限
- 新規インストールのみ — 自動アップグレードなし、失敗時のロールバックなし。 既存のインストールや残留データを検出した場合、クリーンアップして再試行するのではなく、調査できるようその状態をそのまま残します。アップグレードには新しい成果物、バックアップ、バージョンに一致したアップグレード計画が必要です。
- ダウンロードバッチを混在させないでください。 パッケージサービスは毎日 00:00 北京時間にアップストリームをチェックし、成果物を更新します。バッチを混在させると
OFFLINE_IMAGES_MISSING — Compose とイメージが同期しなくなります。
- プロセスをまたいだダウンロードの再開はできません。 失敗した場合は 2.45 GB 全体を再ダウンロードする必要があります。URL の期限切れや単一ファイルの失敗の場合、スクリプトは同じセッション内でアドレスを更新し、一度だけ再試行します。
7。クラウドと並行して実行する際の唯一のレッドライン
ほとんどのプロジェクトは、両方の陣営に足を置く移行期間を経ます — レガシーデバイスはクラウドに、新しいデバイスはオンプレミスに、両方が稼働します。
ドキュメントは明確です:
同じ LoRaWAN デバイスプロファイルを 2 つのプラットフォームで同時に有効にしないでください。TKE とクラウドプラットフォームの両方が Join または Confirm メッセージに応答すると、Join の失敗やダウンリンクの競合が発生する可能性があります。プラットフォームを切り替える際は、使用しない側のプロファイルを無効化または削除してください。
これは機能上の制約であり、パフォーマンスのヒントではありません。Join Request はその DevEUI に登録されたすべての NS に転送されます。両方が Join Accept で応答し、デバイスは一方を受け入れますが、もう一方の NS はデバイスが参加したと認識し、フレームカウンタを保持します — その後のダウンリンクは誤ったパスに送られます。
移行期間中、プロファイルは正確に片側でのみ有効にします。「両方オンにして、先に応答した方を使う」ではありません。
8。クラウド → エッジ移行: Excel インポート/エクスポートの 3 つの罠
ThinkLink は 6 つのモジュールタイプにわたって Excel を通じて一括データを移動します: デバイス設定、LoRaWAN プロファイル、デバイスモデル、RPC コマンド、リンケージ/トリガーモデル、デバイステンプレート。ワークフローは Cloud、TKE、TKG で同一です — 唯一の違いは、TKE/TKG にはクラウドのものとは無関係な独自のローカル管理者アカウントがあることです。
- クラウドで、対象モジュール(例: LoRaWAN Profiles)を開きます
- 同期するエントリを選択します(未選択 = すべてエクスポート)
- Export をクリックし、生成されたスプレッドシートをダウンロードします
- 各データタイプ(デバイスモデル、RPC コマンドなど)について 2–3 を繰り返します
- TKE に切り替え、対応するモジュールを開きます
- Import をクリックし、スプレッドシートを選択します
- インポートがエラーなく完了したことを確認します
- パブリックモデルをインポートするには管理者としてログインする必要があります
3 つの罠:
罠 1: DevEUI はグローバルに一意であるため、組織間の移行は削除してからインポートします。 特定の DevEUI はプラットフォーム内の 1 つの組織に属します。プロファイルを組織 A から B に移動するには、まず A で削除する必要があります。そうしないとインポートは完全に失敗します。
| データタイプ |
先に削除? |
理由 |
| LoRaWAN Profiles |
はい |
DevEUI はグローバルに一意 |
| デバイスモデル / RPC コマンド / デバイステンプレート |
いいえ |
同じ ID は上書きを意味する。一意性の制約なし |
罠 2: 一致する ID は完全上書きを意味し、ロールバックできません。 ルールは「ID が存在しなければ作成し、存在すれば完全に上書きする」です。これは置換であり、マージではありません。スプレッドシート内の古いフィールド値は、ターゲット上の稼働中の設定を上書きします。
緩和策は正確に 1 つあります: インポートする前にまずエクスポートし、そのスプレッドシートをバックアップとして保管してください。 最初の大規模インポートの前に、小さなバッチで形式を検証してください。
罠 3: 元に戻す機能はありません。 バックアップがあれば、それを再インポートします。なければ、設定を手作業で再構築します。ID 列を行ごとに確認し、ファイルには作成または更新する予定のものだけが含まれるようにしてください。
9。バックアップ: 互いに代替できない 3 つの層
| 層 |
場所 |
方法 |
| 設定とインストール記録 |
インストールディレクトリの場所: /opt |
ファイルレベルのバックアップ |
| データベース |
PostgreSQLコンテナボリューム |
ボリュームスナップショットまたは論理ダンプ |
| オブジェクトファイル |
Docker名前付きボリューム minio_data |
ボリュームレベルのバックアップ |
バックアップ /opt だけではオブジェクトデータの代わりにはなりません。 コンテナの再起動では既存のバケットとオブジェクトが保持されますが、ホストディスクの障害では保持されません。
通達166の第15条は災害復旧バックアップ および 定期的な復旧テストを要求しています。後半に注目してください — 一度も復元されたことのないバックアップは仮説にすぎません。 受け入れ時にチェーン全体を検証する一つの方法は、レポートを生成してダウンロードすることです:
sudo docker compose -f exec -T minio /thinklink-minio check-ready
このコマンドはイメージの組み込み初期化が完了したかどうかを確認します。コンテナのステータス確認と併用してください。
10。認識しておくべきエラーコード
マニュアルには全セットが記載されています。ここではデプロイ時に発生するものを挙げます:
| メッセージ |
意味と対処 |
OFFLINE_OUTPUT_EXISTS |
ダウンロードディレクトリが既に存在します — 存在しないものを選んでください。古いバンドルを上書きしないでください |
SCRIPT_FILE_REQUIRED |
ダウンロードモードはローカルのスクリプトファイルから実行する必要があり、次を介してはなりません: curl \| bash |
ARTIFACT_DOWNLOAD_FAILED |
ネットワークとディスク容量を確認し、セット全体を再ダウンロードしてください |
DOWNLOAD_REFRESH_INVALID |
更新中にバージョンまたはアーティファクトが変更されました — バンドル全体を再ダウンロードしてください |
OFFLINE_BUNDLE_INVALID / OFFLINE_CHECKSUM_FAILED |
ディレクトリ全体を再転送してください。 回避するためにマニフェストを編集しないでください |
OFFLINE_DOCKER_REQUIRED |
オフライン依存関係をインストールし、Dockerを起動し、Compose V2を確認してください |
OFFLINE_EXISTING_INSTALL |
既存のインストールまたはデータが存在します — まずバックアップとアップグレード計画を準備してください |
PORT_IN_USE / ALTERNATE_PORT_IN_USE |
競合を解決し、使用可能なポートを確保して、再試行してください |
OFFLINE_IMAGES_MISSING |
Composeとイメージが同期していません — 一致する完全なバンドルを提供してください |
HEALTH_CHECK_FAILED |
コンテナのステータスとログを確認してください。調査中はインストールデータを保持してください |
日常作業用に二つ:
sudo docker compose -f ps
sudo docker compose -f logs
外部と共有する前に、ログ内の接続文字列と認証情報を確認してください — マニュアル自体が注意を促している点です。
11。受け入れチェックリスト
本記事の順序に従い、引き渡し可能なTKEデプロイ:
| # |
項目 |
合格基準 |
| 1 |
uname -m を出力する x86_64 |
x64以外は即座に失敗する |
| 2 |
CPU ≥ 2コア、RAM ≥ 4 GiB、 /opt ≥ 20 GiB |
本番: 8コア / 16 GB / 1 TB |
| 3 |
80/8080、9000、9001、1700、1883の事前ポートチェック |
9000/9001の競合はインストールを中止する |
| 4 |
七つのコンテナすべてが稼働中 |
docker compose ps |
| 5 |
プライベートMinIOバケットが準備完了、匿名アクセスは拒否される |
check-ready および匿名アクセスの試行 |
| 6 |
Web/APIはHTTPS 443、EMQXコンソールは18084 |
tkl-tls 2.0.0 |
| 7 |
デバイスMQTTは8883(必要な場合) |
EMQXで個別に設定および確認済み |
| 8 |
MinIO 9000/9001は信頼できるネットワークからのみ到達可能 |
ファイアウォールルール |
| 9 |
クラウドとTKEの両方で有効になっているデバイスプロファイルがない |
プロファイルインベントリのクロスチェック |
| 10 |
インポート前にエクスポートを取得済み |
バックアップファイルを保持 |
| 11 |
バックアップ範囲が minio_data ボリューム |
バックアップスクリプトのレビュー |
| 12 |
復旧テストを一回完了済み |
復旧訓練の記録 |
| 13 |
デフォルトパスワードを変更済み(ThinkLink / EMQX / MinIO) |
ビジネスクライアントの設定を一致するよう更新済み |
| 14 |
完全なオフラインバンドル + release.json + SHA256SUMS 保持 |
バージョン追跡可能性 |
項目5の「プライベートバケットへの匿名アクセスが拒否された」は、ベンダー自身の2026-09-11受け入れ記録で明示的にカバーされており、あなたのチェックリストにも載せるべきです。匿名で読み取り可能なプライベートバケットは、社内共有に置かれたすべてのレポートファイルと同じです。
12。まとめ
「データを工場外に出してはならない」は保存場所に関する要件であり、三つの結果を引き起こします。すなわち、マシンを購入すること、伝送チャネルを閉じること、バックアップを実行することです。このうち調達上の問題となるのは最初の一つだけです。
本記事が繰り返し論じてきた二点:
オンプレミスは準拠と同じではありません。 通達166の第17条は、重要データに対して安全な伝送チャネルまたはプロトコルを要求しています。デフォルトのTKEインストールは、1883上でMQTTを平文で、80上でHTTPを実行します。tkl-tlsは任意の強化手順ではなく、この条項を満たすためのものです。
発注前にx64の制約を確認してください。 ベンダー自身のドキュメントにはTKEのハードウェア要件について相反する二つの記述があり、ARMが動作するかどうかで食い違っています。導入マニュアルを正式なものとすると、動作しません。ローカライズの義務がすでにPhytiumまたはKunpengに確定している場合は、印刷時ではなく提案段階で提起してください uname -m 印刷 aarch64。
TKEの価値は、ネットワークサーバー、デバイスモデル、トリガーロジック、アラーム、オブジェクトストレージを一つのComposeコマンドにまとめつつ、クラウドとゲートウェイ内形態の両方との間の移行パスを維持することにあります。その代償は、誰かがそれを所有しなければならないことです。何かを購入する前に誰が担当するかを決めることは、仕様書よりも重要です。
シリーズ次回(第24号): データはローカルにあります。次は建物の残りの部分に読ませましょう — ThinkLink上のBACnet/IPおよびModbus TCP統合、フィールドマッピングからYABEによるコミッショニングまで。
出典
- ThinkLinkドキュメント, Dockerデプロイ(TKE) — インストールフロー更新2026-09-11、TLSおよびポートの注記更新2026-10-22: https://www.think-link.net/docs/zh/QuickStart/Deployment/ThinkLinkDocker.html
- ThinkLinkドキュメント, ThinkLink(TKL)入門: https://www.think-link.net/docs/zh/QuickStart/ThinkLinkIntroduction.html
- ThinkLinkドキュメント, バッチデータ管理ガイド: https://www.think-link.net/docs/zh/AN/BatchDataManagementGuide.html
- ThinkLinkドキュメント, ゲートウェイ内のThinkLink(TKG): https://www.think-link.net/docs/zh/QuickStart/Deployment/ThinkLinkGateway.html
- 工業和信息化部, 工業および情報技術分野におけるデータ安全管理の暫定措置, ネットワークセキュリティ通達第166号、施行2023-01-01
- 国務院, ネットワークデータ安全管理条例, 政令第790号、施行2025-01-01