Amazon EC2 实例,开发环境的可行选项和管理工具

Amazon EC2 实例,开发环境的可行选项和管理工具

我是一名自由职业者,计划在未来与其他自由职业者合作。由于我将拥有该项目,因此我也希望拥有开发环境。我们都将在各自的位置工作。我一直在考虑使用 Amazon 的 EC2 服务来搭建开发环境并向其他相关人员提供所需的访问权限。

考虑到以上情况,我有几个疑问:

  1. 首先,这是个好主意吗?创建虚拟机并将其(物理地)分发给团队成员是否更好?当然,在这种情况下我会失去控制权,数据很容易受到攻击。
  2. 我是否应该购买大型实例、安装所有需要的工具、创建用户并根据角色为他们提供访问权限?
  3. 我是否应该只购买大型/超大型实例,在实例内构建虚拟机,每个角色一个,并为每个用户实例化实例?我现在不确定访问将如何进行。如何才能直接访问在 EC2 实例内运行的虚拟机实例。
  4. 有一些工具可以帮助管理 EC2 实例和 EC2 API。但是,根据我上面解释的内容(特别是第 3 点),是否有工具可以帮助管理/监控其中的实例和虚拟机?

可能还有很多复杂情况我暂时想不出来。如果有人已经经历过,我将非常感激您的意见/指导。

答案1

选项 2 要求实例全天候运行(或至少在每个人的工作时间范围内)。这对你来说可能无关紧要。

我不确定选项 3 是否可行。您是在询问在 EC2 实例中安装 Xen(或其他程序)然后创建自己的“子虚拟”机器吗?

另一种选择是创建一个设置了开发环境的 EC2 映像(AMI),然后允许每个开发人员在想要工作时启动此 AMI 的实例。

好处:

  • 开发人员不会在共享机器上争夺计算资源(例如 CPU)。这对你来说可能并不重要。
  • 您可以修改图像(例如操作系统更新)并发布新的“版本”,而无需所有开发人员停机。
  • 由于您不需要全天候运行实例,因此可以节省成本。

缺点:

  • 潜在的增加成本,因为您可能运行 5 个实例(即 5 个开发人员同时工作)而不是 1 个。
  • 要求每个开发人员都能访问 AWS 账户。

如果您认为这适合您,那么可以通过多种方式解决 AWS 账户问题:

  • 每个开发人员都使用您的 AWS 账户。这是最简单的选择,但需要您信任他们。
  • 每个开发者都会创建自己的帐户并将账单转发给您。这会导致更多的“文书工作”,但如果您认为开发者不合法,您可以拒绝账单。
  • 每个开发人员都会创建自己的帐户,然后您可以使用AWS 整合账单使用同一张信用卡支付所有款项。

相信您可以授予对 AMI 的启动访问权限,而不必root在实例启动并运行后授予此人访问权限。但您需要仔细检查这一点,因为听起来您担心安全问题。

最后,这显然需要一些全天候运行的中央源代码存储库。这也是为什么这可能不是适合您的解决方案的原因之一。

相关内容