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
Step Functionsと少し仲良くなってみた
Search
Nao Masuya
June 28, 2024
Technology
1
580
Step Functionsと少し仲良くなってみた
2024/6/28開催の生成AIの話をしたら即終了!ランチタイムLTイベントでの登壇資料です!
Nao Masuya
June 28, 2024
Tweet
Share
More Decks by Nao Masuya
See All by Nao Masuya
久しぶりのAWS!JAWS!初めてBedrockを触ってリハビリ!
masuchoku
0
15
AWS Summit 2025 の見どころを振り返る!
masuchoku
0
270
AWS TransferFamilyを使ってみた!
masuchoku
0
340
AWSを触ってきた数年間を振り返る!
masuchoku
1
340
API Gatewayと少し仲良くなってみた!
masuchoku
0
920
スライド作りから LTを楽しもう! エンジョイ、 エンジニアライフ!
masuchoku
1
600
APCのAWS認定マスターたちに聞いてみた
masuchoku
0
220
AppSync入門! GraphQL APIを作ってみた!
masuchoku
3
960
AWSとJenkinsおじさん で学んできたCI_CD
masuchoku
1
1.4k
Other Decks in Technology
See All in Technology
スクラムを一度諦めたチームにアジャイルコーチが入ってどう変化したか
kyamashiro73
0
170
迷わない!AI×MCP連携のリファレンスアーキテクチャ完全ガイド
cdataj
0
210
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
170
CQRS/ESになぜアクターモデルが必要なのか
j5ik2o
0
560
AIと融ける人間の冒険
pujisi
0
110
2025年 山梨の技術コミュニティを振り返る
yuukis
0
150
Java 25に至る道
skrb
3
150
「駆動」って言葉、なんかカッコイイ_Mitz
comucal
PRO
0
130
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
820
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
あの夜、私たちは「人間」に戻った。 ── 災害ユートピア、贈与、そしてアジャイルの再構築 / 20260108 Hiromitsu Akiba
shift_evolve
PRO
0
400
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
2
190
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
170
The Spectacular Lies of Maps
axbom
PRO
1
410
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Statistics for Hackers
jakevdp
799
230k
The untapped power of vector embeddings
frankvandijk
1
1.5k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
75
The Pragmatic Product Professional
lauravandoore
37
7.1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
870
How to train your dragon (web standard)
notwaldorf
97
6.5k
Un-Boring Meetings
codingconduct
0
170
Transcript
Step Functionsと少し仲良くなってみ た! 2024/6/28 生成AIの話をしたら即終了!ランチタイムLTイベント 株式会社エーピーコミュニケーションズ 升谷直緒
2 所属 株式会社エーピーコミュニケーションズ @apc_tweet 自己紹介
3 少し宣伝 【6月中旬発売予定】カプセルトイ 『手のひらネットワーク機器2』 を企画・監修しました! 本企画は、総合監修を務める当社 が 「ITインフラを一般の方にも 知ってもらい、業界を盛り上げた
い という想いから立案し、これに 共感した A10ネットワークス様・ シスコ様・古河電工様の協力によ り実現に至りました。
4 自己紹介 株式会社 エーピーコミュニケーションズ システム基盤サービス事業本部 クラウド事業部 IaC技術推進部 升谷直緒 • 2020年入社
• SIerとして5年目 • AWSは使い始めて4年目 • CI/CDの導入支援 • Webアプリの改善運用 • リモートワーク @masuchoku
5 アウトプット • ブログ ◦ 月1程度で更新したい • LT ◦
AWS関連のコミュニティ ▪ 社外の人と関われる貴重な機会 ▪ 普段使わないAWSサービスに触れる ▪ さまざまな支部があるから色々参加してみ るのと楽しい ◦ Women Developers Summit 2023 ▪ 女性エンジニアのイベント ▪ アウトプットしよう!というテーマでLT
6 AWS Summit 2024行きましたー!
7 今日のテーマ Step Functionsを使ったLambdaを複数呼び出す アーキテクチャに携わった! ↓ Step Functions の魅力をLT!
AWS初心者の方へ届け!
AWS Cloud 8 AWS Step Functions workflow EventBridge Lambda Redshift
S3 Lambdaを複数呼び出すアーキテクチャ API Gateway 1. EventBridgeから StepFunctionsを呼び出す 2. Lambdaを使ってAPI Gatewayから複数のデータを 取得し、S3へ格納 3. 後続Lambdaは並行で実行さ れS3のデータ一つ一つを加工 し、DBへ保存 入力 出力 入力 出力 入力 出力 入力 出力
9 今日のアジェンダ 1. Step Functionsとは何者!? 2. 初心者の方へ伝えたい推しポイント 3. Step
Functionsの細かい特徴
10 ドラッグアンドドロップ で視覚的に ワークフローが作れる ので本当に簡単 jsonが自動で作成される ので勉強になる 1. Step
Functionsとは何者!? 分散アプリケーションの ための 視覚的なワークフロー AWSの公式サイト
11 2. 初心者の方へ伝えたい推しポイント Lambdaを連続で実行するワークフローを 作成できるのはもちろんのこと、 • 一つ前のLambdaの出力が次のLambdaの入 力として使える •
フロー機能の中のMapを使うことで一つの Lambdaを並行実行できる • パターン機能の中のProcess S3 Objectを使 うことでS3バケットの中身を自動的に入力 として使うことができる
12 2. 初心者の方へ伝えたい推しポイント ワークフローの中に組み込める アクションはLambdaに限らず、 220以上のAWSサービスをローコード(ノーコード!?)で ワークフローを作り自動化ができる。 • Lambdaで実装しようと思っていた処理が実は、Step
Functionsを使うとノーコードで実装できる可能性がある
13 2. 初心者の方へ伝えたい推しポイント Systems Managerで「EC2インスタンスのyum updateを定期実行させる」処理を実装した が、一部をStep Functionsで置き換えが可能そう! 定期実行は
EventBridge にお願いしな いといけない 点では Systems Manager の方がいいの か? インスタンス 起動停止の 設定は StepFunctions の方が楽そうだ
14 3. Step Functionsの細かい特徴 "ItemBatcher": { "MaxItemsPerBatch": 3 //
受け取った入力を1回のLambda処理で何個ずつ処理するか }, "MaxConcurrency": 10, // 何個のLambdaを並行で実行するのか "Retry": [ { "ErrorEquals": [ "States.ItemReaderFailed" // 何のエラーの場合リトライするのか ], "IntervalSeconds": 1, "MaxAttempts": 3, // 何回までリトライするのか "BackoffRate": 2 } ], "Catch": [ { "ErrorEquals": [ "States.ALL" ], "Next": "異常終了" } ], 入力 [ { "nervous": "true", "lt_date": "4/16/2024", "whats_lt_about": "api_gateway" }, { "nervous": "true", "lt_date": "10/25/2023", "whats_lt_about": "appsync" }, { "nervous": "true", "lt_date": "3/29/2023", "whats_lt_about": "systems_manager" } ] 出力 入力 出力 入力 出力 "MaxConcurrency"
15 3. Step Functionsの細かい特徴 AWS Step Functions で Task
の出力を保持しておき後の Task で参照する 出力 入力 入力 出力 入力 出力 入力 出力 • Workflow Studio の初期設定のままだと直 前のステートの結果しか残らない • 出力(特に ResultPath と OutputPath) をきちんと設定すればあるステートでの 出力を保持してしばらく後のステートで も参照できる チームメンバーの ブログへ飛びます!
16 Thank you! ご静聴ありがとうございました! Step Functions 楽しみましょう!