如何在AWS中组织项目?

时间:2019-05-31 04:23:52

标签: amazon-web-services cloud development-environment production-environment

在我们的团队中,我们使用AWS作为主要的云提供商,目前,我们在其平台上托管了3个项目。

在接下来的几周中,我们将再有2个项目,但是首先,我们要组织我们的项目,因为我们目前的组织有点混乱。

我们希望我们的项目按照以下规则进行组织:

  • 每个项目都必须具有暂存和生产环境。
  • 每个项目彼此独立,因此不可能从另一个项目(即VPC和S3存储桶)中看到一个项目的资源。
  • 客户负责支付项目账单(阶段和生产环境)。
  • 即使客户负责支付账单,我们也必须能够访问环境来部署我们的代码以及执行与开发,测试和操作相关的其他任务。
  • 我们可以为每个项目分配一组开发人员。开发人员应该可以同时处于一个或多个项目中。另外,应该可以在项目之间移动我们的开发人员,并从项目中删除他们的访问权限。

Ideal organization for projects in AWS

那么,是否可以根据前面提到的规则在AWS中组织项目? 如果是这样,有什么好的资源来学习如何做到这一点? 如果不是,那么哪些云提供商允许我们按照自己的方式组织项目?

感谢您的关注和时间。我期待您的答复。

1 个答案:

答案 0 :(得分:1)

您希望向客户收取特定于项目的费用,并且希望每个项目都独立,这一事实表明,最佳选择是为每个项目使用单独的AWS帐户(或每个客户)。

通过将项目保存在单独的AWS账户中:

  • 每个帐户仅具有与特定项目相关的费用
  • 每个帐户中的资源将分开保存
  • 每个帐户中的用户权限将分开保存
  • 您可以在同一帐户中创建过渡和生产环境(请参见下文)

您可以使用AWS Organizations将多个帐户关联在一起:

  

AWS Organizations是一个帐户管理服务,使您可以将多个AWS帐户合并到您创建和集中管理的组织中。 AWS Organizations包括账户管理和合并账单功能,使您能够更好地满足业务的预算,安全性和合规性需求。作为组织的管理员,您可以在组织中创建帐户,并邀请现有帐户加入组织。

一些公司更进一步,并且在单独的AWS账户中进行登台和生产。他们之所以这样做,是因为他们希望使生产资源和用户远离非生产资源和用户。这样可以减少某些人在意欲更新暂存时意外更改生产的机会。尽管您可以使用IAM权限来减少此类事件的发生,但是将暂存和生产保持在单独的帐户中可以确保仅具有暂存权限的人将不会影响生产。

您的公司应保留所有帐户的所有权,以便您可以管理和控制它们。每个月,您都会收到一份合并帐单,但其中会显示按帐户细分的费用。因此,您将知道向客户收取多少费用。

开发人员将需要分别登录每个AWS帐户。因此,如果他们希望从事Project 1,则需要登录到Project 1的AWS账户。然后,他们可以访问Project 1中的资源,但不能访问其他任何项目。当他们希望从事另一个项目时,他们将需要使用该另一个项目的AWS账户的凭证重新登录。您可能会认为这增加了额外的工作,但同时也增加了额外的安全性,并确保每个客户端的资源完全分开。

使用单独帐户的最终好处是,将来,如果客户希望控制他们的系统,您可以将AWS帐户分配给他们,而无需执行任何工作来将其资源与其他资源分开客户。就像交出房子的钥匙一样,它们可以搬进去而无需任何人搬出。