翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
クライアントデバイスのトラブルシューティング
このセクションのトラブルシューティング情報と解決策は、Greengrass クライアントデバイスとクライアントデバイスのコンポーネントとの問題解決に役立ちます。
Greengrass 検出の問題
次の情報を使用して、Greengrass 検出に関する問題のトラブルシューティングを行います。これらの問題は、クライアントデバイスが [Greengrass discovery API] (Greengrass 検出 API) に接続できる Greengrass コアデバイスを識別します。
トピック
Greengrass 検出の問題 (HTTP API)
次の情報を使用して、Greengrass 検出に関する問題のトラブルシューティングを行います。[test the discovery API with cURL] (cURL でディスカバリー API をテストする) と、これらのエラーが表示される場合があります。
トピック
curl: (52) Empty reply from server
リクエストで非アクティブな AWS IoT 証明書を指定すると、このエラーが表示される場合があります。
クライアントデバイスに証明書が添付されていること、および証明書がアクティブであることを確認します。詳細については、「AWS IoT Coreデベロッパーガイド」の「クライアント証明書にモノまたはポリシーをアタッチする」および「クライアント証明書をアクティブ化または非アクティブ化する」を参照してください。
HTTP 403: {"message":null,"traceId":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"}
クライアントデバイスに greengrass:Discover
を呼び出すアクセス許可がない場合は、このエラーが表示されることがあります。
クライアントデバイスの証明書に、greengrass:Discover
を許可するポリシーがあることを確認します。このアクセス許可には、Resource
セクションの [thing policy variables] (モノのポリシー変数) (iot:Connection.Thing.
) を使用できません。詳細については、「検出認証と認可」を参照してください。*
HTTP 404: {"errorMessage":"The thing provided for discovery was not found"}
次の場合にこのエラーが発生する可能性があります。
-
クライアントデバイスが Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループに関連付けられていません。
-
クライアントデバイスに関連付けられている Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループには、MQTT ブローカーエンドポイントがありません。
-
クライアントデバイスに関連付けられている Greengrass コアデバイスには、クライアントデバイス認証コンポーネントを実行しているものがありません。
クライアントデバイスが、接続するコアデバイスに関連付けられていることを確認します。次に、コアデバイスがクライアントデバイス認証コンポーネントを実行していて、コアデバイスに少なくとも 1 つの MQTT ブローカーエンドポイントがあることを確認します。詳細については、次を参照してください。
Greengrass 検出の問題 (AWS IoT Device SDK v2 Python)
次の情報を使用して、AWS IoT Device SDK v2 for Python
トピック
- awscrt.exceptions.AwsCrtError: AWS_ERROR_HTTP_CONNECTION_CLOSED: The connection has closed or is closing.
- awsiot.greengrass_discovery.DiscoveryException: ('Error during discover call: response_code=403', 403)
- awsiot.greengrass_discovery.DiscoveryException: ('Error during discover call: response_code=404', 404)
awscrt.exceptions.AwsCrtError: AWS_ERROR_HTTP_CONNECTION_CLOSED: The connection has closed or is closing.
リクエストで非アクティブな AWS IoT 証明書を指定すると、このエラーが表示される場合があります。
クライアントデバイスに証明書が添付されていること、および証明書がアクティブであることを確認します。詳細については、「AWS IoT Coreデベロッパーガイド」の「クライアント証明書にモノまたはポリシーをアタッチする」および「クライアント証明書をアクティブ化または非アクティブ化する」を参照してください。
awsiot.greengrass_discovery.DiscoveryException: ('Error during discover call: response_code=403', 403)
クライアントデバイスに greengrass:Discover
を呼び出すアクセス許可がない場合は、このエラーが表示されることがあります。
クライアントデバイスの証明書に、greengrass:Discover
を許可するポリシーがあることを確認します。このアクセス許可には、Resource
セクションの [thing policy variables] (モノのポリシー変数) (iot:Connection.Thing.
) を使用できません。詳細については、「検出認証と認可」を参照してください。*
awsiot.greengrass_discovery.DiscoveryException: ('Error during discover call: response_code=404', 404)
次の場合にこのエラーが発生する可能性があります。
-
クライアントデバイスが Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループに関連付けられていません。
-
クライアントデバイスに関連付けられている Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループには、MQTT ブローカーエンドポイントがありません。
-
クライアントデバイスに関連付けられている Greengrass コアデバイスには、クライアントデバイス認証コンポーネントを実行しているものがありません。
クライアントデバイスが、接続するコアデバイスに関連付けられていることを確認します。次に、コアデバイスがクライアントデバイス認証コンポーネントを実行していて、コアデバイスに少なくとも 1 つの MQTT ブローカーエンドポイントがあることを確認します。詳細については、次を参照してください。
Greengrass 検出の問題 (AWS IoT Device SDK v2 for C++)
次の情報を使用して、AWS IoT Device SDK v2 for C++
トピック
aws-c-http: AWS_ERROR_HTTP_CONNECTION_CLOSED, The connection has closed or is closing.
リクエストで非アクティブな AWS IoT 証明書を指定すると、このエラーが表示される場合があります。
クライアントデバイスに証明書が添付されていること、および証明書がアクティブであることを確認します。詳細については、「AWS IoT Coreデベロッパーガイド」の「クライアント証明書にモノまたはポリシーをアタッチする」および「クライアント証明書をアクティブ化または非アクティブ化する」を参照してください。
aws-c-common: AWS_ERROR_UNKNOWN, Unknown error. (HTTP 403)
クライアントデバイスに greengrass:Discover
を呼び出すアクセス許可がない場合は、このエラーが表示されることがあります。
クライアントデバイスの証明書に、greengrass:Discover
を許可するポリシーがあることを確認します。このアクセス許可には、Resource
セクションの [thing policy variables] (モノのポリシー変数) (iot:Connection.Thing.
) を使用できません。詳細については、「検出認証と認可」を参照してください。*
aws-c-common: AWS_ERROR_UNKNOWN, Unknown error. (HTTP 404)
次の場合にこのエラーが発生する可能性があります。
-
クライアントデバイスが Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループに関連付けられていません。
-
クライアントデバイスに関連付けられている Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループには、MQTT ブローカーエンドポイントがありません。
-
クライアントデバイスに関連付けられている Greengrass コアデバイスには、クライアントデバイス認証コンポーネントを実行しているものがありません。
クライアントデバイスが、接続するコアデバイスに関連付けられていることを確認します。次に、コアデバイスがクライアントデバイス認証コンポーネントを実行していて、コアデバイスに少なくとも 1 つの MQTT ブローカーエンドポイントがあることを確認します。詳細については、次を参照してください。
Greengrass 検出の問題 (AWS IoT Device SDK v2 for JavaScript)
次の情報を使用して、 AWS IoT Device SDKv2 for での Greengrass 検出に関する問題のトラブルシューティングを行います JavaScript
トピック
Error: aws-c-http: AWS_ERROR_HTTP_CONNECTION_CLOSED, The connection has closed or is closing.
リクエストで非アクティブな AWS IoT 証明書を指定すると、このエラーが表示される場合があります。
クライアントデバイスに証明書が添付されていること、および証明書がアクティブであることを確認します。詳細については、「AWS IoT Coreデベロッパーガイド」の「クライアント証明書にモノまたはポリシーをアタッチする」および「クライアント証明書をアクティブ化または非アクティブ化する」を参照してください。
Error: Discovery failed (headers: [object Object]) { response_code: 403 }
クライアントデバイスに greengrass:Discover
を呼び出すアクセス許可がない場合は、このエラーが表示されることがあります。
クライアントデバイスの証明書に、greengrass:Discover
を許可するポリシーがあることを確認します。このアクセス許可には、Resource
セクションの [thing policy variables] (モノのポリシー変数) (iot:Connection.Thing.
) を使用できません。詳細については、「検出認証と認可」を参照してください。*
Error: Discovery failed (headers: [object Object]) { response_code: 404 }
次の場合にこのエラーが発生する可能性があります。
-
クライアントデバイスが Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループに関連付けられていません。
-
クライアントデバイスに関連付けられている Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループには、MQTT ブローカーエンドポイントがありません。
-
クライアントデバイスに関連付けられている Greengrass コアデバイスには、クライアントデバイス認証コンポーネントを実行しているものがありません。
クライアントデバイスが、接続するコアデバイスに関連付けられていることを確認します。次に、コアデバイスがクライアントデバイス認証コンポーネントを実行していて、コアデバイスに少なくとも 1 つの MQTT ブローカーエンドポイントがあることを確認します。詳細については、次を参照してください。
Error: Discovery failed (headers: [object Object])
Greengrass 検出サンプルを実行すると、このエラー (HTTP レスポンスコードなし) が表示される場合があります。このエラーは、さまざまな理由で発生する可能性があります。
-
クライアントデバイスに
greengrass:Discover
を呼び出すアクセス許可がない場合は、このエラーが表示されることがあります。クライアントデバイスの証明書に、
greengrass:Discover
を許可するポリシーがあることを確認します。このアクセス許可には、Resource
セクションの [thing policy variables] (モノのポリシー変数) (iot:Connection.Thing.
) を使用できません。詳細については、「検出認証と認可」を参照してください。*
-
次の場合にこのエラーが発生する可能性があります。
-
クライアントデバイスが Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループに関連付けられていません。
-
クライアントデバイスに関連付けられている Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループには、MQTT ブローカーエンドポイントがありません。
-
クライアントデバイスに関連付けられている Greengrass コアデバイスには、クライアントデバイス認証コンポーネントを実行しているものがありません。
クライアントデバイスが、接続するコアデバイスに関連付けられていることを確認します。次に、コアデバイスがクライアントデバイス認証コンポーネントを実行していて、コアデバイスに少なくとも 1 つの MQTT ブローカーエンドポイントがあることを確認します。詳細については、次を参照してください。
-
Greengrass 検出の問題 (AWS IoT Device SDK v2 for Java)
次の情報を使用して、AWS IoT Device SDK v2 for Java
トピック
- software.amazon.awssdk.crt.CrtRuntimeException: Error Getting Response Status Code from HttpStream. (aws_last_error: AWS_ERROR_HTTP_DATA_NOT_AVAILABLE(2062), This data is not yet available.)
- java.lang.RuntimeException: Error x-amzn-ErrorType(403)
- java.lang.RuntimeException: Error x-amzn-ErrorType(404)
software.amazon.awssdk.crt.CrtRuntimeException: Error Getting Response Status Code from HttpStream. (aws_last_error: AWS_ERROR_HTTP_DATA_NOT_AVAILABLE(2062), This data is not yet available.)
リクエストで非アクティブな AWS IoT 証明書を指定すると、このエラーが表示される場合があります。
クライアントデバイスに証明書が添付されていること、および証明書がアクティブであることを確認します。詳細については、「AWS IoT Coreデベロッパーガイド」の「クライアント証明書にモノまたはポリシーをアタッチする」および「クライアント証明書をアクティブ化または非アクティブ化する」を参照してください。
java.lang.RuntimeException: Error x-amzn-ErrorType(403)
クライアントデバイスに greengrass:Discover
を呼び出すアクセス許可がない場合は、このエラーが表示されることがあります。
クライアントデバイスの証明書に、greengrass:Discover
を許可するポリシーがあることを確認します。このアクセス許可には、Resource
セクションの [thing policy variables] (モノのポリシー変数) (iot:Connection.Thing.
) を使用できません。詳細については、「検出認証と認可」を参照してください。*
java.lang.RuntimeException: Error x-amzn-ErrorType(404)
次の場合にこのエラーが発生する可能性があります。
-
クライアントデバイスが Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループに関連付けられていません。
-
クライアントデバイスに関連付けられている Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループには、MQTT ブローカーエンドポイントがありません。
-
クライアントデバイスに関連付けられている Greengrass コアデバイスには、クライアントデバイス認証コンポーネントを実行しているものがありません。
クライアントデバイスが、接続するコアデバイスに関連付けられていることを確認します。次に、コアデバイスがクライアントデバイス認証コンポーネントを実行していて、コアデバイスに少なくとも 1 つの MQTT ブローカーエンドポイントがあることを確認します。詳細については、次を参照してください。
MQTT 接続の問題
クライアントデバイス MQTT 接続の問題のトラブルシューティングには、次の情報を使用します。これらの問題は、クライアントデバイスが MQTT 経由でコアデバイスに接続しようとする際に発生する場合があります。
トピック
io.moquette.broker.Authorizator: Client does not have read permissions on the topic
このエラーは、クライアントデバイスがアクセス許可を持たない MQTT トピックをサブスクライブしようとしたときに、Greengrass ログに表示されることがあります。エラーメッセージにはトピックが含まれています。
クライアントデバイス認証コンポーネントの設定に、次の項目が含まれていることを確認します。
-
クライアントデバイスと一致するデバイスグループ。
-
トピックの
mqtt:subscribe
アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。
クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。
MQTT 接続の問題 (Python)
次の情報を使用して、AWS IoT Device SDK v2 for Python
トピック
AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred
クライアントデバイス認証コンポーネントで、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス承認ポリシーが定義されていない場合にこのエラーが発生する可能性があります。
クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。
-
クライアントデバイスと一致するデバイスグループ。
-
クライアントデバイスの
mqtt:connect
アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。
クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。
AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred
クライアントデバイス認証コンポーネントで、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス承認ポリシーが定義されていない場合にこのエラーが発生する可能性があります。
クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。
-
クライアントデバイスと一致するデバイスグループ。
-
クライアントデバイスの
mqtt:connect
アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。
クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。
MQTT 接続の問題 (C++)
次の情報を使用して、AWS IoT Device SDK v2 for C++
トピック
AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred
クライアントデバイス認証コンポーネントで、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス承認ポリシーが定義されていない場合にこのエラーが発生する可能性があります。
クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。
-
クライアントデバイスと一致するデバイスグループ。
-
クライアントデバイスの
mqtt:connect
アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。
クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。
AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred
クライアントデバイス認証コンポーネントで、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス承認ポリシーが定義されていない場合にこのエラーが発生する可能性があります。
クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。
-
クライアントデバイスと一致するデバイスグループ。
-
クライアントデバイスの
mqtt:connect
アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。
クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。
MQTT 接続の問題 (Java)
次の情報を使用して、AWS IoT Device SDK v2 for Java
トピック
software.amazon.awssdk.crt.mqtt.MqttException: Protocol error occurred
クライアントデバイス認証コンポーネントで、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス承認ポリシーが定義されていない場合にこのエラーが発生する可能性があります。
クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。
-
クライアントデバイスと一致するデバイスグループ。
-
クライアントデバイスの
mqtt:connect
アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。
クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。
AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred
クライアントデバイス認証コンポーネントで、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス承認ポリシーが定義されていない場合にこのエラーが発生する可能性があります。
クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。
-
クライアントデバイスと一致するデバイスグループ。
-
クライアントデバイスの
mqtt:connect
アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。
クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。
MQTT 接続の問題 (JavaScript)
次の情報を使用して、 AWS IoT Device SDK v2 for JavaScript
トピック
AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred
クライアントデバイス認証コンポーネントで、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス承認ポリシーが定義されていない場合にこのエラーが発生する可能性があります。
クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。
-
クライアントデバイスと一致するデバイスグループ。
-
クライアントデバイスの
mqtt:connect
アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。
クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。
AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred
クライアントデバイス認証コンポーネントで、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス承認ポリシーが定義されていない場合にこのエラーが発生する可能性があります。
クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。
-
クライアントデバイスと一致するデバイスグループ。
-
クライアントデバイスの
mqtt:connect
アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。
クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。