
Active Assistを使って不要リソースを効率的に棚卸する
はじめに
こんにちは。
クラウド事業本部コンサルティング部の渡邉です。
Google Cloud を使い続けていると、「いつのまにか使われていない VM が残っている」、「誰も使っていない Cloud SQL インスタンスに課金され続けている」、「作成した外部IPアドレスがいつまでも残ってしまっている」といった問題が発生しがちです。
特に組織規模が大きくなるほど、こうした 不要リソースの棚卸し は手動では追いつかなくなり、無駄なコストが積みあがってしまうことにより予算を圧迫してしまうことがあると思います。
本記事では、Google Cloud の Active Assist を使ってコスト削減の第一歩である不要リソースを効率的に特定・整理する方法を紹介します。コンソールから視覚的に確認する方法と、BigQueryに組織全体の推奨事項をエクスポートする方法について解説します。
Active Assist とは
Active Assist は、Google Cloud リソースの最適化に向けたインテリジェントな推奨事項(Recommendations)とインサイト(Insights)を提供するポートフォリオサービスです。コストの削減、パフォーマンスの向上、セキュリティの強化、サステナビリティへの貢献など、6つのバリューカテゴリにわたって推奨事項を自動生成します。
| バリューカテゴリ | 内容の例 |
|---|---|
| 費用 | 未使用・アイドルリソースの削除、VM サイズのダウンサイジング、CUD の活用 |
| セキュリティ | 過剰な IAM 権限の削除、ファイアウォールルールの最適化 |
| パフォーマンス | VM マシンタイプの最適化、MIG のサイズ変更 |
| 信頼性 | Cloud SQL の高可用性設定、ディスク容量の監視 |
| 管理機能 | 非推奨サービスへの対応、ネットワーク構成の改善 |
| サステナビリティ | 未使用プロジェクトの削除による CO2 排出量の削減 |
推奨事項は Recommender API を通じて提供され、次の方法で参照できます。
- Google Cloud コンソールの Active Assist(Recommendation Hub)
- FinOps Hub(請求アカウント管理者向け)
- Cloud Hub の最適化ページ(開発者・プラットフォーム管理者向け)
コスト削減に役立つ主な推奨事項
Active Assist が自動生成するコスト推奨事項は、不要リソースの検出からライトサイジング・料金モデルの最適化まで幅広くカバーしています。
| カテゴリ | 推奨事項名 | Recommender ID | 概要 |
|---|---|---|---|
| 不要リソース検出 | アイドル VM 推奨事項 | google.compute.instance.IdleResourceRecommender |
直近 1〜14 日間使用されていない VM を検出して停止を推奨 |
| 不要リソース検出 | アイドル永続ディスク推奨事項 | google.compute.disk.IdleResourceRecommender |
15 日以上未接続のディスクをスナップショット後に削除することを推奨 |
| 不要リソース検出 | アイドル IP アドレス推奨事項 | google.compute.address.IdleResourceRecommender |
15 日以上未使用の外部 IP アドレスの削除を推奨 |
| 不要リソース検出 | アイドルカスタムイメージ推奨事項 | google.compute.image.IdleResourceRecommender |
15 日以上使用されていないカスタムイメージの削除を推奨 |
| 不要リソース検出 | アイドル Cloud SQL 推奨事項 | google.cloudsql.instance.IdleRecommender |
30 日間のアクティビティが低い SQL インスタンスのシャットダウンを推奨 |
| 不要リソース検出 | 放置プロジェクト推奨事項 | google.resourcemanager.projectUtilization.Recommender |
30 日間の利用が低いプロジェクトの削除または所有者の再割り当てを推奨 |
| ライトサイジング・料金最適化 | アイドル予約 | google.compute.IdleResourceRecommender |
未使用のリソース予約を削除 |
| ライトサイジング・料金最適化 | 未活用予約 | google.compute.RightSizeResourceRecommender |
利用率の低い予約を適正サイズに変更 |
| ライトサイジング・料金最適化 | アイドル GKE クラスタ | google.container.DiagnosisRecommender |
未使用の GKE クラスタを削除 |
| ライトサイジング・料金最適化 | Cloud SQL 過剰プロビジョニング | google.cloudsql.instance.OverprovisionedRecommender |
過剰スペックの SQL インスタンスをリサイズ |
| ライトサイジング・料金最適化 | Cloud Run CPU 割り当て | google.run.service.CostRecommender |
リクエスト処理時のみ課金の設定を見直し、CPU 常時割り当てへ切り替え |
| ライトサイジング・料金最適化 | リソースベース CUD | google.compute.commitment.UsageCommitmentRecommender |
Compute Engine のリソースベース確約利用割引の活用 |
| ライトサイジング・料金最適化 | 消費ベース CUD | google.cloudbilling.commitment.SpendBasedCommitmentRecommender |
消費ベースの確約利用割引の活用 |
| ライトサイジング・料金最適化 | BigQuery パーティション・クラスタリング | google.bigquery.table.PartitionClusterRecommender |
クエリコスト削減のためのテーブルのパーティション・クラスタリング |
| ライトサイジング・料金最適化 | BigQuery スロット | google.bigquery.capacityCommitments.Recommender |
BigQuery スロットコミットメントによるスペンド最適化 |
| ライトサイジング・料金最適化 | GCS ソフトデリート | google.storage.bucket.SoftDeleteRecommender |
コストと保護のバランスに応じたソフトデリートの有効/無効の推奨 |
実際に試してみる
前提条件
- Google Cloud プロジェクトが作成済みであること
- Recommender API が有効化されていること
- 推奨事項を閲覧するための IAM 権限(
roles/recommender.viewerまたは各サービスの Viewer ロール)があること
ステップ 1: コンソールで全推奨事項を一覧確認する
Google Cloud コンソールで Active Assist(Recommendation Hub)にアクセスすると、プロジェクト・フォルダ・組織スコープで全推奨事項を一覧表示できます。
- Google Cloud コンソールの左メニューから 「Active Assist」 に移動
- 「ダッシュボード」 で費用削減の概要を確認する
- 左メニューの 「費用」 をクリックして費用に関する推奨事項の一覧を表示する
ダッシュボードの 「主な費用削減方法」 セクションには、月間節約見込み額の大きい推奨事項が一覧表示されます。アイドル VM の停止・アイドル IP アドレスの削除・カスタムイメージの削除など、カテゴリ横断で優先度の高いものを一目で把握できます。

Active Assist ダッシュボード
左メニューで 「費用」 をクリックすると、費用に関する推奨事項の全一覧が表示されます。ページ上部のサマリには対応可能な推奨事項の総数・今月の新着件数・毎月可能な費用削減見込み額が集約されており、コスト最適化の全体像を把握できます。一覧は推奨事項名・月間コスト削減額・商品カテゴリ・プロダクトなど複数の列で構成されており、フィルタで絞り込むことも可能です。

コスト ダッシュボード
BigQuery エクスポートで組織全体の推奨事項を集計する
BigQuery Data Transfer Service を使うと組織配下の全プロジェクト・全リージョンの推奨事項を日次で自動エクスポートし、SQL でまとめて集計できます。
エクスポートされるテーブル(日付パーティション)
recommendations_export— 推奨事項insights_export— インサイト
前提条件
- BigQuery Data Transfer Service が有効化されていること
- 以下の IAM 権限があること
| スコープ | 必要な権限 / ロール |
|---|---|
| データセットを作成するプロジェクト | bigquery.transfers.update、bigquery.datasets.update |
| 組織レベル | recommender.resources.export(roles/recommender.exporter) |
ステップ 1: 組織レベルの IAM ロールを付与する
Data Transfer の実行に使用するサービスアカウントに、組織レベルで roles/recommender.exporter を付与します。
gcloud organizations add-iam-policy-binding YOUR_ORGANIZATION_ID \
--member='serviceAccount:YOUR_SERVICE_ACCOUNT@YOUR_PROJECT.iam.gserviceaccount.com' \
--role='roles/recommender.exporter'
ステップ 2: コンソールから Data Transfer を設定する
Active Assist のダッシュボード左メニューの 「BigQuery へのエクスポート」 をクリックします。

ウィザードは 3 ステップで構成されています。
① Destination Project
推奨事項データの保存先となるプロジェクトを選択します。選択したプロジェクト内に BigQuery データセットが作成されます。

② Enable BigQuery APIs
選択したプロジェクトで必要な API が有効になっていることを確認します。「has the required apis enabled.」と表示されたら「続行」をクリックします。

③ Configure Transfer
転送の詳細を設定します。転送構成名・スケジュール・転送先データセット・サービスアカウントを入力し「作成」をクリックします。

設定が完了すると、BigQuery に active_assist_recommendations データセットが作成されます。

転送設定完了後、「実行履歴」 タブで転送の実行状況を確認できます。正常に完了すると「転送実行が正常に完了しました。」と表示されます。直近の転送が保留中の場合は「転送実行は保留中です(自動的にスケジュールされます)」と表示されますが、自動的にスケジュールされて実行されるため待機するだけで問題ありません。

エクスポートが完了すると、active_assist_recommendations データセットに recommendations_export と insights_export の 2 テーブルが作成されます。insights_export には推奨事項の根拠となるインサイト(分析データ)が格納されており、推奨事項と紐付けることで「なぜそのリソースがアイドルと判定されたか」を詳細に確認できます。

ステップ 3: SQL で組織横断の不要リソースを集計する
エクスポートが完了すると、BigQuery コンソールや bq コマンドから 作成されたテーブルに対して SQL でクエリできます。recommender フィールドで Recommender ID を絞り込み、state = "ACTIVE" で有効な推奨事項のみ抽出できます。primary_impact.cost_projection フィールドには月間削減見込み額が含まれているため、削減額の大きい順に並べて優先度付けすることが可能です。
まとめ
Active Assist を使うことで、放置された不要リソースを自動的に検出し、コスト削減の優先度を効率よく把握できます。利用自体は無料で、VM・ディスク・IP・SQL インスタンス・プロジェクトまで広範なリソースを一括確認できるため、手動での棚卸し作業を大幅に削減できます。推奨事項にはコスト節約額の見積もりが付いているため、優先度の高いものから効率よく対応でき、ROI を意識した意思決定がしやすくなっています。
活用する際はいくつか注意点もあります。推奨事項の更新頻度はアイドル VM が 1 日 1 回、ディスク・IP・イメージは 15 日後から生成開始で以降 24 時間ごとに更新されます。組織スコープでは推奨事項・インサイトが最大 10,000 件という上限があるため、プロジェクト数が多い場合は BigQuery エクスポートの活用を検討してください。放置プロジェクト推奨事項については、Google Cloud 組織に所属するプロジェクトのみが対象となります。
大規模な組織でクラウドコストを最適化したい方は、まず Active Assist のコンソールを開いて「削除できそうなリソースがないか」を確認することから始めてみてはいかがでしょうか。
この記事が誰かの助けになれば幸いです。
以上、クラウド事業本部コンサルティング部の渡邉でした!








