[英]Installing Gems on Amazon AWS with Elastic Beanstalk for non Rails ruby script
[英]AWS Elastic Beanstalk in a VPC with Amazon RDS
我想運行一個簡單的Ruby Rack應用程序(一種REST API),該應用程序接收來自iPhone客戶端的Internet請求,與PostgreSQL數據庫進行對話並以JSON進行響應。
我究竟是如何設置這對亞馬遜網絡服務(AWS)?
我希望該應用程序能夠擴展以服務於越來越多的客戶端,因此我認為我應該將Auto Scaling與Elastic Load Balancing結合使用。
我應該使用Elastic Beanstalk還是自己手動設置所有內容?
使用PostgreSQL設置Ruby Rack服務器時,“ 手動部署與Amazon Elastic Beanstalk ”問題如何適用?
默認與自定義VPC
我是否應該僅使用默認VPC並使用安全組來阻止直接Internet訪問EC2和DB實例? 或者,是否應該按照示例:使用Amazon RDS在VPC中啟動Elastic Beanstalk中所述創建一個自定義VPC並使用專用子網?
使用公共和私有子網的概念為您的AWS應用程序增加了一層奇妙的安全性。 通過將數據庫和應用程序服務器實例放置在專用子網中,您可以通過設計保護它們免受外部滲透和意外暴露。
我建議您首先在兩個可用區中配置一個VPC,每個可用區中有1個公共子網和1個私有子網(總共4個子網)。
在每個公共子網中放置一個NAT實例 ,並為您的私有子網更新主路由表,以將所有非vpc流量發送到NAT 。 這將允許啟動到您的私有子網中的實例與WAN Internet進行通信,即使它們本身不能公開尋址。
我建議您對Postgres部署使用多可用區RDS部署 ,並在每個可用區的專用子網中使用RDS實例。 這將最大程度地提高安全性(Postgres不能公開訪問),並為您提供容錯能力(AZ故障不會關閉您的應用程序)。
我將在Elastic Beanstalk上設置您的Ruby應用程序 。 這將為您提供容錯和自動縮放功能。 您的Elastic Beanstalk負載平衡器將位於每個可用區的公共子網中,而您的Elastic Beanstalk EC2實例將位於專用子網中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.