ある企業が AWS 上で稼働する本番アプリケーションに対して、SRE(サイトリライアビリティエンジニアリング)の観点から信頼性を向上させたいと考えています。現在のアーキテクチャは ALB + EC2 Auto Scaling + RDS Aurora Multi-AZ です。以下の改善を行いたいと考えています。④定期的なリカバリテストを自動化する、①アプリケーションの実際のユーザー体験(エンドツーエンド)を継続的に監視する。これらを実現するために使用するべきサービスを2つ選択してください。
- A. Amazon CloudWatch Synthetics でカナリアスクリプトを作成し、定期的にアプリケーションのエンドツーエンドフロー(ログイン→商品検索→カート→決済)をシミュレートしてユーザー体験を継続的に監視する
- B. Amazon CloudWatch アラームでシステムメトリクス(CPU、メモリ)を監視し、閾値超過時に SNS で通知する
- C. AWS Backup で毎日スナップショットを取得し、四半期に一度のリカバリテストを手動で実施する
- D. AWS Fault Injection Simulator(FIS)でカオスエンジニアリング実験(EC2 インスタンスのシャットダウン、Aurora フェイルオーバー等)を定期スケジュールで自動実行し、システムの回復力を検証する
- E. AWS Config でアーキテクチャの設定変更を監視し、非準拠リソースを検出する
解答と解説を見る
正解: A, D
AWS FIS(D)はカオスエンジニアリング実験を設定ファイルで定義し、EventBridge でスケジュール実行できます。EC2 のシャットダウン、Aurora のフェイルオーバー強制などのインジェクションを自動化し、システムの回復力(Resilience)を定期的に検証します。CloudWatch Synthetics(A)はエンドユーザーのアクション(Headless Chrome ベースの実際のブラウザ操作)をシミュレートし、エンドツーエンドのユーザー体験を継続的に監視します。SRE の観点での④と①の要件に完全に対応しています。 C: AWS Backup による手動リカバリテストは自動化されていなく、四半期に一度では頻度も不十分です。FIS の自動化されたリカバリテストの方がSRE の要件に合います。 B: CloudWatch アラームはインフラメトリクスの監視に有用ですが、エンドツーエンドのユーザー体験の監視はできません。 E: Config は設定管理と監査に適していますが、信頼性テストや実際のユーザー体験監視には対応していません。
📚 関連サービスの解説: Amazon CloudWatch ・ Amazon EC2