AWS IoT ジョブのトラブルシューティング - AWS IoT Core

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS IoT ジョブのトラブルシューティング

これは、 AWS IoT ジョブのトラブルシューティングセクションです。

AWS IoT Jobs エンドポイントを見つけるにはどうすればよいですか?

AWS IoT Jobs コントロールプレーンエンドポイントを見つけるにはどうすればよいですか?

AWS IoT Jobs は、 HTTPS プロトコルを使用したコントロールプレーンAPIオペレーションをサポートします。HTTPS プロトコルを使用して、正しいコントロールプレーンエンドポイントに接続していることを確認します。

AWS リージョン固有のエンドポイントのリストについては、AWS IoT 「 Core - コントロールプレーンエンドポイント」を参照してください。

準拠FIPSの AWS IoT Jobs コントロールプレーンエンドポイントのリストについては、FIPS「サービス別のエンドポイント」を参照してください。

注記

AWS IoT ジョブを実行し、同じ AWS リージョン固有のエンドポイント AWS IoT Core を共有します。

AWS IoT Jobs データプレーンエンドポイントを見つけるにはどうすればよいですか?

AWS IoT Jobs は、 HTTPS および MQTTプロトコルを使用したデータプレーンAPIオペレーションをサポートします。HTTPS または MQTTプロトコルを使用して、正しいデータプレーンエンドポイントに接続していることを確認します。

  • HTTPS プロトコル

    • 以下のdescribe-endpointCLIコマンドまたは DescribeEndpoint REST を使用しますAPI。エンドポイントタイプには、 を使用しますiot:Jobs

      aws iot describe-endpoint --endpoint-type iot:Jobs
  • MQTT プロトコル

    • 以下のdescribe-endpointCLIコマンドまたは DescribeEndpoint REST を使用しますAPI。エンドポイントタイプには、 を使用しますiot:Data-ATS

      aws iot describe-endpoint --endpoint-type iot:Data-ATS

準拠FIPSの AWS IoT Jobs データプレーンエンドポイントのリストについては、FIPS「サービス別のエンドポイント」を参照してください。

AWS IoT Jobs のアクティビティをモニタリングし、メトリクスを提供するにはどうすればよいですか?

Amazon を使用した AWS IoT ジョブアクティビティのモニタリング CloudWatch は、進行中の AWS IoT ジョブオペレーションをリアルタイムで可視化し、 AWS IoT ルールを介して CloudWatch アラームでコストを制御するのに役立ちます。 AWS IoT Jobs アクティビティをモニタリングし、アラームを設定する CloudWatch前に、ログ記録を設定する必要があります。ログ記録の設定の詳細については、「」を参照してくださいAWS IoT ログ記録の設定

Amazon の詳細 CloudWatch と、 CloudWatch リソースを使用するためのアクセス許可をIAMユーザーロール経由で設定する方法については、「Amazon のアイデンティティとアクセスの管理 CloudWatch」を参照してください。

Amazon を使用して AWS IoT Jobs メトリクスとモニタリングをセットアップするにはどうすればよいですか CloudWatch?

AWS IoT ログ記録を設定するには、「ログAWS IoT 記録の設定」で説明されているステップに従います。 AWS IoT ログ記録の設定は AWS Management Consoleで実行できますAPI。または AWS CLI、特定のモノのグループに対する AWS IoT ログ記録の設定は、 AWS CLI または APIでのみ実行する必要があります。

AWS IoT ジョブメトリクスセクションには、 AWS IoT ジョブアクティビティのモニタリングに使用される AWS IoT ジョブメトリクスが含まれています。ここでは、 AWS Management Console および のメトリクスを表示する方法について説明します AWS CLI。

さらに、 CloudWatch アラームを設定して、厳密にモニタリングする特定のメトリクスを警告できます。アラーム設定のガイダンスについては、「Amazon CloudWatch アラームの使用」を参照してください。

デバイスフリートと単一デバイスのトラブルシューティング

ジョブ実行のステータスはQUEUED無期限に維持されます

ステータス状態が のジョブ実行QUEUEDIN_PROGRESS、、、 FAILEDなどの次の論理ステータス状態に移行しない場合TIMED_OUT、次のいずれかのシナリオが原因である可能性があります。

  • CloudWatch コンソール にある CloudWatch ログでデバイスのアクティビティを確認します。詳細については、 CloudWatch 「 ログ AWS IoT を使用したモニタリング」を参照してください。

  • ジョブとその後のジョブ実行に関連付けられたIAMロールには、そのIAMロールにアタッチされたポリシーのIAMポリシーステートメントのいずれかに正しいアクセス許可がリストされていない可能性があります。describe-job API を使用して、そのジョブとその後のジョブ実行にリンクされたIAMロールを特定し、IAMポリシーで正しいアクセス許可を確認します。ポリシーアクセス許可ステートメントが更新されると、 リソースで AssumeRole API コマンドを実行できるようになります。

モノまたはモノのグループに対してジョブ実行が作成されなかった

ジョブがステータス状態を に更新するとIN_PROGRESS、ターゲットグループ内のすべてのデバイスへのジョブドキュメントのロールアウトが開始されます。このステータス状態の更新により、ターゲットデバイスごとにジョブ実行が作成されます。ターゲットデバイスの 1 つに対してジョブ実行が作成されていない場合は、次のガイダンスを参照してください。

  • はジョブによってthing直接ターゲットにされ、ジョブのステータス状態は でIN_PROGRESS、ジョブは同時ですか? 3 つの条件がすべて満たされても、ジョブはターゲットグループ内のすべてのデバイスにジョブ実行を送信し、その特定の thing はまだジョブ実行を受信していません。

    • AWS マネジメントコンソールでターゲットグループのデバイスとジョブステータスの状態を確認するか、 describe-job API コマンドを使用します。

    • describe-job API コマンドを使用して、ジョブのIsConcurrentプロパティが true または false に設定されているかどうかを確認します。詳細については、「ジョブ制限」を参照してください。

  • thing はジョブによって直接ターゲットにされていません

    • Thing が に追加ThingGroupされ、ジョブが をターゲットにしている場合はThingGroupThingが の一部であることを確認しますThingGroup

    • ジョブがステータス状態が のスナップショットジョブIN_PROGRESSで、同時である場合、ジョブはターゲットグループ内のすべてのデバイスにジョブ実行を送信し、その特定の Thingはまだジョブ実行を受信していません。

    • ジョブがステータス状態が で同時IN_PROGRESSである連続ジョブである場合、ジョブはターゲットグループ内のすべてのデバイスにジョブ実行を送信し、その特定の Thingはまだジョブ実行を受信していません。連続ジョブのみの場合、 Thingから を削除しThingGroup、 を に追加ThingすることもできますThingGroup

    • ジョブがステータスが で、同時IN_PROGRESSではないスナップショットジョブの場合、 Thingまたは ThingGroupメンバーシップの関係は AWS IoT ジョブによって確認されない可能性があります。を作成する前に、AddThingToThingGroup通話後に数秒の待機時間を追加することをお勧めしますJob。または、ターゲット選択を に切り替えることでContinuous、遅延ThingおよびThingGroupメンバーシップアタッチメントイベントをサービスバックフィルできます。

LimitedExceededException エラーにより新しいジョブが失敗する

ジョブの作成に失敗し、 のエラーレスポンスが表示された場合はLimitedExceededException、 を呼び出しlist-jobsAPI、 ですべてのジョブを確認してisConcurrent=true、ジョブの同時実行制限に達しているかどうかを確認します。同時ジョブの詳細については、「ジョブの制限」を参照してください。ジョブの同時実行制限を表示し、制限の引き上げをリクエストするには、AWS IoT Device Management 「 ジョブの制限とクォータ」を参照してください。

ジョブドキュメントのサイズ制限

ジョブドキュメントのサイズは、MQTTペイロードサイズによって制限されます。32 kB (キロバイト)、32,000 B (バイト) を超えるジョブドキュメントが必要な場合は、ジョブドキュメントを作成して Amazon S3 に保存し、 CreateJobAPIまたは を使用して Amazon S3 オブジェクトを URLdocumentSourceフィールドに追加します AWS CLI。では AWS Management Console、ジョブを作成するときに Amazon S3 オブジェクトURLを Amazon S3 URLテキストボックスに追加します。

Device Side MQTT メッセージはスロットル制限をリクエストします

エラーコード 400 を受け取った場合ThrottlingException、同時デバイス側リクエストの制限に達したため、デバイス側MQTTメッセージは失敗しました。スロットルAWS IoT Device Management 制限と調整可能かどうかの詳細については、ジョブの制限とクォータを参照してください。

接続タイムアウトエラー

エラーコード 400 は、高いレイテンシーまたは低いクライアント側のタイムアウト値による接続障害RequestExpiredを示します。

無効なAPIコマンド

API コマンドが無効であることを示すエラーメッセージが表示されないように、正しいAPIコマンドが入力されていることを確認します。すべての AWS IoT APIコマンドの包括的なリストについては、 AWS IoT APIリファレンスを参照してください。

サービス側の接続エラー

エラーコード 503 は、サーバー側から発生したエラーServiceUnavailableを示します。