0

AWS看起來有點令人生畏,有太多重疊的服務,所以我正在尋找一些建議和方向。哪些AWS服務可以選擇適合的架構?

我們有,我們已經開發了一個同步服務器移動應用程序(即用戶註冊,同步數據保存在AWS)。目前,我們已經建立了一個帶有Web服務器,Django端點和postgres服務器的EC2實例。然而,我們需要以下條件:

  1. 確保服務可從 世界上不同地區以提高訪問速度
  2. 如果需要把Postgres的服務器EC2之外,我們還需要什麼樣的服務,以及如何將複製工作?
  3. 我們將分別存儲在S3較大的文件附件,但需要安全地做到這一點,對文件加密
  4. 最終,我們將舉辦一個web應用程序(即角2應用程序),將 連接到同一個數據庫。

我們還需要以最經濟的方式完成所有這些工作,然後隨着負載的增加而擴大規模。

請任何指導,將不勝感激。目前我正忙於術語。我們還設置了Amazon SSL證書,但需要使用Elastic Load Balancer,但我們只有一個EC2實例。我們怎樣才能讓這一切安全工作?

回答

1

根據所提供的信息,我建議你開始與AWS彈性青苗,在這裏同時爲您提供針對外部域映射一個DNS地址,將管理自動縮放和負載平衡。

  1. 爲了確保該服務可從不同地區獲得以加快訪問速度,可以使用Cloudfront緩存靜態Angular應用程序。然後,您將能夠將SSL證書添加到Cloudfront,而不是ELB。如果您計劃爲不同地區創建多個環境,則可以使用Route53進行基於地理位置的路由。
  2. 要使Postgres服務器在EC2之外,您可以使用AWS RDS,並支持同步複製,併爲多可用區域部署提供故障切換功能,並且如果您計劃在不同地區設置多個部署環境,則RDS中的Postgres還支持Cross Region Replication。您也可以創建只讀副本以提高將被異步複製的讀取速度。
  3. 您可以在S3使用使用密鑰從KMS或從客戶端AES256加密的文件和我會建議在S3的前使用Signed URLs用的Cloudfront服務這些文件,從而使客戶可以安全地直接訪問它們通過得到改善的性能來自分佈式緩存的優勢。
  4. 您可以在AWS S3和高速緩存使用的Cloudfront更快的接入主機的角度應用。另一種選擇是在Cloudfront中緩存靜態資產路徑,以便後續的對靜態資產的請求將從Cloudfront提供。

FAQs從亞馬遜

誰應該使用AWS彈性魔豆? 誰想要部署和AWS的雲分鐘 中管理他們的應用程序。你不需要雲計算的經驗 開始。 AWS Elastic Beanstalk支持Java,.NET,PHP和Node。js, Python,Ruby,Go和Docker Web應用程序。

+0

對2 - 故障切換複製的更正是嚴格同步的。您只能對只讀副本使用異步故障轉移,但多個AZ實例本質上是同步的(否則它將會是無用的)。 – Henry

+0

@亨利感謝您的建議。通過文檔進行驗證,我將相應更新更正。當時我在RDS上檢查Oracle時沒有同步複製,這對於Postgres – Ashan

+0

來說我認爲是一樣的啊,沒有。例如,mutli-AZ故障轉移副本總是同步的,但不能用於讀取等。異步如所述是隻讀副本:) – Henry

0

您當前的環境不可擴展(加載響應或其他區域)。如果你需要可擴展性,那麼它應該重新安排。這是很難爲你提供細節,因爲所需的環境依賴於應用程序的體系結構,但也有一些建議:

  • DB:爲了獲得更好的穩定性多AZ RDS設置爲DB建議。好處是RDS是完全託管服務,因此您無需擔心複製,維護等問題。
  • Web /應用程序服務器:您可以在任何需要的區域部署副本並連接到相同的數據庫。
  • S3:您可以啓用交叉區域複製以及加密,但要確保明智地使用它(例如,文件從最近區域的存儲區傳送到客戶端)
  • 您可以設置自己的SSL服務器,它不需要ELB。但是,您只能使用一個WebNode的ELB。
  • 我不建議使用Beanstalk,因爲儘管它確實讓第一步更容易,但在未來嘗試配置非標準的東西時可能會遇到麻煩(除非您對EBT非常熟悉)。
  • 要提高效率,您可能需要添加CDN(AWS或其他供應商)。

確保您的環境配置非常安全。您可能需要爲您的團隊熟悉AWS的人員,因爲每個主題都可以轉換爲單獨的文章。

+0

更正DB:RDS中的Postgres支持跨區域複製 來源:https://aws.amazon.com/about-aws/whats-new/2016/06/amazon-rds-for -postgresql-now-supports-cross-region-read-replicas/ – Ashan

+1

對於Web /應用程序服務器:不建議將Web服務器保留在一個區域中,並使用來自其他區域的數據庫服務器,這會由於跨區域延遲而嚴重影響性能。 請參閱:https://serverfault.com/questions/511325/aws-multi-region-setup-using-single-rds-instance 其推薦在Cloudfront或ELB 上進行SSL卸載請參閱:http:// stackoverflow.com/questions/43440757/ssl-offloading-on-aws-cloudfront-level/43441805?noredirect=1#comment73944768_43441805 – Ashan

+0

@Ahsan謝謝你的答覆和評論,這肯定有幫助。然而,您分享的鏈接似乎與我們想要實現的內容類似,我猜即使使用RDS,我們也會遇到性能問題,即我們有一個DB,其中寫入/讀取頻繁且需要更快的訪問來自美國和歐盟。我仍然不確定我們需要做什麼:/ – strangetimes