Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
2022/07/07 雲勉@オンライン 今日から始めるStep Functions【初心者向け】
Slide 2
Slide 2 text
0.講師自己紹介 2 ■ 朝枝 知之 (ASAEDA Tomoyuki) ■ CI事業部 MSP開発セクション所属 ■ 2019年8月 入社 ■ 前職:オンプレ環境でのWebサービス開発 ■ 好きなAWSのサービス ■ AWS Step Functions 及び連携する各サービス
Slide 3
Slide 3 text
アジェンダ 3 0. 自己紹介 1. AWS Step Functionsとは (19:10〜19:25) 2. Step Functionsを使ってみよう (19:25〜19:45)
Slide 4
Slide 4 text
4 1. AWS Step Functions とは
Slide 5
Slide 5 text
AWS Step Functions について… 5 1. まったく知らない 2. 個人的に少し触ったことがあるくらい 3. 仕事でたくさん使っている
Slide 6
Slide 6 text
6 1. まったく知らない 2. 個人的に少し触ったことがある 3. 仕事でたくさん使っている ↓ 主に1の方に向けてお話しします AWS Step Functions について…
Slide 7
Slide 7 text
AWS Step Functions とは 7 さまざまな AWS のサービスを組み合わせて アプリケーションを構築するための サーバーレス オーケストレーション サービス オーケストレーション ≒ ワークフロー
Slide 8
Slide 8 text
AWS Step Functions とは 8 ● ワークフローはステートマシンとして構築する ● ワークフローの作成にはビジュアルエディタ Workflow Studio による直感的な操作をサポート ● ステートマシンは JSON ベースの Amazon States Language (ASL) で定義する ● 多くのAWS サービスとの連携が可能 Workflow Studio ASL
Slide 9
Slide 9 text
Workflow Studio 9
Slide 10
Slide 10 text
Workflow Studio 10 ● Step Functions のローコードのビジュアル ワークフロー デザイナー ● ドラッグアンドドロップを使用して以下を行う ○ ワークフローの作成と編集 ○ 各状態の入力と出力のフィルタリングまたは変換の制御 ○ エラー処理の設定 ● ASLのコードを自動生成 追加するアクションやフローをD&D 各状態の入出力の制御
Slide 11
Slide 11 text
ASL - Amazon States Language 11 Amazon States Language (ASL) によるステートマシンの定義 手動でASLコードを書いてもいいが、現在は Workflow Studio で構築するのがわかりやすく間 違いもないのでオススメ
Slide 12
Slide 12 text
フロー制御 12 処理の分岐 並列実行 配列の反復処理 入力を次の出力としてパス 指定の時間待機 成功で実行を終了 失敗で実行を終了 これらを組み合わせることによりコード内でフロー制 御を省くことができ、ビジネスロジックの作成に集中で きる
Slide 13
Slide 13 text
他のAWSサービスとの連携 13 https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/connect-supported-services.html ○ 最適化された(ネイティブな)統合:17サービス ○ AWS SDK統合:200サービス以上
Slide 14
Slide 14 text
Step Functionsの開始方法 14 ○ 他のAWSサービスから • API Gateway, EventBridge, CodePipeline … ○ AWS APIを呼び出す • StartExecution, StartSyncExecution ○ AWSコンソールから手動で実行 この後のライブでは「AWSコンソールから手動 で実行」を使います
Slide 15
Slide 15 text
ユースケース 15 REST APIへの大量のリクエストが必要だがレート制限にかからないようにしたい 解決策:1分間に30回リクエストするようにする 1つのLambdaで処理する場合 リクエスト数が増えてくるとLambdaの制限時間内(15 分)に収まらなくなる Step Functions を利用する場合 “Coice” “Wait” といったフロータスクを駆使して制限時 間を気にすることなく処理可能
Slide 16
Slide 16 text
アジェンダ 16 0. 自己紹介 1. AWS Step Functionsとは (19:10〜19:25) 2. Step Functionsを使ってみよう (19:25〜19:45)
Slide 17
Slide 17 text
17 2. Step Functionsを使ってみよう
Slide 18
Slide 18 text
作業環境 18 AWSマネジメントコンソール Step Functions > Workflow Studio
Slide 19
Slide 19 text
やること 19 「DBにある日本語テキストを英語に翻訳し、元のレコードの新しいカラムに保存しなおす」という処理をほぼノーコード で作成します
Slide 20
Slide 20 text
20 Live
Slide 21
Slide 21 text
まとめ 21 ○ ローコード、場合によってはノーコードでワークフローを構築できる ○ フロー制御やリトライ、エラーハンドリングなどの付加価値を生まない作業を切り離すことが可 能 ○ Workflow Studio による直感的なワークフローの構築が可能 他にも様々なユースケースに対応できるなど数多くの特徴がありますが、 まずは Workflow Studio を使って気軽に始めてみましょう
Slide 22
Slide 22 text
22 Thank you!
Slide 23
Slide 23 text
23 Appendix ● AWS Step Functions デベロッパーガイド https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/welcome.html ● Step Functions チュートリアル https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/tutorials.html ● Step Functions のエラー処理 https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/concepts-error-handling.html ● サーバーレスアプリケーションでエラーに対処する https://aws.amazon.com/jp/getting-started/hands-on/handle-serverless-application-errors-step-functions-lambda/