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
65
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
14
Other Decks in Technology
See All in Technology
CVE-2026-20833_脆弱性対応とAES 化について
jukishiya
0
320
BPaaSで進むAIオペレーションの現在地 AI実装が効く領域とスケーラビリティの選定と実装
kentarofujii
0
240
FinOps X 2026 Recap from Engineer Side #JapanFinOps
chacco38
0
230
AI駆動開発におけるQAエンジニアの役割事例 〜AI駆動開発の現場から〜
kobayashiyorimitsu
0
120
きのこカンファレンス2026_肩書きを外したとき私は誰か
yamasatimi
1
120
「軸足」は 固定しなくていい - 熱量と強みで描く、しなやかなキャリアの形
kakehashi
PRO
1
310
5分でわかるDuckDB Quack
chanyou0311
4
290
Microsoft のサポートとフィードバック総まとめ
murachiakira
PRO
0
130
技術・能力を向上する原理原則 #きのこセッションa #きのこ2026
bash0c7
0
190
攻撃者がいなくてもAIエージェントはインシデントを起こす
nomizone
0
180
AI・ロボティクスと自動化社会 / AI, Robotics, and the Automated Society
ks91
PRO
0
130
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
320
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
550
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
750
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Marketing to machines
jonoalderson
1
5.5k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
How to Talk to Developers About Accessibility
jct
2
270
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
The SEO identity crisis: Don't let AI make you average
varn
0
510
Navigating Weather and Climate Data
rabernat
0
260
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
760
Navigating Team Friction
lara
192
16k
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の学習
ができる気がした。