Database Center の評価を使用して、データベースの推奨事項を本番環境データベース フリートに適用する前に、パフォーマンスへの影響を評価してテストします。
推奨事項を評価するために、評価では次のオペレーションが実行されます。
データベース インスタンスのクローンを作成します。
クローンでベンチマーク シミュレーション テストを実行します。
推奨される構成変更を適用した後のパフォーマンスと、クローンのベースライン パフォーマンスを比較します。
サポートされているプロダクトと推奨事項
データベース センター の評価は、 Cloud SQL for PostgreSQL インスタンスでのみ使用できます。
次のタイプの推奨事項を評価できます。
コンピューティング リソースの拡張: インスタンスのサイズを vCPU またはメモリが多いマシンタイプに 変更した場合の影響を評価します。
エディションのアップグレード: Cloud SQL for PostgreSQL の Cloud SQL Enterprise エディションから Cloud SQL Enterprise Plus エディションに移行した場合のパフォーマンスへの影響を評価します。詳細については、 インスタンスを Cloud SQL Enterprise Plus エディションにインプレース アップグレードするをご覧ください。
データ キャッシュの有効化: データ キャッシュを有効にした場合の影響(レイテンシとスループット)を分析します。
始める前に
推奨事項の評価を実行する前に、次の要件を満たしていることを確認してください。
API の有効化: 次の API を有効にします。
- Cloud SQL Admin API (
sqladmin.googleapis.com) - Cloud Run Admin API (
run.googleapis.com) - Cloud Logging API (
logging.googleapis.com) - Gemini Cloud Assist API
(
geminicloudassist.googleapis.com) - Secret Manager API
(
secretmanager.googleapis.com) - Cloud Monitoring API (
monitoring.googleapis.com)
API を有効にするには、API の有効化と無効化を ご覧ください。
- Cloud SQL Admin API (
データベース接続の認証情報: ターゲット データベース 名とデータベース ユーザー名を指定する必要があります。
Secret Manager のシークレット: データベース ユーザー名のパスワードをグローバル Secret Manager のシークレットに保存し、シークレット ピッカーで検索できるようにシークレットの名前を把握しておく必要があります。シークレットがリストに表示されない場合にのみ、シークレットの完全パスが必要です。 シークレットの作成の詳細については、 シークレットの作成とアクセスをご覧ください。
サービス アカウント: ベンチマークを行い、推奨される変更とベースライン パフォーマンスを比較する環境に Identity and Access Management(IAM)サービス アカウントを構成します。このサービス アカウントには、Secret Manager からデータベース認証情報のシークレットを読み取り、Cloud Run でベンチマーク タスクを調整する権限が必要です。サービス アカウントを構成するには、 サービス アカウントを作成するをご覧ください。
IAM 権限: テストプロセスを開始して管理するには、必要な IAM 権限が必要です。 詳細については、 必要な IAM 権限をご覧ください。
推奨事項を評価する
推奨事項を評価してテストする手順は次のとおりです。
コンソール Google Cloud で、[データベース センター] ページに移動します。
ナビゲーション メニューで [評価] をクリックします。
Cloud SQL for PostgreSQL インスタンスでサポートされている推奨事項を見つけます。
その推奨事項の [影響] 列で [影響を評価] をクリックします。
必要な API を有効にしていない場合は、パネルのガイダンスに沿って有効にします。
[評価の詳細] ページの構成パネルに、次の接続の詳細を入力します。
[**データベース**] に、データベースの名前を入力します。有効なオプションは、Cloud SQL インスタンスの [データベース] ページに表示されているデータベースに対応しています。
[**ユーザー名**] に、データベースのユーザー名を入力します。
[**パスワード シークレット**] で、データベース ユーザーのパスワードを含む Secret Manager のシークレットを選択します。
シークレットがリストに表示されない場合は、シークレット パス を`projects/PROJECT_ID/secrets/SECRET_NAME` の形式で手動で入力します。
projects/PROJECT_ID/secrets/SECRET_NAMEPROJECT_IDはプロジェクト ID に置き換え、SECRET_NAMEはシークレットの名前に置き換えます。デフォルトでは、データベース センターは最新バージョンの Secret を使用します。必要に応じて、パスに/versions/VERSIONを追加してバージョンを指定できます。VERSIONはシークレットのバージョンに置き換えます。[**サービス アカウント**] で、ベンチマーク ジョブの実行に使用するサービス アカウントを選択します。
[テスト計画を生成] をクリックします。計画の生成には数分かかります。
Database Center は、 データベースのクローン作成、 pgbench ワークロードの実行、 推奨事項の適用、パフォーマンスの分析の手順を示すテスト計画のプレビューを生成します。
データベース センター は、計画を生成すると、[評価] ページにセッションを一覧表示します。このページから移動しても、後でセッションに戻ることができます。
テスト計画を絞り込むには、[テスト手順] フィールドに手順を入力(例:
Change the benchmark duration to 60 seconds)して、[テスト計画を更新] をクリックします。[評価を開始] をクリックします。確認ダイアログで、課金に関する通知を確認します。クローン インスタンスのプロビジョニングとベンチマーク ジョブの実行は 課金されます。
評価セッションは 48 時間使用できます。 評価が成功すると、データベース センターはクローン インスタンスを自動的に削除します。評価が失敗した場合、クローン インスタンス は自動的に削除されないため、 手動で削除する必要があります。
[確認] をクリックして評価を開始します。評価プロセスが完了するまでに時間がかかります。
データベース センター に評価の進行状況が表示されます。セッションがバックグラウンドで実行されている間は、このページから移動しても問題ありません。
評価履歴とレポートを表示する
評価セッションを追跡して、評価を管理し、パフォーマンス比較レポートを確認します。Database Center は、セッション レポートとメタデータを 48 時間保持し、各セッションの有効期限までのカウントダウンを表示します。
コンソール Google Cloud で、[データベース センター] ページに移動します。
ナビゲーション メニューで [評価] をクリックします。
セッションのリストで、詳細を表示するセッションのセッション ID をクリックします。
次の表に、評価セッションのステータス、各ステータスで表示される情報、使用可能な操作を示します。
ステータス 表示される情報 選択できる操作 プランニング フェーズ テスト計画の詳細とプレビュー。 [**テスト手順**] フィールドを使用してテスト計画のプレビューを絞り込むか、[**評価を開始**] をクリックして評価を開始します。 評価フェーズ 評価の進行状況と、評価で使用されるテスト計画。 [キャンセル] をクリックして評価をキャンセルします。 完了 推奨事項を適用する前後のデータベース パフォーマンスを比較した概要。 推奨事項を適用する前後のデータベース パフォーマンスを比較した概要。 なし キャンセル済み キャンセルされる前の評価の進行状況。 なし 生成に失敗しました テスト計画の生成に失敗しました。テスト計画の詳細 と、データベース名やシークレット名などの構成フィールドを表示して、テスト計画の生成を再試行できます。 データベース名 やユーザー名などの評価構成設定を更新して、テスト計画の生成を再試行します。 評価に失敗しました 推奨事項の評価に失敗しました。エラー メッセージと、失敗する前の評価の進行状況を表示できます。 なし
セッションをキャンセルする、または失敗したセッションをクリーンアップする
進行中の評価セッションをキャンセルした場合や、実行が失敗した場合は、すべての一時リソースが削除されていることを確認してください。Database Center では、失敗またはキャンセル後にクリーンアップが成功したかどうかを確認できないため、失敗またはキャンセルされたすべてのセッションについて、残りのデータベース クローン インスタンスを確認して削除してください。
セッションをキャンセルする: [評価] ページで、 キャンセルする評価のセッション ID をクリックし、 [キャンセル] をクリックします。セッションをキャンセルするには、セッション ID のステータスが [評価フェーズ] である必要があります。
クローン リソースをクリーンアップする:
クローン インスタンスを手動で削除するには:
コンソール Google Cloud で、 [Cloud SQL インスタンス] ページに移動します。
インスタンスのリストで、クローン インスタンスを見つけます。クローンは、セッションの詳細ページに表示されるリソースリンクを使用して識別できます。
クローン インスタンスの横にある [その他の操作] more_vert をクリックし、[削除] をクリックします。
確認ダイアログで、クローン インスタンス名を入力して [削除] をクリックします。
必要な IAM 権限
テストプロセスを開始して管理するには、特定の権限が必要です。 これらの権限を取得するには、事前定義ロールを割り当てるか、個々の権限を持つカスタムロールを作成します。
アクセスを管理してロールを理解するには、IAM によるアクセス制御を ご覧ください。
エンドユーザーの権限
次の表に、ユーザー アカウントに必要な権限と、それらの権限を含む事前定義ロールを示します。
| 必要な権限 | 事前定義ロール |
|---|---|
cloudsql.instances.patchcloudsql.instances.clonecloudsql.instances.deletecloudsql.instances.getcloudsql.instances.createTestingAgentSessioncloudsql.instances.getAgentSessioncloudsql.instances.listAgentSessionscloudsql.instances.cancelAgentSession
|
roles/cloudsql.admin
|
run.jobs.createrun.jobs.run
|
roles/run.developer
|
logging.logEntries.list
|
roles/logging.viewer
|
secretmanager.secrets.list
|
roles/secretmanager.viewer
|
serviceusage.services.use
|
roles/serviceusage.serviceUsageConsumer
|
monitoring.monitoredResourceDescriptors.list (省略可)
|
roles/monitoring.viewer または roles/viewer
|
評価結果ページでグラフデータを表示するには、ユーザー アカウントに monitoring.monitoredResourceDescriptors.list 権限が必要です。この権限は推奨されますが、推奨事項の評価を実行するために必須ではありません。
評価を開始するユーザーには、選択したサービス アカウントに対する
サービス アカウント ユーザー
のロール(roles/iam.serviceAccountUser)または iam.serviceAccounts.actAs
権限も必要です。
Cloud Run サービス アカウントの権限
次の表に、Cloud Run ジョブで使用されるサービス アカウントに必要な権限と、それらの権限を含む事前定義ロールを示します。
| 必要な権限 | 事前定義ロール |
|---|---|
cloudsql.instances.connect
|
roles/cloudsql.client
|
cloudsql.instances.login
|
roles/cloudsql.instanceUser
|
secretmanager.versions.access
|
roles/secretmanager.secretAccessor
|
制限事項
推奨事項の評価を使用する場合は、次の制限事項を考慮してください。
情報レポートのみ: 評価では、 本番環境データベースに変更は適用されません。ベンチマーク結果に同意する場合は、Cloud SQL for PostgreSQL コンソールまたは Cloud SQL for PostgreSQL APIを使用して、推奨事項を手動で適用します。
48 時間の有効期限: データベース センターは、セッション レポートとメタデータをセッション ストアに 48 時間のみ保持し、その後削除します。
単一ユーザーの分離: 検証セッションを表示できるのは、そのセッションを作成したユーザー のみです。プロジェクト内の他のプリンシパルは、セッションの履歴や結果を表示できません。
グローバル シークレットのロケーション: データベース パスワードを含む Secret Manager のシークレット は、グローバル シークレットである必要があります。リージョン シークレットはサポートされていません。
課金
推奨事項の評価では、評価中に使用するリソースに対して料金が発生します。システムはプロジェクトにデータベース インスタンスのクローンを作成し、このクローンに対して料金が発生します。評価が成功すると、データベース センター はクローンを自動的に削除します。評価が 失敗またはキャンセルされた場合は、料金が継続的に発生しない ように、クローンを手動で削除する必要があります。
また、データベース エージェントは、次のような他の Google Cloud インフラストラクチャを使用します。これらに対して料金が発生する可能性があります。
- Cloud SQL: クローン インスタンスの場合。詳細については、 Cloud SQL の料金をご覧ください。
- Cloud Run: 評価エージェントを実行する場合。詳細については、 Cloud Run の料金をご覧ください。
- その他のサービス: 評価の調整に使用されるその他のサービスに対する少額の料金。
料金は、評価の実行時間に対してのみ発生します。
次のステップ
ヘルスに関する問題と推奨事項を 表示してフィルタする方法を学習する。
Gemini を使用してデータベース フリートのヘルスを 分析する方法を学習する。
データベース フリートのビューを カスタマイズする方法を学習する。