

# REL12-BP05 定期的にゲームデーを実施する
<a name="rel_testing_resiliency_game_days_resiliency"></a>

 ワークロードに影響するイベントや障害に対応するための手順を定期的に実行するために、ゲームデーを実施します。本番稼働シナリオの処理を担当するのと同じチームを関与させます。これらの演習は、本番稼働イベントによって引き起こされるユーザーへの影響を防ぐための対策を講じるのに役立ちます。現実的な条件で対応手順を実践すると、実際のイベントが発生する前にギャップや弱点を特定して対処できます。

 ゲームデーは、本番稼働のような環境でのイベントをシミュレートして、システム、プロセス、チームの応答をテストします。その目的は、例外的なイベントの発生時にチームが実行することになっているアクションを実際に実行することです。これは、改善できる箇所を把握し、組織がイベントに対応することを経験するのに役立ちます。これらは定期的に実施し、チームが対応方法を理解し、定着した習慣を構築できるようにする必要があります。

 ゲームデーは、チームが本番イベントをより自信を持って処理できるように準備します。練習の行き届いたチームは、さまざまなシナリオを迅速に検出して対応できます。これにより、準備状況とレジリエンス体制が大幅に改善されます。

 **期待される成果:** レジリエンスゲームの日数は、一貫したスケジュールに基づいて実行します。これらのゲームデーは、ビジネスを行ううえで通常かつ期待される部分と見なされます。組織には準備が文化として構築されており、本番稼働の問題が発生した場合、チームは効果的に対応し、問題を効率的に解決し、顧客への影響を軽減する準備ができています。

 **一般的なアンチパターン:** 
+  手順は文書化するものの、実行したことはない。
+  テスト演習では、ビジネスの意思決定者を除外する。
+  ゲームデーは実行するが、関連するすべてのステークホルダーに通知しているわけではない。
+  技術的な障害のみに焦点を当て、利害関係者は関与させない。
+  ゲームデーから学んだ教訓を復旧プロセスに取り込むことはしない。
+  障害やバグについてチームを非難する。

 **このベストプラクティスを活用するメリット:** 
+  対応スキルの向上: ゲーム当日、チームはシミュレーションイベント中に職務を練習し、コミュニケーションメカニズムをテストします。これにより、本番稼働状況でより調整された効率的な対応が可能になります。
+  依存関係を特定して対処する: 複雑な環境では、さまざまなシステム、サービス、コンポーネント間で複雑な依存関係が発生することがよくあります。ゲームデーは、これらの依存関係を特定して対処し、重要なシステムとサービスがランブックの手順で適切にカバーされ、タイムリーにスケールアップまたは復旧できることを検証するのに役立ちます。
+  レジリエンスの文化を育む: ゲームデーは、組織内でレジリエンスの考え方を育むのに役立ちます。部門横断的なチームやステークホルダーを関与させる場合、これらの演習は、組織全体でレジリエンスの重要性に対する認識、コラボレーション、共有理解を促進します。
+  継続的な改善と適応: 定期的なゲームデーは、回復力戦略を継続的に評価して適応させるのに役立ちます。これにより、状況の変化に直面しても、関連性と有効性が維持されます。
+  システムの信頼性を高める: ゲームデーを成功させることで、システムの中断に耐え、障害から回復する能力に対する信頼を築くことができます。

 **このベストプラクティスを活用しない場合のリスクレベル:** 中 

## 実装のガイダンス
<a name="implementation-guidance"></a>

 必要なレジリエンス対策を設計して実装したら、ゲームデーを実施して、すべてが本番稼働で計画どおりに機能することを確認します。ゲームデー、特に最初の日には、すべてのチームメンバーが参加し、すべての利害関係者と参加者に、日付、時刻、シミュレートされたシナリオについて事前に通知する必要があります。

 ゲーム当日、関係チームは、所定の手順に従ってさまざまなイベントや潜在的なシナリオをシミュレートします。参加者は、これらのシミュレートされたイベントの影響を注意深くモニタリングし、評価します。システムが設計どおりに動作する場合、自動検出、スケーリング、自己修復メカニズムがアクティブ化され、ユーザーへの影響はほとんどまたはまったくありません。チームが悪影響に気付いた場合、テストをロールバックし、該当するランブックに文書化された自動手段または手動介入のいずれかによって、特定された問題を修正します。

 レジリエンスを継続的に向上させるには、学んだ教訓を文書化し、取り入れることが重要です。このプロセスは、ゲームデーからのインサイトを体系的にキャプチャし、システム、プロセス、チームの機能を強化するために使用する*フィードバックループ*です。

 システムコンポーネントやサービスが予期せず失敗する可能性のある実際のシナリオを再現するには、ゲームデーの演習としてシミュレートされた障害を挿入します。チームは、システムの耐障害性と耐障害性をテストし、制御された環境でインシデント対応と復旧プロセスをシミュレートできます。

 AWS では、Infrastructure as Code (IaC) を使用して、本番環境のレプリカを使用してゲームデーを実行できます。このプロセスを通じて、本番環境によく似た安全な環境でテストできます。さまざまな障害シナリオを作成するには、[AWS Fault Injection Service](https://aws.amazon.com/fis/) を検討してください。[Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) や [AWS X-Ray](https://aws.amazon.com/xray/)などのサービスを使用して、ゲーム期間中のシステム動作をモニタリングします。[AWS Systems Manager](https://aws.amazon.com/systems-manager/) を使用してプレイブックを管理および実行し、[AWS Step Functions](https://aws.amazon.com/step-functions/) を使用して定期的なゲームデーワークフローをオーケストレーションします。

### 実装手順
<a name="implementation-steps"></a>
+  **ゲームデープログラムを確立する:** ゲームデーの頻度、範囲、目的を定義する構造化プログラムを作成します。これらの演習の計画と実行には、主要な利害関係者と対象分野のエキスパートを関与させます。
+  **ゲームデーの準備：**

  1.  ゲームデーの焦点となる重要なビジネスクリティカルなサービスを特定します。これらのサービスをサポートする人材、プロセス、テクノロジーをカタログ化してマッピングします。

  1.  ゲームデーのアジェンダを設定し、イベントに参加する関連チームの準備をします。計画されたシナリオをシミュレートし、適切な復旧プロセスを実行するオートメーションサービスを用意します。[AWS Fault Injection Service](https://aws.amazon.com/fis/)、[AWS Step Functions](https://aws.amazon.com/step-functions/)、[AWS Systems Manager](https://aws.amazon.com/systems-manager/) などの AWS サービスは、障害の注入や復旧アクションの開始など、ゲームデーのさまざまな側面を自動化するのに役立ちます。
+  **シミュレーションを実行する：** ゲーム当日に、計画されたシナリオを実行します。シミュレーションされたイベントに対する人、プロセス、テクノロジーの反応を観察し、文書化します。
+  **演習後のレビューを実施する：** ゲームの終了後、遡及セッションを実施して学んだ教訓を確認します。改善すべき分野と、運用の回復力を向上させるために必要なアクションを特定します。検出結果を文書化し、必要な変更を追跡して、レジリエンス戦略を強化し、完了への準備を整えます。

## リソース
<a name="resources"></a>

 **関連するベストプラクティス:** 
+  [REL12-BP01 プレイブックを使用して障害を調査する](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_testing_resiliency_playbook_resiliency.html) 
+  [REL12-BP04 カオスエンジニアリングを使用して回復力をテストする](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_testing_resiliency_failure_injection_resiliency.html) 
+  [OPS04-BP01 主要業績評価指標を特定する](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_identify_kpis.html) 
+  [OPS07-BP03 ランブックを使用して手順を実行する](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_ready_to_support_use_runbooks.html) 
+  [OPS10-BP01 イベント、インシデント、問題管理のプロセスを使用する](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_event_response_event_incident_problem_process.html) 

 **関連ドキュメント:** 
+  [AWS GameDay とは](https://aws.amazon.com/gameday/) 

 **関連動画:** 
+  [AWS re:Invent 2023 - Practice like you play: How Amazon scales resilience to new heights](https://www.youtube.com/watch?v=r3J0fEgNCLQ&t=1734s) 

 **関連する例:** 
+  [AWS ワークショップ - 嵐を乗り切る: 回復力のあるシステムの制御された混乱を解き放つ](https://catalog.us-east-1.prod.workshops.aws/workshops/eb89c4d5-7c9a-40e0-b0bc-1cde2df1cb97) 
+  [独自のゲームデーを構築して運用レジリエンスをサポート](https://aws.amazon.com/blogs/architecture/build-your-own-game-day-to-support-operational-resilience/) 