はじめに

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に任せちゃいましょう。

この記事を読んでアイレットに興味を持ってくださった方は、ぜひ採用ページをご覧ください!