AWS令牌自动售货机应该部署在自己的实例上,还是可以将其与我的应用实例合并?

时间:2012-05-17 10:19:26

标签: amazon-web-services

如果这是一个奇怪的问题,我很抱歉。我已经阅读了很多东西来使用亚马逊网络服务为iphone应用程序部署我自己的服务器。

我现在面临的问题是,我想使用令牌自动售货机系统来访问移动设备,以便从各自的帐户上传或检索内容。所以这是我想到的结构:

1)设备连接到TVM servlet以临时访问SimpleDB和S3。

2)设备现在将针对包含用户和密码的simpleDB域进行身份验证。

3)服务器将向设备发送唯一ID。

4)设备将使用此唯一ID在S3上传照片。

5)如果上传的响应成功,设备现在将添加一些信息,其中包括SimpleDB上的唯一ID和其他字段。

我的困惑是关于我需要的EC2实例。我想我可以使用一个带有servlet的java应用来完成大部分的这个过程,但如果我想使用令牌自动售货机进行身份验证我应该启动第二个实例吗?来自amazon本身的例子使用它自己的令牌自动售货机实例,只是获得直接访问数据库的授权。但我需要一些服务器端逻辑,这就是为什么我需要自己的服务器端处理来重定向这些上传和下载。

此外,如果有人能够如此友善地告诉我这个结构是否合理。我对服务器/数据库的东西都是新手,所以我真的不知道什么是好的结构。我已经阅读了我需要的亚马逊服务的最佳实践和技巧。但我仍然不确定。

感谢您的反馈和支持。

1 个答案:

答案 0 :(得分:1)

首先,这种结构是有道理的。恕我直言,你可以遵循至少两条路径:

1)使用Elastic Beanstalk执行单个部署 如果您选择此路径,我认为更简单的方法是遵循AWS的大多数Token Vending Machine for Identity Registration - Sample Java Web Application,修改源代码以添加服务器端逻辑,方法是更改​​当前的servlet代码或添加一个或多个新的servlet将完成这项工作。然后,您可以构建.war并使用Elastic Beanstalk直接部署它,遵循上面链接中的建议。一个基本概念是,您可以将Elastic Beanstalk视为“应用程序服务器即服务”,使您可以更轻松地部署多个部署方案。

2)使用您选择的应用服务器(Tomcat,JBoss,WebLogic等)启动一个或多个EC2实例。 通过这种方式,您可以更灵活地设计应用程序的部署(EC2实例很像云中的虚拟机,您可以在其中安装您想要的内容,配置防火墙规则等)。您可以a)在单独的实例中部署TVM,或者b)在与b.1相同的实例中将新应用程序或b.2)作为与服务器端逻辑相同的应用程序(类似于使用示例) Elastic Beanstalk)。您的选择实际上取决于您的应用程序的大小,预期的负载,代码与TVM之间的耦合以及其他因素。

你的问题非常笼统,你可以采用多种方法来完成你想要的任务,所以我想我会概述两条可能的路径,希望能帮助你迈出第一步。不要犹豫澄清任何不清楚的事情。希望它有所帮助。