【PCDBE】WEB問題集:デプロイと監視編

WEB問題集

PCDBE#401(deploy-monitor)

金融サービスの開発チームは、複数の本番 Cloud SQL for PostgreSQL インスタンスを開発・ステージング・本番の各環境に再現性高く払い出したいと考えています。インフラ構成はバージョン管理し、プルリクエスト承認後に CI/CD パイプラインで自動適用したい要件があります。今後のインフラ追加にも備え、運用負荷を最小化したい場合、最も適切な手法はどれですか。

ディスカッション 0

正解:D

正解の根拠

Terraform は宣言的な Infrastructure as Code(IaC)ツールであり、Cloud SQL のリソース定義をコードとして Git で管理できます。Cloud Build と組み合わせれば、プルリクエスト承認をトリガにして自動で plan と apply を実行でき、再現性と監査性を両立できます。

手法再現性監査性適用性
Terraform + Cloud Build高(Git 履歴)自動
gcloud 手動履歴のみ手動
コンソール手動手動

不正解の理由

  • A:Deployment Manager は非推奨化が進み、kubectl は無関係なツールです。
  • B:手動コマンドは抜け漏れが発生しやすく、再現性が低下します。
  • C:画面操作はバージョン管理対象外で、変更追跡が不可能となります。

参考:https://cloud.google.com/docs/terraform

PCDBE#402(deploy-monitor)

運用チームは複数の Cloud SQL for MySQL インスタンスを管理しており、スキーマ変更が増えてきました。テーブル変更を Git のブランチ単位で履歴管理し、レビュー後に自動適用したい要件があります。リリース時の安全性として、誤った場合のロールバックも自動化したい場合、最も推奨される構成はどれですか。

ディスカッション 0

正解:D

正解の根拠

Liquibase はチェンジセット単位でスキーマ変更を管理でき、適用済みバージョンを DATABASECHANGELOG テーブルで追跡します。Cloud Build に組み込めば、PR マージ後に update コマンドを自動実行し、問題発生時には rollback コマンドで前バージョンへ戻せます。

項目Liquibaseアプリ内 DDL
履歴管理changelog で自動無し
ロールバック標準サポート独自実装
レビューPR で容易困難

不正解の理由

  • A:アプリ内 DDL は同時実行で競合し、変更履歴も残りません。
  • B:同じファイルを再実行しても変更履歴管理ツールとは異なります。
  • C:手動運用は監査が困難で、ヒューマンエラーのリスクが高まります。

参考:https://cloud.google.com/architecture/database-schema-management-using-liquibase

PCDBE#403(deploy-monitor)

SaaS プロダクトを運用するチームは、Cloud SQL の CPU 使用率が業務時間に急増する事象を観測しています。CPU が 80% を超えた際にオンコール担当に通知し、さらに 90% を超え 5 分間継続した場合のみエスカレーションを発生させたいと考えています。最小の管理コストで実現する方法はどれですか。

ディスカッション 0

正解:C

正解の根拠

Cloud Monitoring のアラートポリシーは Cloud SQL の CPU 使用率メトリクス(database/cpu/utilization)を直接参照でき、複数の条件としきい値を設定可能です。通知チャネルとして PagerDuty・Slack・メールなどを連携でき、追加実装なしで段階的な通知が実現します。

方式運用負荷遅延
Cloud Monitoring アラート数十秒
独自スクリプト不安定
BigQuery クエリ1時間以上

不正解の理由

  • A:自前実装は障害時に通知自体も停止する単一障害点になります。
  • B:BigQuery 経由は遅延が大きく、リアルタイム通知に不向きです。
  • D:ログベース指標は CPU メトリクスではなくログ事象向けの仕組みです。

参考:https://cloud.google.com/monitoring/alerts

PCDBE#404(deploy-monitor)

EC サイトを運営する企業の DBA は、Cloud SQL for PostgreSQL のクエリ遅延を分析する必要があります。トップ N の遅いクエリと正規化されたクエリパターン、待機イベントを GUI で確認したいと考えています。アプリケーションコードに追加実装を入れず、最も適切なツールはどれですか。

ディスカッション 0

正解:B

正解の根拠

Query Insights は Cloud SQL マネージドサービスに統合された性能分析機能で、正規化済みクエリのトップ N、実行プラン、待機イベント、エンドツーエンドのアプリラベル別集計をコンソールから確認できます。エージェント追加導入は不要です。

ツール対象導入の手間
Query InsightsSQL クエリ性能有効化のみ
Cloud Trace分散トレース計装が必要
Cloud Profilerアプリの CPU計装が必要

不正解の理由

  • A:Cloud Trace はアプリ計装が必要で、DB 単独分析には不向きです。
  • C:Cloud Profiler はアプリプロセス用で Cloud SQL を直接見られません。
  • D:pgbadger は導入や定期処理が必要で運用負荷が高くなります。

参考:https://cloud.google.com/sql/docs/postgres/using-query-insights

PCDBE#405(deploy-monitor)

運用責任者は、社内サービスの可用性目標として「月間 99.9% の成功応答率」を SLO として定義したいと考えています。SLO を継続的に測定し、エラーバジェットを使い切った際にリリース凍結を判断できる仕組みを最小コストで実現したい場合、最も適切な方法はどれですか。

ディスカッション 0

正解:D

正解の根拠

Cloud Monitoring のサービス監視(Services)機能では、SLI を定義し、SLO の目標値、コンプライアンス期間、バーンレートを統合的に管理できます。バーンレートアラートを使えばエラーバジェット消費速度に応じた早期検知が可能となり、追加実装不要で運用に組み込めます。

方式リアルタイム性バーンレート
Monitoring SLO標準機能
月末手動集計不可

不正解の理由

  • A:バックアップ成否は SLI に直結せず、ユーザー体験を反映しません。
  • B:Excel 手作業はリアルタイム性に欠け、自動化されません。
  • C:月末集計ではバジェット枯渇を早期検知できません。

参考:https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring