

# AWS IoT Device Shadow サービス
<a name="aws-iot-device-shadow-service"></a>

 AWS IoT Core の Device Shadow サービスを使用する IoT ソリューションでは、コマンドリクエストは、信頼性が高く、スケーラブルでわかりやすい方法で管理されます。Device Shadow サービスは、デバイス関連の状態の管理と状態の変更の伝達方法の両方について、規範的なアプローチに従います。このアプローチでは、Device Shadows サービスが JSON ドキュメントを使用して、デバイスの現在の状態、想定した今後の状態、および現在の状態と必要な状態の違いを保存する方法について説明します。

![](http://docs.aws.amazon.com/ja_jp/wellarchitected/latest/iot-lens/images/image5.png)


*図 4: デバイスでの Device Shadow の使用*

1.  デバイスは、その状態をメッセージとして更新トピック deviceID/shadow/update にパブリッシュすることで、デバイスの初期状態を報告します。 

1.  Device Shadow はトピックからメッセージを読み取り、デバイスの状態を永続データストアに記録します。 

1.  デバイスは、デバイス関連の状態変更メッセージが到着するデルタメッセージングトピック deviceId/shadow/update/delta にサブスクライブします。 

1.  ソリューションのコンポーネントは、トピック deviceID/shadow/update に目的の状態メッセージをパブリッシュし、このデバイスを追跡する Device Shadow は、永続的なデータストアで目的のデバイスの状態を記録します。 

1.  Device Shadow は、トピック deviceId/shadow/update/delta にデルタメッセージをパブリッシュし、メッセージブローカーはメッセージをデバイスに送信します。 

1.  デバイスは差分メッセージを受信し、望ましい状態変更を実行します。 

1.  デバイスは、新しい状態を反映する確認メッセージを update トピック deviceID/shadow/update にパブリッシュし、このデバイスを追跡する Device Shadow は永続データストアに新しい状態を記録します。 

1.  Device Shadow は、deviceId/shadow/update/accepted トピックにメッセージをパブリッシュします。 

1.  ソリューションのコンポーネントは、Device Shadow から更新された状態をリクエストできるようになりました。 