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
0
39
Amazon Qを使ってAWS Step Functionsの知識ゼロからステートマシンを作ってみた
@JAWS-UG Shimane vol.14
2025-11-08
Toru TAMURA
November 09, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
pool.ntp.orgに ⾃宅サーバーで 参加してみたら...
tanyorg
0
1.3k
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
3
210
マネージャー視点で考えるプロダクトエンジニアの評価 / Evaluating Product Engineers from a Manager's Perspective
hiro_torii
0
190
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
430
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
130
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
330
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
190
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
1
170
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
110
Exadata Fleet Update
oracle4engineer
PRO
0
1.1k
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
170
Tebiki Engineering Team Deck
tebiki
0
24k
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
A Tale of Four Properties
chriscoyier
162
24k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
A Soul's Torment
seathinner
5
2.3k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
230
30 Presentation Tips
portentint
PRO
1
230
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.1k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
330
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の学習
ができる気がした。