我希望用户只在需要时启动EC2实例。
因此,我创建了一个Lambda函数来实现这一点:
import boto3
def lambda_handler(event, context):
ec2 = boto3.resource('ec2', region_name='eu-central-1')
return ec2.instances.filter(InstanceIds=['i-abc123']).start()
我已添加以下IAM权限:
{
"Effect": "Allow",
"Action": [
"ec2:StartInstances"
],
"Resource": "arn:aws:ec2:*"
},
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances"
],
"Resource": "*"
}
问题是当我执行 Lambda 时,它会超时。
顺便提一下,在同一 VPC 和相同权限的 EC2 中运行完全相同的代码会立即返回。
有什么想法吗?