2017-12-25 20 views
0

私はCloudwatch Eventsでスケジュールに沿って機能をトリガする美しいLambdaセットアップを持っています。CloudwatchイベントからのVPC AWS Lambdaのトリガー

私はラムダ関数をVPCに移行し始めていますが、ラムダ関数を適切に起動するためにCloudwatch Eventsを取得するには時間がかかります。彼らは絶えずタイムアウトしています。

CWイベントを使用してVPCラムダ関数をトリガーする方法はありますか?そうでない場合は、ラムダ関数をスケジュールどおりにトリガする標準的な解決法がありますか?

答えて

1

この問題はCloudwatch Eventsとは関係ありません。関数トリガのソースは、Lambdaが実際に関数を呼び出す方法を変更しません。

インターネットアクセスに必要なVPCを設定していないため、VPC内で機能が動作していないことがほとんどの場合問題であり、ほとんどのさまざまなAWSサービスAPIにはインターネット接続。ラムダコンテナにはプライベートIPアドレスしかないため、NATデバイスが必要です。

重要

あなたのラムダ関数は、インターネットへのアクセスを必要とする場合は、パブリックサブネットまたはインターネット接続なしのプライベートサブネットに添付しないでください。代わりに、NATインスタンスまたはAmazon VPC NATゲートウェイを介してインターネットにアクセスできるプライベートサブネットにのみ接続します。

http://docs.aws.amazon.com/lambda/latest/dg/vpc.html

機能は、そうでない場合は、初めて出た時間、あなたのコードがVPC外のリソースにアクセスしようとする任意の時間になります。

+0

API Gatewayと同様に*動作するはずですか?さて、私が働こうとしている機能は、その文字列を記録するだけの単純な "こんにちはの世界"です。それはCLIから呼び出すときには動作しますが、CWイベントでは呼び出されません。 – pjb

+0

はい、うまくいくはずです。関数がJavaで書かれている場合は、使用可能なメモリーを増やすか、タイムアウトを長くして初期化に十分な時間を与える必要があります。 –

関連する問題