플릿 인덱싱 관리 - AWS IoT Core

플릿 인덱싱 관리

플릿 인덱싱은 사물 인덱싱과 사물 그룹 인덱싱이라는 두 가지 유형의 인덱스를 관리합니다.

사물 인덱싱

모든 사물에 대해 생성된 인덱스는 AWS_Things입니다. 사물 인덱싱은 AWS IoT 레지스트리 데이터, AWS IoT 디바이스 섀도우 데이터, AWS IoT 연결 데이터 및 AWS IoT Device Defender 위반 데이터와 같은 데이터 소스를 지원합니다. 이러한 데이터 소스를 플릿 인덱싱 구성에 추가하면 사물을 검색하고, 집계 데이터를 쿼리하고, 검색 쿼리를 기반으로 동적 사물 그룹 및 플릿 지표를 만들 수 있습니다.

레지스트리 - AWS IoT사물 관리에 도움이 되는 레지스트리를 제공합니다. 플릿 인덱싱 구성에 레지스트리 데이터를 추가하여 사물 이름, 설명 및 기타 레지스트리 속성을 기반으로 디바이스를 검색할 수 있습니다. 레지스트리에 대한 자세한 내용은 레지스트리를 사용하여 사물을 관리하는 방법을 참조하세요.

섀도우 - AWS IoT 디바이스 섀도우 서비스는 디바이스의 상태 데이터를 저장하는 데 도움이 되는 섀도우를 제공합니다. 사물 인덱싱은 명명되지 않은 클래식 섀도우와 명명된 섀도우를 모두 지원합니다. 명명된 섀도우를 인덱싱하려면 명명된 섀도우 설정을 활성화하고 사물 인덱싱 구성에서 섀도우 이름을 지정합니다. 기본적으로 AWS 계정당 최대 10개의 섀도우 이름을 추가할 수 있습니다. 섀도우 이름 수 제한을 늘리는 방법을 보려면 AWS 일반 참조AWS IoT Device Management 할당량을 참조하세요.

인덱싱하려는 명명된 섀도우 추가

  • AWS IoT 콘솔을 사용하는 경우 사물 인덱싱(Thing indexing)을 켜고 명명된 섀도우 추가(Add named shadows)를 선택한 다음 명명된 섀도우 선택(Named shadow selection)을 통해 섀도우 이름을 추가합니다.

  • AWS Command Line Interface(AWS CLI)를 사용하는 경우, namedShadowIndexingModeON으로 설정하고 IndexingFilter에서 섀도우 이름을 지정합니다. CLI 명령 예제를 보려면 사물 인덱싱 관리를 참조하세요.

중요

2022년 7월 20일에 AWS IoT Core 명명된 섀도우 및 AWS IoT Device Defender 위반 감지와 통합된 AWS IoT 디바이스 관리 플릿 인덱싱이 정식 출시됩니다. 이번 정식 출시 릴리스를 통해 섀도우 이름을 지정하여 특정 명명된 섀도우를 인덱싱할 수 있는 기능이 지원됩니다. 2021년 11월 30일부터 2022년 7월 19일까지인 이 기능의 공개 프리뷰 기간 중에 인덱싱을 위해 명명된 섀도우를 추가한 경우, 플릿 인덱싱 설정을 재구성하고 특정 섀도우 이름을 선택하여 인덱싱 비용을 줄이고 성능을 최적화하는 것이 좋습니다.

섀도우에 대한 자세한 내용은 AWS IoT 디바이스 섀도우 서비스를 참조하세요.

연결 - 디바이스 연결 데이터를 사용하면 디바이스의 연결 상태를 식별하는 데 도움이 됩니다. 이 연결 데이터는 수명 주기 이벤트에서 제공합니다. 클라이언트가 연결하거나 연결을 해제할 때 AWS IoT가 MQTT 주제에 메시지와 함께 수명 주기 이벤트를 게시합니다. 연결 또는 연결 해제 메시지는 연결 상태에 대한 세부 정보를 제공하는 JSON 요소 목록일 수 있습니다. 디바이스 연결에 대한 자세한 내용은 수명 주기 이벤트를 참조하세요.

Device Defender 위반 - AWS IoT Device Defender 위반 데이터는 보안 프로필에서 정의한 정상적인 동작과 비교하여 디바이스의 비정상적인 동작을 식별하는 데 도움이 됩니다. 보안 프로파일에는 예상되는 디바이스 동작 집합이 포함되어 있습니다. 각 동작은 디바이스의 정상적인 동작을 지정하는 지표표를 사용합니다. Device Defender 위반에 대한 자세한 내용은 AWS IoT Device Defender Detect를 참조하세요.

자세한 내용은 사물 인덱싱 관리를 참조하세요.

사물 그룹 인덱싱

AWS_ThingGroups는 모든 사물 그룹을 포함하는 인덱스입니다. 이 인덱스를 사용하여 그룹 이름, 설명, 속성 및 모든 상위 그룹 이름을 기반으로 그룹을 검색할 수 있습니다.

자세한 내용은 사물 그룹 인덱싱 관리를 참조하세요.

관리형 필드

관리되는 필드에는 사물, 사물 그룹, 디바이스 섀도우, 디바이스 연결 및 Device Defender 위반과 관련된 데이터가 포함됩니다. AWS IoT는 관리형 필드의 데이터 유형을 정의합니다. AWS IoT 사물을 생성할 때 각 관리형 필드의 값을 지정합니다. 예를 들어, 사물 이름, 사물 그룹 및 사물 설명은 모두 관리형 필드입니다. 플릿 인덱싱은 지정한 인덱싱 모드를 기반으로 관리형 필드를 인덱싱합니다. 관리형 필드는 customFields에서 변경하거나 표시할 수 없습니다. 자세한 내용은 사용자 정의 필드를 참조하세요.

다음은 사물 인덱싱을 위한 관리형 필드 목록입니다.

  • 레지스트리에 대한 관리형 필드

    "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 Defender 위반 데이터를 인덱싱할 사용자 정의 필드를 생성하여 집계할 수 있습니다. customFields 속성은 필드 이름과 데이터 형식 페어의 목록입니다. 데이터 유형에 따라 집계 쿼리를 수행할 수 있습니다. 선택한 인덱싱 모드는 customFields에서 지정할 수 있는 필드에 영향을 줍니다. 예를 들어, REGISTRY 인덱싱 모드를 지정하면 사물 섀도우에서 사용자 지정 필드를 지정할 수 없습니다. update-indexing-configuration CLI 명령을 사용하여 사용자 정의 필드를 생성하거나 업데이트할 수 있습니다(인덱싱 구성 예 업데이트의 예제 명령 참조).

  • 사용자 정의 필드 이름

사물 및 사물 그룹 속성에 대한 사용자 정의 필드 이름은 attributes.로 시작하고 그 뒤에 속성 이름이 옵니다. 명명되지 않은 섀도우 인덱싱이 켜져 있으면 사물의 사용자 정의 필드 이름이 shadow.desired 또는 shadow.reported로 시작하고 그 뒤에 명명되지 않은 섀도우 데이터 값 이름이 올 수 있습니다. 명명된 섀도우 인덱싱이 켜져 있으면 사물의 사용자 정의 필드 이름이 shadow.name.*.desired. 또는 shadow.name.*.reported.로 시작하고 그 뒤에 명명된 섀도우 데이터 값이 올 수 있습니다. Device Defender 위반 인덱싱이 켜져 있으면 사물의 사용자 정의 필드 이름이 deviceDefender.로 시작하고 그 뒤에 Device Defender 위반 데이터 값이 올 수 있습니다.

접두사 뒤에 오는 속성 또는 데이터 값 이름에는 영숫자, -(하이픈) 및 _(밑줄) 문자만 사용할 수 있습니다. 공백이 없어야 합니다.

구성의 사용자 정의 필드와 인덱싱되는 값 간에 유형 불일치가 있는 경우 플릿 인덱싱은 집계 쿼리에 대해 이러한 불일치 값을 무시합니다. CloudWatch Logs는 집계 쿼리 문제를 해결할 때 유용합니다. 자세한 내용은 플릿 인덱싱 서비스에 대한 집계 쿼리 문제 해결 섹션을 참조하세요.

  • 사용자 지정 필드 유형

사용자 정의 필드 유형에는 Number, StringBoolean 값이 지원됩니다.