LoginSignup
15
1

More than 1 year has passed since last update.

スクショで安心プチハンズオン 〜駆け足でServerless Framework × Lambdaプチハンズオンを雑にまとめてみた〜

Last updated at Posted at 2022-12-15

はじめに

ここ最近、AWS周りをコツコツ勉強しております。奥田と申します。

これからAWSを学び始める人やAWSに苦手意識を持っている初学者の人向けに、
ファーストステップとしてのハンズオンとして、手軽に取り組めて且つ便利そうなものはないかなと思い、
今回は『Serverless Framework × Lambdaプチハンズオン』をゆる〜く書いてみることにしました。

取り組みハードルを超下げたかったので、大体5分~30分くらいでできるような感じにまとめました。

※エラー想定など万全の解説文ではないので、必要があればググっていただけると幸いです。🙇
※暇な時に、随時アップデートしようと考えています。

このハンズオンでできるようになること

Lambda関数は、マネジメントコンソールでぽちぽち手作業で作成/管理等もできますが、関数が増えてくると手入れが大変ですよね。

ScreenShot 2022-12-15 9.59.41.png

今回は、Serverless Frameworkを用いて簡単にAWS Lambdaをデプロイしてみましょう。

ちょっとした自動化に使い始めるには便利なので、このハンズオンを通して、これから色々遊べるようになっちゃいましょう。

プチハンズオンスタート

まずはAWSマネジメントコンソールにログイン

スクリーンショット

ScreenShot 2022-12-15 7.44.00.png

※AWSアカウントをまだお持ちでない方はアカウント作成しましょう
AWS アカウント作成の流れ

AWS Cloudshellを起動させましょう

検索窓から"cloudshell"と検索すると早いです

スクリーンショット

ScreenShot 2022-12-15 7.44.34.png

スクリーンショット

ScreenShot 2022-12-15 7.44.44.png

作業ディレクトリを作成しましょう

任意の命名で、作業ディレクトリを作成しましょう。
今回は分かりやすく"work"としました。
作成したらcdコマンドで移動しましょう。

mkdir work
cd work
スクリーンショット

ScreenShot 2022-12-15 7.40.06.png

Serverless Framework をインストールしましょう

初期化コマンドで初期化処理をしましょう

npm init

※途中出てくる質問には全てEnterでOKです。

スクリーンショット

ScreenShot 2022-12-15 8.12.22.png

npm install --save-dev serverless

スクリーンショット

ScreenShot 2022-12-15 8.16.19.png

ScreenShot 2022-12-15 8.16.43.png

serverlessアプリを作成しましょう

npx serverless create --template aw-nodejs --path myapp
スクリーンショット

ScreenShot 2022-12-15 8.17.42.png

作成できたらlsコマンドで作成されたものを一応確認してみましょう

スクリーンショット

ScreenShot 2022-12-15 8.27.38.png

cat serverless.yml | grep -v '^#'

// grep -v '^#' で 「#で始まらない行をすべて選択する」

serverless.ymlを編集しましょう

vi serverless.yml

① デプロイ先を編集

スクリーンショット

ScreenShot 2022-12-15 8.38.51.png

② トリガーイベントを編集(今回はコメントアウトを外すだけ)

スクリーンショット

ScreenShot 2022-12-15 8.41.58.png

デプロイしてみましょう

npx serverless deploy
スクリーンショット

ScreenShot 2022-12-15 8.45.27.png

ScreenShot 2022-12-15 8.54.22.png

設定通りに、serverlessフレームワークがLambdaをいい感じにデプロイしてくれましたかと思います🙌
簡単ですね。

エンドポイントも確認してみましょう

デプロイ実行時に表示されたendpointsのURLをブラウザやcurlコマンドからコールすることも可能になっているので、一緒に確認してみましょう。

スクリーンショット

ScreenShot 2022-12-15 9.06.02.png

ここまでで一旦完走。 お疲れ様でした!

appendix

他にもいろんなサービスを起点にLambdaを動かしてみよう

・ scheduleイベント
e.g. "AWSの利用料金が心配なので毎日〇時に通知したい"など

・ S3イベント
e.g. "S3にデータが置かれたら〇〇をする"など

色々試して遊んでみてください✨

cloudformationの書式も埋め込めれる

serverless.ymlの中に、cloudformationの書式も埋め込めるようになっているので、Lambdaで使いたいサービスがあれば一緒に記述しておくことができます。

スクリーンショット

ScreenShot 2022-12-15 9.24.16.png
ScreenShot 2022-12-15 9.24.57.png

その他Tips

いちいちdeploy作業が面倒な場合は、下記コマンドで、AWS上にLambdaをdeployしなくても実行結果を見ることができたりもします。

npx serverless invoke local --function hello
スクリーンショット

ScreenShot 2022-12-15 7.19.52.png

お片付け

npx serverless remove
スクリーンショット

ScreenShot 2022-12-15 7.32.56.png

cloudshellも片付ける場合

ディレクトリを全部消してあげればOKです

最後に一言

AWSの悪魔「AWS最高!AWS最高!」

image.png

15
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
1