2017-04-26 166 views
-2

在我們公司,我們計劃通過AWS推出基於Web的平臺。我已經準備好了架構設計,我會請您提供有關如何改進它的反饋。很少有筆記..AWS架構設計

DATABASE

  • 我們一起去MariaDB的(主+其他AZ從)
  • 主數據庫只有accessable爲管理員寫/刪除/讀
  • 結束-users將所有從讀副本讀取(4個副本進行的跨2 AZ)
  • 萬事達= T2.micro
  • 讀副本= T2.small

ADMIN

  • 管理控制檯,將分隔的應用程序,在單獨的子域, 啓用SSL
  • 的管理控制檯是誰正在修改 用戶的主RDS數只有一個:最大10 :d
  • 的Web服務器:lighttpd /阿帕奇(評論?)
  • 機:T2.nano
  • (不需要更多的10個用戶,對吧?)

陣線(最終用戶)

  • 面前的將是服務於最終用戶的大量(高達10mio)
  • EC2機器將T2.small
  • Web服務器: Lighttpd的/阿帕奇(評論?)
  • 我們有很多用戶,但每個用戶只有1 PHP請求(1個PHP腳本 +選擇上RDS讀取副本)
  • 所有其他文件是靜態的,並將從我們的CDN提供(原產地 將EC2 T2.nano,因爲真的很低的低流量,只需在 爲了緩存新文件到CDN)
  • 當然EC2機器的前端將自動調節。 2個不同的AZ 被選中。 (在這種情況下是1個自動縮放組還是2組?)

備份和安全

  • 主數據庫將自動備份
  • 我們做管理員EC2 & CDN產地Web服務器
  • 沒有必要的自動快照用於Frontent EC2自動量程實例backuping,所有代碼 將自動使用來自Github的CodeDeploy部署

Here's the current arhitecture design diagram.

請幫助並提供一些反饋。什麼是瓶頸?我們錯過了重要的事情嗎?

+0

我只能強烈建議1件事。從一開始就從一切開始使用CloudFormation。稍後你會感謝你。 – Exelian

+0

謝謝,請看看它。 – urosz

回答

1

很難知道不知道關於你的使用情況不多,但幾件事情在我跳出:

  • 你說你會爲用戶服務的「很多」,但正在使用T2的組合.nanos,t2.micros和t2.smalls - 這可能成爲一個瓶頸。我認爲t2的測試/ dev和非常適合小生產負載。不是爲了服務'很多用戶' - 這可能很快就會變成瓶頸。
  • 考慮爲您的靜態資產來源使用S3存儲區而不是t2.nano實例,如果需要,可以更便宜,更輕鬆地擴展;這沒有任何缺點。
+0

關於您的想法的其他解釋和評論: - t2.nano將僅用於管理儀表板,最多10個用戶 - 另一個t2.nano僅作爲CDN77 cdn源的來源。 99,99%的內容將被緩存,所以認爲它是安全的 - 數據庫t2.micro將只用於管理員操作簡單的數據庫。最終用戶將全部通過只讀副本服務 – urosz

+0

您會推薦哪些實例類型而不是T2? – urosz

+0

從T2開始沒什麼問題 - 但是你問瓶頸可能在哪裏,並且基於我對你的需求知之甚少,這是我對你首先出現性能問題的猜測。所以,從T2開始,看看它們是否可以工作 - 如果你最終需要升級,試試更大的T2實例,然後我可能會轉向M6實例 - 它們對於通用目的需求有更多的權力。 –