案件でServerless Frameworkについて触ったのでその記録です
そもそもserverless Frameworkとは?
サーバーレスなアーキテクチャを簡単に作成できるオープンソースのフレームワークです。
AWS Lambdaだけでなく、Azure Functions、Google CloudFunctionsなどに対応してます。
イメージとしてはCloudFormationでいろいろリソースを作成できますが、その点以外にもserverless frameworkを活用して簡単にデプロイができるという優れものになっています。
Node.jsのインストール
ServerlessはNode.jsで作られたCLIツールです。
なのでNode.jsをインストールしましょう。
<参考サイト>
https://qiita.com/kyosuke5_20/items/c5f68fc9d89b84c0df09
僕はHomebrewを使用してNode.jsをインストールしています。
Serverlessのインストール
Serverlessはnpmのパッケージとして公開されています。
PCのグローバル環境にインストールするため
npm install -g serverless
としましょう。2020/11/11時点では2.11.1でした(ただこのバージョン後に共有する記事(aws-nodejs-typescript)のローカル環境での確認でファイル構成が変わっていたりたくさんイシューが上がっていたりするのでバージョンには要注意です。
インストールされたらバージョンを確認しましょう
(base) ~% serverless -v
Framework Core: 1.67.3
Plugin: 3.8.4
SDK: 2.3.2
Components: 2.34.9
(base) ~% sls -v
Framework Core: 1.67.3
Plugin: 3.8.4
SDK: 2.3.2
Components: 2.34.9
(base) ~%
(base) ~%
(base) ~% sls --help
serverlessは短縮コマンドとしてslsが使用できます。
現在1.67.3は最新ではありませんが、後に確認する記事に合わせるためにしています。
serverless-offlineを導入してステップ実行の確認をする
serverless.ymlファイルの
pluginsの部分にserverless-offlineを追記する
plugins:
- serverless-webpack
- serverless-offline
その後npm install –save-dev serverless-offlineを実行します
npm install --save-dev serverless-offline
その後
sls offline start
でローカル環境を実行できる
plugins:
- serverless-webpack
- serverless-offline
- serverless-dynamodb-local
インストールnpm install save-dev serverless-dynamodb-local