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/