5
我想允許用戶開始需要,只有當它的EC2實例開始從AWS LAMBDA EC2實例。超時而使用boto3
所以我創建了一個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": "*"
}
問題是,當我執行拉姆達我得到定時出。
BTW在同一個VPC和相同權限內運行完全相同的EC2代碼,立即返回。
有什麼想法?
您是否爲Lambda函數啓用了VPC訪問? –
您是否在Lambda中設置了適當的IAM角色+用戶 http://docs.aws.amazon.com/lambda/latest/dg/setting-up.html 您可能需要將資源庫設置爲「」 arn:aws:ec2:accoun-id:user-name「 lamdba腳本還需要特定的用戶憑證來確定資源 – mootmoot
我將lambda的VPC配置爲與EC2實例相同 – Michael