AWS IoT Device Advisor トラブルシューティングガイド - AWS IoT Core

AWS IoT Device Advisor トラブルシューティングガイド

このトピックの改善にご協力ください

全般

Q: 複数のテストスイートを並行して実行できますか?

A: はい。Device Advisor で、デバイスレベルのエンドポイントを使用して異なるデバイスでの複数のテストスイートの実行がサポートされるようになりました。アカウントレベルのエンドポイントを使用する場合は、各アカウントで使用できるの Device Advisor エンドポイントは 1 つなので、一度に実行できるスイートは 1 つです。詳細については、「デバイスを設定する」を参照してください。

Q: デバイスから、TLS 接続が Device Advisor によって拒否されていたことがわかりました。これは想定どおりですか?

A: はい。Device Advisor は、各テストの実行前と実行後に TLS 接続を拒否します。Device Advisor で完全に自動化されたテストを行うために、デバイスの再試行メカニズムを実装することをお勧めします。複数のテストケース (TLS 接続、MQTT 接続、および MQTT 発行など) を使用してテストスイートを実行する場合、デバイス向けのメカニズムを構築することをお勧めします。このメカニズムでは、5 秒ごとにテストエンドポイントに 1 分から 2 分間の接続を試行できます。この方法を使用して、自動化された方法で順番に複数のテストケースを実行できます。

Q: セキュリティ分析および運用に関するトラブルシューティングを行うために、アカウントで実行された Device Advisor API 呼び出しの履歴を取得できますか?

A: はい。アカウントで実行された Device Advisor API 呼び出しの履歴を受信するために必要なのは、AWS IoT マネジメントコンソールで CloudTrail をオンにし、イベントソースを iotdeviceadvisor.amazonaws.com にするためにフィルタリングすることだけです。

Q: CloudWatch で Device Advisor ログを表示するにはどうすればよいですか?

A: 必要なポリシー (CloudWatchFullAccess など) をサービスロールに追加すると、テスト スイートの実行中に生成されたログが CloudWatch にアップロードされます (「セットアップ」 を参照してください)。テストスイートに 1 つ以上のテストケースがある場合、2 つのログストリームを含むロググループ「aws/iot/deviceadvisor/$testSuiteId」が作成されます。1 つのストリーミングは「$testRunId」という名前で、セットアップやクリーンアップ手順など、テストスイートでテストケースを実行する前と後に実行されたアクションのログが含まれます。もう 1 つのログストリーミングは、テストスイートの実行に固有の「$suiteRunId_$testRunId」です。デバイスおよび AWS IoT Core から送信されたイベントは、このログストリーミングに記録されます。

Q: デバイスのアクセス許可ロールの目的は何ですか?

A: Device Advisor は、テストデバイスと AWS IoT Core との間でテストシナリオをシミュレーションします。テストデバイスからの接続とメッセージを受け入れ、デバイスのアクセス許可ロールを引き受けてユーザーに代わり接続を開始することで、それらを AWS IoT Core に転送します。デバイスロールのアクセス許可が、テストの実行に使用する証明書にあるアクセス許可と同じであることを確認することが重要です。Device Advisor がユーザーに代わりデバイスのアクセス許可ロールを使用して AWS IoT Core への接続を開始する際、AWS IoT 証明書ポリシーは適用されません。ただし、設定したデバイスのアクセス許可ロールの権限は適用されます。

Q: Device Advisor はどのリージョンでサポートされていますか?

A: Device Advisor は、us-east-1、us-west-2、ap-northeast-1、eu-west-1 リージョンでサポートされています。

Q: 一貫性のない結果が表示される理由は何ですか?

A: 一貫性のない結果の主な原因の1つは、テストの EXECUTION_TIMEOUT を低すぎる値に設定していることです。EXECUTION_TIMEOUT の推奨値およびデフォルト値の詳細については、Device Advisor テストケースを参照してください。

Q: Device Advisor はどの MQTT プロトコルをサポートしていますか?

A: Device Advisor は、X509 クライアント証明書による MQTT をサポートしています。

Q: デバイスをテストエンドポイントに接続しようとした場合でもテストケースが実行タイムアウトメッセージで失敗した場合はどうなりますか?

A: 「デバイスロールとして使用する IAM ロールを作成する」のすべてのステップを検証します。それでもテストが失敗した場合、Device Advisor が機能するために必要な正しいサーバーネームインディケーション (SNI) 拡張子がデバイスから送信されていない可能性があります。正しい SNI 値は、「デバイスを設定する」のステップに従った場合に返されるエンドポイントアドレスです。AWS IoT では、デバイスがサーバーネームインディケーション (SNI) 拡張子を Transport Layer Security (TLS) プロトコルに送信する必要もあります。詳細については、「AWS IoT でのトランスポートセキュリティ」を参照してください。