Start typing to search across invoices, services, domains, tickets, and more...
スマートホーム機器、GPSトラッカー、EV充電器、POS端末などを世界中に販売するハードウェアメーカーは、IoTデバイスクラウドを1か国1台のブローカーに集約するのではなく、デバイスの近くに地域別のMQTTブローカーを置く構成にすべきです。IMIDCはロサンゼルス(米州)、香港とシンガポール(アジア)、モスクワ(ロシア・CIS)、ヨハネスブルグ(アフリカ)にこの構成向けのサーバーを提供し、DDoS対策、ファームウェア配信用CDN、中国本社へ戻るCN2回線も用意しています。
MQTTは長時間維持されるTCPセッションなので、往復遅延が100 ms増えるごとに、また大陸間のロスの多い経路を通るごとに、再接続の嵐とバッテリー消費につながります。
一般的な構成は、デバイスがGeoDNSで mqtt-ap.example.com のような地域ホスト名を解決し、8883番ポートのTLSで地域のEMQXに接続、ブローカーはMQTTブリッジ、Kafka、HTTPルールアクションで必要なデータだけを本社のデータ基盤へ転送する、というものです。
販売地域ごとに最寄りのIMIDC拠点を割り当て、ファームウェアには最低2つの予備接続先を組み込みます。
| IMIDC拠点 | 対象市場 | ネットワーク | 注文方法 |
|---|---|---|---|
| ロサンゼルス(米国) | 北米・中南米 | Unicom 9929/4837とCN2で中国本土へ、米国ネイティブIP | 専用サーバー 月額$499から |
| 香港 | 中国本土・香港・中華圏 | 中国本土へCN2 GIA(AS4809)、ICP届出不要 | VPS 月額$18から、専用サーバー 月額$139から |
| シンガポール | 東南アジア・インド・オセアニア | 地域の海底ケーブルハブ、現地ネイティブIP | 営業経由で構成 |
| モスクワ(ロシア) | ロシア・CIS | 中国本土へのCN2回線、ロシアIP | VPS・専用サーバー |
| ヨハネスブルグ(南アフリカ) | 南部・東部アフリカ | 南アフリカのネイティブIP(AFRINIC) | VPS 月額$18から |
| 東京(日本)/ ソウル(韓国) | 日本・韓国 | ネイティブIP、日本VPSは中国向けCN2オプションあり | 日本VPS 月額$28から |
IMIDCはEU域内のデータセンターを掲載していません。EUの契約でEU内保存が求められる場合は、その地域だけEUの事業者を使い、集計データのみを他地域へブリッジしてください。
パイロット段階なら地域ごとにEMQXコンテナ1つで十分です。インターネットにはTLSリスナーだけを公開します。
# Regional EMQX broker on an IMIDC server (Docker installed)
docker volume create emqx-data
docker run -d --name emqx --restart unless-stopped \
--ulimit nofile=1048576:1048576 \
-p 8883:8883 -p 8084:8084 \
-p 127.0.0.1:1883:1883 -p 127.0.0.1:18083:18083 \
-v /opt/emqx/certs:/opt/emqx/etc/certs/custom:ro \
-v emqx-data:/opt/emqx/data \
-e [email protected] \
-e EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__CACERTFILE=/opt/emqx/etc/certs/custom/device-ca.crt \
-e EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__CERTFILE=/opt/emqx/etc/certs/custom/server.crt \
-e EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__KEYFILE=/opt/emqx/etc/certs/custom/server.key \
-e EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__VERIFY=verify_peer \
-e EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__FAIL_IF_NO_PEER_CERT=true \
emqx/emqx:5.8.0
# Dashboard stays on localhost; reach it through an SSH tunnel:
# ssh -L 18083:127.0.0.1:18083 [email protected]
emqtt-bench で実際の接続数とメッセージ頻度を再現して負荷試験します。デバイスごとの証明書による相互TLSは、複製デバイスや漏えいした認証情報による乗っ取りを防ぐ最も堅実な方法です。
# 1) Private device CA (keep ca key offline / in an HSM)
openssl ecparam -name prime256v1 -genkey -noout -out device-ca.key
openssl req -x509 -new -key device-ca.key -sha256 -days 3650 \
-subj "/CN=Example Device CA" -out device-ca.crt
# 2) One key + certificate per device, CN = serial number
SN=SN000123
openssl ecparam -name prime256v1 -genkey -noout -out $SN.key
openssl req -new -key $SN.key -subj "/CN=$SN" -out $SN.csr
openssl x509 -req -in $SN.csr -CA device-ca.crt -CAkey device-ca.key \
-CAcreateserial -days 1825 -sha256 -out $SN.crt
# 3) Test mutual TLS like a device would
mosquitto_pub -h mqtt-ap.example.com -p 8883 --cafile server-chain.pem \
--cert $SN.crt --key $SN.key -i $SN -q 1 \
-t devices/$SN/telemetry -m '{"temp":21.5,"fw":"1.4.2"}'
peer_cert_as_username = cn)、ACLで SN000123 が devices/SN000123/# にのみ発行できるよう制限します。MQTTは更新の通知だけに使い、バイナリはデバイスがCDNからHTTPSでダウンロードします。
devices/{model}/ota に発行します。https://fw.example.com/model-x/1.5.0.bin を取得し、署名を検証してから非アクティブなA/Bスロットに書き込みます。計算すれば理由は明らかです。10万台 × 8 MBのファームウェアは1回のリリースで約800 GBになり、ブローカーの回線を埋め尽くします。IMIDC CDN がこのピークを吸収し、ブローカーはテレメトリ処理を続けられます。
EMQXのボトルネックは接続数よりも、メッセージレート、ルールエンジンの処理、背後のデータベースであることがほとんどです。
| 地域あたり台数 | 想定トラフィック | 推奨ブローカー構成 | 平常時帯域 | OTA 1回(8 MBイメージ) |
|---|---|---|---|---|
| 10,000台 | 60秒に1件、約200バイト(約170件/秒) | VPS 1台、4 vCPU / 8 GB RAM | TLS・キープアライブ込みで約1 Mbps | 約80 GB(CDN経由) |
| 100,000台 | 30秒に1件(約3,300件/秒) | EMQX 3ノードクラスター(各8コア / 16 GB)または専用サーバー2台 | 約10〜20 Mbps | 約800 GB(CDN経由) |
| 1,000,000台 | テレメトリとコマンドの混在 | 地域ごとの専用サーバークラスター+Kafka、IMIDC営業と設計 | 100 Mbps以上 | 約8 TB(CDN経由) |
これは目安であり保証値ではありません。実際のペイロード、QoS、保持メッセージの使い方で計測し、地域障害後の再接続の嵐に備えて50%の余裕を確保してください。
公開MQTTエンドポイントは他のTCPサービスと同じく、公開から数時間でスキャンや攻撃を受けます。
データの保存場所は製品要件として扱い、市場ごとに現地の弁護士に確認してください。本節は一般的な情報であり、法的助言ではありません。
地域ごとに小さく始め、メッセージ量やコンプライアンス要件に応じて専用サーバーへ移行します。
EMQXクラスター向けのメモリ増設、ノード間プライベートネットワーク、追加の IPリソース などのカスタム構成はIMIDCの営業にご相談ください。
IMIDCは4拠点すべてでVPSと専用サーバーを提供し、シンガポールも営業経由で利用できるため、1社で地域ごとにEMQXブローカーを置けます。香港、モスクワ、ロサンゼルスには中国本土へのCN2回線もあります。
4 vCPU / 8 GBのサーバーなら、1分に1件の小さなメッセージを送る約1万台は余裕があり、アイドル接続ならさらに多く保持できます。実際の制約はメッセージレート、再接続時のTLSハンドシェイク、背後のデータベースなので、リリース前にemqtt-benchで試験してください。
不要です。ICP届出は中国本土内でのホスティングが対象で、IMIDCの香港サーバーには必要ありません。ただし個人情報と越境移転に関する中国の規則は引き続き適用されます(法的助言ではありません)。
いいえ。MQTTでは署名付きマニフェストだけを送り、バイナリはCDNからHTTPSで取得させることで、リリース時にブローカーの帯域が埋まるのを防げます。IMIDC CDNをその配信層として使えます。
複数地域のデバイスクラウドを計画中なら、まず 香港CN2 GIA VPS と ロサンゼルス専用サーバー を比較し、シンガポール拠点やカスタムブローカークラスターは IMIDC営業へお問い合わせ ください。台数規模の相談は チケット からエンジニアにどうぞ。