Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon Qを使ってAWS Step Functionsの知識ゼロからステートマシンを作ってみた
Search
Toru TAMURA
November 09, 2025
Technology
49
0
Share
Amazon Qを使ってAWS Step Functionsの知識ゼロからステートマシンを作ってみた
@JAWS-UG Shimane vol.14
2025-11-08
Toru TAMURA
November 09, 2025
Other Decks in Technology
See All in Technology
組織的なAI活用を阻む 最大のハードルは コンテキストデザインだった
ixbox
1
150
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
910
AWSで2番目にリリースされたサービスについてお話しします(諸説あります)
yama3133
0
120
Network Firewall Proxyで 自前プロキシを消し去ることができるのか
gusandayo
0
180
「決め方」の渡し方 / How to hand over the "decision-making process"
pauli
6
1.1k
JSTQB Expert Levelシラバス「テストマネジメント」日本語版のご紹介
ymty
0
120
非同期・イベント駆動処理の分散トレーシングの繋げ方
ichikawaken
1
270
Microsoft Fabricで考える非構造データのAI活用
ryomaru0825
0
650
AI時代のシステム開発者の仕事_20260328
sengtor
0
330
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
540
OPENLOGI Company Profile
hr01
0
83k
レガシーシステムをどう次世代に受け継ぐか
tachiiri
0
240
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.6k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Optimizing for Happiness
mojombo
378
71k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
190
Building an army of robots
kneath
306
46k
Evolving SEO for Evolving Search Engines
ryanjones
0
170
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
95
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
190
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
100
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Making Projects Easy
brettharned
120
6.6k
Transcript
JAWS-UG Shimane vol.14 2025-11-08 #jawsug #jawsug_sm Amazon Qを使って AWS Step
Functionsの知識ゼロから ステートマシンを作ってみた
自己紹介 2 • 田村 とおる (Toru TAMURA) • 1981.12生まれ /
安来市在住 • 2006.04 〜 2007.07 図書館員 • 2007.08 〜 NOW() なんでもやエンジニア (オンプレ、AWS、PHPer, Perl and more…)
• Developer, Businessがあります。 • 他にもQuick Sight, Connect, SupplyChainなどにも Qがはいっています。 •
今回はコード生成が目的なので、Amazon Q Developerを使います。 • 各種IDEを通して使うことができますが、今 回はAWSコンソールから使ってみます。 Amazon Qとは
• 分散アプリケーションのための視覚的にワー クフローを作成することができます。 • 組み合わせる事ができるAWSサービスは多種 にわたります。 • AWS APIとの連携機能が豊富なのでAWS APIの
呼び出し操作をローコードで実装することが 可能です。 • 作成した定義をステートマシンと呼びます。 AWS Step Functionsとは
今回やってみたこと • 特定のEC2インスタンスについて、週末だけスケールアップして、週明けにはスケールダウンしたい. スケールアウトだったらAuto Scalingでいいんだけど、スケールアップだからなぁ… しかも、週明け月曜日がハッピーマンデーの場合はまだスケールアップ状態にしておきたいとなると 単純な曜日指定だけだと無理そう ↓ • それならStep
Functionsでなんか自動化できないかな? でも知識ほぼゼロから組もうと思ったら手順多そう。。。 ↓ • そこで今回はAmazon Qに聞いてみた.
• AWSのStep Functionsを使ってEC2インスタンスを特定の日にスケールアップす るようにしたい。 • Step Functionsのコードだけ提示してください。 • - スケールアップのタイミングはカレンダーで任意に設定できるようにしたい。
• - スケールアップの対象インスタンスとインスタンスタイプはStep Functions実 行時にパラメータとして複数セットで渡す。 ↓ • 最初に出来上がったもの. • 日付が実行時パラメータで設定する方法だったのと、並列処理ができるよう になっていた。 • まずは並列処理は不要だからシーケンシャル処理に変更してもらおう Amazon Qに聞いてみた
• 複数インスタンスが対象でも並列処理は行わずにシーケン シャルに処理して ↓ • いい感じにループを回すように見えたので、日付設定はSSM Changed Calendarを使うように変更してもらおう Amazon Qに聞いてみた
• カレンダーは 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
• それじゃ、最初の並列処理していたやつを同時処理1つ にしてやってもらおう. • 最初の並列処理にSSM Changed Calendarを組み込んだ方 法にして。 ただし、同時処理は1つだけにしたい ↓
• 今度は State.ArraySelect() ってまた存在しない組み込み 関数を使ってた。。。 • 見た感じ、最後の実行結果のところだけだからなくて もよさそうなので、バッサリとカット • 今度はエラーもないのでこれでいいかな. Amazon Qに聞いてみた
• ってことで出来上がったのがこちら • Map Stateを使ってシンプルな構成になっているので出来上がった ものを理解しやすくなりました。 Amazon Qに聞いてみた
• Amazon Qと同じように最初は並列処理&日付は実行時パラメータ で設定のパターンだったので、 • 同じように「並列処理じゃなくてシーケンシャル処理に変更し て」とお願いしたら同時処理数を1に変更して、他の変更はな かった。 • カレンダー対応も同じようにしてもらって、出来上がったのが
こちら. • あれ?Amazon Qでつくったものよりこっちが良くない? 比較のために Kiro でもやってみた
感想 • Step Functionsの知識ほぼゼロからでも動くものを作ることができた。 • 存在しない組み込み関数については、ググってみて気付いたんだけど、最初はほんとになんでなのか わからなかった。 • やりたいことを生成AIに伝えてコード化してもらったものを読み解くということでStep Functionsの学習
ができる気がした。