我们如何控制联邦用户启动的EC2实例数量?

pra*_*oon 6 federated-identity amazon-web-services amazon-iam

我有一个用例,我需要限制联合用户只启动一个EC2实例,是否有任何解决方法来在策略中设置这些东西.

小智 1

创建一个按计划运行的 lambda,以清理您的帐户并删除任何未正确标记的内容。

http://www.1strategy.com/blog/2016/02/23/use-aws-lambda-terminate-untagged-ec2-instances/

如果您的用户有多个标记的 ec2 实例,请保留最旧的实例。然后让您的用户知道,任何未正确标记或创建超过限制的资源都将被自动删除。大多数人会在创建一个 ec2 实例大约 5 或 10 分钟后被删除后才知道。

创建按计划运行的 lambda: https://medium.com/blogfoster-engineering/running-cron-jobs-on-aws-lambda-with-scheduled-events-e8fe38686e20

您可以在 lambda 函数中获取带有特定标签的 aws 资源,如下所示:https: //docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ResourceGroupsTaggingAPI.html#getResources-property

var params = {
  PaginationToken: 'STRING_VALUE',
  ResourceTypeFilters: [
    'STRING_VALUE',
    /* more items */
  ],
  ResourcesPerPage: 0,
  TagFilters: [
    {
      Key: 'STRING_VALUE',
      Values: [
        'STRING_VALUE',
        /* more items */
      ]
    },
    /* more items */
  ],
  TagsPerPage: 0
};
resourcegroupstaggingapi.getResources(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});
Run Code Online (Sandbox Code Playgroud)

此处的回调提供资源 Arn 以及与其关联的标签。从这里您可以让这些资源保留或删除它们。