Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第11回 雲勉LT【オンライン】AWS Fault Injection Serviceで実験を楽しむ
Search
iret.kumoben
December 12, 2023
Technology
0
100
第11回 雲勉LT【オンライン】AWS Fault Injection Serviceで実験を楽しむ
下記、勉強会での資料です。
https://youtu.be/fkoDafe6VnI
iret.kumoben
December 12, 2023
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第177回 雲勉 IdP 移行を楽に!Amazon Cognito でアプリへの影響をゼロにするアイデア
iret
0
28
第176回 雲勉 VPC 間サービス接続を考える!Private Service Connect 入門
iret
0
32
第175回 雲勉 Amazon ECS入門:コンテナ実行の基本を学ぶ
iret
0
45
第174回 雲勉 Google Agentspace × ADK Vertex AI Agent Engineにデプロイしたエージェントを呼び出す
iret
0
70
第173回 雲勉 ノーコードで生成 AI アプリを構築!Google Cloud AI Applications(旧 Vertex AI Agent Builder)入門
iret
0
63
第170回 雲勉 Lyria が切り拓く音楽制作の未来
iret
1
40
第169回 雲勉 AWS WAF 構築 RTA
iret
0
47
第168回 雲勉 JITNAの使い方とハマったポイントについて語る回
iret
0
52
第167回 雲勉 エージェント開発を加速する Agent Development Kit 入門
iret
1
62
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
14k
クラウドとリアルの融合により、製造業はどう変わるのか?〜クラスメソッドの製造業への取組と共に〜
hamadakoji
0
320
フレームワークを意識させないワークショップづくり
keigosuda
0
240
旅で応援する✈️ NEWTが目指すコミュニティ支援とあたらしい旅行 / New Travel: Supporting by NEWT on Your Journey
mii3king
0
140
[VPoE Global Summit] サービスレベル目標による信頼性への投資最適化
satos
0
210
Biz職でもDifyでできる! 「触らないAIワークフロー」を実現する方法
igarashikana
3
1.3k
SQLAlchemy の select(User).where(User.id =="123") を理解してみる/sqlalchemy deep dive
3l4l5
1
110
OCIjp_Oracle AI World_Recap
shinpy
1
150
Introdução a Service Mesh usando o Istio
aeciopires
1
280
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
81k
CNCFの視点で捉えるPlatform Engineering - 最新動向と展望 / Platform Engineering from the CNCF Perspective
hhiroshell
0
120
Building a cloud native business on open source
lizrice
0
160
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Making Projects Easy
brettharned
120
6.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Docker and Python
trallard
46
3.6k
Designing Experiences People Love
moore
142
24k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Done Done
chrislema
185
16k
Typedesign – Prime Four
hannesfritz
42
2.8k
Being A Developer After 40
akosma
91
590k
What's in a price? How to price your products and services
michaelherold
246
12k
Transcript
第11回 雲勉LT【オンライン】 AWS Fault Injection Service で実験を楽しむ
自己紹介 2 所属:CI事業部 開発第1セクション第1グループ アイレット歴:5ヶ月 趣味:ハーゲンダッツの蓋集め 図を配置してください 北野 涼平(ヤマダ)
3 私の自己紹介には足りないものがあります。
4 好きなAWSサービスがない…!
好きなAWSサービスについて 5 好きなAWSサービスとは JAWSの勉強会やLT大会などに登壇されている素晴らしきエン ジニア様たちは、皆さん好きなAWSサービスを書いている。 ただ、個人的には「好きなAWSサービス」として自己紹介欄 に記載するのはかなりのハードルを感じる。
好きなAWSサービスについて 6 なぜ自己紹介に書きにくいのか • 自分よりも好きで深い知識を持っている猛者が多い • 何か質問された時に答えられないのが怖い • そもそも全サービス触っている訳ではないので自信がない でもそんなこと気にする必要はないと最近気づきました!
ということで、私が好きなAWSサービスと出会った時のことを お話ししつつ、そのサービスに触れていきたいと思います。
7 出会い
出会い 8 ある日のこと 作成したAuto Scalingの挙動を確認する必要がありました。 設定は以下の通りです。 希望:2 最小:2 最大:3 CPUの使用率を上げることでEC2インスタンスが増えるかどうか
を確かめる必要があります。当時の私は何の知識もなかったので 、「aws autoscaling CPU」などで検索してみました。
出会い 9 ある日のこと するととても分かりやすい記事があったので、それに倣ってテス トしてみます。どうやら「stress」コマンドを使えばCPUに負荷 をかけれるようです。 「なるほど、簡単やな」と思いつつ、早速コマンドを叩いてみる ことにします!
コマンドを叩く! 10 入ってない…!!
出会い 11 1. 「stress」コマンドをインストールする • インストール自体は一瞬で簡単 • 2〜3台ならなんとかなるが、増えたらどうする? • インストールはIaCやユーザーデータを使用することで楽に実現できる
2. 全てのインスタンスにインストールしたとする • 大量のインスタンスを切り替えながら「stress」コマンドを叩いていくのか? • 観測時、画面が1つしかないのでウィンドウの切り替えが多発 →非常に面倒くさい状態 「stress」コマンドは叩く前にストレスを感じる いくつかパターンを考えてみる
出会い 12 今回のケースであればインスタンスは2台なので、パワーで解決 できそうです。 ただ、どうしても面倒に感じてしまって実行に移せず、別の方法 を検索していました。 すると意外にも早い段階で、運命の出会いを果たします。 逃げの検索
運命の出会い 13 AWS Fault Injection Service
出会い 14 • フォールト挿入実験を実行するためのフルマネージドサービス • コントロールされた実験で回復性とパフォーマンスを改善する • 特定の条件が満たされた場合に自動的にロールバック • 料金はアクション開始から1分ごとにかかる
→障害(Fault)を意図的に発生させて、反応を見てシステムの回 復力やパフォーマンスを上げるために使用する! AWS FISとは
15 検証
検証 16 今回はAuto ScalingのEC2インスタンスに対してCPU負荷をかけます。 インスタンスが無事に追加され、CPU負荷が下がったときに減ったら成功です。 <使用するAuto Scalingの設定> 最小・希望 2台 最大
3台 CPU負荷が全体で50%を超えている状態が続いたとき さっそく実験
検証 17 AWS FISのページに移動し、実験テンプレートを 作成することから始めます。 実験のメインとなるアクションの設定! アクションタイプなど、分かりやすい名前だった ので雰囲気で設定していけました。 負荷は「65%」、時間は「5分」に設定していま す。ターゲットなども任意の値を設定していきま
す。 さっそく実験② ※EC2ではなく、SSMのグループにあるアクションタイプ
検証 18 AWS FISのページに移動し、実験テンプレートを 作成することから始めます。 実験のメインとなるアクションの設定! アクションタイプなど、分かりやすい名前だった ので雰囲気で設定していけました。 負荷は「65%」、時間は「5分」に設定していま す。ターゲットなども任意の値を設定していきま
す。 さっそく実験② ※必須属性を含める
検証 19 たったそれだけでOK! あとは作成したテンプレートを選択すると、なん ともわくわくするボタンが活性化されます。 「実験を開始」を押して負荷をかけていきます。 さっそく実験③
検証 20 CloudWatchで状況を確認しながらのんびり 待ちます。 すると徐々に負荷がかかってきて、とうとう アラーム状態になりました! 赤い枠線のあたりが今回の実験でかかった負 荷になります。 ボタン1つ押すだけでCPU負荷、最高! さっそく実験④
検証 21 ザザッと割愛しますが、きちんとScaleされていました 。また、負荷が下がった時にはインスタンスは消えてい ました。 AWS FISを利用することで簡単Auto Scalingの実験がで きて万々歳です! さっそく実験⑤
インスタンスが増えた時の画像
22 実験大成功!
23 注意点
注意点 24 最初はギリギリを攻めようと思ってCPU負荷を50%に 設定しましたが、そこまで安定した負荷をかけることは 難しいようです。 途中で49%になったりしたことで、Auto Scalingは発動 しませんでした。 そこで今回は65%に設定することでScaleの確認を行い ました。
注意点① 閾値のテストは難しい ※常に一定ではない
注意点 25 実行時間には少し余裕を持つこと。 最初はギリギリの時間で実験をしようと思っていました が、負荷が安定しない可能性もあるので少し長めに設定 しました。 先ほどの閾値ミスのタイミングで気づいたので今回の実 験ではミスなく終えました。 注意点② 実行時間には少し余裕を持つこと
26 まとめ
注意点 27 ▪ 設定も簡単で、楽に負荷テストができた! ▪ 小規模な実験もできる!(分単位での料金なので安心) ▪ 今後も使っていきたいと思えた! ▪ 実験という単語でテンションが上がる
▪ 何よりアイコンがかわいい!!! AWS FISとは
28 改めて、自己紹介をさせてください。
自己紹介 29 所属:CI事業部 開発第1セクション第1グループ 趣味:ハーゲンダッツの蓋集め 好きなAWSサービス:AWS FIS 図を配置してください 北野 涼平(ヤマダ)
🎉🎉🎉 🐤🐤🐤
30 ご清聴、ありがとうございました。