AWS CDK + Step Functionsで入門してみた

AWS資格取得のためにドキュメントを読んだりしてStep Functionsは知っていましたが、仕事で使う機会もなかったのでとりあえず触っておくかということで 、AWS builders.flashに公開されている「Step FunctionsでFizzBuzzを実現する」というのをやってみました。

aws.amazon.com

AWS Serverless Application Model (SAM) を使ってデプロイできるように完成済みのプログラムが提供されていましたが、コンソールでポチポチ試したかったので、jsonベースの構造化言語である Amazon States Language(ASL) を記事通りに写経しました。

やってみて分かりましたが正直ASLを手で書くのはツラいw

「これをどうにか楽に書きたい、できればLambdaを組み合わせても試してみたい」と社内Slackでつぶやいたところ、以下のブロク記事を紹介してもらいました。

紹介

前置きが長くなりましたが、紹介したかったのはこちら!

dev.classmethod.jp

AWS CDK + Step Functions + AWS Lambdaの構成で、様々なステートを用いたステートマシンの書き方が紹介されています。

ステート

以下に関しては、実際にAWS CDKで定義してステートマシンを作成するところまでできるので、真似して書くだけで試せるのがありがたいところです。

  • Task
  • Wait
  • Parallel
  • Pass
  • Choice
  • Success *こちらは説明のみ
  • Fail *こちらは説明のみ

docs.aws.amazon.com

実践

ブログ記事を参考にステートを組み合わせてステートマシンを作ってみました。

リポジトリにあるREADMEにはセットアップ方法・ビルド・デプロイ方法を記載しています。

github.com

最後に

AWS CDKでStep Functionsを書くのは書き心地が最高に良いので、引き続きいろいろ試してみたいと思います。