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
72
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
16
Other Decks in Technology
See All in Technology
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
880
Backstageでつくるセルフサービスな社内開発基盤
kikunosuke75
1
290
PdMをやめて、 "プロダクトビルダー"という 働き方に変えました / PdM to Product Builder
shikichee
2
710
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
300
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
0
180
Hub & Spoke 環境のネットワークルーティングを分解してみる
tsuyataku
1
530
生成AI時代の クレデンシャルとパーミッション設計
nrinetcom
PRO
3
1.5k
Benchmarking Vector Databases: pgvector vs. LanceDB
tsho
0
140
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
230
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.2k
Azure Cost Management の FOCUS コストデータを迷わず読むための“3つの軸”
tetsuyaooooo
0
140
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
770
Featured
See All Featured
Between Models and Reality
mayunak
4
450
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
720
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
320
GraphQLとの向き合い方2022年版
quramy
50
15k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
340
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
310
WCS-LA-2024
lcolladotor
0
820
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の学習
ができる気がした。