- Step Functionsの作成方法
今回は、Step Functionsを使ってLambdaの呼び出し方のアルゴリズムを作成していきます。
事前準備
まず、Step Functionsを使うための環境設定をしておきましょう。
IAMロールの作成
Step Functionsが他のリソース(Lambdaなど)を操作するためには、IAMロールをアタッチして権限を付与する必要があります。
そのため、事前にアタッチするIAMロールを準備しておきましょう。
今回はStep FunctionsがLambdaを呼び出せるように、Lambdaのアクセス許可をするIAMロールを作成していきます。
まず、AWSサービスの一覧を表示します。
AWSサービス一覧のから「IAM」を選択します。
ロールを選択します。
「ロールを作成」を選択します。
アクセス権を設定するエンティティを選択します。
ここでは「Step Function」を選んでください。
「次のステップ」を選択して、次へ進みます。
アタッチするポリシーを選択します。
Lambdaを呼び出すための「AWSLambdaRole」を設定しています。
「次のステップ」を選択します。
任意の名称をロールにつけます。
今回は「 StepFunction-lambdaaccess」としました。
最後に「ロールの作成」を選択すると、新しいロールを作成することができます。
これでStep FunctionsがLambdaの呼び出しを許可するIAMロールを作成することができました。
Step Functionsの作成
実際に動作させるStep Functionsを作っていきます。
まず、AWSサービスの一覧を表示します。
AWSサービス一覧から「Step Functions」を選択します。
Step Functionsを新規作成していきます。
新規作成は、「ステートマシンの作成」を選択します。
デフォルトのままで「次へ」を選択します。
ワークフローを作成してアルゴリズムを定義していきます。
Lambdaを呼び出してインターバルをはさむという処理を繰り返すワークフローを定義しました。
引数として「names」変数としてデータを受け取る設定もしています。
また、Lambdaは並列処理しないように最大同時実行数を1にしています。
「Lambda Invoke」で呼び出すlambdaを設定します。
「Wait」で待機時間を5秒に設定しています。
「次へ」を選択してワークフローを確定します。
ワークフローの設定を確認し、「次へ」を選択します。
ステートマシンの命名とアクセス許可を指定します。
アクセス権は先程作った「StepFunction-lambdaaccess」を設定しました。
詳細設定が終わったら「ステートマシンの作成」を選択します。
これでStep Functionの準備は完了です。
まとめ
サーバレスのアルゴリズムを設定するStep Functionの作成手順を解説しました。
マネジメントコンソール上でGUIを用いた設定が可能で分かりやすくなっています。
処理を並列にしたい場合など柔軟にLambdaを動作させることができます。
コメント