Slide 1

Slide 1 text

1 AWS公式10分チュートリアルから始める アウトプット 〜AWS StepFunctions編〜

Slide 2

Slide 2 text

2 あなたは誰?

Slide 3

Slide 3 text

3 自己紹介 ・名前 - あしさん(@ashi_ssan) ・所属 - クラスメソッド株式会社 AWS事業本部 - コンサルティング部 AWSエンジニア ・略歴 - 新卒→独立系Sier→現職(2021/09〜) ・好きなAWSサービス - CloudShell, Systems Manager ・JAWS-UG歴 - CLI専門支部(2021/05〜) ・ブログ

Slide 4

Slide 4 text

4 自己紹介

Slide 5

Slide 5 text

5 今日話すこと ・アウトプットについて ・AWS公式チュートリアルについて ・AWS Step Functionsについて ・チュートリアルを実際にやってみた ・まとめ

Slide 6

Slide 6 text

6 今日話さないこと ・やってみた手順の詳しい説明 ・AWS Step Functionの詳細の説明 - サービスについての体系的な説明 - 利用料金について - 本番環境での具体的なユースケースについて など

Slide 7

Slide 7 text

7 今日持って帰って欲しいこと① アウトプットしようぜ

Slide 8

Slide 8 text

8 今日持って帰って欲しいこと② AWS公式チュートリアルはいいぞ

Slide 9

Slide 9 text

9 今日持って帰って欲しいこと③ AWS Step Functionsはいいぞ

Slide 10

Slide 10 text

10 アウトプットについて

Slide 11

Slide 11 text

11 アウトプットについて そもそもアウトプットって何? 定義は?

Slide 12

Slide 12 text

12 アウトプットについて アウトプットとは、学習や経験によって得た学びを、 発言や活動に反映させることで、その有用性や効果も 含まれます。 - カオナビより引用

Slide 13

Slide 13 text

13 アウトプットについて ハンズオン学習におけるアウトプットとは?

Slide 14

Slide 14 text

14 アウトプットについて 参考資料: CLIハンズオンガイド - ハンズオン学習におい て優先すべきこと

Slide 15

Slide 15 text

15 アウトプットについて 1. 「完了すること」を最優先すること。 (全体把握) ハンズオンにおいて最も大事なことは、「手順通り進めたら、想定通りの結果が得られた」こと を体感することです。 わからない点がたくさんあっても、とにかく一回最後まで進めてくださ い。 それによって、ハンズオン全体でどんなことをやっているのか、どんなアウトプットが得 られるのかを把握することができます。(全体を俯瞰することができます。) - CLIハンズオンガイドより

Slide 16

Slide 16 text

16 アウトプットについて 2. 必ず復習すること。(インプット) 1回完了させることで、手順の全体構造と具体的なアウトプットを確認できているので、あとは、 ワンステップずつ復習することで、効率良く確実に知識を身につけることができます。 そのと きに、「全てを把握しよう」とするのではなく、「わかりやすい」ところから順次理解していく のが、持続しやすく、実務に活用しやすいのでおすすめです。 - CLIハンズオンガイドより

Slide 17

Slide 17 text

17 アウトプットについて 3. 自分なりにカスタマイズしてオリジナル手順にして みること。 (アウトプット) 2で知識が身についたとしても、まだテンプレートが扱える段階で、自動車免許で言うと仮免許が 取れた段階です。 実際に路上に出るように、2までで得られた知識を基にオリジナル手順を作成 してみましょう。 自力で書いた手順通りにリソース構築ができるようになったら、仮免許は卒業でしょう。 多くの人 の目に触れることで、手順書の品質や作成効率はどんどんあがっていきます。色々な人に見ても らうようにしましょう。 - CLIハンズオンガイドより

Slide 18

Slide 18 text

18 アウトプットについて 1. 「完了すること」を最優先すること。 (全体把握) 2. 必ず復習すること。(インプット) 3. 自分なりにカスタマイズしてオリジナル手順にし てみること。 (アウトプット) → このフレームワークでハンズオン学習してみた

Slide 19

Slide 19 text

19 AWS公式チュートリアル について

Slide 20

Slide 20 text

20 AWS公式チュートリアルについて ・AWSが提供しているハンズオンチュートリアル ・コンテナ、データベース、サーバレスなどカテゴリ別に現在計50本 以上のハンズオンが提供されている ・ 10分のコンテンツから3時間のものまで、コンテンツのボリューム は様々

Slide 21

Slide 21 text

21 AWS公式チュートリアルについて AWS公式チュートリアルのトップページ

Slide 22

Slide 22 text

22 AWS公式チュートリアルについて カテゴリによるフィルタリングや文字列検索が可能

Slide 23

Slide 23 text

23 AWS公式チュートリアルについて ・今回選択したハンズオンチュートリアルは 「サーバーレスアプリケーションでエラーに対処する」 ・気になっていたサービスのAWS Step Functionsを触れられるハンズオ ンで一番勉強になりそうな内容のものをチョイス - 正常系、異常系の処理を学べば概要を把握できそうだなと判断

Slide 24

Slide 24 text

24 AWS Step Functions について

Slide 25

Slide 25 text

25 AWS Step Functionsについて ・AWS Step Functionsって何? 公式ドキュメントより引用。 > Step Functions は、サーバーレスオーケストレーションサービスで、 AWS Lambda関数とその他AWSサービスを使用して、ビジネスクリ ティカルなアプリケーションを構築できます。 > Step Functions のグラフィカルコンソールでは、アプリケーション のワークフローを一連のイベント駆動ステップとして確認できま す。

Slide 26

Slide 26 text

26 AWS Step Functionsについて ざっくりまとめ ・様々なAWSサービスを組み合わせてイベント駆動ワーク フローをサーバレスに構築できるサービス ・GUIのコンソールからワークフローを視覚的に確認できる 参考:AWS Step Functions をゼロからざっくり理解する

Slide 27

Slide 27 text

27 なんでStep Functionsに興味を持ったの?

Slide 28

Slide 28 text

28 AWS Step Functionsについて A. アップデートで使いやすくなったと知ったから 参考: [アップデート]Step Functions Workflow Studioがリリースされて、 ワークフロー作成が簡単になりました

Slide 29

Slide 29 text

29 AWS Step Functionsについて ・アップデート前 - Amazon States Language(ASL)というJSON形式の独自 言語でのテンプレートの作成 ↑ 慣れるための学習コスト要

Slide 30

Slide 30 text

30 AWS Step Functionsについて ・アップデート後 - Amazon States Language(ASL)というJSON形式の独自 言語でのテンプレートの作成 - WorkFlow StudioでのGUI構築 New! ↑ GUIで作成する選択肢が増えた!

Slide 31

Slide 31 text

31 実際にやってみた

Slide 32

Slide 32 text

32 実際にやってみた ・はじめに - 本セッションではやってみた概要をご紹介します - 詳細のやってみた手順はブログに上げてます AWS公式10分チュートリアルから始めるアウトプット〜AWS Step Functions編〜

Slide 33

Slide 33 text

33 実際にやってみた ・やってみたの流れ 1. 「完了すること」を最優先すること。 (全体把握) → 2. 必ず復習すること。(インプット) → 3. 自分なりにカスタマイズしてオリジナル手順にしてみること。 (アウトプット) →

Slide 34

Slide 34 text

34 実際にやってみた ・やってみたの流れ 1. 「完了すること」を最優先すること。 (全体把握) → 一通りハンズオンをやってみる 2. 必ず復習すること。(インプット) → ハンズオンで実施した内容の確認 3. 自分なりにカスタマイズしてオリジナル手順にしてみること。 (アウトプット) → 改良版ハンズオン手順の実施

Slide 35

Slide 35 text

35 実際にやってみた 1. 一通りハンズオンをやってみる - Lambda関数作成 - IAMロール作成 - StepFunctionsステートマシン作成 - ステートマシンのテスト

Slide 36

Slide 36 text

36 実際にやってみた StepFunctionsステートマシン作成

Slide 37

Slide 37 text

37 実際にやってみた StepFunctionsステートマシン作成

Slide 38

Slide 38 text

38 実際にやってみた StepFunctionsステートマシン作成

Slide 39

Slide 39 text

39 実際にやってみた StepFunctionsステートマシン作成

Slide 40

Slide 40 text

40 実際にやってみた ステートマシンのテスト

Slide 41

Slide 41 text

41 実際にやってみた ステートマシンのテスト

Slide 42

Slide 42 text

42 実際にやってみた ステートマシンのテスト

Slide 43

Slide 43 text

43 実際にやってみた ステートマシンのテスト

Slide 44

Slide 44 text

44 実際にやってみた ステートマシンのテスト

Slide 45

Slide 45 text

45 実際にやってみた 2. ハンズオンで実施した内容を復習する - 使用したコードの確認(Lambda、StepFunctions) - StepFunctionsのStateについて学ぶ

Slide 46

Slide 46 text

46 実際にやってみた 使用したコードの確認(Lambda、StepFunctions)

Slide 47

Slide 47 text

47 実際にやってみた ・StepFunctionsのStateについて学ぶ - Task - Invoke: Lambda Functionなど - Pass - 何もしない時や入力出力だけを変更したい時に使用 - Wait -ステートマシンの続行を指定された時間遅延できる - Fail -強制的に異常終了させるときに使用

Slide 48

Slide 48 text

48 実際にやってみた 3. 改良版ハンズオン手順の実施 - Lambda関数作成(既存の関数を使用) - IAMロール作成(既存のロールを使用) - ステートマシンの作成(WorkFlow Studio) - ステートマシンのテスト(AWS CLI)

Slide 49

Slide 49 text

49 実際にやってみた ステートマシンの作成(WorkFlow Studio)

Slide 50

Slide 50 text

50 実際にやってみた ステートマシンの作成(WorkFlow Studio)

Slide 51

Slide 51 text

51 実際にやってみた ステートマシンの作成(WorkFlow Studio)

Slide 52

Slide 52 text

52 実際にやってみた ステートマシンの作成(WorkFlow Studio)

Slide 53

Slide 53 text

53 実際にやってみた ステートマシンの作成(WorkFlow Studio)

Slide 54

Slide 54 text

54 実際にやってみた ステートマシンの作成(WorkFlow Studio)

Slide 55

Slide 55 text

55 実際にやってみた ステートマシンの作成(WorkFlow Studio)

Slide 56

Slide 56 text

56 実際にやってみた ・ステートマシンのテスト(AWS CLI) - AWS Cloud Shellから実行 ### StatusCodeのみ実施するテストの内容によって変更する StatusCode=”200" ### ここから下は常に同じコードでOK StateMachineName="MyAPIStateMachine-WorkFlowStudio" InputJson=$(cat << EOF {"statuscode": "${StatusCode}"} EOF ) StateMachineARN=$(aws stepfunctions list-state-machines --query "stateMachines[].[stateMachineArn]" ¥ --output text |grep ${StateMachineName}) && echo ${StateMachineARN} StateExecutionARN=$(aws stepfunctions start-execution ¥ --state-machine-arn ${StateMachineARN} --input "${InputJson}" ¥ --query "executionArn" --output text) && echo ${StateExecutionARN} aws stepfunctions describe-execution --execution-arn ${StateExecutionARN}

Slide 57

Slide 57 text

57 実際にやってみた { "executionArn": "arn:aws:states:ap-northeast-1:XXXXXXXXXX:execution:MyAPIStateMachine- WorkFlowStudio:19a8a1c29-a959-4afb-bdc3-c555b48e4deb", "stateMachineArn": "arn:aws:states:ap-northeast-1: XXXXXXXXXX :stateMachine:MyAPIStateMachine- WorkFlowStudio", "name": "19a8bc29-a959-4afb-bdc3-c1115b48e4deb", "status": "SUCCEEDED", "startDate": "2021-09-28T06:20:25.806000+00:00", "stopDate": "2021-09-28T06:20:26.385000+00:00", "input": "{¥"statuscode¥": ¥"200¥"}", "inputDetails": { "included": true }, "output": "¥"200 OK¥"", "outputDetails": { "included": true } }

Slide 58

Slide 58 text

58 以上、やってみたでした

Slide 59

Slide 59 text

59 まとめ

Slide 60

Slide 60 text

60 まとめ ・ 全体把握→インプット→アウトプットの流れでより 効果的に学ぼう ・AWS公式チュートリアルはGoodな教材 ・AWS Step FunctionsはWork Flow Studioにより もっと使いやすくなった!

Slide 61

Slide 61 text

61 以上。 ご静聴ありがとうございました。