![](https://images.microcms-assets.io/assets/7c0b324145eb4ee6bd26d44022795cf4/368b6fc643ea4c0e99d8700bec65dff1/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2020-08-14-18.32.47-1-1536x1069.png)
Serverless-Dev-Toolsというターミナル上でダッシュボードを開き、Lambdaのデプロイやログ、メトリクスの確認ができる開発ツールの存在を教えてもらったのでそれを紹介していきます。
サーバーレスの開発時にブラウザからマネジメントコンソールにアクセスしつつ、ログを確認したり状態を確認したりすることが多いと思いますが、ブラウザとエディタを行き来したり、何度もログインし直したりみたいなのが結構めんどくさいですよね。
このツールはターミナルで専用の開発ダッシュボードを提供してマネジメントコンソールを開くこと無く開発を行えることを可能にすることがコンセプトです。
一度ダッシュボードを開けば、キーボードショートカットでデプロイやLambdaの実行などを行えて、ログもそこから確認することが出来ます。
インストール
Serverless-Dev-ToolsはServerless FrameworkとSAMに対応しています。
今回はServerless Frameworkでプロジェクトを作って、そこにツールをインストールします。
まずは以下のコマンドでServerless Frameworkのプロジェクトを作ってAWS環境にLambdaをデプロイしましょう
$ serverless create -t aws-nodejs
$ serverless deploy
次にyarnもしくはnpmでツールをプロジェクトのローカルにインストールします
$ yarn add -D sls-dev-tools
インストールに成功したら以下のコマンドでツールを立ち上げましょう
$ yarn sls-dev-tools -r us-east-1 -p default
こんな感じのダッシュボードが立ち上がればセットアップは完了です。
![](https://images.microcms-assets.io/assets/7c0b324145eb4ee6bd26d44022795cf4/b6293a3b966b4b299679cfe12c01b57a/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2020-08-14-19.11.32-1536x920.png)
ダッシュボードの操作方法
h
を押すとヘルプが立ち上がります。キーボードショートカットで以下の様な様々な操作が割り当てられています
ショートカット | 操作 |
o | ブラウザで選択したLambdaのAWSマネジメントコンソールを開く |
q | ダッシュボードを閉じる |
d | 選択したLambdaファンクションをデプロイする |
s | スタック内のすべてのLambdaファンクションをデプロイする |
i | 指定したLambdaファンクションを実行します |
r | 選択したEventBridgeのレジストリをwindowで開きます |
l | 選択したLambdaの統計情報をwindowで開きます |
Lambdaのデプロイを行う
s
ショートカットを押すことで、sls deploy
もしくはsam deploy
が実行されてスタック全体がデプロイ出来ます。
![](https://images.microcms-assets.io/assets/7c0b324145eb4ee6bd26d44022795cf4/5b66781508294d75a4ddf5b5bcf5e888/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2020-08-15-17.10.26.png)
d
ショートカットを押すことで選択したLambdaファンクション単体がデプロイされます。hello2ファンクションを選択して d
を実行すると以下のようにデプロイされます。
![](https://images.microcms-assets.io/assets/7c0b324145eb4ee6bd26d44022795cf4/914997ea3a7c40ec99daa6e4cca7be34/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2020-08-15-17.18.06.png)
Lambdaファンクションを実行して色々な情報を見る
右上のLambdaのリストから実行したいLambdaファンクションを選択してi
を押すと以下のようにPayloadを入力するwindowが立ち上がります。そこから入力となるJSONを入力してSubmitでenterを押すことで対象のLambdaファンクションが実行されます
![](https://images.microcms-assets.io/assets/7c0b324145eb4ee6bd26d44022795cf4/7503c8d7d4104ac29ef86c2baeee8ee5/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2020-08-14-19.30.11-1536x706.png)
実行すると以下の様にCloudWatchLogs上のログがダッシュボードに表示され
![](https://images.microcms-assets.io/assets/7c0b324145eb4ee6bd26d44022795cf4/ec41152f223045c98a0b704f0a77eeb3/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2020-08-14-19.34.33-1536x300.png)
Lambdaからのレスポンスも以下のように返ってきます
![](https://images.microcms-assets.io/assets/7c0b324145eb4ee6bd26d44022795cf4/258ffe7787184bff80ff64f90e25797d/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2020-08-14-19.34.39.png)
実行にかかった時間も以下のようにinvocationごとに確認ができます
![](https://images.microcms-assets.io/assets/7c0b324145eb4ee6bd26d44022795cf4/d86a0f211d584b1d8dda983db2e9bdbf/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2020-08-14-19.38.59.png)
さらにl
キーを押すことで以下のような統計情報も確認することが出来ます
![](https://images.microcms-assets.io/assets/7c0b324145eb4ee6bd26d44022795cf4/b60e9c564f524c729d94b753b6075952/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2020-08-14-19.41.47-1536x1351.png)
どうしてもマネジメントコンソールにアクセスしたい時は
マネジメントコンソールにアクセスが必要ないとは言え、やはりアクセスしたい時もあるでしょう。どんな時は選択したLambdaファンクション上でo
を押すことでコンソールが開き、以下のようにブラウザからアクセスできるようになります。
![](https://images.microcms-assets.io/assets/7c0b324145eb4ee6bd26d44022795cf4/84e09e441b4e423b9699d57cc74c9235/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2020-08-14-19.50.38-1536x818.png)