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
450
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 TransferFamilyを使ってみた!
masuchoku
0
200
AWSを触ってきた数年間を振り返る!
masuchoku
1
250
API Gatewayと少し仲良くなってみた!
masuchoku
0
710
スライド作りから LTを楽しもう! エンジョイ、 エンジニアライフ!
masuchoku
1
470
APCのAWS認定マスターたちに聞いてみた
masuchoku
0
180
AppSync入門! GraphQL APIを作ってみた!
masuchoku
3
880
AWSとJenkinsおじさん で学んできたCI_CD
masuchoku
1
1.1k
推しメンは Systems Manager
masuchoku
0
110
Other Decks in Technology
See All in Technology
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
170
基調講演: 生成AIを活用したアプリケーションの開発手法とは?
asei
1
120
比起獨自升級 我更喜歡 DevOps 文化 <3
line_developers_tw
PRO
0
140
技術職じゃない私がVibe Codingで感じた、AGIが身近になる未来
blueb
0
120
宇宙パトロール ルル子から考える LT設計のコツ
masakiokuda
2
100
Snowflake Intelligenceで実現できるノーコードAI活用
takumimukaiyama
1
210
Amazon Q Developer for GitHubとAmplify Hosting でサクッとデジタル名刺を作ってみた
kmiya84377
0
2.6k
What's new in OpenShift 4.19
redhatlivestreaming
1
220
CI/CDとタスク共有で加速するVibe Coding
tnbe21
0
110
Tenstorrent HW/SW 概要説明
tenstorrent_japan
0
390
20250612_GitHubを使いこなすためにソニーの開発現場が取り組んでいるプラクティス.pdf
osakiy8
1
730
(非公式) AWS Summit Japan と 海浜幕張 の歩き方 2025年版
coosuke
PRO
1
180
Featured
See All Featured
A Tale of Four Properties
chriscoyier
159
23k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
130
Why Our Code Smells
bkeepers
PRO
337
57k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.9k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Docker and Python
trallard
44
3.4k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Practical Orchestrator
shlominoach
188
11k
Building Applications with DynamoDB
mza
95
6.4k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
A better future with KSS
kneath
239
17k
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 楽しみましょう!