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
38
第11回 雲勉LT【オンライン】AWS Fault Injection Serviceで実験を楽しむ
iret.kumoben
December 12, 2023
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第133回 雲勉 【オンライン】今度こそ既存のAWSリソースをいい感じにコードに落とし込みたい!
iret
0
37
第132回 雲勉【オンライン】春の生成AI祭り
iret
1
53
第17回 雲勉LT【オンライン】Amazon Managed Grafanaを使ってCloudWatchログを分析・可視化する
iret
0
42
Amazon Bedrockのロックな使い方を考えたい
iret
0
32
CloudWatch SyntheticsとAmazon Managed Grafanaを連携する
iret
0
25
Amazon SageMaker Canvasで学ぶ機械学習モデルの構築
iret
0
46
ECR経由でのデプロイ通知を考える〜App Runner編〜
iret
0
33
AWSのサーバーレスでとりあえず開発をはじめてみた時に無知ゆえに陥りがちなこと
iret
1
52
第131回 雲勉【オンライン】AWSを9年触ってきて経験した落とし穴、ハマったポイント
iret
8
670
Other Decks in Technology
See All in Technology
技術力の伸ばし方を考える
khirata
0
150
B2C、B2B プロダクトマネジメントの違い(および思考の罠) / B2C, B2B PM and reduction fallacy
ykmc09
5
2.5k
AWS CLIの起動が重くてつらいので aws-sdk-client-go を書いた / kamakura.go#6
fujiwara3
6
3.4k
スクラムに出会って「できた」を実感できるようになってきた話 / Scrum makes me feel like I can do it
yayoi_dd
2
110
汎用ポリシー言語Rego + OPAと認可・検証事例の紹介 / Introduction Rego & OPA for authorization and validation
mizutani
1
180
令和版ソフトウェアエンジニアの情報収集術 PHPカンファレンス香川2024
ysknsid25
4
910
AI JIMY - 登壇(インストール編)
hanacchi
0
150
OpenID Foundation updates
fujie
0
230
Databricksの生成AI戦略
taka_aki
1
380
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
15
36k
TDD - Test Driven Drupal
opdavies
0
3k
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
12
7.9k
Featured
See All Featured
Six Lessons from altMBA
skipperchong
22
3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
9
1.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
34
6.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Docker and Python
trallard
35
2.7k
Agile that works and the tools we love
rasmusluckow
325
20k
Product Roadmaps are Hard
iamctodd
45
9.8k
How GitHub (no longer) Works
holman
305
140k
The Invisible Side of Design
smashingmag
294
49k
For a Future-Friendly Web
brad_frost
172
9k
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 ご清聴、ありがとうございました。