AWS lambdaと費用について

AWS Lambdaとは

Amazon.comが提供しているソフトウェアで用意された実行環境の中で、必要なプログラムのみを作成、配置をすることができるクラウドコンピューターサービスです。AWS lambdaの優れている点は、ユーザーに代わって操作や管理のアクティビティを実行してくれるというところです。これにより、サーバーの利用や運用を可能にする為の整備や管理などクリエイティブな部分以外の多くをユーザーは省略することができます。

サーバーの管理で発生する作業

サーバーを所有する事により、ユーザーは以下の作業を行わなくてはなりません。

・OSのセットアップとネットワーク設定 → サーバーの基礎部分の作成

・ランタイム(実行時間)やミドルウェアのセットアップ → 動作の為の環境作成

・容量やシステム規模増大に対するシステム管理 → 処理量の問題解決

・問題発生時の稼働維持への対策(複数台構成など) → サービスのダウン防止

・セキュリティパッチの適用 → 安全性の確保

維持や更新の作業は、ユーザーへの大きな負担となり制作等に使われるべき時間の多くを消費してしまうことになります。必要環境によっては、サーバーの質もユーザーは考えていかなければいけません。これらのことから時間的コストの面においても作業の効率やスピード、新しいシステムを創造していく上でサーバーの所有は多くのユーザーのネックとなっている部分といえるではないでしょうか。
こういったサーバーの管理に関する事柄を代行してくれるAWS lambdaであれば、これらの問題を直ちに解決することができます。

AWS lambdaの利点

AWS Lambdaにサーバーを任せている状態である為サーバー設定の自由度はやや下がってしまいますが、サーバーの管理や設置は必要ありません。そのためユーザーに必要な作業は、作成したコードをAWS lambdaにアップロードするだけになります。また、セキュリティにおいてもAWS lambda側でメンテナンスやセキュリティパッチの適用が行なわれます。それに伴った、メンテナンス時間やサーバーのダウン時間は基本的にはありません。コードに関してはAWS Lambdaは多くの言語に適用しており、Java、Go、PowerShell、Node.js、C#、Python、Rubyをサポートしているのと共に、対応していない言語においてはRuntime APIを利用し使用可能にすることができます。

リクエスト受信数や負荷に対応する環境を整えるために自動でスケーリングされます。リクエスト受信数には制限はありません。コードは必要なタイミングでのみミリ単位で実行されるため、負荷が少なく高いパフォーマンスを維持することができます。AWS Lambdaは単体での使用が出来ない為、Amazon S3などを使いデータのアップしAWS Lambdを実行したりする必要があります。実行するためのトリガーはAWSのサービスを利用することにより拡張性の高い設定が可能になります。

AWS lambdaにかかる費用

AWS Lambdaには1か月単位で無料枠が設けられています。毎月100万件のリクエスト及び40万GB-秒の実行時間は料金がかからず、無料枠を超えてから費用が加算されていきます。AWS Lambdaは先ほども述べたように、必要なタイミングでのみミリ単位での実行が行われる為動いていない時には費用が掛かることが無く無料枠使用時でもそれが適用されています。

無料枠を超えてからは関数に割り当てたメモリ数と実行時間、実行回数で処理に対する金額が決ってきます。リクエスト数に対しても金額の加算がある為、AWS Lambdaにかかる最終的な金額はコンピューティング料金とリクエスト料金の合算となります。

計算式としては以下のようになっております。

コンピューティング料金:

 実行時間(秒)× 実行回数 × 関数のメモリ量(MB)÷ 1024Byte = GB-秒

 GB-秒 × メモリに対するミリ秒単価 = コンピューティング料金

リクエスト料金:

 リクエスト数 × 単価 = リクエスト料金

コンピューティング料金 + リクエスト数 = 毎月の支払金額

こういった方法により、AWS Lambdaの毎月の料金は決まります。また、それぞれ違うメモリ量の関数を複数使用していた場合は別々に計算され合算されます。

まとめ

常にアクセスされるサーバーに対しては、AWS Lambda自体に掛かる費用とサーバーを所有した際に掛かる費用が変わらないということがあるかもしれません。しかし、最初でも述べたようにAWS Lambdaにすることによりサーバー管理に多くの時間と労力を費やすという事がなくなります。さらに、AWS Lambdaは様々な用途に用いることが可能で柔軟性も兼ね備えております。掛かる費用に対して発揮されるパフォーマンスを見てみれば、AWS Lambdaの性能の高さがよく解ります。

従来とは違うサーバーの考え方を取り入れ、改めて費用が見合っているのかを考えてみるのもいいかもしれません。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です