Q99 — AWS SAA-C03 第16章
第 99/100 問 | ← 第16章
Q1299. 金融サービスを提供する企業が、Amazon RDS for MySQLデータベースを使用する新しいアプリケーションをリリースしました。このアプリケーションは株式市場の動向を追跡するために使用されます。アプリケーションは毎週末にのみ2時間だけ稼働させればよく、その2時間の間は高い可用性(High Availability)が必須です。これらの要件を最もコスト効率よく満たすソリューションはどれですか?
- A. 既存のRDS for MySQLデータベースをAurora Serverless v2 MySQLデータベースクラスターに移行する。 ✓
- B. 既存のRDS for MySQLデータベースをAurora MySQLデータベースクラスターに移行する。
- C. 既存のRDS for MySQLデータベースをMySQLを実行するAmazon EC2インスタンスに移行する。アプリケーションの実行前に毎週新しいEC2 Spot Instanceを起動し、2時間の実行後にSpot Instanceを終了する。
- D. 既存のRDS for MySQLデータベースを、MySQLコンテナイメージを使用してタスクを実行するAmazon Elastic Container Service(Amazon ECS)クラスターに移行する。
正解: A. 既存のRDS for MySQLデータベースをAurora Serverless v2 MySQLデータベースクラスターに移行する。
解説
株式市場の動向を追跡する金融サービス向けアプリケーションにおいて、週に2時間しか使用されないが、その期間中は高い可用性(HA)が必須という要件を満たす最もコスト効率の良いソリューションは、選択肢A(Aurora Serverless v2 MySQLへの移行)です。以下に詳細な分析を示します。 ■ 主な要件と評価基準 ・可用性(HA):2時間の稼働期間中にゼロダウンタイムを保証(例:データベース障害や手動フェイルオーバー不要) ・コスト効率:アプリケーションが非稼働となる週166時間の間のコストを最小化 ・運用簡易性:毎週の手動操作(例:インスタンスの起動/終了)を回避 ■ 各選択肢の検討 選択肢A:Aurora Serverless v2 MySQL ・可用性:デフォルトで3つのAZにまたがるマルチAZ構成+自動フェイルオーバーを備え、高い可用性を実現 ・コスト効率:秒単位課金で、アイドル状態(接続なし)が約5分続くとスケールダウンし、最終的にACU(Aurora Capacity Unit)を0まで削減可能。実際の週間コストは約0.24ドル(2時間稼働時) ・運用性:インスタンス管理やフェイルオーバー設定などの手動作業が不要 選択肢B:Aurora MySQL(プロビジョニング型) ・可用性:マルチAZ構成により高い可用性を確保可能 ・コスト効率:常に稼働しているため、週168時間分の料金(約17.54ドル)が発生。週2時間の利用には極めて非効率 選択肢C:EC2 + Spot Instance ・可用性:Spot Instanceは2分前の通知で強制終了される可能性があり、単体ではHAを保証できない。HAを実現するには、最低でも2つのマルチAZ Spot Instance+Route 53ヘルスチェックなどによるフェイルオーバー機構が必要で、運用負荷とコストが大幅に増加 ・コスト効率:単純な2時間利用なら低コストだが、HA対応のための冗長構成や自動化スクリプト導入により、総コストと複雑さが急増 選択肢D:ECS + MySQLコンテナ ・可用性:HAを実現するには、マルチAZのECSクラスター+MySQLコンテナの自動スケーリング+タスク配置戦略など、高度な設計と運用が必要 ・コスト効率:Fargate利用でも2時間分のコストはわずかだが、HA対応のための追加リソース(例:ロードバランサー、ヘルスチェック、バックアップ)や運用オーバーヘッドが大きくなる ■ 選択肢Aが最適な理由 ・コスト:このユースケースでは、プロビジョニング型Aurora(17.54ドル/週)と比較して、Aurora Serverless v2(0.24ドル/週)は約98%のコスト削減を実現 ・可用性:プロビジョニング型Auroraと同等の信頼性を、手動設定なしで提供 ・運用性:DBインスタンスのサイズ変更、フェイルオーバー、パッチ適用などすべてAWSが自動管理 ■ 実装ステップの概要 1. AWS Database Migration Service(DMS)を用いて、RDS for MySQLからAurora Serverless v2へのマイグレーション(最小停止時間) 2. Auto Scaling設定:最小ACUを0(アイドル時に完全停止)、最大ACUをピーク負荷に応じて設定(例:10 ACU) 3. フェイルオーバー検証:AZ障害をシミュレートし、30秒以内の自動復旧を確認 4. コスト監視:AWS Cost Explorerで実際の支出を追跡・検証 ■ 結論 選択肢Aは、週2時間の利用という特殊なワークロードに対して、高い可用性、実質ゼロのアイドルコスト、そして最小限の運用負荷を同時に実現する唯一のソリューションです。他の選択肢は、可用性の担保(C、D)またはコスト効率(B)のいずれかを満たせず、要件を完全には満たしません。