개요
이 페이지에서는 Cloud Debugger를 사용하도록 환경과 Ruby 애플리케이션을 구성하는 방법을 설명합니다.
일부 환경에서는 Cloud Debugger 에이전트가 데이터를 전송할 수 있도록 액세스 범위를 명시적으로 지정해야 합니다.
가능한 최대 액세스 범위를 설정한 다음 ID 및 액세스 관리를 사용해 액세스를 제한하는 방법을 권장합니다.
이 권장사항에 따라 액세스 범위가 cloud-platform
옵션이 있는 모든 Cloud API가 되도록 설정합니다.
언어 버전 및 컴퓨팅 환경
Cloud Debugger는 Ruby 버전 2.2 이상에서 사용할 수 있습니다.
App Engine 표준 환경 | App Engine 가변형 환경 | Compute Engine | Google Kubernetes Engine | Cloud Run | Cloud Run for Anthos | 다른 곳에서 실행 중인 VM 및 컨테이너 | Cloud 함수 |
---|---|---|---|---|---|---|---|
Cloud Debugger 설정
Cloud Debugger를 설정하려면 다음 작업을 완료해야 합니다.
프로젝트에 Cloud Debugger API가 사용 설정되어 있는지 확인합니다.
사용 중인 컴퓨팅 환경에 Debugger를 설치하고 구성합니다.
소스 코드를 선택합니다.
Cloud Debugger API 사용 설정 확인
Cloud Debugger를 사용하려면 Cloud Debugger API가 사용 설정되었는지 확인합니다. Cloud Debugger는 대부분의 프로젝트에서 기본으로 사용 설정됩니다.Cloud Debugger API 사용 설정
App Engine 가변형 환경
Gemfile
에stackdriver
gem 추가:gem "stackdriver"
에이전트를 사용 설정합니다.
Rails
Bundler가 시작할 때 자동으로 라이브러리를 앱에 로드합니다. 구성할 필요가 없습니다.
Rack
라이브러리에서 제공하는 Rack Middleware를 사용합니다.
require "google/cloud/debugger"
use Google::Cloud::Debugger::Middleware
기타
순수 Ruby 앱의 경우 진입점에서 에이전트를 명시적으로 시작합니다.
require "google/cloud/debugger"
Google::Cloud::Debugger.new.start
이제 Debugger를 앱에서 사용할 수 있습니다.
Google Kubernetes Engine
GCLOUD
gcloud
를 사용하여 Debugger를 사용 설정하려면 다음 단계를 완료하세요.
다음 액세스 범위 중 하나를 사용하여 클러스터를 만듭니다.
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
Gemfile
에stackdriver
gem 추가:gem "stackdriver"
Debugger 에이전트를 추가하려면
Dockerfile
에 다음 줄을 추가합니다.Run bundle install
Debugger 에이전트를 사용 설정합니다.
Rails
Bundler가 시작할 때 자동으로 라이브러리를 앱에 로드합니다.
Ruby on Rails 구성 인터페이스를 통해 서비스 및 버전을 선택적으로 제공할 수 있습니다.
# Add this to config/environments/*.rb Rails.application.configure do |config| config.google_cloud.debugger.service_name = "SERVICE-NAME" config.google_cloud.debugger.service_version = "SERVICE-VERSION" end
각 항목의 의미는 다음과 같습니다.
SERVICE-NAME
는 앱 이름입니다(예:MyApp
,Backend
또는Frontend
).SERVICE-VERSION
은 버전입니다(예:v1.0
,build_147
또는v20170714
).
각 배포에서 소스 코드를 변경할 필요가 없도록 환경 변수에서 설정하는 것이 좋습니다.
Rails를 프로덕션 모드에서 실행하는 경우 Debugger는 기본적으로 사용 설정됩니다. 개발 모드에서 Debugger를 사용하려면 다음을 추가하세요.
Rack
라이브러리에서 제공하는 Rack Middleware를 사용합니다.
require "google/cloud/debugger" Google::Cloud::Debugger.configure do |config| config.service_name = "SERVICE-NAME" config.service_version = "SERVICE-VERSION" end use Google::Cloud::Debugger::Middleware
각 항목의 의미는 다음과 같습니다.
SERVICE-NAME
는 앱 이름입니다(예:MyApp
,Backend
또는Frontend
).SERVICE-VERSION
은 버전입니다(예:v1.0
,build_147
또는v20170714
).
각 배포에서 소스 코드를 변경할 필요가 없도록 환경 변수에서 설정하는 것이 좋습니다.
기타
순수 Ruby 앱의 경우 진입점에서 에이전트를 명시적으로 시작합니다.
require "google/cloud/debugger" Google::Cloud::Debugger.new(service_name: "SERVICE-NAME", service_version: "SERVICE-VERSION").start
각 항목의 의미는 다음과 같습니다.
SERVICE-NAME
는 앱 이름입니다(예:MyApp
,Backend
또는Frontend
).SERVICE-VERSION
은 버전입니다(예:v1.0
,build_147
또는v20170714
).
각 배포에서 소스 코드를 변경할 필요가 없도록 환경 변수에서 설정하는 것이 좋습니다.
앱에 Debugger가 사용 설정되었습니다.
콘솔
Google Cloud Console을 사용하여 Debugger를 사용 설정하려면 다음 단계를 완료하세요.
노드 풀 섹션에서 보안을 선택한 다음 각 API에 액세스 설정을 선택합니다.
Debugger를 사용 설정합니다.
선택사항: 모든 Cloud API에 전체 액세스 허용을 선택합니다.
Compute Engine
Compute Engine 인스턴스가 액세스 범위의 선택사항인 모든 Cloud APIs에 대한 전체 액세스 허용으로 만들어졌거나 다음 액세스 범위 중 하나인지 확인합니다.
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/cloud_debugger
Gemfile
에stackdriver
gem 추가:gem "stackdriver"
번들러를 사용해 Gem을 설치합니다.
bundle install
에이전트를 사용 설정합니다.
Rails
Bundler가 시작할 때 자동으로 라이브러리를 앱에 로드합니다.
Ruby on Rails 구성 인터페이스를 통해 서비스 및 버전을 선택적으로 제공할 수 있습니다.
# Add this to config/environments/*.rb
Rails.application.configure do |config|
config.google_cloud.debugger.service_name = "SERVICE-NAME"
config.google_cloud.debugger.service_version = "SERVICE-VERSION"
end
각 항목의 의미는 다음과 같습니다.
SERVICE-NAME
는 앱 이름입니다(예:MyApp
,Backend
또는Frontend
).SERVICE-VERSION
은 버전입니다(예:v1.0
,build_147
또는v20170714
).
각 배포에서 소스 코드를 변경할 필요가 없도록 환경 변수에서 설정하는 것이 좋습니다.
Rails를 프로덕션 모드에서 실행하는 경우 Debugger는 기본적으로 사용 설정됩니다. 개발 모드에서 Debugger를 사용하려면 다음을 추가하세요.
Rack
라이브러리에서 제공하는 Rack Middleware를 사용합니다.
require "google/cloud/debugger"
Google::Cloud::Debugger.configure do |config|
config.service_name = "SERVICE-NAME"
config.service_version = "SERVICE-VERSION"
end
use Google::Cloud::Debugger::Middleware
각 항목의 의미는 다음과 같습니다.
SERVICE-NAME
는 앱 이름입니다(예:MyApp
,Backend
또는Frontend
).SERVICE-VERSION
은 버전입니다(예:v1.0
,build_147
또는v20170714
).
각 배포에서 소스 코드를 변경할 필요가 없도록 환경 변수에서 설정하는 것이 좋습니다.
기타
순수 Ruby 앱의 경우 진입점에서 에이전트를 명시적으로 시작합니다.
require "google/cloud/debugger"
Google::Cloud::Debugger.new(service_name: "SERVICE-NAME",
service_version: "SERVICE-VERSION").start
각 항목의 의미는 다음과 같습니다.
SERVICE-NAME
는 앱 이름입니다(예:MyApp
,Backend
또는Frontend
).SERVICE-VERSION
은 버전입니다(예:v1.0
,build_147
또는v20170714
).
각 배포에서 소스 코드를 변경할 필요가 없도록 환경 변수에서 설정하는 것이 좋습니다.
이제 Debugger를 앱에서 사용할 수 있습니다.
로컬 및 기타 위치
Gemfile
에stackdriver
gem을 추가합니다.gem "stackdriver"
번들러를 사용해 Gem을 설치합니다.
bundle install
서비스 계정 사용자 인증 정보를 다운로드합니다.
Google Cloud에서 호스팅하지 않는 머신에서 Ruby용 Cloud Debugger 에이전트를 사용하려면 에이전트가 Google Cloud 서비스 계정 사용자 인증 정보를 사용하여 Cloud Debugger 서비스로 인증해야 합니다.
Google Cloud 콘솔 서비스 계정 페이지에서 기존 또는 새 서비스 계정의 사용자 인증 정보 파일을 만듭니다. 서비스 계정에는
Cloud Debugger Agent
이상의 역할이 있어야 합니다.다운로드된 사용자 인증 정보를 사용하여 에이전트를 구성하고 사용 설정합니다.
Rails
Ruby on Rails 구성 인터페이스를 통해 매개변수를 제공합니다.
# Add this to config/environments/*.rb
Rails.application.configure do |config|
config.google_cloud.project_id = "YOUR-PROJECT-ID"
config.google_cloud.keyfile = "/path/to/service-account.json"
config.google_cloud.debugger.service_name = "SERVICE-NAME"
config.google_cloud.debugger.service_version = "SERVICE-VERSION"
end
각 항목의 의미는 다음과 같습니다.
SERVICE-NAME
는 앱 이름입니다(예:MyApp
,Backend
또는Frontend
).SERVICE-VERSION
은 버전입니다(예:v1.0
,build_147
또는v20170714
).
각 배포에서 소스 코드를 변경할 필요가 없도록 환경 변수에서 설정하는 것이 좋습니다.
Rails를 프로덕션 모드에서 실행하는 경우 Debugger는 기본적으로 사용 설정됩니다. 개발 모드에서 Debugger를 사용하려면 다음을 추가하세요.
Rack
라이브러리에서 제공하는 Rack Middleware를 사용합니다.
require "stackdriver"
require "google/cloud/debugger"
Google::Cloud.configure do |config|
config.project_id = "YOUR-PROJECT-ID"
config.keyfile = "/path/to/service-account.json"
config.service_name = "SERVICE-NAME"
config.service_version = "SERVICE-VERSION"
end
use Google::Cloud::Debugger::Middleware
각 항목의 의미는 다음과 같습니다.
SERVICE-NAME
는 앱 이름입니다(예:MyApp
,Backend
또는Frontend
).SERVICE-VERSION
은 버전입니다(예:v1.0
,build_147
또는v20170714
).
각 배포에서 소스 코드를 변경할 필요가 없도록 환경 변수에서 설정하는 것이 좋습니다.
기타
순수 Ruby 앱의 경우 진입점에서 에이전트를 명시적으로 시작합니다.
require "google/cloud/debugger"
Google::Cloud::Debugger.new(project: "YOUR-PROJECT-ID",
keyfile: "/path/to/service-account.json",
service_name: "SERVICE-NAME",
service_version: "SERVICE-VERSION").start
각 항목의 의미는 다음과 같습니다.
SERVICE-NAME
는 앱 이름입니다(예:MyApp
,Backend
또는Frontend
).SERVICE-VERSION
은 버전입니다(예:v1.0
,build_147
또는v20170714
).
각 배포에서 소스 코드를 변경할 필요가 없도록 환경 변수에서 설정하는 것이 좋습니다.
이제 디버거를 앱에서 사용할 수 있습니다.
Google Cloud 콘솔의 디버그 페이지에는 로컬 소스 파일을 업로드하는 대신 로컬 개발용으로 표시할 수 있습니다. 소스 코드 수동으로 선택을 참조하세요.