AWS Lambdaで簡単に定期実行処理を作成するには?


AWS Lambdaとは?
AWS Lambdaとは、AWSのサービスの1つで、サーバーレスにプログラムを実行してくれるサービスです。
プログラム処理や定期実行処理などを実施したい場合、サーバーを用意して、特定のプログラム言語をインストールして・・・などと前準備に時間や費用がかかってしまいます。しかしAWS Lambdaなら事前準備不要でプログラム処理や定期実行処理が簡単にできます。
AWS Lambdaのメリット
AWS Lambdaは「環境構築が不要」「価格が安い」「実行サーバーのスペックを気にする必要がない」といったメリットがあげられます。
クラウドサーバーやオンプレサーバーで、プログラム処理や定期実行処理を1から作った経験がある方なら、この3つのメリットは大変嬉しいサービスでしょう。AWS Lambdaを上手に利用して快適にプログラム処理や定期実行処理を作っていきましょう。
AWS Lambdaは環境構築が不要
AWS Lambdaはサーバーレスコンピューティングサービスなため、環境構築が不要なサービスです。
使用できる言語は、Java、Go、PowerShell、Node.js、C#、Python、Rubyで、これらの言語で書かれたプログラム処理は環境構築不要で実施が可能となります。
AWS Lambdaは価格が安い
AWS Lambdaの値段は、リクエスト数と処理実行時間によって決定されます。
例えば東京リージョンだと、リクエスト100万件あたり0.20USD、処理実行時間についてはGB-秒あたり 0.0000166667USDという値段です。また無料枠については、1か月ごとに100万件、また40万GB-秒のコンピューティング時間となっています。
ちょっとしたプログラム処理や定期実行処理を実施したい場合は、AWS Lambdaだとかなり安い費用で運用することができるのがわかります。
AWS Lambdaは実行サーバーのスペックを気にする必要がない
AWS Lambdaは自動スケーリングという機能を持っており、プログラム実行環境のスペックを気にする必要はありません。
例えば、定期実行処理が同時刻に何度もリクエストされる場合であっても、リクエスト受信の回数に合わせて自動的に対応をしてくれます。もちろんリクエスト回数に上限はありません。
その結果、私たちユーザーはサーバーのスペックを気にすることなくプログラム処理を実施することができます。
CloudWatch Eventsとは?
CloudWatch Eventsとは、定義されたルールに従って、AWSのサービスを実行することができるサービスです。AWS Lambdaでの定期実行処理は、CloudWatch Eventsを利用することで実現できます。
CloudWatch Eventsでは、イベント、ルール、ターゲットの3つを設定する必要があります。
CloudWatch Eventsのイベントとは?
CloudWatch Eventsのイベントとは、AWSの環境の変化を指します。Cronのように特定の時刻になった時にイベントを発火させることができます。
CloudWatch Eventsのルールとは?
CloudWatch Eventsのルールとは、 イベントを振り分けるためのルールです。ルールによって、検出されたイベントは処理のためにターゲットに振り分けます。また、ターゲットは複数個設定することも可能です。
CloudWatch Eventsのターゲットとは?
CloudWatch Eventsのターゲットとは、 ルールによって振り分けられたイベントを実施するAWSサービスのことです。
設定できるターゲットは、Amazon EC2、AWS Lambda、Amazon Kinesis Data Streams、Amazon Kinesis Data Firehose、Amazon CloudWatch Logs、Amazon ECS、Systems Manager、AWS Batch、Step Functions、CodePipeline、CodeBuild、Amazon SNS、Amazon SQSです。
CloudWatch Eventsの料金は?
CloudWatch Eventsの値段は、イベントの件数によって決定されます。
例えば東京リージョンだと、イベント100万件あたり1.00USDという値段で、初期費用や最低利用料金は不要です。
AWS LambdaとCloudWatch Eventsで定期実行処理を作成しよう
ここからは、AWS LambdaとCloudWatch Eventsで定期実行処理を作成する手順を解説します。
作成方法をおさえて、作業の効率化を目指しましょう。
AWS Lambda関数を作成してみる
AWS Lambdaで定期実行処理を試すために、まずは、AWS Lambdaを作成しましょう。
AWS ConsoleからAWS Lambdaを選択します。関数を選択し、関数の作成ボタンを押します。その後1から作成を選択し、適当な関数名を入力します。
また関数を記述する言語としてランタイムはRuby 2.7を選択します。特に他の設定は変更せず、画面下部の関数の作成をクリックすると、AWS Lambdaが作成されます。
関数コードを記述する
関数コードに、実施したい定期処理を記述します。今回は、簡単にHello Worldを返却する処理を記述します。
index.jsを選択し、以下のコードを入力します。
exports.handler = async (event) => {
// TODO implement
const response = {
statusCode: 200,
body: JSON.stringify('Hello from Lambda!'),
};
return response;
};
関数コードをテストしてみる
関数コードの記述が終了したら、関数コードのテストをしてみましょう。
関数コードの上部にあるTestを選択し、任意のテストイベントを作成します。今回は、新しいテストイベントの作成を選択し、hello-worldで作成します。
再度Testを選択し、テストが実行されることを確認します。テスト結果が、Execution Resultとして表示されます。以下のようになっていれば成功です。
Response
{
"statusCode": 200,
"body": "\"Hello from Lambda!\"
}
Function Logs
START RequestId: 37781372-cd51-4540-801a-2a991b280ba9 Version: $LATEST
END RequestId: 37781372-cd51-4540-801a-2a991b280ba9
REPORT RequestId: 37781372-cd51-4540-801a-2a991b280ba9 Duration: 12.82 ms Billed Duration: 13 ms Memory Size: 128 MB Max Memory Used: 66 MB
Request ID
37781372-cd51-4540-801a-2a991b280ba9
CloudWatch Eventsを作成する
無事にAWS Lambdaが作成できたので、CloudWatch Eventsを作成します。
トリガーを追加を選択し、Amazon EventBridge (CloudWatch Events)を選択します。ルール名、ルールの説明は任意に設定し、ルールタイプはスケジュール式を選択します。スケジュール式はrate(5 minutes)と入力してみましょう。毎分5分ごとという意味です。
最後に画面下部の追加を選択します。これで無事に定期実行処理のトリガーの作成が完了しました。
定期実行されていることを確認
AWS Lambdaが先ほど設定したCloudWatch Eventsで、5分間隔で定期実行されているかを確認します。
作成したAWS Lambdaを選択し、モニタリングを選択します。CloudWatch メトリックスより、Duration、Error count and success rateより5分感覚で処理が実行されていれば成功です。また、CloudWatchのログを表示から、ログも確認することができます。
定期実行処理はAWS Lambdaで作ろう!
ちょっとしたプログラム処理や定期実行処理は、AWS LambdaとCloudWatch Eventsで簡単に作成できることがわかりました。また値段もかなり抑えて作成することが可能です。プログラム処理や定期実行処理は積極的にAWSで作成していきましょう。
この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。