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

前回は『【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

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

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

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

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

$ pip install pymysql -t ./

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

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

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

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

03

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

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

05

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

06

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

07

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

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

この記事を書いた人

aws-recipe-user