Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
20210930_JAWS-UG朝会_AWS公式10分チュートリアルから始めるアウトプット〜AWS StepFunctions編〜
h-ashisan
September 30, 2021
Technology
1
960
20210930_JAWS-UG朝会_AWS公式10分チュートリアルから始める アウトプット 〜AWS StepFunctions編〜
2021年9月のJAWS-UG朝会で語りました
h-ashisan
September 30, 2021
Tweet
Share
More Decks by h-ashisan
See All by h-ashisan
jaws-ug-asa-datasync-20220510
hiashisan
0
490
jaws-ug-asa_ivs_20220129
hiashisan
1
460
20211206_jaws-ug_asa_backup
hiashisan
0
970
JAWS-UG_CLI_Setup_SSM_20211028
hiashisan
0
490
Other Decks in Technology
See All in Technology
暗号資産ウォレット入門(MetaMaskの入門~NFTの購入~詐欺の注意事項など)
kayato
2
190
CTOのためのQAのつくりかた #scrumniigata / SigSQA How to create QA for CTOs and VPoEs
caori_t
0
240
runn is a package/tool for running operations following a scenario. / golang.tokyo #32
k1low
1
200
SRENEXT2022 組織にSREを実装していくまでの道のり
marnie0301
1
420
A1A会社紹介資料-2022-05-20
a1a
2
1.1k
LINEスタンプの実例紹介 小さく始める障害検知・対応・振り返りの 改善プラクティス
line_developers
PRO
3
1.6k
Who owns the Service Level?
chaspy
5
1k
20220510_簡単にできるコスト異常検出(Cost Anomaly Detection) /jaws-ug-asa-cost-anomaly-detection-20220510
emiki
2
320
LINEのData Platform室が実践する大規模分散環境のCapacity Planning
line_developers
PRO
0
450
Stripe Search APIを利用した、LINEとStripeの顧客情報連携/line-dc-202205
stripehideokamoto
0
130
0->1 フェーズで E2E 自動テストを導入した私たちの、これまでとこれから
yoyakoba
0
420
Oracle Content Management サービス概要 (2022年5月版)
oracle4engineer
PRO
0
110
Featured
See All Featured
Designing with Data
zakiwarfel
91
3.9k
Product Roadmaps are Hard
iamctodd
34
6.1k
The Language of Interfaces
destraynor
148
20k
Building a Scalable Design System with Sketch
lauravandoore
447
30k
How GitHub (no longer) Works
holman
296
140k
Build your cross-platform service in a week with App Engine
jlugia
219
17k
What’s in a name? Adding method to the madness
productmarketing
11
1.5k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
100
5.9k
We Have a Design System, Now What?
morganepeng
35
2.9k
Unsuck your backbone
ammeep
659
55k
Art, The Web, and Tiny UX
lynnandtonic
280
17k
It's Worth the Effort
3n
172
25k
Transcript
1 AWS公式10分チュートリアルから始める アウトプット 〜AWS StepFunctions編〜
2 あなたは誰?
3 自己紹介 ・名前 - あしさん(@ashi_ssan) ・所属 - クラスメソッド株式会社 AWS事業本部 -
コンサルティング部 AWSエンジニア ・略歴 - 新卒→独立系Sier→現職(2021/09〜) ・好きなAWSサービス - CloudShell, Systems Manager ・JAWS-UG歴 - CLI専門支部(2021/05〜) ・ブログ
4 自己紹介
5 今日話すこと ・アウトプットについて ・AWS公式チュートリアルについて ・AWS Step Functionsについて ・チュートリアルを実際にやってみた ・まとめ
6 今日話さないこと ・やってみた手順の詳しい説明 ・AWS Step Functionの詳細の説明 - サービスについての体系的な説明 - 利用料金について
- 本番環境での具体的なユースケースについて など
7 今日持って帰って欲しいこと① アウトプットしようぜ
8 今日持って帰って欲しいこと② AWS公式チュートリアルはいいぞ
9 今日持って帰って欲しいこと③ AWS Step Functionsはいいぞ
10 アウトプットについて
11 アウトプットについて そもそもアウトプットって何? 定義は?
12 アウトプットについて アウトプットとは、学習や経験によって得た学びを、 発言や活動に反映させることで、その有用性や効果も 含まれます。 - カオナビより引用
13 アウトプットについて ハンズオン学習におけるアウトプットとは?
14 アウトプットについて 参考資料: CLIハンズオンガイド - ハンズオン学習におい て優先すべきこと
15 アウトプットについて 1. 「完了すること」を最優先すること。 (全体把握) ハンズオンにおいて最も大事なことは、「手順通り進めたら、想定通りの結果が得られた」こと を体感することです。 わからない点がたくさんあっても、とにかく一回最後まで進めてくださ い。 それによって、ハンズオン全体でどんなことをやっているのか、どんなアウトプットが得
られるのかを把握することができます。(全体を俯瞰することができます。) - CLIハンズオンガイドより
16 アウトプットについて 2. 必ず復習すること。(インプット) 1回完了させることで、手順の全体構造と具体的なアウトプットを確認できているので、あとは、 ワンステップずつ復習することで、効率良く確実に知識を身につけることができます。 そのと きに、「全てを把握しよう」とするのではなく、「わかりやすい」ところから順次理解していく のが、持続しやすく、実務に活用しやすいのでおすすめです。 -
CLIハンズオンガイドより
17 アウトプットについて 3. 自分なりにカスタマイズしてオリジナル手順にして みること。 (アウトプット) 2で知識が身についたとしても、まだテンプレートが扱える段階で、自動車免許で言うと仮免許が 取れた段階です。 実際に路上に出るように、2までで得られた知識を基にオリジナル手順を作成 してみましょう。
自力で書いた手順通りにリソース構築ができるようになったら、仮免許は卒業でしょう。 多くの人 の目に触れることで、手順書の品質や作成効率はどんどんあがっていきます。色々な人に見ても らうようにしましょう。 - CLIハンズオンガイドより
18 アウトプットについて 1. 「完了すること」を最優先すること。 (全体把握) 2. 必ず復習すること。(インプット) 3. 自分なりにカスタマイズしてオリジナル手順にし てみること。
(アウトプット) → このフレームワークでハンズオン学習してみた
19 AWS公式チュートリアル について
20 AWS公式チュートリアルについて ・AWSが提供しているハンズオンチュートリアル ・コンテナ、データベース、サーバレスなどカテゴリ別に現在計50本 以上のハンズオンが提供されている ・ 10分のコンテンツから3時間のものまで、コンテンツのボリューム は様々
21 AWS公式チュートリアルについて AWS公式チュートリアルのトップページ
22 AWS公式チュートリアルについて カテゴリによるフィルタリングや文字列検索が可能
23 AWS公式チュートリアルについて ・今回選択したハンズオンチュートリアルは 「サーバーレスアプリケーションでエラーに対処する」 ・気になっていたサービスのAWS Step Functionsを触れられるハンズオ ンで一番勉強になりそうな内容のものをチョイス - 正常系、異常系の処理を学べば概要を把握できそうだなと判断
24 AWS Step Functions について
25 AWS Step Functionsについて ・AWS Step Functionsって何? 公式ドキュメントより引用。 > Step
Functions は、サーバーレスオーケストレーションサービスで、 AWS Lambda関数とその他AWSサービスを使用して、ビジネスクリ ティカルなアプリケーションを構築できます。 > Step Functions のグラフィカルコンソールでは、アプリケーション のワークフローを一連のイベント駆動ステップとして確認できま す。
26 AWS Step Functionsについて ざっくりまとめ ・様々なAWSサービスを組み合わせてイベント駆動ワーク フローをサーバレスに構築できるサービス ・GUIのコンソールからワークフローを視覚的に確認できる 参考:AWS Step
Functions をゼロからざっくり理解する
27 なんでStep Functionsに興味を持ったの?
28 AWS Step Functionsについて A. アップデートで使いやすくなったと知ったから 参考: [アップデート]Step Functions Workflow
Studioがリリースされて、 ワークフロー作成が簡単になりました
29 AWS Step Functionsについて ・アップデート前 - Amazon States Language(ASL)というJSON形式の独自 言語でのテンプレートの作成
↑ 慣れるための学習コスト要
30 AWS Step Functionsについて ・アップデート後 - Amazon States Language(ASL)というJSON形式の独自 言語でのテンプレートの作成
- WorkFlow StudioでのGUI構築 New! ↑ GUIで作成する選択肢が増えた!
31 実際にやってみた
32 実際にやってみた ・はじめに - 本セッションではやってみた概要をご紹介します - 詳細のやってみた手順はブログに上げてます AWS公式10分チュートリアルから始めるアウトプット〜AWS Step Functions編〜
33 実際にやってみた ・やってみたの流れ 1. 「完了すること」を最優先すること。 (全体把握) → 2. 必ず復習すること。(インプット) →
3. 自分なりにカスタマイズしてオリジナル手順にしてみること。 (アウトプット) →
34 実際にやってみた ・やってみたの流れ 1. 「完了すること」を最優先すること。 (全体把握) → 一通りハンズオンをやってみる 2. 必ず復習すること。(インプット)
→ ハンズオンで実施した内容の確認 3. 自分なりにカスタマイズしてオリジナル手順にしてみること。 (アウトプット) → 改良版ハンズオン手順の実施
35 実際にやってみた 1. 一通りハンズオンをやってみる - Lambda関数作成 - IAMロール作成 - StepFunctionsステートマシン作成
- ステートマシンのテスト
36 実際にやってみた StepFunctionsステートマシン作成
37 実際にやってみた StepFunctionsステートマシン作成
38 実際にやってみた StepFunctionsステートマシン作成
39 実際にやってみた StepFunctionsステートマシン作成
40 実際にやってみた ステートマシンのテスト
41 実際にやってみた ステートマシンのテスト
42 実際にやってみた ステートマシンのテスト
43 実際にやってみた ステートマシンのテスト
44 実際にやってみた ステートマシンのテスト
45 実際にやってみた 2. ハンズオンで実施した内容を復習する - 使用したコードの確認(Lambda、StepFunctions) - StepFunctionsのStateについて学ぶ
46 実際にやってみた 使用したコードの確認(Lambda、StepFunctions)
47 実際にやってみた ・StepFunctionsのStateについて学ぶ - Task - Invoke: Lambda Functionなど -
Pass - 何もしない時や入力出力だけを変更したい時に使用 - Wait -ステートマシンの続行を指定された時間遅延できる - Fail -強制的に異常終了させるときに使用
48 実際にやってみた 3. 改良版ハンズオン手順の実施 - Lambda関数作成(既存の関数を使用) - IAMロール作成(既存のロールを使用) - ステートマシンの作成(WorkFlow
Studio) - ステートマシンのテスト(AWS CLI)
49 実際にやってみた ステートマシンの作成(WorkFlow Studio)
50 実際にやってみた ステートマシンの作成(WorkFlow Studio)
51 実際にやってみた ステートマシンの作成(WorkFlow Studio)
52 実際にやってみた ステートマシンの作成(WorkFlow Studio)
53 実際にやってみた ステートマシンの作成(WorkFlow Studio)
54 実際にやってみた ステートマシンの作成(WorkFlow Studio)
55 実際にやってみた ステートマシンの作成(WorkFlow Studio)
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 実際にやってみた { "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 以上、やってみたでした
59 まとめ
60 まとめ ・ 全体把握→インプット→アウトプットの流れでより 効果的に学ぼう ・AWS公式チュートリアルはGoodな教材 ・AWS Step FunctionsはWork Flow
Studioにより もっと使いやすくなった!
61 以上。 ご静聴ありがとうございました。