Slide 1

Slide 1 text

第11回 雲勉LT【オンライン】 AWS Fault Injection Service で実験を楽しむ

Slide 2

Slide 2 text

自己紹介 2 所属:CI事業部 開発第1セクション第1グループ アイレット歴:5ヶ月 趣味:ハーゲンダッツの蓋集め 図を配置してください 北野 涼平(ヤマダ)

Slide 3

Slide 3 text

3 私の自己紹介には足りないものがあります。

Slide 4

Slide 4 text

4 好きなAWSサービスがない…!

Slide 5

Slide 5 text

好きなAWSサービスについて 5 好きなAWSサービスとは JAWSの勉強会やLT大会などに登壇されている素晴らしきエン ジニア様たちは、皆さん好きなAWSサービスを書いている。 ただ、個人的には「好きなAWSサービス」として自己紹介欄 に記載するのはかなりのハードルを感じる。

Slide 6

Slide 6 text

好きなAWSサービスについて 6 なぜ自己紹介に書きにくいのか • 自分よりも好きで深い知識を持っている猛者が多い • 何か質問された時に答えられないのが怖い • そもそも全サービス触っている訳ではないので自信がない でもそんなこと気にする必要はないと最近気づきました! ということで、私が好きなAWSサービスと出会った時のことを お話ししつつ、そのサービスに触れていきたいと思います。

Slide 7

Slide 7 text

7 出会い

Slide 8

Slide 8 text

出会い 8 ある日のこと 作成したAuto Scalingの挙動を確認する必要がありました。 設定は以下の通りです。 希望:2 最小:2 最大:3 CPUの使用率を上げることでEC2インスタンスが増えるかどうか を確かめる必要があります。当時の私は何の知識もなかったので 、「aws autoscaling CPU」などで検索してみました。

Slide 9

Slide 9 text

出会い 9 ある日のこと するととても分かりやすい記事があったので、それに倣ってテス トしてみます。どうやら「stress」コマンドを使えばCPUに負荷 をかけれるようです。 「なるほど、簡単やな」と思いつつ、早速コマンドを叩いてみる ことにします!

Slide 10

Slide 10 text

コマンドを叩く! 10 入ってない…!!

Slide 11

Slide 11 text

出会い 11 1. 「stress」コマンドをインストールする • インストール自体は一瞬で簡単 • 2〜3台ならなんとかなるが、増えたらどうする? • インストールはIaCやユーザーデータを使用することで楽に実現できる 2. 全てのインスタンスにインストールしたとする • 大量のインスタンスを切り替えながら「stress」コマンドを叩いていくのか? • 観測時、画面が1つしかないのでウィンドウの切り替えが多発 →非常に面倒くさい状態 「stress」コマンドは叩く前にストレスを感じる いくつかパターンを考えてみる

Slide 12

Slide 12 text

出会い 12 今回のケースであればインスタンスは2台なので、パワーで解決 できそうです。 ただ、どうしても面倒に感じてしまって実行に移せず、別の方法 を検索していました。 すると意外にも早い段階で、運命の出会いを果たします。 逃げの検索

Slide 13

Slide 13 text

運命の出会い 13 AWS Fault Injection Service

Slide 14

Slide 14 text

出会い 14 • フォールト挿入実験を実行するためのフルマネージドサービス • コントロールされた実験で回復性とパフォーマンスを改善する • 特定の条件が満たされた場合に自動的にロールバック • 料金はアクション開始から1分ごとにかかる →障害(Fault)を意図的に発生させて、反応を見てシステムの回 復力やパフォーマンスを上げるために使用する! AWS FISとは

Slide 15

Slide 15 text

15 検証

Slide 16

Slide 16 text

検証 16 今回はAuto ScalingのEC2インスタンスに対してCPU負荷をかけます。 インスタンスが無事に追加され、CPU負荷が下がったときに減ったら成功です。 <使用するAuto Scalingの設定> 最小・希望 2台 最大 3台 CPU負荷が全体で50%を超えている状態が続いたとき さっそく実験

Slide 17

Slide 17 text

検証 17 AWS FISのページに移動し、実験テンプレートを 作成することから始めます。 実験のメインとなるアクションの設定! アクションタイプなど、分かりやすい名前だった ので雰囲気で設定していけました。 負荷は「65%」、時間は「5分」に設定していま す。ターゲットなども任意の値を設定していきま す。 さっそく実験② ※EC2ではなく、SSMのグループにあるアクションタイプ

Slide 18

Slide 18 text

検証 18 AWS FISのページに移動し、実験テンプレートを 作成することから始めます。 実験のメインとなるアクションの設定! アクションタイプなど、分かりやすい名前だった ので雰囲気で設定していけました。 負荷は「65%」、時間は「5分」に設定していま す。ターゲットなども任意の値を設定していきま す。 さっそく実験② ※必須属性を含める

Slide 19

Slide 19 text

検証 19 たったそれだけでOK! あとは作成したテンプレートを選択すると、なん ともわくわくするボタンが活性化されます。 「実験を開始」を押して負荷をかけていきます。 さっそく実験③

Slide 20

Slide 20 text

検証 20 CloudWatchで状況を確認しながらのんびり 待ちます。 すると徐々に負荷がかかってきて、とうとう アラーム状態になりました! 赤い枠線のあたりが今回の実験でかかった負 荷になります。 ボタン1つ押すだけでCPU負荷、最高! さっそく実験④

Slide 21

Slide 21 text

検証 21 ザザッと割愛しますが、きちんとScaleされていました 。また、負荷が下がった時にはインスタンスは消えてい ました。 AWS FISを利用することで簡単Auto Scalingの実験がで きて万々歳です! さっそく実験⑤ インスタンスが増えた時の画像

Slide 22

Slide 22 text

22 実験大成功!

Slide 23

Slide 23 text

23 注意点

Slide 24

Slide 24 text

注意点 24 最初はギリギリを攻めようと思ってCPU負荷を50%に 設定しましたが、そこまで安定した負荷をかけることは 難しいようです。 途中で49%になったりしたことで、Auto Scalingは発動 しませんでした。 そこで今回は65%に設定することでScaleの確認を行い ました。 注意点① 閾値のテストは難しい ※常に一定ではない

Slide 25

Slide 25 text

注意点 25 実行時間には少し余裕を持つこと。 最初はギリギリの時間で実験をしようと思っていました が、負荷が安定しない可能性もあるので少し長めに設定 しました。 先ほどの閾値ミスのタイミングで気づいたので今回の実 験ではミスなく終えました。 注意点② 実行時間には少し余裕を持つこと

Slide 26

Slide 26 text

26 まとめ

Slide 27

Slide 27 text

注意点 27 ■ 設定も簡単で、楽に負荷テストができた! ■ 小規模な実験もできる!(分単位での料金なので安心) ■ 今後も使っていきたいと思えた! ■ 実験という単語でテンションが上がる ■ 何よりアイコンがかわいい!!! AWS FISとは

Slide 28

Slide 28 text

28 改めて、自己紹介をさせてください。

Slide 29

Slide 29 text

自己紹介 29 所属:CI事業部 開発第1セクション第1グループ 趣味:ハーゲンダッツの蓋集め 好きなAWSサービス:AWS FIS 図を配置してください 北野 涼平(ヤマダ) 🎉🎉🎉 🐤🐤🐤

Slide 30

Slide 30 text

30 ご清聴、ありがとうございました。