このドキュメントでは、Compute Engine インスタンスに Agent for Compute Workloads をインストールし、そのコンピューティング インスタンスで実行されている MySQL ワークロードに接続するようにエージェントを構成する方法について説明します。
始める前に
Agent for Compute Workloads をインストールして構成する前に、次の前提条件が満たされていることを確認する必要があります。
- コンピューティング インスタンスに MySQL ワークロードをデプロイした。
- コンピューティング インスタンスにアタッチされたサービス アカウントに必要な IAM ロールが付与されている。
- Cloud APIs へのアクセスを有効にしている。
必要な IAM のロール
Agent for Compute Workloads は、コンピューティング インスタンスに関連付けられたサービス アカウントを使用して認証を行い、 Google Cloud リソースにアクセスします。
セキュリティを強化するため、Compute Engine のデフォルトのサービス アカウントを使用するのではなく、単一目的のサービス アカウントを使用することをおすすめします。
Agent for Compute Workloads がGoogle Cloud で認証を行い、 Google Cloud リソースにアクセスするために必要な権限がサービス アカウントに付与されるように、プロジェクトに対する次の IAM ロールをサービス アカウントに付与するよう管理者に依頼してください。
-
コンピューティング閲覧者(
roles/compute.viewer
): コンピューティング インスタンスから指標を収集します。 -
Workload Manager Insights ライター(
roles/workloadmanager.insightWriter
): データを Workload Manager データ ウェアハウスに書き込みます。 -
(推奨)ログ書き込み(
roles/logging.logWriter
): エージェント ログを Cloud Logging に送信します。 -
(省略可)Secret Manager のシークレット アクセサー(
roles/secretmanager.secretAccessor
): Secret Manager を使用して MySQL インスタンスに接続するパスワードを保存する場合。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
管理者は、カスタムロールや他の事前定義ロールを使用して、必要な権限をサービス アカウントに付与することもできます。
Cloud APIs へのアクセスを有効にする
Compute Engine では、すべての Cloud APIs にすべてのアクセス スコープを使用できるようにインスタンスを構成し、インスタンス サービス アカウントの IAM 権限のみを使用してGoogle Cloud リソースへのアクセスを制御することをおすすめします。詳細については、ユーザー管理のサービス アカウントを使用する VM を作成するをご覧ください。Cloud APIs へのアクセスを制限する場合、Compute Workloads 用エージェントには、ホスト コンピューティング インスタンスで次の最小 Cloud APIs アクセス スコープが必要です。
https://www.googleapis.com/auth/cloud-platform
詳細については、スコープのベスト プラクティスをご覧ください。
外部 IP アドレスを持たないコンピューティング インスタンスで MySQL アプリケーションを実行している場合は、インスタンスのサブネットで限定公開の Google アクセスを有効にして、Compute Workloads 用エージェントが Google API とサービスにアクセスできるようにする必要があります。限定公開の Google アクセスを有効にする方法については、限定公開の Google アクセスを構成するをご覧ください。
エージェントをインストールして構成する
コンピューティング インスタンスに Agent for Compute Workloads をインストールし、MySQL インスタンスに接続するように構成するには、次の操作を行います。
RHEL
Red Hat Enterprise Linux(RHEL)では、yum
パッケージ管理コマンドを使用して Agent for Compute Workloads をインストールします。このコマンドは、次のタスクを実行します。
- 最新バージョンのエージェントをダウンロードします。
- エージェントの
systemd
サービス(google-cloud-workload-agent
という名前)を作成します。 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
パッケージ管理コマンドを使用して Agent for Compute Workloads をインストールします。このコマンドは、次のタスクを実行します。
- 最新バージョンのエージェントをダウンロードします。
- エージェントの
systemd
サービス(google-cloud-workload-agent
という名前)を作成します。 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
パッケージ管理コマンドを使用して、コンピューティング ワークロード用エージェントをインストールします。このコマンドは、次のタスクを実行します。
- 最新バージョンのエージェントをダウンロードします。
- エージェントの
systemd
サービス(google-cloud-workload-agent
という名前)を作成します。 google-cloud-workload-agent
サービスを有効にして開始します。
Debian ベースのコンピューティング インスタンスに Agent for Compute Workloads をインストールして構成する手順は次のとおりです。
コンピューティング インスタンスと 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
パッケージ管理コマンドを使用して、コンピューティング ワークロード用エージェントをインストールします。このコマンドは、次のタスクを実行します。
- 最新バージョンのエージェントをダウンロードします。
google-cloud-workload-agent
という名前の Windows サービスを作成します。- 毎分実行されるスケジュール設定されたタスクを作成して、サービスが実行中かどうかを確認し、必要に応じてサービスを再起動します。
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
と表示されます。
構成ファイルの例
次の構成例では、Agent for Compute Workloads が MySQL インスタンスに接続できます。認証には、Secret Manager シークレットが使用されます。このシークレットは、MySQL インスタンスが実行されている同じ Google Cloud プロジェクトに保存されます。
{
"log_level": "INFO",
"common_discovery": {
"collection_frequency": "10800s"
},
"mysql_configuration": {
"enabled": true,
"connection_parameters": {
"username": "db_user_name",
"secret": {
"secret_name": "db_pwd_secret_name",
"project_id": ""
},
"host": "localhost",
"port": 1433
}
}
}
構成パラメータ
次の表に、MySQL ワークロードの評価をサポートする Agent for Compute Workloads の構成パラメータを示します。
パラメータ | |
---|---|
log_level |
エージェントのロギングレベルを設定するには、必要な値を設定します。使用可能なログレベルは次のとおりです。
デフォルトのログレベルは |
log_to_cloud |
エージェントのログを Cloud Logging にリダイレクトするには、 |
agent_properties.log_usage_metrics |
エージェントの健全性指標のロギングを有効にするには、値を |
common_discovery.collection_frequency |
エージェントのワークロード検出サービスが実行される頻度を秒単位で指定します。デフォルト値は このパラメータの値が小文字の |
mysql_configuration.enabled
|
エージェントが MySQL インスタンスから指標を収集できるようにするには、値を |
mysql_configuration.connection_parameters.username |
エージェントが MySQL インスタンスのクエリに使用するユーザー アカウントを指定します。 |
mysql_configuration.connection_parameters.password |
エージェントが MySQL インスタンスのクエリに使用するユーザー アカウントのパスワード(書式なしテキスト)を指定します。 書式なしテキスト パスワードを指定する代わりに、 認証の場合、エージェントは次の優先順位を使用します。指定されている場合、 |
mysql_configuration.connection_parameters.secret.secret_name |
省略可。エージェントが MySQL インスタンスのクエリに使用するユーザー アカウントのパスワードを安全に指定するには、パスワードを含む Secret Manager シークレットの名前を指定します。 認証の場合、エージェントは次の優先順位を使用します。指定されている場合、 |
mysql_configuration.connection_parameters.secret.project_id |
省略可。指定されたユーザー アカウントの認証に シークレットとワークロードが同じ Google Cloud プロジェクトにある場合は、このパラメータの値を空の文字列( |
mysql_configuration.connection_parameters.host |
MySQL ホスト名を指定します。 |
mysql_configuration.connection_parameters.port |
MySQL インスタンスがクエリを受け付けるポートを指定します。 |