推奨事項の評価を作成する

Database Center の評価を使用して、データベースの推奨事項を本番環境データベース フリートに適用する前に、パフォーマンスへの影響を評価してテストします。

推奨事項を評価するために、評価では次のオペレーションが実行されます。

  • データベース インスタンスのクローンを作成します。

  • クローンでベンチマーク シミュレーション テストを実行します。

  • 推奨される構成変更を適用した後のパフォーマンスと、クローンのベースライン パフォーマンスを比較します。

サポートされているプロダクトと推奨事項

データベース センター の評価は、 Cloud SQL for PostgreSQL インスタンスでのみ使用できます。

次のタイプの推奨事項を評価できます。

  • コンピューティング リソースの拡張: インスタンスのサイズを vCPU またはメモリが多いマシンタイプに 変更した場合の影響を評価します。

  • エディションのアップグレード: Cloud SQL for PostgreSQL の Cloud SQL Enterprise エディションから Cloud SQL Enterprise Plus エディションに移行した場合のパフォーマンスへの影響を評価します。詳細については、 インスタンスを Cloud SQL Enterprise Plus エディションにインプレース アップグレードするをご覧ください。

  • データ キャッシュの有効化: データ キャッシュを有効にした場合の影響(レイテンシとスループット)を分析します。

始める前に

推奨事項の評価を実行する前に、次の要件を満たしていることを確認してください。

  • API の有効化: 次の API を有効にします。

    API を有効にするには、API の有効化と無効化を ご覧ください。

  • データベース接続の認証情報: ターゲット データベース 名とデータベース ユーザー名を指定する必要があります。

  • Secret Manager のシークレット: データベース ユーザー名のパスワードをグローバル Secret Manager のシークレットに保存し、シークレット ピッカーで検索できるようにシークレットの名前を把握しておく必要があります。シークレットがリストに表示されない場合にのみ、シークレットの完全パスが必要です。 シークレットの作成の詳細については、 シークレットの作成とアクセスをご覧ください。

  • サービス アカウント: ベンチマークを行い、推奨される変更とベースライン パフォーマンスを比較する環境に Identity and Access Management(IAM)サービス アカウントを構成します。このサービス アカウントには、Secret Manager からデータベース認証情報のシークレットを読み取り、Cloud Run でベンチマーク タスクを調整する権限が必要です。サービス アカウントを構成するには、 サービス アカウントを作成するをご覧ください。

  • IAM 権限: テストプロセスを開始して管理するには、必要な IAM 権限が必要です。 詳細については、 必要な IAM 権限をご覧ください。

推奨事項を評価する

推奨事項を評価してテストする手順は次のとおりです。

  1. コンソール Google Cloud で、[データベース センター] ページに移動します。

    [データベース センター] に移動

  2. ナビゲーション メニューで [評価] をクリックします。

  3. Cloud SQL for PostgreSQL インスタンスでサポートされている推奨事項を見つけます。

  4. その推奨事項の [影響] 列で [影響を評価] をクリックします。

    必要な API を有効にしていない場合は、パネルのガイダンスに沿って有効にします。

  5. [評価の詳細] ページの構成パネルに、次の接続の詳細を入力します。

    1. [**データベース**] に、データベースの名前を入力します。有効なオプションは、Cloud SQL インスタンスの [データベース] ページに表示されているデータベースに対応しています。

    2. [**ユーザー名**] に、データベースのユーザー名を入力します。

    3. [**パスワード シークレット**] で、データベース ユーザーのパスワードを含む Secret Manager のシークレットを選択します。

      シークレットがリストに表示されない場合は、シークレット パス を`projects/PROJECT_ID/secrets/SECRET_NAME` の形式で手動で入力します。 projects/PROJECT_ID/secrets/SECRET_NAMEPROJECT_ID はプロジェクト ID に置き換え、SECRET_NAME はシークレットの名前に置き換えます。デフォルトでは、データベース センターは最新バージョンの Secret を使用します。必要に応じて、パスに /versions/VERSION を追加してバージョンを指定できます。 VERSION はシークレットのバージョンに置き換えます。

    4. [**サービス アカウント**] で、ベンチマーク ジョブの実行に使用するサービス アカウントを選択します。

  6. [テスト計画を生成] をクリックします。計画の生成には数分かかります。

    Database Center は、 データベースのクローン作成、 pgbench ワークロードの実行、 推奨事項の適用、パフォーマンスの分析の手順を示すテスト計画のプレビューを生成します。

    データベース センター は、計画を生成すると、[評価] ページにセッションを一覧表示します。このページから移動しても、後でセッションに戻ることができます。

  7. テスト計画を絞り込むには、[テスト手順] フィールドに手順を入力(例: Change the benchmark duration to 60 seconds)して、[テスト計画を更新] をクリックします。

  8. [評価を開始] をクリックします。確認ダイアログで、課金に関する通知を確認します。クローン インスタンスのプロビジョニングとベンチマーク ジョブの実行は 課金されます。

    評価セッションは 48 時間使用できます。 評価が成功すると、データベース センターはクローン インスタンスを自動的に削除します。評価が失敗した場合、クローン インスタンス は自動的に削除されないため、 手動で削除する必要があります

  9. [確認] をクリックして評価を開始します。評価プロセスが完了するまでに時間がかかります。

    データベース センター に評価の進行状況が表示されます。セッションがバックグラウンドで実行されている間は、このページから移動しても問題ありません。

評価履歴とレポートを表示する

評価セッションを追跡して、評価を管理し、パフォーマンス比較レポートを確認します。Database Center は、セッション レポートとメタデータを 48 時間保持し、各セッションの有効期限までのカウントダウンを表示します。

  1. コンソール Google Cloud で、[データベース センター] ページに移動します。

    [データベース センター] に移動

  2. ナビゲーション メニューで [評価] をクリックします。

  3. セッションのリストで、詳細を表示するセッションのセッション ID をクリックします。

    次の表に、評価セッションのステータス、各ステータスで表示される情報、使用可能な操作を示します。

    ステータス 表示される情報 選択できる操作
    プランニング フェーズ テスト計画の詳細とプレビュー。 [**テスト手順**] フィールドを使用してテスト計画のプレビューを絞り込むか、[**評価を開始**] をクリックして評価を開始します。
    評価フェーズ 評価の進行状況と、評価で使用されるテスト計画。 [キャンセル] をクリックして評価をキャンセルします。
    完了 推奨事項を適用する前後のデータベース パフォーマンスを比較した概要。 推奨事項を適用する前後のデータベース パフォーマンスを比較した概要。 なし
    キャンセル済み キャンセルされる前の評価の進行状況。 なし
    生成に失敗しました テスト計画の生成に失敗しました。テスト計画の詳細 と、データベース名やシークレット名などの構成フィールドを表示して、テスト計画の生成を再試行できます。 データベース名 やユーザー名などの評価構成設定を更新して、テスト計画の生成を再試行します。
    評価に失敗しました 推奨事項の評価に失敗しました。エラー メッセージと、失敗する前の評価の進行状況を表示できます。 なし

セッションをキャンセルする、または失敗したセッションをクリーンアップする

進行中の評価セッションをキャンセルした場合や、実行が失敗した場合は、すべての一時リソースが削除されていることを確認してください。Database Center では、失敗またはキャンセル後にクリーンアップが成功したかどうかを確認できないため、失敗またはキャンセルされたすべてのセッションについて、残りのデータベース クローン インスタンスを確認して削除してください。

  • セッションをキャンセルする: [評価] ページで、 キャンセルする評価のセッション ID をクリックし、 [キャンセル] をクリックします。セッションをキャンセルするには、セッション ID のステータスが [評価フェーズ] である必要があります。

  • クローン リソースをクリーンアップする:

    クローン インスタンスを手動で削除するには:

    1. コンソール Google Cloud で、 [Cloud SQL インスタンス] ページに移動します。

      Cloud SQL の [インスタンス] に移動

    2. インスタンスのリストで、クローン インスタンスを見つけます。クローンは、セッションの詳細ページに表示されるリソースリンクを使用して識別できます。

    3. クローン インスタンスの横にある [その他の操作] をクリックし、[削除] をクリックします。

    4. 確認ダイアログで、クローン インスタンス名を入力して [削除] をクリックします。

必要な IAM 権限

テストプロセスを開始して管理するには、特定の権限が必要です。 これらの権限を取得するには、事前定義ロールを割り当てるか、個々の権限を持つカスタムロールを作成します。

アクセスを管理してロールを理解するには、IAM によるアクセス制御を ご覧ください。

エンドユーザーの権限

次の表に、ユーザー アカウントに必要な権限と、それらの権限を含む事前定義ロールを示します。

必要な権限 事前定義ロール
cloudsql.instances.patch
cloudsql.instances.clone
cloudsql.instances.delete
cloudsql.instances.get
cloudsql.instances.createTestingAgentSession
cloudsql.instances.getAgentSession
cloudsql.instances.listAgentSessions
cloudsql.instances.cancelAgentSession
roles/cloudsql.admin
run.jobs.create
run.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 の料金をご覧ください。
  • その他のサービス: 評価の調整に使用されるその他のサービスに対する少額の料金。

料金は、評価の実行時間に対してのみ発生します。

次のステップ