【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時間 |
個人で試しに使う分には、無料枠の範囲内で済みそうです。
[2] Hello, World
まずは、Hello, Worldを返すだけのコードを作りました。ちなみに、公式のチュートリアルにもHello, Worldの実行手順が載っています。しかし、少し内容が古いので細かい点はアレンジした方が良さそうです。
[2-1] 関数の作成(Python)
まずは、関数を作成します。
今回は「一から作成」を選びます。
任意の関数名を入力し、ランタイムをPythonに変更して[関数の作成]を押下します。
以上で、関数の作成は終了です。
[2-2] Hello, Worldを実行する
Hello, Worldのソースコードが自動で作成されているので、[Test]を押して早速実行してみます。
テストを実行するためには、イベントの設定が必要です。ここではイベント名はデフォルトのまま作成します。
実行後に実行結果が表示されます。「Response」が呼び出し元に返す結果、「Function Logs」がログです。
[2-3] ソースコードの変更
引数として受け取っている「event」と「context」の中身をprint文でログに出力してみます。ソースコードの変更後は[Deply]を押して変更を反映します。
反映されると"Changes deployed"の表示に変わります。
実行してみると「Function Logs」にeventとcontextの中身が出力されています。
contextの詳細は以下に載っています。
Python の AWS Lambda context オブジェクト - AWS Lambda
[2-4] ログの確認
[モニタリング]タブの[ログ]をクリックすると、これまでに登録されたログが表示されます。そのうちの一つをクリックすると、Cloud Watchの画面に移動します。
Lambdaの実行結果(ログ)は、Cloud Watchに登録されるようになっています。
終わりに
料金と簡単な使い方を紹介しました。AWS Lambdaは上手に使えば、色々なことに有効活用できそうです。どのような使い方があるのか今後も調べていきたいと思います。
出典
- アイキャッチはGerd AltmannによるPixabayからの画像