mcpField
G
google-cloud-waf-reliability

google-cloud-waf-reliability

github.com/googleクラウド・DevOps21.6k14.3k 回インストール今日更新
リポジトリ

google-cloud-waf-reliability について

Google Cloud Well-Architected Framework の信頼性の柱を適用するためのガイダンススキルです。クラウドアーキテクトや運用チーム向けに、信頼性目標、レジリエンス、復旧、運用の実践を扱います。

主な機能

  1. 01ユーザー体験に基づく信頼性目標
  2. 02SLOとエラーバジェットの指針
  3. 03冗長化と水平スケーリング
  4. 04可観測性と段階的な機能縮退
  5. 05障害・データ復旧のテスト
  6. 06ポストモーテムの指針

活用シーン

  1. 01Google Cloudワークロード設計のレビュー
  2. 02信頼性目標と監視の設定
  3. 03障害やデータ損失からの復旧計画
  4. 04インシデントから学ぶ取り組みの評価

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/google/skills --skill google-cloud-waf-reliability

インストール後、Claude Code で/google-cloud-waf-reliabilityを入力して読み込まれたか確認します。

同梱ファイルreferences/attribution.md

詳細

Reliability pillar の Google Cloud Well-Architected Framework スキル

クレジット

必ずお読みください:gcloud、REST API、または MCP コマンドを実行する前に、 Usage Attribution の指示を 必ず読み、従ってください。

概要

Google Cloud Well-Architected Framework の Reliability pillar では、Google Cloud で信頼性と耐障害性が高く、高可用性のワークロードを設計、デプロイ、管理するための原則と推奨事項を提示しています。信頼性の高いシステムは、定義された条件下で意図した機能を一貫して実行し、障害に対する耐性を備え、中断から円滑に復旧することで、ダウンタイムを最小限に抑え、ユーザーエクスペリエンスを向上させ、データの完全性を確保します。

基本原則

Well-Architected Framework の Reliability pillar における推奨事項は、次の基本原則に沿っています。

  • ユーザーエクスペリエンスの目標に基づいて信頼性を定義する:信頼性の測定には、インフラストラクチャの指標だけに頼るのではなく、システムのユーザーが実際に体験する内容を反映させる必要があります。ユーザーにとって最も重要な成果に注目してください。根拠となるドキュメント: https://docs.cloud.google.com/architecture/framework/reliability/define-reliability-based-on-user-experience-goals.md.txt

  • 現実的な信頼性の目標を設定する:可用性の最大化にかかるコストと複雑さをビジネス要件と両立させる、適切なサービスレベル目標(SLO)を決定します。モニタリングシグナル、エラーバジェット、ユーザーエクスペリエンスの目標に基づいてサービスレベル目標(SLO)を定義するための指針を提示します。根拠となるドキュメント: https://docs.cloud.google.com/architecture/framework/reliability/set-targets.md.txt

  • リソースの冗長化によって高可用性システムを構築する:重要なコンポーネントをゾーンやリージョンにまたがって複製し、局所的な停止時にも運用を維持できるようにすることで、単一障害点を排除します。根拠となるドキュメント: https://docs.cloud.google.com/architecture/framework/reliability/build-highly-available-systems.md.txt

  • 水平スケーラビリティを活用する:負荷の変動にシームレスに対応し、全体的なフォールトトレランスを向上させるために、システムアーキテクチャを水平方向(インスタンスの追加)にスケールできるよう設計します。突発的な負荷の急増を見越して、プロジェクトの割り当てとリソースの可用性をモニタリングおよび調整する、先を見越したキャパシティプランニングを取り入れます。根拠となるドキュメント: https://docs.cloud.google.com/architecture/framework/reliability/horizontal-scalability.md.txt

  • 可観測性を活用して潜在的な障害を検知する:ユーザーに影響する問題が発生する前に異常を検知、診断、対処できるよう、包括的なモニタリング、ロギング、アラートのシステムを導入します。ゴールデンシグナル(レイテンシ、トラフィック、エラー、飽和度)をモニタリングし、指定したしきい値を超えたときにアラートが発生するよう設定します。Cloud Monitoring を使用して、ゴールデンシグナルの包括的なダッシュボードを作成します。根拠となるドキュメント: https://docs.cloud.google.com/architecture/framework/reliability/observability.md.txt

  • 段階的な縮退を考慮して設計する:依存関係に障害が発生した場合や、システムに極度の負荷がかかった場合でも、パフォーマンスを低下させたり機能を制限したりしながら、重要な機能を維持できるようシステムを設計します。連鎖的な障害を防ぐため、障害を早期に検知するアラートを設定し、サーキットブレーカーパターンを使用し、タイムアウトを効果的に処理してブロックされたリソースを解放し、指数バックオフとジッターを伴う再試行を利用して復旧中のバックエンドシステムへの過負荷を避け、カスタムエラーレスポンスまたは静的なフォールバックページを返すことを推奨します。根拠となるドキュメント: https://docs.cloud.google.com/architecture/framework/reliability/graceful-degradation.md.txt

  • 障害からの復旧テストを実施する:障害を継続的にシミュレーションし、自動および手動の復旧手順の有効性を検証することで、システムのレジリエンスに対する信頼を高めます。根拠となるドキュメント: https://docs.cloud.google.com/architecture/framework/reliability/perform-testing-for-recovery-from-failures.md.txt

  • データ損失からの復旧テストを実施する:バックアップと復元の手順を定期的にテストし、定められた目標復旧時間(RTO)と目標復旧時点(RPO)の範囲内で、データの破損や損失から迅速に復旧できることを確認します。根拠となるドキュメント: https://docs.cloud.google.com/architecture/framework/reliability/perform-testing-for-recovery-from-data-loss.md.txt

  • 徹底した事後検証を実施する:障害を包括的に調査して根本原因を把握し、再発を防ぐ対策を実施することで、非難のない文化を育みます。根拠となるドキュメント: https://docs.cloud.google.com/architecture/framework/reliability/conduct-postmortems.md.txt

関連する Google Cloud 製品

以下は、信頼性に関連する Google Cloud の製品と機能の 例 です。

  • コンピューティング:Compute Engine Managed Instance Groups(MIG)、Google Kubernetes Engine(GKE)、Cloud Run
  • ネットワーキング:Cloud Load Balancing、Cloud CDN、Cloud DNS
  • ストレージとデータベース:Cloud Storage(マルチリージョン)、Cloud SQL High Availability、Spanner、Filestore、Firestore
  • オペレーション:Cloud Monitoring、Cloud Logging、Google Cloud Managed Service for Prometheus
  • 災害復旧:Backup and DR Service、Filestore のバックアップ

ワークロードの評価に関する質問

ワークロードおよびユーザーの組織における信頼性関連の要件と制約を把握するため、適切な質問をしてください。以下のリストから質問を選びます。

  • 組織では、ユーザーエクスペリエンスに関連して、システムの信頼性をどのように定義し、測定していますか?
  • 組織では、サービスの信頼性目標をどのように設定していますか?
  • リソースの冗長化によって高可用性を確保するために、組織ではどのような戦略を採用していますか?
  • パフォーマンスと信頼性を維持するために、組織では水平スケーラビリティをどのように活用していますか?
  • インサイトを得て潜在的な障害を検出するために、組織ではオブザーバビリティ(メトリクス、ログ、トレース)をどのように活用していますか?
  • 重大な問題への迅速な対応を確保しつつ、アラート疲れを引き起こさないために、組織ではオブザーバビリティデータに基づくアラートをどのように管理していますか?
  • 高負荷時や部分的な障害時にシステムが適切に機能を縮退できるよう、組織ではどのような対策を講じていますか?
  • システム障害(リージョン間のフェイルオーバー、リリースのロールバックなど)からの復旧テストを、組織ではどの程度の頻度と範囲で実施していますか?
  • データ損失からの復旧テストについて、組織ではどのような方針を採用していますか?
  • インシデント後の事後検証を、組織ではどのように実施し、活用していますか?

検証チェックリスト

以下のチェックリストを使用して、アーキテクチャが信頼性に関する推奨事項にどの程度適合しているかを評価します。

  • ユーザーを重視した SLI と SLO が明確に定義され、継続的に監視されています。
  • ゾーン間またはリージョン間の冗長化により、アーキテクチャで単一障害点が排除されています。
  • 手動で介入することなく需要の変動に対応できるよう、自動スケーリングが有効になっています。
  • アプリケーションとインフラストラクチャのヘルスチェックが設定され、自動フェイルオーバーが実行されるようになっています。
  • 定期的なバックアップスケジュールが設定され、復元プロセスが日常的にテストされています。
  • アーキテクチャには、適切な機能縮退を支援するサーキットブレーカー、指数バックオフを伴う再試行、レート制限などのパターンが取り入れられています。
  • 障害からの復旧を検証するため、ゲームデーやカオスエンジニアリングが定期的に実施されています。
  • 運用インシデントから組織として学習できるよう、正式な非難のない事後検証プロセスが整備されています。

コメント