로컬 디버그 콘솔 - AWS IoT Greengrass

로컬 디버그 콘솔

로컬 디버그 콘솔 구성 요소(aws.greengrass.LocalDebugConsole)는 AWS IoT Greengrass 코어 디바이스 및 해당 구성 요소에 대한 정보를 표시하는 로컬 대시보드를 제공합니다. 이 대시보드를 사용하여 코어 디바이스를 디버깅하고 로컬 구성 요소를 관리할 수 있습니다.

중요

이 구성 요소는 프로덕션 환경이 아닌 개발 환경에서만 사용하는 것이 좋습니다. 이 구성 요소는 일반적으로 프로덕션 환경에서는 필요하지 않은 정보와 작업에 대한 액세스를 제공합니다. 최소 권한 원칙에 따라 필요한 코어 디바이스에만 이 구성 요소를 배포하세요.

버전

이 구성 요소에는 다음과 같은 버전이 있습니다.

  • 2.4.x

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

유형

이 구성 요소는 플러그인 구성 요소(aws.greengrass.plugin)입니다. Greengrass nucleus는 이 구성 요소를 nucleus와 동일한 Java 가상 머신(JVM)에서 실행합니다. 코어 디바이스에서 이 구성 요소의 버전을 변경하면 nucleus가 다시 시작됩니다.

이 구성 요소는 Greengrass nucleus와 동일한 로그 파일을 사용합니다. 자세한 내용은 AWS IoT Greengrass 로그 모니터링 섹션을 참조하세요.

자세한 내용은 구성 요소 유형 섹션을 참조하세요.

운영 체제

이 구성 요소는 다음 운영 체제를 실행하는 코어 디바이스에 설치할 수 있습니다.

  • Linux

  • Windows

요구 사항

이 구성 요소의 요구 사항은 다음과 같습니다.

  • 사용자 이름과 암호를 사용하여 대시보드에 로그인합니다. 사용자 이름 debug가 제공됩니다. AWS IoT Greengrass CLI를 사용하여 코어 디바이스의 대시보드에 인증하는 임시 암호를 생성해야 합니다. 로컬 디버그 콘솔을 사용하려면 AWS IoT Greengrass CLI를 사용할 수 있어야 합니다. 자세한 내용은 Greengrass CLI 요구 사항을 참조하세요. 암호를 생성하고 로그인하는 방법에 대한 자세한 내용은 로컬 디버그 콘솔 구성 요소 사용을 참조하세요.

  • 로컬 디버그 콘솔 구성 요소는 VPC에서 실행할 수 있습니다.

의존성

구성 요소를 배포하면 AWS IoT Greengrass에서 해당 종속성의 호환 버전도 배포합니다. 즉, 구성 요소를 성공적으로 배포하려면 구성 요소 및 모든 해당 종속성에 대한 요구 사항을 충족해야 합니다. 이 단원에는 이 구성 요소의 릴리스된 버전에 대한 종속성과 각 종속성에 대한 구성 요소 버전을 정의하는 의미 체계 버전 제약 조건이 나열되어 있습니다. AWS IoT Greengrass 콘솔에서도 각 구성 요소 버전에 대한 종속성을 볼 수 있습니다. 구성 요소 세부 정보 페이지에서 종속성 목록을 찾습니다.

2.4.3

다음 표에는 이 구성 요소의 버전 2.4.3에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.10.0 <2.14.0 하드
Greengrass CLI >=2.10.0 <2.14.0 하드
2.4.3

다음 표에는 이 구성 요소의 버전 2.4.3에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.10.0 <2.14.0 하드
Greengrass CLI >=2.10.0 <2.14.0 하드
2.4.1 – 2.4.2

다음 표에는 이 구성 요소의 버전 2.4.1~2.4.2에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.10.0 <2.13.0 하드
Greengrass CLI >=2.10.0 <2.13.0 하드
2.4.0

다음 표에는 이 구성 요소의 버전 2.4.0에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.10.0 <2.12.0 하드
Greengrass CLI >=2.10.0 <2.12.0 하드
2.3.0 and 2.3.1

다음 표에는 이 구성 요소의 버전 2.3.0 및 2.3.1에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.10.0 <2.12.0 하드
Greengrass CLI >=2.10.0 <2.12.0 하드
2.2.9

다음 표에는 이 구성 요소의 버전 2.2.9에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.1.0 <2.12.0 하드
Greengrass CLI >=2.1.0 <2.12.0 하드
2.2.8

다음 표에는 이 구성 요소의 버전 2.2.8에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.1.0 <2.11.0 하드
Greengrass CLI >=2.1.0 <2.11.0 하드
2.2.7

다음 표에는 이 구성 요소의 버전 2.2.7에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.1.0 <2.10.0 하드
Greengrass CLI >=2.1.0 <2.10.0 하드
2.2.6

다음 표에는 이 구성 요소의 버전 2.2.6에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.1.0 <2.9.0 하드
Greengrass CLI >=2.1.0 <2.9.0 하드
2.2.5

다음 표에는 이 구성 요소의 버전 2.2.5에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.1.0 <2.8.0 하드
Greengrass CLI >=2.1.0 <2.8.0 하드
2.2.4

다음 표에는 이 구성 요소의 버전 2.2.4에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.1.0 <2.7.0 하드
Greengrass CLI >=2.1.0 <2.7.0 하드
2.2.3

다음 표에는 이 구성 요소의 버전 2.2.3에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.1.0 <2.6.0 하드
Greengrass CLI >=2.1.0 <2.6.0 하드
2.2.2

다음 표에는 이 구성 요소의 버전 2.2.2에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.1.0 <2.5.0 하드
Greengrass CLI >=2.1.0 <2.5.0 하드
2.2.1

다음 표에는 이 구성 요소의 버전 2.2.1에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.1.0 <2.4.0 하드
Greengrass CLI >=2.1.0 <2.4.0 하드
2.2.0

다음 표에는 이 구성 요소의 버전 2.2.0에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.1.0 <2.3.0 하드
Greengrass CLI >=2.1.0 <2.3.0 하드
2.1.0

다음 표에는 이 구성 요소의 버전 2.1.0에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.1.0 <2.2.0 하드
Greengrass CLI >=2.1.0 <2.2.0 하드
2.0.x

다음 표에는 이 구성 요소의 버전 2.0.x에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.3 <2.1.0 소프트
Greengrass CLI >=2.0.3 <2.1.0 소프트

구성 요소 종속성에 대한 자세한 내용은 구성 요소 레시피 참조를 참조하세요.

구성

이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음 구성 파라미터를 제공합니다.

v2.1.x - v2.4.x
httpsEnabled

(선택 사항) 로컬 디버그 콘솔에 대해 HTTPS 통신을 활성화할 수 있습니다. HTTPS 통신을 활성화하면 로컬 디버그 콘솔에서 자체 서명된 인증서를 생성합니다. 웹 브라우저에서 자체 서명된 인증서를 사용하는 웹 사이트에 대해 보안 경고를 표시하므로 인증서를 수동으로 확인해야 합니다. 그러면 경고를 무시해도 됩니다. 자세한 내용은 사용량 섹션을 참조하세요.

기본값: true

port

(선택 사항) 로컬 디버그 콘솔을 제공할 포트입니다.

기본값: 1441

websocketPort

(선택 사항) 로컬 디버그 콘솔에 사용할 websocket 포트입니다.

기본값: 1442

bindHostname

(선택 사항) 로컬 디버그 콘솔에 사용할 호스트 이름입니다.

Docker 컨테이너에서 AWS IoT Greengrass 코어 소프트웨어를 실행하는 경우 0.0.0.0Docker 컨테이너 외부에서 로컬 디버그 콘솔을 열 수 있도록 이 파라미터를 으로 설정합니다.

기본값: localhost

예: 구성 병합 업데이트

다음 예제 구성에서는 기본이 아닌 포트에서 로컬 디버그 콘솔을 열고 HTTPS를 비활성화하도록 지정합니다.

{ "httpsEnabled": false, "port": "10441", "websocketPort": "10442" }
v2.0.x
port

(선택 사항) 로컬 디버그 콘솔을 제공할 포트입니다.

기본값: 1441

websocketPort

(선택 사항) 로컬 디버그 콘솔에 사용할 websocket 포트입니다.

기본값: 1442

bindHostname

(선택 사항) 로컬 디버그 콘솔에 사용할 호스트 이름입니다.

Docker 컨테이너에서 AWS IoT Greengrass 코어 소프트웨어를 실행하는 경우 0.0.0.0Docker 컨테이너 외부에서 로컬 디버그 콘솔을 열 수 있도록 이 파라미터를 으로 설정합니다.

기본값: localhost

예: 구성 병합 업데이트

다음 예제 구성에서는 기본이 아닌 포트에서 로컬 디버그 콘솔을 열도록 지정합니다.

{ "port": "10441", "websocketPort": "10442" }

사용량

로컬 디버그 콘솔을 사용하려면 Greengrass CLI에서 세션을 생성합니다. 세션을 생성할 때 Greengrass CLI에서는 로컬 디버그 콘솔에 로그인하는 데 사용할 수 있는 사용자 이름과 임시 암호를 제공합니다.

다음 지침에 따라 코어 디바이스 또는 개발 컴퓨터에서 로컬 디버그 콘솔을 엽니다.

v2.1.x - v2.4.x

버전 2.1.0 이상에서는 로컬 디버그 콘솔이 기본적으로 HTTPS를 사용합니다. HTTPS가 활성화된 경우 로컬 디버그 콘솔은 연결을 보호하기 위해 자체 서명된 인증서를 생성합니다. 이 자체 서명된 인증서로 인해 로컬 디버그 콘솔을 열 때 웹 브라우저에서 보안 경고를 표시합니다. Greengrass CLI로 세션을 생성할 때 출력에 인증서의 지문이 포함되므로 인증서가 정상이고 연결이 안전한지 확인할 수 있습니다.

HTTPS를 비활성화할 수 있습니다. 자세한 내용은 로컬 디버그 콘솔 구성을 참조하세요.

로컬 디버그 콘솔을 열려면
  1. (선택 사항) 개발 컴퓨터에서 로컬 디버그 콘솔을 표시하려면 SSH를 통해 콘솔의 포트를 전달할 수 있습니다. 하지만 먼저 코어 디바이스의 SSH 구성 파일에서 AllowTcpForwarding 옵션을 활성화해야 합니다. 이 옵션은 기본적으로 활성화되어 있습니다. 개발 컴퓨터에서 다음 명령을 실행하여 개발 컴퓨터의 localhost:1441에서 대시보드를 봅니다.

    ssh -L 1441:localhost:1441 -L 1442:localhost:1442 username@core-device-ip-address
    참고

    기본 포트를 14411442에서 변경할 수 있습니다. 자세한 내용은 로컬 디버그 콘솔 구성을 참조하세요.

  2. 로컬 디버그 콘솔을 사용할 세션을 생성합니다. 세션을 생성할 때 인증에 사용하는 암호를 생성합니다. 이 구성 요소를 사용하여 중요한 정보를 보고 코어 디바이스에서 작업을 수행할 수 있으므로 보안을 강화하기 위해 로컬 디버그 콘솔에 암호가 필요합니다. 구성 요소 구성에서 HTTPS를 활성화하는 경우에는 로컬 디버그 콘솔에서 연결을 보호하기 위해 인증서도 생성합니다. HTTPS는 기본적으로 활성화되어 있습니다.

    AWS IoT Greengrass CLI를 사용하여 세션을 생성합니다. 이 명령은 8시간 후 만료되는 임의의 43자 암호를 생성합니다. /greengrass/v2 또는 C:\greengrass\v2를 AWS IoT Greengrass V2 루트 폴더의 경로로 바꿉니다.

    Linux or UnixWindows
    Linux or Unix
    sudo /greengrass/v2/bin/greengrass-cli get-debug-password
    Windows
    C:\greengrass\v2\bin\greengrass-cli get-debug-password

    HTTPS를 사용하도록 로컬 디버그 콘솔을 구성한 경우 명령 출력은 다음 예제와 같습니다. 로컬 디버그 콘솔을 열 때 인증서 지문을 사용하여 연결이 안전한지 확인합니다.

    Username: debug Password: bEDp3MOHdj8ou2w5de_sCBI2XAaguy3a8XxREXAMPLE Password expires at: 2021-04-01T17:01:43.921999931-07:00 The local debug console is configured to use TLS security. The certificate is self-signed so you will need to bypass your web browser's security warnings to open the console. Before you bypass the security warning, verify that the certificate fingerprint matches the following fingerprints. SHA-256: 15 0B 2C E2 54 8B 22 DE 08 46 54 8A B1 2B 25 DE FB 02 7D 01 4E 4A 56 67 96 DA A6 CC B1 D2 C4 1B SHA-1: BC 3E 16 04 D3 80 70 DA E0 47 25 F9 90 FA D6 02 80 3E B5 C1

    디버그 보기 구성 요소는 8시간 지속되는 세션을 생성합니다. 이 시간 후에 로컬 디버그 콘솔을 다시 보려면 새 암호를 생성해야 합니다.

  3. 대시보드를 열고 로그인합니다. SSH를 통해 포트를 전달하는 경우 Greengrass 코어 디바이스 또는 개발 컴퓨터에서 대시보드를 봅니다. 다음 중 하나를 수행합니다.

    • 로컬 디버그 콘솔에서 기본 설정인 HTTPS를 활성화한 경우 다음을 수행합니다.

      1. SSH를 통해 포트를 전달하는 경우 코어 디바이스 또는 개발 컴퓨터에서 https://localhost:1441을 엽니다.

        브라우저에 잘못된 보안 인증서에 대한 보안 경고가 표시될 수 있습니다.

      2. 브라우저에 보안 경고가 표시되면 인증서가 정상인지 확인하고 보안 경고를 무시합니다. 다음을 따릅니다.

        1. 인증서에 대한 SHA-256 또는 SHA-1 지문을 찾고 get-debug-password 명령이 이전에 출력한 SHA-256 또는 SHA-1 지문과 일치하는지 확인합니다. 브라우저에서 지문을 하나 또는 둘 다 제공할 수 있습니다. 브라우저의 설명서를 참조하여 인증서와 해당 지문을 확인합니다. 일부 브라우저에서는 인증서 지문을 지문(thumbprint)이라고 합니다.

          참고

          인증서 지문이 일치하지 않으면 단계 2로 이동하여 새 세션을 생성합니다. 그래도 인증서 지문이 일치하지 않는 경우 연결이 안전하지 않을 수 있습니다.

        2. 인증서 지문이 일치하는 경우 브라우저의 보안 경고를 무시하고 로컬 디버그 콘솔을 엽니다. 브라우저의 설명서를 참조하여 브라우저 보안 경고를 우회합니다.

      3. get-debug-password 명령에서 이전에 출력한 사용자 이름과 암호를 사용하여 웹 사이트에 로그인합니다.

        로컬 디버그 콘솔이 열립니다.

      4. 로컬 디버그 콘솔에 실패한 TLS 핸드셰이크로 인해 WebSocket에 연결할 수 없다는 오류가 표시되면 WebSocket URL에 대한 자체 서명된 보안 경고를 우회해야 합니다.

        로컬 디버그 콘솔의 WebSocket TLS 핸드셰이크 오류

        다음을 따릅니다.

        1. 로컬 디버그 콘솔을 연 동일한 브라우저에서 https://localhost:1442를 엽니다.

        2. 인증서를 확인하고 보안 경고를 우회합니다.

          경고를 우회하면 브라우저에 HTTP 404 페이지가 표시될 수 있습니다.

        3. https://localhost:1441을 다시 엽니다.

          로컬 디버그 콘솔에 코어 디바이스에 대한 정보가 표시됩니다.

    • 로컬 디버그 콘솔에서 HTTPS를 비활성화한 경우 다음을 수행합니다.

      1. SSH를 통해 포트를 전달하는 경우 코어 디바이스 또는 개발 컴퓨터에서 http://localhost:1441을 엽니다.

      2. get-debug-password 명령에서 이전에 출력한 사용자 이름과 암호를 사용하여 웹 사이트에 로그인합니다.

        로컬 디버그 콘솔이 열립니다.

v2.0.x
로컬 디버그 콘솔을 열려면
  1. (선택 사항) 개발 컴퓨터에서 로컬 디버그 콘솔을 표시하려면 SSH를 통해 콘솔의 포트를 전달할 수 있습니다. 하지만 먼저 코어 디바이스의 SSH 구성 파일에서 AllowTcpForwarding 옵션을 활성화해야 합니다. 이 옵션은 기본적으로 활성화되어 있습니다. 개발 컴퓨터에서 다음 명령을 실행하여 개발 컴퓨터의 localhost:1441에서 대시보드를 봅니다.

    ssh -L 1441:localhost:1441 -L 1442:localhost:1442 username@core-device-ip-address
    참고

    기본 포트를 14411442에서 변경할 수 있습니다. 자세한 내용은 로컬 디버그 콘솔 구성을 참조하세요.

  2. 로컬 디버그 콘솔을 사용할 세션을 생성합니다. 세션을 생성할 때 인증에 사용하는 암호를 생성합니다. 이 구성 요소를 사용하여 중요한 정보를 보고 코어 디바이스에서 작업을 수행할 수 있으므로 보안을 강화하기 위해 로컬 디버그 콘솔에 암호가 필요합니다.

    AWS IoT Greengrass CLI를 사용하여 세션을 생성합니다. 이 명령은 8시간 후 만료되는 임의의 43자 암호를 생성합니다. /greengrass/v2 또는 C:\greengrass\v2를 AWS IoT Greengrass V2 루트 폴더의 경로로 바꿉니다.

    Linux or UnixWindows
    Linux or Unix
    sudo /greengrass/v2/bin/greengrass-cli get-debug-password
    Windows
    C:\greengrass\v2\bin\greengrass-cli get-debug-password

    이 명령 출력은 다음 예제와 같습니다.

    Username: debug Password: bEDp3MOHdj8ou2w5de_sCBI2XAaguy3a8XxREXAMPLE Password will expire at: 2021-04-01T17:01:43.921999931-07:00

    디버그 보기 구성 요소는 4시간 지속되는 세션을 생성하며, 이 시간 이후 로컬 디버그 콘솔을 다시 보려면 새 암호를 생성해야 합니다.

  3. SSH를 통해 포트를 전달하는 경우 코어 디바이스 또는 개발 컴퓨터에서 http://localhost:1441을 엽니다.

  4. get-debug-password 명령에서 이전에 출력한 사용자 이름과 암호를 사용하여 웹 사이트에 로그인합니다.

    로컬 디버그 콘솔이 열립니다.

로컬 로그 파일

이 구성 요소는 Greengrass nucleus 구성요소와 동일한 로그 파일을 사용합니다.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
이 구성 요소의 로그를 보려면
  • 코어 디바이스에서 다음 명령을 실행하여 실시간으로 이 구성 요소의 로그 파일을 봅니다. /greengrass/v2 또는 C:\greengrass\v2를 AWS IoT Greengrass 루트 폴더의 경로로 바꿉니다.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Changelog

다음 표에는 각 구성 요소 버전의 변경 사항이 설명되어 있습니다.

버전

변경

2.4.3

Greengrass nucleus 버전 2.13.0 릴리스용으로 업데이트된 버전입니다.

버그 수정 및 개선 사항
  • STREAM_MANAGER_EXPORTER_MAX_BANDWIDTH가 초당 바이트(Bps) 대신 초당 메가비트(Mbps)로 잘못 표시되는 문제를 해결합니다.

2.4.2

버그 수정 및 개선 사항
  • 일반적인 버그 수정 및 개선입니다.

2.4.1

Greengrass nucleus 버전 2.12.0 릴리스용으로 업데이트된 버전입니다.

2.4.0

새로운 기능
  • 스트림 관리자 디버깅 콘솔이 추가됩니다.

2.3.1

Greengrass nucleus 버전 2.11.0 릴리스용으로 업데이트된 버전입니다.

2.3.0

Greengrass nucleus 버전 2.10.0 릴리스용으로 업데이트된 버전입니다.
새로운 기능
  • PubSub 및 AWS IoT Core MQTT 디버그 클라이언트가 포함됩니다.

2.2.7

Greengrass nucleus 버전 2.9.0 릴리스용으로 업데이트된 버전입니다.

2.2.6

Greengrass nucleus 버전 2.8.0 릴리스용으로 업데이트된 버전입니다.

2.2.5

Greengrass nucleus 버전 2.7.0 릴리스용으로 업데이트된 버전입니다.

2.2.4

Greengrass nucleus 버전 2.6.0 릴리스용으로 업데이트된 버전입니다.

2.2.3

버그 수정 및 개선 사항
  • 구성 요소가 SSL 프라이빗 키를 보관하는 키 스토어를 복호화할 수 없을 때 시작되지 않는 문제를 해결합니다.

  • Greengrass nucleus 버전 2.5.0 릴리스용으로 업데이트된 버전입니다.

2.2.2

Greengrass nucleus 버전 2.4.0 릴리스용으로 업데이트된 버전입니다.

2.2.1

Greengrass nucleus 버전 2.3.0 릴리스용으로 업데이트된 버전입니다.

2.2.0

Greengrass nucleus 버전 2.2.0 릴리스용으로 업데이트된 버전입니다.

2.1.0

새로운 기능
  • HTTPS를 사용하여 로컬 디버그 콘솔에 대한 연결을 보호합니다. HTTPS는 기본적으로 활성화되어 있습니다.

버그 수정 및 개선 사항
  • 구성 편집기에서 플래시바 메시지를 해제할 수 있습니다.

2.0.3

초기 버전