首页 > 解决方案 > 在用户 AWS 账户上运行计算

问题描述

我有一个 Node.js 和 Vue.js 项目,用户将在其中提供他的 AWS 凭证、指向一些在线资源(存储大量数据)的指针,以及一些关于这些数据的算法在用户提供的 AWS 账户上运行。

为此,我有两个困难,我想寻求一些帮助。

首先,我想在云中部署一些简单的 javascript 代码,以测试一切是否正常。最简单的方法是什么?aws-sdknpm包如何aws-lambda帮助我?我是否必须提供我的借记卡详细信息才能使用 AWS 来进行快速测试?

第二件事是,是否有 AWS 提供的授权库/工具,例如 Facebook,所以用户只需在窗口中输入他/她的用户名和密码,他/她就会自动获得授权(使用 OAuth,可能就是这样他们正在使用什么)。

此外,我将不胜感激有关如何解决此问题的一般建议,如何在云用户帐户的大量数据上运行代码?也许另一个云平台更合适?谢谢!

标签: javascriptnode.jsamazon-web-servicescloud

解决方案


这是一个很大的问题。因此,我将为您提供一些建议,以供您进一步阅读:

  • 首先,决定您的 web 应用程序是基于服务器(EC2、Node.js 和 Express)还是无服务器(CloudFront、API Gateway、Lambda 和 S3)
  • 了解如何使用 Cognito 作为获取与社交提供商登录(例如 Facebook 或 Google)相关联的 AWS 凭证的一种方式
  • 要在另一个用户的 AWS 账户中操作,您应该利用跨账户 IAM 角色(他们创建一个角色并授予您代入该角色的权限)
  • 在针对大量数据运行代码的问题上,这些数据的存储库通常是 S3 或者在某些情况下可能是 Redshift,计算环境可以是 Lambda(短生命周期,无服务器)、EMR(集群 Hadoop、 Spark 等)、EC2(vanilla VM)、Athena(对 S3 中的内容进行 SQL 查询)或 ECS(容器)。您没有提供足够的信息来帮助决定哪个可能更合适。

最简单的测试选项可能是 S3(用于存储)和 EC2(在免费层中使用 t2.micro 实例,就像在任何其他 Linux 环境中一样部署您的 Web 应用程序)。

是的,要使用 AWS,您需要一个帐户,而要获得一个帐户,您需要提供一张信用卡。但是,您的第一年有大量的免费套餐。


推荐阅读