翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 デベロッパーガイド」の「Device Defender コネクタ」を参照してください。
バージョン
このコンポーネントには、次のバージョンがあります。
コンポーネントの各バージョンに対する変更については、「変更ログ」を参照してください。
タイプ
- v3.x
-
このコンポーネントはジェネリックコンポーネント (aws.greengrass.generic
) です。Greengrass nucleus は、コンポーネントのライフサイクルスクリプトを実行します。
- v2.x
-
このコンポーネントは Lambda コンポーネントです (aws.greengrass.lambda
)。Greengrass nucleus は、Lambda ランチャーコンポーネントを使用してこのコンポーネントの Lambda 関数を実行します。
詳細については、「コンポーネントタイプ」を参照してください。
オペレーティングシステム
- v3.x
-
このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
- v2.x
-
このコンポーネントは、Linux コアデバイスにのみインストールできます。
要件
このコンポーネントには次の要件があります。
- v3.x
-
- v2.x
-
-
コアデバイスは、Lambda 関数を実行するための要件を満たしている必要があります。コアデバイスが、コンテナ化された Lambda 関数を実行させる場合、そのデバイスは要件を満たす必要があります。詳細については、「Lambda 関数の要件」を参照してください。
-
Python バージョン 3.7 がコアデバイスにインストールされ、 PATH 環境変数に追加されました。
-
AWS IoT Device Defender Detect 機能を使用して違反をモニタリングするように設定されています。詳細については、「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"
}
}
}
-
置換 region
使用する AWS リージョン を使用します。
-
置換 version
このコンポーネントが実行する Lambda 関数のバージョン。Lambda 関数のバージョンを確認するには、デプロイするこのコンポーネントのバージョンの recipe を確認する必要があります。AWS IoT Greengrass コンソールで、このコンポーネントの詳細ページを開き、[Lambda function] (Lambda 関数) の key-value ペアを見つけます。このキー値のペアには、Lambda 関数の名前とバージョンが含まれます。
このコンポーネントをデプロイするたびに、レガシーサブスクリプションルーターの Lambda 関数のバージョンを更新する必要があります。これにより、デプロイするコンポーネントバージョンに正しい Lambda 関数のバージョンが使用されることが保証されます。
詳細については、「デプロイの作成」を参照してください。
依存関係
コンポーネントをデプロイすると、 はその依存関係の互換性のあるバージョン AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントのリリースされたバージョンの依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、AWS IoT Greengrass コンソールでも確認できます。コンポーネントの詳細ページで [Dependencies] (依存関係) リストを確認します。
- 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 の依存関係を示します。
コンポーネントの依存関係の詳細については、「コンポーネント recipe のリファレンス」を参照してください。
構成
このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。
- 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
-
(オプション) このコンポーネントのコンテナパラメータを含むオブジェクト。containerMode
の GreengrassContainer
を指定した場合、コンポーネントはこれらのパラメータを使用します。
このオブジェクトには、次の情報が含まれます。
memorySize
-
(オプション) コンポーネントに割り当てるメモリ量 (KB 単位)。
デフォルトは 50,000 KB です。
pubsubTopics
-
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピックを含むオブジェクト。各トピックと、コンポーネントが からMQTTトピックをサブスクライブするか、ローカルのパブリッシュ/サブスクライブトピック AWS IoT Core をサブスクライブするかを指定できます。
このオブジェクトには、次の情報が含まれます。
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 ソフトウェアライセンス契約に従ってリリースされています。
変更ログ
次の表は、コンポーネントの各バージョンにおける変更を示します。
- v3.x
-
バージョン
|
変更
|
3.1.1
|
|
3.1.0
|
|
3.0.1
|
コンポーネントがメトリクスのデルタ値を計算する方法で生じる問題を修正しました。
|
3.0.0
|
このバージョンは現在利用できません。このバージョンの改善は、このコンポーネントのそれ以降のバージョンで利用できます。
当初のバージョン
|
- v2.x
-
バージョン
|
変更
|
2.0.16
|
Greengrass nucleus バージョン 2.13.0 リリース用にバージョンが更新されました。
|
2.0.11
|
Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。
|
2.0.10
|
Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。
|
2.0.9
|
Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。
|
2.0.8
|
Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。
|
2.0.7
|
Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。
|
2.0.6
|
Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。
|
2.0.5
|
Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。
|
2.0.4
|
Greengrass nucleus バージョン 2.1.0 のリリース用にバージョンが更新されました。
|
2.0.3
|
当初のバージョン
|