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
400
雲勉@オンライン【勉強会】AWSでお手軽!負荷テスト環境構築【初心者向け】
Y.Sumikura
August 05, 2022
Tweet
Share
More Decks by Y.Sumikura
See All by Y.Sumikura
第103回 雲勉【オンライン】インフラエンジニアにおける ChatGPT の便利な使い方と注意点
sumikurayurie1125
1
240
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
150
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
220
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
210
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
320
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
11
3.3k
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
sumikurayurie1125
3
500
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
180
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
63
Other Decks in Technology
See All in Technology
ビズリーチにおけるリアーキテクティング実践事例 / JJUG CCC 2025 Spring
visional_engineering_and_design
1
130
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
450
SmartNewsにおける 1000+ノード規模 K8s基盤 でのコスト最適化 – Spot・Gravitonの大規模導入への挑戦
vsanna2
0
140
OPENLOGI Company Profile for engineer
hr01
1
34k
品質と速度の両立:生成AI時代の品質保証アプローチ
odasho
1
360
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
2
16k
「クラウドコスト絶対削減」を支える技術—FinOpsを超えた徹底的なクラウドコスト削減の実践論
delta_tech
4
170
FOSS4G 2025 KANSAI QGISで点群データをいろいろしてみた
kou_kita
0
400
B2C&B2B&社内向けサービスを抱える開発組織におけるサービス価値を最大化するイニシアチブ管理
belongadmin
1
7.1k
Delegating the chores of authenticating users to Keycloak
ahus1
0
140
OPENLOGI Company Profile
hr01
0
67k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
50
20k
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Adopting Sorbet at Scale
ufuk
77
9.5k
Scaling GitHub
holman
460
140k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Visualization
eitanlees
146
16k
Balancing Empowerment & Direction
lara
1
430
Mobile First: as difficult as doing things right
swwweet
223
9.7k
BBQ
matthewcrist
89
9.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Agile that works and the tools we love
rasmusluckow
329
21k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
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 質疑応答