gpt4 book ai didi

amazon-web-services - 在 AWS 中分离环境

转载 作者:行者123 更新时间:2023-12-04 08:08:17 27 4
gpt4 key购买 nike

是否有围绕 AWS 中分离环境的最佳实践?

我有一个使用以下服务的解决方案:

  • lambda
  • 社交网络
  • SQS
  • 动态数据库
  • API 网关
  • S3
  • IAM

  • 我们还没有生活,但我们正在接近。当我们上线时,我想要一个适当的生产、测试​​和开发环境,它们之间的隔离度“合理”。
  • 每个环境的单独帐户
  • 每个环境的单个账户和单独的 VPC

  • 我读了文章 AWS NETWORKING, ENVIRONMENTS AND YOU由慈善专业。我无法通过 VPC 进行分段,但我不知道我的堆栈中的所有服务都是 VPC 范围的?以下是我的一些要求:
  • 限制服务名称冲突(针对非全局服务)
  • 在环境之间建立非常清晰的界限
  • 最终,在环境级别授予权限

  • 我正在使用 AWS 组织。

    附言抱歉,如果这不是该问题的正确论坛。如果有更好的东西,请告诉我,我会移动它。

    最佳答案

    我建议每个环境使用一个 AWS 账户。原因,排名不分先后:

  • 安全 :管理复杂的 IAM 策略以在单个帐户中创建边界非常困难;相反,默认情况下每个环境一个帐户会强制限制:您可以启用跨帐户访问,但您必须非常慎重
  • 审计当所有事件都发生在同一个帐户中时,访问您的不同环境会更加困难
  • 性能 :在 VPC 与非 VPC 中运行时,某些服务的性能特征不同(即,在 VPC 中运行时 Lambda 冷启动增加了延迟)
  • 命名 :您必须为账户中的所有资源添加前缀或后缀,而不是使用 AWS 账户 ID 来标识您正在运行的环境 - 这是一个偏好问题,但尽管如此..
  • 合规 :如果您需要遵守某些合规标准,例如 HIPAA,它对您可以保留数据的时间以及谁可以访问数据施加了严格的限制,那么证明哪些数据是生产数据以及哪些数据是测试数据等变得非常困难。 (这可以追溯到上面的#1 和#2)
  • 成本控制 :在开发、测试、登台环境中,您可能希望给予人们相当广泛的权限以启动新资源,但设置较低的支出上限以防止意外使用高峰;相反,在生产帐户中,您将需要有限的资源启动能力但更高的支出上限;易于通过单独的帐户强制执行 - 在同一个帐户中没有那么多

  • 我错过了什么吗?可能!但这就是我使用单独帐户的原因。

    顺便说一句 - 我不主张反对使用 VPC。它们的存在是有原因的,您绝对应该使用 VPC 进行网络隔离。我要争辩的是,任何同时使用其他服务(如 DynamoDb、Lambda、SQS、S3 等)的人 - VPC 并不是真正隔离资源的方式,IMO。

    如果您使用的工具不够灵活,无法部署到不同的账户,我能想到的每个阶段一个账户的缺点主要是持续部署。

    最后,有些人喜欢将计费视为一个可能的问题,但实际上,您不想知道您在生产、暂存和开发上花了多少钱吗?!

    关于amazon-web-services - 在 AWS 中分离环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55285556/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com