Azure API Management で Redis と互換性がある外部キャッシュを使用する
Azure API Management では、組み込みのキャッシュを利用できるだけでなく、Redis と互換性がある外部キャッシュ (Azure Cache for Redis など) に応答をキャッシュすることもできます。
外部キャッシュを使用すると、組み込みキャッシュに関する次のいくつかの制限事項を回避することができます。
- API Management の更新時にキャッシュが定期的に消去されるのを避ける
- キャッシュの構成をより細かく制御する
- ご利用の API Management レベルより多くのデータをキャッシュする
- API Management の従量課金レベルでキャッシュを使用する
- API Management セルフホステッド ゲートウェイでキャッシュを有効にする
キャッシュの詳細については、「API Management のキャッシュ ポリシー」と「Azure API Management のカスタム キャッシュ」を参照してください。
ここでは、次の内容について学習します。
- API Management に外部キャッシュを追加する
前提条件
このチュートリアルを完了するには、以下を実行する必要があります。
Azure Cache for Redis を作成する
このセクションでは、Azure 内に Azure Cache for Redis を作成する方法について説明します。 Azure の内部または外部に Azure Cache for Redis または Redis と互換性がある別のキャッシュが既にある場合は、次のセクションにスキップできます。
キャッシュを作成するには、Azure portal にサインインし、 [リソースの作成] を選択します。
[新規] ページで、 [データベース] を選択し、 [Azure Cache for Redis] を選択します。
[新規 Redis Cache] ページで、新しいキャッシュの設定を構成します。
設定 値を選択する 説明 サブスクリプション ドロップダウンで、ご自身のサブスクリプションを選択します。 この新しい Azure Cache for Redis インスタンスが作成されるサブスクリプション。 リソース グループ ドロップ ダウンでリソース グループを選択するか、 [新規作成] を選択し、新しいリソース グループの名前を入力します。 その中にキャッシュやその他のリソースを作成するリソース グループの名前。 すべてのアプリ リソースを 1 つのリソース グループに配置することで、それらをまとめて簡単に管理または削除できます。 DNS 名 一意の名前を入力します。 キャッシュ名は 1 から 63 文字の文字列で、数字、英字、ハイフンのみを使用する必要があります。 名前の先頭と末尾には数字または文字を使用する必要があり、連続するハイフンを含めることはできません。 キャッシュ インスタンスの "ホスト名" は、<DNS 名>.redis.cache.windows.net になります。 場所 ドロップ ダウンで場所を選択します。 キャッシュを使用する他のサービスの近くのリージョンを選択します。 キャッシュの種類 ドロップ ダウンでレベルを選択します。 レベルによって、キャッシュに使用できるのサイズ、パフォーマンス、および機能が決まります。 詳細については、Azure Cache for Redis の概要に関するページを参照してください。 [ネットワーク] タブを選択するか、ページの下部にある [ネットワーク] ボタンを選択します。
[ネットワーク] タブで、接続方法を選択します。
[次へ: 詳細] タブを選択するか、ページの下部にある [次へ: 詳細] ボタンを選択します。
Basic または Standard のキャッシュ インスタンスの [詳細] タブで、非 TLS ポートを有効にする場合は有効トグルをオンにします。 また、使用する Redis のバージョンを 4 または 6 から選択できます。
Premium キャッシュ インスタンスの [詳細] タブで、非 TLS ポート、クラスタリング、データ永続化の設定を構成します。 また、使用する Redis のバージョンを 4 または 6 から選択できます。
ページの下部にある [次へ: タグ] タブを選択するか、ページの下部にある [次へ: タグ] ボタンを選択します。
必要に応じて、 [タグ] タブで、リソースを分類する場合は名前と値を入力します。
[Review + create](レビュー + 作成) を選択します。 [確認および作成] タブが表示され、Azure によって構成が検証されます。
緑色の検証に成功のメッセージが表示された後、 [作成] を選択します。
キャッシュが作成されるまで、しばらく時間がかかります。 Azure Cache for Redis の [概要] ページで進行状況を監視できます。 [状態] に "実行中" と表示されている場合は、キャッシュを使用する準備ができています。
Redis Cache を Kubernetes にデプロイする
セルフホステッド ゲートウェイの場合、キャッシュには外部キャッシュが必要です。 キャッシュを効果的に行うには、セルフホステッド ゲートウェイとそれが依存するキャッシュを互いに近接させて、参照と保存の待機時間を最小限にする必要があります。 Redis Cache を同じ Kubernetes クラスターまたは近くの別のクラスターにデプロイすることをお勧めします。 Redis Cache を Kubernetes クラスターにデプロイする方法について確認します。
外部キャッシュの追加
Azure API Management に Redis と互換性がある外部キャッシュを追加するには、以下の手順に従います。 キャッシュは、API Management インスタンス内の特定のゲートウェイに制限できます。
[使用元] 設定
構成の [使用元] 設定では、キャッシュを使用する API Management インスタンスの場所を指定します。 次のいずれかを選択してください。
API Management インスタンスがホストされている Azure リージョン (またはマルチリージョンのデプロイがある場合は、構成済みの場所のいずれか)
セルフホステッド ゲートウェイの場所
[既定] では、API Management インスタンス内のすべてのゲートウェイの場所に対する既定としてキャッシュを構成します
[既定] に使用されるキャッシュは、特定の一致するリージョンまたは場所で使用されるキャッシュによってオーバーライドされます。
たとえば、米国東部、東南アジア、西ヨーロッパのリージョンでホストされている API Management インスタンスについて検討します。 [既定] のものと東南アジアのものの、2 つのキャッシュが構成されています。 この例の場合、東南アジアの API Management では独自のキャッシュを使用し、他の 2 つのリージョンでは [既定] のキャッシュ エントリを使用します。
注意
複数の API Management インスタンスに対して同じ外部キャッシュを構成できます。 それらの API Management インスタンスは、同じまたは異なるリージョンにあります。 複数のインスタンスでキャッシュを共有する場合は、[使用元] 設定で [既定] を選択する必要があります。
同じサブスクリプションから Azure Cache for Redis を追加する
- Azure portal で API Management インスタンスを参照します。
- 左側のメニューから [External cache](外部キャッシュ) タブを選択します。
- [+ 追加] ボタンを選択します。
- [Cache instance](キャッシュ インスタンス) ドロップダウン フィールドでキャッシュを選択します。
- [使用元] ドロップダウン フィールドで、[既定] を選択するか目的のリージョンを指定します。
- [保存] を選択します。
現在の Azure サブスクリプションまたは一般の Azure の外部でホストされている、Redis と互換性があるキャッシュを追加します
- Azure portal で API Management インスタンスを参照します。
- 左側のメニューから [External cache](外部キャッシュ) タブを選択します。
- [+ 追加] ボタンを選択します。
- [Cache instance](キャッシュ インスタンス) ドロップダウン フィールドで [カスタム] を選択します。
- [使用元] ドロップダウン フィールドで、[既定] を選択するか目的のリージョンを指定します。
- [接続文字列] フィールドで Azure Cache for Redis (または Redis と互換性があるキャッシュ) の接続文字列を指定します。
- [保存] を選択します。
セルフホステッド ゲートウェイに Redis Cache を追加する
- Azure portal で API Management インスタンスを参照します。
- 左側のメニューから [External cache](外部キャッシュ) タブを選択します。
- [+ 追加] ボタンを選択します。
- [Cache instance](キャッシュ インスタンス) ドロップダウン フィールドで [カスタム] を選択します。
- [使用元] ドロップダウン フィールドで、目的のセルフホステッド ゲートウェイの場所、または [既定] を指定します。
- [接続文字列] フィールドで Redis Cache の接続文字列を指定します。
- [保存] を選択します。
外部キャッシュの使用
Redis と互換性があるキャッシュを追加したら、その外部キャッシュで応答キャッシュまたはキーによる値のキャッシュを有効にするようにキャッシュ ポリシーを構成します。
詳細な例については、「キャッシュを追加して Azure API Management のパフォーマンスを向上させる」をご覧ください。
次のステップ
- キャッシュ ポリシーの詳細については、Azure API Management ポリシー リファレンスの「Caching policies (キャッシュ ポリシー)」を参照してください。
- ポリシー式を使ってキーごとにアイテムをキャッシュするには、「Azure API Management のカスタム キャッシュ」を参照してください。