亚马逊网络服务(AWS)架构

时间:2014-03-02 16:04:46

标签: amazon-web-services amazon-ec2

我是AWS的新手,希望在我潜入之前对此有所了解。

我在asp.net和SQL数据库上构建了一个基于Web的小型企业。我想把它转移到AWS。我仍然试图熟悉AWS,并且已经阅读了很多内容。

我应该: 1)在RDS上托管我的数据库 2)在S3上托管网站(asp.net)文件 3)在EC2实例上运行应用程序

这是相当标准吗?我知道如何做1和2但不知道如何链接#3。如果那是我应该采取的路线。

谢谢!

2 个答案:

答案 0 :(得分:3)

很大程度上取决于你的具体情况,但这是我的一些想法:

1 - 在RDS上托管你的sql db很好,直接在你的ec2实例上托管数据库同样很好,甚至可能使用免费版本的sql server(sql express)。适用于中低流量站点。对于这样的网站,它将工作得很好,并不是一个糟糕的开始方式。如果你不想自己管理数据库,并且你可以花费额外的成本,那么使用RDS没有任何问题(技术上可能是更好的解决方案);您也可以选择在ec2实例上使用本地SQL Sever数据库进行升级,只有当您需要或想要时才进行升级。

2您无法在S3上托管基于asp.net的网站,S3可以托管静态网站,但asp.net不是一个选项; asp.net需要一个后端服务器来提供它,所以S3不合适。但是,您可以从S3提供某些资产,即图像,css文件和JavaScript文件;您还可以使用他们的CDN Cloudfront将这些资产推向全球 - 这对于asp.net网站来说是一个合适且善用的S3。

3如果您使用的是asp.net,那么如果您计划使用aws,那么您几乎必须在ec2实例上运行您的网站...没有其他选择;他们不提供共享主机方案(ala discountasp.net)。

答案 1 :(得分:1)

执行托管应用程序似乎最方便的方法是使用 AWS Elastic Beanstalk 。它使您的事情变得非常简单,并且支持.NET

Elastic Beanstalk可以轻松设置RDS,EC2,负载均衡器(ELB),标记静态文件以便快速服务等。代码部署和版本管理也非常简单。

更多细节: Creating and Deploying AWS Elastic Beanstalk Applications in .NET

此外,如果您需要进一步的页面加载速度,您可以在AWS S3和AWS Cloudfront上托管静态文件。您可以使用此路由来保留静态文件(图像,JS,CSS等)。在此处阅读更多内容:Hosting a Static Website on Amazon S3

我最近写了一篇博文来解释这种方法。 Easy webapp on AWS