Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Amazon Qを使ってAWS Step Functionsの知識ゼロからステートマシンを作ってみた
Search
Toru TAMURA
November 09, 2025
Technology
77
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amazon Qを使ってAWS Step Functionsの知識ゼロからステートマシンを作ってみた
@JAWS-UG Shimane vol.14
2025-11-08
Toru TAMURA
November 09, 2025
More Decks by Toru TAMURA
See All by Toru TAMURA
S3 & Lambda 物品管理システム構築
torut
0
22
Other Decks in Technology
See All in Technology
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
320
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
180
USB PDを使ってスマホを労わりたい
raspython3
0
180
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
120
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
180
専門領域のAIをどう評価するか
bengo4com
2
280
大型犬好きによるPugの紹介
yamanoku
1
160
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
200
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
200
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
220
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
290
Featured
See All Featured
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
580
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Scaling GitHub
holman
464
140k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Speed Design
sergeychernyshev
33
2.2k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Building an army of robots
kneath
307
47k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
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の学習
ができる気がした。