Amazon web services 允许AWS IAM用户启动最大数量的实例

Amazon web services 允许AWS IAM用户启动最大数量的实例,amazon-web-services,amazon-ec2,amazon-iam,Amazon Web Services,Amazon Ec2,Amazon Iam,我想创建一个策略,允许IAM用户启动最大数量的实例(例如,5个)。我发现了这个问题,但它并不完全符合我的要求: 此答案将用户限制为仅一个实例,而不是固定数量 IAM似乎没有为此操作提供现成的支持。我一直在尝试计算此用户的实例数,并将其作为策略的一个条件,但我没有找到一种明显的方法。不可能将特定用户限制为特定数量的Amazon EC2实例。(有基于帐户的限制,但没有用户限制) 我建议您编写一个代表用户启动实例的应用程序,首先检查已在使用的实例数量。要跟踪谁启动了实例,请使用带有用户标识的标记。然

我想创建一个策略,允许IAM用户启动最大数量的实例(例如,5个)。我发现了这个问题,但它并不完全符合我的要求:

此答案将用户限制为仅一个实例,而不是固定数量


IAM似乎没有为此操作提供现成的支持。我一直在尝试计算此用户的实例数,并将其作为策略的一个条件,但我没有找到一种明显的方法。

不可能将特定用户限制为特定数量的Amazon EC2实例。(有基于帐户的限制,但没有用户限制)

我建议您编写一个代表用户启动实例的应用程序,首先检查已在使用的实例数量。要跟踪谁启动了实例,请使用带有用户标识的标记。然后,您可以授予用户使用其特定标记停止/终止任何实例的权限。(只需确保他们没有更改标签的权限。)


实际上,用户没有启动实例——您的脚本正在启动它们。

您不能直接限制IAM用户根据IAM策略创建数量有限的资源(EC2实例)
。解决方案是,如果用户超出给定的限制,您可以删除额外的实例。我遇到了一个更为棘手的问题,经过大量的研发,我通过AWS cloudTrail找到了一个解决方案来完成这项任务。 您可以使用AWS CloudTrail在特定区域或所有区域中使用S3 bucket配置跟踪以保存跟踪日志。要读取日志,可以使用AWS CLI命令,如下所示-

aws cloudtrail lookup-events --lookup-attributes AttributeKey=Username,AttributeValue=YourIAMuserID --region yourRegionName 2>&1;
通过此CLI命令,您将获得启动实例时创建的日志详细信息,您可以从结果数组中计算用户创建的实例数

您可以通过以下CLI命令终止实例,该用户不需要该命令-

sudo aws ec2 terminate-instances --instance-ids instanceId --region us-east-1 2>&1

有更多可能的方法来完成此任务,我正在使用此方法,它对我来说工作正常。

CloudTrail无法保存超过90天的日志。因此,使用CloudTrail来实现逻辑是不可靠的