次の方法で共有


Azure API Management で Redis と互換性がある外部キャッシュを使用する

適用対象: すべての API Management レベル

Azure API Management では、 組み込みのキャッシュを利用するだけでなく、Azure Managed Redis などの外部 Redis と互換性のあるキャッシュに応答をキャッシュできます。

外部キャッシュを使用すると、組み込みキャッシュに関する次のいくつかの制限事項を回避することができます。

  • API Management の更新時にキャッシュが定期的に消去されるのを避ける
  • キャッシュの構成をより細かく制御する
  • ご利用の API Management レベルより多くのデータをキャッシュする
  • API Management の従量課金レベルでキャッシュを使用する
  • API Management セルフホステッド ゲートウェイでキャッシュを有効にする

キャッシュの背景とシナリオについては、「 キャッシュの概要」を参照してください。

キャッシュの詳細については、「API Management のキャッシュ ポリシー」と「Azure API Management のカスタム キャッシュ」を参照してください。

Note

現在、この機能はワークスペースでは使用できません。

ここでは、次の内容について学習します。

  • API Management に外部キャッシュを追加する

前提条件

このチュートリアルを完了するには、以下を実行する必要があります。

  • Azure API Management インスタンスを作成する

  • Azure API Management のキャッシュについて理解する

  • Azure Managed Redis または別の Redis と互換性のあるキャッシュを使用できるようにします。

    重要

    Azure API Management では、キャッシュに接続する際に Redis 接続文字列を使用します。 Azure Managed Redis を使用する場合は、接続文字列を使用するためにキャッシュでアクセス キー認証を有効にします。 現時点では、Microsoft Entra 認証を使用して Azure API Management を Azure Managed Redis に接続することはできません。

Kubernetes のための Redis Cache

API Management セルフホステッド ゲートウェイの場合、キャッシュには外部キャッシュが必要です。 キャッシュを効果的に行うには、セルフホステッド ゲートウェイとそれが依存するキャッシュを互いに近接させて、参照と保存の待機時間を最小限にする必要があります。 Redis Cache を同じ Kubernetes クラスターまたは近くの別のクラスターにデプロイすることをお勧めします。 Redis Cache を Kubernetes クラスターにデプロイする方法について確認します。

外部キャッシュの追加

Azure API Management に Redis と互換性がある外部キャッシュを追加するには、以下の手順に従います。 キャッシュは、API Management インスタンス内の特定のゲートウェイに制限できます。

Azure API Management で外部の Azure Managed Redis キャッシュを追加する方法を示すスクリーンショット。

[使用元] 設定

構成の [使用元] 設定では、キャッシュを使用する API Management インスタンスの場所を指定します。 次のいずれかを選択してください。

  • API Management インスタンスがホストされている Azure リージョン (またはマルチリージョンのデプロイがある場合は、構成済みの場所のいずれか)

  • セルフホステッド ゲートウェイの場所

  • [既定] では、API Management インスタンス内のすべてのゲートウェイの場所に対する既定としてキャッシュを構成します

    [既定] に使用されるキャッシュは、特定の一致するリージョンまたは場所で使用されるキャッシュによってオーバーライドされます。

    たとえば、米国東部、東南アジア、西ヨーロッパのリージョンでホストされている API Management インスタンスについて検討します。 [既定] のものと東南アジアのものの、2 つのキャッシュが構成されています。 この例の場合、東南アジアの API Management では独自のキャッシュを使用し、他の 2 つのリージョンでは [既定] のキャッシュ エントリを使用します。

Note

複数の API Management インスタンスに対して同じ外部キャッシュを構成できます。 それらの API Management インスタンスは、同じまたは異なるリージョンにあります。 複数のインスタンスでキャッシュを共有する場合は、[使用元] 設定で [既定] を選択する必要があります。

同じサブスクリプションから Azure Managed Redis インスタンスを追加する

  1. Azure portal で API Management インスタンスを参照します。
  2. 左側のメニューの [デプロイとインフラストラクチャ] で、[External cache]\(外部キャッシュ\) を選択します。
  3. [+ 追加] を選択します。
  4. [Cache instance]\(キャッシュ インスタンス\) ドロップダウンでキャッシュを選択します。
  5. [使用元] ドロップダウンで、[既定] を選択するか目的のリージョンを指定します。 接続文字列が自動的に生成されます。
  6. [保存] を選択します。

Note

既定の接続文字列は、 <cache-name>:10000,password=<cache-access-key>,ssl=True,abortConnect=False形式です。 API Management は、文字列をシークレットの名前付き値として格納します。 アクセス キーのローテーションや接続の問題のトラブルシューティングを行うために文字列を表示または編集する必要がある場合は、[ 名前付き値 ] ブレードに移動します。

現在の Azure サブスクリプションまたは一般の Azure の外部でホストされている、Redis と互換性があるキャッシュを追加します

  1. Azure portal で API Management インスタンスを参照します。
  2. 左側のメニューの [デプロイとインフラストラクチャ] で、[External cache]\(外部キャッシュ\) を選択します。
  3. [+ 追加] を選択します。
  4. [Cache instance]\(キャッシュ インスタンス\) ドロップダウンで [カスタム] を選択します。
  5. [使用元] ドロップダウンで、[既定] を選択するか目的のリージョンを指定します。
  6. [ 接続文字列 ] フィールドに、Azure Managed Redis または Redis と互換性のあるキャッシュ接続文字列を入力します。
  7. [保存] を選択します。

セルフホステッド ゲートウェイに Redis Cache を追加する

  1. 左側のメニューの [デプロイとインフラストラクチャ] で、[External cache]\(外部キャッシュ\) を選択します。
  2. [+ 追加] を選択します。
  3. [Cache instance]\(キャッシュ インスタンス\) ドロップダウンで [カスタム] を選択します。
  4. [使用元] ドロップダウンで、[既定] を選択するか目的のリージョンを指定します。
  5. [接続文字列] フィールドで Redis Cache の接続文字列を入力します。
  6. [保存] を選択します。

外部キャッシュの使用

Redis と互換性があるキャッシュを追加したら、その外部キャッシュで応答キャッシュまたはキーによる値のキャッシュを有効にするようにキャッシュ ポリシーを構成します。

詳細な例については、「キャッシュを追加して Azure API Management のパフォーマンスを向上させる」をご覧ください。