Lambdaのチュートリアルやってみた！

# はじめに

題名通りでやったことをここに記録に残したのみです！:sheep:
あとちょっとおまけ等々！:baby_tone1:

ちなみに参考は以下ですが、
https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html

Lambdaに関してめちゃめちゃ分かりやすいと思った記事ここにメモしておきます！ヽ(´▽｀)/

[【AWS Lambda初級編】Lambda関数を使ってサーバレスで翻訳Web APIを構築してみました！](https://dev.classmethod.jp/articles/saichan-20211109/)
[AWS Lambdaで遊ぼう #1 Lambda関数作成](https://zenn.dev/nakam_aws/articles/46fcc003855aef)
[AWS Lambdaで遊ぼう #2 Lambda関数を定期実行する](https://zenn.dev/nakam_aws/articles/47be7b2c5a952e)

あと、
AWSログインしているていで話します！:star:

あと今回は本当に最初のチュートリアルで、その他にも以下のようなチュートリアルあります！
[チュートリアル: Amazon S3 トリガーを使用して Lambda 関数を呼び出す](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html)
[チュートリアル: API Gateway で Lambda を使用する](https://docs.aws.amazon.com/lambda/latest/dg/services-apigateway-tutorial.html)
[チュートリアル: スケジュールされたイベントで AWS Lambda を使用する](https://docs.aws.amazon.com/lambda/latest/dg/services-cloudwatchevents-tutorial.html)

ちなみにチュートリアルではないですが、以下のリンクも気になっている所存です！
[サーバーレス開発者ガイド](https://docs.aws.amazon.com/serverless/latest/devguide/welcome.html)

# Step1 アクセス

- **以下にアクセス**　(訳: 以下のLambdaの管理画面的なページにアクセス)
https://console.aws.amazon.com/lambda/home#/functions

# Step2 関数作成

- **以下の『関数の作成』タップ!** :herb:右上部分(✿´ ꒳ ` )

|![スクリーンショット 2023-05-07 0.10.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/13d5a77e-1048-db65-edf1-e0ff0b8cf281.png)|
|-|

- **以下の順序で選択と記述。**

```
・『設計図の使用』をタップ
・設計図名のところ「Hello world function nodejs」のやつ選択。(ここ選択されてました！)
・「関数名」の箇所に「myHelloName」と記載。(ここはなんでもいいみたいですね！)
・「実行ロール」の箇所は「基本的なLamdaアクセス権限で新しいロールを作成」をタップ
```

|![スクリーンショット 2023-05-07 0.23.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/5104fbe8-06ed-bd01-4ece-ab7c13ab5027.png)|
|-|

- **下スクロールすると関数らしきもの作成されているようなのでそのまま『関数作成』をタップ。**


|![スクリーンショット 2023-05-07 0.27.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/177de9e3-df85-7f10-3436-0f761185a6ae.png)|
|-|


# Step2 関数実行

- **上記おこなってから少しボ〜〜っとすると以下のような画面になるので(ちょっと違う)、以下の順序で選択と記述。**

```
・タブの箇所『テスト』を選択
・『新しいイベントの作成』タップ
・「イベント名」に適当な名前入力。今回は「MyEventName」にしました。
・「イベントの共有の設定」の箇所は『プライベート』をタップ
・「イベントJSON」の"key1"の右箇所適当に変えて
・『保存』タップ
・『テスト』タップ
```

|![スクリーンショット 2023-05-07 0.35.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/1a21b297-3f64-f881-8b76-404efb7055bf.png)|
|-|

できると上の方で下のように実行結果表示されます！(隠さなくても良さそうですが念のため不要な箇所隠してみました。)
上の関数と入れた引数と一致した表示がされています！ふ〜〜〜ん。:boy_tone1:

|![スクリーンショット 2023-05-07 0.56.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/f1597cbe-e3e6-9716-81f5-8d971e899026.png)|
|-|

# Step3 関数削除

右上の方にある『アクション』からの『関数の削除』で削除できます！

![スクリーンショット 2023-05-07 3.42.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/8b2cb442-5109-bb0b-380c-639b3b15dbb8.png)





# おまけ1

:boar:それで料金いくらかかる？
:hatched_chick:以下の説明だと、、以下の情報が必要で、計算していくと、多少変動ありですが、、『0.00001571円』で『1円』もしなさそうです！おそらく最初の方計算で見とけば大体いい感じになりそうなので『AWSLambda料金』だけ見ればいい感じなのかなとは思っています、、例で『リクエスト 100 万件あたり 0.20USD』みたいの書いてあるので相当変な関数でずっとループとかなっていなければかなりお安くなるの認識です！あ！タイムアウトの時間設定しておけば変な関数しても防げそうです！変な大量のリクエストはここよりDDOSに対応したAWSのサービス使えばそんなに問題なさそうです？これだけで見るなら請求アラートとかも良さそうです？

https://aws.amazon.com/jp/lambda/pricing/

```
合計リクエスト回数: 一回
課金期間(1リクエストテスト時表示されたもの): 3ms  ※1 ミリ秒単位で切り上げられた値のよう
割り当てメモリ(設定のところで見れます): 128MB　※設定で変更可能。コード実行して最大メモリ量みてここ調整するで良さそう?
アーキテクチャ(コード下の方に記載のもの): 「x86_64」 ※一から作成とかだと選べるようです。作成時確認もできます。
エフェメラルストレージ(設定のところで見れます): 512MB ※設定で変更可能。
```

**AWS Lambda 料金: 0.00000081円**
```
内訳: 1(リクエスト回数) × 3(1リクエストあたりの課金量) × 0.0000000021USD = 0.0000000063USD (日本円が1ドル135円で計算すると日本円で0.00000081円)
```

**Lambda エフェメラルストレージの料金: 約0.000015円**

```
内訳: 1(リクエスト回数) × 3(1リクエストあたりの課金量) × 0.000000037USD = 0.000000111USD (日本円が1ドル135円で計算すると日本円で0.0000149…円)
```

それ以外は設定とか他AWS連携でかかったりしそうなので無視、、

# おまけ2

「CloudWatch」覗いてみたら、
以下のようなものできていて、
![スクリーンショット 2023-05-07 4.12.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/f9de965c-1722-16b2-c5a7-10efc511f34d.png)

中の一つ覗いたらしっかりログ出力されていました！
![スクリーンショット 2023-05-07 4.13.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/7ea298d9-c88f-318b-5685-b0ec61f27bde.png)




# その他参考

https://e-words.jp/w/GB-s.html

# さいごに

チュートリアルでもハードル高そう〜っと思っていたのですが想像以上にあっという間に終わりました！
びっくりしました！:shamrock:

以上です！:shamrock: