이 문서에서는 Compute Engine 인스턴스에 Compute 워크로드용 에이전트를 설치하고 해당 컴퓨팅 인스턴스에서 실행되는 Redis 워크로드와 연결하도록 에이전트를 구성하는 방법을 보여줍니다.
시작하기 전에
컴퓨팅 워크로드용 에이전트를 설치하고 구성하기 전에 다음 기본 요건을 충족해야 합니다.
- 컴퓨팅 인스턴스에 Redis 워크로드를 배포했습니다.
- 컴퓨팅 인스턴스에 연결된 서비스 계정에 필요한 IAM 역할을 부여했습니다.
- Cloud API에 대한 액세스를 사용 설정했습니다.
필요한 IAM 역할
컴퓨팅 워크로드용 에이전트는 인증을 위해 컴퓨팅 인스턴스에 연결된 서비스 계정을 사용하고 Google Cloud 리소스에 액세스합니다.
보안을 강화하려면 Compute Engine 기본 서비스 계정을 사용하는 대신 단일 용도 서비스 계정을 사용하는 것이 좋습니다.
서비스 계정에 Compute 워크로드용 에이전트가Google Cloud 로 인증하고 Google Cloud 리소스에 액세스할 수 있게 하는 데 필요한 권한이 있는지 확인하려면 관리자에게 서비스 계정에 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Compute 뷰어 (
roles/compute.viewer
): Compute 인스턴스에서 측정항목을 수집합니다. -
워크로드 관리자 통계 작성자 (
roles/workloadmanager.insightWriter
): 워크로드 관리자 데이터 웨어하우스에 데이터를 씁니다. -
(권장) 로그 작성자 (
roles/logging.logWriter
): 에이전트 로그를 Cloud Logging으로 전송합니다. -
(선택사항) Secret Manager 보안 비밀 접근자 (
roles/secretmanager.secretAccessor
): Secret Manager를 사용하여 Redis 인스턴스에 연결할 비밀번호를 저장하는 경우입니다.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
관리자는 커스텀 역할이나 다른 사전 정의된 역할을 통해 서비스 계정에 필요한 권한을 부여할 수도 있습니다.
Cloud API 액세스 사용 설정
Compute Engine은 모든 Cloud API에 대한 모든 액세스 범위를 허용하도록 인스턴스를 구성하고, 인스턴스 서비스 계정의 IAM 권한만 사용하여Google Cloud 리소스에 대한 액세스를 제어할 것을 권장합니다. 자세한 내용은 사용자 관리형 서비스 계정을 사용하는 VM 만들기를 참조하세요.
Cloud API에 대한 액세스를 제한하는 경우 컴퓨팅 워크로드용 에이전트에는 호스트 컴퓨팅 인스턴스에 최소한 다음과 같은 Cloud API 액세스 범위가 필요합니다.
https://www.googleapis.com/auth/cloud-platform
자세한 내용은 범위 권장사항을 참고하세요.
외부 IP 주소가 없는 컴퓨팅 인스턴스에서 Redis 애플리케이션을 실행하는 경우 컴퓨팅 워크로드용 에이전트가 Google API 및 서비스에 액세스할 수 있도록 인스턴스의 서브넷에서 비공개 Google 액세스를 사용 설정해야 합니다. 비공개 Google 액세스를 사용 설정하는 방법은 비공개 Google 액세스 구성을 참고하세요.
에이전트 설치 및 구성
컴퓨팅 인스턴스에 Compute 워크로드용 에이전트를 설치하고 Redis 인스턴스에 연결하도록 구성하려면 다음 단계를 완료하세요.
RHEL
Red Hat Enterprise Linux (RHEL)에서는 yum
패키지 관리 명령어를 사용하여 Compute 워크로드용 에이전트를 설치합니다. 이 명령어는 다음 작업을 완료합니다.
- 최신 버전의 에이전트를 다운로드합니다.
google-cloud-workload-agent
라는 에이전트의systemd
서비스를 만듭니다.google-cloud-workload-agent
서비스를 사용 설정하고 시작합니다.
RHEL 기반 컴퓨팅 인스턴스에 컴퓨팅 워크로드용 에이전트를 설치하고 구성하려면 다음 단계를 완료하세요.
컴퓨팅 인스턴스와 SSH 연결을 설정합니다.
터미널에서 에이전트를 설치합니다.
sudo tee /etc/yum.repos.d/google-cloud-workload-agent.repo << EOM [google-cloud-workload-agent] name=Google Cloud Agent for Compute Workloads baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-$basearch enabled=1 gpgcheck=0 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOM sudo yum install google-cloud-workload-agent
에이전트의 구성 파일을 엽니다.
/etc/google-cloud-workload-agent/configuration.json
구성 매개변수에 설명된 대로 모든 필수 매개변수의 값을 지정합니다.
구성 파일 저장
변경사항이 적용되도록 에이전트를 다시 시작합니다.
SLES
SUSE Linux Enterprise Server (SLES)에서는 zypper
패키지 관리 명령어를 사용하여 Compute 워크로드용 에이전트를 설치합니다. 이 명령어는 다음 작업을 완료합니다.
- 최신 버전의 에이전트를 다운로드합니다.
google-cloud-workload-agent
라는 에이전트의systemd
서비스를 만듭니다.google-cloud-workload-agent
서비스를 사용 설정하고 시작합니다.
SLES 기반 컴퓨팅 인스턴스에 컴퓨팅 워크로드용 에이전트를 설치하고 구성하려면 다음 단계를 완료하세요.
컴퓨팅 인스턴스와 SSH 연결을 설정합니다.
터미널에서 에이전트를 설치합니다.
sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-$basearch google-cloud-workload-agent sudo zypper install google-cloud-workload-agent
에이전트의 구성 파일을 엽니다.
/etc/google-cloud-workload-agent/configuration.json
구성 매개변수에 설명된 대로 모든 필수 매개변수의 값을 지정합니다.
구성 파일 저장
변경사항이 적용되도록 에이전트를 다시 시작합니다.
Debian
Debian에서는 apt
패키지 관리 명령어를 사용하여 Compute 워크로드용 에이전트를 설치합니다. 이 명령어는 다음 작업을 완료합니다.
- 최신 버전의 에이전트를 다운로드합니다.
google-cloud-workload-agent
라는 에이전트의systemd
서비스를 만듭니다.google-cloud-workload-agent
서비스를 사용 설정하고 시작합니다.
Debian 기반 컴퓨팅 인스턴스에 컴퓨팅 워크로드용 에이전트를 설치하고 구성하려면 다음 단계를 완료하세요.
컴퓨팅 인스턴스와 SSH 연결을 설정합니다.
터미널에서 에이전트를 설치합니다.
echo 'deb https://packages.cloud.google.com/apt google-cloud-workload-agent-x86-64-apt main' | sudo tee -a /etc/apt/sources.list.d/google-cloud-workload-agent.list sudo apt-get update sudo apt-get install google-cloud-workload-agent
에이전트의 구성 파일을 엽니다.
/etc/google-cloud-workload-agent/configuration.json
구성 매개변수에 설명된 대로 모든 필수 매개변수의 값을 지정합니다.
구성 파일 저장
변경사항이 적용되도록 에이전트를 다시 시작합니다.
Windows
Windows에서는 googet
패키지 관리 명령어를 사용하여 Compute 워크로드용 에이전트를 설치합니다. 이 명령어는 다음 작업을 완료합니다.
- 최신 버전의 에이전트를 다운로드합니다.
google-cloud-workload-agent
라는 Windows 서비스를 만듭니다.- 1분마다 실행되는 예약 태스크를 만들어 서비스가 실행 중인지 확인하고 필요한 경우 서비스를 다시 시작합니다.
Windows 기반 컴퓨팅 인스턴스에 컴퓨팅 워크로드용 에이전트를 설치하고 구성하려면 다음 단계를 완료하세요.
RDP를 사용하여 컴퓨팅 인스턴스와 연결합니다.
이 작업을 실행하는 방법은 RDP를 사용하여 Windows VM에 연결을 참고하세요.
관리자 권한으로 PowerShell에서 다음 명령어를 실행합니다.
googet addrepo google-cloud-workload-agent https://packages.cloud.google.com/yuck/repos/google-cloud-workload-agent-windows-x86_64 googet install google-cloud-workload-agent
에이전트의 구성 파일을 엽니다.
%ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json
구성 매개변수에 설명된 대로 모든 필수 매개변수의 값을 지정합니다.
구성 파일 저장
변경사항이 적용되도록 에이전트를 다시 시작합니다.
에이전트 설치 확인
에이전트가 예상대로 실행되는지 확인하려면 다음 단계를 완료하세요.
RHEL
컴퓨팅 인스턴스와 SSH 연결을 설정합니다.
에이전트 패키지의 상태를 확인합니다.
systemctl status google-cloud-workload-agent
에이전트 패키지가 예상대로 실행되면 출력에
active (running)
가 포함됩니다. 예를 들면 다음과 같습니다.google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago Main PID: 14412 (google_cloud_sq) Tasks: 7 Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M) CGroup: /system.slice/google-cloud-workload-agent.service └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run
SLES
컴퓨팅 인스턴스와 SSH 연결을 설정합니다.
에이전트 패키지의 상태를 확인합니다.
systemctl status google-cloud-workload-agent
에이전트 패키지가 예상대로 실행되면 출력에
active (running)
가 포함됩니다. 예를 들면 다음과 같습니다.google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago Main PID: 14412 (google_cloud_sq) Tasks: 7 Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M) CGroup: /system.slice/google-cloud-workload-agent.service └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run
Debian
컴퓨팅 인스턴스와 SSH 연결을 설정합니다.
에이전트 패키지의 상태를 확인합니다.
systemctl status google-cloud-workload-agent
에이전트 패키지가 예상대로 실행되면 출력에
active (running)
가 포함됩니다. 예를 들면 다음과 같습니다.google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago Main PID: 14412 (google_cloud_sq) Tasks: 7 Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M) CGroup: /system.slice/google-cloud-workload-agent.service └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run
Windows
RDP를 사용하여 컴퓨팅 인스턴스와 연결합니다.
이 작업을 실행하는 방법은 RDP를 사용하여 Windows VM에 연결을 참고하세요.
관리자 권한으로 PowerShell에서 다음 명령어를 실행합니다.
$(Get-Service -Name 'google-cloud-workload-agent' -ErrorAction Ignore).Status
에이전트가 예상대로 실행되면 상태가
Running
으로 표시됩니다.
구성 파일 예시
다음은 Compute 워크로드용 에이전트가 Redis 인스턴스에 연결할 수 있도록 하는 구성의 예입니다. 인증에는 Redis 인스턴스가 실행되는 동일한 Google Cloud 프로젝트에 저장된 Secret Manager 보안 비밀이 사용됩니다.
{
"log_level": "INFO",
"common_discovery": {
"collection_frequency": "10800s"
},
"redis_configuration": {
"enabled": true,
"connection_parameters": {
"username": "db_user_name",
"secret": {
"secret_name": "db_pwd_secret_name",
"project_id": ""
},
"host": "localhost",
"port": 1433
}
}
}
구성 매개변수
다음 표에서는 Redis 워크로드 평가를 지원하는 Compute 워크로드용 에이전트의 구성 매개변수를 설명합니다.
매개변수 | |
---|---|
log_level |
에이전트의 로깅 수준을 설정하려면 필수 값을 설정하세요. 사용 가능한 로그 수준은 다음과 같습니다.
기본 로그 수준은 |
log_to_cloud |
에이전트 로그를 Cloud Logging으로 리디렉션하려면 |
agent_properties.log_usage_metrics |
에이전트의 상태 측정항목 로깅을 사용 설정하려면 값을 |
common_discovery.collection_frequency |
에이전트의 워크로드 검색 서비스가 실행되는 빈도(초)를 지정합니다. 기본값은 이 매개변수의 값이 소문자 |
redis_configuration.enabled
|
에이전트가 Redis 인스턴스에서 측정항목을 수집하도록 하려면 값을 |
redis_configuration.connection_parameters.username |
에이전트가 Redis 인스턴스를 쿼리하는 데 사용하는 사용자 계정을 지정합니다. |
redis_configuration.connection_parameters.password |
에이전트가 Redis 인스턴스를 쿼리하는 데 사용하는 사용자 계정의 일반 텍스트 비밀번호를 지정합니다. 일반 텍스트 비밀번호를 지정하는 대신 인증의 경우 에이전트는 다음과 같은 우선순위를 사용합니다. 지정된 경우 |
redis_configuration.connection_parameters.secret.secret_name |
선택사항입니다. 에이전트가 Redis 인스턴스를 쿼리하는 데 사용하는 사용자 계정의 비밀번호를 안전하게 제공하려면 비밀번호가 포함된 Secret Manager 보안 비밀의 이름을 지정합니다. 인증의 경우 에이전트는 다음과 같은 우선순위를 사용합니다. 지정된 경우 |
redis_configuration.connection_parameters.secret.project_id |
보안 비밀과 워크로드가 동일한 Google Cloud 프로젝트에 있는 경우 이 매개변수의 값을 빈 문자열 ( |
redis_configuration.connection_parameters.host |
Redis 호스트 이름을 지정합니다. |
redis_configuration.connection_parameters.port |
Redis 인스턴스가 쿼리를 허용하는 포트를 지정합니다. |