组织多个项目 (AWS)

Gia*_*nMS 9 cloud development-environment production-environment amazon-web-services

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

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

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

  • 每个项目都必须有一个登台和生产环境。
  • 每个项目都是相互独立的,因此不可能从另一个项目(即 VPC 和 S3 Buckets)中看到一个项目的资源。
  • 客户负责支付项目(暂存和生产环境)的费用。
  • 即使客户负责支付账单,我们也必须能够访问环境以部署我们的代码并执行与开发、测试和运营相关的其他任务。
  • 我们可以为每个项目分配一个开发团队。开发人员应该可以同时参与一个或多个项目。另外,应该可以在项目之间移动我们的开发人员并从项目中删除他们的访问权限。

AWS 中项目的理想组织

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

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

Joh*_*ein 8

您希望将特定于项目的费用支付给客户并且您希望每个项目都是独立的,这一事实表明您的最佳选择是为每个项目(或每个客户)使用单独的 AWS 账户

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

  • 每个帐户只会有与特定项目相关的成本
  • 每个帐户中的资源将分开保存
  • 每个帐户中的用户权限将分开保存
  • 您可以在同一个帐户中创建临时环境和生产环境(见下文)

您可以使用AWS Organizations将多个账户连接在一起:

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

一些公司更进一步,还在单独的 AWS 账户中保留暂存和生产。他们这样做是因为他们希望使生产资源和用户远离非生产资源和用户。这减少了某人在打算更新 Staging 时意外更改 Production 的可能性。虽然您可以使用 IAM 权限来减少这种情况的发生,但将暂存和生产保存在单独的账户中可以确保只有暂存权限的人无法影响生产。

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

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

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