あるゲーム会社は、ランキングボードサービスを以下の構成で AWS 上に運用しています。 ・Application Load Balancer ・Auto Scaling Group(EC2 m5.large、最小 4 台・最大 20 台) ・Amazon RDS PostgreSQL db.r5.large(マルチ AZ 構成) アクセスパターンの分析では、読み取り:書き込みの比率が 100:1 であることが判明しています。アプリケーション層(Auto Scaling Group)は短時間の中断と自動リトライを許容できる設計です。AWS Cost Explorer のレビューにより EC2 と RDS のコストが想定より大幅に高いことが分かりました。コストを最も効果的に削減できる変更を 2 つ選択してください。
読み取り:書き込み比が 100:1 であること、アプリケーション層が中断耐性を持つことが最適化のポイントです。 選択肢A(ElastiCache for Redis の導入)が正解の一つです。RDS への読み取り負荷を大幅に削減でき、インスタンスタイプのダウングレードも可能になり、RDS コストを削減できます。 選択肢B(RDS Performance Insights)はスロークエリの特定・分析ツールです。パフォーマンス改善には役立ちますが、直接的なコスト削減には繋がりません。 選択肢C(Spot Instance の導入)が正解の一つです。アプリケーション層が中断耐性を持つため、オンデマンド比最大 90% 割引の Spot Instance を安全に活用できます。capacity-optimized アロケーション戦略(※空き容量が最も多いスポットプールを優先的に選ぶ割り当て戦略)により中断リスクをさらに低減できます。 選択肢D(RDS シングル AZ 化)はコスト削減になりますが、ミッションクリティカルな本番環境から Multi-AZ を除去すると可用性が著しく低下するため不適です。 選択肢E(Aurora PostgreSQL マルチマスター)は、Aurora Multi-Master 機能が Aurora MySQL 専用であり Aurora PostgreSQL では提供されておらず、また Aurora MySQL のマルチマスター機能も 2023 年末に廃止されているため、現在は利用できない構成です。