Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon Qを使ってAWS Step Functionsの知識ゼロからステートマシンを作ってみた

Avatar for Toru TAMURA Toru TAMURA
November 09, 2025

Amazon Qを使ってAWS Step Functionsの知識ゼロからステートマシンを作ってみた

@JAWS-UG Shimane vol.14
2025-11-08

Avatar for Toru TAMURA

Toru TAMURA

November 09, 2025
Tweet

Other Decks in Technology

Transcript

  1. JAWS-UG Shimane vol.14 2025-11-08 #jawsug #jawsug_sm Amazon Qを使って AWS Step

    Functionsの知識ゼロから ステートマシンを作ってみた
  2. 自己紹介 2 • 田村 とおる (Toru TAMURA) • 1981.12生まれ /

    安来市在住 • 2006.04 〜 2007.07 図書館員 • 2007.08 〜 NOW() なんでもやエンジニア (オンプレ、AWS、PHPer, Perl and more…)
  3. • Developer, Businessがあります。 • 他にもQuick Sight, Connect, SupplyChainなどにも Qがはいっています。 •

    今回はコード生成が目的なので、Amazon Q Developerを使います。 • 各種IDEを通して使うことができますが、今 回はAWSコンソールから使ってみます。 Amazon Qとは
  4. • AWSのStep Functionsを使ってEC2インスタンスを特定の日にスケールアップす るようにしたい。 • Step Functionsのコードだけ提示してください。 • - スケールアップのタイミングはカレンダーで任意に設定できるようにしたい。

    • - スケールアップの対象インスタンスとインスタンスタイプはStep Functions実 行時にパラメータとして複数セットで渡す。 ↓ • 最初に出来上がったもの. • 日付が実行時パラメータで設定する方法だったのと、並列処理ができるよう になっていた。 • まずは並列処理は不要だからシーケンシャル処理に変更してもらおう Amazon Qに聞いてみた
  5. • カレンダーは SSM Changed Calendar を使って ↓ • ループの前段階にカレンダーチェックが増えたのでこ れでよさそう。

    • 早速Step Functionsでステートマシン作ってコードをコ ピペ。 ↓ • あれ、エラーがある • States.ArrayAppendのところでエラーが? • Step Functionsの組み込み関数を使っているようだけど 調べてみると ArrayAppend() は存在しない(*1)!! Amazon Qに聞いてみた *1: https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/intrinsic-functions.html
  6. • それじゃ、最初の並列処理していたやつを同時処理1つ にしてやってもらおう. • 最初の並列処理にSSM Changed Calendarを組み込んだ方 法にして。 ただし、同時処理は1つだけにしたい ↓

    • 今度は State.ArraySelect() ってまた存在しない組み込み 関数を使ってた。。。 • 見た感じ、最後の実行結果のところだけだからなくて もよさそうなので、バッサリとカット • 今度はエラーもないのでこれでいいかな. Amazon Qに聞いてみた