PCSE 合格対策
横断 / 全セクション 🎯 Deep Dive SRE / 運用

Security Engineering の
SRE / 運用 / コスト / Observability 深掘り

セキュリティ機能を 設計したあと、運用フェーズで失敗しないための SRE 原則・SLO 設計・コスト管理・Observability・キャパシティ計画・GitOps を、公式情報と実務知見を組み合わせて深掘り。

このページの目次

  1. 1. SRE の原則とセキュリティ運用
  2. 2. Security SLI / SLO 設計
  3. 3. エラーバジェット運用
  4. 4. Observability の 3 本柱
  5. 5. Cloud Monitoring 詳細
  6. 6. ロギング戦略とコスト
  7. 7. Cloud Trace / Profiler
  8. 8. セキュリティサービスのコスト管理
  9. 9. クォータ / キャパシティ計画
  10. 10. Runbook / Playbook 整備
  11. 11. オンコール / エスカレーション
  12. 12. Chaos Engineering / Game Day
  13. 13. IaC / GitOps / Policy-as-Code
  14. 14. DR / BCP 設計
  15. 15. セキュリティ運用 KPI
  16. 16. 成熟度モデルとロードマップ

1. SRE の原則とセキュリティ運用への適用

Google SRE の原則は「セキュリティ運用」にもそのまま適用できる。セキュリティを SLO で測ることが起点。

SRE の中核原則

  1. Embracing Risk:完璧を目指さず、許容可能なリスクを定義
  2. SLO / Error Budget:定量目標で運用判断
  3. Eliminating Toil:反復作業を自動化
  4. Monitoring Distributed Systems:4 Golden Signals
  5. Release Engineering:再現性の高いデプロイ
  6. Simplicity:複雑性は敵

セキュリティ運用への適用

  1. 「ゼロ脆弱性」は非現実 → Critical CVE 24h 修復のような目標
  2. SCC Finding 対応の SLO、PR 内 IAC scan の SLO
  3. 手動修復は自動修復に(Cloud Functions / Eventarc)
  4. SCC Findings、Audit Log のメトリック化
  5. セキュリティ設定変更も CI/CD で再現性確保
  6. シンプルなポリシーが最も守られる

2. Security SLI / SLO 設計

セキュリティ運用も SLO(Service Level Objective)で定量化できる。何を測るかを最初に決める。

典型 Security SLI 例

SLI計測方法典型 SLO
Critical CVE 修復率Container Analysis Findings → 修復までの時間24 時間以内に 99%
SCC Critical Finding 対応時間Finding 作成 → クローズの中央値1 時間以内(Critical)
Audit Log 到達遅延Cloud Logging API の P99 遅延SIEM 到達 5 分以内 99.9%
Sink エクスポート成功率logging.googleapis.com/exports/error_count99.99%
IAM Recommender 対応未対応 Recommendation 数過剰権限 30 日以内に 80% 削減
Backup Restore Test 成功率四半期の DR 演習結果100% で RTO 達成
VPC SC Dry Run → Enforce サイクル新規 perimeter の Dry Run 期間4 週間以上を 100%
Access Approval 承認時間申請 → 承認の P951 時間以内 95%

SLO カード例

SLO: Critical CVE 修復

99% / 24h
達成率: 96.2% (今期)エラーバジェット残: 32%

指標: Artifact Registry Container Analysis で Critical CVE の検出時刻 → 修復済みイメージのデプロイ時刻の差分が 24h 以内の Finding 数 ÷ 全 Critical CVE Finding 数

SLO: Audit Log → SIEM 到達遅延

99.9% / 5min
達成率: 99.7% (今期)エラーバジェット残: 0%(バジェット消費中)

指標: Aggregated Sink → Pub/Sub → Chronicle Forwarder の end-to-end 遅延 P99 が 5 分以内の時間比率

3. エラーバジェット運用

SLO で 意図的に許容する失敗率を定義し、それを 変更の燃料として扱う。

エラーバジェットの計算

SLO: Audit Log → SIEM 到達 P99 5 分以内 99.9% 期間: 30 日 = 43,200 分 許容違反時間: 43,200 × 0.001 = 43.2 分 消費例: 第1週: 8 分(Pub/Sub 障害) 第2週: 18 分(Chronicle Forwarder 設定ミス) 第3週: 12 分(Sink 設定更新中の取りこぼし) 第4週: 残バジェット 5.2 分 → 残わずか → 変更フリーズ / SRE が安定化に注力

運用ルール(典型)

✅ ベストプラクティス

4. Observability の 3 本柱

「障害を予防 / 検知 / 復旧」するための観測体系。Metrics / Logs / Traces の三本柱。

Metrics

時系列の数値データ。集計に強く、長期保存が安価。アラート閾値の判定に使う。

  • Cloud Monitoring(旧 Stackdriver)
  • VM / GKE / Cloud Run のシステムメトリクス
  • カスタムメトリクス(OpenTelemetry / Cloud Monitoring API)
  • SCC Findings 件数 / Severity 分布

Logs

構造化された出来事の記録。原因究明・監査・コンプライアンスに必須。

  • Cloud Audit Logs(Admin / Data Access / System Event / Policy Denied)
  • VPC Flow Logs / Firewall Rules Logging
  • アプリログ(structured JSON 推奨)
  • Log Analytics で SQL 分析

Traces

分散システムでのリクエストフロー。レイテンシ / エラー原因の特定に。

  • Cloud Trace(OpenTelemetry / OpenCensus)
  • Cloud Profiler(CPU / メモリプロファイル)
  • Error Reporting(例外集約)
  • Cloud Debugger(本番デバッグ)

4 Golden Signals(Google SRE の原則)

5. Cloud Monitoring 詳細

監視対象のセキュリティメトリクス(公式 + カスタム)

メトリック意味典型閾値
logging.googleapis.com/byte_countCloud Logging 取り込み量日次 +20% でアラート
logging.googleapis.com/exports/error_countSink エクスポートエラー数1 分 1 件で SEV2
nat.googleapis.com/port_usage_factorCloud NAT ポート使用率70% Warning / 90% Critical
cloudkms.googleapis.com/key_versions_per_keyringKeyRing 当たりの鍵バージョン数上限 1,000、80% で監視
secretmanager.googleapis.com/secret_countシークレット数急増を異常検知
compute.googleapis.com/quota/cpus/usagevCPU 使用クォータ80% で容量計画
dlp.googleapis.com/quota/processed_bytesSDP 処理バイト数月予算の 80% で警告

カスタムメトリクス(OpenTelemetry)

アラート設計の原則

✅ アラート設計の鉄則

6. ロギング戦略とコスト

料金構造(2026 年 5 月時点)

取り込み料金
$0.50/GiB
最初の 50 GiB / 月は無料
_Required / Default 保管
無料
既定 30 日以内
カスタム Log Bucket 保管
$0.01/GiB/月
31 日目以降
Log Analytics クエリ
$0.10/GiB
スキャン量課金

コスト削減策

  1. Exclusion Filter ヘルスチェック / 内部 SA / 高頻度低リスク操作を除外。例:resource.type="k8s_pod" AND severity="DEBUG"
  2. Sampling VPC Flow Logs / Firewall Logs のサンプリングレートを段階的に下げる(既定 50% → 10%)
  3. Tier 分離 ホットログ(30 日 BigQuery)/ ウォーム(1 年 Log Bucket)/ コールド(7 年 GCS Coldline)
  4. Data Access 限定有効化 機微サービスのみ ON、その他は OFF を維持
  5. Log-based Metrics 大量ログから集計値だけメトリック化、ログ本体は除外可
  6. Aggregated Sink の Filter 最適化 組織全体の取り込み量を 30〜50% 削減可能
gcloud Exclusion Filter で高頻度低リスクログを除外
gcloud logging sinks update _Default \
    --add-exclusion=name=exclude-k8s-debug,filter='resource.type="k8s_pod" AND severity="DEBUG"' \
    --add-exclusion=name=exclude-lb-healthcheck,filter='resource.type="http_load_balancer" AND httpRequest.userAgent="GoogleHC/1.0"' \
    --add-exclusion=name=exclude-secret-list,filter='protoPayload.methodName="google.cloud.secretmanager.v1.SecretManagerService.ListSecrets"'

典型コスト分解(中規模組織 / 月次)

想定: 50 プロジェクト / 月 5 TB の Audit Log 取り込み

Audit Log 取込 35%
SCC Premium 22%
VPC Flow Logs 14%
Cloud KMS 12%
Secret Manager 8%
その他 9%

7. Cloud Trace / Profiler / Error Reporting

セキュリティ系のトレース活用

8. セキュリティサービスのコスト管理

主要セキュリティサービスのコストドライバ

サービスコストドライバ節約策
Cloud Logging取り込み量 / 保管期間Exclusion Filter / Sampling / Tier 分離
Cloud Audit Logs (Data Access)サービス × 操作頻度機微対象のみ有効化、不要操作を除外
SCC Premium / EnterpriseAsset 数 × 月額非対象プロジェクトを除外、Tier 見直し
Cloud KMS鍵数 + Operation 数不要鍵の destroy、ローテーション周期見直し
Cloud HSM鍵数(HSM は SOFTWARE の数倍)HSM 必須の鍵のみ HSM、その他は SOFTWARE
Cloud EKM外部 KMS 側 + Operation 数キャッシュ TTL の最適化(外部 KMS 側の設定)
SDP / DLP処理バイト数Discovery scope 限定 / サンプリング
Cloud Armorポリシー数 + リクエスト数Edge / Backend Policy の役割分離、不要ルール削除
Cloud IDSEndpoint 時間 + 処理 GB本番 VPC のみ、TLS トラフィック除外
Cloud NAT処理 GB + NAT IP 数PSC for Google APIs で egress 削減
Secret Managerアクティブシークレット数 + access 数古いバージョンの destroy、不要 secret 削除

コスト可視化と統制

9. クォータ / キャパシティ計画

主要クォータ(既定値の一部)

クォータ既定備考
cryptoKeys.encrypt requests / minute300,000大量バッチで枯渇しやすい
logging.entries.write per minute120,000大量アプリログで上限到達
secretmanager access / minute90,000マイクロサービスでは特に注意
compute.cpus per region24〜数千新規リージョンは少なめ
VPC Service Controls perimeters per org30引き上げ申請可能
Workload Identity Pools / Project100
Workload Identity Pool Providers / Pool10
dlp processed bytes / day制限なし課金で青天井、Custom Quota で制限

容量計画の手順

  1. 過去 90 日の使用量を Cloud Monitoring から抽出
  2. 増加トレンド + 季節性を分析(イベント / セール / 月末バッチ)
  3. 3〜6 ヶ月先の 必要量を予測(線形 / ARIMA)
  4. クォータ 80% 到達時点を予測し、その 30 日前に引き上げ申請
  5. Cloud Monitoring の SLO Burn Rate Alertで予防検知
⚠️ クォータ枯渇の典型シナリオ

10. Runbook / Playbook 整備

Runbook(手順書)に必須の項目

セキュリティ Runbook の代表例

  1. SA 鍵漏洩対応(Github / Public への流出検出時)
  2. VPC SC 違反による業務停止対応
  3. Cloud KMS 鍵 destroy 誤操作対応
  4. SCC Critical Finding 対応(IAM 異常 / マルウェア検知)
  5. 大量データ漏洩対応(72h 規制報告含む)
  6. 外部 IdP 障害時の Super Admin 利用
  7. Audit Log 欠落対応
  8. 本番 Org Policy 変更ロールバック
✅ Runbook の作り方

11. オンコール / エスカレーション

オンコール体制設計

オンコール健康管理(公式 SRE 原則)

Incident Command(インシデント対応の役割分担)

12. Chaos Engineering / Game Day

想定シナリオを意図的に発動させ、対応力を訓練する。

セキュリティ系 Game Day シナリオ例

✅ Game Day 運用

13. IaC / GitOps / Policy-as-Code

セキュリティ構成の IaC 化

GitOps の実装例

[ 開発者 ] │ PR 作成 ▼ [ Git Repo: security-config ] │ Cloud Build trigger ▼ [ Terraform plan + OPA policy check ] │ レビュー(CODEOWNERS: SOC) ▼ [ PR マージ ] │ ▼ [ Cloud Build: Terraform apply ] │ ▼ [ GCP 構成変更 + Audit Log ] │ ▼ [ Config Drift Detection(cron)]

Policy-as-Code 例(OPA / Rego)

rego Workload Identity Federation Provider に attribute-condition を必須化
package terraform.gcp.wif

deny[msg] {
  resource := input.resource.google_iam_workload_identity_pool_provider[name]
  not resource.attribute_condition
  msg := sprintf("WIF provider %q must define attribute_condition", [name])
}

deny[msg] {
  resource := input.resource.google_iam_workload_identity_pool_provider[name]
  resource.attribute_condition == ""
  msg := sprintf("WIF provider %q has empty attribute_condition", [name])
}

Drift 検出

14. DR / BCP 設計

セキュリティ機能の DR 観点

機能DR 要件実装
Cloud KMS 鍵リージョン障害でも鍵アクセス可能multi-region keyring、または別 region の鍵で副本
Cloud HSM同上multi-region HSM、定期 backup
EKM(外部 KMS)外部 KMS の冗長化2 拠点冗長、SLA 99.99%
Secret Managerシークレット保管の冗長user-managed replication(複数 region)
Audit Log欠落なし、改ざんなし2 重 Sink(GCS + BigQuery)、Bucket Lock
SCCFinding ストレージの冗長Aggregated Sink で Pub/Sub 経由 SIEM
IAM ポリシー誤操作からの復元Cloud Asset Inventory の履歴で rollback
VPC SC ポリシー誤適用からの rollbackTerraform state + 古いバージョン保持
組織ポリシー同上Terraform で版管理

RTO / RPO の目安

15. セキュリティ運用 KPI

運用成熟度を測る KPI

KPI目標計測
MTTD(平均検知時間)15 分以内インシデント発生時刻 → 検知時刻
MTTR(平均復旧時間)SEV1 = 1h、SEV2 = 4h検知 → 復旧
MTTC(平均封じ込め時間)SEV1 = 15 分検知 → 封じ込め完了
Toil 比率50% 未満反復作業 ÷ 総時間
自動修復率70% 以上自動 close Findings ÷ 全 Findings
SLO 達成率100%定義 SLO 数のうち target 達成
未対応 Critical Finding 数0SCC Findings の age 分布
Coverage(カバレッジ)100% プロジェクトSCC / Sink / 組織ポリシー対象
Postmortem 完了率100% / 72h 以内SEV1/2 インシデント数 ÷ ポストモーテム数
Game Day 実施頻度四半期 1 回以上

16. 成熟度モデルとロードマップ

セキュリティ運用成熟度(5 段階)

Level 1: Reactive

  • 事故が起きてから対応
  • SLO 未定義
  • Runbook なし
  • 手動対応中心

Level 2: Managed

  • 基本監視 + アラート
  • Runbook 一部整備
  • Cloud Logging 集約
  • SCC Standard 有効

Level 3: Defined

  • SLO / SLI 定義
  • Runbook 完備
  • IaC でセキュリティ構成
  • SCC Premium、ETD 活用

Level 4: Proactive

  • Error Budget 運用
  • Game Day 四半期
  • 自動修復 70% 以上
  • SCC Enterprise、Chronicle

Level 5: Optimizing

  • SLO バジェットで投資判断
  • Toil 30% 未満
  • Predictive Analytics
  • マルチクラウド統合 SOC

ロードマップ提案

  • L1→L2: 3 ヶ月
  • L2→L3: 6 ヶ月
  • L3→L4: 12 ヶ月
  • L4→L5: 継続的改善
📚 関連リソース