Node.js용 Stackdriver Debugger 설정

이 페이지에서는 Stackdriver Debugger를 사용하도록 환경 및 Node.js 애플리케이션을 구성하는 방법을 설명합니다. 일부 환경에서는 Stackdriver Debugger 에이전트가 데이터를 전송할 수 있도록 액세스 범위를 명시적으로 지정해야 합니다. 가능한 최대 액세스 범위를 설정한 다음 Cloud Identity and Access Management를 사용해 액세스를 제한하는 방법을 권장합니다. 이 권장사항에 따라 액세스 범위가 cloud-platform 옵션이 있는 모든 Cloud API가 되도록 설정합니다.

시작하기 전에

Debugger를 사용하려면 Debugger API가 사용 설정되었는지 확인합니다.
Debugger API 사용 설정

App Engine

  1. npm을 사용하여 패키지를 설치합니다.

    npm install --save @google-cloud/debug-agent
    
  2. 앱의 기본 스크립트 맨 위 또는 진입점에서(@google/cloud-trace를 사용 중인 경우 그 뒤에) 에이전트를 사용 설정합니다.

    require('@google-cloud/debug-agent').start();
    

이제 Debugger를 앱에서 사용할 수 있습니다.

Cloud Console의 디버그 페이지에 배포된 앱과 일치하는 소스 코드가 자동으로 표시되도록 하려면 소스 코드 자동으로 선택을 참조하세요.

Google Kubernetes Engine

GCLOUD

gcloud를 사용하여 Debugger를 사용 설정하려면 다음 단계를 완료하세요.

  1. 다음 액세스 범위 중 하나를 사용하여 클러스터를 만듭니다.

    • https://www.googleapis.com/auth/cloud-platform: 클러스터에 모든 Google Cloud API에 대한 액세스 권한이 부여됩니다.

    • https://www.googleapis.com/auth/cloud_debugger: 클러스터에 Debugger API에 대한 액세스 권한만 부여됩니다. 클러스터의 보안을 강화하려면 이 액세스 범위를 사용하세요.

    gcloud container clusters create example-cluster-name \
           --scopes=https://www.googleapis.com/auth/cloud_debugger
    
  2. Debugger 에이전트를 추가하려면 Dockerfile에 다음 줄을 추가합니다.

    RUN  npm install --save @google-cloud/debug-agent
    
  3. 앱의 기본 스크립트 맨 위 또는 진입점에서(@google/cloud-trace를 사용 중인 경우 그 뒤에) 에이전트를 사용 설정합니다.

    require('@google-cloud/debug-agent').start({
      serviceContext: {
        service: 'SERVICE',
        version: 'VERSION'
      }
    });
    

    각 항목의 의미는 다음과 같습니다.

    • SERVICE는 앱 이름입니다(예: MyApp, Backend 또는 Frontend).
    • VERSION은 버전입니다(예: v1.0, build_147 또는 v20170714).

    각 배포에서 소스 코드를 변경할 필요가 없도록 환경 변수에서 설정하는 것이 좋습니다.

이제 Debugger를 컨테이너식 앱을 배포할 때 사용할 수 있습니다.

Cloud Console의 디버그 페이지에 배포된 앱과 일치하는 소스 코드가 자동으로 표시되도록 하려면 소스 코드 자동으로 선택을 참조하세요.

CONSOLE

Console에서 Debugger를 사용 설정하려면 다음 단계를 완료하세요.

  1. 클러스터 유형을 선택한 후 노드 풀 창에서 추가 옵션을 클릭합니다.

    노드 풀 옵션

  2. 보안 창에서 다음 중 하나를 선택합니다.

    • 모든 Cloud API에 대한 전체 액세스 허용

    • 각 API에 대한 액세스를 허용하고 Cloud Debugger를 사용 설정됨으로 설정

Compute Engine

  1. Compute Engine 인스턴스를 만들 때 액세스 범위 옵션을 모든 Cloud API에 대한 전체 액세스 허용으로 지정했거나 다음 액세스 범위 중 하나가 부여되었는지 확인합니다.

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloud_debugger
  2. npm을 사용하여 패키지를 설치합니다.

    npm install --save @google-cloud/debug-agent
    
  3. 앱의 기본 스크립트 맨 위 또는 진입점에서(@google/cloud-trace를 사용 중인 경우 그 뒤에) 에이전트를 사용 설정합니다.

    require('@google-cloud/debug-agent').start({
      serviceContext: {
        service: 'SERVICE',
        version: 'VERSION'
      }
    });
    

    각 항목의 의미는 다음과 같습니다.

    • SERVICE는 앱 이름입니다(예: MyApp, Backend 또는 Frontend).
    • VERSION은 버전입니다(예: v1.0, build_147 또는 v20170714).

    각 배포에서 소스 코드를 변경할 필요가 없도록 환경 변수에서 설정하는 것이 좋습니다.

이제 Debugger를 앱에서 사용할 수 있습니다.

Cloud Console의 디버그 페이지에 배포된 앱과 일치하는 소스 코드가 자동으로 표시되도록 하려면 소스 코드 자동으로 선택을 참조하세요.

Google Cloud에서 Cloud Run 및 Cloud Run for Anthos 실행

  1. npm을 사용하여 패키지를 설치합니다.

    npm install --save @google-cloud/debug-agent
    
  2. 앱의 기본 스크립트 맨 위 또는 진입점에서(@google/cloud-trace를 사용 중인 경우 그 뒤에) 에이전트를 사용 설정합니다.

    require('@google-cloud/debug-agent').start();
    

    이제 Debugger를 앱을 배포할 때 사용할 수 있습니다.

로컬 및 기타 위치

  1. npm을 사용하여 패키지를 설치합니다.

    npm install --save @google-cloud/debug-agent
    
  2. 서비스 계정 사용자 인증 정보를 다운로드합니다.

    Google Cloud에서 호스팅되지 않은 머신에서 Node.js용 Stackdriver Debugger 에이전트를 사용하려면 에이전트에서 Google Cloud 서비스 계정 사용자 인증 정보를 사용하여 Stackdriver Debugger Service에 인증해야 합니다.

    Cloud Console 서비스 계정 페이지에서 기존 또는 새 서비스 계정의 사용자 인증 정보 파일을 만듭니다. 서비스 계정에는 Stackdriver Debugger Agent 이상의 역할이 있어야 합니다.

  3. 다운로드된 사용자 인증 정보를 사용하여 에이전트를 구성하고 사용 설정합니다.

    require('@google-cloud/debug-agent').start({
      projectId: 'your-project-id',
      keyFilename: '/path/to/key.json',
      serviceContext: {
        service: 'SERVICE',
        version: 'VERSION'
      }
    });
    

    각 항목의 의미는 다음과 같습니다.

    • SERVICE는 앱 이름입니다(예: MyApp, Backend 또는 Frontend).
    • VERSION은 버전입니다(예: v1.0, build_147 또는 v20170714).

    각 배포에서 소스 코드를 변경할 필요가 없도록 환경 변수에서 설정하는 것이 좋습니다.

이제 Debugger를 앱에서 사용할 수 있습니다.

Cloud Console의 디버그 페이지에는 로컬 소스 파일을 업로드하는 대신 로컬 개발용으로 표시할 수 있습니다. 소스 코드 수동으로 선택을 참조하세요.