システム概要
今回、AWSサービスを利用して毎月のAWSの請求書ファイルをS3にアップロードするというシステムを構築しました。
具体的なアーキテクチャは以下の通りです。
まず、EventBridgeを利用して、毎月特定日にLambdaを起動するよう設定します。
起動されたLambdaはSeleniumを利用してAWSマネジメントコンソールにログイン、当月の請求ページにアクセスを行い、ページのPDF化を行います。(AWS LambdaではPythonを利用)
PDF化を行った後は、そのファイルをS3にアップロードします。
本システムにより、毎月の請求書を自動的にS3に保管することができます。
その他の活用方法
今回はAWSの請求ページで動作するシステムを構築しましたが、似たようなシステム構成で他の事例に応用することができます。
例えば、以下のようなものが考えられます。
- 毎月XXXというサイトにアクセスし、ページをPDF化したものをメールで送信する
- 毎時YYYというサイトにアクセスし、取得したデータをSlackに通知する
AWSを活用すればオンプレでサーバーを管理する必要もなく、Lambdaであればサーバレスのためコストは実行時間分のみの課金になり経済的、かつ、想定以上のアクセスが続いた時にサーバが落ちる心配がありません。
Lambdaの利用料金
Lamdaはサーバレスのためコストは実行時間分で課金されるとは言え、やはり利用料金を気にする方は多いかと思います。
ここで、参考までに東京リージョンのLambda利用料を確認してみます。
今回作成したLambda関数のスペックは「メモリ512MB」になります。
また、実行時間については、Seleniumの起動に多少オーバーヘッドがありますが、30秒程度となります。
上記の表を確認すると、メモリ512GBの場合1ミリ秒あたりの料金は0.0000000083ドルのため、1秒では0.0000083ドルとなります。
これに30をかけ、1回の起動にかかる料金は0.000249ドル、日本円に換算すると約0.03円です。
本プログラムは月1でしか起動しないため、なんと月の利用料金は0円です。
如何にAWS Lambdaを利用するのが経済的かご理解頂けましたでしょうか。
月に数百回起動する必要がある内容でも、それを人手でやるよりは明らかにコストは低いと思います。
より詳細に計算したい方は、AWSが料金計算ページを用意していますので、こちらのリンクからご確認いただけます。
ご依頼について
NeeNetでは、AWSを活用したアプリケーションの作成のご相談もお受けしています。
「インフラの知識が無くて環境構築が難しい」という方でも、クラウドサービスを利用すれば比較的容易にサービスの構築ができますので、何かお悩みがございましたら一度ご相談いただければと思います。
ご相談や依頼は下記のお問い合わせページからご連絡下さい。