쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

동적 사물 그룹

포커스 모드
동적 사물 그룹 - AWS IoT Core

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

동적 사물 그룹은 레지스트리의 특정 검색 쿼리에서 생성됩니다. 디바이스 연결, 디바이스 섀도우 생성 및 AWS IoT Device Defender 위반 데이터와 같은 검색 쿼리 파라미터는 이를 지원합니다. 동적 사물 그룹은 디바이스의 데이터를 인덱싱, 검색 및 집계하기 위해 플릿 인덱싱을 활성화해야 합니다. 이를 생성하기 전에 플릿 인덱싱 검색 쿼리를 사용해 동적 사물 그룹의 사물을 미리 볼 수 있습니다. 자세한 내용은 플릿 인덱싱쿼리 구문 단원을 참조하세요.

참고

동적 사물 그룹 실행은 레지스트리 실행에서 측정됩니다. 자세한 내용은 AWS IoT Core 측정 추가 정보를 참조하세요.

동적 사물 그룹은 정적 사물 그룹과 다음과 같은 차이가 있습니다.

  • 사물 멤버십이 명시적으로 정의되지 않았습니다. 동적 사물 그룹을 생성하려면 그룹 멤버십을 정의하기 위해 검색 쿼리 문자열을 정의해야 합니다.

  • 동적 사물 그룹은 계층 구조의 일부일 수 없습니다.

  • 동적 사물 그룹에는 정책을 적용할 수 없습니다.

  • 동적 사물 그룹은 일련의 다른 명령을 사용해 생성, 업데이트 및 삭제합니다. 다른 모든 작업의 경우 두 유형의 사물 그룹에 동일한 명령을 사용합니다.

  • 당 동적 그룹 수는 AWS 계정 제한됩니다.

  • 그룹 이름에 개인 식별 정보를 사용하면 안 됩니다. 사물 그룹 이름은 암호화되지 않은 통신 및 보고서에 나타날 수 있습니다.

정적 사물 그룹에 대한 자세한 내용은 정적 사물 그룹 단원을 참조하세요.

동적 사물 그룹의 사용 사례

다음 사용 사례에 동적 사물 그룹을 사용할 수 있습니다.

동적 사물 그룹을 작업의 대상으로 지정

동적 사물 그룹을 대상으로 하는 연속 작업을 생성하면 원하는 기준을 충족할 때 디바이스를 자동으로 대상으로 지정할 수 있습니다. 기준은 연결 상태이거나 소프트웨어 버전 또는 모델과 같은 레지스트리 또는 섀도우에 저장된 모든 기준일 수 있습니다. 동적 사물 그룹에 사물이 나타나지 않으면 작업에서 작업 문서를 받지 못합니다.

예를 들어 업데이트 프로세스 중 중단 위험을 최소화하기 위해 디바이스 플릿에 펌웨어 업데이트가 필요하고 배터리 수명이 80% 이상인 디바이스의 펌웨어만 업데이트하려는 경우입니다. 배터리 수명이 80%를 초과하는 디바이스만 포함하는 80PercentBatteryLife라는 동적 사물 그룹을 생성하고 이를 작업의 대상으로 사용할 수 있습니다. 배터리 수명 기준을 충족하는 디바이스만 펌웨어 업데이트를 받게 됩니다. 디바이스의 배터리 수명이 80%라는 기준에 도달하면 해당 디바이스는 동적 사물 그룹에 자동으로 추가되어 펌웨어 업데이트를 받습니다.

펌웨어 또는 운영 체제가 다른 여러 디바이스 모델이 있을 수 있으므로 새 소프트웨어 업데이트 버전이 다를 수 있습니다. 이는 연속 작업이 있는 동적 그룹의 가장 일반적인 사용 사례로, 각 디바이스 모델, 펌웨어 및 OS 조합에 대해 동적 그룹을 생성할 수 있습니다. 그런 다음 정의된 기준에 따라 디바이스가 자동으로 이러한 그룹의 멤버가 되면 소프트웨어 업데이트를 푸시하도록 이러한 각 동적 그룹에 연속 작업을 설정할 수 있습니다.

사물 그룹을 작업 대상으로 지정하는 방법에 대한 자세한 내용은 CreateJob을 참조하세요.

동적 그룹 멤버십 변경 사항을 사용하여 원하는 작업 수행

디바이스가 동적 사물 그룹에 추가되거나 동적 사물 그룹에서 제거될 때마다 레지스트리 이벤트 업데이트의 일부로 MQTT 주제로 알림이 전송됩니다. 동적 그룹 멤버십 업데이트를 기반으로 AWS 서비스와 상호 작용하도록 AWS IoT Core 규칙을 구성하고 원하는 작업을 수행할 수 있습니다. 예시 작업에는 Amazon DynamoDB에 쓰거나, Lambda 함수를 간접적으로 호출하거나 Amazon SNS 주제에 알림을 보내는 경우를 포함합니다.

자동 위반 탐지를 위해 동적 사물 그룹에 디바이스 추가

AWS IoT Device Defender 고객 감지는 동적 사물 그룹에 보안 프로필을 정의할 수 있습니다. 동적 사물 그룹의 디바이스는 그룹에 정의된 보안 프로필에 의해 위반이 있는지 자동으로 감지됩니다.

세분화된 로깅이 있는 디바이스를 관찰하기 위해 동적 사물 그룹에 대한 로그 수준 설정

동적 사물 그룹에 로그 수준을 지정할 수 있습니다. 이는 특정 기준을 충족하는 디바이스에 대해서만 로깅 수준 및 세부 정보를 사용자 지정하려는 경우에 유용합니다. 예를 들어 특정 펌웨어 버전의 디바이스가 특정 규칙의 게시된 주제에 오류를 유발한다고 의심되는 경우 이러한 문제를 디버깅하도록 세부 로깅을 설정할 수 있습니다. 이 경우 이 펌웨어 버전이 있는 모든 디바이스에 대해 동적 그룹을 생성할 수 있습니다. 이 그룹은 가 레지스트리 속성 또는 디바이스 섀도우로 저장된다고 가정합니다. 그런 다음 로깅 대상을 이 동적 사물 그룹으로 정의하여 디버그 수준을 설정할 수 있습니다. 세분화된 로깅에 대한 자세한 내용은 CloudWatch Logs AWS IoT 를 사용하여 모니터링을 참조하세요. 특정 사물 그룹에 대한 로깅 수준을 지정하는 방법에 대한 자세한 내용은 AWS IoT의 리소스별 로깅 구성을 참조하세요.

동적 사물 그룹 생성

CreateDynamicThingGroup 명령을 사용하여 동적 사물 그룹을 생성합니다. 80PercentBatteryLife 시나리오에 대한 동적 사물 그룹을 생성하려면 create-dynamic-thing-group CLI 명령을 사용합니다.

$ aws iot create-dynamic-thing-group --thing-group-name "80PercentBatteryLife" --query-string "attributes.batterylife80"
참고

그룹 이름에 개인 식별 정보를 사용하면 안 됩니다.

CreateDynamicThingGroup 명령은 응답을 반환합니다. 응답은 인덱스 이름, 쿼리 문자열, 쿼리 버전, 사물 그룹 이름, 사물 그룹 ID 및 사물 그룹의 Amazon 리소스 이름(ARN)을 포함합니다.

{ "indexName": "AWS_Things", "queryVersion": "2017-09-30", "thingGroupName": "80PercentBatteryLife", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/80PercentBatteryLife", "queryString": "attributes.batterylife80\n", "thingGroupId": "abcdefgh12345678ijklmnop12345678qrstuvwx" }

동적 사물 그룹의 생성은 한 번에 이루어지지 않습니다. 동적 사물 그룹 채우기를 완료하는 데에는 시간이 걸립니다. 동적 사물 그룹이 생성되면 그룹의 상태가 BUILDING으로 설정됩니다. 채우기가 완료되면 상태가 ACTIVE로 바뀝니다. 동적 사물 그룹의 상태를 확인하려면 DescribeThingGroup 명령을 사용하세요.

동적 사물 그룹 설명

다음과 같이 DescribeThingGroup 명령을 사용하여 동적 사물 그룹에 대한 정보를 가져올 수 있습니다.

$ aws iot describe-thing-group --thing-group-name "80PercentBatteryLife"

DescribeThingGroup 명령은 다음과 같이 지정한 그룹에 대한 정보를 반환합니다.

{ "status": "ACTIVE", "indexName": "AWS_Things", "thingGroupName": "80PercentBatteryLife", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/80PercentBatteryLife", "queryString": "attributes.batterylife80\n", "version": 1, "thingGroupMetadata": { "creationDate": 1548716921.289 }, "thingGroupProperties": {}, "queryVersion": "2017-09-30", "thingGroupId": "84dd9b5b-2b98-4c65-84e4-be0e1ecf4fd8" }

동적 사물 그룹에 대해 DescribeThingGroup을 설정하면 동적 사물 그룹에 고유한 속성이 반환됩니다. 반환 속성의 예는 queryString과 상태입니다.

동적 사물 그룹의 상태 값은 다음과 같습니다.

ACTIVE

동적 사물 그룹을 사용할 준비가 되었습니다.

BUILDING

동적 사물 그룹이 생성 중이고 사물 멤버십이 처리 중입니다.

REBUILDING

그룹의 검색 쿼리 조정 후 동적 사물 그룹의 멤버십을 업데이트하는 중입니다.

참고

동적 사물 그룹을 생성하면 상태에 상관 없이 해당 그룹을 사용합니다. ACTIVE 상태인 동적 사물 그룹에만 동적 사물 그룹에 대한 검색 쿼리와 일치하는 사물이 모두 포함됩니다. BUILDINGREBUILDING 상태인 동적 사물 그룹에는 검색 쿼리와 일치하는 사물 중 일부가 포함되지 않을 수 있습니다.

동적 사물 그룹 업데이트

그룹의 검색 쿼리를 포함한 동적 사물 그룹의 속성은 UpdateDynamicThingGroup 명령을 사용해 업데이트합니다. 다음 명령은 두 속성을 업데이트합니다. 하나는 사물 그룹 설명이고 다른 하나는 멤버십 기준을 배터리 수명을 85 이상으로 변경하는 쿼리 문자열입니다.

$ aws iot update-dynamic-thing-group --thing-group-name "80PercentBatteryLife" --thing-group-properties "thingGroupDescription=\"This thing group contains devices with a battery life greater than 85 percent.\"" --query-string "attributes.batterylife85"

UpdateDynamicThingGroup 명령은 업데이트 이후 그룹의 버전 번호가 포함된 응답을 반환합니다.

{ "version": 2 }

동적 사물 그룹의 업데이트는 한 번에 수행되지 않습니다. 동적 사물 그룹 채우기를 완료하는 데에는 시간이 걸립니다. 동적 사물 그룹이 업데이트할 때 해당 그룹이 멤버십을 업데이트하는 동안 그룹의 상태가 REBUILDING으로 변경됩니다. 채우기가 완료되면 상태가 ACTIVE로 바뀝니다. 동적 사물 그룹의 상태를 확인하려면 DescribeThingGroup 명령을 사용하세요.

동적 사물 그룹 삭제

동적 사물 그룹은 DeleteDynamicThingGroup 명령을 사용하여 삭제합니다.

$ aws iot delete-dynamic-thing-group --thing-group-name "80PercentBatteryLife"

DeleteDynamicThingGroup 명령은 출력을 생성하지 않습니다.

사물이 속한 그룹을 나열하는 명령(예: ListGroupsForThing)이 클라우드 레코드가 업데이트되는 동안에도 계속해서 그룹을 표시할 수 있는지 살펴봐야 합니다.

동적 및 정적 사물 그룹 제한

동적 사물 그룹은 정적 사물 그룹과 다음 제한을 공유합니다.

  • 사물 그룹이 가질 수 있는 속성의 수는 제한되어 있습니다.

  • 사물이 속할 수 있는 그룹의 수는 제한되어 있습니다.

  • 그룹 이름은 변경할 수 없습니다.

  • 사물 그룹 이름은 û, é, ñ 같은 국제 문자를 포함할 수 없습니다.

동적 사물 그룹 제한 사항

동적 사물 그룹에는 다음과 같은 제한이 있습니다.

플릿 인덱싱

플릿 인덱싱 서비스를 활성화하면 디바이스 플릿에서 검색 쿼리를 수행할 수 있습니다. 플릿 인덱싱 채우기가 완료된 후 동적 사물 그룹을 생성하고 관리할 수 있습니다. 채우기 프로세스의 완료 시간은 AWS 클라우드에 등록된 디바이스 플릿의 크기에 따라 직접 영향을 받습니다. 동적 사물 그룹에 대해 플릿 인덱싱 서비스를 활성화하면 동적 사물 그룹을 모두 삭제해야 이 서비스를 비활성화할 수 있습니다.

참고

플릿 인덱스를 쿼리할 권한이 있는 경우 전체 플릿에서 사물 데이터에 액세스할 수 있습니다.

동적 사물 그룹의 수는 제한되어 있습니다.

동적 사물 그룹의 수는 제한되어 있습니다.

성공한 명령은 오류를 로깅할 수 있습니다.

동적 사물 그룹을 생성하거나 업데이트할 때 일부 사물은 동적 사물 그룹에 추가할 수 있지만 아직 추가되지 않았을 수 있습니다. 이 시나리오는 오류를 로깅하고 AddThingToDynamicThingGroupsFailed 지표를 생성하는 동안 성공적인 생성 또는 업데이트 명령을 유발합니다. 단일 지표는 여러 로그 항목을 나타낼 수 있습니다.

CloudWatch 로그의 오류 로그 항목은 다음과 같은 경우에 생성됩니다.

  • 적격 사물은 동적 사물 그룹에 추가할 수 없습니다.

  • 동적 사물 그룹에서 사물을 제거하여 다른 그룹에 추가합니다.

사물을 동적 사물 그룹에 추가할 수 있게 되면 다음 사항을 고려합니다.

  • 사물이 이미 가능한 많은 그룹에 있습니까? (제한 참조)

    • 아니오: 사물이 동적 사물 그룹에 추가됩니다.

    • 예: 사물이 동적 사물 그룹의 멤버입니까?

      • 아니오: 사물을 동적 사물 그룹에 추가할 수 없고, 오류가 로깅되며 AddThingToDynamicThingGroupsFailed 지표가 생성됩니다.

      • 예: 참가할 동적 사물 그룹이 사물이 이미 멤버인 동적 사물 그룹보다 오래되었습니까?

        • 아니오: 사물을 동적 사물 그룹에 추가할 수 없고, 오류가 로깅되며 AddThingToDynamicThingGroupsFailed 지표가 생성됩니다.

        • 예: 최근 동적 사물 그룹에서 사물을 제거하고 오류를 로깅하고 사물을 동적 사물 그룹에 추가합니다. 이렇게 하면 사물이 제거된 동적 사물 그룹에 대한 오류 및 AddThingToDynamicThingGroupsFailed 지표가 생성됩니다.

동적 사물 그룹의 사물이 더 이상 검색 쿼리를 충족하지 않으면 동적 사물 그룹에서 제거됩니다. 마찬가지로 동적 사물 그룹의 검색 쿼리를 충족하도록 사물이 업데이트되면 이전에 설명한 대로 그룹에 추가됩니다. 이러한 추가 및 제거는 정상이며 오류 로그 항목을 생성하지 않습니다.

overrideDynamicGroups를 활성화하면 정적 그룹이 동적 그룹보다 우선합니다.

사물이 속할 수 있는 그룹의 수는 제한되어 있습니다. AddThingToThingGroup 또는 UpdateThingGroupsForThing 명령을 사용하여 사물 멤버십을 업데이트할 때 --overrideDynamicGroups 파라미터를 추가하면 정적 사물 그룹이 동적 사물 그룹보다 우선합니다.

정적 사물 그룹에 사물을 추가할 때 다음 사항을 고려합니다.

  • 사물이 이미 최대 그룹 수에 속해 있습니까?

    • 아니오: 사물이 정적 사물 그룹에 추가됩니다.

    • 예: 사물이 동적 그룹에 있습니까?

      • 아니요(NO): 사물을 사물 그룹에 추가할 수 없습니다. 이 명령은 예외를 발생시킵니다.

      • 예: --overrideDynamicGroups가 활성화되었습니까?

        • 아니요(NO): 사물을 사물 그룹에 추가할 수 없습니다. 이 명령은 예외를 발생시킵니다.

        • 예: 가장 최근에 생성된 동적 사물 그룹에서 사물이 제거되고 오류가 로깅되며 사물이 제거된 동적 사물 그룹에 대한 AddThingToDynamicThingGroupsFailed 지표가 생성됩니다. 그런 다음 사물이 정적 사물 그룹에 추가됩니다.

이전 동적 사물 그룹이 최신 사물 그룹보다 우선합니다.

사물이 속할 수 있는 그룹의 수는 제한되어 있습니다. 생성 또는 업데이트 작업이 사물에 대한 추가 그룹 자격을 생성하고 해당 사물이 그룹 한도에 도달하면 다른 동적 사물 그룹에서 제거되어 이 추가를 활성화할 수 있습니다. 발생 방법에 대한 자세한 내용은 성공한 명령은 오류를 로깅할 수 있습니다.overrideDynamicGroups를 활성화하면 정적 그룹이 동적 그룹보다 우선합니다.에서 예제를 참조하세요.

사물이 동적 사물 그룹에서 제거되면 오류가 로깅되고 이벤트가 발생합니다.

정책을 동적 항목 그룹에 적용할 수 없습니다.

동적 사물 그룹에 정책을 적용하려고 하면 예외가 생성됩니다.

동적 사물 그룹 멤버십은 일관성을 가짐

레지스트리에 대해서는 사물의 최종 상태만 평가됩니다. 상태가 빠르게 업데이트되는 경우에는 중간 상태를 건너뛸 수 있습니다. 중간 상태에 따라 멤버십이 달라지는 동적 사물 그룹에는 규칙 또는 작업을 연결하지 마세요.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.