どこにでもいる30代SEの学習ブログ

主にプログラミング関連の学習内容。読んだ本の感想や株式投資についても書いてます。

【AWS】Lambdaの使い方や料金(初めて使うとき気になったこと)

AWS Lambda」はAWSのサーバーレスコンピューティングサービスです。

定期的に実行する処理や、イベントで起動する処理を作りたいと思い、使ってみることにしました。例えば、1日に1回株価のチャート分析をしたり、Webアプリからの入力があったらデータベースに登録したり等です。

初めて使うにあたり、気になる料金や使い方をまとめました。使い方はPythonでの使い方を紹介しています。

[1] 料金

初めて使う際に動作確認程度で使用する場合、料金を気にする必要はありません。AWS Lambdaの料金は「割り当てるメモリ」「リクエスト数」「実行時間」で決まります。

  • 100万リクエストあたり $0.20
  • 1GBメモリ1秒実行当たり $0.0000166667

しかし、無料枠が設けられています。

  • 1 か月ごとに 100 万リクエスト / 1ヶ月
  • 1GBメモリ40万秒の実行時間 / 1ヶ月

実行時間としては、1ヶ月あたり以下を下回れば無料で使い続けられます。

メモリ 無料枠終了までの実行時間
128MB 888時間
512MB 222時間
1GB 111時間
4GB 28時間

個人で試しに使う分には、無料枠の範囲内で済みそうです。

料金 - AWS Lambda |AWS

[2] Hello, World

まずは、Hello, Worldを返すだけのコードを作りました。ちなみに、公式のチュートリアルにもHello, Worldの実行手順が載っています。しかし、少し内容が古いので細かい点はアレンジした方が良さそうです。

[2-1] 関数の作成(Python)

まずは、関数を作成します。

f:id:predora005:20210410145057p:plain

今回は「一から作成」を選びます。

f:id:predora005:20210410145102p:plain

任意の関数名を入力し、ランタイムをPythonに変更して[関数の作成]を押下します。

f:id:predora005:20210410145108p:plain

以上で、関数の作成は終了です。

f:id:predora005:20210410151521p:plain

[2-2] Hello, Worldを実行する

Hello, Worldのソースコードが自動で作成されているので、[Test]を押して早速実行してみます。

f:id:predora005:20210410151545p:plain

テストを実行するためには、イベントの設定が必要です。ここではイベント名はデフォルトのまま作成します。

f:id:predora005:20210410151551p:plain

実行後に実行結果が表示されます。「Response」が呼び出し元に返す結果、「Function Logs」がログです。

f:id:predora005:20210410151556p:plain

[2-3] ソースコードの変更

引数として受け取っている「event」と「context」の中身をprint文でログに出力してみます。ソースコードの変更後は[Deply]を押して変更を反映します。

f:id:predora005:20210410152455p:plain

反映されると"Changes deployed"の表示に変わります。

f:id:predora005:20210410152501p:plain

実行してみると「Function Logs」にeventとcontextの中身が出力されています。

f:id:predora005:20210410152504p:plain

contextの詳細は以下に載っています。

Python の AWS Lambda context オブジェクト - AWS Lambda

[2-4] ログの確認

[モニタリング]タブの[ログ]をクリックすると、これまでに登録されたログが表示されます。そのうちの一つをクリックすると、Cloud Watchの画面に移動します。

f:id:predora005:20210410154526p:plain

Lambdaの実行結果(ログ)は、Cloud Watchに登録されるようになっています。

f:id:predora005:20210410154532p:plain

終わりに

料金と簡単な使い方を紹介しました。AWS Lambdaは上手に使えば、色々なことに有効活用できそうです。どのような使い方があるのか今後も調べていきたいと思います。

出典