我的公司(一家没有客户或外部接口的内向型机构)几年前将所有运营从本地数据中心转移到 AWS,主要是转移到少数几个大型 AWS 账户(网络、管理、计费、沙盒、开发、测试、生产)。开发人员在初始设置中很难进行创新,因为由于这些账户的共享性质,IAM 策略和服务白名单必须非常严格。
因此,我们现在最忙的事情是引入更多帐户,例如每个产品或开发团队一个开发/测试/生产帐户三元组。使用一些关键帐户为这些产品帐户(网络 VPC 提供、安全扫描、日志/报告等)创建护栏。每个开发团队的单独帐户三元组意味着他们所做之事的波及范围将更容易通过帐户间防火墙、安全组等进行控制……一旦开发人员获得他们的帐户,他们还会获得一个管理员帐户以更自由地探索,如果他们做了一些可疑的事情(例如一台机器将所有端口开放到 0.0.0.0/0),我们会立即让 Turbot.com 清除流氓资源/帐户。
看起来很容易,但由于某种原因,我们的第三方帐户/计费提供商(我不会在这里提及)在为我们提供新帐户方面遇到了挑战(我们在内部启动新项目/应用程序时谈论了数十个帐户三元组)。
我对以下几件事感到困惑:
- 为什么我们的内部云团队不直接从 AWS 购买账户?
- 他们不能迅速提供新账户,可能存在什么问题?
- 这项服务有何复杂之处?
- 它们是如何构建的?
- 他们如何提供安全性、IAM 和维护我们的根凭证?我知道我们被限制创建具有他们为自己保留的某些名称的角色和策略
- 如何才能像他们那样自动化第三方 AWS 帐户配置?我知道他们拥有我们每个帐户,并且账单会汇总到他们拥有很大控制权的特定帐户中。
我试图了解他们所做工作的复杂性以及是否有其他途径。作为一名开发人员,我已经在内部等待了数周的账户,我正在寻找答案。在我看来,这就像过去任意决定的繁文缛节。
答案1
- 为什么我们的内部云团队不直接从 AWS 购买账户?
他们可能会获得折扣。这些大型“账单整合提供商”每月向客户开具数百万美元的发票,为此他们从 AWS、Azure 等公司获得可观的折扣,并将其中一部分转嫁给客户。通常您可以获得大约 5% 的折扣。
最大的缺点是他们从技术上来说拥有您的账户,并且根据计费提供商和配置,您可以做什么和不能做什么可能会受到很大限制。通常,您无法创建子账户,正如您自己所见,您通常无法直接查看计费数据(例如 AWS Cost Explorer),并且将被迫使用计费提供商的门户,您可能无法购买预留实例或支出计划,甚至无法直接订阅支持计划等。
我个人讨厌这些计费安排——小折扣不值得承受限制和生产力损失。但管理层通常只看到账单上的 5% 折扣,而看不到工程师为应对限制而花费的挫败感和额外时间。他们可能要付出比这 5% 的生产力损失更多的代价,但嘿,这不像发票上的折扣项目那么明显。
这就是我的解释;)