

지원 종료 공지: 2026년 10월 7일에는에 대한 지원을 중단할 AWS 예정입니다 AWS IoT Greengrass Version 1. 2026년 10월 7일 이후에는 더 이상 AWS IoT Greengrass V1 리소스에 액세스할 수 없습니다. 자세한 내용은 [에서 마이그레이션 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)을 참조하세요.

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

# 통신 테스트
<a name="test-comms"></a>

1. <a name="ping-device"></a>컴퓨터와 AWS IoT Greengrass 코어 디바이스가 동일한 네트워크를 사용하여 인터넷에 연결되어 있는지 확인합니다.

   1.  AWS IoT Greengrass 코어 디바이스에서 다음 명령을 실행하여 IP 주소를 찾습니다.

      ```
      hostname -I
      ```

   1. 컴퓨터에서 코어의 IP 주소를 사용하여 다음 명령을 실행합니다. Ctrl \$1 C를 사용하여 **ping** 명령을 중지할 수 있습니다.

      ```
      ping IP-address
      ```

      다음과 유사한 출력은 컴퓨터와 AWS IoT Greengrass 코어 디바이스 간의 통신 성공(0% 패킷 손실)을 나타냅니다.  
![\[성공적인 ping 명령 출력\]](http://docs.aws.amazon.com/ko_kr/greengrass/v1/developerguide/images/gg-get-started-075.5.png)
**참고**  
실행 중인 EC2 인스턴스를 ping할 수 없는 경우 인스턴스의 인바운드 보안 그룹 규칙이 [Echo 요청](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-ping) 메시지에 대한 ICMP 트래픽을 허용하는지 AWS IoT Greengrass확인합니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [보안 그룹에 규칙 추가](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#adding-security-group-rule)를 참조하세요.  
Windows 호스트 컴퓨터에 어드밴스 보안 앱을 갖춘 Windows 방화벽에서 인바운드 에코 요청(예: **File and Printer Sharing(파일 및 프린터 공유)(에코 요청 - ICMPv4-In)**)을 허용하는 인바운드 규칙을 활성화하거나 생성해야 할 수도 있습니다.

1.  AWS IoT 엔드포인트를 가져옵니다.

   1. <a name="iot-settings"></a>[AWS IoT 콘솔](https://console.aws.amazon.com/iot/)의 탐색 창에서 **설정**을 선택합니다.

   1. <a name="iot-settings-endpoint"></a>**장치 데이터 엔드포인트**에서 **엔드포인트**의 값을 기록해 둡니다. 이 값을 사용하여 다음 단계의 명령에서 *AWS\$1IOT\$1ENDPOINT* 자리 표시자를 바꿉니다.
**참고**  
[엔드포인트는 해당 인증서 유형](gg-core.md#certificate-endpoints)과 일치해야 합니다.

1. 컴퓨터( AWS IoT Greengrass 코어 디바이스 아님)에서 두 개의 [명령줄](https://en.wikipedia.org/wiki/Command-line_interface)(터미널 또는 명령 프롬프트) 창을 엽니다. 창 하나는 HelloWorld\$1Publisher 클라이언트 장치를 나타내고, 다른 창 하나는 HelloWorld\$1Subscriber 클라이언트 장치를 나타냅니다.

   실행 시는 엔드포인트에서 AWS IoT Greengrass 코어의 위치에 대한 정보를 수집하려고 `basicDiscovery.py` 시도합니다. 이 정보는 클라이언트 장치가 코어를 발견하고 성공적으로 연결한 후 저장됩니다. 이 경우 향후 메시징 및 작업이 로컬에서 실행될 수 있습니다(인터넷 연결 필요 없음).
**참고**  
MQTT 연결에 사용되는 클라이언트 ID는 클라이언트 장치의 사물 이름과 일치해야 합니다. `basicDiscovery.py` 스크립트는 MQTT 연결의 클라이언트 ID를 스크립트 실행 시 지정한 사물 이름으로 설정합니다.  
`basicDiscovery.py` 파일이 포함된 폴더에서 다음 명령을 실행하면 상세한 스크립트 사용 정보를 알 수 있습니다.  

   ```
   python basicDiscovery.py --help
   ```

1. HelloWorld\$1Publisher 클라이언트 장치 창에서 다음 명령을 실행합니다.
   + *path-to-certs-folder*를 인증서, 키 및 `basicDiscovery.py`를 포함하는 폴더의 경로로 바꿉니다.
   + *AWS\$1IOT\$1ENDPOINT*를 엔드포인트로 바꿉니다.
   + 두 개의 *publisherCertId* 인스턴스를 HelloWorld\$1Publisher 클라이언트 장치의 파일 이름에 인증서 ID로 바꿉니다.

   ```
   cd path-to-certs-folder
   python basicDiscovery.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert publisherCertId-certificate.pem.crt --key publisherCertId-private.pem.key --thingName HelloWorld_Publisher --topic 'hello/world/pubsub' --mode publish --message 'Hello, World! Sent from HelloWorld_Publisher'
   ```

   `Published topic 'hello/world/pubsub': {"message": "Hello, World! Sent from HelloWorld_Publisher", "sequence": 1}`와 같은 항목을 포함하는 다음과 비슷한 출력 화면이 보여야 합니다.
**참고**  
스크립트가 `error: unrecognized arguments` 메시지를 반환하는 경우 `--topic` 및 `--message` 파라미터의 작은따옴표를 큰따옴표로 변경하고 명령을 다시 실행합니다.  
연결 문제를 해결하려면 [수동 IP 감지](#corp-network-manual-detection)를 사용합니다.  
![\[게시자 출력 스크린샷\]](http://docs.aws.amazon.com/ko_kr/greengrass/v1/developerguide/images/gg-get-started-076.png)

1. HelloWorld\$1Subscriber 클라이언트 장치 창에서 다음 명령을 실행합니다.
   + *path-to-certs-folder*를 인증서, 키 및 `basicDiscovery.py`를 포함하는 폴더의 경로로 바꿉니다.
   + *AWS\$1IOT\$1ENDPOINT*를 엔드포인트로 바꿉니다.
   + 두 개의 *subscriberCertId* 인스턴스를 HelloWorld\$1Subscriber 클라이언트 장치의 파일 이름에 인증서 ID로 바꿉니다.

   ```
   cd path-to-certs-folder
   python basicDiscovery.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert subscriberCertId-certificate.pem.crt --key subscriberCertId-private.pem.key --thingName HelloWorld_Subscriber --topic 'hello/world/pubsub' --mode subscribe
   ```

   `Received message on topic hello/world/pubsub: {"message": "Hello, World! Sent from HelloWorld_Publisher", "sequence": 1}`와 같은 항목을 포함하는 다음 출력 화면이 보여야 합니다.  
![\[구독자 출력 스크린샷\]](http://docs.aws.amazon.com/ko_kr/greengrass/v1/developerguide/images/gg-get-started-077.png)

HelloWorld\$1Subscriber 창에 메시지가 누적되지 않도록 하려면 HelloWorld\$1Publisher 창을 닫습니다.

기업 네트워크에 대한 테스트는 코어 연결을 방해할 수 있습니다. 차선책으로서 엔드포인트를 수동으로 입력할 수 있습니다. 이렇게 `basicDiscovery.py` 하면 스크립트가 AWS IoT Greengrass 코어 디바이스의 올바른 IP 주소에 연결됩니다.

**수동으로 엔드포인트를 입력하려면**

1. <a name="console-gg-groups"></a> AWS IoT 콘솔 탐색 창의 **관리**에서 **Greengrass 디바이스**를 확장한 다음 **그룹(V1)을** 선택합니다.

1. **Greengrass 그룹**에서 사용자 그룹을 선택합니다.

1. MQTT 브로커 엔드포인트를 수동으로 관리하도록 코어를 구성하십시오. 다음을 수행합니다.

   1. 그룹 구성 페이지에서 **Lambda 함수** 탭을 선택합니다.

   1. **시스템 Lambda 함수**에서 **IP 감지기**를 선택한 다음 **편집**을 선택합니다.

   1. **IP 감지기 설정 편집**에서 **MQTT 브로커 엔드포인트 수동 관리**를 선택한 다음 **저장**을 선택합니다.

1. 코어의 MQTT 브로커 엔드포인트를 입력합니다. 다음을 수행합니다.

   1. **개요**에서 **Greengrass 코어**를 선택합니다.

   1. **MQTT 브로커 엔드포인트**에서 **엔드포인트 관리**를 선택합니다.

   1. **엔드포인트 추가**를 선택하고 엔드포인트 값이 하나뿐인지 확인합니다. 이 값은 AWS IoT Greengrass 코어 디바이스의 포트 8883에 대한 IP 주소 엔드포인트여야 합니다(예: `192.168.1.4`).

   1. **업데이트**를 선택합니다.