AWS lambdaのコードをserverless Frameworkで構築し デプロイする

  • このエントリーをはてなブックマークに追加
AWS lambda入門しようと思い、ドキュメントを読んでいたのですが、
AWS自体は特にFWを提供しているわけでもなく、こんな仕様で作れば動きますぜって感じのものだったので、
何かないかと探した結果たどり着いたのが serverless framework

コマンド一つで各言語のひな型プロジェクト作ってくれて、
コマンド一つでデプロイできるという優れもの。
入門者にはありがたい限りです

前提

・windows
・npmインストール済み
・aws cliインストール &Configure 設定済み

インストール

npmをインストールしている前提で。コマンドラインで以下実行 基本serverlessコマンドを使って操作していくのですが、
入力するには長いので
slsというエイリアスが用意されています。
こっちを使うのがよいかと オプションはこんな感じ

プロジェクトの作成

sls createコマンドを使います。
何の言語を使うかは-t のオプションで指定できます 今回はJavaとgradleの組み合わせ できあがったプロジェクトを見ると、リクエストをログに出してHTTPステータス200を返すだけではあるものの、既に動く状態のものができあがっています。

デプロイする

細かい設定はserverless.ymlでできます。
設定できる内容は以下URLで確認できます。 https://serverless.com/framework/docs/providers/aws/guide/serverless.yml/
とりあえず今回はそのままデプロイして動かしてみる。
まずはビルドしてデプロイするzipファイルを作ります。
gradleの場合はzipで作ってuploadするらしい。 プロジェクト内のbuild/distributionディレクトリにhello.zipが出来上がっています。
これがビルド結果
次にデプロイです。
デプロイはsls deployコマンドで行います。
オプションは以下 deploy実行

動作確認

sls invokeで動かすことができます。 実行
ちゃんと結果が返ってきます。
ちなみにlocalのソースをテストしたいときは、コマンドにlocalを付けます。
※ 呼び出す関数名がhelloになっているのはserverless.ymlのデフォルト値なので さっと作ってさっと動かしたい時に非常に便利なフレームワークでした。
API Gatewayで公開する場合もymlの設定変えるだけでした。
ymlの設定内容はもう少し知る必要がありそう。

後片付け

AWS上に作成されたリソースを全部削除するのも簡単
sls removeコマンドで一発
  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*