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
510
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
8
AWS Summit 2025 の見どころを振り返る!
masuchoku
0
190
AWS TransferFamilyを使ってみた!
masuchoku
0
260
AWSを触ってきた数年間を振り返る!
masuchoku
1
290
API Gatewayと少し仲良くなってみた!
masuchoku
0
810
スライド作りから LTを楽しもう! エンジョイ、 エンジニアライフ!
masuchoku
1
530
APCのAWS認定マスターたちに聞いてみた
masuchoku
0
190
AppSync入門! GraphQL APIを作ってみた!
masuchoku
3
930
AWSとJenkinsおじさん で学んできたCI_CD
masuchoku
1
1.2k
Other Decks in Technology
See All in Technology
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
470
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
slog.Handlerのよくある実装ミス
sakiengineer
4
420
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
230
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
170
プラットフォーム転換期におけるGitHub Copilot活用〜Coding agentがそれを加速するか〜 / Leveraging GitHub Copilot During Platform Transition Periods
aeonpeople
1
210
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.6k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
450
20250913_JAWS_sysad_kobe
takuyay0ne
2
240
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
AI開発ツールCreateがAnythingになったよ
tendasato
0
130
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Fireside Chat
paigeccino
39
3.6k
Practical Orchestrator
shlominoach
190
11k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Typedesign – Prime Four
hannesfritz
42
2.8k
Facilitating Awesome Meetings
lara
55
6.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Gamification - CAS2011
davidbonilla
81
5.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Site-Speed That Sticks
csswizardry
10
820
Code Review Best Practice
trishagee
71
19k
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 楽しみましょう!