SlideShare a Scribd company logo
1 of 9
Download to read offline
JMeterクラスタをAWS上に
Pythonで上げるテンプレートを作ってみた
STRICTLY PRIVATE AND CONFIDENTIAL|© 2020 iRidge, Inc.
モチベーション
● 上司のおすすめでJMeterでAPIの負荷試験をすることになった
● サーバ1台ではリソース不足に陥ったため、クラスタを構築を検討
● 必要な時に必要な台数だけ上げたいので、クラウド上がよさそう
● 社内にナレッジが多いので、Pythonを使ってデプロイしたい
1
STRICTLY PRIVATE AND CONFIDENTIAL|© 2020 iRidge, Inc.
sceptreとtroposphere
● sceptre
○ CloudFormation (CFn)テンプレートやスタック等をPythonで管理できるモ
ジュール
○ https://github.com/Sceptre/sceptre
● troposphere
○ CloudFormation (CFn)テンプレートとなるJSON/YAMLをPythonコードから生
成できるモジュール
○ https://github.com/cloudtools/troposphere
sceptre + troposphereでCFnテンプレート作成からデプロイまで可能に!
2
troposphere sceptre
STRICTLY PRIVATE AND CONFIDENTIAL|© 2020 iRidge, Inc.
CloudFormation
● JSONかYAMLでAWSリソースを宣言構築・運用できるAWSサービス
○ いわゆる「Infrastructure as Code」を実現できる
3
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/cfn-whatis-howdoesitwork.html
{
"AWSTemplateFormatVersion" :
"2010-09-09" ,
"Description" : "A simple EC2 instance" ,
"Resources" : {
"MyEC2Instance" : {
"Type" : "AWS::EC2::Instance" ,
"Properties" : {
"ImageId" :
"ami-0ff8a91507f77f867" ,
"InstanceType" : "t1.micro"
}
}
}
}
STRICTLY PRIVATE AND CONFIDENTIAL|© 2020 iRidge, Inc.
JMeter
● Java製の負荷試験ツール
○ GUIで簡単シナリオ作成
○ 詳細なレポート出力機能
○ Webブラウザと連携して自動でシナリオ作成可能なプロキシ
4
https://jmeter.apache.org/
STRICTLY PRIVATE AND CONFIDENTIAL|© 2020 iRidge, Inc.
テンプレートで出来上がるシステムと負荷試験実施イメージ
1. sceptreコマンドでJMeterのクライアントとサーバを起動
2. サーバを作ったテンプレートに付与された、各サーバのIP群を取得
3. クライアントにログインして、シナリオにサーバのIP群をセット
4. 負荷試験対象システムに負荷をかける
5
STRICTLY PRIVATE AND CONFIDENTIAL|© 2020 iRidge, Inc.
使用感や工夫した点
6
● ClientとServerを分けて作成・削除できるのがGood
○ Serverの入れ替えや増減もパラメータ変更して半自動デプロイ
○ 各サーバのIPをテンプレートに出力するようにしたため、全サーバのIPを探し
てシナリオにセットする手間を削減
○ 負荷試験を途中でやめるときも「sceptre delete cluster/servers」ですぐに止
められる
● パラメータを宣言的に定義でき、誰でも簡単にクラスタが立てられる
○ YAMLファイルにJMeterクラスタ構築に必要なパラメータはすべて落とし込ん
だため、ユーザはYAMLファイルに基本情報を記載すればクラスタが作れる
○ CloudFormationのテンプレートのお作法もPythonのお作法も知らなくてよい
ので、透過的
● 半自動的にすぐ作成、すぐ削除ができる
○ これは本来の目的の達成でもある
STRICTLY PRIVATE AND CONFIDENTIAL|© 2020 iRidge, Inc.
まとめ
7
● 最近、AWSインフラはCDKで管理することも多くなってきたので、新しくインフラを
定義する場合はCDK推奨。Pythonも利用可能
○ ただし、Ver. Upが早いことに気を付けて
○ https://aws.amazon.com/jp/cdk/
● クラウド上に一時的にリソースあげる場合は、少しでも使いまわす可能性があると
予見できたらコード化しておいた方がよい
○ 後々全体 or 部分的に流用が効く
○ 積極的にコード化して、流用可能な成果物を蓄積していくことが大切
https://docs.aws.amazon.com/cdk/latest/guide/home.html
JMeterクラスタをAWS上にPythonで上げるテンプレートを作ってみた

More Related Content

What's hot

JAWS-UG中央線東海支部ハンズオン
JAWS-UG中央線東海支部ハンズオンJAWS-UG中央線東海支部ハンズオン
JAWS-UG中央線東海支部ハンズオン真吾 吉田
 
KubernetesでPHPを動かした話
KubernetesでPHPを動かした話KubernetesでPHPを動かした話
KubernetesでPHPを動かした話gree_tech
 
[Cloud OnAir ] #06 メルカリ & ソウゾウの世界展開と Google Cloud
[Cloud  OnAir ] #06 メルカリ & ソウゾウの世界展開と Google Cloud[Cloud  OnAir ] #06 メルカリ & ソウゾウの世界展開と Google Cloud
[Cloud OnAir ] #06 メルカリ & ソウゾウの世界展開と Google CloudGoogle Cloud Platform - Japan
 
[JAWS-UG 横浜] AWS re:Invent 2019 Network関連アップデート 5本立て
[JAWS-UG 横浜] AWS re:Invent 2019Network関連アップデート5本立て[JAWS-UG 横浜] AWS re:Invent 2019Network関連アップデート5本立て
[JAWS-UG 横浜] AWS re:Invent 2019 Network関連アップデート 5本立てShuji Kikuchi
 
The Internal of Serverless Plugins
The Internal of Serverless PluginsThe Internal of Serverless Plugins
The Internal of Serverless PluginsTerui Masashi
 
活動報告4 ~gitとjenkinsとcloud9~
活動報告4 ~gitとjenkinsとcloud9~活動報告4 ~gitとjenkinsとcloud9~
活動報告4 ~gitとjenkinsとcloud9~vx-pc-club
 
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~normalian
 
JAZUG5周年総会 仮想マシンの?(ハテナ)を試す
JAZUG5周年総会 仮想マシンの?(ハテナ)を試すJAZUG5周年総会 仮想マシンの?(ハテナ)を試す
JAZUG5周年総会 仮想マシンの?(ハテナ)を試すYui Ashikaga
 
[JAWS-UG Tokyo 32] AWS Client VPNの特徴
[JAWS-UG Tokyo 32] AWS Client VPNの特徴[JAWS-UG Tokyo 32] AWS Client VPNの特徴
[JAWS-UG Tokyo 32] AWS Client VPNの特徴Shuji Kikuchi
 
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!Yasuaki Matsuda
 
AWSを用いてNode-REDでらくらくAPI
AWSを用いてNode-REDでらくらくAPIAWSを用いてNode-REDでらくらくAPI
AWSを用いてNode-REDでらくらくAPIKazumi Kanda
 
20200623 Client VPNの使いどころ
20200623 Client VPNの使いどころ20200623 Client VPNの使いどころ
20200623 Client VPNの使いどころMasaru Ogura
 
もうすぐ春だしAWSでさくらをやってみた
もうすぐ春だしAWSでさくらをやってみたもうすぐ春だしAWSでさくらをやってみた
もうすぐ春だしAWSでさくらをやってみたMasamitsu Maehara
 
VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話Noritaka Sekiyama
 
20140331 hiroshima
20140331 hiroshima20140331 hiroshima
20140331 hiroshimaAyako Tani
 
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿Yui Ashikaga
 
Windows Azure kaasanイメージについて
Windows Azure kaasanイメージについてWindows Azure kaasanイメージについて
Windows Azure kaasanイメージについて松田 千尋
 
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜	【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜 虎の穴 開発室
 

What's hot (20)

JAWS-UG中央線東海支部ハンズオン
JAWS-UG中央線東海支部ハンズオンJAWS-UG中央線東海支部ハンズオン
JAWS-UG中央線東海支部ハンズオン
 
KubernetesでPHPを動かした話
KubernetesでPHPを動かした話KubernetesでPHPを動かした話
KubernetesでPHPを動かした話
 
[Cloud OnAir ] #06 メルカリ & ソウゾウの世界展開と Google Cloud
[Cloud  OnAir ] #06 メルカリ & ソウゾウの世界展開と Google Cloud[Cloud  OnAir ] #06 メルカリ & ソウゾウの世界展開と Google Cloud
[Cloud OnAir ] #06 メルカリ & ソウゾウの世界展開と Google Cloud
 
[JAWS-UG 横浜] AWS re:Invent 2019 Network関連アップデート 5本立て
[JAWS-UG 横浜] AWS re:Invent 2019Network関連アップデート5本立て[JAWS-UG 横浜] AWS re:Invent 2019Network関連アップデート5本立て
[JAWS-UG 横浜] AWS re:Invent 2019 Network関連アップデート 5本立て
 
The Internal of Serverless Plugins
The Internal of Serverless PluginsThe Internal of Serverless Plugins
The Internal of Serverless Plugins
 
活動報告4 ~gitとjenkinsとcloud9~
活動報告4 ~gitとjenkinsとcloud9~活動報告4 ~gitとjenkinsとcloud9~
活動報告4 ~gitとjenkinsとcloud9~
 
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
 
JAZUG5周年総会 仮想マシンの?(ハテナ)を試す
JAZUG5周年総会 仮想マシンの?(ハテナ)を試すJAZUG5周年総会 仮想マシンの?(ハテナ)を試す
JAZUG5周年総会 仮想マシンの?(ハテナ)を試す
 
[JAWS-UG Tokyo 32] AWS Client VPNの特徴
[JAWS-UG Tokyo 32] AWS Client VPNの特徴[JAWS-UG Tokyo 32] AWS Client VPNの特徴
[JAWS-UG Tokyo 32] AWS Client VPNの特徴
 
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
 
AWSを用いてNode-REDでらくらくAPI
AWSを用いてNode-REDでらくらくAPIAWSを用いてNode-REDでらくらくAPI
AWSを用いてNode-REDでらくらくAPI
 
20200623 Client VPNの使いどころ
20200623 Client VPNの使いどころ20200623 Client VPNの使いどころ
20200623 Client VPNの使いどころ
 
もうすぐ春だしAWSでさくらをやってみた
もうすぐ春だしAWSでさくらをやってみたもうすぐ春だしAWSでさくらをやってみた
もうすぐ春だしAWSでさくらをやってみた
 
VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話
 
20191111 sd 8_kitazaki_t0
20191111 sd 8_kitazaki_t020191111 sd 8_kitazaki_t0
20191111 sd 8_kitazaki_t0
 
jaws securityhub
jaws securityhubjaws securityhub
jaws securityhub
 
20140331 hiroshima
20140331 hiroshima20140331 hiroshima
20140331 hiroshima
 
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿
 
Windows Azure kaasanイメージについて
Windows Azure kaasanイメージについてWindows Azure kaasanイメージについて
Windows Azure kaasanイメージについて
 
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜	【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
 

Similar to JMeterクラスタをAWS上にPythonで上げるテンプレートを作ってみた

半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)Toru Makabe
 
Cm re growth-reinvent-app304-kaji
Cm re growth-reinvent-app304-kajiCm re growth-reinvent-app304-kaji
Cm re growth-reinvent-app304-kajiHiroyuki Kaji
 
What makes pyramid unique
What makes pyramid uniqueWhat makes pyramid unique
What makes pyramid uniqueAtsushi Odagiri
 
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザAWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザNoritaka Sekiyama
 
[CTO Night & Day 2019] ML services: MLOps #ctonight
[CTO Night & Day 2019] ML services: MLOps #ctonight[CTO Night & Day 2019] ML services: MLOps #ctonight
[CTO Night & Day 2019] ML services: MLOps #ctonightAmazon Web Services Japan
 
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~torisoup
 
Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話Katsunori Kanda
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf勇 黒沢
 
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)NTT DATA Technology & Innovation
 
de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!Minoru Naito
 
Azure Functions あれこれ
Azure Functions あれこれAzure Functions あれこれ
Azure Functions あれこれYasuaki Matsuda
 
もっとも簡単なKubernetes構築 on Raspberry pi (July tech festa winter 2021)
もっとも簡単なKubernetes構築 on Raspberry pi  (July tech festa winter 2021)もっとも簡単なKubernetes構築 on Raspberry pi  (July tech festa winter 2021)
もっとも簡単なKubernetes構築 on Raspberry pi (July tech festa winter 2021)Kamon Nobuchika
 
TypeScript製フレームワーク「Nest」のご紹介
TypeScript製フレームワーク「Nest」のご紹介TypeScript製フレームワーク「Nest」のご紹介
TypeScript製フレームワーク「Nest」のご紹介bitbank, Inc. Tokyo, Japan
 
機械学習 / Deep Learning 大全 (5) Tool編
機械学習 / Deep Learning 大全 (5) Tool編機械学習 / Deep Learning 大全 (5) Tool編
機械学習 / Deep Learning 大全 (5) Tool編Daiyu Hatakeyama
 
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Makoto Haruyama
 
TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理Yuki Yamashita
 

Similar to JMeterクラスタをAWS上にPythonで上げるテンプレートを作ってみた (20)

半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)
 
Cm re growth-reinvent-app304-kaji
Cm re growth-reinvent-app304-kajiCm re growth-reinvent-app304-kaji
Cm re growth-reinvent-app304-kaji
 
What makes pyramid unique
What makes pyramid uniqueWhat makes pyramid unique
What makes pyramid unique
 
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザAWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザ
 
[CTO Night & Day 2019] ML services: MLOps #ctonight
[CTO Night & Day 2019] ML services: MLOps #ctonight[CTO Night & Day 2019] ML services: MLOps #ctonight
[CTO Night & Day 2019] ML services: MLOps #ctonight
 
ドリコムのインフラCI
ドリコムのインフラCIドリコムのインフラCI
ドリコムのインフラCI
 
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
 
20181228 ncf to_azure_batch
20181228 ncf to_azure_batch20181228 ncf to_azure_batch
20181228 ncf to_azure_batch
 
俺とHashiCorp
俺とHashiCorp俺とHashiCorp
俺とHashiCorp
 
Cloudfront cli tips
Cloudfront cli tipsCloudfront cli tips
Cloudfront cli tips
 
Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
 
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
 
de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!
 
Azure Functions あれこれ
Azure Functions あれこれAzure Functions あれこれ
Azure Functions あれこれ
 
もっとも簡単なKubernetes構築 on Raspberry pi (July tech festa winter 2021)
もっとも簡単なKubernetes構築 on Raspberry pi  (July tech festa winter 2021)もっとも簡単なKubernetes構築 on Raspberry pi  (July tech festa winter 2021)
もっとも簡単なKubernetes構築 on Raspberry pi (July tech festa winter 2021)
 
TypeScript製フレームワーク「Nest」のご紹介
TypeScript製フレームワーク「Nest」のご紹介TypeScript製フレームワーク「Nest」のご紹介
TypeScript製フレームワーク「Nest」のご紹介
 
機械学習 / Deep Learning 大全 (5) Tool編
機械学習 / Deep Learning 大全 (5) Tool編機械学習 / Deep Learning 大全 (5) Tool編
機械学習 / Deep Learning 大全 (5) Tool編
 
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
 
TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理
 

JMeterクラスタをAWS上にPythonで上げるテンプレートを作ってみた

  • 2. STRICTLY PRIVATE AND CONFIDENTIAL|© 2020 iRidge, Inc. モチベーション ● 上司のおすすめでJMeterでAPIの負荷試験をすることになった ● サーバ1台ではリソース不足に陥ったため、クラスタを構築を検討 ● 必要な時に必要な台数だけ上げたいので、クラウド上がよさそう ● 社内にナレッジが多いので、Pythonを使ってデプロイしたい 1
  • 3. STRICTLY PRIVATE AND CONFIDENTIAL|© 2020 iRidge, Inc. sceptreとtroposphere ● sceptre ○ CloudFormation (CFn)テンプレートやスタック等をPythonで管理できるモ ジュール ○ https://github.com/Sceptre/sceptre ● troposphere ○ CloudFormation (CFn)テンプレートとなるJSON/YAMLをPythonコードから生 成できるモジュール ○ https://github.com/cloudtools/troposphere sceptre + troposphereでCFnテンプレート作成からデプロイまで可能に! 2 troposphere sceptre
  • 4. STRICTLY PRIVATE AND CONFIDENTIAL|© 2020 iRidge, Inc. CloudFormation ● JSONかYAMLでAWSリソースを宣言構築・運用できるAWSサービス ○ いわゆる「Infrastructure as Code」を実現できる 3 https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/cfn-whatis-howdoesitwork.html { "AWSTemplateFormatVersion" : "2010-09-09" , "Description" : "A simple EC2 instance" , "Resources" : { "MyEC2Instance" : { "Type" : "AWS::EC2::Instance" , "Properties" : { "ImageId" : "ami-0ff8a91507f77f867" , "InstanceType" : "t1.micro" } } } }
  • 5. STRICTLY PRIVATE AND CONFIDENTIAL|© 2020 iRidge, Inc. JMeter ● Java製の負荷試験ツール ○ GUIで簡単シナリオ作成 ○ 詳細なレポート出力機能 ○ Webブラウザと連携して自動でシナリオ作成可能なプロキシ 4 https://jmeter.apache.org/
  • 6. STRICTLY PRIVATE AND CONFIDENTIAL|© 2020 iRidge, Inc. テンプレートで出来上がるシステムと負荷試験実施イメージ 1. sceptreコマンドでJMeterのクライアントとサーバを起動 2. サーバを作ったテンプレートに付与された、各サーバのIP群を取得 3. クライアントにログインして、シナリオにサーバのIP群をセット 4. 負荷試験対象システムに負荷をかける 5
  • 7. STRICTLY PRIVATE AND CONFIDENTIAL|© 2020 iRidge, Inc. 使用感や工夫した点 6 ● ClientとServerを分けて作成・削除できるのがGood ○ Serverの入れ替えや増減もパラメータ変更して半自動デプロイ ○ 各サーバのIPをテンプレートに出力するようにしたため、全サーバのIPを探し てシナリオにセットする手間を削減 ○ 負荷試験を途中でやめるときも「sceptre delete cluster/servers」ですぐに止 められる ● パラメータを宣言的に定義でき、誰でも簡単にクラスタが立てられる ○ YAMLファイルにJMeterクラスタ構築に必要なパラメータはすべて落とし込ん だため、ユーザはYAMLファイルに基本情報を記載すればクラスタが作れる ○ CloudFormationのテンプレートのお作法もPythonのお作法も知らなくてよい ので、透過的 ● 半自動的にすぐ作成、すぐ削除ができる ○ これは本来の目的の達成でもある
  • 8. STRICTLY PRIVATE AND CONFIDENTIAL|© 2020 iRidge, Inc. まとめ 7 ● 最近、AWSインフラはCDKで管理することも多くなってきたので、新しくインフラを 定義する場合はCDK推奨。Pythonも利用可能 ○ ただし、Ver. Upが早いことに気を付けて ○ https://aws.amazon.com/jp/cdk/ ● クラウド上に一時的にリソースあげる場合は、少しでも使いまわす可能性があると 予見できたらコード化しておいた方がよい ○ 後々全体 or 部分的に流用が効く ○ 積極的にコード化して、流用可能な成果物を蓄積していくことが大切 https://docs.aws.amazon.com/cdk/latest/guide/home.html