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
300
雲勉@オンライン【勉強会】AWSでお手軽!負荷テスト環境構築【初心者向け】
Y.Sumikura
August 05, 2022
Tweet
Share
More Decks by Y.Sumikura
See All by Y.Sumikura
第103回 雲勉【オンライン】インフラエンジニアにおける ChatGPT の便利な使い方と注意点
sumikurayurie1125
1
190
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
140
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
180
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
170
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
230
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
11
3.2k
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
sumikurayurie1125
2
310
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
150
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
54
Other Decks in Technology
See All in Technology
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
3
200
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
110
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
990
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
0
110
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
複雑なState管理からの脱却
sansantech
PRO
1
140
Terraform Stacks入門 #HashiTalks
msato
0
350
Featured
See All Featured
Scaling GitHub
holman
458
140k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Why Our Code Smells
bkeepers
PRO
334
57k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
The Invisible Side of Design
smashingmag
298
50k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
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 質疑応答