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
320
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
71
AWSを触ってきた数年間を振り返る!
masuchoku
1
140
API Gatewayと少し仲良くなってみた!
masuchoku
0
480
スライド作りから LTを楽しもう! エンジョイ、 エンジニアライフ!
masuchoku
1
360
APCのAWS認定マスターたちに聞いてみた
masuchoku
0
110
AppSync入門! GraphQL APIを作ってみた!
masuchoku
3
750
AWSとJenkinsおじさん で学んできたCI_CD
masuchoku
1
860
推しメンは Systems Manager
masuchoku
0
92
Other Decks in Technology
See All in Technology
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
160
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
3
2.3k
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
190
Jetpack Composeで始めるServer Cache State
ogaclejapan
2
170
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
260
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
310
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
13
3.7k
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
480
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.3k
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
120
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
120
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
1
200
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
The Language of Interfaces
destraynor
154
24k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Documentation Writing (for coders)
carmenintech
66
4.5k
Done Done
chrislema
181
16k
The Invisible Side of Design
smashingmag
298
50k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Optimising Largest Contentful Paint
csswizardry
33
3k
The Cost Of JavaScript in 2023
addyosmani
45
7k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
How STYLIGHT went responsive
nonsquared
95
5.2k
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 楽しみましょう!