翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
このトピックの改善にご協力ください
全般
- 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 バージョン 3.1.1 をサポートしています。
- Q: デバイスをテストエンドポイントに接続しようとした場合でもテストケースが実行タイムアウトメッセージで失敗した場合はどうなりますか?
-
A: 「デバイスロールとして使用する IAM ロールを作成する」のすべてのステップを検証します。それでもテストが失敗した場合、Device Advisor が機能するために必要な正しいサーバーネームインディケーション (SNI) 拡張子がデバイスから送信されていない可能性があります。正しい SNI 値は、「デバイスを設定する」セクションに従って返されるエンドポイントアドレスです。 AWS IoT では、デバイスが Server Name Indication (SNI) 拡張を Transport Layer Security (TLS) プロトコルに送信することも必要です。詳細については、「 のトランスポートセキュリティ AWS IoT」を参照してください。
- Q: MQTT 接続が「libaws-c-mqtt: AWS_ERROR_MQTT_UNEXPECTED_HANGUP」エラーで失敗します。(または) デバイスの MQTT 接続が Device Advisor のエンドポイントから自動的に切断されます。このエラーはどのように解決できますか?
-
A: この特定のエラーコードと予期しない切断は、さまざまな原因で発生する可能性がありますが、ほとんどの場合、デバイスに関連付けられているデバイスのロールに関連している可能性があります。以下のチェックポイント (優先度順) でこの問題を解決します。
-
デバイスにアタッチされたデバイスロールには、テストを実行するために必要な最低限の IAM 権限が必要です。Device Advisor は、接続されたデバイスのロールを使用して、テストデバイスに代わって AWS IoT MQTT アクションを実行します。必要な権限がない場合、
AWS_ERROR_MQTT_UNEXPECTED_HANGUP
エラーが表示されるか、デバイスが Device Advisor のエンドポイントに接続しようとするときに予期しない切断が発生します。例えば、MQTT Publish テストケースの実行を選択した場合、Connect アクションと Publish アクションの両方を、対応する ClientId と Topic とともにロールに含める必要があります (コンマで区切ることで複数の値を指定でき、ワイルドカード (*) 文字を使用してプレフィックス値を指定することもできます)。例えば、TestTopic
で始まる任意のトピックで公開するためのアクセス許可を付与する場合は、リソース値としてTestTopic*
を指定できます。ポリシーの例を次に示します。 -
リソースタイプのデバイスロールで定義されている値と、コードで使用される実際の値が一致しません。例: ロールで定義された ClientId とデバイスコードで使用されている実際の ClientId の不一致。ClientId、Topic、TopicFilter などの値は、デバイスロールとコードで同一である必要があります。
-
デバイスに添付されているデバイス証明書は、アクティブであり、リソースに必要なアクション許可を持つポリシーが添付されている必要があります。デバイス証明書ポリシーは、 AWS IoT リソースおよび AWS IoT Core データプレーンオペレーションへのアクセスを許可または拒否することに注意してください。Device Advisor では、テストケース中に使用されるアクション権限を付与するアクティブなデバイス証明書をデバイスに添付する必要があります。
-