CloudFormationでStep Functionsをデプロイする
Lambdaを直列に実行するだけの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としてローカルに保存し、アップロードします。
スタック名など入力し、最後に「送信」を押せば1分程度でステートマシンが作成されます。
参考サイト
AWS::StepFunctions::StateMachine - AWS CloudFormation
Use the AWS CloudFormation AWS::StepFunctions::StateMachine resource for StepFunctions.

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント