Save 37% off PRO during our Black Friday Sale! »

20210930_JAWS-UG朝会_AWS公式10分チュートリアルから始める アウトプット 〜AWS StepFunctions編〜

3cb071df50ed06febdfb3262fb5a67a3?s=47 h-ashisan
September 30, 2021

20210930_JAWS-UG朝会_AWS公式10分チュートリアルから始める アウトプット 〜AWS StepFunctions編〜

2021年9月のJAWS-UG朝会で語りました

3cb071df50ed06febdfb3262fb5a67a3?s=128

h-ashisan

September 30, 2021
Tweet

Transcript

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

  2. 2 あなたは誰?

  3. 3 自己紹介 ・名前 - あしさん(@ashi_ssan) ・所属 - クラスメソッド株式会社 AWS事業本部 -

    コンサルティング部 AWSエンジニア ・略歴 - 新卒→独立系Sier→現職(2021/09〜) ・好きなAWSサービス - CloudShell, Systems Manager ・JAWS-UG歴 - CLI専門支部(2021/05〜) ・ブログ
  4. 4 自己紹介

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

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

    - 本番環境での具体的なユースケースについて など
  7. 7 今日持って帰って欲しいこと① アウトプットしようぜ

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

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

  10. 10 アウトプットについて

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

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

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

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

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

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

    CLIハンズオンガイドより
  17. 17 アウトプットについて 3. 自分なりにカスタマイズしてオリジナル手順にして みること。 (アウトプット) 2で知識が身についたとしても、まだテンプレートが扱える段階で、自動車免許で言うと仮免許が 取れた段階です。 実際に路上に出るように、2までで得られた知識を基にオリジナル手順を作成 してみましょう。

    自力で書いた手順通りにリソース構築ができるようになったら、仮免許は卒業でしょう。 多くの人 の目に触れることで、手順書の品質や作成効率はどんどんあがっていきます。色々な人に見ても らうようにしましょう。 - CLIハンズオンガイドより
  18. 18 アウトプットについて 1. 「完了すること」を最優先すること。 (全体把握) 2. 必ず復習すること。(インプット) 3. 自分なりにカスタマイズしてオリジナル手順にし てみること。

    (アウトプット) → このフレームワークでハンズオン学習してみた
  19. 19 AWS公式チュートリアル について

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

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

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

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

  24. 24 AWS Step Functions について

  25. 25 AWS Step Functionsについて ・AWS Step Functionsって何? 公式ドキュメントより引用。 > Step

    Functions は、サーバーレスオーケストレーションサービスで、 AWS Lambda関数とその他AWSサービスを使用して、ビジネスクリ ティカルなアプリケーションを構築できます。 > Step Functions のグラフィカルコンソールでは、アプリケーション のワークフローを一連のイベント駆動ステップとして確認できま す。
  26. 26 AWS Step Functionsについて ざっくりまとめ ・様々なAWSサービスを組み合わせてイベント駆動ワーク フローをサーバレスに構築できるサービス ・GUIのコンソールからワークフローを視覚的に確認できる 参考:AWS Step

    Functions をゼロからざっくり理解する
  27. 27 なんでStep Functionsに興味を持ったの?

  28. 28 AWS Step Functionsについて A. アップデートで使いやすくなったと知ったから 参考: [アップデート]Step Functions Workflow

    Studioがリリースされて、 ワークフロー作成が簡単になりました
  29. 29 AWS Step Functionsについて ・アップデート前 - Amazon States Language(ASL)というJSON形式の独自 言語でのテンプレートの作成

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

    - WorkFlow StudioでのGUI構築 New! ↑ GUIで作成する選択肢が増えた!
  31. 31 実際にやってみた

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

  33. 33 実際にやってみた ・やってみたの流れ 1. 「完了すること」を最優先すること。 (全体把握) → 2. 必ず復習すること。(インプット) →

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

    → ハンズオンで実施した内容の確認 3. 自分なりにカスタマイズしてオリジナル手順にしてみること。 (アウトプット) → 改良版ハンズオン手順の実施
  35. 35 実際にやってみた 1. 一通りハンズオンをやってみる - Lambda関数作成 - IAMロール作成 - StepFunctionsステートマシン作成

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

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

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

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

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

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

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

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

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

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

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

  47. 47 実際にやってみた ・StepFunctionsのStateについて学ぶ - Task - Invoke: Lambda Functionなど -

    Pass - 何もしない時や入力出力だけを変更したい時に使用 - Wait -ステートマシンの続行を指定された時間遅延できる - Fail -強制的に異常終了させるときに使用
  48. 48 実際にやってみた 3. 改良版ハンズオン手順の実施 - Lambda関数作成(既存の関数を使用) - IAMロール作成(既存のロールを使用) - ステートマシンの作成(WorkFlow

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

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

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

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

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

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

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

  56. 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}
  57. 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 } }
  58. 58 以上、やってみたでした

  59. 59 まとめ

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

    Studioにより もっと使いやすくなった!
  61. 61 以上。 ご静聴ありがとうございました。