

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

# AWS IoT ジョブのトラブルシューティング
<a name="jobs-troubleshooting"></a>

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

## AWS IoT ジョブエンドポイントを見つけるにはどうすればよいですか?
<a name="jobs-endpoint-troubleshooting"></a>

** AWS IoT Jobs コントロールプレーンエンドポイントを見つけるにはどうすればよいですか?**  
AWS IoT ジョブは、HTTPS プロトコルを使用したコントロールプレーン API オペレーションをサポートします。HTTPS プロトコルを使用して、正しいコントロールプレーンエンドポイントに接続していることを確認します。  
 AWS リージョン固有のエンドポイントのリストについては、[AWS IoT 「 Core - コントロールプレーンエンドポイント](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core-control-plane-endpoints)」を参照してください。  
FIPS 準拠の **AWS IoT Jobs コントロールプレーン**エンドポイントのリストについては、「[サービス別の FIPS エンドポイント](https://aws.amazon.com//compliance/fips/#FIPS_Endpoints_by_Service)」を参照してください。  
AWS IoT ジョブと は、同じ AWS リージョン固有のエンドポイント AWS IoT Core を共有します。

** AWS IoT Jobs データプレーンエンドポイントを見つけるにはどうすればよいですか?**  
AWS IoT ジョブは、HTTPS プロトコルと MQTT プロトコルを使用したデータプレーン API オペレーションをサポートします。HTTPS または MQTT プロトコルを使用して、正しいデータプレーンエンドポイントに接続していることを確認します。  
+ HTTPS プロトコル
  + 以下の [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-endpoint.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-endpoint.html) CLI コマンドまたは [https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeEndpoint.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeEndpoint.html) REST API を使用します。エンドポイントタイプには、`iot:Jobs` を使用します。

    ```
    aws iot describe-endpoint --endpoint-type iot:Jobs
    ```
+ MQTT プロトコル
  + 以下の [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-endpoint.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-endpoint.html) CLI コマンドまたは [https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeEndpoint.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeEndpoint.html) REST API を使用します。エンドポイントタイプには、`iot:Data-ATS` を使用します。

    ```
    aws iot describe-endpoint --endpoint-type iot:Data-ATS
    ```
FIPS 準拠の **AWS IoT Jobs データプレーン**エンドポイントのリストについては、「[サービス別の FIPS エンドポイント](https://aws.amazon.com//compliance/fips/#FIPS_Endpoints_by_Service)」を参照してください。

## AWS IoT ジョブのアクティビティをモニタリングし、メトリクスを提供するにはどうすればよいですか?
<a name="jobs-logs-troubleshooting"></a>

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

Amazon CloudWatch および CloudWatch リソースを使用するためのアクセス許可を IAM ユーザーロール経由で設定する方法については、「[Amazon CloudWatch 用 Identity and Access Management](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html)」を参照してください。

**Amazon CloudWatch を使用して AWS IoT Jobs メトリクスとモニタリングをセットアップするにはどうすればよいですか?**  
 AWS IoT ログ記録を設定するには、[「Configure AWS IoT logging](https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html). AWS IoT logging set up can be done in the AWS マネジメントコンソール, AWS CLI or API. AWS IoT logging set up for specific thing groups must be done in the AWS CLI または API only」で説明されているステップに従います。  
[AWS IoT ジョブメトリクス](https://docs.aws.amazon.com/iot/latest/developerguide/metrics_dimensions.html#jobs-metrics)セクションには、 AWS IoT ジョブアクティビティのモニタリングに使用される AWS IoT ジョブメトリクスが含まれています。ここでは、 AWS マネジメントコンソール および でメトリクスを表示する方法について説明します AWS CLI。  
さらに、CloudWatch アラームをセットアップして、詳細にモニタリングする特定のメトリクスを警告できます。アラームのセットアップのガイダンスについては、「[Amazon CloudWatch アラームの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)」を参照してください。

## デバイスフリートと単一デバイスのトラブルシューティング
<a name="jobs-troubleshooting-for-fleethub"></a>

**ジョブ実行は `QUEUED` のステータスを無期限に維持します**  
ステータス状態が `QUEUED` のジョブ実行が `IN_PROGRESS`、`FAILED`、`TIMED_OUT` などの次の論理ステータス状態に移行しない場合、次のいずれかのシナリオが原因である可能性があります。  
+ [[CloudWatch コンソール]](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html) にある CloudWatch ログでデバイスアクティビティを確認します。詳細については、[CloudWatch Logs AWS IoT を使用したモニタリング](https://docs.aws.amazon.com/iot/latest/developerguide/cloud-watch-logs.html)」を参照してください。
+ ジョブおよび後続のジョブ実行に関連付けられた IAM ロールには、その IAM ロールにアタッチされた IAM ポリシーのポリシーステートメントのいずれかに正しいアクセス許可がリストされていない可能性があります。[https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html) API を使用して、そのジョブとその後のジョブ実行にリンクされた IAM ロールを特定し、IAM ポリシーで正しいアクセス許可を確認します。ポリシーアクセス許可ステートメントが更新されると、リソースで [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) API コマンドを実行できるようになります。

**モノまたはモノのグループに対してジョブ実行が作成されませんでした**  
ジョブがステータスを `IN_PROGRESS` に更新すると、ターゲットグループ内のすべてのデバイスへのジョブドキュメントのロールアウトが開始されます。このステータス状態の更新により、ターゲットデバイスごとにジョブ実行が作成されます。ターゲットデバイスの 1 つに対してジョブ実行が作成されていない場合は、次のガイダンスを参照してください。  
+ `thing` はジョブによって*直接*ターゲットにされ、ジョブのステータス状態は `IN_PROGRESS` で、ジョブは同時ですか？ 3 つの条件がすべて満たされている場合、ジョブはターゲットグループ内のすべてのデバイスにジョブ実行を送信し、その特定の `thing` はまだジョブ実行を受信していません。
  +  AWS マネジメントコンソールのジョブとジョブステータスの状態について、ターゲットグループ内のデバイスを確認するか、 [https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html) API コマンドを使用します。
  + [https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html) API コマンドを使用して、ジョブの `IsConcurrent` プロパティが true または false に設定されているかどうかを確認します。詳細については、「[Job limits](https://docs.aws.amazon.com/iot/latest/developerguide/job-limits.html)」を参照してください。
+ `thing` はジョブによって*直接ターゲットにされていません*。
  + `Thing` が `ThingGroup` に追加され、ジョブが `ThingGroup` をターゲットにしている場合は、`Thing` が `ThingGroup` の一部であることを確認します。
  + ジョブがステータス状態が `IN_PROGRESS` のスナップショットジョブで、同時である場合、ジョブはターゲットグループ内のすべてのデバイスにジョブ実行を送信し、その特定の `Thing` はまだジョブ実行を受信していません。
  + ジョブがステータス状態が `IN_PROGRESS` の連続ジョブで、同時である場合、ジョブはターゲットグループ内のすべてのデバイスにジョブ実行を送信し、その特定の `Thing` はまだジョブ実行を受信していません。連続ジョブの場合のみ、`ThingGroup` から `Thing` を削除し、`Thing` を `ThingGroup` に追加することもできます。
  + ジョブがステータス状態が のスナップショットジョブで、同時`IN_PROGRESS`でない場合、 `Thing`または `ThingGroup`メンバーシップ関係は AWS IoT ジョブによって確認されない可能性があります。`Job` を作成する前に、`AddThingToThingGroup` 呼び出し後に数秒の待機時間を追加することをお勧めします。または、ターゲット選択を `Continuous` に切り替えることで、遅延 `Thing` および `ThingGroup` メンバーシップアタッチメントイベントをサービスバックフィルできます。

**`LimitedExceededException` エラーにより新しいジョブが失敗する**  
ジョブの作成が `LimitedExceededException` のエラーレスポンスで失敗した場合は、 `list-jobs` API を呼び出し、`isConcurrent=true` ですべてのジョブを確認して、ジョブの同時実行数の上限に達しているかどうかを確認します。同時ジョブの詳細については、「[ジョブの制限](https://docs.aws.amazon.com/iot/latest/developerguide/job-limits.html)」を参照してください。ジョブの同時実行制限を表示し、制限の引き上げをリクエストするには、「[AWS IoT Device Management ジョブの制限とクォータ](https://docs.aws.amazon.com/general/latest/gr/iot_device_management.html#job-limits)」を参照してください。

**ジョブドキュメントのサイズの制限**  
ジョブドキュメントのサイズは MQTT ペイロードサイズによって制限されます。32 kB (キロバイト）、32,000 B (バイト) を超えるジョブドキュメントが必要な場合は、そのジョブドキュメントを作成して Amazon S3 に保存し、`CreateJob` API の `documentSource` フィールドまたは AWS CLIを使用して Amazon S3 オブジェクト URL を追加します。では AWS マネジメントコンソール、ジョブの作成時に Amazon S3 URL テキストボックスに Amazon S3 オブジェクト URL を追加します。  
+ AWS マネジメントコンソール ジョブドキュメントの作成: [を使用してジョブを作成および管理します AWS マネジメントコンソール](https://docs.aws.amazon.com/iot/latest/developerguide/manage-job-console.html)。
+ AWS CLI ジョブドキュメントの作成: [を使用したジョブの作成と管理 AWS CLI](https://docs.aws.amazon.com/iot/latest/developerguide/manage-job-cli.html)
+ `CreateJob` API ドキュメント: [CreateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html)

**Device Side MQTT メッセージリクエストのスロットル制限**  
エラーコード 400 `ThrottlingException` を受け取った場合、デバイス側の同時リクエストの制限に達したため、デバイス側の MQTT メッセージは失敗しました。スロットル制限と調整可能かどうかの詳細については、「[AWS IoT Device Management jobs limits and quotas](https://docs.aws.amazon.com/general/latest/gr/iot_device_management.html#job-limits)」を参照してください。

**接続タイムアウトエラー**  
エラーコード 400 `RequestExpired` は、高いレイテンシーまたは低いクライアント側のタイムアウト値による接続障害を示します。  
+ クライアント側とサーバー側の接続のテストについては、「[デバイスデータエンドポイントとの接続をテストする](https://docs.aws.amazon.com/iot/latest/developerguide/iot-quick-start-test-connection.html)」を参照してください。

**無効な API コマンド**  
API コマンドが無効であることを示すエラーメッセージが表示されないように、正しい API コマンドが入力されていることを確認します。すべての AWS IoT API コマンドの包括的なリストについては、「[AWS IoT](https://docs.aws.amazon.com/iot/latest/apireference/Welcome.html) API リファレンス」を参照してください。

**サービス側の接続エラー**  
エラーコード 503 `ServiceUnavailable` は、サーバー側から発生したエラーを示します。  
+ [AWS Health Dashboard すべての AWS サービスの現在のステータスについては、「 (すべてのサービス)](https://health.aws.amazon.com/health/status)」を参照してください。 AWS 
+ 個人の現在のステータスについては、 [AWS Health Dashboard (個人 AWS アカウント)](https://aws.amazon.com/premiumsupport/technology/aws-health-dashboard/) を参照してください AWS アカウント。