aws lambda python函数重新启动ec2实例不工作

aws lambda python函数重新启动ec2实例不工作,python,amazon-ec2,aws-lambda,reboot,Python,Amazon Ec2,Aws Lambda,Reboot,我有一个Lambda函数来重新启动实例: import boto3 region = 'us-east-1' instances = ['i-xxxxxxxxxxxxxxxxxxxxxxxxxx'] ec2 = boto3.client('ec2', region_name=region) def lambda_handler(event, context): response = ec2.reboot_instances( InstanceIds=[

我有一个Lambda函数来重新启动实例:

import boto3
region = 'us-east-1'
instances = ['i-xxxxxxxxxxxxxxxxxxxxxxxxxx']
ec2 = boto3.client('ec2', region_name=region)

def lambda_handler(event, context):
    response = ec2.reboot_instances(
        InstanceIds=[
        'i-xxxxxxxxxxxxxxxxxxxxxx',
    ],
    )
    print(response)
它就是不起作用

触发时的响应:

{'ResponseMetadata':{'RequestId': “12994c92-98ab-4b62-bc10-A0E0B4881AA”,“HTTPStatusCode”:200, 'HTTPHeaders':{'x-amzn-requestid': “12994c92-98ab-4b62-bc10-A0E0B4881AA”,“内容类型”: 'text/xml;charset=UTF-8','content-length':'231','date':'Sun,30 2020年8月15:44:40格林尼治标准时间,“服务器”:“AmazonEC2”},“重试尝试”:0}

有趣的是:如果我将ec2.reboot_实例更改为ec2.start_实例,那么它就可以工作了

因此,我试图找出为什么会拒绝重新启动命令,而接受启动/停止命令


注意:我在IAM中包含了重新启动实例的权限。该实例是一个linux openvpn服务器AMI包

我使用了与您相同的代码,您只需再检查一步: 在为Lambda分配的IAM帐户中添加“RebootInstances”访问权限。 如果您按照文档创建IAM策略,它将如下所示:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "arn:aws:logs:*:*:*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:Start*",
        "ec2:Stop*",
        "ec2:Reboot*"   // <-----Add this
      ],
      "Resource": "*"
    }
  ]
}
{
“版本”:“2012-10-17”,
“声明”:[
{
“效果”:“允许”,
“行动”:[
“日志:CreateLogGroup”,
“日志:CreateLogStream”,
“日志:PutLogEvents”
],
“资源”:“arn:aws:logs:**”
},
{
“效果”:“允许”,
“行动”:[
“ec2:启动*”,
“ec2:停止*”,

“ec2:重新启动*”//您确定它不工作吗?检查CloudTrail以查看API操作是否为firedSo您有200个响应是否可以在再次调用lambda后使用bellow命令>正常运行时间检查服务器启动时间?因此,您有200个响应是否可以在再次调用lambda后使用bellow命令>正常运行时间检查服务器启动时间?您说它与
start\u实例()一起工作
--这是否意味着实例处于停止状态?您如何确认重新启动是否工作?我认为它不会出现在系统状态,您需要连接到实例才能知道它是否工作。@ChrisWilliams感谢您的回复。创建了cloudtrail日志,但它不会记录任何操作。