Upload
others
View
47
Download
0
Embed Size (px)
Citation preview
AWS IoT Greengrass開発者ガイド
AWS IoT Greengrass 開発者ガイド
AWS IoT Greengrass: 開発者ガイドCopyright © 2020 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.
AWS IoT Greengrass 開発者ガイド
Table of ContentsAWS IoT Greengrass とは ................................................................................................................... 1
AWS IoT Greengrass Core ソフトウェア ....................................................................................... 2AWS IoT Greengrass Core バージョン .................................................................................. 2
AWS IoT Greengrass グループ ..................................................................................................... 7AWS IoT Greengrass のデバイス .................................................................................................. 9SDK ........................................................................................................................................ 10サポートされているプラットフォームと要件 ................................................................................. 11AWS IoT Greengrass ダウンロード ............................................................................................. 17
AWS IoT Greengrass Core ソフトウェア ............................................................................. 17AWS IoT Greengrass スナップソフトウェア ......................................................................... 20AWS IoT Greengrass Docker ソフトウェア .......................................................................... 22AWS IoT Greengrass Core SDK ソフトウェア ...................................................................... 23AWS IoT Greengrass Machine Learning ランタイムおよびプリコンパイル済みライブラリ ........... 23AWS IoT Greengrass ML SDK ソフトウェア ........................................................................ 24
ご意見をお待ちしております ...................................................................................................... 25AWS IoT Greengrass Core の設定 .............................................................................................. 25
AWS IoT Greengrass Core 設定ファイル ............................................................................. 25エンドポイントは証明書タイプと一致する必要がある ............................................................ 54ポート 443 での接続またはネットワークプロキシを通じた接続 ............................................... 55書き込みディレクトリを設定する ........................................................................................ 61MQTT 設定の設定 ............................................................................................................. 64自動 IP 検出をアクティブ化する ......................................................................................... 75システムの起動時に Greengrass を開始する ......................................................................... 77コアソフトウェアのインストールのアーカイブ ...................................................................... 78以下の資料も参照してください。 ........................................................................................ 79
AWS IoT Greengrass の使用開始 ........................................................................................................ 80開始方法の選択 ......................................................................................................................... 80要件 ........................................................................................................................................ 82AWS 無料アカウント作成方法 .................................................................................................... 83クイックスタート: Greengrass デバイスのセットアップ ................................................................. 83
要件 ................................................................................................................................ 84Greengrass デバイスのセットアップを実行する .................................................................... 84Greengrass デバイスセットアップ設定オプション ................................................................. 86
モジュール 1: Greengrass の環境設定 ......................................................................................... 89Raspberry Pi のセットアップ ............................................................................................. 89Amazon EC2 インスタンスのセットアップ ........................................................................... 94他のデバイスの設定 .......................................................................................................... 99
モジュール 2: AWS IoT Greengrass Core ソフトウェアのインストール ........................................... 101AWS IoT の AWS IoT Greengrass の設定 ........................................................................... 102コアデバイスでの AWS IoT Greengrass の起動 ................................................................... 107
モジュール 3 (パート 1): AWS IoT Greengrass での Lambda 関数 .................................................. 110Lambda 関数の作成とパッケージ化 ................................................................................... 110AWS IoT Greengrass の Lambda 関数の設定 ...................................................................... 114Core デバイスへのクラウド設定のデプロイ ......................................................................... 119Lambda 関数がデバイスで実行されていることを確認する ..................................................... 120
モジュール 3 (パート 2): AWS IoT Greengrass での Lambda 関数 .................................................. 122Lambda 関数を作成しパッケージ化する ............................................................................. 122AWS IoT Greengrass に存続期間の長い Lambda 関数を設定する ........................................... 124存続期間の長い Lambda 関数のテスト ............................................................................... 125オンデマンド Lambda 関数のテスト .................................................................................. 130
モジュール 4: AWS IoT Greengrass でのデバイスの操作 .............................................................. 134AWS IoT Greengrass グループでの AWS IoT デバイスの作成 ................................................ 135サブスクリプションを設定する ......................................................................................... 137AWS IoT Device SDK for Python をインストールする .......................................................... 138
iii
AWS IoT Greengrass 開発者ガイド
通信のテスト .................................................................................................................. 143モジュール 5: Device Shadow の操作 ........................................................................................ 146
デバイスとサブスクリプションを設定する .......................................................................... 147必須ファイルをダウンロードする ...................................................................................... 150通信をテストする (デバイス同期無効) ................................................................................ 151通信をテストする (デバイス同期有効) ................................................................................ 154
モジュール 6: AWS の他のサービスにアクセスする ..................................................................... 156グループロールの設定 ...................................................................................................... 157Lambda 関数の作成と設定 ................................................................................................ 159サブスクリプションを設定する ......................................................................................... 163通信のテスト .................................................................................................................. 165
モジュール 7: ハードウェアセキュリティ統合のシミュレーション .................................................. 167SoftHSM をインストールする ........................................................................................... 167SoftHSM を設定する ........................................................................................................ 168プライベートキーをインポートする ................................................................................... 169Greengrass Core を設定する ............................................................................................ 169設定をテストする ............................................................................................................ 172以下の資料も参照してください。 ...................................................................................... 172
AWS IoT Greengrass Core ソフトウェアの OTA 更新 .......................................................................... 173Greengrass OTA Update Agent ................................................................................................. 174init システムとの統合 ............................................................................................................... 177
Managed Respawn による OTA 自己更新 ........................................................................... 177Managed Respawn による AWS IoT Greengrass Core 更新 .................................................. 178
OTA Update Agent 自己更新 .................................................................................................... 178Greengrass Core ソフトウェア更新 ........................................................................................... 178
AWS IoT Greengrass グループをデプロイする .................................................................................... 179AWS IoT コンソール からのグループのデプロイ .......................................................................... 180AWS IoT Greengrass API を使用したグループのデプロイ ............................................................. 181グループオブジェクトモデルの概要 ........................................................................................... 182
グループ ........................................................................................................................ 182グループバージョン ......................................................................................................... 182グループコンポーネント ................................................................................................... 183グループの更新 ............................................................................................................... 184
以下の資料も参照してください。 .............................................................................................. 185デプロイ通知の取得 ................................................................................................................. 185
グループデプロイステータスの変更イベント ....................................................................... 185EventBridge ルール作成の前提条件 .................................................................................... 186デプロイ通知の設定 (コンソール) ...................................................................................... 187デプロイ通知の設定 (CLI) ................................................................................................. 188デプロイ通知の設定 (AWS CloudFormation) ........................................................................ 188以下の資料も参照してください。 ...................................................................................... 188
デプロイのリセット ................................................................................................................. 188AWS IoT コンソール からのデプロイのリセット .................................................................. 189AWS IoT Greengrass API を使用したデプロイのリセット ..................................................... 189以下の資料も参照してください。 ...................................................................................... 190
一括デプロイの作成 ................................................................................................................. 190前提条件 ........................................................................................................................ 191一括デプロイ入力ファイルを作成してアップロードする ........................................................ 191IAM 実行ロールを作成して設定する ................................................................................... 193実行ロールに S3 バケットへのアクセスを許可する .............................................................. 194グループをデプロイする ................................................................................................... 195デプロイをテストする ...................................................................................................... 197一括デプロイのトラブルシューティング ............................................................................. 198以下の資料も参照してください。 ..................................................................................... 199
ローカルで Lambda 関数を実行する .................................................................................................. 201SDK ...................................................................................................................................... 201
クラウドベースの Lambda 関数への移行 ............................................................................ 203
iv
AWS IoT Greengrass 開発者ガイド
エイリアスまたはバージョンによる関数のリファレンス ................................................................ 204Greengrass Lambda 関数の実行の制御 ....................................................................................... 204
グループ固有構成設定 ...................................................................................................... 205root としての Lambda 関数の実行 ..................................................................................... 207Lambda 関数のコンテナ化を選択する場合の考慮事項 ........................................................... 208グループ内の Lambda 関数に対するデフォルトのアクセス ID の設定 ...................................... 210グループ内の Lambda 関数のコンテナ化のデフォルト設定 .................................................... 211
通信フロー ............................................................................................................................. 211MQTT メッセージを使用した通信 ...................................................................................... 211他の通信フロー ............................................................................................................... 212
入力トピック (または件名) の取得 ............................................................................................. 212のライフサイクル設定 .............................................................................................................. 214Lambda 実行可能ファイル ........................................................................................................ 215
Lambda 実行可能ファイルの作成 ...................................................................................... 216Docker コンテナでの AWS IoT Greengrass の実行 ...................................................................... 217
前提条件 ........................................................................................................................ 217Amazon ECR から AWS IoT Greengrass コンテナイメージを取得する ................................... 218Greengrass のグループとコアを作成して設定する ............................................................... 220AWS IoT Greengrass をローカルで実行する ....................................................................... 221グループの「コンテナなし」コンテナ化を設定する .............................................................. 224Lambda 関数を Docker コンテナにデプロイする ................................................................. 225(オプション) Docker コンテナの Greengrass を操作するデバイスをデプロイする ..................... 225AWS IoT Greengrass Docker コンテナの停止 ..................................................................... 225Docker コンテナでの AWS IoT Greengrass のトラブルシューティング ................................... 225
ローカルリソースへのアクセス ......................................................................................................... 228サポートされているリソースタイプ ........................................................................................... 228要件 ...................................................................................................................................... 229
/proc ディレクトリのボリュームリソース ........................................................................... 229グループ所有者のファイルアクセス権限 ..................................................................................... 230
以下の資料も参照してください。 ...................................................................................... 230CLI の使用 ............................................................................................................................. 230
ローカルリソースの作成 ................................................................................................... 230Greengrass 関数を作成する .............................................................................................. 232Lambda 関数をグループに追加する ................................................................................... 233トラブルシューティング ................................................................................................... 234
コンソールを使用する .............................................................................................................. 235前提条件 ........................................................................................................................ 235Lambda 関数デプロイパッケージを作成する ....................................................................... 236Lambda 関数を作成して公開する ...................................................................................... 237Lambda 関数をグループに追加する ................................................................................... 239グループにローカルリソースを追加する ............................................................................. 241サブスクリプションをグループに追加する .......................................................................... 243グループをデプロイする ................................................................................................... 245ローカルリソースアクセスのテスト ................................................................................... 247
機械学習の推論を実行する ................................................................................................................ 250AWS IoT Greengrass ML Inference のしくみ .............................................................................. 250機械学習リソース .................................................................................................................... 250
サポートされているモデルソース ...................................................................................... 251要件 ...................................................................................................................................... 252ML 推論用のランタイムとプリコンパイルされたフレームワークライブラリ ..................................... 253
Amazon SageMaker Neo 深層学習ランタイム ..................................................................... 253MXNet のバージョニング ................................................................................................. 253Raspberry Pi の MXNet .................................................................................................... 254Raspberry Pi での TensorFlow モデルの制限 ....................................................................... 254
機械学習リソースにアクセスする .............................................................................................. 254機械学習リソースのアクセス権限 ...................................................................................... 255Lambda 関数のアクセス権限の定義 (コンソール) ................................................................. 263
v
AWS IoT Greengrass 開発者ガイド
Lambda 関数 (API) のアクセス権限の定義 .......................................................................... 265Lambda 関数コードから機械学習リソースにアクセスする ..................................................... 267トラブルシューティング ................................................................................................... 268以下の資料も参照してください。 ...................................................................................... 270
Machine Learning Inference を設定する方法 ............................................................................... 270前提条件 ........................................................................................................................ 270Raspberry Pi を設定する .................................................................................................. 271MXNet フレームワークをインストールする ......................................................................... 271モデルパッケージを作成する ............................................................................................. 272Lambda 関数を作成して公開する ...................................................................................... 273Lambda 関数をグループに追加する ................................................................................... 277グループにリソースを追加する ......................................................................................... 279グループにサブスクリプションを追加する .......................................................................... 283グループをデプロイする ................................................................................................... 284アプリのテスト ............................................................................................................... 286次のステップ .................................................................................................................. 289NVIDIA Jetson TX2 の設定 ............................................................................................... 289
最適化された機械学習推論を設定する方法 .................................................................................. 290前提条件 ........................................................................................................................ 270Raspberry Pi を設定する .................................................................................................. 291Amazon SageMaker Neo Deep Learning ランタイムをインストールする ................................. 291推論 Lambda 関数を作成する ........................................................................................... 292Lambda 関数をグループに追加する ................................................................................... 295Neo 最適化モデルリソースをグループに追加する ................................................................ 296カメラデバイスリソースをグループに追加する .................................................................... 298サブスクリプションをグループに追加する .......................................................................... 301グループをデプロイする ................................................................................................... 302例をテストする ............................................................................................................... 304インテル Atom の設定 ..................................................................................................... 306NVIDIA Jetson TX2 の設定 ............................................................................................... 307AWS IoT Greengrass ML Inference のトラブルシューティング .............................................. 287次のステップ .................................................................................................................. 310
データストリームの管理 ................................................................................................................... 311ストリーム管理ワークフロー ..................................................................................................... 311要件 ...................................................................................................................................... 312データセキュリティ ................................................................................................................. 314
ローカルデータセキュリティ ............................................................................................. 314クライアント認証 ............................................................................................................ 315
以下の資料も参照してください。 .............................................................................................. 315ストリームマネージャーの設定 ................................................................................................. 315
ストリームマネージャーのパラメータ ................................................................................ 315設定を設定する (コンソール) ............................................................................................ 317設定の設定 (CLI) ............................................................................................................. 319以下の資料も参照してください。 ...................................................................................... 324
StreamManagerClient を使用する .............................................................................................. 324メッセージストリームの作成 ............................................................................................. 324メッセージの追加 ............................................................................................................ 326メッセージの読み取り ...................................................................................................... 326ストリームのリスト表示 ................................................................................................... 327メッセージストリームの説明 ............................................................................................. 328メッセージストリームの削除 ............................................................................................. 329以下の資料も参照してください。 ...................................................................................... 329
データストリームのエクスポート (コンソール) ............................................................................ 330.................................................................................................................................... 330
前提条件 ........................................................................................................................ 330Lambda 関数デプロイパッケージを作成する ....................................................................... 332Lambda 関数の作成 ......................................................................................................... 334
vi
AWS IoT Greengrass 開発者ガイド
グループに関数を追加する ................................................................................................ 335ストリームマネージャーを有効にする ................................................................................ 336ローカルなログ記録の設定 ................................................................................................ 337グループをデプロイする ................................................................................................... 337アプリケーションのテスト ................................................................................................ 338以下の資料も参照してください。 ...................................................................................... 339
データストリームのエクスポート (CLI) ...................................................................................... 339.................................................................................................................................... 339
前提条件 ........................................................................................................................ 340Lambda 関数デプロイパッケージを作成する ....................................................................... 342Lambda 関数の作成 ......................................................................................................... 344関数の定義とバージョンを作成する ................................................................................... 345次に、ロガー定義バージョンを作成します。 ....................................................................... 346コア定義バージョンの ARN を取得します。 ........................................................................ 347グループバージョンを作成する ......................................................................................... 348デプロイの作成 ............................................................................................................... 348アプリケーションのテスト ................................................................................................ 349以下の資料も参照してください。 ...................................................................................... 350
Core にシークレットをデプロイする .................................................................................................. 351シークレットの暗号化 .............................................................................................................. 352要件 ...................................................................................................................................... 353シークレット暗号化用のプライベートキーを指定する ................................................................... 353シークレットの値を取得することを AWS IoT Greengrass に許可する ............................................. 354以下の資料も参照してください。 .............................................................................................. 355シークレットリソースを使用する .............................................................................................. 355
シークレットの作成と管理 ................................................................................................ 356ローカルシークレットの使用 ............................................................................................. 359
シークレットリソースを作成する方法 (コンソール) ...................................................................... 361前提条件 ........................................................................................................................ 362Secrets Manager シークレットを作成する .......................................................................... 362グループにシークレットリソースを追加する ....................................................................... 363Lambda 関数デプロイパッケージを作成する ....................................................................... 365Lambda 関数の作成 ......................................................................................................... 366グループに関数を追加する ................................................................................................ 367シークレットリソースを関数にアタッチする ....................................................................... 368サブスクリプションをグループに追加する .......................................................................... 368グループをデプロイする ................................................................................................... 369関数をテストする ............................................................................................................ 370以下の資料も参照してください。 ...................................................................................... 372
コネクタを使用してサービスおよびプロトコルと統合する ..................................................................... 373要件 ...................................................................................................................................... 374AWS IoT Greengrass コネクタの使用 ........................................................................................ 374設定パラメータ ....................................................................................................................... 376
グループリソースへのアクセスに使用するパラメータ ........................................................... 376コネクタのパラメータの更新 ............................................................................................. 376
入力と出力 ............................................................................................................................. 377入力トピック .................................................................................................................. 377
ログ記録 ................................................................................................................................ 378AWS が提供する Greengrass コネクタ ...................................................................................... 378
CloudWatch Metrics ......................................................................................................... 379Device Defender ............................................................................................................. 386Docker アプリケーションのデプロイ .................................................................................. 390IoT Analytics .................................................................................................................. 404IoT SiteWise ................................................................................................................... 412Kinesis Firehose ............................................................................................................. 416ML フィードバック ......................................................................................................... 425ML 画像分類 ................................................................................................................... 436
vii
AWS IoT Greengrass 開発者ガイド
ML オブジェクトの検出 ................................................................................................... 453Modbus-RTU プロトコルアダプタ ..................................................................................... 464Raspberry Pi GPIO ......................................................................................................... 476シリアルストリーム ......................................................................................................... 481ServiceNow MetricBase との統合 ...................................................................................... 489SNS .............................................................................................................................. 495Splunk との統合 .............................................................................................................. 500Twilio 通知 ..................................................................................................................... 506
コネクタの使用を開始する (コンソール) ..................................................................................... 514.................................................................................................................................... 514
前提条件 ........................................................................................................................ 515Secrets Manager シークレットを作成する .......................................................................... 515グループにシークレットリソースを追加する ....................................................................... 517グループにコネクタを追加する ......................................................................................... 518Lambda 関数デプロイパッケージを作成する ....................................................................... 518Lambda 関数の作成 ......................................................................................................... 519グループに関数を追加する ................................................................................................ 521サブスクリプションをグループに追加する .......................................................................... 521グループをデプロイする ................................................................................................... 522ソリューションをテストする ............................................................................................. 523以下の資料も参照してください。 ...................................................................................... 525
コネクタの使用を開始する (CLI) ................................................................................................ 525.................................................................................................................................... 525
前提条件 ........................................................................................................................ 526Secrets Manager シークレットを作成する .......................................................................... 527リソースの定義とバージョンを作成する ............................................................................. 528コネクタの定義とバージョンを作成する ............................................................................. 528Lambda 関数デプロイパッケージを作成する ....................................................................... 529Lambda 関数の作成 ......................................................................................................... 530関数の定義とバージョンを作成する ................................................................................... 532サブスクリプションの定義とバージョンを作成する .............................................................. 532グループバージョンを作成する ......................................................................................... 533デプロイの作成 ............................................................................................................... 535ソリューションをテストする ............................................................................................. 535以下の資料も参照してください。 ...................................................................................... 537
Greengrass Discovery RESTful API ................................................................................................... 538リクエスト ............................................................................................................................. 538レスポンス ............................................................................................................................. 539承認 ...................................................................................................................................... 539検出レスポンスドキュメントの例 .............................................................................................. 539
カスタム OPC-UA サポートを実装する .............................................................................................. 542前提条件 ................................................................................................................................ 543テスト OPC-UA サーバーを設定する ......................................................................................... 543OPC-UA サーバーとやり取りする OPC-UA アダプター Lambda 関数を作成する .............................. 544OPC-UA アダプター Lambda 関数をテストする .......................................................................... 546次のステップ .......................................................................................................................... 547
AWS IoT Greengrass のセキュリティ ................................................................................................ 548Greengrass セキュリティの設定 ................................................................................................ 549
AWS IoT Greengrass コアデバイスの最小限の AWS IoT ポリシー .......................................... 549セキュリティプリンシパル ........................................................................................................ 552デバイス接続のワークフロー ..................................................................................................... 553Greengrass メッセージングワークフロー ................................................................................... 554MQTT Core サーバーの証明書ローテーション ............................................................................. 554TLS 暗号スイートのサポート .................................................................................................... 555Greengrass サービスロール ...................................................................................................... 555
サービスロールを管理する (コンソール) ............................................................................. 556サービスロールを管理する (CLI) ........................................................................................ 559
viii
AWS IoT Greengrass 開発者ガイド
以下の資料も参照してください。 ...................................................................................... 561ハードウェアセキュリティ ........................................................................................................ 561
要件 .............................................................................................................................. 562ハードウェアセキュリティ設定 ......................................................................................... 563プロビジョニング慣行 ..................................................................................................... 567サポートされている暗号スイート ...................................................................................... 569OTA 更新を設定する ....................................................................................................... 570下位互換性 ..................................................................................................................... 571PKCS#11 をサポートしないハードウェア ........................................................................... 571以下の資料も参照してください。 ...................................................................................... 571
モニタリング .................................................................................................................................. 572CloudWatch Logs へのアクセス ................................................................................................ 572ファイルシステムログへのアクセス ........................................................................................... 573デフォルトのログ記録設定 ........................................................................................................ 573AWS IoT Greengrass のログ記録の設定 ..................................................................................... 574
ログ記録の設定 (コンソール) ............................................................................................ 574ログ記録の設定 (API) ....................................................................................................... 575設定例 ........................................................................................................................... 576
ログ記録の制限 ....................................................................................................................... 5761 秒あたりのトランザクション数 ....................................................................................... 576メモリ ........................................................................................................................... 576クロックスキュー ............................................................................................................ 577ディスク使用量 ............................................................................................................... 577ログの損失 ..................................................................................................................... 577
AWS CloudTrail を使用した AWS IoT Greengrass API コールのログ作成 ........................................ 577CloudTrail 内の AWS IoT Greengrass 情報 ......................................................................... 578AWS IoT Greengrass ログファイルエントリの概要 .............................................................. 578以下の資料も参照してください。 ...................................................................................... 581
CloudTrail ログ ....................................................................................................................... 581Greengrass リソースへのタグ付け ..................................................................................................... 582
タグの基本 ............................................................................................................................. 582タグ付けのサポート (コンソール) ...................................................................................... 582タグ付けのサポート (API) ................................................................................................. 583
IAM ポリシーでのタグの使用 .................................................................................................... 584IAM ポリシーの例 ........................................................................................................... 585
以下の資料も参照してください。 .............................................................................................. 586AWS CloudFormation による AWS IoT Greengrass のサポート ............................................................. 587
リソースの作成 ....................................................................................................................... 587リソースのデプロイ ................................................................................................................. 588テンプレートの例 .................................................................................................................... 588サポートされている AWS リージョン ........................................................................................ 597
AWS IoT Device Tester for AWS IoT Greengrass を使用する ................................................................ 598AWS IoT Device Tester for AWS IoT Greengrass バージョン ........................................................ 599
AWS IoT Greengrass の以前の IDT バージョン ................................................................... 599前提条件 ................................................................................................................................ 601
最新バージョンの AWS IoT Device Tester for AWS IoT Greengrass をダウンロードする ............ 601AWS アカウントを作成して設定する ................................................................................. 601IDT for Greengrass 1.6.1 以前の使用 ................................................................................. 605デバイスを設定する ......................................................................................................... 606
AWS IoT Greengrass 資格スイートを実行するための設定構成 ....................................................... 612AWS 認証情報を設定する ................................................................................................. 612デバイス設定 .................................................................................................................. 613
テストを実行する .................................................................................................................... 616AWS IoT Device Tester for AWS IoT Greengrass コマンド .................................................... 616
結果とログを理解する .............................................................................................................. 616結果の表示 ..................................................................................................................... 617
テストグループの説明 .............................................................................................................. 619
ix
AWS IoT Greengrass 開発者ガイド
IDT for AWS IoT Greengrass トラブルシューティング ................................................................. 622エラーコード .................................................................................................................. 622IDT for AWS IoT Greengrass エラーの解決 ......................................................................... 632
トラブルシューティング ................................................................................................................... 636AWS IoT Greengrass Core に関する問題 .................................................................................... 636
次のエラーが発生する。The configuration file is missing the CaPath, CertPath or KeyPath.TheGreengrass daemon process with [pid = ] died. ............................................................ 637次のエラーが発生する。Failed to parse //config/config.json. .......................... 638次のエラーが発生する。Error occurred while generating TLS config: ErrUnknownURIScheme ..... 638次のエラーが発生する。Runtime failed to start: unable to start workers: container test timed out. .. 638次のエラーが発生する。Failed to invoke PutLogEvents on local Cloudwatch, logGroup: /GreengrassSystem/connection_manager, error: RequestError: send request failed causedby: Post http:///cloudwatch/logs/: dial tcp : getsockopt: connection refused,response: { }. .................................................................................................................. 639次のエラーが発生する。Unable to create server due to: failed to loadgroup: chmod //ggc/deployment/lambda/arn:aws:lambda:::function::/: no such file or directory. ........................... 639コンテナ化なしの実行から Greengrass コンテナでの実行に変更した後、AWS IoT GreengrassCore ソフトウェアが起動しない。 ..................................................................................... 639次のエラーが発生する。Spool size should be at least 262144 bytes. ....................................... 640次のエラーが発生する。container_linux.go:344: starting container process caused"process_linux.go:424: container init caused \"rootfs_linux.go:64: mounting \\\"/greengrass/ggc/socket/greengrass_ipc.sock\\\" to rootfs \\\"/greengrass/ggc/packages//rootfs/merged\\\" at \\\"/greengrass_ipc.sock\\\" caused \\\"stat /greengrass/ggc/socket/greengrass_ipc.sock:permission denied\\\"\"". .................................................................................................... 640次のエラーが発生する。Greengrass daemon running with PID: .Some systemcomponents failed to start.Check 'runtime.log' for errors. ....................................................... 640デバイスのシャドウがクラウドと同期していない。 .............................................................. 641次のエラーが発生する。unable to accept TCP connection. accept tcp [::]:8000: accept4: toomany open files. ............................................................................................................. 641次のエラーが発生する。Runtime execution error: unable to start lambda container.container_linux.go:259: starting container process caused "process_linux.go:345: container initcaused \"rootfs_linux.go:50: preparing rootfs caused \\\"permission denied\\\"\"". ........................ 641次の警告が表示される。[WARN]-[5]GK Remote: Error retrieving public key data:ErrPrincipalNotConfigured: private key for MqttCertificate is not set. ........................................ 641次のエラーが発生する。Permission denied when attempting to use rolearn:aws:iam:::role/ to access s3 url https://-greengrass-updates.s3..amazonaws.com/core//greengrass-core-.tar.gz. ............................................................................................................... 642AWS IoT Greengrass コア は、ネットワークプロキシを使用するように設定されていて、Lambda 関数は送信接続を行うことができません。 ........................................................ 642このコアは、無限の接続 - 切断ループにあります。runtime.log ファイルには、継続的な一連の接続と切断のエントリが含まれています。 .......................................................................... 642次のエラーが発生する。unable to start lambda container. container_linux.go:259: startingcontainer process caused "process_linux.go:345: container init caused \"rootfs_linux.go:62:mounting \\\"proc\\\" to rootfs \\\" ........................................................................................ 643次のエラーが発生する。[ERROR]-runtime execution error: unable to start lambda container.{"errorString": "failed to initialize container mounts: failed to create overlay fs for container:mounting overlay at /greengrass/ggc/ packages//rootfs/merged failed: failed tomount with args source=\"no_source\" dest=\"/greengrass/ggc/packages//rootfs/merged\" fstype=\"overlay\" flags=\"0\" data=\"lowerdir=/greengrass/ggc/packages//dns:/,upperdir=/greengr ass/ggc/packages//rootfs/upper,workdir=/greengrass/ggc/packages//rootfs/work\": too many levels of symbolic links"} ................................ 644エラー: [DEBUG] - ルートの取得に失敗しました。メッセージを破棄します。 .......................... 644
デプロイに関する問題 .............................................................................................................. 644現在のデプロイは機能せず、以前の正常なデプロイに戻す必要があります。 ............................ 645デプロイに関する 403 Forbidden エラーがログに表示される。 .............................................. 647
x
AWS IoT Greengrass 開発者ガイド
create-deployment コマンドを初めて実行すると、ConcurrentDeployment エラーが発生する。 ... 647次のエラーが発生する。Greengrass is not authorized to assume the Service Role associatedwith this account, or the error: Failed: TES service role is not associated with this account. .......... 647デプロイが完了しない。 ................................................................................................... 647エラー: Java または Java 8 の実行可能ファイルが見つかりません ......................................... 648デプロイが完了せず、runtime.log に複数の「wait 1s for container to stop」エントリが含まれる。 .............................................................................................................................. 648次のエラーが発生する。Deployment of type NewDeployment for group failed error: Error while processing. group config is invalid: 112 or [119 0] don't have rwpermission on the file: . .......................................................................................... 648次のエラーが発生する。 are configured to run as root but Greengrass isnot configured to run Lambda functions with root permissions. ................................................ 649次のエラーが発生する。Deployment of type NewDeployment for group failed error: Greengrass deployment error: unable to execute download step in deployment.error while processing: unable to load the group file downloaded: could not find UID based onuser name, userName: ggc_user: user: unknown user ggc_user. ............................................ 649次のエラーが発生する。Deployment of type NewDeployment for group failed error: process start failed: container_linux.go:259: starting container process caused"process_linux.go:250: running exec setns process for init caused \"wait: no child processes\"". .... 649次のエラーが発生する。[WARN]-MQTT[client] dial tcp: lookup -ats.iot..amazonaws.com: no such host ... [ERROR]-Greengrass deployment error: failedto report deployment status back to cloud ... net/http: request canceled while waiting forconnection (Client.Timeout exceeded while awaiting headers) ................................................ 650
グループの作成/関数の作成に関する問題 .................................................................................... 650次のエラーが発生する。Your 'IsolationMode' configuration for the group is invalid. ..................... 651次のエラーが発生する。Your 'IsolationMode' configuration for function with arn isinvalid. ........................................................................................................................... 651次のエラーが発生する。MemorySize configuration for function with arn is notallowed in IsolationMode=NoContainer. .............................................................................. 651次のエラーが発生する。Access Sysfs configuration for function with arn is notallowed in IsolationMode=NoContainer. .............................................................................. 651次のエラーが発生する。MemorySize configuration for function with arn isrequired in IsolationMode=GreengrassContainer. .................................................................. 652次のエラーが発生する。Function refers to resource of type thatis not allowed in IsolationMode=NoContainer. ...................................................................... 652次のエラーが発生する。Execution configuration for function with arn is notallowed. ......................................................................................................................... 652
検出の問題 ............................................................................................................................. 652エラー: デバイスがメンバーになっているグループの数が多すぎます。デバイスを 10 個を超えるグループに含めることはできません。 ............................................................................. 653
機械学習リソースの問題 ........................................................................................................... 653InvalidMLModelOwner - GroupOwnerSetting は ML モデルリソースに提供されていますが、GroupOwner または GroupPermission がありません ...................................................... 268NoContainer 関数は、機械学習リソースをアタッチするときにアクセス権限を設定できません。 は、リソースアクセスポリシーでアクセス権限 を持つ機械学習リソース を参照します。 ................................................................................. 269関数 は、ResourceAccessPolicy と resource OwnerSetting の両方でアクセス権限がない機械学習リソース を参照します。 ..................................................... 269関数 は、権限 \「rw\」の機械学習リソース を参照し、リソース所有者設定 GroupPermission は \「ro\」のみを許可します。 .................................................... 269NoContainer 関数 は、ネストされた送信先パスのリソースを参照します。 .......... 269Lambda は、同じグループ所有者 ID を共有することでリソース にアクセスします。 ............................................................................................................ 269
Docker での AWS IoT Greengrass Core に関する問題 .................................................................. 655次のエラーが発生する。Unknown options: -no-include-email .................................................. 226次の警告が表示される。IPv4 is disabled.ネットワークは機能しません。 ................................. 226次のエラーが発生する。A firewall is blocking file Sharing between windows and the containers. ... 226
xi
AWS IoT Greengrass 開発者ガイド
次のエラーが発生する。Cannot create container for the service greengrass: Conflict.Thecontainer name "/aws-iot-greengrass" is already in use. ........................................................ 656次のエラーが発生する。[FATAL]-Failed to reset thread's mount namespace due to anunexpected error: "operation not permitted".整合性を維持するには、GGC がクラッシュするため手動で再起動する必要があります。 ................................................................................... 656
ログでのトラブルシューティング .............................................................................................. 657ストレージ問題のトラブルシューティング .................................................................................. 657メッセージのトラブルシューティング ........................................................................................ 658シャドウ同期タイムアウト問題のトラブルシューティング ............................................................. 658AWS IoT Greengrass フォーラムを確認します。 ......................................................................... 659
ドキュメント履歴 ............................................................................................................................ 660以前の更新 ............................................................................................................................. 664
xii
AWS IoT Greengrass 開発者ガイド
AWS IoT Greengrass とはAWS IoT Greengrass は、クラウドの機能をローカルデバイスに拡張するソフトウェアです。これにより、デバイスは情報源に近いデータを収集および分析して、ローカルイベントに自律的に反応し、ローカルネットワークで互いに安全に通信することができます。ローカルデバイスは、AWS IoT と安全に通信し、AWS クラウドに IoT データをエクスポートすることもできます。AWS IoT Greengrass 開発者は、AWS Lambda 関数と事前構築されたコネクタ (p. 373)を使用して、ローカルで実行するためにデバイスにデプロイされるサーバーレスアプリケーションを作成できます。
AWS IoT Greengrass の基本的なアーキテクチャを次の図に示します。
AWS IoT Greengrass により、お客様は IoT デバイスとアプリケーションロジックを構築できるようになります。具体的には、AWS IoT Greengrass により、デバイス上で動作するアプリケーションロジックのクラウドベースの管理が可能になります。ローカルにデプロイした Lambda 関数とコネクタは、ローカルイベント、クラウドからのメッセージ、またはその他のソースによってトリガーされます。
AWS IoT Greengrass では、デバイスはローカルネットワーク上で安全に通信し、クラウドに接続することなくメッセージを交換します。AWS IoT Greengrass は、クラウドへのインバウンドおよびアウトバウンドメッセージが保存されるように、接続が失われた場合にインテリジェントにメッセージをバッファーできる、ローカル pub/sub メッセージマネージャーを提供します。
AWS IoT Greengrass でのユーザーデータの保護方法は以下のとおりです。
• デバイスの安全な認証と認可を介して保護。• ローカルネットワークの安全な接続を介して保護。• ローカルデバイスとクラウドの間で保護。
デバイスのセキュリティ認証情報は、クラウドへの接続が中断された場合でも、失効するまでグループで機能するため、デバイスはローカルで安全に通信を続けることができます。
AWS IoT Greengrass は、Lambda 関数の安全な無線によるソフトウェア更新をサポートします。
AWS IoT Greengrass は以下の要素によって構成される
• ソフトウェアディストリビューション
1
AWS IoT Greengrass 開発者ガイドAWS IoT Greengrass Core ソフトウェア
• AWS IoT Greengrass Core ソフトウェア• AWS IoT Greengrass コア SDK
• クラウドサービス• AWS IoT Greengrass API
• 特徴• Lambda ランタイム• シャドウの実装• メッセージマネージャー• グループ管理• 検出サービス• 無線通信経由更新エージェント• ストリームマネージャー• ローカルリソースアクセス• ローカル機械学習推論• ローカルシークレットマネージャー• サービス、プロトコル、およびソフトウェアとの組み込み統合を備えたコネクタ
AWS IoT Greengrass Core ソフトウェアAWS IoT Greengrass Core ソフトウェアには、以下の機能が用意されています。
• コネクタと Lambda 関数のデプロイとローカル実行。• AWS クラウドへの自動エクスポートにより、データストリームをローカルで処理します。• マネージドサブスクリプションを使用したデバイス、コネクタ、および Lambda 関数間のローカルネッ
トワークを介した MQTT メッセージング。• マネージドサブスクリプションを使用した AWS IoT とデバイス、コネクタと Lambda 関数間の MQTT
メッセージング。• デバイスの認証と承認を使用したデバイスとクラウド間の安全な接続。• デバイスのローカルシャドウ同期。シャドウはクラウドと同期するように設定できます。• ローカルデバイスとボリュームリソースへの制御されたアクセス。• ローカル推論を実行するためにクラウドでトレーニングされた機械学習モデルのデプロイ。• デバイスで Greengrass コアデバイスを検出するための IP アドレス自動検出。• 新規作成または更新されたグループ設定の一元的デプロイ。設定データをダウンロードすると、コアデ
バイスが自動的に再起動されます。• ユーザー定義の Lambda 関数の安全な無線通信経由 (OTA) のソフトウェア更新。• コネクタと Lambda 関数で制御される、ローカルシークレットの安全な暗号化されたストレージ。
AWS IoT Greengrass コア インスタンスを設定するには AWS IoT Greengrass API を使用します。このAPI は、AWS IoT Greengrass グループ定義を作成し、クラウド上に保存されたグループ定義を更新します。
AWS IoT Greengrass Core バージョン次のタブでは、AWS IoT Greengrass Core ソフトウェアのバージョンの最新情報と変更について説明しています。
2
AWS IoT Greengrass 開発者ガイドAWS IoT Greengrass Core バージョン
GGC v1.10
1.10.0 - 現在のバージョン
新機能:• データストリームをローカルで処理し、AWS クラウドに自動的にエクスポートするストリーム
マネージャー。この機能を使用するには、Greengrass Core デバイスで Java 8 が使用できる必要があります。詳細については、「データストリームの管理 (p. 311)」を参照してください。
• コアデバイスで Docker アプリケーションを実行する、新しい Greengrass Docker アプリケーションのデプロイコネクタ。詳細については、「the section called “Docker アプリケーションのデプロイ” (p. 390)」を参照してください。
• AWS IoT SiteWise で産業用デバイスデータを OPC-UA サーバーからのアセットプロパティに送信する、新しい IoT SiteWise コネクタ。詳細については、「the section called “IoTSiteWise” (p. 412)」を参照してください。
• コンテナ化を使用せずに実行する Lambda 関数では、Greengrass グループの機械学習リソースにアクセスできます。詳細については、「the section called “機械学習リソースにアクセスする” (p. 254)」を参照してください。
• AWS IoT での MQTT 永続的セッションのサポート。詳細については、「the section called“AWS IoT を使用した MQTT 永続的セッション” (p. 68)」を参照してください。
• ローカルの MQTT トラフィックは、デフォルトのポート 8883 以外のポートを使用できます。詳細については、「the section called “ローカルメッセージング用の MQTT ポートの設定” (p. 73)」を参照してください。
• Lambda 関数から信頼性の高いメッセージを発行するための AWS IoT Greengrass CoreSDK (p. 201) の新しい queueFullPolicy オプション。
バグ修正と機能向上:• ハードウェアセキュリティ統合による無線通信 (OTA) アップデートは、OpenSSL 1.1 で設定で
きます。• 一般的なパフォーマンス向上とバグ修正。
GGC v1.9
1.9.4
バグ修正と機能向上:• 一般的なパフォーマンス向上とバグ修正。
1.9.3
新機能:• Armv6l のサポート。AWS IoT Greengrass Core ソフトウェア 1.9.3 or later は、Armv6l アーキ
テクチャ (Raspberry Pi Zero デバイスなど) の Raspbian ディストリビューションにインストールできます。
• ALPN を使用したポート 443 での OTA 更新。MQTT トラフィックにポート 443 を使用するGreengrass コアは、無線 (OTA) ソフトウェア更新をサポートするようになりました。AWSIoT Greengrass は Application Layer Protocol Network (ALPN) TLS 拡張を使用してこれらの接続を有効にします。詳細については、「AWS IoT Greengrass Core ソフトウェアの OTA 更新 (p. 173)」および「the section called “ポート 443 での接続またはネットワークプロキシを通じた接続” (p. 55)」を参照してください。
バグ修正と機能向上:• Python 2.7 Lambda 関数がバイナリペイロードを他の Lambda 関数に送信できない、v1.9.0 で
発生したバグを修正。• 一般的なパフォーマンス向上とバグ修正。
3
AWS IoT Greengrass 開発者ガイドAWS IoT Greengrass Core バージョン
1.9.2
新機能:• OpenWrt をサポートします。AWS IoT Greengrass Core ソフトウェア v1.9.2 以降は、Armv8
(AArch64) および Armv7l アーキテクチャの OpenWrt ディストリビューションにインストールできます。現在、OpenWrt は ML 推論をサポートしていません。
1.9.1
バグ修正と機能向上:• トピックにワイルドカード文字が含まれている cloud からのメッセージが削除される、v1.9.0
で発生したバグを修正しました。1.9.0
新機能:• Python 3.7 および Node.js 8.10 Lambda ランタイムのサポート。Python 3.7 および Node.js
8.10 ランタイムを使用する Lambda 関数を AWS IoT Greengrass コア で実行できるようになりました (AWS IoT Greengrass では、引き続き Python 2.7 および Node.js 6.10 ランタイムがサポートされます)。
• 最適化された MQTT 接続。Greengrass コアでは、AWS IoT コアと確立する接続の数が少なくなります。この変更により、接続の数に基づく料金の運用コストを削減できます。
• ローカル MQTT サーバー用楕円曲線 (EC) キー。ローカル MQTT サーバーは、RSA キーに加えて EC キーをサポートします。(MQTT サーバー証明書には、キータイプに関係なく、SHA-256 RSA 署名があります。) 詳細については、「the section called “セキュリティプリンシパル” (p. 552)」を参照してください。
バグ修正と機能向上:• 一般的なパフォーマンス向上とバグ修正。
GGC v1.8
1.8.4
シャドウ同期とデバイス証明書マネージャーの再接続の問題を修正しました。
一般的なパフォーマンス向上とバグ修正。1.8.3
一般的なパフォーマンス向上とバグ修正。1.8.2
一般的なパフォーマンス向上とバグ修正。1.8.1
一般的なパフォーマンス向上とバグ修正。1.8.0
新機能:• グループ内の Lambda 関数の設定可能なデフォルトアクセス ID。このグループレベルの設定
により、Lambda 関数の実行で使用されるデフォルトのアクセス許可が決まります。ユーザーID、グループ ID、またはその両方を設定できます。個々の Lambda 関数は、そのグループのデフォルトのアクセス ID を上書きできます。詳細については、「the section called “グループ内の Lambda 関数に対するデフォルトのアクセス ID の設定” (p. 210)」を参照してください。
• ポート 443 経由の HTTPS トラフィック。HTTPS コミュニケーションは、デフォルトのポート8443 ではなくポート 443 を経由するように設定できます。これは、Application Layer ProtocolNetwork (ALPN) TLS 拡張の AWS IoT Greengrass サポートを補完し、すべての Greengrassメッセージングトラフィック (MQTT と HTTPS の両方) がポート 443 を使用できるようにしま
4
https://openwrt.org/
AWS IoT Greengrass 開発者ガイドAWS IoT Greengrass Core バージョン
す。詳細については、「the section called “ポート 443 での接続またはネットワークプロキシを通じた接続” (p. 55)」を参照してください。
• AWS IoT 接続用の予測される名前のクライアント ID。この変更により、AWS IoT DeviceDefender および AWS IoT ライフサイクルイベントのサポートが有効になり、そのため接続、切断、購読、および購読解除のイベントに関する通知を受け取ることができます。予測可能な命名により、接続 ID を中心としたロジックの作成も容易になります (たとえば、証明書の属性に基づいてサブスクライブポリシーテンプレートを作成します。詳細については、「thesection called “AWS IoT を使用した MQTT 接続用クライアント ID” (p. 71)」を参照してください。
バグ修正と機能向上:• シャドウ同期とデバイス証明書マネージャーの再接続の問題を修正しました。• 一般的なパフォーマンス向上とバグ修正。
Deprecated versions
1.7.1
新機能:• Greengrass コネクタにより、ローカルインフラストラクチャ、デバイスプロトコル、AWS、
その他のクラウドサービスとの組み込み統合を提供。詳細については、「コネクタを使用してサービスおよびプロトコルと統合する (p. 373)」を参照してください。
• AWS IoT Greengrass で AWS Secrets Manager をコアデバイスに拡張。これにより、パスワードやトークンなどのシークレットをコネクタや Lambda 関数で利用できます。シークレットは転送中および保管時に暗号化されます。詳細については、「Core にシークレットをデプロイする (p. 351)」を参照してください。
• 信頼セキュリティオプションのハードウェアルートのサポート。詳細については、「thesection called “ハードウェアセキュリティ” (p. 561)」を参照してください。
• 分離およびアクセス許可の設定で、Lambda 関数が Greengrass コンテナなしで実行され、指定されたユーザーとグループのアクセス許可を使用するように指定可能。詳細については、「thesection called “Greengrass Lambda 関数の実行の制御” (p. 204)」を参照してください。
• コンテナ化を使用しないで実行するように Greengrass グループを設定することにより、(Windows、macOS、または Linux 上で) Docker コンテナで AWS IoT Greengrass を実行できます。詳細については、「the section called “Docker コンテナでの AWS IoT Greengrass の実行” (p. 217)」を参照してください。
• Application Layer Protocol Negotiation (ALPN) またはネットワークを介した接続によるポート443 での MQTT メッセージング。詳細については、「the section called “ポート 443 での接続またはネットワークプロキシを通じた接続” (p. 55)」を参照してください。
• Amazon SageMaker Neo 深層学習ランタイム。これにより、Amazon SageMaker Neo 深層学習コンパイラーで最適化された機械学習モデルをサポートします。Neo 深層学習ランタイムの詳細については、「the section called “ML 推論用のランタイムとプリコンパイルされたフレームワークライブラリ” (p. 253)」を参照してください。
• Raspberry Pi Core デバイスで Raspbian Stretch (2018-06-27) をサポート。
バグ修正と機能向上:• 一般的なパフォーマンス向上とバグ修正。
さらに、このリリースでは以下の機能も使用できます。• AWS IoT Device Tester for AWS IoT Greengrass。これにより、CPU アーキテクチャ、カーネ
ル設定、ドライバーが AWS IoT Greengrass で動作することを検証できます。詳細については、「AWS IoT Device Tester for AWS IoT Greengrass を使用する (p. 598)」を参照してください。
• AWS IoT Greengrass Core ソフトウェア、AWS IoT Greengrass Core SDK、および AWS IoTGreengrass Machine Learning SDK の各パッケージは、Amazon CloudFront を通じてダウ
5
https://docs.aws.amazon.com/iot/latest/developerguide/life-cycle-events.htmlhttps://docs.aws.amazon.com/iot/latest/developerguide/pub-sub-policy.html#pub-sub-policy-cert
AWS IoT Greengrass 開発者ガイドAWS IoT Greengrass Core バージョン
ンロードできます。詳細については、「the section called “AWS IoT Greengrass ダウンロード” (p. 17)」を参照してください。
1.6.1
新機能:• Greengrass Core でバイナリコードを実行する Lambda 実行ファイル。新しい AWS IoT
Greengrass Core SDK for C を使用して、C および C++ で Lambda 実行ファイル を記述できます。詳細については、「the section called “Lambda 実行可能ファイル” (p. 215)」を参照してください。
• 再起動しても維持される、オプションのローカルストレージメッセージキャッシュ。処理のためにキュー状態にある MQTT メッセージのストレージ設定を構成できます。詳細については、「the section called “MQTT メッセージキュー” (p. 65)」を参照してください。
• コアデバイスが切断された場合のための設定可能な再接続の最大再試行。詳細については、「mqttMaxConnectionRetryInterval」の the section called “AWS IoT Greengrass Core設定ファイル” (p. 25) プロパティを参照してください。
• ホストの /proc ディレクトリへのローカルリソースアクセス。詳細については、「ローカルリソースへのアクセス (p. 228)」を参照してください。
• 設定可能な書き込みディレクトリ。AWS IoT Greengrass Core ソフトウェアは、読み取り専用および読み取り/書き込みの場所にデプロイできます。詳細については、「the section called “書き込みディレクトリを設定する” (p. 61)」を参照してください。
バグ修正と機能向上:• Greengrass コア内およびデバイスとコア間のメッセージ発行のパフォーマンスの改善。• ユーザー定義の Lambda 関数によって生成されたログを処理するために必要なコンピューティ
ングリソースの数を減らしました。1.5.0
新機能:• AWS IoT Greengrass Machine Learning (ML) Inference は一般公開されています。クラウ
ドで構築されトレーニングされたモデルを使用して、AWS IoT Greengrass デバイスでML Inference をローカルで実行できます。詳細については、「機械学習の推論を実行する (p. 250)」を参照してください。
• Greengrass Lambda 関数は、JSON に加えてバイナリデータも入力ペイロードとしてサポートするようになりました。この機能を使用するには、AWS IoT Greengrass Core SDK バージョン 1.1.0 にアップグレードする必要があります。この SDK は、AWS IoT Greengrass CoreSDK (p. 23) ダウンロード ページからダウンロードできます。
バグ修正と機能向上:• 総メモリ使用量の削減。• クラウドへのメッセージの送信パフォーマンスの向上。• ダウンロードエージェント、Device Certificate Manager、OTA 更新エージェントのパフォーマ
ンス�