這些問題的答案在很大程度上取決於您的應用程序的要求,您的預算以及您決定要管理的內容與您希望允許AWS進行管理的內容。不過,我會盡我所能回答這些問題。
1)是的。將數據庫與Web服務器分離(即2個不同的EC2實例)是有意義的,原因很多。這將允許您分別爲應用程序的每個層調整內存,CPU等資源。你不希望你的網絡和數據庫競爭相同的資源。另外,迫使你取下一個(網絡或數據庫)的問題不會強迫你取消另一個。如果您的數據庫存在於其中一個Web服務器上,並且您需要執行維護,那麼您的應用程序將實際上變爲脫機狀態,因爲在執行更新時會關閉數據庫。另外,理想情況下,您可以在VPC中的私有子網內保護數據庫服務器。如果您的網絡和數據庫位於同一臺服務器上,則它們都將位於公共子網中,因爲您需要訪問互聯網網關。
2)取決於。如果要維護對數據庫服務器的完全控制,請使用保留操作系統控制的EC2實例。如果您想利用多可用區域這樣的功能來實現高可用性,或者允許AWS爲您管理更新等功能,那麼RDS可能是一個不錯的選擇。成本也起着作用。對於像複製副本和多可用區這樣的東西,您將支付更多,但是您要購買性能和高可用性。因此,取決於您的要求。您可以在此處找到RDS的功能:RDS Product Details
3)對於在EC2實例(數據庫或Web)上運行的任何內容,或者如果您決定使用RDS,則可以根據需要調配並附加額外的存儲卷。您選擇的存儲類型取決於性能要求,預算以及您希望數據庫面對的工作量類型。亞馬遜提供了可用的存儲選項,以及在此添加更多存儲的部分:RDS Storage Options
如果您擔心太多請求壓倒EC2 t2.micro實例,請考慮創建ELB負載平衡器並設置自動擴展組,這將允許您在分配流量時根據需要擴展容量,以免任何一臺服務器不知所措。