Azure API Management インスタンスを自動的にスケーリングする

適用対象: Basic | Standard | Premium

Azure API Management サービス インスタンスは、一連の規則に基づいて自動的にスケーリングできます。 この動作は、Azure Monitor の自動スケーリングで有効にし、構成することができます。

この記事では、自動スケールの構成手順を説明し、自動スケール規則の最適な構成を提案します。

Note

  • 複数のスケール ユニットをサポートするサービス レベルでは、API Management インスタンスを手動でスケーリングすることもできます。
  • 従量課金レベルの API Management サービスは、トラフィックに基づいて自動的にスケーリングされ、追加の構成は不要です。

前提条件

この記事の手順を実行するには、以下が必要です。

  • 有効な Azure サブスクリプションを持っている。
  • Azure API Management インスタンスがある。 詳細については、Azure API Management インスタンスの作成に関する記事を参照してください。
  • API Management インスタンスの容量の概念を理解している。
  • API Management インスタンスの手動スケーリングについて、コストの影響を含めて理解している。

Azure API Management の自動スケールの制限事項

自動スケールの動作を構成する前に、スケーリングの決定に関する特定の制限および影響を考慮する必要があります。

  • API Management インスタンスの価格レベルによって、スケーリングできるユニットの最大数が決まります。 たとえば、Standard レベルでは、4 ユニットまでスケーリングできます。 Premium レベルでは、任意の数のユニットを追加できます。
  • このスケーリング プロセスには、少なくとも 20 分かかります。
  • サービスが別の操作によってロックされている場合、スケーリング要求は失敗し、自動的に再試行されます。
  • サービス インスタンスが複数のリージョン (場所) にデプロイされている場合は、Azure Monitor 自動スケーリングを使用して自動スケーリングできるのはプライマリ ロケーション内のユニットのみです。 他の場所のユニットは、手動でのみスケーリングできます。
  • サービス インスタンスがプライマリ ロケーション可用性ゾーンで構成されている場合は、自動スケーリングを構成するときにゾーンの数に注意してください。 自動スケーリング ルールと制限の API Management ユニットの数は、ゾーン数の倍数にする必要があります。

API Management インスタンスの自動スケーリングの有効化と構成

次の手順に従って、Azure API Management サービスの自動スケーリングを構成します。

  1. Azure portal にサインインし、API Management インスタンスに移動します。

  2. 左側のメニューで、[スケールアウト (自動スケール)] を選択し、[Custom autoscale] (カスタム自動スケーリング) を選択します。

    ポータルのスケールアウト オプションのスクリーンショット。

  3. [Default] (既定値) スケール条件で、[Scale based on a metric] (メトリックに基づいてスケーリングする) を選択し、次に[規則の追加] を選択します。

    ポータルでの既定のスケール条件の構成を示すスクリーンショット。

  4. 新しいスケールアウト規則を定義します。

    たとえば、過去 30 分間の平均容量メトリックが 70% を超えたら 1 ユニットの API Management の追加をトリガーするようなスケールアウト規則が考えられます。 次の表は、そのような規則の構成例を示しています。 環境内でスケールアウト規則を定義する場合は、上記の制限事項を確認してください。

    パラメーター Notes
    メトリックのソース 現在のリソース 現在の API Management リソース メトリックに基づく規則を定義します。
    条件
    メトリックの名前 容量 容量メトリックは、Azure API Management インスタンスによるリソース使用量を反映する API Management メトリックです。
    場所 API Management インスタンスのプライマリの場所を選択
    演算子 より大きい
    メトリックのしきい値 70% 平均容量メトリックのしきい値。 このしきい値の設定に関する考慮事項については、「スケーリングの判断に容量を使用する」を参照してください。
    期間 (分) 30 容量メトリックの平均値を算出するタイムスパンは使用パターンに固有です。 期間が長いほど、反応はスムーズになります。 間欠的なスパイクは、スケールアウトの決定にあまり影響を与えません。 ただし、スケールアウトのトリガーも遅れることになります。
    統計時間単位 平均
    操作
    操作 カウントを増やす量
    インスタンス数 1 Azure API Management インスタンスを 1 ユニットずつスケールアウトします。
    クールダウン (分) 60 API Management サービスのスケールアウトには少なくとも 20 分かかります。ほとんどの場合、クールダウン期間を 60 分にすれば、多数のスケールアウトがトリガーされることはなくなります。
  5. [追加] を選んで規則を保存します。

  6. 別のルールを追加するには、[規則の追加] を選択します。

    次に、スケールイン規則を定義する必要があります。 これにより、API の使用量が減少したときにリソースが無駄にならないようにします。

  7. 新しいスケールイン規則を定義します。

    たとえば、過去 30 分間の平均容量メトリックが 35% を下回ったら 1 ユニットの API Management の削除をトリガーするようなスケールイン規則が考えられます。 次の表は、そのような規則の構成例を示しています。

    パラメーター Notes
    メトリックのソース 現在のリソース 現在の API Management リソース メトリックに基づく規則を定義します。
    条件
    時間の集計 平均
    メトリックの名前 容量 スケールアウト規則に使用したものと同じメトリックです。
    場所 API Management インスタンスのプライマリの場所を選択
    演算子 より小さい
    Threshold 35% スケールアウト規則と同様に、この値は API Management インスタンスの使用パターンに大きく依存します。
    期間 (分) 30 スケールアウト規則に使用したものと同じ値です。
    統計時間単位 平均
    操作
    操作 カウントを減らす量 スケールアウト規則に使用したものとは逆です。
    インスタンス数 1 スケールアウト規則に使用したものと同じ値です。
    クールダウン (分) 90 スケールインはスケールアウトよりも慎重に行うことが望ましいため、クール ダウン期間を長くすることをお勧めします。
  8. [追加] を選んで規則を保存します。

  9. [Instance limits] (インスタンスの制限) で、API Management ユニットの[Minimum] (最小)[Maximum] (最大)[Default] (既定値) の数を選択します。

    Note

    API Management には、インスタンスをスケールアウトできるユニット数の制限があります。 この制限はサービス レベルによって異なります。

    ポータルでインスタンスの制限を設定する方法を示すスクリーンショット。

  10. [保存] を選択します。 自動スケーリングが構成されます。