Edited at

AWS LambdaでVPC越しにRDSを見る方法

More than 3 years have passed since last update.


はじめに

昨日、AWSのOfficial Blogに

New – Access Resources in a VPC from Your Lambda Functions

という記事がアップされました。

遂にAWS LambdaがVPC接続に対応したのです。

そこで、早速どうやってVPC接続するのかみていきたいと思います。


事前条件

以下の記事のように事前にLambdaからRDSに接続できるところからスタートします。

http://qiita.com/yoshidasts/items/53918d2586d55bd0856a


Lambda側の設定

まず、LambdaのConfigurationタブに「VPC」の欄が追加されました。

ここでVPCを設定できるようになりました。

2016-02-12 (2).png

しかし、ここでVPCの設定をしても、権限エラーではじかれます。

というのもVPC接続の機能はEC2の機能を利用しているようで

API GatewayからLambdaを呼び出す標準の権限ではVPCの設定が出来ません。

2016-02-12 (3).png

IAMのほうを見てみると、ポリシーにあたらしく「AWSLambdaVPCAccessExecutionRole」が追加されています。

2016-02-12 (6).png

ですので、既存のロールに、このポリシーをアタッチしてあげると

無事にVPCの接続が出来ました。

これでLambdaからVPCに接続するのにインターネットゲートウェイが不要になるので

外部からのアクセスは遮断できるようになりました。

ただ、このままでは他のユーザーのLambdaからはアクセスし放題ですので、次はInbound rulesの設定が必要です。

セキュリティグループで送信元にセキュリティグループを設定すればOKです。

2016-02-12 (7).png

これで、LambdaからRDSに接続する際のセキュリティのリスクがなくりなり、

Lambdaの採用が進むのではないでしょうか。