Azure API Management インスタンスの容量
適用対象: Developer | Basic | Basic v2 | Standard | Standard v2 | Premium
API Management には、システム容量の使用を検出するための Azure Monitor メトリックが用意されており、ゲートウェイの問題のトラブルシューティングを行い、より多くの負荷に対応するために API Management インスタンスをスケーリングまたはアップグレードするかどうかを十分な情報に基づいて決定するのに役立ちます。
この記事では、容量メトリックとその動作について説明し、Azure portal で容量メトリックにアクセスする方法を示し、API Management インスタンスのスケーリングまたはアップグレードを検討するタイミングを提案します。
Note
現在、この機能はワークスペースでは使用できません。
重要
この記事では、容量メトリックに基づいて Azure API Management インスタンスを監視およびスケーリングする方法について紹介します。 ただし、インスタンスが容量に達しても、オーバーロードを防ぐために調整されません。 代わりに、待機時間の増加、接続の切断、タイムアウト エラーなど、オーバーロードされた Web サーバーのように動作します。 API クライアントは、再試行ポリシーを使用するなど、他の外部サービスと同様に、これらの問題を処理する準備ができている必要があります。
前提条件
この記事の手順に従うには、容量メトリックをサポートするいずれかのレベルに API Management インスタンスが必要です。 詳細については、Azure API Management インスタンスの作成に関する記事を参照してください。
使用可能な容量メトリック
v2 サービス レベル とクラシック レベルでは、さまざまな容量メトリックを使用できます。
v2 レベルでは、次のメトリックを使用できます:
ゲートウェイの CPU 使用率 - ゲートウェイ ユニットが使用する CPU 容量の割合。
ゲートウェイのメモリ使用率 - ゲートウェイ ユニットが使用するメモリ容量の割合。
これらのメトリックで使用できる集計は次のとおりです。
- 平均 - API Management インスタンスのすべての ユニット でゲートウェイ プロセス全体で使用される容量の平均割合。
- 最大 - 最も消費量が多いゲートウェイ プロセスの容量の割合。
CPU とメモリの使用量によって、以下によるリソース使用量がわかります。
- 要求処理など API Management のデータ プレーン サービス (要求の転送やポリシーの実行が含まれます)。
- API Management 管理プレーン サービス (Azure portal または Azure Resource Manager 経由で適用された管理アクション、開発者ポータルから来る負荷など)。
- 選択したオペレーティング システム プロセス (新しい接続での TLS ハンドシェイクのコストを伴うプロセスが含まれます)。
- プラットフォームの更新 (インスタンスの基になるコンピューティング リソースの OS 更新など)。
- アクティビティに関係なくデプロイされた API の数。追加の容量が消費される可能性があります。
容量メトリックの動作
実際の容量メトリックは、次のような多くの変数によって影響を受ける可能性があります:
- 接続パターン (要求に対する新しい接続と既存の接続の再利用)
- 要求と応答のサイズ
- 要求を送信する各 API または複数のクライアントで構成されたポリシー。
要求に対する操作が複雑になるほど、容量の使用量は多くなります。 たとえば、複雑な変換ポリシーの場合、単純な要求の転送よりもはるかに多くの CPU が使用されます。 バックエンド サービスの応答が遅い場合も、使用量が多くなります。
重要
容量メトリックは、処理されている要求の数を直接測定したものではありません。
容量メトリックは、要求が処理されていない場合でも、断続的に急増や、0 を超える可能性もあります。 これは、システム固有またはプラットフォーム固有のアクションが原因です。インスタンスをスケーリングするかどうかを判断する際には考慮しないでください。
容量メトリックは API Management インスタンスの問題を明らかにするように設計されていますが、これらのメトリックの変更に問題が反映されない場合もあります。 また、低容量メトリックは、API Management インスタンスで問題が発生していないことを必ずしも意味するとは限りません。
Azure portal を使用して容量メトリックを調べる
ポータルのメトリックにアクセスして、時間の経過に伴って使用される容量を把握します。
- Azure portal で API Management インスタンスに移動します。
- 左側のメニューの [監視] で [メトリック] を選択します。
- 使用可能なメトリックから、 [ゲートウェイの CPU 使用率] または [ゲートウェイのメモリ使用率] メトリックを選択します。 規定の集計平均を選択するか、最大集計を選択してピーク使用量を確認します。
- セクションの上部のバーから目的の期間を選択します。
重要
現在、容量 メトリックは、v2 レベルのインスタンスのポータルにも表示されます。 ただし、v2 レベルでの使用はサポートされておらず、値 0 が表示されます。
Note
メトリック アラートを設定して、予想外の出来事が発生したときに通知されるようにすることができます。 たとえば、API Management インスタンスが予想されるピークメモリ使用量を 20 分以上超えている場合に通知を受けます。
スケーリングの判断に容量を使用する
容量メトリックを使用して、より多くの負荷に対応するために API Management インスタンスをスケーリングするかどうかを決定します。 一般的な考慮事項は次のとおりです。
- 長期的な傾向と平均を確認する。
- 負荷の増加に関係しない可能性が高い突発的なスパイクを無視する (説明については、「容量メトリックの動作」を参照してください)。
- 一般的なルールとして、容量メトリック値が長期間 (30 分など) 60% から 70% を超えた場合は、インスタンスをアップグレードまたはスケーリングします。 サービスやシナリオによって、異なる値が適している場合があります。
- インスタンスが 1 ユニットのみで構成されている場合は、容量メトリック値が長い間 40% を超えたときに、インスタンスをアップグレードまたはスケーリングします。 この推奨事項は、基になるサービス プラットフォームにおいて、ゲスト OS の更新プログラムのための容量を確保する必要性に基づいています。
ヒント
あらかじめトラフィックを見積もることができる場合は、予想するワークロードで API Management インスタンスをテストしてください。 テナントに対する要求の負荷を徐々に増やし、ピーク負荷に対応する容量メトリックの値を監視することができます。 前のセクションの手順に従って、Azure portal を使用して常に容量の使用量を把握してください。