レガシーパブリックインスタンスは、リソースのスケールアウトをサポートしなくなりました。リソースが不足している場合、IoT Platform が提供するインスタンス移行機能を使用すると、製品、デバイス、メッセージ転送データをレガシーパブリックインスタンスから Standard エンタープライズインスタンスへ、同一アカウントおよび同一リージョンで移行でき、サービスへの影響とシステムリファクタリングのコストを削減できます。
制限
インスタンス移行機能は、レガシーパブリックインスタンスから Standard エンタープライズインスタンスへのデータ移行のみをサポートします。インスタンスの詳細については、「インスタンス概要」をご参照ください。
|
制限事項 |
説明 |
制限値 |
|
移行の同時実行数 |
同時に実行できるデバイス配布タスクとインスタンス移行タスクの最大数です。 説明
IoT Platform は、デバイス配布機能を使用してデバイスをエンタープライズインスタンスに移行することもサポートしています。詳細については、「デバイス配布」をご参照ください。 |
5 |
|
オンラインデバイスの同時接続数 |
移行先のエンタープライズインスタンスがサポートする必要がある、オンラインデバイスの最小同時接続数です。 |
移行対象のデバイス数より大きい必要があります。 |
|
移行先エンタープライズインスタンス |
|
1 |
|
デバイス |
1 つの製品配下で移行できるデバイスの最大数です。 説明
この制限がビジネス要件を満たさない場合は、チケットを起票し、お客様のニーズを説明してください。 |
500,000 |
移行前の確認事項
移行する前に、以下の情報を確認し、ビジネスへの影響を評価してください。
-
移行対象データ:
レガシーパブリックインスタンスを移行すると、IoT Platform は製品、デバイス、およびメッセージ転送データを自動的に同期して移行します。次の表に、移行されるデータを示します。
データ項目
移行対象データ
注意事項
製品
-
製品情報:ProductKey、名前、ノードタイプ、カテゴリなど。
-
機能定義:プロパティ、サービス、イベント、および拡張 Thing Specification Language (TSL) モデル (ドラフトの TSL モデルデータを含む)。
-
スクリプト:データ解析スクリプト (ドラフトのスクリプトデータを含む)。
-
この移行は、事前登録認証にデバイスごとまたは製品ごとの証明書を使用する製品とデバイスをサポートします。
-
ゲートウェイのサブデバイスの場合、移行中にトポロジ関係は変更されません。移行後、通常どおり IoT Platform に接続できます。したがって、ゲートウェイデバイスまたはそのサブデバイスを移行する場合は、それらを同じエンタープライズインスタンスにまとめて移行する必要があります。
-
権限が付与された製品およびデバイスは移行できません。製品およびデバイスの権限付与機能は、エンタープライズインスタンスではサポートされていません。
-
DataService Studio を使用する製品およびデバイスは移行できません。
-
ビデオサービスが有効になっている製品およびデバイスは移行できません。
-
IoT Edge または Link WAN に接続されている製品およびデバイスは移行できません。
-
移行後、製品の TSL モデルの検証タイプは変更されません。
-
移行後、元のデータはレガシーパブリックインスタンスに保持されます。誤操作を防ぐため、インスタンス移行が完了し、サービスが正常に実行されていることを確認した後、このデータを手動で削除してください。
デバイス
-
デバイス情報:デバイス証明書情報。デバイス証明書はグローバルに一意であることが保証されます。
-
デバイスデータ:TSL モデルのプロパティ、イベント、およびサービスデータ。
重要インスタンス配下で配布されたデバイスは移行できません。
-
移行対象のデバイスには、再接続機能が必要です。デバイス側の SDK 開発を完了し、デバイスを IoT Platform に接続して正常な通信を確立する必要があります。
説明-
IoT Platform が提供する Link SDK を使用してデバイスを開発した場合、デバイスは自動的にエンタープライズインスタンスに接続します。デバイス接続ドメイン名を変更する必要はありません。Link SDK の詳細については、「デバイス接続」をご参照ください。
-
IoT Platform が提供するデバイス側 SDK を使用しない場合は、デバイス接続ドメイン名を変更し、デバイス用に独自の再接続ロジックを開発する必要があります。
-
-
移行中にデバイスがオンラインの場合、強制的にオフラインになります。
-
移行後、移行されたデバイスはレガシーパブリックインスタンスから自動的に削除されます。デバイスの SDK を変更する必要はありません。デバイスは移行先のエンタープライズインスタンスに正常に接続し、通常どおり通信できます。
-
ID² ベースの認証を使用するデバイスを移行できるのは、ホワイトリストに登録されているユーザーのみです。ホワイトリストへの登録をリクエストするには、チケットを起票してください。ID² ベースの認証の詳細については、「ID² 認証済みデバイス」をご参照ください。
-
TSL モデルデータ移行に関する注意事項:
-
デフォルトでは、データ同期は無効になっています。移行タスクを作成した後、手動でデータ同期を有効にすることで、インスタンス移行中にサービスが影響を受けないようにできます。
-
データ同期を有効にすると、パブリックインスタンス内の移行対象製品の配下にあるデバイスから報告されたデータが、移行先のエンタープライズインスタンスに同期されます。同期は最大 1 分の遅延で開始されます。データ同期を有効にした日から、最大 30 日間データを同期できます。
-
デバイスデータ同期機能は、手動で無効化および再有効化できます。手動で無効化しない場合、システムは 30 日後にデータ同期を自動的に無効化します。データ同期が無効になる前に、インスタンス移行を完了し、関連サービスへの影響を回避するようにしてください。
-
データ同期は一方向です。パブリックインスタンスからエンタープライズインスタンスへの、移行対象製品の配下にあるデバイスから報告されたデータの同期のみをサポートします。
データ同期が有効な場合、デバイスがエンタープライズインスタンスからパブリックインスタンスにロールバックされても、移行されたデバイスデータはロールバックされません。デバイスが再度エンタープライズインスタンスに移行されると、エンタープライズインスタンスのデータは完全ですが、パブリックインスタンスのデータは不完全になります。
-
メッセージ転送
-
サーバー側サブスクリプション:AMQP および MNS のサーバー側サブスクリプション設定とサブスクリプション関係。
-
データ転送:SQL 設定、データソース、RocketMQ、TSDB、RDS、FC などのデータ宛先、および解析スクリプトを含む転送ルール。
-
コンシューマーグループ:コンシューマーグループ情報。移行後、新しいコンシューマーグループ ID が作成されます。
-
移行後、元のデータはレガシーパブリックインスタンスに保持されます。誤操作を防ぐため、インスタンス移行が完了し、サービスが正常に実行されていることを確認した後、このデータを手動で削除してください。
-
AMQP サーバー側サブスクリプションまたは AMQP へのメッセージ転送を設定している場合は、2 つの AMQP クライアントを起動する必要があります。これにより、パブリックインスタンスとエンタープライズインスタンスの両方で AMQP クライアントがデータを受信できるようになり、データ損失を防ぐことができます。
-
エンタープライズインスタンスは、HTTP/2 経由のサーバー側サブスクリプションをサポートしていません。元のパブリックインスタンスのサーバー側サブスクリプション方法を HTTP/2 から AMQP に変更してください。
-
-
機能の使用:
デバイスが移行先のエンタープライズインスタンスに移行された後も、移行された設定を引き続き使用できます。追加機能を使用するには、エンタープライズインスタンスで再設定できます。機能の使用方法の詳細については、「移行後の機能の使用」をご参照ください。
-
課金:
エンタープライズインスタンスに移行されたデバイスについては、メッセージ通信、接続時間、または OTA アップデートに対して課金されなくなります。
事前準備
インスタンスを移行する前に、ビジネスへの影響を評価し、ビジネスシステムを修正し、移行後にデバイスが正常に通信できるようにしてください。
|
ビジネス項目 |
評価とアクション |
参考 |
|
製品とデバイス |
移行対象の製品とデバイスが移行要件を満たしているか確認してください。移行に関する注意事項については、「移行前の確認事項」の「注意事項」をご参照ください。 |
なし |
|
AMQP サーバー側サブスクリプション |
AMQP サーバー側サブスクリプションまたは AMQP へのメッセージ転送が設定されているか確認してください。 設定されている場合は、新しいエンタープライズインスタンス ID と接続ドメイン名をコピーして、新しい AMQP クライアントを設定します。グレースケール移行後、コンシューマーグループ ID をコピーして更新し、新しい AMQP クライアントを起動します。 |
|
|
データ転送 |
パブリックインスタンスで、データ転送を設定します:
|
|
|
デバイスの OTA アップデート |
移行対象の製品にデバイスの OTA アップデートタスクがあるか確認してください。 ある場合は、OTA アップデートタスクを停止してください。そうしないと、インスタンス移行中に OTA アップデートが失敗する可能性があり、実行中の OTA アップデートタスクには引き続き料金が発生します。 |
|
|
クラウド API コール |
移行対象デバイスに対してクラウド API を呼び出すサービスを開発したかどうかを確認してください。 そのようなサービスがある場合は、クラウド API を呼び出すときにリクエストパラメーターを変更して、移行先のエンタープライズインスタンスの ID を渡す必要があります。 独自のアプリケーションまたはサーバーを開発する必要があります。クラウド API を呼び出すときは、まずデータベーステーブルからインスタンス ID (エンタープライズインスタンス ID) をクエリします。次に、IotInstanceId リクエストパラメーターをこのエンタープライズインスタンス ID に設定し、API を呼び出します。 サーバー側の変更例については、「インスタンス移行のサーバー側変更例」をご参照ください。 |
移行フロー全体像

インスタンス移行のフローは、以下の 4 つの部分で構成されます。
|
ワークフロー |
説明 |
|
ビジネス評価 |
インスタンス移行の前に、ビジネスへの影響を評価する必要があります。詳細については、「移行前の確認事項」をご参照ください。 |
|
システムリファクタリング |
ビジネス評価に基づいて、パブリックインスタンスとエンタープライズインスタンスの両方でデバイス関連サービスが正常に動作するように、ビジネスシステムをリファクタリングします:
警告
詳細については、「事前準備」をご参照ください。 |
|
インスタンス移行 |
IoT Platform コンソールで、インスタンス移行タスクを作成し、指定した製品に関連するデータを移行します。詳細については、「移行手順」をご参照ください。 |
|
API トラフィックの切り替え |
完全移行が成功した後、サービスの稼働状況と結果を確認します。クラウド API コールが移行先のエンタープライズインスタンスに切り替えられたことを確認してください。 システムリファクタリング中に、デバイス移行のために転送されたデータをサブスクライブします。デバイスが正常に移行されると、データベーステーブル内のデバイスのインスタンス情報がエンタープライズインスタンス ID に更新されます。クラウド API を呼び出すとき、システムはまずデータベーステーブルからインスタンス ID (エンタープライズインスタンス ID) をクエリし、IotInstanceId リクエストパラメーターをこのエンタープライズインスタンス ID に設定し、API を呼び出します。 |
移行手順
-
ステップ 1:移行タスクの作成。指定した製品の移行タスクを追加します。
重要インスタンス移行中にサービスが影響を受けないように、移行タスクの作成後に手動でデータ同期を有効にできます。この操作により、移行対象製品の配下にあるデバイスから報告されたデータが、パブリックインスタンスから移行先のエンタープライズインスタンスに移行されます。詳細については、「データ同期の有効化」をご参照ください。
-
ステップ 2:グレースケール移行の実行。製品データとメッセージ転送データを順次コピーし、指定したグレースケールデバイスのデータを移行します。
警告AMQP サーバー側サブスクリプションまたは AMQP へのメッセージ転送を設定している場合は、グレースケール移行の完了後に、コンシューマーグループ ID をコピーして更新し、新しい AMQP クライアント SDK を起動してデータを受信する必要があります。
タスクを監視し、完全移行を実行する前に移行がサービスに影響を与えないことを確認してください。
-
ステップ 3:完全移行の実行。指定した製品の配下にあるすべてのデータをクエリし、すべてのデバイスデータを移行します。
警告システムリファクタリングが完了し、公開されていることを確認してください。たとえば、クラウド API コールにはエンタープライズインスタンス ID を含める必要があり、AMQP クライアント SDK のコンシューマーグループ ID を更新する必要があります。詳細については、「事前準備」をご参照ください。
完全移行が成功した後、サービスの実行ステータスと結果を確認し、クラウド API コールが移行先のエンタープライズインスタンスに切り替えられたことを確認してください。
-
任意:移行タスクのロールバック。移行が失敗した場合や問題が発生した場合は、デバイス証明書情報や Thing Specification Language (TSL) モデルデータなど、移行されたすべてのデバイスデータをパブリックインスタンスにロールバックし、通常の運用を復元できます。この操作では、移行先のエンタープライズインスタンスから移行済みのサーバー側サブスクリプションやメッセージ転送データは削除されません。
関連ドキュメント
よくある質問
移行前
-
レガシーパブリックインスタンスをエンタープライズインスタンスに移行すると、エンタープライズインスタンスのリソース仕様が消費されますか?
-
あるアカウントの IoT Platform のレガシーパブリックインスタンスを、別のアカウントのエンタープライズインスタンスに移行できますか?
-
IoT Platform のパブリックインスタンスをエンタープライズインスタンスに移行する際、OTA アップデートパッケージも移行できますか?
-
レガシーパブリックインスタンスの移行は、リージョン間またはアカウント間のエンタープライズインスタンスへの移行をサポートしていますか?