如何限制允许在AWS帐户中启动的instance_types



目标是将未来的EC2实例限制为仅使用nitro作为系统管理程序的类型(即run_instancesmodify_instance_attributes(。在AWS组织中处于服务控制策略(SCP(级别是理想的。

我已经写了一个脚本来收集所有硝基实例类型的列表,目前是225个实例类型或31代(例如i3en、m5n、c5d等(。这不太优雅。

我脑海中想象的是:

"Condition": {
"StringEquals": {
"ec2:InstanceType/Hypervisor": "nitro"
}
}

但我所知道的唯一可行的方法看起来类似于以下内容(所有2个

"Condition": {
"StringEquals": {
"ec2:InstanceType": ["t2.micro", "t2.small"]
}
}

不管是否有好的解决方案,感谢您花时间阅读本文。干杯

我认为SCP最简单的解决方案是使用带有StringNotLike的拒绝规则,该规则可以使用通配符:

"Effect": "Deny",
"Action": [
"ec2:RunInstances"
],
"Resource": [
"arn:aws:ec2:*:*:instance/*"
],
"Condition": {
"StringNotLike": {
"ec2:InstanceType": [
"t2.*",
"t3.*"
]
}
}

这可能仍然是您想要的更多类型,但根据我的经验,您希望限制实例类型,而不仅仅是那些使用特定hypervisor的实例类型。例如,通过实例的小时成本来限制实例。这最终是一组相对较小的字符串。

相关内容

  • 没有找到相关文章

最新更新