AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 975387
Accepted
Hooman Bahreini
Hooman Bahreini
Asked: 2019-07-16 21:02:10 +0800 CST2019-07-16 21:02:10 +0800 CST 2019-07-16 21:02:10 +0800 CST

管理 AWS 测试和生产环境

  • 772

在 AWS 中分离生产环境和测试环境的最佳实践是什么?

我可以想到 2 个选项(假设我的网站名为:blue-sky.com)

  1. 创建 2 个 AWS 账户:blue-sky 和 ​​test-blue-sky(在 Test Account 下创建一个 Test User,在 Prod Account 下创建一个 Prod User)。

  2. 创建 1 个 AWS 账户:blue-sky。创建 2 个用户,产品和测试。测试用户可以访问测试服务器,而产品用户可以访问产品服务器。

哪个更好?任何替代方法?


上述两种情况都有相同的缺点。假设我们的发布经理可以访问测试和生产服务器。他想炸毁测试服务器,因为他拥有两种环境的凭据,他错误地使用 Prod 凭据登录并删除了 Prod Server。

amazon-web-services
  • 2 2 个回答
  • 75 Views

2 个回答

  • Voted
  1. Best Answer
    MLu
    2019-07-16T23:44:22+08:002019-07-16T23:44:22+08:00

    如果你想做正确的事,那就更进一步。

    • 首先关于您的用户帐户。

      1. 拥有 3 个帐户 - login、test和prod。您的所有IAM 用户都仅在登录帐户中,并且他们都启用了 MFA 以确保安全。

      2. 在test和prod账户中,您只有IAM角色,可以从登录账户中承担。

        查看跨账户访问以获取更多详细信息。

    • 接下来是您的部署。

      不要担心使用Prod凭据进行测试- 您的Prod 部署应该通过 CI/CD 完全自动化,并且您永远不需要登录到 Prod 帐户来手动进行部署。

      将 CloudFormation与AWS CodePipeline、 CodeBuild和CodeDeploy结合使用来自动化您的构建和部署。或者使用其他一些工具,如Jenkins、GoCD等,只要对 Test 和 Prod的部署是从同一个 CI/CD 管道完成的,这并不重要。

      事实上,在 Test中会有一些情况,您必须登录到控制台来测试某些东西、调试某些东西等。但这将在 Test通过您的自动化升级为 Prod之前确定。

    这样,您将拥有100% 一致且可复制的部署,并且您不必担心犯下会导致生产环境崩溃的错误。

    希望有帮助:)

    • 1
  2. Tim
    2019-07-17T00:13:18+08:002019-07-17T00:13:18+08:00

    简短的一般回答:每个环境一个帐户可以降低风险,减少达到限制的机会,并提供最佳隔离。

    --

    更长的答案:这个问题没有一个答案,但这里有几个选项:

    • 每个环境每个应用程序一个帐户。工作负载和用户的最佳隔离、最低风险、最小的测试账户最大化和达到 AWS 限制的机会。保护和监控一切需要付出更多努力,并且网络成本可能更高。

    • 每个应用程序一个帐户,每个 VPC 一个环境。良好的应用程序间隔离,但应用程序容易受到用户问题、限制等的影响。您可以使用标签和策略解决用户访问问题,但工作量更大。关于成本的评论与上述相同,但略少。

    • 每个应用程序或每个环境每个应用程序一个帐户,一个 VPC。易于设置,需要更多工作才能做好隔离。达到极限的风险更高。

    • 一个账号,一个VPC,多个应用。你可以看到这是怎么回事——基本上又是更高的风险。

    在所有情况下,粗心的用户都有删除错误资源的风险。像 MLu 建议的自动化部署是减轻这种风险的一种方法。

    对任何服务器/云的任何重要部署都应该有一个好的备份策略。一些金融法规要求存储在云中的所有数据必须存储在第二个位置,例如组织拥有的数据中心的本地。对于我自己的个人部署,我每晚备份到 S3,将 S3 同步到我的 PC,并进行异地存储的增量备份。

    • 1

相关问题

  • 与 AWS 中的其他系统相比,CentOS 报告的总内存较低

  • 如何在 Amazon Linux 服务器上升级到 Java 1.8?

  • 了解 Amazon AWS 使用数据

  • 亚马逊提供的负载均衡服务体验如何?

  • ELB 中现有节点的 AWS 自动缩放问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve