CloudFormationでStep Functionsをデプロイする

CloudFormationでStep Functionsをデプロイする

Lambdaを直列に実行するだけのStep FunctionsをCloudFormationでデプロイします。

作成されるStep Functionsはこんな感じです。

CloudFormationでStep Functionsをデプロイする

前提

Lambda 名称 ARN
lambda1 lambda-1 arn:aws:lambda:ap-northeast-1:123456789012:function:lambda-1
lambda2 lambda-2 arn:aws:lambda:ap-northeast-1:123456789012:function:lambda-2
IAM-Role Stepfunctions-Sample-Role arn:aws:iam::123456789012:role/service-role/Stepfunctions-Sample-Role

LambdaとStepFuntionsのロール作成済みとします。

CloudFormation

DefinitionでStepFunctionの定義を記述します。JSON形式にしていますがyaml形式でも大丈夫です。

AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Description: This CloudFormation template

Resources:
  MyStateMachine:
    Type: AWS::StepFunctions::StateMachine
    Properties:
      RoleArn: "arn:aws:iam::123456789012:role/service-role/Stepfunctions-Sample-Role"
      Definition:
        {
          "Comment": "lambda",
          "StartAt": "lambda1",
          "States": {
            "lambda1": {
              "Type": "Task",
              "Resource": "arn:aws:lambda:ap-northeast-1:123456789012:function:lambda-1",
              "Next": "lambda2"
            }
            "lambda2": {
              "Type": "Task",
              "Resource": "arn:aws:lambda:ap-northeast-1:123456789012:function:lambda-2",
              "End": true
            }
          }
        }
      StateMachineName: "sample-step-funcitons"

スタックの作成

マネジメントコンソールから「スタックの作成」をします。cfn.ymlとしてローカルに保存し、アップロードします。

CloudFormationでStep Functionsをデプロイする

スタック名など入力し、最後に「送信」を押せば1分程度でステートマシンが作成されます。

CloudFormationでStep Functionsをデプロイする

参考サイト

AWS::StepFunctions::StateMachine - AWS CloudFormation
Use the AWS CloudFormation AWS::StepFunctions::StateMachine resource for StepFunctions.

コメント

タイトルとURLをコピーしました