

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 클라이언트 디바이스 문제 해결
<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 코어 디바이스를 식별하기 위해 [Greengrass 검색 API](greengrass-discover-api.md)를 사용할 때 발생할 수 있습니다.

**Topics**
+ [Greengrass 검색 문제(HTTP API)](#greengrass-discovery-http-issues)
+ [Greengrass 검색 문제(Python용AWS IoT Device SDK v2)](#greengrass-discovery-python-issues)
+ [Greengrass 검색 문제(C\$1\$1의 경우AWS IoT Device SDK v2)](#greengrass-discovery-cpp-issues)
+ [Greengrass 검색 문제(JavaScript용AWS IoT Device SDK v2)](#greengrass-discovery-javascript-issues)
+ [Greengrass 검색 문제(Java용AWS IoT Device SDK v2)](#greengrass-discovery-java-issues)

### Greengrass 검색 문제(HTTP API)
<a name="greengrass-discovery-http-issues"></a>

다음 정보를 활용하여 Greengrass 검색 관련 문제를 해결하세요. [cURL로 검색 API를 테스트](greengrass-discover-api.md#greengrass-discover-test-request)하면 이 오류가 발생할 수 있습니다.

**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 개발자 가이드*에서 [클라이언트 인증서에 사물 또는 정책 연결](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)과 [클라이언트 인증서 활성화 또는 비활성화](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` 섹션의 [사물 정책 변수](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html)(`iot:Connection.Thing.*`)를 사용할 수 없습니다. 자세한 내용은 [Discovery 인증 및 권한 부여](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)를 실행하고 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 검색 문제(Python용AWS IoT Device SDK v2)
<a name="greengrass-discovery-python-issues"></a>

다음 정보를 활용하여 [Python용AWS IoT Device SDK v2](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 개발자 가이드*에서 [클라이언트 인증서에 사물 또는 정책 연결](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)과 [클라이언트 인증서 활성화 또는 비활성화](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` 섹션의 [사물 정책 변수](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html)(`iot:Connection.Thing.*`)를 사용할 수 없습니다. 자세한 내용은 [Discovery 인증 및 권한 부여](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)를 실행하고 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 검색 문제(C\$1\$1의 경우AWS IoT Device SDK v2)
<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 개발자 가이드*에서 [클라이언트 인증서에 사물 또는 정책 연결](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)과 [클라이언트 인증서 활성화 또는 비활성화](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` 섹션의 [사물 정책 변수](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html)(`iot:Connection.Thing.*`)를 사용할 수 없습니다. 자세한 내용은 [Discovery 인증 및 권한 부여](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)를 실행하고 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 검색 문제(JavaScript용AWS IoT Device SDK v2)
<a name="greengrass-discovery-javascript-issues"></a>

다음 정보를 활용하여 [JavaScript용AWS IoT Device SDK v2](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 개발자 가이드*에서 [클라이언트 인증서에 사물 또는 정책 연결](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)과 [클라이언트 인증서 활성화 또는 비활성화](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` 섹션의 [사물 정책 변수](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html)(`iot:Connection.Thing.*`)를 사용할 수 없습니다. 자세한 내용은 [Discovery 인증 및 권한 부여](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)를 실행하고 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` 섹션의 [사물 정책 변수](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html)(`iot:Connection.Thing.*`)를 사용할 수 없습니다. 자세한 내용은 [Discovery 인증 및 권한 부여](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)를 실행하고 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 검색 문제(Java용AWS IoT Device SDK v2)
<a name="greengrass-discovery-java-issues"></a>

다음 정보를 활용하여 [Java용AWS IoT Device SDK v2](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 개발자 가이드*에서 [클라이언트 인증서에 사물 또는 정책 연결](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)과 [클라이언트 인증서 활성화 또는 비활성화](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` 섹션의 [사물 정책 변수](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html)(`iot:Connection.Thing.*`)를 사용할 수 없습니다. 자세한 내용은 [Discovery 인증 및 권한 부여](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)를 실행하고 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>

다음 정보를 활용하여 [Python용AWS IoT Device SDK v2](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>

다음 정보를 활용하여 [Java용AWS IoT Device SDK v2](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>

다음 정보를 활용하여 [JavaScript용AWS IoT Device SDK v2](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)