Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第119回 雲勉【オンライン】Step Functions を使ってAuto Scaling ...
Search
iret.kumoben
November 16, 2023
Technology
0
460
第119回 雲勉【オンライン】Step Functions を使ってAuto Scaling を制御してみた
下記、勉強会での資料です。
https://youtu.be/d38nrpooyLk
iret.kumoben
November 16, 2023
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第181回 雲勉 WEB制作者のちょっとした面倒をAWSで解決!Amazon S3とAWS Lambda活用術
iret
0
32
第180回 雲勉 Abuse report の調査・確認方法について
iret
0
57
第179回 雲勉 AI を活用したサポートデスク業務の改善
iret
0
62
第178回 雲勉 Amazon EKSをオンプレで! Amazon EKS Anywhere 実践構築ガイド
iret
1
57
第177回 雲勉 IdP 移行を楽に!Amazon Cognito でアプリへの影響をゼロにするアイデア
iret
0
62
第176回 雲勉 VPC 間サービス接続を考える!Private Service Connect 入門
iret
0
51
第175回 雲勉 Amazon ECS入門:コンテナ実行の基本を学ぶ
iret
0
80
第174回 雲勉 Google Agentspace × ADK Vertex AI Agent Engineにデプロイしたエージェントを呼び出す
iret
0
130
第173回 雲勉 ノーコードで生成 AI アプリを構築!Google Cloud AI Applications(旧 Vertex AI Agent Builder)入門
iret
0
98
Other Decks in Technology
See All in Technology
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9.9k
2025年のデザインシステムとAI 活用を振り返る
leveragestech
0
270
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
180
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
0
230
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
260
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
3
2.2k
モダンデータスタックの理想と現実の間で~1.3億人Vポイントデータ基盤の現在地とこれから~
taromatsui_cccmkhd
2
270
AIエージェント開発と活用を加速するワークフロー自動生成への挑戦
shibuiwilliam
5
860
Amazon Quick Suite で始める手軽な AI エージェント
shimy
1
1.9k
20251219 OpenIDファウンデーション・ジャパン紹介 / OpenID Foundation Japan Intro
oidfj
0
500
Identity Management for Agentic AI 解説
fujie
0
470
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
330
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
120
GraphQLとの向き合い方2022年版
quramy
50
14k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
170
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
250
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
130
The World Runs on Bad Software
bkeepers
PRO
72
12k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Crafting Experiences
bethany
0
22
Joys of Absence: A Defence of Solitary Play
codingconduct
1
260
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Transcript
第119回 雲勉【オンライン】 Step Functions を使って Auto Scaling を制御してみた
0.講師⾃⼰紹介 2 n 岡部 良亮 • CIࣄۀ෦ ߏஙୈീηΫγϣϯॴଐ • 2018年9⽉⼊社
(MSP⼀次運⽤→MSP⼆次運⽤→構築第⼋セクションに異動) 前職︓基盤システムの運⽤監視オペレーター・DCハウジング業務を担当。 • 最近、猫を飼いました。
アジェンダ 3 0. ⾃⼰紹介 1. AWS Step Functions の概要 2.
AWS Step Functions を活⽤に⾄った経緯 3. AWS Step Functions を利⽤した Auto Scaling の実例 4. まとめ
本⽇のゴール 4 n AWS Step Functions の概要についてご理解いただく。 n AWS Step
Fucntions の作成・設定についてご理解いただく。
1. AWS Step Functions の概要 5
1.AWS Step Functions の概要 6 n AWS Step Functionsとは AWS
Lambda 等のサービスと統合してビジネスクリティカルなアプリケーションを構築で きるサーバーレスオーケストレーションサービスです。AWS Step Functions のグラフィカ ルコンソールでは、アプリケーションのワークフローを⼀連のイベント駆動型ステップとし て確認できます。
1.AWS Step Functions の概要 7 AWSの各サービスや、AWS CLI アクションをワークフロー形式で可視化して実装することが できるため、GUIベースでサービスやアクションの処理を実装できるのが魅⼒的。 コード表⽰も可能
1.AWS Step Functions の概要 8 AWS Step Functions は ステートマシン
という単位で構成。 AWSサービスや各アクションを ステート と呼ばれるステップをフローで実⾏することで ⼀連の処理を実⾏できる。 ステートマシン ステート
1.AWS Step Functions の概要 9 ステートには様々な種類があり、それぞれのステートを組み合わせて処理を実現可能。 ・Task︓何らかの処理を実⾏ ・Wait︓処理待機 ・Succeed︓処理の成功判定 ・Fail︓処理の失敗判定
・Choice︓条件の分岐 ・Parallel︓並列で処理 ・Map︓Mapステート内で⼀連の ワークフロー処理を実⾏
1.AWS Step Functions の概要 10 ・ワークフローの作成 Workflow Studioによる、GUIベースでの作成が可能。
2. AWS Step Functionsを活⽤に⾄った経緯 11
2. AWS Step Functionsを活⽤に⾄った経緯 12 そもそもなんでAWS Step Functions を使うの︖ 普通にAuto
Scaling の設定すればよくない︖
13 ▪実装要件 お客様環境のオンプレミスサーバーとAWS環境のEC2を利⽤して、 ハイブリッドに負荷分散を⾏いたい要望があった。 通常時はオンプレミスサーバーをターゲットにする ため、Auto Scaling 配下のターゲットグループに IPアドレスでターゲット指定する必要がある。 2.
AWS Step Functionsを活⽤に⾄った経緯
14 ▪ここで問題が・・・ Auto Scaling の仕様で、Auto Scaling Group に属するALB配下のターゲットグループにはイ ンスタンスのターゲットタイプを指定する必要があり、IPアドレスをターゲット指定すること ができない。
さてどうしよう・・・ 2. AWS Step Functionsを活⽤に⾄った経緯
15 AWS Step Functionsを利⽤すれば、Auto Scalingで作成されたインスタンスからIPアドレス を抽出して指定することができるらしい。 2. AWS Step Functionsを活⽤に⾄った経緯
16 早速やってみましょう 2. AWS Step Functionsを活⽤に⾄った経緯
3. AWS Step Functions を利⽤した Auto Scaling の実例 17
18 ▪スケールアウト処理フロー 3. AWS Step Functions を利⽤した Auto Scaling の実例
19 ▪Step Functions ワークフロー ・Task︓DescribeInstances インスタンス情報を取得(IPアドレス抽出) ・Task︓RegisterTargets ターゲットグループへ登録 3. AWS
Step Functions を利⽤した Auto Scaling の実例
20 オートスケール処理の Step Functions、ステートマシン呼び出しの EventBridge を作成する。 スケールイン保護 無効化 ライフサイクルフック ライフサイクル移⾏:インスタンス終了
ハートビートタイムアウト:500秒 デフォルトの結果:CONTINUE ※Auto Scaling構成(ALB、ターゲットグループ、Auto Scaling Group 等)、IAM周り EventBridge の詳細⼿順については今回は割愛。 3. AWS Step Functions を利⽤した Auto Scaling の実例 ・Auto Scaling Groupの設定
21 ※補⾜︓ライフサイクルフック Auto Scalingの機能で、EC2のInService移⾏前、Terminated移⾏前に設定することで特定の処 理が完全に終了してからステータスを遷移させることが可能。 3. AWS Step Functions を利⽤した
Auto Scaling の実例
22 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
23 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
24 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
25 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
26 インスタンスID抽出のため、APIパラメータを設定 ▪Step Functions 作成 3. AWS Step Functions を利⽤した
Auto Scaling の実例
27 プライベートIPを抽出し、次のタスクにパラメータを 渡すため、ResultSelector を設定 ▪Step Functions 作成 3. AWS Step
Functions を利⽤した Auto Scaling の実例
28 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
29 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
30 事前作成済みのターゲットグループに前段で抽出した IPアドレスのEC2を指定してターゲット登録 ▪Step Functions 作成 3. AWS Step Functions
を利⽤した Auto Scaling の実例
31 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
32 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
33 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
34 ▪EventBridge 作成(※詳細⼿順は割愛) イベントパターン︓ Auto Scaling 配下のEC2起動成功をトリガーとする ターゲット︓ 先程作成したステートマシンを指定 3.
AWS Step Functions を利⽤した Auto Scaling の実例
35 実際にスケールアウトしてみる 3. AWS Step Functions を利⽤した Auto Scaling の実例
36
37 ▪スケールイン処理フロー 3. AWS Step Functions を利⽤した Auto Scaling の実例
38 ・Task︓DescribeInstances インスタンス情報を取得(IPアドレス抽出) ・Task︓DeregisterTargets ターゲット登録解除 ・Wait 360秒の待機処理 ・Task︓CompleteLifecycleAction ライフサイクルフックの完了処理 ▪Step
Functions ワークフロー 3. AWS Step Functions を利⽤した Auto Scaling の実例
39 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
40 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
41 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
42 インスタンスID抽出のため、APIパラメータを設定 ▪Step Functions 作成 3. AWS Step Functions を利⽤した
Auto Scaling の実例
43 プライベートIP、インスタンスIDを抽出して 次のタスクにパラメータを渡すため、ResultSelectorを設定 ▪Step Functions 作成 3. AWS Step Functions
を利⽤した Auto Scaling の実例
44 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
45 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
46 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
47 プライベートIP、インスタンスIDを抽出して 次のタスクにパラメータを渡すため、ResultPathを設定 ▪Step Functions 作成 3. AWS Step Functions
を利⽤した Auto Scaling の実例
48 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
49 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
50 ターゲットグループの登録解除遅延まで待機処理(360秒)を挟む ▪Step Functions 作成 3. AWS Step Functions を利⽤した
Auto Scaling の実例
51 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
52 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
53 ライフサイクルフック、Auto Scaling Groupを指定 ▪Step Functions 作成 3. AWS Step
Functions を利⽤した Auto Scaling の実例
54 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
55 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
56 ▪Step Functions 作成 3. AWS Step Functions を利⽤した Auto
Scaling の実例
57 ▪EventBridge 作成(※詳細⼿順は割愛) イベントパターン︓ Auto Scaling 配下のEC2終了ライフサイクルアクショ ンをトリガーとする ターゲット︓ 先程作成したステートマシンを指定
3. AWS Step Functions を利⽤した Auto Scaling の実例
3. AWS Step Functions を利⽤した Auto Scaling の実例 58 実際にスケールインしてみる
59
60 4.まとめ ・グラフィカルにワークフローを設定することが可能 ・コードが苦⼿な⽅でも直感的に設定ができる。 ・Lambda 等の他のサービスも組み合わせることで様々な使い⽅ができる。
61 ご清聴ありがとうございました