【问题标题】:How to isolate environments in AWS?如何隔离 AWS 中的环境?
【发布时间】:2020-04-28 05:18:50
【问题描述】:

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

1) 前端 - React.js

2) 后端 - Java (Spring boot)

3) 架构 - 微服务

4) 基础设施 - AWS

5) CI - 詹金斯

我们将开发分为三个阶段

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

第 2 阶段 - 创建更多后端服务并将所有内容 docker 化

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

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

如何隔离环境?

我的理解 - 创建将有 5 个帐户的组织 - 根、安全、共享服务、产品和非产品 aws 帐户。如果需要,非产品可以有多个环境,例如测试、阶段。

类似的东西

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

有问题提到了我想要实现的详细信息: Production Grade microservices architecture in AWS

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

【问题讨论】:

    标签: java spring amazon-web-services spring-boot microservices


    【解决方案1】:

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

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

    我能想到的好处,

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

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-08-19
      • 2017-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-17
      • 2016-01-08
      • 1970-01-01
      • 2019-12-25
      相关资源
      最近更新 更多