【问题标题】:Starting an EC2 instance via AWS Lambda通过 AWS Lambda 启动 EC2 实例
【发布时间】:2019-06-26 17:26:52
【问题描述】:

我正在尝试在 AWS 上创建一个 lambda 函数来启动和停止 EC2 实例,但它给出了以下错误

botocore.exceptions.ClientError: An error occurred (UnauthorizedOperation) when calling the StartInstances operation: You are not authorized to perform this operation.

我应该采取哪些步骤来阻止此错误?我不是开发人员,只是想通过 EC2 运行一些 ML 模型。我阅读了有关创建 IAM 角色的内容,我使用完全 EC2 访问权限完成了该操作,但我不确定如何在 lambda 函数中使用相同的角色。任何人都可以指导我吗?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 aws-lambda aws-iam


    【解决方案1】:

    在创建 AWS Lambda 函数时,您为该函数分配 IAM 角色

    当函数进行 AWS API 调用时,它会使用 IAM 角色中提供的权限来调用其他 AWS 服务。

    因此,您应该:

    • 创建具有足够权限的 IAM 角色以使 Lambda 函数正常工作(但最好不要太多权限,因为这可能会造成安全漏洞)
    • 将 IAM 角色分配给 Lambda 函数

    您的函数至少需要ec2:StartInstances 权限。它可能还需要其他权限,具体取决于启动实例时使用的设置。

    【讨论】:

      猜你喜欢
      • 2018-12-19
      • 2013-04-20
      • 1970-01-01
      • 1970-01-01
      • 2018-04-18
      • 2016-08-20
      • 2020-06-19
      • 2019-08-03
      • 2016-11-22
      相关资源
      最近更新 更多