背景
- AWS上にlambda関数を開発した
- codecommitから各環境にlambda関数をデプロイする
- DBやS3と接続するのでローカルで開発してテストしにくい
serverless frameworkとは
- サーバーレス開発ツーるである
メリット
- インフラ自動構築
- Cloudformationのstackを自動的に作れる
- デプロイ簡単
- Lambda関数を1コマンドでデプロイできる
- 複数functionを管理とデプロイできる
- 環境と環境変数の管理
- 環境を分けることが簡単
- Dev, stg, pro
- 環境変数を簡単に定義
- 環境を分けることが簡単
- IAMロールの定義も簡単
- Functionよりroleを定義できる
簡単な使い方
- serverless frameworkのインストール
npm install -g serverless
- 初期化
serverless create --template aws-nodejs --name my-service --path my-special-service
-
要素説明
- serverless.yml: serverless.ymlは各サービス全体の設定を行うためのファイル
- handler.js: これはファンクションを定義するためのスケルトンとして生成されるファイル
-
インフラ構築
sls deploy -v
- Lambda関数をデプロイ
sls deploy function -f hello
- ローカル実行
sls invoke local -f hello -l
- インフラ削除
sls remove -v