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
雲勉@オンライン【勉強会】AWSでお手軽!負荷テスト環境構築【初心者向け】
Search
Y.Sumikura
August 05, 2022
Technology
0
360
雲勉@オンライン【勉強会】AWSでお手軽!負荷テスト環境構築【初心者向け】
Y.Sumikura
August 05, 2022
Tweet
Share
More Decks by Y.Sumikura
See All by Y.Sumikura
第103回 雲勉【オンライン】インフラエンジニアにおける ChatGPT の便利な使い方と注意点
sumikurayurie1125
1
220
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
140
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
200
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
200
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
290
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
11
3.3k
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
sumikurayurie1125
3
430
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
170
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
62
Other Decks in Technology
See All in Technology
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
20k
30 代子育て SRE が考える SRE ナレッジマネジメントの現在と将来
kworkdev
PRO
0
110
Medmain FACTBOOK
akinaootani
0
100
DevinはクラウドエンジニアAIになれるのか!? 実践的なガードレール設計/devin-can-become-a-cloud-engineer-ai-practical-guardrail-design
tomoki10
3
1.3k
20250326_管理ツールの権限管理で改善したこと
sasata299
1
380
Go製のマイグレーションツールの git-schemalex の紹介と運用方法
shinnosuke_kishida
1
410
移行できそうでやりきれなかった 10年超えのシステムを葬るための戦略 / phper-kaigi-2025-ryu
carta_engineering
0
690
年末調整プロダクトの内部品質改善活動について
kaomi_wombat
0
210
AWS CDK コントリビュート はじめの一歩
yendoooo
1
120
新卒エンジニア研修の試行錯誤と工夫/nikkei-tech-talk-31
nishiuma
0
200
OCI見積もり入門セミナー
oracle4engineer
PRO
0
120
17年のQA経験が導いたスクラムマスターへの道 / 17 Years in QA to Scrum Master
toma_sm
0
410
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
Adopting Sorbet at Scale
ufuk
75
9.3k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Building Adaptive Systems
keathley
41
2.5k
Bash Introduction
62gerente
611
210k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
Scaling GitHub
holman
459
140k
Transcript
2022/8/4 AWSでお⼿軽︕負荷テスト環境構築【初⼼者向け】 雲勉 @ オンライン
0.講師⾃⼰紹介 2 n 名前︓⾨⾺康太郎 • プロジェクト企画推進セクション PMOグループ • 経歴 2015年
4⽉ ~ 電機メーカーSE 2021年11⽉ ~ 現職 • アイレット歴︓9ヶ⽉ • 最近ホルモン焼きにハマっています
0.今回お話すること 3 AWS上で負荷テスト環境を構築する⽅法をご紹介いたします。 AWSが提供するCloudFormationテンプレートを使⽤して環境を構築し、負荷テストを実 施するまでの⼿順について解説いたします。 負荷テスト環境をお⼿軽に作成、使い終わったら削除できます! 負荷テスト⽤の サーバの⽤意は? 購⼊?レンタル? モノが届くのは
いつ? 次使うのはいつ? レンタル延⻑する? 必要なときに作って、 終わったらすぐに削除。 そう、AWSならね。 必要なソフトの ⼊れ込みしないと・・
アジェンダ 4 0. ⾃⼰紹介/今回お話すること 1. 負荷テストとは(19:05~19:10) 2. 構築する負荷テスト環境のご紹介(19:10~19:20) 3. 負荷テスト環境構築&負荷テスト実施デモ
(19:20~19:45) 4. 質疑応答(19:45~20:00)
1. 負荷テストとは 5
1-1.負荷テストとは 6 n 負荷テストとは 負荷テストとは、機器やソフトウェア、システムのテスト(試験)の⼀種で、負荷を⾼ めていったときの状態や性能などを計測し、どのくらいの負荷まで正しく動作するかを 検証するもの。※1 今回はWEBサイトにおける負荷テストについて取り扱います。 n 負荷テストの⽬的
• システムの利⽤における各種ユースケースを想定し、応答性能を推測する • ⾼負荷時におけるシステムの性能改善を⾏う • ⽬的の性能を提供するために必要なハードウェアをあらかじめ選定する • システムのスケール性を確認する ※1 https://e-words.jp/w/%E8%B2%A0%E8%8D%B7%E3%83%86%E3%82%B9%E3%83%88.html
1-2.負荷テストのために⽤意するもの 7 負荷テストにあたり、負荷テストの対象となる環境とは別に、「負荷掛け環境」を⽤意する 必要があります。 今回は「負荷掛け環境」の構築⽅法についてご紹介いたします。 負荷掛け環境 負荷テスト 対象環境
1-3.負荷テストの進め⽅ 8 負荷テストの流れは以下となります。 負荷テストの⽬的・⽬標の決定 シナリオ作成 負荷掛け環境構築 負荷テスト実施 チューニング 負荷テスト完了
1-4.AWS環境における負荷テストの注意点 9 • ⽣成するトラフィック量により、事前の申請が必要となる場合がある 1 Gbps (10 億ビット / 秒)
または 1 Gpps (10 億パケット / 秒) を超えて、合計で 1 分 以上維持するトラフィックを⽣成すると思われる場合、AWSへの事前申請が必要となりま す※2 ˞ IUUQTBXTBNB[PODPNKQFDUFTUJOH
2.構築する負荷テスト環境のご紹介 10
2-1.今回の勉強会でやること 11 n 今回の勉強会でやること • 今回はAWSが提供する”AWSでの分散負荷テスト” のソリューションの紹介・解説となります。 • CloudFormationを展開することで、負荷テスト環 境の構築ができます。
• 提供されたGUIにより、パラメータを⼊⼒するだけで 負荷テストが可能となります。 • JMeter(負荷テストツール)のシナリオファイルを読 み込ませて実⾏することも可能です。 URL︓ https://aws.amazon.com/jp/solutions/implementatio ns/distributed-load-testing-on-aws/
12 実演1 CloudFormation
2-2.負荷テスト環境の解説 13 n ウェブコンソール • CloudFront、S3により、 負荷テストシナリオ⽤コン ソール画⾯・ログイン画⾯ が提供されます。 •
この画⾯で負荷テストのシ ナリオを⼊⼒します。 • ⼊⼒したシナリオの情報は 負荷テストAPIへ送信され ます。 引⽤元URL︓https://aws.amazon.com/jp/solutions/implementations/distributed-load-testing-on-aws/ ブラウザでアクセス
14 n 負荷テストAPI • API Gatewayは負荷テス トのシナリオ情報を受信し ます。後続のLambdaによ り、S3とDynamo DBへの
シナリオ情報の書き込み、 Step Functionsの起動を ⾏います。 • API Gatewayへのリクエ スト時、CognitoにてAPI 実⾏の認可が⾏われていま す。 引⽤元URL︓https://aws.amazon.com/jp/solutions/implementations/distributed-load-testing-on-aws/ データ書き込み 起動 2-2.負荷テスト環境の解説
15 n バックエンド • 負荷テストAPIからのリク エストを受け、Step Functionsが起動します。 • 負荷テスト⽤のコンテナが 起動し、シナリオに沿った
リクエストを対象へ送信し ます。 • テストの結果は CloudWatchとDynamo DBへ格納されます。 引⽤元URL︓https://aws.amazon.com/jp/solutions/implementations/distributed-load-testing-on-aws/ 負荷テスト実⾏ (リクエスト送信) 負荷テスト 対象環境 起動 2-2.負荷テスト環境の解説
3.負荷テスト環境構築&負荷テスト実施デモ 16
17 3-1.負荷テスト シナリオ 引⽤元URL︓https://aws.amazon.com/jp/solutions/implementations/distributed-load-testing-on-aws/ 負荷テスト実⾏ (リクエスト送信) ① GUIで シナリオ⼊⼒ ②
JMeter シナリオ ファイル⼊⼒ 実演する負荷テストのシナリオは下記2パターンとなります。 ① GUIを使⽤して、負荷テスト対象環境に多数のGETリクエストを送信する。 ② JMeterのシナリオをインポートして、実⾏する。
18 引⽤元URL︓https://aws.amazon.com/jp/solutions/implementations/distributed-load-testing-on-aws/ 負荷テスト実⾏ (リクエスト送信) ① GUIで シナリオ⼊⼒ 実演する負荷テストのシナリオは下記2パターンとなります。 ① GUIを使⽤して、負荷テスト対象環境に多数のGETリクエストを送信する。
② JMeterのシナリオをインポートして、実⾏する。 3-1.負荷テスト シナリオ
19 実演2 コンソール画⾯操作 負荷テスト①実施
20 引⽤元URL︓https://aws.amazon.com/jp/solutions/implementations/distributed-load-testing-on-aws/ GETとPOSTを交互に リクエストを送信 ② JMeter シナリオ ファイル⼊⼒ 実演する負荷テストのシナリオは下記2パターンとなります。 ①
GUIを使⽤して、負荷テスト対象環境に多数のGETリクエストを送信する。 ② JMeterのシナリオをインポートして、実⾏する。 シナリオ︓GETとPOSTを交互にリクエストを送信 GETには200を応答 POSTには403を応答 3-1.負荷テスト シナリオ
21 実演3 負荷テスト②実施
22 質疑応答