Iis
在 AWS 上使用 SQL 2016 和 IIS 進行負載平衡和故障轉移
如果這個問題過於籠統,我深表歉意,但我只是想對我一直在計劃的設置進行健全性檢查。
現在我有一個在 AWS 伺服器上執行的應用程序,SQL 和 IIS 都安裝在同一台伺服器上,大約 4 GB RAM。沒什麼大不了的,我們似乎能夠輕鬆地處理大約 100 個並髮使用者。
我希望擴展到 1000 個並髮使用者,並引入一些災難恢復。我正在考慮的設置(全都在 AWS 心中)如下:
- IIS1:IIS 伺服器,在網路場中設置執行 windows 2016
- IIS2:IIS 伺服器,在網路場中設置執行 Windows 2016
- SQL1:SQL 伺服器,執行 windows 2016 和 SQL 2016,設置為 Always on Availability 作為主要
- SQL2:SQL 伺服器,執行 windows 2016 和 SQL 2016,設置為 Always on Availability 作為不可讀的輔助(用於故障轉移)
- SQL3:SQL 伺服器,執行 windows 2016 和 SQL 2016,設置為 Always on Availability 作為可讀輔助(用於負載平衡)
- DC 這只是一個通用域控制器,用於保持所有關聯伺服器的連結。該伺服器可能還安裝了 IIS 負載平衡,或者我可能只需要第三個 IIS 伺服器來單獨執行此操作。
將 SQL 伺服器提高到 16 GB RAM,並且 IIS 伺服器可能也有類似的設置。除非是網路場負載均衡器,否則不要期望 DC 上有大量流量。
所以我的主要問題是,這個設置看起來合理嗎?我錯過了我應該添加的任何內容嗎?我的部分想法是,如果這被證明還不夠,我可以根據我發現的瓶頸向伺服器場添加另一個 IIS 伺服器,或者類似於 SQL 伺服器。任何想法將不勝感激。
SQL Server 設置有點貴。因為您需要可用性組中的 3 個成員,並且您希望將讀取解除安裝到輔助伺服器,這意味著您將需要使用 SQL Server Enterprise Edition 授權其中至少 2 個成員。
我會用鉛筆勾勒出這種設置的成本,然後與管理層討論您的RPO 和 RTO 目標。(免責聲明:我關於該主題的部落格文章。)
一旦你查看了這些 SQL Server 的每月成本,像 Amazon RDS SQL Server 這樣更簡單的東西可能更有意義 - 特別是如果你真的不需要將讀取解除安裝到輔助伺服器。