はじめに
Global Solutions事業部の緒方です。
今回は、毎日とか毎週、とかの間隔で実行するような少しだけ面倒なタスクをAWSに任せる方法を書きます。
実現方法は、AWS LambdaとAmazon EventBridgeを組み合わせるシンプルなもので、これにより手動でのトリガーが不要な自動化されたワークフローを構築します。
させたいこと
- AWS Lambdaに処理内容をセットする
- Amazon EventBridgeを使って定期的なLambda関数の実行をスケジュールする
Lambdaの作成
Lambdaのページより関数の作成を選択し、以下のように入力する。
私はPythonで入力しましたが、Lambdaは複数のランタイム(関数が呼び出されたときに Lambda 関数のハンドラメソッドを実行するプログラム)がサポートされているので、みなさんは好きなもの選んでください。
EventBridgeの設定
「EventBridgeスケジュール」を選択して、「スケジュールを作成」を押します。
適当なスケジュール名を入れて、実行タイミングを指定します。
今回は1日おきに実行させる想定で、1daysを選択しています。フレックスタイムウィンドウは「オフ」とします。
開始時間と、繰り返しをいつまで行いたいかを入力します。ここでは繰り返しの終了タイミングは指定していないので、ずっと実行されるようになっています。
つぎに、EventBridgeと連携するサービスを選びます。今回はLambdaと連携させるので以下のようにLambdaを選びます。
これで連携は完了です。次に、実行日時を経過した後に動作が行われたかを見てみます。
実行確認
こちらはCloudWatch。ログから実行に成功していることがわかります。
こちらはLambdaのモニタリング。実行が成功していることがわかります。
さいごに
いろいろ面倒なことはAWSに任せちゃいましょう。
この記事を読んでアイレットに興味を持ってくださった方は、ぜひ採用ページをご覧ください!