기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS IoT Device Defender
AWS IoT Device Defender 구성 요소 (aws.greengrass.DeviceDefender
) 는 관리자에게 Greengrass 코어 장치의 상태 변경 사항을 알립니다. 그러면 손상된 장치를 나타낼 수 있는 비정상적인 동작을 식별할 수 있습니다. 자세한 내용은 AWS IoT Core
개발자 안내서의 AWS IoT Device Defender을 참조하세요.
이 구성 요소는 코어 장치에서 시스템 메트릭을 읽습니다. 그런 다음 메트릭을 에 게시합니다. AWS IoT Device Defender이 구성 요소가 보고하는 메트릭을 읽고 해석하는 방법에 대한 자세한 내용은 AWS IoT Core 개발자 가이드의 기기 메트릭 문서 사양을 참조하십시오.
이 구성 요소는 의 Device Defender 커넥터와 유사한 기능을 제공합니다. AWS IoT Greengrass V1자세한 내용은 AWS IoT Greengrass V1 개발자 안내서의 장치 디펜더 커넥터를 참조하십시오.
버전
이 구성 요소의 버전은 다음과 같습니다.
각 구성 요소 버전의 변경 사항에 대한 자세한 내용은 변경 로그를 참조하십시오.
유형
- v3.x
-
이 구성 요소는 일반 구성 요소 () aws.greengrass.generic
입니다. Greengrass 핵은 구성 요소의 라이프사이클 스크립트를 실행합니다.
- v2.x
-
이 구성 요소는 Lambda 구성 요소 () 입니다. aws.greengrass.lambda
Greengrass 핵은 Lambda 런처 구성 요소를 사용하여 이 구성 요소의 Lambda 함수를 실행합니다.
자세한 내용은 구성 요소 유형 단원을 참조하십시오.
운영 체제
- v3.x
-
이 구성 요소는 다음 운영 체제를 실행하는 코어 디바이스에 설치할 수 있습니다.
- v2.x
-
이 구성 요소는 Linux 코어 장치에만 설치할 수 있습니다.
요구 사항
이 구성 요소의 요구 사항은 다음과 같습니다.
- v3.x
-
- v2.x
-
-
코어 디바이스는 Lambda 함수를 실행하기 위한 요구 사항을 충족해야 합니다. 코어 디바이스에서 컨테이너화된 Lambda 함수를 실행하려면 해당 디바이스가 해당 요구 사항을 충족해야 합니다. 자세한 내용은 Lambda 함수 요구 사항 단원을 참조하십시오.
-
Python 버전 3.7이 코어 장치에 설치되고 PATH 환경 변수에 추가되었습니다.
-
AWS IoT Device Defender 탐지 기능을 사용하여 위반을 모니터링하도록 구성되었습니다. 자세한 정보는 AWS IoT Core 개발자 안내서의 감지 사용 방법을 참조하세요.
-
코어 디바이스에 설치된 psutil 라이브러리 버전 5.7.0은 구성 요소와 호환이 확인된 최신 버전입니다.
-
코어 기기에 설치된 cbor 라이브러리. 버전 1.0.0은 구성 요소와 함께 사용할 수 있는 것으로 확인된 최신 버전입니다.
-
이 구성 요소로부터 출력 데이터를 받으려면 이 구성 요소를 배포할 때 기존 구독 라우터 구성 요소 (aws.greengrass.LegacySubscriptionRouter) 에 대한 다음 구성 업데이트를 병합해야 합니다. 이 구성은 이 구성 요소가 응답을 게시하는 주제를 지정합니다.
Legacy subscription router v2.1.xLegacy subscription router v2.0.x
- Legacy subscription router v2.1.x
{
"subscriptions": {
"aws-greengrass-device-defender": {
"id": "aws-greengrass-device-defender",
"source": "component:aws.greengrass.DeviceDefender",
"subject": "$aws/things/+/defender/metrics/json",
"target": "cloud"
}
}
}
- Legacy subscription router v2.0.x
{
"subscriptions": {
"aws-greengrass-device-defender": {
"id": "aws-greengrass-device-defender",
"source": "arn:aws:lambda:region
:aws:function:aws-greengrass-device-defender:version
",
"subject": "$aws/things/+/defender/metrics/json",
"target": "cloud"
}
}
}
-
Replace region
사용하는 AWS 리전 것과 함께.
-
Replace version
이 구성 요소가 실행하는 Lambda 함수 버전과 함께 Lambda 함수 버전을 찾으려면 배포하려는 이 구성 요소 버전의 레시피를 확인해야 합니다. AWS IoT Greengrass 콘솔에서 이 구성 요소의 세부 정보 페이지를 열고 Lambda 함수 키-값 쌍을 찾으십시오. 이 키-값 쌍에는 Lambda 함수의 이름과 버전이 들어 있습니다.
이 구성 요소를 배포할 때마다 레거시 구독 라우터에서 Lambda 함수 버전을 업데이트해야 합니다. 이렇게 하면 배포하는 구성 요소 버전에 올바른 Lambda 함수 버전을 사용할 수 있습니다.
자세한 내용은 배포 만들기 단원을 참조하십시오.
의존성
구성 요소를 배포하면 호환되는 버전의 종속 AWS IoT Greengrass 항목도 배포됩니다. 즉, 구성 요소를 성공적으로 배포하려면 구성 요소 및 해당 종속성에 대한 요구 사항을 모두 충족해야 합니다. 이 섹션에는 이 구성 요소의 릴리스된 버전에 대한 종속성과 각 종속성에 대한 구성 요소 버전을 정의하는 시맨틱 버전 제약 조건이 나열되어 있습니다. 콘솔에서 구성 요소의 각 버전에 대한 종속성을 볼 수도 있습니다.AWS IoT Greengrass 구성 요소 세부 정보 페이지에서 종속성 목록을 찾아보십시오.
- 3.1.1
-
다음 표에는 이 구성 요소의 버전 3.1.1에 대한 종속성이 나열되어 있습니다.
- 3.0.0 - 3.0.2
-
다음 표에는 이 구성 요소의 버전 3.0.0~3.0.2에 대한 종속성이 나와 있습니다.
- 2.0.12 - 2.0.16
-
다음 표에는 이 구성 요소의 버전 2.0.16에 대한 종속성이 나와 있습니다.
- 2.0.10 - 2.0.11
-
다음 표에는 이 구성 요소의 버전 2.0.10 및 2.0.11에 대한 종속성이 나와 있습니다.
- 2.0.9
-
다음 표에는 이 구성 요소의 버전 2.0.9에 대한 종속성이 나와 있습니다.
- 2.0.8
-
다음 표에는 이 구성 요소의 버전 2.0.8에 대한 종속성이 나와 있습니다.
- 2.0.7
-
다음 표에는 이 구성 요소의 버전 2.0.7에 대한 종속성이 나와 있습니다.
- 2.0.6
-
다음 표에는 이 구성 요소의 버전 2.0.6에 대한 종속성이 나와 있습니다.
- 2.0.5
-
다음 표에는 이 구성 요소의 버전 2.0.5에 대한 종속성이 나와 있습니다.
- 2.0.4
-
다음 표에는 이 구성 요소의 버전 2.0.4에 대한 종속성이 나와 있습니다.
- 2.0.3
-
다음 표에는 이 구성 요소의 버전 2.0.3에 대한 종속성이 나와 있습니다.
구성 요소 종속성에 대한 자세한 내용은 구성 요소 레시피 참조를 참조하십시오.
구성
이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음과 같은 구성 매개 변수를 제공합니다.
- v3.x
-
PublishRetryCount
-
게시가 재시도되는 횟수입니다. 이 기능은 버전 3.1.1에서 사용할 수 있습니다.
최소값은 0입니다.
최대값은 72입니다.
기본값: 5
SampleIntervalSeconds
-
(선택 사항) 구성 요소가 지표를 수집하고 보고하는 각 주기 사이의 시간 (초) 입니다.
최소값은 300초(5분)입니다.
기본값: 300초
-
UseInstaller
-
(선택 사항) 이 구성 요소의 종속성을 설치하기 위해 이 구성 요소의 설치 프로그램 스크립트를 사용할지 여부를 정의하는 부울 값입니다.
사용자 지정 스크립트를 사용하여 종속성을 설치하거나 미리 빌드된 Linux 이미지에 런타임 종속성을 포함하려는 경우 이 값을 로 설정하십시오. false
이 구성 요소를 사용하려면 종속성을 포함하여 다음 라이브러리를 설치하고 기본 Greengrass 시스템 사용자가 사용할 수 있도록 해야 합니다.
HTTPS프록시를 사용하도록 구성한 코어 디바이스에서 이 구성 요소의 버전 3.0.0 또는 3.0.1을 사용하는 경우 이 값을 로 설정해야 합니다. false
설치 프로그램 스크립트는 이 구성 요소의 이러한 버전에서 HTTPS 프록시 기반 작업을 지원하지 않습니다.
기본값: true
- v2.x
-
이 구성 요소의 기본 구성에는 Lambda 함수 파라미터가 포함됩니다. 디바이스에서 이 구성 요소를 구성하려면 다음 파라미터만 편집하는 것이 좋습니다.
lambdaParams
-
이 구성 요소의 Lambda 함수에 대한 파라미터를 포함하는 객체입니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.
EnvironmentVariables
-
Lambda 함수의 파라미터를 포함하는 객체입니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.
PROCFS_PATH
-
(선택 사항) 폴더 경로. /proc
기본값: /host-proc
. 이 경로가 이 구성 요소가 컨테이너에 /proc
폴더를 마운트하는 기본 경로입니다.
이 컴포넌트는 이 폴더에 대한 읽기 전용 액세스 권한을 가집니다.
SAMPLE_INTERVAL_SECONDS
-
(선택 사항) 구성 요소가 지표를 수집하고 보고하는 각 주기 사이의 시간 (초) 입니다.
최소값은 300초(5분)입니다.
기본값: 300초
containerMode
-
(선택 사항) 이 컴포넌트의 컨테이너화 모드. 다음 옵션 중 하나를 선택합니다.
-
GreengrassContainer
— 구성 요소는 컨테이너 내부의 격리된 런타임 환경에서 실행됩니다. AWS IoT Greengrass
-
NoContainer
— 구성 요소는 격리된 런타임 환경에서 실행되지 않습니다.
이 옵션을 지정하는 경우 PROCFS_PATH
환경 변수 매개 변수에 /proc
대해 지정해야 합니다.
기본값: GreengrassContainer
containerParams
-
(선택 사항) 이 구성 요소의 컨테이너 매개 변수를 포함하는 개체입니다. 를 GreengrassContainer
지정하면 구성 요소에서 이러한 매개 변수를 사용합니다containerMode
.
이 객체에는 다음 정보가 포함되어 있어야 합니다.
memorySize
-
(선택 사항) 구성 요소에 할당할 메모리 양 (KB) 입니다.
기본값은 50,000KB입니다.
pubsubTopics
-
(선택 사항) 구성 요소가 메시지 수신을 위해 구독하는 주제를 포함하는 객체입니다. 각 주제를 지정하고 구성 요소가 해당 주제를 구독할지 AWS IoT Core 아니면 로컬 게시/구독 MQTT 주제를 구독할지를 지정할 수 있습니다.
이 객체에는 다음 정보가 포함되어 있어야 합니다.
0
— 문자열 형식의 배열 인덱스입니다.
-
다음 정보가 포함된 객체입니다.
type
-
(선택 사항) 이 구성 요소가 메시지를 구독하는 데 사용하는 게시/구독 메시지의 유형입니다. 다음 옵션 중 하나를 선택합니다.
-
PUB_SUB
– 로컬 게시/구독 메시지를 구독합니다. 이 옵션을 선택하면 주제에 와일드카드가 포함될 MQTT 수 없습니다. 이 옵션을 지정할 때 사용자 지정 구성 요소에서 메시지를 보내는 방법에 대한 자세한 내용은 을 참조하십시오로컬 메시지 게시/구독.
-
IOT_CORE
— AWS IoT Core MQTT 메시지를 구독합니다. 이 옵션을 선택하면 주제에 MQTT 와일드카드가 포함될 수 있습니다. 이 옵션을 지정할 때 사용자 지정 구성 요소에서 메시지를 보내는 방법에 대한 자세한 내용은 을 참조하십시오메시지 게시/구독 AWS IoT Core MQTT.
기본값: PUB_SUB
topic
-
(선택 사항) 구성 요소가 메시지 수신을 위해 구독하는 주제입니다. 를 지정하는 IotCore
type
경우 이 항목에서 MQTT 와일드카드 (+
및#
) 를 사용할 수 있습니다.
예: 구성 병합 업데이트 (컨테이너 모드)
{
"lambdaExecutionParameters": {
"EnvironmentVariables": {
"PROCFS_PATH": "/host_proc"
}
},
"containerMode": "GreengrassContainer"
}
예: 구성 병합 업데이트 (컨테이너 모드 없음)
{
"lambdaExecutionParameters": {
"EnvironmentVariables": {
"PROCFS_PATH": "/proc"
}
},
"containerMode": "NoContainer"
}
이 구성 요소는 메시지를 입력 데이터로 받아들이지 않습니다.
출력 데이터
이 구성 요소는 다음과 같은 전용 주제에 보안 메트릭을 게시합니다. AWS IoT Device Defender이 구성 요소는 다음을 대체합니다.coreDeviceName
메트릭을 게시할 때 코어 디바이스의 이름으로 사용합니다.
주제 (AWS IoT Core MQTT): $aws/things/coreDeviceName
/defender/metrics/json
예 출력 예시
{
"header": {
"report_id": 1529963534,
"version": "1.0"
},
"metrics": {
"listening_tcp_ports": {
"ports": [
{
"interface": "eth0",
"port": 24800
},
{
"interface": "eth0",
"port": 22
},
{
"interface": "eth0",
"port": 53
}
],
"total": 3
},
"listening_udp_ports": {
"ports": [
{
"interface": "eth0",
"port": 5353
},
{
"interface": "eth0",
"port": 67
}
],
"total": 2
},
"network_stats": {
"bytes_in": 1157864729406,
"bytes_out": 1170821865,
"packets_in": 693092175031,
"packets_out": 738917180
},
"tcp_connections": {
"established_connections":{
"connections": [
{
"local_interface": "eth0",
"local_port": 80,
"remote_addr": "192.168.0.1:8000"
},
{
"local_interface": "eth0",
"local_port": 80,
"remote_addr": "192.168.0.1:8000"
}
],
"total": 2
}
}
}
}
이 구성 요소가 보고하는 메트릭에 대한 자세한 내용은 AWS IoT Core 개발자 안내서의 기기 메트릭 문서 사양을 참조하십시오.
로컬 로그 파일
이 구성 요소는 다음 로그 파일을 사용합니다.
- Linux
-
/greengrass/v2
/logs/aws.greengrass.DeviceDefender.log
- Windows
-
C:\greengrass\v2
\logs\aws.greengrass.DeviceDefender.log
라이선스
이 구성 요소는 Greengrass Core 소프트웨어 라이센스 계약에 따라 릴리스됩니다.
Changelog
다음 표에는 각 구성 요소 버전의 변경 사항이 설명되어 있습니다.
- v3.x
-
버전
|
변경
|
3.1.1
|
|
3.1.0
|
|
3.0.1
|
구성 요소가 지표의 델타 값을 계산하는 방법과 관련된 문제를 수정합니다.
|
3.0.0
|
이 버전은 더 이상 사용할 수 없습니다. 이 버전의 개선 사항은 이 구성 요소의 이후 버전에서 사용할 수 있습니다.
초기 버전
|
- v2.x
-
버전
|
변경
|
2.0.16
|
그린그래스 뉴클리어스 버전 2.13.0 릴리스를 위해 버전이 업데이트되었습니다.
|
2.0.11
|
그린그래스 뉴클리어스 버전 2.11.0 릴리스를 위해 버전이 업데이트되었습니다.
|
2.0.10
|
Greengrass 뉴클리어스 버전 2.7.0 릴리스를 위해 버전이 업데이트되었습니다.
|
2.0.9
|
Greengrass 뉴클리어스 버전 2.6.0 릴리스를 위해 버전이 업데이트되었습니다.
|
2.0.8
|
Greengrass 뉴클리어스 버전 2.5.0 릴리스를 위해 버전이 업데이트되었습니다.
|
2.0.7
|
그린그래스 뉴클리어스 버전 2.4.0 릴리스를 위해 버전이 업데이트되었습니다.
|
2.0.6
|
그린그래스 뉴클리어스 버전 2.3.0 릴리스를 위해 버전이 업데이트되었습니다.
|
2.0.5
|
Greengrass 뉴클리어스 버전 2.2.0 릴리스를 위해 버전이 업데이트되었습니다.
|
2.0.4
|
그린그래스 뉴클리어스 버전 2.1.0 릴리스에 대한 버전이 업데이트되었습니다.
|
2.0.3
|
초기 버전
|