正確答案: 將資料庫遷移到 Amazon Aurora MySQL DB instance。建立 Web 應用程式的 AMI。將 AMI 套用到啟動範本。使用該啟動範本建立一個 Auto Scaling group。將啟動範本配置為使用 Spot Fleet。將 Application Load Balancer 附加到 Auto Scaling group。.
為什麼這是答案
正確答案提供了最全面且具成本效益的擴展解決方案。將資料庫遷移到 Amazon Aurora MySQL 可提供高性能、高可用性和可擴展性,優於單一 EC2 上的 MySQL。建立 AMI 並將其應用於啟動範本,然後與 Auto Scaling group 結合,可確保應用程式層的自動擴展和高可用性。使用 Spot Fleet 可顯著降低 EC2 成本,同時仍能滿足容量需求。Application Load Balancer (ALB) 負責將流量均勻分配到 Auto Scaling group 中的實例,並提供高可用性。
其他選項的不足之處在於:
第一個選項使用兩個 EC2 實例和 ALB,雖然有所改善,但缺乏自動擴展和成本優化(Spot Fleet)。
第二個選項使用 Route 53 權重型路由,這不是自動擴展的解決方案,且手動管理多個實例不具效率。
第三個選項嘗試使用 Lambda 函數和 CloudWatch 警報來停止和更改實例類型,這是一種手動且效率低下的擴展方法,會導致停機,並且無法處理流量高峰時的快速擴展需求。