フリートのインデックス作成の管理 - AWS IoT Core

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

フリートのインデックス作成の管理

フリートインデックス作成では、モノのインデックス作成およびモノのグループのインデックス作成の 2 種類のインデックスを管理できます。

モノのインデックス作成

すべてのモノに対して作成されるインデックスは AWS_Things と呼ばれます。モノのインデックス作成では、次のデータソースがサポートされています: AWS IoT レジストリデータ、AWS IoT Device Shadow データ、AWS IoT 接続性データ、AWS IoT Device Defender 違反データ これらのデータソースをフリートのインデックス作成設定に追加することで、モノの検索、集計データのクエリを行い、検索クエリに基づく動的なモノのグループとフリートメトリクスを作成できます。

レジストリ - モノの管理に役立つレジストリAWS IoT を提供します。レジストリデータをフリートのインデックス作成設定に追加して、モノの名前、説明、およびその他のレジストリ属性に基づいてデバイスを検索できます。レジストリの詳細については、「レジストリによるモノの管理方法」を参照してください。

シャドウAWS IoT Device Shadow サービスでは、デバイスの状態についてのデータの保存に役立つシャドウが提供されています。モノのインデックス作成では、名前のないクラシックシャドウおよび名前付きシャドウの両方がサポートされています。名前付きシャドウのインデックスを作成するには、名前付きシャドウの設定を有効にし、モノのインデックス作成設定でシャドウ名を指定します。デフォルトでは、 ごとに最大 10 個のシャドウ名を追加できます AWS アカウント。シャドウ名数の上限を増やす方法については、「AWS 全般のリファレンス」の「AWS IoT Device Management クォータ」を参照してください。

インデックス作成のために名前付きシャドウを追加するには:

  • AWS IoT コンソールを使用する場合、[Thing indexing] (モノのインデックス作成) を有効化し、[Add named shadows] (名前付きシャドウの追加) を選択して、[Named shadow selection] (名前付きシャドウの選択) からシャドウの名前を追加します。

  • AWS Command Line Interface (AWS CLI) を使用する場合は、 namedShadowIndexingModeを に設定しON、 でシャドウ名を指定しますIndexingFilter。CLI コマンドの例を確認するには、「モノのインデックス作成の管理」を参照してください。

重要

2022 年 7 月 20 日は、 AWS IoT Device Management フリートインデックス作成と AWS IoT Core 名前付きシャドウおよび AWS IoT Device Defender 検出違反の統合の一般提供 (GA) リリースです。この一般提供版 (GA) リリースにより、ユーザーはシャドウ名を指定して、特定の名前付きシャドウにインデックスを付けることができます。2021 年 11 月 30 日から 2022 年 7 月 19 日までのこの機能のパブリックプレビュー期間中に、インデックス作成のために名前付きシャドウを追加した場合は、フリートのインデックス作成設定を再構成して特定のシャドウ名を選択することにより、インデックス作成コストを削減してパフォーマンスを最適化するようお勧めします。

シャドウの詳細については、「AWS IoT Device Shadow サービス」を参照してください。

接続性 — デバイスの接続性に関するデータは、デバイスの接続ステータスを特定するのに役立ちます。この接続性に関するデータは、ライフサイクルイベントによって扱われます。クライアントが接続または切断すると、 はメッセージを含むライフサイクルイベントを MQTT トピックに AWS IoT 発行します。接続または切断のメッセージは、接続ステータスの詳細を提供する JSON 要素のリストになります。デバイスの接続性についての詳細は、「ライフサイクルイベント」を参照してください。

Device Defender 違反 - AWS IoT Device Defender 違反データは、セキュリティプロファイルで定義した通常の動作に対する異常なデバイス動作を識別するのに役立ちます。Security Profile には、予想される一連のデバイスの動作が含まれています。各動作では、デバイスにおける通常の動作を指定するメトリクスを使用します。Device Defender 違反の詳細については、「AWS IoT Device Defender Detect」を参照してください。

詳細については、「モノのインデックス作成の管理」を参照してください。

モノのグループのインデックス作成

AWS_ThingGroups は、すべてのモノのグループが含まれるインデックスです。このインデックスを使用して、グループ名、説明、属性、すべての親グループ名に基づいてグループを検索することができます。

詳細については、「モノのグループのインデックス作成の管理」を参照してください。

管理対象フィールド

管理対象フィールドには、モノ、モノのグループ、デバイスシャドウ、デバイス接続、および Device Defender 違反に関連するデータが含まれます。 は、管理対象フィールドのデータ型 AWS IoT を定義します。 AWS IoT モノを作成するときに、各管理対象フィールドの値を指定します。例えば、モノの名前、モノのグループ、モノの説明はすべて管理対象フィールドです。フリートインデックス作成では、指定したインデックス作成モードに基づいて、管理対象フィールドがインデックス化されます。customFields では、管理対象フィールドを変更したり表示することはできません。詳細については、「Custom fields」を参照してください。

モノのインデックス作成の管理対象フィールドを次に示します。

  • レジストリの管理対象フィールド

    "managedFields" : [ {name:thingId, type:String}, {name:thingName, type:String}, {name:registry.version, type:Number}, {name:registry.thingTypeName, type:String}, {name:registry.thingGroupNames, type:String}, ]
  • 名前のないクラシックシャドウの管理対象フィールド

    "managedFields" : [ {name:shadow.version, type:Number}, {name:shadow.hasDelta, type:Boolean} ]
  • 名前付きシャドウの管理対象フィールド

    "managedFields" : [ {name:shadow.name.shadowName.version, type:Number}, {name:shadow.name.shadowName.hasDelta, type:Boolean} ]
  • モノの接続性の管理対象フィールド

    "managedFields" : [ {name:connectivity.timestamp, type:Number}, {name:connectivity.version, type:Number}, {name:connectivity.connected, type:Boolean}, {name:connectivity.disconnectReason, type:String} ]
  • Device Defender の管理フィールド

    "managedFields" : [ {name:deviceDefender.violationCount, type:Number}, {name:deviceDefender.securityprofile.behaviorname.metricName, type:String}, {name:deviceDefender.securityprofile.behaviorname.lastViolationTime, type:Number}, {name:deviceDefender.securityprofile.behaviorname.lastViolationValue, type:String}, {name:deviceDefender.securityprofile.behaviorname.inViolation, type:Boolean} ]
  • モノのグループの管理対象フィールド

    "managedFields" : [ {name:description, type:String}, {name:parentGroupNames, type:String}, {name:thingGroupId, type:String}, {name:thingGroupName, type:String}, {name:version, type:Number}, ]

次の表は、検索できない管理フィールドです。

データソース 検索できない管理フィールド
レジストリ registry.version
名前のないシャドウ shadow.version
名前付きシャドウ shadow.name.*.version
Device Defender deviceDefender.version
モノのグループ version

カスタムフィールド

モノの属性、Device Shadow データ、Device Defender 違反のデータを集計するには、カスタムフィールドを作成してそれらをインデックス化します。customFields 属性は、フィールド名とデータ型のペアのリストです。データ型に基づいて、集計クエリを実行できます。選択するインデックス作成モードは、customFields で指定できるフィールドに影響します。例えば、REGISTRY インデックス作成モードを指定した場合、Thing Shadow からカスタムフィールドを指定することはできません。update-indexing-configuration CLI コマンドを使用して、カスタムフィールドを作成または更新できます (「インデックス作成設定例の更新」のコマンド例を参照)。

  • カスタムフィールド名

モノおよび モノのグループ属性のカスタムフィールド名は attributes. で始まり、属性名が続きます。名前のないシャドウのインデックス作成がオンの場合、モノのカスタムフィールド名は shadow.desired または shadow.reported で始まり、名前のないシャドウデータの値名が続きます。名前付きシャドウのインデックス作成がオンの場合、モノのカスタムフィールド名は shadow.name.*.desired. または shadow.name.*.reported. で始まり、名前付きシャドウデータの値が続きます。Device Defender 違反のインデックス作成がオンの場合、モノのカスタムフィールド名は deviceDefender. で始まり、Device Defender 違反のデータの値が続きます。

プレフィックスに続く属性名またはデータの値名には、英数字、— (ハイフン)、_ (アンダースコア) のみを使用できます。スペースを含めることはできません。

設定内のカスタムフィールドとインデックス化される値のタイプに不整合がある場合、フリートインデックス作成では集計クエリの不整合値が無視されます。 CloudWatch ログは、集計クエリの問題のトラブルシューティングに役立ちます。詳細については、「フリートインデックス作成サービスの集計クエリのトラブルシューティング」を参照してください。

  • カスタムフィールドの型

カスタムフィールドのタイプには、次の値がサポートされています: NumberStringBoolean