

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

# クライアントデバイスのトラブルシューティング
<a name="troubleshooting-client-devices"></a>

このセクションのトラブルシューティング情報と解決策は、Greengrass クライアントデバイスとクライアントデバイスのコンポーネントとの問題解決に役立ちます。

**Topics**
+ [Greengrass 検出の問題](#greengrass-discovery-issues)
+ [MQTT 接続の問題](#mqtt-connection-issues)

## Greengrass 検出の問題
<a name="greengrass-discovery-issues"></a>

次の情報を使用して、Greengrass 検出に関する問題のトラブルシューティングを行います。これらの問題は、クライアントデバイスが [[Greengrass discovery API]](greengrass-discover-api.md) (Greengrass 検出 API) に接続できる Greengrass コアデバイスを識別します。

**Topics**
+ [Greengrass 検出の問題 (HTTP API)](#greengrass-discovery-http-issues)
+ [Greengrass 検出の問題 (AWS IoT Device SDK v2 for Python)](#greengrass-discovery-python-issues)
+ [Greengrass 検出の問題 (AWS IoT Device SDK v2 for C\$1\$1)](#greengrass-discovery-cpp-issues)
+ [Greengrass 検出の問題 (AWS IoT Device SDK v2 for JavaScript)](#greengrass-discovery-javascript-issues)
+ [Greengrass 検出の問題 (AWS IoT Device SDK v2 for Java)](#greengrass-discovery-java-issues)

### Greengrass 検出の問題 (HTTP API)
<a name="greengrass-discovery-http-issues"></a>

次の情報を使用して、Greengrass 検出に関する問題のトラブルシューティングを行います。[[test the discovery API with cURL]](greengrass-discover-api.md#greengrass-discover-test-request) (cURL でディスカバリー API をテストする) と、これらのエラーが表示される場合があります。

**Topics**
+ [curl: (52) Empty reply from server](#greengrass-discovery-http-issue-no-response)
+ [HTTP 403: \$1"message":null,"traceId":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"\$1](#greengrass-discovery-http-issue-forbidden)
+ [HTTP 404: \$1"errorMessage":"The thing provided for discovery was not found"\$1](#greengrass-discovery-http-issue-not-found)

#### curl: (52) Empty reply from server
<a name="greengrass-discovery-http-issue-no-response"></a>

<a name="troubleshooting-greengrass-discovery-no-response-issue"></a>リクエストで非アクティブな AWS IoT 証明書を指定すると、このエラーが表示されることがあります。

<a name="troubleshooting-greengrass-discovery-no-response-solution"></a>クライアントデバイスに証明書が添付されていること、および証明書がアクティブであることを確認します。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[Attach a thing or policy to a client certificate](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)」および「[Activate or deactivate a client certificate](https://docs.aws.amazon.com/iot/latest/developerguide/activate-or-deactivate-device-cert.html)」を参照してください。

#### HTTP 403: \$1"message":null,"traceId":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"\$1
<a name="greengrass-discovery-http-issue-forbidden"></a>

<a name="troubleshooting-greengrass-discovery-forbidden-issue"></a>クライアントデバイスに `greengrass:Discover` を呼び出すアクセス許可がない場合は、このエラーが表示されることがあります。

<a name="troubleshooting-greengrass-discovery-forbidden-solution"></a>クライアントデバイスの証明書に、`greengrass:Discover` を許可するポリシーがあることを確認します。このアクセス許可には、`Resource` セクションの [[thing policy variables]](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html) (モノのポリシー変数) (`iot:Connection.Thing.*`) を使用できません。詳細については、「[検出認証と認可](greengrass-discover-api.md#greengrass-discover-auth)」を参照してください。

#### HTTP 404: \$1"errorMessage":"The thing provided for discovery was not found"\$1
<a name="greengrass-discovery-http-issue-not-found"></a>

<a name="troubleshooting-greengrass-discovery-not-found-issue"></a>次の場合にこのエラーが発生する可能性があります。<a name="troubleshooting-greengrass-discovery-not-found-issue-list"></a>
+ クライアントデバイスは Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループに関連付けられていません。
+ クライアントデバイスに関連付けられた Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループには MQTT ブローカーエンドポイントはありません。
+ クライアントデバイスに関連付けられている Greengrass コアデバイスには、[クライアントデバイス認証コンポーネント](client-device-auth-component.md)を実行しているものがありません。

<a name="troubleshooting-greengrass-discovery-not-found-solution"></a>クライアントデバイスが、接続するコアデバイスに関連付けられていることを確認します。次に、コアデバイスが[クライアントデバイス認証コンポーネント](client-device-auth-component.md)を実行していて、コアデバイスに少なくとも 1 つの MQTT ブローカーエンドポイントがあることを確認します。詳細については次を参照してください:<a name="troubleshooting-greengrass-discovery-not-found-solution-links"></a>
+ [クライアントデバイスを関連付ける](associate-client-devices.md)
+ [コアデバイスのエンドポイントを管理](manage-core-device-endpoints.md)
+ [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)

### Greengrass 検出の問題 (AWS IoT Device SDK v2 for Python)
<a name="greengrass-discovery-python-issues"></a>

次の情報を使用して、[AWS IoT Device SDK v2 for Python](https://github.com/aws/aws-iot-device-sdk-python-v2) での Greengrass 検出に関する問題のトラブルシューティングを行います。

**Topics**
+ [awscrt.exceptions.AwsCrtError: AWS\$1ERROR\$1HTTP\$1CONNECTION\$1CLOSED: The connection has closed or is closing.](#greengrass-discovery-python-issue-no-response)
+ [awsiot.greengrass\$1discovery.DiscoveryException: ('Error during discover call: response\$1code=403', 403)](#greengrass-discovery-python-issue-forbidden)
+ [awsiot.greengrass\$1discovery.DiscoveryException: ('Error during discover call: response\$1code=404', 404)](#greengrass-discovery-python-issue-not-found)

#### awscrt.exceptions.AwsCrtError: AWS\$1ERROR\$1HTTP\$1CONNECTION\$1CLOSED: The connection has closed or is closing.
<a name="greengrass-discovery-python-issue-no-response"></a>

<a name="troubleshooting-greengrass-discovery-no-response-issue"></a>リクエストで非アクティブな AWS IoT 証明書を指定すると、このエラーが表示されることがあります。

<a name="troubleshooting-greengrass-discovery-no-response-solution"></a>クライアントデバイスに証明書が添付されていること、および証明書がアクティブであることを確認します。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[Attach a thing or policy to a client certificate](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)」および「[Activate or deactivate a client certificate](https://docs.aws.amazon.com/iot/latest/developerguide/activate-or-deactivate-device-cert.html)」を参照してください。

#### awsiot.greengrass\$1discovery.DiscoveryException: ('Error during discover call: response\$1code=403', 403)
<a name="greengrass-discovery-python-issue-forbidden"></a>

<a name="troubleshooting-greengrass-discovery-forbidden-issue"></a>クライアントデバイスに `greengrass:Discover` を呼び出すアクセス許可がない場合は、このエラーが表示されることがあります。

<a name="troubleshooting-greengrass-discovery-forbidden-solution"></a>クライアントデバイスの証明書に、`greengrass:Discover` を許可するポリシーがあることを確認します。このアクセス許可には、`Resource` セクションの [[thing policy variables]](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html) (モノのポリシー変数) (`iot:Connection.Thing.*`) を使用できません。詳細については、「[検出認証と認可](greengrass-discover-api.md#greengrass-discover-auth)」を参照してください。

#### awsiot.greengrass\$1discovery.DiscoveryException: ('Error during discover call: response\$1code=404', 404)
<a name="greengrass-discovery-python-issue-not-found"></a>

<a name="troubleshooting-greengrass-discovery-not-found-issue"></a>次の場合にこのエラーが発生する可能性があります。<a name="troubleshooting-greengrass-discovery-not-found-issue-list"></a>
+ クライアントデバイスは Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループに関連付けられていません。
+ クライアントデバイスに関連付けられた Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループには MQTT ブローカーエンドポイントはありません。
+ クライアントデバイスに関連付けられている Greengrass コアデバイスには、[クライアントデバイス認証コンポーネント](client-device-auth-component.md)を実行しているものがありません。

<a name="troubleshooting-greengrass-discovery-not-found-solution"></a>クライアントデバイスが、接続するコアデバイスに関連付けられていることを確認します。次に、コアデバイスが[クライアントデバイス認証コンポーネント](client-device-auth-component.md)を実行していて、コアデバイスに少なくとも 1 つの MQTT ブローカーエンドポイントがあることを確認します。詳細については次を参照してください:<a name="troubleshooting-greengrass-discovery-not-found-solution-links"></a>
+ [クライアントデバイスを関連付ける](associate-client-devices.md)
+ [コアデバイスのエンドポイントを管理](manage-core-device-endpoints.md)
+ [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)

### Greengrass 検出の問題 (AWS IoT Device SDK v2 for C\$1\$1)
<a name="greengrass-discovery-cpp-issues"></a>

次の情報を使用して、[AWS IoT Device SDK v2 for C\$1\$1](https://github.com/aws/aws-iot-device-sdk-cpp-v2) での Greengrass 検出に関する問題のトラブルシューティングを行います。

**Topics**
+ [aws-c-http: AWS\$1ERROR\$1HTTP\$1CONNECTION\$1CLOSED, The connection has closed or is closing.](#greengrass-discovery-cpp-issue-no-response)
+ [aws-c-common: AWS\$1ERROR\$1UNKNOWN, Unknown error. (HTTP 403)](#greengrass-discovery-cpp-issue-forbidden)
+ [aws-c-common: AWS\$1ERROR\$1UNKNOWN, Unknown error. (HTTP 404)](#greengrass-discovery-cpp-issue-not-found)

#### aws-c-http: AWS\$1ERROR\$1HTTP\$1CONNECTION\$1CLOSED, The connection has closed or is closing.
<a name="greengrass-discovery-cpp-issue-no-response"></a>

<a name="troubleshooting-greengrass-discovery-no-response-issue"></a>リクエストで非アクティブな AWS IoT 証明書を指定すると、このエラーが表示されることがあります。

<a name="troubleshooting-greengrass-discovery-no-response-solution"></a>クライアントデバイスに証明書が添付されていること、および証明書がアクティブであることを確認します。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[Attach a thing or policy to a client certificate](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)」および「[Activate or deactivate a client certificate](https://docs.aws.amazon.com/iot/latest/developerguide/activate-or-deactivate-device-cert.html)」を参照してください。

#### aws-c-common: AWS\$1ERROR\$1UNKNOWN, Unknown error. (HTTP 403)
<a name="greengrass-discovery-cpp-issue-forbidden"></a>

<a name="troubleshooting-greengrass-discovery-forbidden-issue"></a>クライアントデバイスに `greengrass:Discover` を呼び出すアクセス許可がない場合は、このエラーが表示されることがあります。

<a name="troubleshooting-greengrass-discovery-forbidden-solution"></a>クライアントデバイスの証明書に、`greengrass:Discover` を許可するポリシーがあることを確認します。このアクセス許可には、`Resource` セクションの [[thing policy variables]](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html) (モノのポリシー変数) (`iot:Connection.Thing.*`) を使用できません。詳細については、「[検出認証と認可](greengrass-discover-api.md#greengrass-discover-auth)」を参照してください。

#### aws-c-common: AWS\$1ERROR\$1UNKNOWN, Unknown error. (HTTP 404)
<a name="greengrass-discovery-cpp-issue-not-found"></a>

<a name="troubleshooting-greengrass-discovery-not-found-issue"></a>次の場合にこのエラーが発生する可能性があります。<a name="troubleshooting-greengrass-discovery-not-found-issue-list"></a>
+ クライアントデバイスは Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループに関連付けられていません。
+ クライアントデバイスに関連付けられた Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループには MQTT ブローカーエンドポイントはありません。
+ クライアントデバイスに関連付けられている Greengrass コアデバイスには、[クライアントデバイス認証コンポーネント](client-device-auth-component.md)を実行しているものがありません。

<a name="troubleshooting-greengrass-discovery-not-found-solution"></a>クライアントデバイスが、接続するコアデバイスに関連付けられていることを確認します。次に、コアデバイスが[クライアントデバイス認証コンポーネント](client-device-auth-component.md)を実行していて、コアデバイスに少なくとも 1 つの MQTT ブローカーエンドポイントがあることを確認します。詳細については次を参照してください:<a name="troubleshooting-greengrass-discovery-not-found-solution-links"></a>
+ [クライアントデバイスを関連付ける](associate-client-devices.md)
+ [コアデバイスのエンドポイントを管理](manage-core-device-endpoints.md)
+ [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)

### Greengrass 検出の問題 (AWS IoT Device SDK v2 for JavaScript)
<a name="greengrass-discovery-javascript-issues"></a>

次の情報を使用して、[AWS IoT Device SDK v2 for JavaScript](https://github.com/aws/aws-iot-device-sdk-js-v2) での Greengrass 検出に関する問題のトラブルシューティングを行います。

**Topics**
+ [Error: aws-c-http: AWS\$1ERROR\$1HTTP\$1CONNECTION\$1CLOSED, The connection has closed or is closing.](#greengrass-discovery-javascript-issue-no-response)
+ [Error: Discovery failed (headers: [object Object]) \$1 response\$1code: 403 \$1](#greengrass-discovery-javascript-issue-forbidden)
+ [Error: Discovery failed (headers: [object Object]) \$1 response\$1code: 404 \$1](#greengrass-discovery-javascript-issue-not-found)
+ [Error: Discovery failed (headers: [object Object])](#greengrass-discovery-javascript-issue-forbidden-not-found)

#### Error: aws-c-http: AWS\$1ERROR\$1HTTP\$1CONNECTION\$1CLOSED, The connection has closed or is closing.
<a name="greengrass-discovery-javascript-issue-no-response"></a>

<a name="troubleshooting-greengrass-discovery-no-response-issue"></a>リクエストで非アクティブな AWS IoT 証明書を指定すると、このエラーが表示されることがあります。

<a name="troubleshooting-greengrass-discovery-no-response-solution"></a>クライアントデバイスに証明書が添付されていること、および証明書がアクティブであることを確認します。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[Attach a thing or policy to a client certificate](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)」および「[Activate or deactivate a client certificate](https://docs.aws.amazon.com/iot/latest/developerguide/activate-or-deactivate-device-cert.html)」を参照してください。

#### Error: Discovery failed (headers: [object Object]) \$1 response\$1code: 403 \$1
<a name="greengrass-discovery-javascript-issue-forbidden"></a>

<a name="troubleshooting-greengrass-discovery-forbidden-issue"></a>クライアントデバイスに `greengrass:Discover` を呼び出すアクセス許可がない場合は、このエラーが表示されることがあります。

<a name="troubleshooting-greengrass-discovery-forbidden-solution"></a>クライアントデバイスの証明書に、`greengrass:Discover` を許可するポリシーがあることを確認します。このアクセス許可には、`Resource` セクションの [[thing policy variables]](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html) (モノのポリシー変数) (`iot:Connection.Thing.*`) を使用できません。詳細については、「[検出認証と認可](greengrass-discover-api.md#greengrass-discover-auth)」を参照してください。

#### Error: Discovery failed (headers: [object Object]) \$1 response\$1code: 404 \$1
<a name="greengrass-discovery-javascript-issue-not-found"></a>

<a name="troubleshooting-greengrass-discovery-not-found-issue"></a>次の場合にこのエラーが発生する可能性があります。<a name="troubleshooting-greengrass-discovery-not-found-issue-list"></a>
+ クライアントデバイスは Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループに関連付けられていません。
+ クライアントデバイスに関連付けられた Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループには MQTT ブローカーエンドポイントはありません。
+ クライアントデバイスに関連付けられている Greengrass コアデバイスには、[クライアントデバイス認証コンポーネント](client-device-auth-component.md)を実行しているものがありません。

<a name="troubleshooting-greengrass-discovery-not-found-solution"></a>クライアントデバイスが、接続するコアデバイスに関連付けられていることを確認します。次に、コアデバイスが[クライアントデバイス認証コンポーネント](client-device-auth-component.md)を実行していて、コアデバイスに少なくとも 1 つの MQTT ブローカーエンドポイントがあることを確認します。詳細については次を参照してください:<a name="troubleshooting-greengrass-discovery-not-found-solution-links"></a>
+ [クライアントデバイスを関連付ける](associate-client-devices.md)
+ [コアデバイスのエンドポイントを管理](manage-core-device-endpoints.md)
+ [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)

#### Error: Discovery failed (headers: [object Object])
<a name="greengrass-discovery-javascript-issue-forbidden-not-found"></a>

Greengrass 検出サンプルを実行すると、このエラー (HTTP レスポンスコードなし) が表示される場合があります。このエラーは、さまざまな理由で発生する可能性があります。
+ <a name="troubleshooting-greengrass-discovery-forbidden-issue"></a>クライアントデバイスに `greengrass:Discover` を呼び出すアクセス許可がない場合は、このエラーが表示されることがあります。

  <a name="troubleshooting-greengrass-discovery-forbidden-solution"></a>クライアントデバイスの証明書に、`greengrass:Discover` を許可するポリシーがあることを確認します。このアクセス許可には、`Resource` セクションの [[thing policy variables]](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html) (モノのポリシー変数) (`iot:Connection.Thing.*`) を使用できません。詳細については、「[検出認証と認可](greengrass-discover-api.md#greengrass-discover-auth)」を参照してください。
+ <a name="troubleshooting-greengrass-discovery-not-found-issue"></a>次の場合にこのエラーが発生する可能性があります。<a name="troubleshooting-greengrass-discovery-not-found-issue-list"></a>
  + クライアントデバイスは Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループに関連付けられていません。
  + クライアントデバイスに関連付けられた Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループには MQTT ブローカーエンドポイントはありません。
  + クライアントデバイスに関連付けられている Greengrass コアデバイスには、[クライアントデバイス認証コンポーネント](client-device-auth-component.md)を実行しているものがありません。

  <a name="troubleshooting-greengrass-discovery-not-found-solution"></a>クライアントデバイスが、接続するコアデバイスに関連付けられていることを確認します。次に、コアデバイスが[クライアントデバイス認証コンポーネント](client-device-auth-component.md)を実行していて、コアデバイスに少なくとも 1 つの MQTT ブローカーエンドポイントがあることを確認します。詳細については次を参照してください:<a name="troubleshooting-greengrass-discovery-not-found-solution-links"></a>
  + [クライアントデバイスを関連付ける](associate-client-devices.md)
  + [コアデバイスのエンドポイントを管理](manage-core-device-endpoints.md)
  + [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)

### Greengrass 検出の問題 (AWS IoT Device SDK v2 for Java)
<a name="greengrass-discovery-java-issues"></a>

次の情報を使用して、[AWS IoT Device SDK v2 for Java](https://github.com/aws/aws-iot-device-sdk-java-v2) での Greengrass 検出に関する問題のトラブルシューティングを行います。

**Topics**
+ [software.amazon.awssdk.crt.CrtRuntimeException: Error Getting Response Status Code from HttpStream. (aws\$1last\$1error: AWS\$1ERROR\$1HTTP\$1DATA\$1NOT\$1AVAILABLE(2062), This data is not yet available.)](#greengrass-discovery-java-issue-no-response)
+ [java.lang.RuntimeException: Error x-amzn-ErrorType(403)](#greengrass-discovery-java-issue-forbidden)
+ [java.lang.RuntimeException: Error x-amzn-ErrorType(404)](#greengrass-discovery-java-issue-not-found)

#### software.amazon.awssdk.crt.CrtRuntimeException: Error Getting Response Status Code from HttpStream. (aws\$1last\$1error: AWS\$1ERROR\$1HTTP\$1DATA\$1NOT\$1AVAILABLE(2062), This data is not yet available.)
<a name="greengrass-discovery-java-issue-no-response"></a>

<a name="troubleshooting-greengrass-discovery-no-response-issue"></a>リクエストで非アクティブな AWS IoT 証明書を指定すると、このエラーが表示されることがあります。

<a name="troubleshooting-greengrass-discovery-no-response-solution"></a>クライアントデバイスに証明書が添付されていること、および証明書がアクティブであることを確認します。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[Attach a thing or policy to a client certificate](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)」および「[Activate or deactivate a client certificate](https://docs.aws.amazon.com/iot/latest/developerguide/activate-or-deactivate-device-cert.html)」を参照してください。

#### java.lang.RuntimeException: Error x-amzn-ErrorType(403)
<a name="greengrass-discovery-java-issue-forbidden"></a>

<a name="troubleshooting-greengrass-discovery-forbidden-issue"></a>クライアントデバイスに `greengrass:Discover` を呼び出すアクセス許可がない場合は、このエラーが表示されることがあります。

<a name="troubleshooting-greengrass-discovery-forbidden-solution"></a>クライアントデバイスの証明書に、`greengrass:Discover` を許可するポリシーがあることを確認します。このアクセス許可には、`Resource` セクションの [[thing policy variables]](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html) (モノのポリシー変数) (`iot:Connection.Thing.*`) を使用できません。詳細については、「[検出認証と認可](greengrass-discover-api.md#greengrass-discover-auth)」を参照してください。

#### java.lang.RuntimeException: Error x-amzn-ErrorType(404)
<a name="greengrass-discovery-java-issue-not-found"></a>

<a name="troubleshooting-greengrass-discovery-not-found-issue"></a>次の場合にこのエラーが発生する可能性があります。<a name="troubleshooting-greengrass-discovery-not-found-issue-list"></a>
+ クライアントデバイスは Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループに関連付けられていません。
+ クライアントデバイスに関連付けられた Greengrass コアデバイスまたは AWS IoT Greengrass V1 グループには MQTT ブローカーエンドポイントはありません。
+ クライアントデバイスに関連付けられている Greengrass コアデバイスには、[クライアントデバイス認証コンポーネント](client-device-auth-component.md)を実行しているものがありません。

<a name="troubleshooting-greengrass-discovery-not-found-solution"></a>クライアントデバイスが、接続するコアデバイスに関連付けられていることを確認します。次に、コアデバイスが[クライアントデバイス認証コンポーネント](client-device-auth-component.md)を実行していて、コアデバイスに少なくとも 1 つの MQTT ブローカーエンドポイントがあることを確認します。詳細については次を参照してください:<a name="troubleshooting-greengrass-discovery-not-found-solution-links"></a>
+ [クライアントデバイスを関連付ける](associate-client-devices.md)
+ [コアデバイスのエンドポイントを管理](manage-core-device-endpoints.md)
+ [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)

## MQTT 接続の問題
<a name="mqtt-connection-issues"></a>

クライアントデバイス MQTT 接続の問題のトラブルシューティングには、次の情報を使用します。これらの問題は、クライアントデバイスが MQTT 経由でコアデバイスに接続しようとする際に発生する場合があります。

**Topics**
+ [io.moquette.broker.Authorizator: Client does not have read permissions on the topic](#client-missing-subscribe-permission)
+ [MQTT 接続の問題 (Python)](#mqtt-connection-python-issues)
+ [MQTT 接続の問題 (C\$1\$1)](#mqtt-connection-cpp-issues)
+ [MQTT 接続の問題 (Java)](#mqtt-connection-java-issues)
+ [MQTT 接続の問題 (JavaScript)](#mqtt-connection-javascript-issues)

### io.moquette.broker.Authorizator: Client does not have read permissions on the topic
<a name="client-missing-subscribe-permission"></a>

このエラーは、クライアントデバイスがアクセス許可を持たない MQTT トピックをサブスクライブしようとしたときに、Greengrass ログに表示されることがあります。エラーメッセージにはトピックが含まれています。

[クライアントデバイス認証コンポーネント](client-device-auth-component.md)の設定に、次の項目が含まれていることを確認します。
+ クライアントデバイスと一致するデバイスグループ。
+ トピックの `mqtt:subscribe` アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)
+ [クライアントデバイス認証](client-device-auth-component.md)
+ [デプロイの作成](create-deployments.md)

### MQTT 接続の問題 (Python)
<a name="mqtt-connection-python-issues"></a>

次の情報を使用して、[AWS IoT Device SDK v2 for Python](https://github.com/aws/aws-iot-device-sdk-python-v2) 使用時のクライアントデバイスの MQTT 接続に関する問題のトラブルシューティングを行います。

**Topics**
+ [AWS\$1ERROR\$1MQTT\$1PROTOCOL\$1ERROR: Protocol error occurred](#mqtt-connection-python-issue-protocol-error)
+ [AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred](#mqtt-connection-python-issue-unexpected-hangup)

#### AWS\$1ERROR\$1MQTT\$1PROTOCOL\$1ERROR: Protocol error occurred
<a name="mqtt-connection-python-issue-protocol-error"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>[クライアントデバイス承認コンポーネント](client-device-auth-component.md)で、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス認証ポリシーが定義されていない場合にこのエラーが発生する可能性があります。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ クライアントデバイスと一致するデバイスグループ。
+ クライアントデバイスの `mqtt:connect` アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)
+ [クライアントデバイス認証](client-device-auth-component.md)
+ [デプロイの作成](create-deployments.md)

#### AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred
<a name="mqtt-connection-python-issue-unexpected-hangup"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>[クライアントデバイス承認コンポーネント](client-device-auth-component.md)で、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス認証ポリシーが定義されていない場合にこのエラーが発生する可能性があります。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ クライアントデバイスと一致するデバイスグループ。
+ クライアントデバイスの `mqtt:connect` アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)
+ [クライアントデバイス認証](client-device-auth-component.md)
+ [デプロイの作成](create-deployments.md)

### MQTT 接続の問題 (C\$1\$1)
<a name="mqtt-connection-cpp-issues"></a>

次の情報を使用して、[AWS IoT Device SDK v2 for C\$1\$1](https://github.com/aws/aws-iot-device-sdk-cpp-v2) 使用時のクライアントデバイス MQTT 接続に関する問題のトラブルシューティングを行います。

**Topics**
+ [AWS\$1ERROR\$1MQTT\$1PROTOCOL\$1ERROR: Protocol error occurred](#mqtt-connection-cpp-issue-protocol-error)
+ [AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred](#mqtt-connection-cpp-issue-unexpected-hangup)

#### AWS\$1ERROR\$1MQTT\$1PROTOCOL\$1ERROR: Protocol error occurred
<a name="mqtt-connection-cpp-issue-protocol-error"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>[クライアントデバイス承認コンポーネント](client-device-auth-component.md)で、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス認証ポリシーが定義されていない場合にこのエラーが発生する可能性があります。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ クライアントデバイスと一致するデバイスグループ。
+ クライアントデバイスの `mqtt:connect` アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)
+ [クライアントデバイス認証](client-device-auth-component.md)
+ [デプロイの作成](create-deployments.md)

#### AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred
<a name="mqtt-connection-cpp-issue-unexpected-hangup"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>[クライアントデバイス承認コンポーネント](client-device-auth-component.md)で、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス認証ポリシーが定義されていない場合にこのエラーが発生する可能性があります。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ クライアントデバイスと一致するデバイスグループ。
+ クライアントデバイスの `mqtt:connect` アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)
+ [クライアントデバイス認証](client-device-auth-component.md)
+ [デプロイの作成](create-deployments.md)

### MQTT 接続の問題 (Java)
<a name="mqtt-connection-java-issues"></a>

次の情報を使用して、[AWS IoT Device SDK v2 for Java](https://github.com/aws/aws-iot-device-sdk-java-v2) 使用時のクライアントデバイス MQTT 接続に関する問題のトラブルシューティングを行います。

**Topics**
+ [software.amazon.awssdk.crt.mqtt.MqttException: Protocol error occurred](#mqtt-connection-java-issue-protocol-error)
+ [AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred](#mqtt-connection-java-issue-unexpected-hangup)

#### software.amazon.awssdk.crt.mqtt.MqttException: Protocol error occurred
<a name="mqtt-connection-java-issue-protocol-error"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>[クライアントデバイス認証コンポーネント](client-device-auth-component.md)で、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス認証ポリシーが定義されていない場合にこのエラーが発生する可能性があります。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ クライアントデバイスと一致するデバイスグループ。
+ クライアントデバイスの `mqtt:connect` アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)
+ [クライアントデバイス認証](client-device-auth-component.md)
+ [デプロイの作成](create-deployments.md)

#### AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred
<a name="mqtt-connection-java-issue-unexpected-hangup"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>[クライアントデバイス承認コンポーネント](client-device-auth-component.md)で、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス認証ポリシーが定義されていない場合にこのエラーが発生する可能性があります。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ クライアントデバイスと一致するデバイスグループ。
+ クライアントデバイスの `mqtt:connect` アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)
+ [クライアントデバイス認証](client-device-auth-component.md)
+ [デプロイの作成](create-deployments.md)

### MQTT 接続の問題 (JavaScript)
<a name="mqtt-connection-javascript-issues"></a>

次の情報を使用して、[AWS IoT Device SDK v2 for JavaScript](https://github.com/aws/aws-iot-device-sdk-js-v2) 使用時のクライアントデバイス MQTT 接続に関する問題のトラブルシューティングを行います。

**Topics**
+ [AWS\$1ERROR\$1MQTT\$1PROTOCOL\$1ERROR: Protocol error occurred](#mqtt-connection-javascript-issue-protocol-error)
+ [AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred](#mqtt-connection-javascript-issue-unexpected-hangup)

#### AWS\$1ERROR\$1MQTT\$1PROTOCOL\$1ERROR: Protocol error occurred
<a name="mqtt-connection-javascript-issue-protocol-error"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>[クライアントデバイス承認コンポーネント](client-device-auth-component.md)で、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス認証ポリシーが定義されていない場合にこのエラーが発生する可能性があります。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ クライアントデバイスと一致するデバイスグループ。
+ クライアントデバイスの `mqtt:connect` アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)
+ [クライアントデバイス認証](client-device-auth-component.md)
+ [デプロイの作成](create-deployments.md)

#### AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred
<a name="mqtt-connection-javascript-issue-unexpected-hangup"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>[クライアントデバイス承認コンポーネント](client-device-auth-component.md)で、接続するアクセス許可をクライアントデバイスに付与するクライアントデバイス認証ポリシーが定義されていない場合にこのエラーが発生する可能性があります。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>クライアントデバイス認証コンポーネントの設定に次の項目が含まれていることを確認します。<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ クライアントデバイスと一致するデバイスグループ。
+ クライアントデバイスの `mqtt:connect` アクセス許可を付与する、そのデバイスグループのクライアントデバイス承認ポリシー。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>クライアントデバイス認証コンポーネントをデプロイおよび設定する方法の詳細については、次を参照してください。<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [クラウドディスカバリを設定する (コンソール)](connect-client-devices.md#configure-cloud-discovery-console)
+ [クライアントデバイス認証](client-device-auth-component.md)
+ [デプロイの作成](create-deployments.md)