Lambda関数の設定方法
Lambda関数を設定する時に一番大事なのはRDSがあるVPCにLambda関数を作成することです。
VPCを設定したらサブネットとセキュリティグループも設定してください。

Lambdaの書き方
mysqlモジュールを使用してRDSに接続するサンプルです。ものすごく簡単に接続できます。
importしているconfigはnode-configという設定ファイルを読み込むモジュールです。Lambdaは環境変数が設定できるので環境ごとに読む設定ファイルが変わるようにしてRDSの接続先を変更すると便利です。
自分がしてしまったミスとしてRDSへのコネクションを接続したままだとcallback関数を呼んで関数の処理が完了してもタイムアウトになるまでLambdaが終了しません。そうなるとLambdaの実行時間がタイムアウトにかかった時間とイコールになるので無駄にお金がかかってしまいます。
なのでRDSを使う場合は処理の最後でコネクションを破棄するのを忘れないようにしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import config from 'config'; import mysql from 'mysql'; const mysqlConfig = config.get('database.mysql'); exports.handler = (event, context, callback) => { // RDS let conn = mysql.createConnection({ host : mysqlConfig.host, port : mysqlConfig.port, database : mysqlConfig.database, user : mysqlConfig.user, password : mysqlConfig.password }); conn.connect(); conn.query('SELECT id, name FROM sample_table', (error, rows, fields) => { if (error) { callback(error); return; } callback(); }); // コネクション破棄 conn.end(); }; |
関連記事
VPC内からS3にアクセスする方法を下記にまとめました。VPCエンドポイントとかNATゲートウェイの知識が必要ですがとりあえず設定方法について書いたのであわせて読んでみてください。
おすすめ書籍
AWSをこれから使う初心者の方から現在使っている中級者の方までおすすめできる書籍です。内容はVPC、セキュリティグループ、IAMなどの基本的なことからWEBサービスを作るのに欠かせない、EC2、RDS、Route53などの扱い方が丁寧に説明されています。
中級者向けにはWEBサーバのオートスケール、Cloud Watchを使ったモニタリング方法、セキュリティ等について解説されています。手元において困ったときに読むのにちょうどいい一冊になると思います。
高妻智一
最新記事 by 高妻智一 (全て見る)
- cssだけで文字列を省略して3点リーダーを表示する方法|複数行対応 - 2019-02-19
- Vue.jsとVuexを使ってFirebase Authenticationでログイン機能を実装する - 2019-01-19
- Vue.jsにVue Routerを導入してルーティングを行う方法 - 2019-01-15
コメントを残す