AWS Lambda編~VPCにあるRDSへ接続を試してみる~

Pocket

前回は『AWS Lambda編~VPCにあるElastiCacheへ接続を試してみる~』と題して、VPCにあるElastiCacheへ接続を試してみました。

今回は『AWS Lambda編~VPCにあるRDSへ接続を試してみる~』と題して、VPCにあるRDSへ接続を試してみたいと思います。

AWS Lambda VPCサポート

AWS LambdaはVPC内リソースとしても作成することが出来ます。
この機能によりセキュアにAWS Lambdaを利用する事が出来るようになり、
VPC内にある他サービスとの連携が可能です。

試してみる

1. RDSの準備
VPC内にパブリックアクセスを許可していないRDSを準備します。
SecurityGroupでLambdaが利用するSecurityGroupを許可しておきます。

01

2. スクリプトの準備
DBとの接続するPythonスクリプトを用意します。
今回はAWSのサンプルプログラムを利用します。

app.py として以下を保存します。
rds_hostは作成したRDSのホスト名を置き換えます。

同じ階層にrds_config.pyというDB接続情報ファイルを作成します。

次にpipコマンドを利用して必要モジュールをインストールします。
※今回はpymysql を利用します。

$ pip install pymysql -t ./

最後にzip 化しておきます。

3. Lamdbaの設定
続いてLambdaを起動していきます。

先程作成したコードをアップします。
02

VPCの権限を利用出来るRoleを選択しておきます。
また、lambda_function.lambda_handlerをapp.handlerに変更します。

03

RDSと同一のVPCに起動します。
04

4. テストしてみる
実際にテストしてみます。
左上の「test」からクリックします。

05

Hello worldのEventでSave and Testをクリックします。

06

結果が返ってくるのがわかります。

07

いかがでしたでしょうか?
次回もお楽しみに!!!

次回記事:Amazon Machine Learning編~別アカウントS3でDatasourcesを試してみる~