繁体   English   中英

如何隔离 AWS 中的环境?

[英]How to isolate environments in AWS?

我有一个新的 Web 应用程序,在我们公司,我们决定如下所示,我是第一次创建架构,因此需要一些输入。

1) 前端 - React.js

2) 后端 - Java (Spring boot)

3)架构——微服务

4) 基础设施 - AWS

5)CI - 詹金斯

我们将开发分为三个阶段

阶段 1 - 使用 Spring Boot 和 Spring Cloud 创建 AWS 基础设施、前端服务和少数后端服务。 尽可能少地使用 AWS 服务

第 2 阶段- 创建更多后端服务并dockerize 一切

第 3 阶段- 使用 Kubernetes 协调前一阶段,并在需要时使用更多 AWS 服务

我处于第 1 阶段,在浏览了大量资源和学习材料后,在创建生产级架构和 AWS 环境方面需要帮助。 有很多单独的资源,但没有找到太多关于真实系统在运行时应该是什么样子的。

如何隔离环境?

我的理解 - 创建将有 5 个帐户的组织 - root、security、shared-services、prod 和 non-prod aws 帐户。 如果需要,非产品可以有多个环境,如测试、阶段。

像这样的东西

在此处输入图片说明

这是一个好方法吗? 给定多个帐户,它会在部署或其他活动中导致任何问题/复杂性吗?

问题中提到了我想要实现的详细信息: AWS 中的生产级微服务架构

我不确定网络上是否有任何可用的资源可以参考来解释它。 如果有人有,我很乐意通过它们。

是的,在我的工作中,我们使用相同的机制,其中所有用户都存储在一个 AWS 账户中,每个产品都有自己的开发、暂存和生产 AWS 子账户。 开发人员在他们自己的帐户中承担角色。

在过去的 3 年里,我们一直在这样做。

我能想到的好处,

  1. 易于添加或删除开发人员并将帐户分配给特定帐户
  2. 资源被环境隔离
  3. 您可以避免命名冲突,例如我们可以在所有三个环境中命名一个 lambda Pricing-calculate

我记得这个设置的唯一困难是,当我们使用一些 cli 命令(例如serverless ,它每次都询问MFA代码。 我必须为当前终端 shell 中的凭据设置环境变量以避免它而不是使用配置文件。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM