はじめに
昨日、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を設定できるようになりました。
しかし、ここでVPCの設定をしても、権限エラーではじかれます。
というのもVPC接続の機能はEC2の機能を利用しているようで
API GatewayからLambdaを呼び出す標準の権限ではVPCの設定が出来ません。
IAMのほうを見てみると、ポリシーにあたらしく「AWSLambdaVPCAccessExecutionRole」が追加されています。
ですので、既存のロールに、このポリシーをアタッチしてあげると
無事にVPCの接続が出来ました。
これでLambdaからVPCに接続するのにインターネットゲートウェイが不要になるので
外部からのアクセスは遮断できるようになりました。
ただ、このままでは他のユーザーのLambdaからはアクセスし放題ですので、次はInbound rulesの設定が必要です。
セキュリティグループで送信元にセキュリティグループを設定すればOKです。
これで、LambdaからRDSに接続する際のセキュリティのリスクがなくりなり、
Lambdaの採用が進むのではないでしょうか。