先日以下のブログで Gemini in Databases について紹介しました。
Gemini in Databases で何ができるかまとめてみた

多くの機能があり、当該記事では各機能についての深掘りができなかったので、今回はその中の Database Center という機能にフォーカスして解説したいと思います!

Gemini を利用する上での注意点

以下のように公式ドキュメントでも明記されている通り、Gemini によって得られた情報は誤りを含んでいる可能性がありますので、十分注意した上でご利用ください。

初期段階のテクノロジーとして、Gemini はもっともらしく見えても事実が間違っている出力を生成する可能性があります。 Gemini を使用する前に、Gemini からのすべての出力を検証することをお勧めします。詳細については、 「Gemini for Google Cloud と責任ある AI」をご覧ください。

Database Center とは?

Database Center は Gemini in Databases の機能の 1 つで、Google Cloud プロジェクトと Security Command Center からのデータに基づいて、データベース全体にわたる健全性がベストプラクティスに沿っているか? を確認できるダッシュボードです。
1 つの画面に簡潔にまとまっているため、異なるプロダクトやバージョンを多数利用していても一目で確認できることがポイントです。
さらに、組織やフォルダなど複数のプロジェクトにリソースがある場合でも一括して管理できるため、大規模な環境でその利便性と効果を最大限に発揮できます。
この機能は現在以下のサービスでプレビューリリースとなっております。

  • Cloud SQL for MySQL
  • Cloud SQL for PostgreSQL
  • Cloud SQL for SQL Server
  • AlloyDB for PostgreSQL

健全性の問題や推奨事項

先述した健全性の問題は主に以下のカテゴリに分類されています。

カテゴリ 内容
可用性構成 耐久性、耐障害性、ダウンタイムに影響を与えるリソース構成か
料金 データベース全体を最適化してコスト削減できるか
データ保護 適切なバックアップ、およびその保持期間
データ保護の対策に不足がないか
安全 構成ミス、脆弱性の特定
サイバーリスクの特定
リソースに対する脅威検出
規制遵守の監視や管理
業界のコンプライアンス 組織内のデータベースが一般的な次の業界標準に準拠しているか
・CIS Google Cloud Foundation 1.0/1.1/1.2/1.3/2.0
・NIST 800-53
・ISO-27001
・PCI-DSS v3.2.1
パフォーマンスと容量 以下がパフォーマンスに影響を与えているか
・多数のテーブルまたはテーブル使用率が高いデータベース
・CPU 、メモリ使用率の高いインスタンス
・パフォーマンスに影響を与える一時テーブル
その他 クエリのトラブルシューティング、エラーログ、接続とユーザーに関連する設定

なお、サポートされている詳細項目はサービスによって異なります。
詳しくは以下のドキュメントに記載されています。
サポートされている健康問題

制限事項

  • Gemini について
    • コンテキスト内では、Database Center に関する質問のみ回答できる
    • 生成されたクエリや表示される正常性は、リージョンや VPC 外のデータに基づいている可能性があるので注意
  • Security Command Center について
    • 有効になっていないと、Security Command Center に依存する問題はチェックされず、マネジメントコンソール上では全てのチェックが合格として表示されてしまうので注意
    • ティアの種類によってもサポートされる項目が異なるため、詳しいサポート状況は 制限事項 をご確認ください

設定方法

前提条件

Database Center を利用するには、先に以下を有効化しておくする必要があります。
これらの有効化には、請求先アカウント管理者 (roles/billing.admin) ロールが必要です。

  • Security Command Center
  • Gemini in Databases

IAM の権限には、データベース センター閲覧者 (roles/databasecenter.viewer) ロールを付与する必要があります。
複数のプロジェクトに渡って確認したい場合は、組織やフォルダレベルで権限を付与しましょう。

Database Center は Gemini in Databases を有効化した時点からアクセスすることができます。
今回は、Security Command Center をスタンダードティアで有効化し、対象となるデータベースとして、Cloud SQL for MySQL を 1 台起動しました。
ちなみに、停止しているリソースは Database Center 上でカウントされないようです。

概要

実際の画面は以下のようになっています。
データベースのプロダクトやバージョン、正常性チェック、対象リソースが確認できます。
それぞれの項目について説明していきます。

フィルター

プロダクトとバージョン、リージョン、ラベルごとに対象リソースを絞ることができます。
ラベルで制御できるため、ユーザーの要望に沿った柔軟な絞り方ができるところも嬉しいポイントですね。
起動した Cloud SQL を対象とするため、以下のように設定してみました。

フリートのインベントリ

フリートのインベントリでは対象データベースの合計台数が確認できます。
また、セグメントにある種別を選択することで、その種熱ごとの台数を確認することも可能です。

セグメント 1:プロジェクト、リージョン、プロダクトとバージョン
セグメント 2:プロジェクト、リージョン、リソースの種類

フリートの問題

フリートの問題には、上述したデータベース上の健全性の問題が集約されています。
以下のように問題ごとの正常性が%表記で確認でき、問題が検出されたものはその詳細項目も合わせて表示されます。
この詳細項目を対処していくことでベストプラクティスに近づきます。

右上の「合格した問題のチェックを表示」をクリックすると全ての詳細項目が表示されます。

また、右上のカスタマイズから、どの詳細項目を有効にするかをカスタマイズすることもできます。
要件によって満たせない項目があるようなケースでは、チェックを外しておくと煩わしさがなくなりますね。

フリートのリソース

フリートのリソースでは対象インスタンスごとの情報を確認することができます。
これまでの項目は対象リソース全体の観点で表示されていましたが、ここではインスタンスごとに検出された問題を確認することも可能です。

終わりに

Gemini in Databases の機能の 1 つである Database Center について解説しました。
ベストプラクティスな構成にするには何が足りないのか? ということが簡単にわかるため、効率的で魅力的な機能だなと感じました。
また、ダッシュボードのように情報がまとまっていると達成感や満足感があるので個人的に嬉しいです!
構成やセキュリティなど、私が普段携わっている分野にばかり目が向きがちでしたが、開発者の視点でも良い部分が多いですね。