Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DLT_Course_All.pdf

Avatar for devex12 devex12
June 07, 2026
0

 DLT_Course_All.pdf

Avatar for devex12

devex12

June 07, 2026

Transcript

  1. サービス 費用 Fargate (10 タスク/1 時間) 〜$1.5 Lambda / API

    Gateway 無料枠内 DynamoDB / S3 〜$0.5 合計 約$2 〜3/ テスト ※使い終わったらスタック削除でOK AWS 費用の目安 6
  2. ┌─────────────────────────────────────────────────────┐ │ ユーザー │ └─────────────────────┬───────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────┐ │ CloudFront →

    S3 (Webコンソール) │ └─────────────────────┬───────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────┐ │ API Gateway → Lambda (テスト管理) │ │ ↓ │ │ DynamoDB (設定・結果保存) │ └─────────────────────┬───────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────┐ │ Step Functions → ECS Fargate (負荷生成) │ │ (Taurus/JMeter) │ └─────────────────────────────────────────────────────┘ DLT アーキテクチャ 3
  3. サービス 役割 CloudFront + S3 Web コンソールホスティング API Gateway +

    Lambda API バックエンド DynamoDB テスト設定・結果の保存 Step Functions テスト実行オーケストレーション ECS Fargate 負荷生成タスク実行 CloudWatch ログ・メトリクス収集 使用するAWS サービス 4
  4. 項目 従来 DLT 環境構築 数日〜数週間 15 分 サーバー管理 必要 不要

    スケール 手動で増設 タスク数変更のみ コスト 常時稼働 使った分だけ 従来の負荷テスト vs DLT 5
  5. 1. AWS アカウント 管理者権限が必要 2. VPC とサブネット インターネットアクセス可能なサブネット パブリックサブネット or

    NAT Gateway 付きプライベート 3. メールアドレス ログイン用(一時パスワードが届く) 事前に必要なもの 2
  6. インターネット ↓ ┌────────────────────────────────────┐ │ VPC │ │ ┌─────────────────────────────┐ │ │

    │ パブリックサブネット │ │ │ │ → そのまま使える │ │ │ └─────────────────────────────┘ │ │ ┌─────────────────────────────┐ │ │ │ プライベートサブネット │ │ │ │ → NAT Gateway必須 │ │ │ └─────────────────────────────┘ │ └────────────────────────────────────┘ VPC/ サブネット要件 3
  7. 推奨: ターゲットシステムに近いリージョン リージョン 用途 ap-northeast-1 ( 東京) 日本向けシステム us-east-1 (

    バージニア) 北米向けシステム eu-west-1 ( アイルランド) 欧州向けシステム ※マルチリージョンテストも可能 リージョンの選択 4
  8. 項目 コスト 1 時間テスト (10 タスク) 約$3 〜5 週1 回テスト

    約$15 〜20/ 月 コスト削減Tips 学習後はスタック削除 → コストゼロ Fargate Spot → 約70% オフ コストの目安 5
  9. ☐ AWS アカウントにログイン可能 ☐ VPC ID をメモ ☐ サブネット ID

    (2 つ、異なるAZ )をメモ ☐ 受信可能なメールアドレスを用意 次のレクチャー → 実際にデプロイ! 準備完了チェックリスト 6
  10. 1. パラメータ確認 → 「次へ」 2. スタックオプション → デフォルトのまま 3. IAM

    確認 → 3 つのチェックボックスすべてON 4. 「スタックの作成」クリック スタック作成 4
  11. 項目 設定値 説明 Task Count 1 Fargate タスク数 Concurrency 10

    1 タスクあたり同時接続数 Ramp Up 30 秒 負荷を上げる時間 Hold For 60 秒 最大負荷維持時間 → 1 タスク × 10 同時接続 = 10 同時ユーザー テスト設定 4
  12. メトリクス 説明 Average Response Time 平均レスポンスタイム p50 (Median) 50% のリクエストがこの時間内

    p90 90% のリクエストがこの時間内 p99 99% のリクエストがこの時間内 主要メトリクス 2
  13. メトリクス 説明 Requests per Second スループット(処理能力) Success Count 成功リクエスト数 Error

    Count エラーリクエスト数 Bandwidth データ転送量 その他のメトリクス 4
  14. Test Plan └── Thread Group (仮想ユーザー設定) ├── Config Element (共通設定)

    │ └── HTTP Header Manager ├── Sampler (リクエスト) │ ├── HTTP Request 1 │ └── HTTP Request 2 └── Listener (結果収集) ※DLTでは不要 JMeter の基本構成 4
  15. 要素 役割 Test Plan テスト全体の設定 Thread Group ユーザー数・繰り返し設定 Sampler 実際のリクエスト定義

    Config Element 共通ヘッダー・変数など Listener 結果表示(DLT では不要) 各要素の役割 5
  16. 1. JMeter GUI でスクリプト作成(.jmx ) 2. DLT にスクリプトをアップロード 3. Task

    Count / Concurrency を設定 4. テスト実行 DLT でのJMeter 使用フロー 6
  17. Test Plan を右クリック → Add → Threads (Users) → Thread

    Group 設定: 項目 値 Number of Threads 1 Ramp-up period 1 Loop Count Forever ※実際の設定はDLT 側で行う Thread Group 作成 3
  18. Thread Group を右クリック → Add → Sampler → HTTP Request

    設定: 項目 値 Protocol https Server Name api.example.com Method GET Path /api/users HTTP Request 追加 4
  19. Thread Group を右クリック → Add → Config Element → HTTP

    Header Manager ヘッダー追加: Name Value Content-Type application/json Authorization Bearer your-token-here HTTP Header Manager 追加 5
  20. Test Plan └── Thread Group ├── HTTP Header Manager │

    ├── Content-Type: application/json │ └── Authorization: Bearer xxx └── HTTP Request └── GET https://api.example.com/api/users 作成したスクリプト構成 7
  21. 1. DLT Web コンソール → Create Test 2. Test Type:

    JMeter を選択 3. Upload Script → api-load-test.jmx を選択 スクリプトアップロード 2
  22. 項目 設定値 結果 Name jmeter-api-test - Task Count 5 5

    タスク Concurrency 20 ×20 同時接続 Ramp Up 60 秒 - Hold For 300 秒 (5 分) - → 5 × 20 = 100 同時ユーザー テスト設定 3
  23. 1. 「Run Test 」クリック 2. 「Confirm 」で確定 3. 5 つのFargate

    タスクが起動 4. リアルタイムでメトリクス表示 テスト実行 5
  24. 1. まずログを見る → エラーメッセージに原因あり 2. 小さく始める → 1 タスク/ 少ユーザーで動作確認

    3. 設定を見直す → VPC/ サブネット/SG トラブルシューティングのコツ 6
  25. 主なコスト: ECS Fargate 構成 東京リージョン/ 時間 2 vCPU / 4GB

    約$0.10 〜0.15 10 タスク × 1 時間 = $1 〜1.5 その他(Lambda, DynamoDB 等)は通常無視できるレベル DLT のコスト構造 2
  26. Fargate Spot を使う 通常 vs Spot: タイプ コスト 通常 $0.10/

    時間 Spot $0.03/ 時間 (70% オフ) ※中断リスクあり(負荷テストなら問題なし) CFn パラメータで有効化可能 コスト削減テクニック① 3
  27. 適切なタスク数 NG: 最初から100 タスク OK: 少数から始めて必要に応じて増加 1タスク → 5タスク →

    10タスク → ... 必要十分なタスク数を見極める コスト削減テクニック② 4
  28. テスト時間の最適化 目的 推奨時間 動作確認 1 〜2 分 基本性能測定 5 分

    詳細分析 15 〜30 分 耐久テスト 1 時間以上 目的に応じた時間設定で無駄を削減 コスト削減テクニック③ 5
  29. パターン 月額コスト 週1 回, 1 時間, 10 タスク 約$8 〜10

    毎日, 15 分, 5 タスク 約$8 〜10 学習のみ ( 都度削除) 数百円 コスト試算例 7
  30. セクション 内容 1. 概要 DLT とは、アーキテクチャ 2. デプロイ CloudFormation で15

    分構築 3. テスト実行 Web コンソールで簡単テスト 4. JMeter 複雑なシナリオ作成・実行 5. 運用 トラブルシューティング、コスト最適化 コースの振り返り 2
  31. 1. 自分のシステムでテスト → 実際のアプリで負荷テスト実施 2. CI/CD への組み込み → デプロイ後に自動テスト実行 3.

    定期的なパフォーマンス監視 → 週次/ 月次でテスト、推移を監視 4. 高度なJMeter スクリプト → ログインフロー、ファイルアップロード 次のステップ 4