2016-03-21 19 views
12

Mam ten prosty opisać instancji funkcji, który próbuję uruchomić w nodejs poprzez AWS lambda:Aws lambda opisać czas instancji z

var AWS = require('aws-sdk'); 
AWS.config.region = 'us-east-1'; 

exports.handler = function(event, context) { 
    console.log("\n\nLoading handler\n\n"); 
    var ec2 = new AWS.EC2(); 
    ec2.describeInstances(function(err, data) { 
     console.log("\nIn describe instances:\n"); 
     if (err) { 
     console.log(err, err.stack); 
     context.done(null, 'Function Finished from error!'); // an error occurred 
     }else { 
     console.log("\n\n" + data + "\n\n"); 
     context.done(null, 'Function Finished with data!'); // successful response 
     } 
    }); 
}; 

nie zwraca mi żadnych błędów jedyne wyjście to jest w CloudWatch :

2016-03-21T17:01:59.085Z xxxxxxx-xx.... Task timed out after 3.00 seconds 

Ktoś ma pojęcie, jaki może być problem?

+1

Czy włączyłeś dostęp VPC do swojej funkcji Lambda? –

+0

@ Mark B Tak, wybrałem VPC, podsieci i grupy bezpieczeństwa – Tomas

+0

Jeśli zwiększysz czas oczekiwania, to nadal nie działa? –

Odpowiedz

0

Sprawdź to: https://medium.com/@philippholly/aws-lambda-enable-outgoing-internet-access-within-vpc-8dd250e11e12#.2sdn5oyd1

Jeśli jesteś w VPC, nie może uzyskać dostępu do Internetu już!

Powinieneś skonfigurować NAT, aby umożliwić dostęp do Internetu wychodzącego w trybie lambda.

+2

Proszę nie udzielać odpowiedzi tylko dla łącza. Powinieneś zawsze uwzględnić (minimalny) konieczny krok dla rozwiązania w treści twojej odpowiedzi. Link może spaść, a twoja odpowiedź stanie się bezużyteczna. Podaj wymagane kroki i daj kredyt tam, gdzie jest należny kredyt. –

2

Upewnij się, że rola wykonanie ma uprawnienia EC2 i spróbuj użyć:

context.fail() lub context.succeed()

vs

context.done()

+0

. Czy istnieje źródło, które może wyjaśnić więcej na temat tego podejścia? – Doug

9

I również w obliczu tej samej sprawie .. I zwiększonego limitu czasu (lambda - -> Konfiguracja -> Ustawienia zaawansowane) od 3 sekund do 5 sekund i wszystko działało bez zarzutu.

+0

Innym podejściem jest zwiększenie konfiguracji pamięci i ustawienie czasu oczekiwania na 30 sekund. Następnie uruchom test, pokaże, ile czasu potrzebuje. –

Powiązane problemy