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
360
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
120
AWSを触ってきた数年間を振り返る!
masuchoku
1
170
API Gatewayと少し仲良くなってみた!
masuchoku
0
550
スライド作りから LTを楽しもう! エンジョイ、 エンジニアライフ!
masuchoku
1
400
APCのAWS認定マスターたちに聞いてみた
masuchoku
0
130
AppSync入門! GraphQL APIを作ってみた!
masuchoku
3
800
AWSとJenkinsおじさん で学んできたCI_CD
masuchoku
1
940
推しメンは Systems Manager
masuchoku
0
98
Other Decks in Technology
See All in Technology
Postman Flowsの基本 / Postman Flows Basics
yokawasa
1
100
Postmanを使いこなす!2025年ぜひとも押さえておきたいPostmanの10の機能
nagix
2
140
自動テストの世界に、この5年間で起きたこと
autifyhq
10
8.1k
アジャイル開発とスクラム
araihara
0
170
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
120
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.4k
株式会社EventHub・エンジニア採用資料
eventhub
0
4.2k
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
2.9k
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
310
Building Products in the LLM Era
ymatsuwitter
10
5k
AndroidデバイスにFTPサーバを建立する
e10dokup
0
240
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
150
Featured
See All Featured
Being A Developer After 40
akosma
89
590k
RailsConf 2023
tenderlove
29
1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Visualization
eitanlees
146
15k
GitHub's CSS Performance
jonrohan
1030
460k
How to Ace a Technical Interview
jacobian
276
23k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Speed Design
sergeychernyshev
26
790
Music & Morning Musume
bryan
46
6.3k
Unsuck your backbone
ammeep
669
57k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
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 楽しみましょう!