2016-02-12 115 views
5

enter image description hereAWS LAMBDA VPC訪問錯誤:「CreateNetworkInterface」

我想設置我的lambda來訪問我的VPC的EC2實例中的一個我蒙戈服務器。選擇所有的子網和安全組後保存 時,我得到以下錯誤「您沒有權限來執行。CreateNetworkInterface

我相信我需要對我的帳戶某種策略設置來允許這一點,但我有「AdministratorAccess」,我正在嘗試將IAM角色添加到我的帳戶。有誰知道我需要什麼政策/角色?

+0

您是否試圖啓動實例?錯誤消息與您正在嘗試執行的操作無關。 – helloV

+0

不,只是試圖設置我的lambda來訪問我的VPC資源 – blueskin

回答

8

Gotcha !!!如果錯誤消息顯示「此Lambda函數未被授權執行:CreateNetworkInterface」,那麼更合理的做法是需要使用適當的策略修改Lambda角色。從blueskin他回答:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Resource": "*", 
      "Action": [ 
       "ec2:DescribeInstances", 
       "ec2:CreateNetworkInterface", 
       "ec2:AttachNetworkInterface", 
       "ec2:DescribeNetworkInterfaces", 
       "autoscaling:CompleteLifecycleAction" 
      ] 
     } 
     ] 
} 
2

有必要提供拉姆達與政策行動:

NetworkLambdaRole: 
Type: "AWS::IAM::Role" 
Properties: 
    RoleName: "Network-Lambda-Role" 
    AssumeRolePolicyDocument: 
    Version: '2012-10-17' 
    Statement: 
    - 
     Effect: "Allow" 
     Principal: 
     Service: 
     - "lambda.amazonaws.com" 
     Action: 
     - "sts:AssumeRole" 
    Policies: 
    - PolicyName: "network-lambda-role-policy" 
    PolicyDocument: 
     Version: '2012-10-17' 
     Statement: 
     - Effect: "Allow" 
     Action: [ 
      "ec2:DescribeInstances", 
      "ec2:CreateNetworkInterface", 
      "ec2:AttachNetworkInterface", 
      "ec2:DescribeNetworkInterfaces", 
      "ec2:DeleteNetworkInterface" 
     ] 
     Resource: "*" 

注 通過增加政策的作用是拉姆達使用固定的問題缺少策略ec2:DeleteNetworkInterfaces