如何解决如何限制允许在AWS账户中启动的instance_types?
目标是将将来的EC2实例限制为仅以nitro
作为管理程序的类型(即run_instances
,modify_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.*"
]
}
}
这也许仍然是您想要的更多类型,但是以我的经验,您希望限制实例类型的范围不仅仅是使用特定虚拟机管理程序的实例类型。例如,通过实例的小时成本来限制实例。最终只剩下相对较少的一组字符串。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。