# App Service のサイズ設定

## 基本

SCEPman は主に CPU リソースに依存します。メモリとディスクはそれほど重要ではありません。

1 つの SCEPman インスタンス（バージョン 3.0 以降）は、1 つの Azure P0V3 App Service Plan（195 ACU）で、通常の条件下では 1 分あたり約 4000 リクエストを処理できます。リクエストには

* SCEP 発行リクエストと
* OCSP リクエストがあります。

つまり、SCEPman は 1 ACU あたり 1 分間に約 20 リクエストを処理できます。

証明書は 1 回登録されますが、その有効性は何度も確認されるため、合計では SCEP リクエストよりも OCSP リクエストの方がはるかに多くなります。したがって、SCEPman インスタンスのサイズは OCSP リクエストに基づいて決定してください。

## 依存関係

SCEPman サービスへの負荷にはいくつかの依存要素があり、環境によって異なります。重要な依存要素は次のとおりです。

1. リクエストの分散
2. ネットワークリソースへのログイン頻度
3. 証明書要求/更新の頻度

特にリクエストの分散は非常に重要です。すべてのクライアントが同時にリクエストすると、SCEPman インスタンスに大きな負荷がかかります。あらゆる場合において、SCEPman が SCEP リクエストに 1 分未満で応答できるようにすることを目指してください。

{% hint style="warning" %}
多数のユーザー/デバイスに対して一度に SCEP プロファイルを割り当てないでください。SCEPman インスタンスでリクエストのピークが発生する可能性があります。
{% endhint %}

## 推奨

Azure App Service Plan の初期値として、Azure Compute Unit（ACU）で次のサイジングを推奨します。

|   ユーザー/クライアント数   |                  単一構成                 |                     地理冗長構成                    |
| :--------------: | :-----------------------------------: | :-------------------------------------------: |
|   < 5000 クライアント  |    <p>\~100 ACU<br>（例: 1 x S1）</p>    |     <p>2 x \~100 ACU</p><p>（例: 2 x S1）</p>    |
|  < 10.000 クライアント |  <p>\~200 ACU</p><p>（例: 1 x P0V3）</p> |    <p>2 x \~200 ACU</p><p>（例: 2 x P0V3）</p>   |
|  < 25.000 クライアント |  <p>\~400 ACU</p><p>（例: 2 x P0V3）</p> |     <p>2 x \~400 ACU<br>（例: 4 x P0V3）</p>     |
|  < 50.000 クライアント |  <p>\~800 ACU</p><p>（例: 4 x P0V3）</p> |     <p>2 x \~800 ACU<br>（例: 8 x P0V3）</p>     |
| < 100.000 クライアント | <p>\~1600 ACU</p><p>（例: 4 x P1V3）</p> |   <p>2 x \~1600 ACU</p><p>（例: 8 x P1V3）</p>   |
| > 100.000 クライアント | <p>\~3200 ACU</p><p>（例: 4 x P2V3）</p> | <p>2 x \~3200 ACU</p><p>（例: 2 x 4 x P2V3）</p> |

これらの推奨に基づいて、トラフィックを監視し、次のセクションで説明するようにスケールダウンできるかどうかを確認できます。 [細かな調整](#fine-tuning) 以下。

## Azure コスト予測

主な Azure コストは Azure App Service Plan にかかります。上の表の要件と [Azure の価格表](https://azure.microsoft.com/en-us/pricing/calculator/) または一般的な割引なしの [App Service の価格](https://azure.microsoft.com/en-us/pricing/details/app-service/windows/) 概要からコストを算出できます。

追加の Azure リソース（Key Vault、Storage Account、Log Analytics、プライベート エンドポイント用のネットワークリソース）は、コスト面では小さな役割しか果たしません。環境内のユースケースによっては、これらの追加 Azure リソースに対して App Service Plan のコストに加えて 5% から 25% の追加コストを見込む必要があります。

{% hint style="info" %}
このコスト予測は、Azure のコストを見積もるための大まかな目安にすぎません。環境によって大きく異なる場合があります。
{% endhint %}

## 細かな調整

各環境には、1 日を通じた独自の負荷分布があります。多くの環境では、朝（勤務開始時）に SCEPman への負荷がピークになります。

### 手動スケール

Azure App Service のスケールアウト機能を使って、App Service の計算能力を個々の日次負荷分布に合わせて調整できます。たとえば、朝のピークに対応するために 08:00〜10:00 は 2 x S1 に設定し、それ以外の時間は 1 x S1 に減らすことができます。

### 自動スケール

別の方法として、Azure App 自動スケーリング機能を使用して必要なリソースに合わせることもできます。詳細は [自動スケーリング](/ja/azure-gou-cheng/azure-sizing/autoscaling.md).

### 手動 vs. 自動スケール

負荷を十分に予測できる場合（たとえば負荷履歴から推定できる場合）、自動スケールはスケール間の揺れを防ぐために遅延的（ヒステリシス）に動作する必要があるため、手動スケールを推奨します。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.scepman.com/ja/azure-gou-cheng/azure-sizing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
